Repository: buptxyb666/AdaptivePose Branch: master Commit: 5d13d81a100a Files: 277 Total size: 18.9 MB Directory structure: gitextract_94jvm1ku/ ├── CrowdPose/ │ ├── README.md │ └── crowdpose-api/ │ ├── PythonAPI/ │ │ ├── build/ │ │ │ ├── common/ │ │ │ │ └── maskApi.o │ │ │ ├── lib.linux-x86_64-3.7/ │ │ │ │ └── crowdposetools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── coco.py │ │ │ │ ├── cocoeval.py │ │ │ │ └── mask.py │ │ │ └── temp.linux-x86_64-3.7/ │ │ │ └── crowdposetools/ │ │ │ └── _mask.o │ │ ├── crowdposetools/ │ │ │ ├── __init__.py │ │ │ ├── _mask.c │ │ │ ├── _mask.pyx │ │ │ ├── coco.py │ │ │ ├── cocoeval.py │ │ │ └── mask.py │ │ ├── install │ │ ├── install.sh │ │ └── setup.py │ ├── README.md │ ├── annotations/ │ │ ├── crowdpose_val.json │ │ └── preds.json │ ├── common/ │ │ ├── gason.cpp │ │ ├── gason.h │ │ ├── maskApi.c │ │ └── maskApi.h │ └── demo.py ├── LICENSE ├── NOTICE ├── README.md ├── cocoapi/ │ ├── .travis.yml │ ├── LuaAPI/ │ │ ├── CocoApi.lua │ │ ├── MaskApi.lua │ │ ├── cocoDemo.lua │ │ ├── env.lua │ │ ├── init.lua │ │ └── rocks/ │ │ └── coco-scm-1.rockspec │ ├── MatlabAPI/ │ │ ├── CocoApi.m │ │ ├── CocoEval.m │ │ ├── CocoUtils.m │ │ ├── MaskApi.m │ │ ├── cocoDemo.m │ │ ├── evalDemo.m │ │ ├── gason.m │ │ └── private/ │ │ ├── gasonMex.cpp │ │ ├── gasonMex.mexa64 │ │ ├── gasonMex.mexmaci64 │ │ ├── getPrmDflt.m │ │ └── maskApiMex.c │ ├── PythonAPI/ │ │ ├── Makefile │ │ ├── build/ │ │ │ ├── common/ │ │ │ │ └── maskApi.o │ │ │ ├── lib.linux-x86_64-3.7/ │ │ │ │ └── pycocotools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── coco.py │ │ │ │ ├── cocoeval.py │ │ │ │ └── mask.py │ │ │ └── temp.linux-x86_64-3.7/ │ │ │ └── pycocotools/ │ │ │ └── _mask.o │ │ ├── dist/ │ │ │ ├── pycocotools-2.0-py3.6-linux-x86_64.egg │ │ │ ├── pycocotools-2.0-py3.7-linux-x86_64.egg │ │ │ └── pycocotools-2.0-py3.9-linux-x86_64.egg │ │ ├── pycocoDemo.ipynb │ │ ├── pycocoEvalDemo.ipynb │ │ ├── pycocotools/ │ │ │ ├── __init__.py │ │ │ ├── _mask.c │ │ │ ├── _mask.pyx │ │ │ ├── coco.py │ │ │ ├── cocoeval.py │ │ │ └── mask.py │ │ ├── pycocotools.egg-info/ │ │ │ ├── PKG-INFO │ │ │ ├── SOURCES.txt │ │ │ ├── dependency_links.txt │ │ │ ├── requires.txt │ │ │ └── top_level.txt │ │ └── setup.py │ ├── README.txt │ ├── common/ │ │ ├── gason.cpp │ │ ├── gason.h │ │ ├── maskApi.c │ │ └── maskApi.h │ ├── license.txt │ └── results/ │ ├── captions_val2014_fakecap_results.json │ ├── instances_val2014_fakebbox100_results.json │ ├── instances_val2014_fakesegm100_results.json │ ├── person_keypoints_val2014_fakekeypoints100_results.json │ └── val2014_fake_eval_res.txt ├── models/ │ └── .gitignore ├── prepare_data.sh ├── prepare_env.sh ├── prepare_env2.sh ├── readme/ │ ├── DATA.md │ └── DEVELOP.md ├── requirements.txt └── src/ ├── demo.py ├── flops_counter.py ├── init_paths.py ├── lib/ │ ├── datasets/ │ │ ├── dataset/ │ │ │ ├── coco.py │ │ │ ├── coco_hp_wodet.py │ │ │ ├── crowdpose.py │ │ │ ├── kitti.py │ │ │ └── pascal.py │ │ ├── dataset_factory.py │ │ └── sample/ │ │ ├── ctdet.py │ │ ├── ddd.py │ │ ├── exdet.py │ │ ├── multi_pose_crowdpose.py │ │ └── multi_pose_wodet.py │ ├── detectors/ │ │ ├── base_detector.py │ │ ├── ctdet.py │ │ ├── ddd.py │ │ ├── detector_factory.py │ │ ├── exdet.py │ │ ├── multi_pose.py │ │ ├── multi_pose_crowdpose.py │ │ └── multi_pose_wodet.py │ ├── external/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── __init__.py │ │ ├── nms.pyx │ │ └── setup.py │ ├── logger.py │ ├── models/ │ │ ├── GCN_utils/ │ │ │ ├── __init__.py │ │ │ ├── gcn2.py │ │ │ ├── graph.py │ │ │ └── tools.py │ │ ├── __init__.py │ │ ├── data_parallel.py │ │ ├── decode.py │ │ ├── flops_counter.py │ │ ├── losses.py │ │ ├── model.py │ │ ├── networks/ │ │ │ ├── DCNv2/ │ │ │ │ ├── DCNv2.egg-info/ │ │ │ │ │ ├── PKG-INFO │ │ │ │ │ ├── SOURCES.txt │ │ │ │ │ ├── dependency_links.txt │ │ │ │ │ └── top_level.txt │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── build/ │ │ │ │ │ ├── temp.linux-x86_64-3.6/ │ │ │ │ │ │ └── home/ │ │ │ │ │ │ └── dell/ │ │ │ │ │ │ └── xyb/ │ │ │ │ │ │ └── individual_xyb/ │ │ │ │ │ │ └── xyb_AAAI_code/ │ │ │ │ │ │ └── CNet_v2/ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ └── lib/ │ │ │ │ │ │ └── models/ │ │ │ │ │ │ └── networks/ │ │ │ │ │ │ └── DCNv2/ │ │ │ │ │ │ └── src/ │ │ │ │ │ │ ├── cpu/ │ │ │ │ │ │ │ ├── dcn_v2_cpu.o │ │ │ │ │ │ │ ├── dcn_v2_im2col_cpu.o │ │ │ │ │ │ │ └── dcn_v2_psroi_pooling_cpu.o │ │ │ │ │ │ ├── cuda/ │ │ │ │ │ │ │ ├── dcn_v2_cuda.o │ │ │ │ │ │ │ ├── dcn_v2_im2col_cuda.o │ │ │ │ │ │ │ └── dcn_v2_psroi_pooling_cuda.o │ │ │ │ │ │ └── vision.o │ │ │ │ │ └── temp.linux-x86_64-3.7/ │ │ │ │ │ └── home/ │ │ │ │ │ └── users/ │ │ │ │ │ └── yabo.xiao/ │ │ │ │ │ └── CenterNet/ │ │ │ │ │ └── src/ │ │ │ │ │ └── lib/ │ │ │ │ │ └── models/ │ │ │ │ │ └── networks/ │ │ │ │ │ └── DCNv2/ │ │ │ │ │ └── src/ │ │ │ │ │ ├── cpu/ │ │ │ │ │ │ ├── dcn_v2_cpu.o │ │ │ │ │ │ ├── dcn_v2_im2col_cpu.o │ │ │ │ │ │ └── dcn_v2_psroi_pooling_cpu.o │ │ │ │ │ ├── cuda/ │ │ │ │ │ │ ├── dcn_v2_cuda.o │ │ │ │ │ │ ├── dcn_v2_im2col_cuda.o │ │ │ │ │ │ └── dcn_v2_psroi_pooling_cuda.o │ │ │ │ │ └── vision.o │ │ │ │ ├── dcn_v2.py │ │ │ │ ├── make.sh │ │ │ │ ├── setup.py │ │ │ │ ├── src/ │ │ │ │ │ ├── cpu/ │ │ │ │ │ │ ├── dcn_v2_cpu.cpp │ │ │ │ │ │ ├── dcn_v2_im2col_cpu.cpp │ │ │ │ │ │ ├── dcn_v2_im2col_cpu.h │ │ │ │ │ │ ├── dcn_v2_psroi_pooling_cpu.cpp │ │ │ │ │ │ └── vision.h │ │ │ │ │ ├── cuda/ │ │ │ │ │ │ ├── dcn_v2_cuda.cu │ │ │ │ │ │ ├── dcn_v2_im2col_cuda.cu │ │ │ │ │ │ ├── dcn_v2_im2col_cuda.h │ │ │ │ │ │ ├── dcn_v2_psroi_pooling_cuda.cu │ │ │ │ │ │ └── vision.h │ │ │ │ │ ├── dcn_v2.h │ │ │ │ │ └── vision.cpp │ │ │ │ ├── testcpu.py │ │ │ │ └── testcuda.py │ │ │ ├── dlav0.py │ │ │ ├── hrnet.py │ │ │ ├── hrnet_config/ │ │ │ │ ├── hrnet32.yaml │ │ │ │ └── hrnet48.yaml │ │ │ ├── large_hourglass.py │ │ │ ├── msra_resnet.py │ │ │ ├── pose_dla_dcn.py │ │ │ ├── pose_dla_dcn_v2.py │ │ │ └── resnet_dcn.py │ │ ├── oks_loss.py │ │ ├── predictor.py │ │ ├── py_utils/ │ │ │ ├── __init__.py │ │ │ ├── _cpools/ │ │ │ │ ├── .gitignore │ │ │ │ ├── __init__.py │ │ │ │ ├── setup.py │ │ │ │ └── src/ │ │ │ │ ├── bottom_pool.cpp │ │ │ │ ├── left_pool.cpp │ │ │ │ ├── right_pool.cpp │ │ │ │ └── top_pool.cpp │ │ │ ├── data_parallel.py │ │ │ ├── kp.py │ │ │ ├── kp_utils.py │ │ │ ├── scatter_gather.py │ │ │ └── utils.py │ │ ├── resample2d_package/ │ │ │ ├── __init__.py │ │ │ ├── build/ │ │ │ │ ├── temp.linux-x86_64-3.6/ │ │ │ │ │ ├── resample2d_cuda.o │ │ │ │ │ └── resample2d_kernel.o │ │ │ │ └── temp.linux-x86_64-3.7/ │ │ │ │ ├── resample2d_cuda.o │ │ │ │ └── resample2d_kernel.o │ │ │ ├── dist/ │ │ │ │ ├── resample2d_cuda-0.0.0-py3.6-linux-x86_64.egg │ │ │ │ └── resample2d_cuda-0.0.0-py3.7-linux-x86_64.egg │ │ │ ├── resample2d.py │ │ │ ├── resample2d_cuda.cc │ │ │ ├── resample2d_cuda.egg-info/ │ │ │ │ ├── PKG-INFO │ │ │ │ ├── SOURCES.txt │ │ │ │ ├── dependency_links.txt │ │ │ │ └── top_level.txt │ │ │ ├── resample2d_kernel.cu │ │ │ ├── resample2d_kernel.cuh │ │ │ └── setup.py │ │ ├── scatter_gather.py │ │ └── utils.py │ ├── opts.py │ ├── trains/ │ │ ├── base_trainer.py │ │ ├── ctdet.py │ │ ├── ddd.py │ │ ├── exdet.py │ │ ├── multi_pose.py │ │ ├── multi_pose_crowdpose.py │ │ ├── multi_pose_wodet.py │ │ └── train_factory.py │ └── utils/ │ ├── __init__.py │ ├── ddd_utils.py │ ├── debugger.py │ ├── image.py │ ├── oracle_utils.py │ ├── post_process.py │ └── utils.py ├── main.py ├── main_dla34_coco512.sh ├── main_dla34_coco640.sh ├── main_hrnet32_coco512.sh ├── main_hrnet32_crowdpose512.sh ├── main_hrnet48_coco640.sh ├── main_hrnet48_coco800.sh ├── main_hrnet48_crowdpose640.sh ├── test.py └── tools/ ├── _init_paths.py ├── calc_coco_overlap.py ├── convert_hourglass_weight.py ├── convert_kitti_to_coco.py ├── eval_coco.py ├── eval_coco_hp.py ├── get_kitti.sh ├── get_pascal_voc.sh ├── kitti_eval/ │ ├── README.md │ ├── evaluate_object_3d.cpp │ ├── evaluate_object_3d_offline │ ├── evaluate_object_3d_offline.cpp │ └── mail.h ├── merge_pascal_json.py ├── reval.py ├── vis_pred.py └── voc_eval_lib/ ├── LICENSE ├── Makefile ├── __init__.py ├── datasets/ │ ├── __init__.py │ ├── bbox.pyx │ ├── ds_utils.py │ ├── imdb.py │ ├── pascal_voc.py │ └── voc_eval.py ├── model/ │ ├── __init__.py │ ├── bbox_transform.py │ ├── config.py │ ├── nms_wrapper.py │ └── test.py ├── nms/ │ ├── .gitignore │ ├── __init__.py │ ├── cpu_nms.c │ ├── cpu_nms.pyx │ ├── gpu_nms.cpp │ ├── gpu_nms.hpp │ ├── gpu_nms.pyx │ ├── nms_kernel.cu │ └── py_cpu_nms.py ├── setup.py └── utils/ ├── .gitignore ├── __init__.py ├── bbox.pyx ├── blob.py ├── timer.py └── visualization.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: CrowdPose/README.md ================================================ ## CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark

## Citation If you find our works useful in your reasearch, please consider citing: @article{li2018crowdpose, title={CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark}, author={Li, Jiefeng and Wang, Can and Zhu, Hao and Mao, Yihuan and Fang, Hao-Shu and Lu, Cewu}, journal={arXiv preprint arXiv:1812.00324}, year={2018} } ## Introduction This is the official repo of **CVPR2019** paper [*CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark*](https://arxiv.org/abs/1812.00324). Our proposed method surpasses the state-of-the-art methods on CrowdPose dataset by **5** mAP and results on MSCOCO dataset demonstrate the generalization ability of our method (comparatively **0.8** mAP higher). Images in our proposed CrowdPose dataset have a uniform distribution of *Crowd Index* among \[0, 1\]. ## Code We provide [evaluation tools](crowdpose-api) for CrowdPose dataset. Our evaluation tools is developed based on [@cocodataset/cocoapi](https://github.com/cocodataset/cocoapi). The source code of our model has been integrated into [AlphaPose](https://github.com/MVIG-SJTU/AlphaPose/tree/pytorch). ## Dataset [Train + Validation + Test Images](https://drive.google.com/file/d/1VprytECcLtU4tKP32SYi_7oDRbw7yUTL/view?usp=sharing) (Google Drive) [Annotations](https://drive.google.com/drive/folders/1Ch1Cobe-6byB7sLhy8XRzOGCGTW2ssFv?usp=sharing) (Google Drive) ## Results **Results on CrowdPose Validation:** *Compare with state-of-the-art methods*
| Method | AP @0.5:0.95 | AP @0.5 | AP @0.75 | AR @0.5:0.95 | AR @0.5 | AR @0.75 | |:-------|:-----:|:-------:|:-------:|:-------:|:-------:|:-------:| | Detectron (Mask R-CNN) | 57.2 | 83.5 | 60.3 | 65.9 | 89.3 | 69.4 | | Simple Pose (Xiao *et al.*) | 60.8 | 81.4 | 65.7 | 67.3 | 86.3 | 71.8 | | **Ours** | **66.0** | **84.2** | **71.5** | **72.7** | **89.5** | **77.5** |
*Compare with open-source systems*
| Method | AP @*Easy* | AP @*Medium* | AP @*Hard* | FPS | |:-------|:-----:|:-------:|:-------:|:-------:| | OpenPose (CMU-Pose) | 62.7 | 48.7 | 32.3 | 5.3 | | Detectron (Mask R-CNN) | 69.4 | 57.9 | 45.8 | 2.9 | | **Ours** | **75.5** | **66.3** | **57.4** | **10.1** |
**Results on MSCOCO Validation:**
| Method | AP @0.5:0.95 | AR @0.5:0.95 | |:-------|:-----:|:-------:| | Detectron (Mask R-CNN) | 64.8 | 71.1 | | Simple Pose (Xiao *et al.*) | 69.8 | 74.1 | | **AlphaPose** | **70.9** | **76.4** |
## Contributors CrowdPose is authored by [Jiefeng Li](http://jeff-leaf.site/), [Can Wang](https://github.com/Canwang-sjtu), [Hao Zhu](https://github.com/BernieZhu), [Yihuan Mao](), [Hao-Shu Fang](https://fang-haoshu.github.io/), and [Cewu Lu](http://www.mvig.org/). ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/build/lib.linux-x86_64-3.7/crowdposetools/__init__.py ================================================ __author__ = 'tylin' ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/build/lib.linux-x86_64-3.7/crowdposetools/coco.py ================================================ __author__ = 'tylin' __version__ = '2.0' # Interface for accessing the Microsoft COCO dataset. # Microsoft COCO is a large image dataset designed for object detection, # segmentation, and caption generation. pycocotools is a Python API that # assists in loading, parsing and visualizing the annotations in COCO. # Please visit http://mscoco.org/ for more information on COCO, including # for the data, paper, and tutorials. The exact format of the annotations # is also described on the COCO website. For example usage of the pycocotools # please see pycocotools_demo.ipynb. In addition to this API, please download both # the COCO images and annotations in order to run the demo. # An alternative to using the API is to load the annotations directly # into Python dictionary # Using the API provides additional utility functions. Note that this API # supports both *instance* and *caption* annotations. In the case of # captions not all functions are defined (e.g. categories are undefined). # The following API functions are defined: # COCO - COCO api class that loads COCO annotation file and prepare data structures. # decodeMask - Decode binary mask M encoded via run-length encoding. # encodeMask - Encode binary mask M using run-length encoding. # getAnnIds - Get ann ids that satisfy given filter conditions. # getCatIds - Get cat ids that satisfy given filter conditions. # getImgIds - Get img ids that satisfy given filter conditions. # loadAnns - Load anns with the specified ids. # loadCats - Load cats with the specified ids. # loadImgs - Load imgs with the specified ids. # annToMask - Convert segmentation in an annotation to binary mask. # showAnns - Display the specified annotations. # loadRes - Load algorithm results and create API for accessing them. # download - Download COCO images from mscoco.org server. # Throughout the API "ann"=annotation, "cat"=category, and "img"=image. # Help on each functions can be accessed by: "help COCO>function". # See also COCO>decodeMask, # COCO>encodeMask, COCO>getAnnIds, COCO>getCatIds, # COCO>getImgIds, COCO>loadAnns, COCO>loadCats, # COCO>loadImgs, COCO>annToMask, COCO>showAnns # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2014. # Licensed under the Simplified BSD License [see bsd.txt] import json import time import matplotlib.pyplot as plt from matplotlib.collections import PatchCollection from matplotlib.patches import Polygon import numpy as np import copy import itertools from . import mask as maskUtils import os from collections import defaultdict import sys PYTHON_VERSION = sys.version_info[0] if PYTHON_VERSION == 2: from urllib import urlretrieve elif PYTHON_VERSION == 3: from urllib.request import urlretrieve def _isArrayLike(obj): return hasattr(obj, '__iter__') and hasattr(obj, '__len__') class COCO: def __init__(self, annotation_file=None): """ Constructor of Microsoft COCO helper class for reading and visualizing annotations. :param annotation_file (str): location of annotation file :param image_folder (str): location to the folder that hosts images. :return: """ # load dataset self.dataset, self.anns, self.cats, self.imgs = dict(), dict(), dict(), dict() self.imgToAnns, self.catToImgs = defaultdict(list), defaultdict(list) self.anno_file = [annotation_file] if not annotation_file == None: print('loading annotations into memory...') tic = time.time() dataset = json.load(open(annotation_file, 'r')) assert type(dataset) == dict, 'annotation file format {} not supported'.format( type(dataset)) print('Done (t={:0.2f}s)'.format(time.time() - tic)) self.dataset = dataset self.createIndex() def createIndex(self): # create index print('creating index...') anns, cats, imgs = {}, {}, {} imgToAnns, catToImgs = defaultdict(list), defaultdict(list) if 'annotations' in self.dataset: for ann in self.dataset['annotations']: imgToAnns[ann['image_id']].append(ann) anns[ann['id']] = ann if 'images' in self.dataset: for img in self.dataset['images']: imgs[img['id']] = img if 'categories' in self.dataset: for cat in self.dataset['categories']: cats[cat['id']] = cat if 'annotations' in self.dataset and 'categories' in self.dataset: for ann in self.dataset['annotations']: catToImgs[ann['category_id']].append(ann['image_id']) print('index created!') # create class members self.anns = anns self.imgToAnns = imgToAnns self.catToImgs = catToImgs self.imgs = imgs self.cats = cats def info(self): """ Print information about the annotation file. :return: """ for key, value in self.dataset['info'].items(): print('{}: {}'.format(key, value)) def getAnnIds(self, imgIds=[], catIds=[], areaRng=[], iscrowd=None): """ Get ann ids that satisfy given filter conditions. default skips that filter :param imgIds (int array) : get anns for given imgs catIds (int array) : get anns for given cats areaRng (float array) : get anns for given area range (e.g. [0 inf]) iscrowd (boolean) : get anns for given crowd label (False or True) :return: ids (int array) : integer array of ann ids """ imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == len(areaRng) == 0: anns = self.dataset['annotations'] else: if not len(imgIds) == 0: lists = [self.imgToAnns[imgId] for imgId in imgIds if imgId in self.imgToAnns] anns = list(itertools.chain.from_iterable(lists)) else: anns = self.dataset['annotations'] anns = anns if len(catIds) == 0 else [ ann for ann in anns if ann['category_id'] in catIds] anns = anns if len(areaRng) == 0 else [ ann for ann in anns if ann['area'] > areaRng[0] and ann['area'] < areaRng[1]] if not iscrowd == None: ids = [ann['id'] for ann in anns if ann['iscrowd'] == iscrowd] else: ids = [ann['id'] for ann in anns] return ids def getCatIds(self, catNms=[], supNms=[], catIds=[]): """ filtering parameters. default skips that filter. :param catNms (str array) : get cats for given cat names :param supNms (str array) : get cats for given supercategory names :param catIds (int array) : get cats for given cat ids :return: ids (int array) : integer array of cat ids """ catNms = catNms if _isArrayLike(catNms) else [catNms] supNms = supNms if _isArrayLike(supNms) else [supNms] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(catNms) == len(supNms) == len(catIds) == 0: cats = self.dataset['categories'] else: cats = self.dataset['categories'] cats = cats if len(catNms) == 0 else [ cat for cat in cats if cat['name'] in catNms] cats = cats if len(supNms) == 0 else [ cat for cat in cats if cat['supercategory'] in supNms] cats = cats if len(catIds) == 0 else [ cat for cat in cats if cat['id'] in catIds] ids = [cat['id'] for cat in cats] return ids def getImgIds(self, imgIds=[], catIds=[]): ''' Get img ids that satisfy given filter conditions. :param imgIds (int array) : get imgs for given ids :param catIds (int array) : get imgs with all given cats :return: ids (int array) : integer array of img ids ''' imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == 0: ids = self.imgs.keys() else: ids = set(imgIds) for i, catId in enumerate(catIds): if i == 0 and len(ids) == 0: ids = set(self.catToImgs[catId]) else: ids &= set(self.catToImgs[catId]) return list(ids) def loadAnns(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying anns :return: anns (object array) : loaded ann objects """ if _isArrayLike(ids): return [self.anns[id] for id in ids] elif type(ids) == int: return [self.anns[ids]] def loadCats(self, ids=[]): """ Load cats with the specified ids. :param ids (int array) : integer ids specifying cats :return: cats (object array) : loaded cat objects """ if _isArrayLike(ids): return [self.cats[id] for id in ids] elif type(ids) == int: return [self.cats[ids]] def loadImgs(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying img :return: imgs (object array) : loaded img objects """ if _isArrayLike(ids): return [self.imgs[id] for id in ids] elif type(ids) == int: return [self.imgs[ids]] def loadRes(self, resFile): """ Load result file and return a result api object. :param resFile (str) : file name of result file :return: res (obj) : result api object """ res = COCO() res.dataset['images'] = [img for img in self.dataset['images']] self.anno_file.append(resFile) print('Loading and preparing results...') tic = time.time() if type(resFile) == str or type(resFile) == unicode: anns = json.load(open(resFile)) elif type(resFile) == np.ndarray: anns = self.loadNumpyAnnotations(resFile) else: anns = resFile assert type(anns) == list, 'results in not an array of objects' annsImgIds = [ann['image_id'] for ann in anns] assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ 'Results do not correspond to current coco set' if 'caption' in anns[0]: imgIds = set([img['id'] for img in res.dataset['images']]) & set( [ann['image_id'] for ann in anns]) res.dataset['images'] = [ img for img in res.dataset['images'] if img['id'] in imgIds] for id, ann in enumerate(anns): ann['id'] = id+1 elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: res.dataset['categories'] = copy.deepcopy( self.dataset['categories']) for id, ann in enumerate(anns): bb = ann['bbox'] x1, x2, y1, y2 = [bb[0], bb[0]+bb[2], bb[1], bb[1]+bb[3]] if not 'segmentation' in ann: ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] ann['area'] = bb[2]*bb[3] ann['id'] = id+1 ann['iscrowd'] = 0 elif 'segmentation' in anns[0]: res.dataset['categories'] = copy.deepcopy( self.dataset['categories']) for id, ann in enumerate(anns): # now only support compressed RLE format as segmentation results ann['area'] = maskUtils.area(ann['segmentation']) if not 'bbox' in ann: ann['bbox'] = maskUtils.toBbox(ann['segmentation']) ann['id'] = id+1 ann['iscrowd'] = 0 elif 'keypoints' in anns[0]: res.dataset['categories'] = copy.deepcopy( self.dataset['categories']) for id, ann in enumerate(anns): s = ann['keypoints'] x = s[0::3] y = s[1::3] x0, x1, y0, y1 = np.min(x), np.max(x), np.min(y), np.max(y) ann['area'] = (x1-x0)*(y1-y0) ann['id'] = id + 1 ann['bbox'] = [x0, y0, x1-x0, y1-y0] print('DONE (t={:0.2f}s)'.format(time.time() - tic)) res.dataset['annotations'] = anns res.createIndex() return res def download(self, tarDir=None, imgIds=[]): ''' Download COCO images from mscoco.org server. :param tarDir (str): COCO results directory name imgIds (list): images to be downloaded :return: ''' if tarDir is None: print('Please specify target directory') return -1 if len(imgIds) == 0: imgs = self.imgs.values() else: imgs = self.loadImgs(imgIds) N = len(imgs) if not os.path.exists(tarDir): os.makedirs(tarDir) for i, img in enumerate(imgs): tic = time.time() fname = os.path.join(tarDir, img['file_name']) if not os.path.exists(fname): urlretrieve(img['coco_url'], fname) print('downloaded {}/{} images (t={:0.1f}s)'.format(i, N, time.time() - tic)) def loadNumpyAnnotations(self, data): """ Convert result data from a numpy array [Nx7] where each row contains {imageID,x1,y1,w,h,score,class} :param data (numpy.ndarray) :return: annotations (python nested list) """ print('Converting ndarray to lists...') assert(type(data) == np.ndarray) print(data.shape) assert(data.shape[1] == 7) N = data.shape[0] ann = [] for i in range(N): if i % 1000000 == 0: print('{}/{}'.format(i, N)) ann += [{ 'image_id': int(data[i, 0]), 'bbox': [data[i, 1], data[i, 2], data[i, 3], data[i, 4]], 'score': data[i, 5], 'category_id': int(data[i, 6]), }] return ann def annToRLE(self, ann): """ Convert annotation which can be polygons, uncompressed RLE to RLE. :return: binary mask (numpy 2D array) """ t = self.imgs[ann['image_id']] h, w = t['height'], t['width'] segm = ann['segmentation'] if type(segm) == list: # polygon -- a single object might consist of multiple parts # we merge all parts into one mask rle code rles = maskUtils.frPyObjects(segm, h, w) rle = maskUtils.merge(rles) elif type(segm['counts']) == list: # uncompressed RLE rle = maskUtils.frPyObjects(segm, h, w) else: # rle rle = ann['segmentation'] return rle def annToMask(self, ann): """ Convert annotation which can be polygons, uncompressed RLE, or RLE to binary mask. :return: binary mask (numpy 2D array) """ rle = self.annToRLE(ann) m = maskUtils.decode(rle) return m ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/build/lib.linux-x86_64-3.7/crowdposetools/cocoeval.py ================================================ __author__ = 'tsungyi' import numpy as np import datetime import time from collections import defaultdict from . import mask as maskUtils import copy import sys class NullWriter(object): def write(self, arg): pass def flush(self): pass class COCOeval: # Interface for evaluating detection on the Microsoft COCO dataset. # # # The usage for CocoEval is as follows: # cocoGt=..., cocoDt=... # load dataset and results # E = CocoEval(cocoGt,cocoDt); # initialize CocoEval object # E.params.recThrs = ...; # set parameters as desired # E.evaluate(); # run per image evaluation # E.accumulate(); # accumulate per image results # E.summarize(); # display summary metrics of results # For example usage see evalDemo.m and http://mscoco.org/. # # The evaluation parameters are as follows (defaults in brackets): # imgIds - [all] N img ids to use for evaluation # catIds - [all] K cat ids to use for evaluation # iouThrs - [.5:.05:.95] T=10 IoU thresholds for evaluation # recThrs - [0:.01:1] R=101 recall thresholds for evaluation # areaRng - [...] A=4 object area ranges for evaluation # maxDets - [1 10 100] M=3 thresholds on max detections per image # iouType - ['segm'] set iouType to 'segm', 'bbox' or 'keypoints' # iouType replaced the now DEPRECATED useSegm parameter. # useCats - [1] if true use category labels for evaluation # Note: if useCats=0 category labels are ignored as in proposal scoring. # Note: multiple areaRngs [Ax2] and maxDets [Mx1] can be specified. # # evaluate(): evaluates detections on every image and every category and # concats the results into the "evalImgs" with fields: # dtIds - [1xD] id for each of the D detections (dt) # gtIds - [1xG] id for each of the G ground truths (gt) # dtMatches - [TxD] matching gt id at each IoU or 0 # gtMatches - [TxG] matching dt id at each IoU or 0 # dtScores - [1xD] confidence of each dt # gtIgnore - [1xG] ignore flag for each gt # dtIgnore - [TxD] ignore flag for each dt at each IoU # # accumulate(): accumulates the per-image, per-category evaluation # results in "evalImgs" into the dictionary "eval" with fields: # params - parameters used for evaluation # date - date evaluation was performed # counts - [T,R,K,A,M] parameter dimensions (see above) # precision - [TxRxKxAxM] precision for every evaluation setting # recall - [TxKxAxM] max recall for every evaluation setting # Note: precision and recall==-1 for settings with no gt objects. # # See also coco, mask, pycocoDemo, pycocoEvalDemo # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] def __init__(self, cocoGt=None, cocoDt=None, iouType='segm'): ''' Initialize CocoEval using coco APIs for gt and dt :param cocoGt: coco object with ground truth annotations :param cocoDt: coco object with detection results :return: None ''' if not iouType: print('iouType not specified. use default iouType segm') self.cocoGt = cocoGt # ground truth COCO API self.cocoDt = cocoDt # detections COCO API self.params = {} # evaluation parameters # per-image per-category evaluation results [KxAxI] elements self.evalImgs = defaultdict(list) self.eval = {} # accumulated evaluation results self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation self.params = Params(iouType=iouType) # parameters self._paramsEval = {} # parameters for evaluation self.stats = [] # result summarization self.ious = {} # ious between all gts and dts if not cocoGt is None: self.params.imgIds = sorted(cocoGt.getImgIds()) self.params.catIds = sorted(cocoGt.getCatIds()) self.anno_file = cocoGt.anno_file def _prepare(self): ''' Prepare ._gts and ._dts for evaluation based on params :return: None ''' def _toMask(anns, coco): # modify ann['segmentation'] by reference for ann in anns: rle = coco.annToRLE(ann) ann['segmentation'] = rle p = self.params if p.useCats: gts = self.cocoGt.loadAnns(self.cocoGt.getAnnIds( imgIds=p.imgIds, catIds=p.catIds)) dts = self.cocoDt.loadAnns(self.cocoDt.getAnnIds( imgIds=p.imgIds, catIds=p.catIds)) else: gts = self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds)) dts = self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds)) # convert ground truth to mask if iouType == 'segm' if p.iouType == 'segm': _toMask(gts, self.cocoGt) _toMask(dts, self.cocoDt) # set ignore flag for gt in gts: gt['ignore'] = gt['ignore'] if 'ignore' in gt else 0 gt['ignore'] = 'iscrowd' in gt and gt['iscrowd'] if p.iouType == 'keypoints': gt['ignore'] = (gt['num_keypoints'] == 0) or gt['ignore'] self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation for gt in gts: self._gts[gt['image_id'], gt['category_id']].append(gt) for dt in dts: self._dts[dt['image_id'], dt['category_id']].append(dt) # per-image per-category evaluation results self.evalImgs = defaultdict(list) self.eval = {} # accumulated evaluation results def evaluate(self): ''' Run per image evaluation on given images and store results (a list of dict) in self.evalImgs :return: None ''' tic = time.time() print('Running per image evaluation...') p = self.params # add backward compatibility if useSegm is specified in params if not p.useSegm is None: p.iouType = 'segm' if p.useSegm == 1 else 'bbox' print( 'useSegm (deprecated) is not None. Running {} evaluation'.format(p.iouType)) print('Evaluate annotation type *{}*'.format(p.iouType)) p.imgIds = list(np.unique(p.imgIds)) if p.useCats: p.catIds = list(np.unique(p.catIds)) p.maxDets = sorted(p.maxDets) self.params = p self._prepare() # loop through images, area range, max detection number catIds = p.catIds if p.useCats else [-1] if p.iouType == 'segm' or p.iouType == 'bbox': computeIoU = self.computeIoU elif p.iouType == 'keypoints': computeIoU = self.computeOks self.ious = {(imgId, catId): computeIoU(imgId, catId) for imgId in p.imgIds for catId in catIds} evaluateImg = self.evaluateImg maxDet = p.maxDets[-1] self.evalImgs = [evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds for areaRng in p.areaRng for imgId in p.imgIds ] self._paramsEval = copy.deepcopy(self.params) toc = time.time() print('DONE (t={:0.2f}s).'.format(toc-tic)) def computeIoU(self, imgId, catId): p = self.params if p.useCats: gt = self._gts[imgId, catId] dt = self._dts[imgId, catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId, cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId, cId]] if len(gt) == 0 and len(dt) == 0: return [] inds = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in inds] if len(dt) > p.maxDets[-1]: dt = dt[0:p.maxDets[-1]] if p.iouType == 'segm': g = [g['segmentation'] for g in gt] d = [d['segmentation'] for d in dt] elif p.iouType == 'bbox': g = [g['bbox'] for g in gt] d = [d['bbox'] for d in dt] else: raise Exception('unknown iouType for iou computation') # compute iou between each dt and gt region iscrowd = [int(o['iscrowd']) for o in gt] ious = maskUtils.iou(d, g, iscrowd) return ious def computeOks(self, imgId, catId): p = self.params # dimention here should be Nxm # print imgId, catId gts = self._gts[imgId, catId] dts = self._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: return [] ious = np.zeros((len(dts), len(gts))) sigmas = np.array( [.79, .79, .72, .72, .62, .62, 1.07, 1.07, .87, .87, .89, .89, .79, .79])/10.0 vars = (sigmas * 2)**2 k = len(sigmas) # compute oks between each detection and ground truth object for j, gt in enumerate(gts): # 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] k1 = np.count_nonzero(vg > 0) 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 for i, dt in enumerate(dts): d = np.array(dt['keypoints']) xd = d[0::3] yd = d[1::3] if k1 > 0: # measure the per-keypoint distance if keypoints visible dx = xd - xg dy = yd - yg else: # measure minimum distance to keypoints in (x0,y0) & (x1,y1) # print 'k', k z = np.zeros((k)) dx = np.max((z, x0-xd), axis=0) + \ np.max((z, xd-x1), axis=0) dy = np.max((z, y0-yd), axis=0)+np.max((z, yd-y1), axis=0) tmparea = gt['bbox'][3] * gt['bbox'][2] * 0.53 e = (dx**2 + dy**2) / vars / (tmparea+np.spacing(1)) / 2 if k1 > 0: e = e[vg > 0] ious[i, j] = np.sum(np.exp(-e)) / e.shape[0] return ious def evaluateImg(self, imgId, catId, aRng, maxDet): ''' perform evaluation for single category and image :return: dict (single image results) ''' p = self.params if p.useCats: gt = self._gts[imgId, catId] dt = self._dts[imgId, catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId, cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId, cId]] if len(gt) == 0 and len(dt) == 0: return None for g in gt: tmp_area = g['bbox'][2] * g['bbox'][3] * 0.53 if g['ignore'] or (tmp_area < aRng[0] or tmp_area > aRng[1]): g['_ignore'] = 1 else: g['_ignore'] = 0 # sort dt highest score first, sort gt ignore last gtind = np.argsort([g['_ignore'] for g in gt], kind='mergesort') gt = [gt[i] for i in gtind] dtind = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in dtind[0:maxDet]] iscrowd = [int(o['iscrowd']) for o in gt] # load computed ious ious = self.ious[imgId, catId][:, gtind] if len( self.ious[imgId, catId]) > 0 else self.ious[imgId, catId] T = len(p.iouThrs) G = len(gt) D = len(dt) gtm = np.zeros((T, G)) dtm = np.zeros((T, D)) gtIg = np.array([g['_ignore'] for g in gt]) dtIg = np.zeros((T, D)) if not len(ious) == 0: for tind, t in enumerate(p.iouThrs): for dind, d in enumerate(dt): # information about best match so far (m=-1 -> unmatched) iou = min([t, 1-1e-10]) m = -1 for gind, g in enumerate(gt): # if this gt already matched, and not a crowd, continue if gtm[tind, gind] > 0 and not iscrowd[gind]: continue # if dt matched to reg gt, and on ignore gt, stop if m > -1 and gtIg[m] == 0 and gtIg[gind] == 1: break # continue to next gt unless better match made if ious[dind, gind] < iou: continue # if match successful and best so far, store appropriately iou = ious[dind, gind] m = gind # if match made store id of match for both dt and gt if m == -1: continue dtIg[tind, dind] = gtIg[m] dtm[tind, dind] = gt[m]['id'] gtm[tind, m] = d['id'] # set unmatched detections outside of area range to ignore a = np.array([d['area'] < aRng[0] or d['area'] > aRng[1] for d in dt]).reshape((1, len(dt))) dtIg = np.logical_or(dtIg, np.logical_and( dtm == 0, np.repeat(a, T, 0))) # store results for given image and category return { 'image_id': imgId, 'category_id': catId, 'aRng': aRng, 'maxDet': maxDet, 'dtIds': [d['id'] for d in dt], 'gtIds': [g['id'] for g in gt], 'dtMatches': dtm, 'gtMatches': gtm, 'dtScores': [d['score'] for d in dt], 'gtIgnore': gtIg, 'dtIgnore': dtIg, } def accumulate(self, p=None): ''' Accumulate per image evaluation results and store the result in self.eval :param p: input params for evaluation :return: None ''' print('Accumulating evaluation results...') tic = time.time() if not self.evalImgs: print('Please run evaluate() first') # allows input customized parameters if p is None: p = self.params p.catIds = p.catIds if p.useCats == 1 else [-1] T = len(p.iouThrs) R = len(p.recThrs) K = len(p.catIds) if p.useCats else 1 A = len(p.areaRng) M = len(p.maxDets) # -1 for the precision of absent categories precision = -np.ones((T, R, K, A, M)) recall = -np.ones((T, K, A, M)) scores = -np.ones((T, R, K, A, M)) # create dictionary for future indexing _pe = self._paramsEval catIds = _pe.catIds if _pe.useCats else [-1] setK = set(catIds) setA = set(map(tuple, _pe.areaRng)) setM = set(_pe.maxDets) setI = set(_pe.imgIds) # get inds to evaluate k_list = [n for n, k in enumerate(p.catIds) if k in setK] m_list = [m for n, m in enumerate(p.maxDets) if m in setM] a_list = [n for n, a in enumerate( map(lambda x: tuple(x), p.areaRng)) if a in setA] i_list = [n for n, i in enumerate(p.imgIds) if i in setI] I0 = len(_pe.imgIds) A0 = len(_pe.areaRng) # retrieve E at each category, area range, and max number of detections for k, k0 in enumerate(k_list): Nk = k0*A0*I0 for a, a0 in enumerate(a_list): Na = a0*I0 for m, maxDet in enumerate(m_list): E = [self.evalImgs[Nk + Na + i] for i in i_list] E = [e for e in E if not e is None] if len(E) == 0: continue dtScores = np.concatenate( [e['dtScores'][0:maxDet] for e in E]) # different sorting method generates slightly different results. # mergesort is used to be consistent as Matlab implementation. inds = np.argsort(-dtScores, kind='mergesort') dtScoresSorted = dtScores[inds] dtm = np.concatenate([e['dtMatches'][:, 0:maxDet] for e in E], axis=1)[:, inds] dtIg = np.concatenate( [e['dtIgnore'][:, 0:maxDet] for e in E], axis=1)[:, inds] gtIg = np.concatenate([e['gtIgnore'] for e in E]) npig = np.count_nonzero(gtIg == 0) if npig == 0: continue tps = np.logical_and(dtm, np.logical_not(dtIg)) fps = np.logical_and( np.logical_not(dtm), np.logical_not(dtIg)) tp_sum = np.cumsum(tps, axis=1).astype(dtype=np.float) fp_sum = np.cumsum(fps, axis=1).astype(dtype=np.float) for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): tp = np.array(tp) fp = np.array(fp) nd = len(tp) rc = tp / npig pr = tp / (fp+tp+np.spacing(1)) q = np.zeros((R,)) ss = np.zeros((R,)) if nd: recall[t, k, a, m] = rc[-1] else: recall[t, k, a, m] = 0 # numpy is slow without cython optimization for accessing elements # use python array gets significant speed improvement pr = pr.tolist() q = q.tolist() for i in range(nd-1, 0, -1): if pr[i] > pr[i-1]: pr[i-1] = pr[i] inds = np.searchsorted(rc, p.recThrs, side='left') try: for ri, pi in enumerate(inds): q[ri] = pr[pi] ss[ri] = dtScoresSorted[pi] except: pass precision[t, :, k, a, m] = np.array(q) scores[t, :, k, a, m] = np.array(ss) self.eval = { 'params': p, 'counts': [T, R, K, A, M], 'date': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), 'precision': precision, 'recall': recall, 'scores': scores, } toc = time.time() print('DONE (t={:0.2f}s).'.format(toc-tic)) def summarize(self): ''' Compute and display summary metrics for evaluation results. Note this functin can *only* be applied on the default parameter setting ''' def _summarize(ap=1, iouThr=None, areaRng='all', maxDets=100, type_score=0): p = self.params if ap != -1: iStr = ' {:<18} {} @[ IoU={:<9} | area={:>6s} | maxDets={:>3d} ] = {:0.3f}' else: iStr = ' {:<18} {} @[ IoU={:<9} | type={:>6s} | maxDets={:>3d} ] = {:0.3f}' titleStr = 'Average Precision' if ap == 1 else 'Average Recall' typeStr = '(AR)' if ap != 1 else '(AP)' iouStr = '{:0.2f}:{:0.2f}'.format(p.iouThrs[0], p.iouThrs[-1]) \ if iouThr is None else '{:0.2f}'.format(iouThr) # print 'print ioustr' , iouStr aind = [i for i, aRng in enumerate( p.areaRngLbl) if aRng == areaRng] mind = [i for i, mDet in enumerate(p.maxDets) if mDet == maxDets] if ap == 1: # dimension of precision: [TxRxKxAxM] s = self.eval['precision'] # IoU if iouThr is not None: t = np.where(abs(iouThr - p.iouThrs) < 0.01)[0] s = s[t] s = s[:, :, :, aind, mind] else: # dimension of recall: [TxKxAxM] s = self.eval['recall'] if iouThr is not None: t = np.where(iouThr == p.iouThrs)[0] s = s[t] s = s[:, :, aind, mind] if len(s[s > -1]) == 0: mean_s = -1 else: mean_s = np.mean(s[s > -1]) if ap == -1: mean_s = type_score print(iStr.format(titleStr, typeStr, iouStr, areaRng, maxDets, mean_s)) return mean_s def _summarizeDets(): stats = np.zeros((12,)) stats[0] = _summarize(1) stats[1] = _summarize(1, iouThr=.5, maxDets=self.params.maxDets[2]) stats[2] = _summarize( 1, iouThr=.75, maxDets=self.params.maxDets[2]) stats[3] = _summarize(1, areaRng='small', maxDets=self.params.maxDets[2]) stats[4] = _summarize(1, areaRng='medium', maxDets=self.params.maxDets[2]) stats[5] = _summarize(1, areaRng='large', maxDets=self.params.maxDets[2]) stats[6] = _summarize(0, maxDets=self.params.maxDets[0]) stats[7] = _summarize(0, maxDets=self.params.maxDets[1]) stats[8] = _summarize(0, maxDets=self.params.maxDets[2]) stats[9] = _summarize(0, areaRng='small', maxDets=self.params.maxDets[2]) stats[10] = _summarize(0, areaRng='medium', maxDets=self.params.maxDets[2]) stats[11] = _summarize( 0, areaRng='large', maxDets=self.params.maxDets[2]) return stats def _summarizeKps(): stats = np.zeros((11,)) # print '-----------------------------------------------' stats[0] = _summarize(1, maxDets=20) stats[1] = _summarize(1, maxDets=20, iouThr=.5) stats[2] = _summarize(1, maxDets=20, iouThr=.75) stats[5] = _summarize(0, maxDets=20) stats[6] = _summarize(0, maxDets=20, iouThr=.5) stats[7] = _summarize(0, maxDets=20, iouThr=.75) type_result = self.get_type_result(first=0.2, second=0.8) stats[8] = _summarize(-1, maxDets=20, areaRng='easy', type_score=type_result[0]) stats[9] = _summarize(-1, maxDets=20, areaRng='medium', type_score=type_result[1]) stats[10]=_summarize(-1, maxDets=20, areaRng='hard', type_score=type_result[2]) return stats if not self.eval: raise Exception('Please run accumulate() first') iouType = self.params.iouType if iouType == 'segm' or iouType == 'bbox': summarize = _summarizeDets elif iouType == 'keypoints': summarize = _summarizeKps self.stats = summarize() def __str__(self): self.summarize() def get_type_result(self, first=0.01, second=0.85): gt_file = self.anno_file[0] easy, mid, hard = self.split(gt_file, first, second) # print (len(easy), len(mid), len(hard)) res = [] nullwrite = NullWriter() oldstdout = sys.stdout sys.stdout = nullwrite for curr_type in [easy, mid, hard]: curr_list = curr_type self.params.imgIds = curr_list self.evaluate() self.accumulate() score = self.eval['precision'][:, :, :, 0, :] res.append(round(np.mean(score), 4)) sys.stdout = oldstdout return res def split(serlf, gt_file, first=0.01, second=0.85): import json data = json.load( open(gt_file, 'r')) easy = [] mid = [] hard = [] for item in data['images']: if item['crowdIndex'] < first: easy.append(item['id']) elif item['crowdIndex'] < second: mid.append(item['id']) else: hard.append(item['id']) return easy, mid, hard class Params: ''' Params for coco evaluation api ''' def setDetParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round( (0.95 - .5) / .05) + 1), endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round( (1.00 - .0) / .01) + 1), endpoint=True) self.maxDets = [1, 10, 100] self.areaRng = [[0 ** 2, 1e5 ** 2], [0 ** 2, 32 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'small', 'medium', 'large'] self.useCats = 1 def setKpParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round( (0.95 - .5) / .05) + 1), endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round( (1.00 - .0) / .01) + 1), endpoint=True) self.maxDets = [20] self.areaRng = [[0 ** 2, 1e5 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'medium', 'large'] self.useCats = 1 def __init__(self, iouType='segm'): if iouType == 'segm' or iouType == 'bbox': self.setDetParams() elif iouType == 'keypoints': self.setKpParams() else: raise Exception('iouType not supported') self.iouType = iouType # useSegm is deprecated self.useSegm = None ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/build/lib.linux-x86_64-3.7/crowdposetools/mask.py ================================================ __author__ = 'tsungyi' import crowdposetools._mask as _mask # Interface for manipulating masks stored in RLE format. # # RLE is a simple yet efficient format for storing binary masks. RLE # first divides a vector (or vectorized image) into a series of piecewise # constant regions and then for each piece simply stores the length of # that piece. For example, given M=[0 0 1 1 1 0 1] the RLE counts would # be [2 3 1 1], or for M=[1 1 1 1 1 1 0] the counts would be [0 6 1] # (note that the odd counts are always the numbers of zeros). Instead of # storing the counts directly, additional compression is achieved with a # variable bitrate representation based on a common scheme called LEB128. # # Compression is greatest given large piecewise constant regions. # Specifically, the size of the RLE is proportional to the number of # *boundaries* in M (or for an image the number of boundaries in the y # direction). Assuming fairly simple shapes, the RLE representation is # O(sqrt(n)) where n is number of pixels in the object. Hence space usage # is substantially lower, especially for large simple objects (large n). # # Many common operations on masks can be computed directly using the RLE # (without need for decoding). This includes computations such as area, # union, intersection, etc. All of these operations are linear in the # size of the RLE, in other words they are O(sqrt(n)) where n is the area # of the object. Computing these operations on the original mask is O(n). # Thus, using the RLE can result in substantial computational savings. # # The following API functions are defined: # encode - Encode binary masks using RLE. # decode - Decode binary masks encoded via RLE. # merge - Compute union or intersection of encoded masks. # iou - Compute intersection over union between masks. # area - Compute area of encoded masks. # toBbox - Get bounding boxes surrounding encoded masks. # frPyObjects - Convert polygon, bbox, and uncompressed RLE to encoded RLE mask. # # Usage: # Rs = encode( masks ) # masks = decode( Rs ) # R = merge( Rs, intersect=false ) # o = iou( dt, gt, iscrowd ) # a = area( Rs ) # bbs = toBbox( Rs ) # Rs = frPyObjects( [pyObjects], h, w ) # # In the API the following formats are used: # Rs - [dict] Run-length encoding of binary masks # R - dict Run-length encoding of binary mask # masks - [hxwxn] Binary mask(s) (must have type np.ndarray(dtype=uint8) in column-major order) # iscrowd - [nx1] list of np.ndarray. 1 indicates corresponding gt image has crowd region to ignore # bbs - [nx4] Bounding box(es) stored as [x y w h] # poly - Polygon stored as [[x1 y1 x2 y2...],[x1 y1 ...],...] (2D list) # dt,gt - May be either bounding boxes or encoded masks # Both poly and bbs are 0-indexed (bbox=[0 0 1 1] encloses first pixel). # # Finally, a note about the intersection over union (iou) computation. # The standard iou of a ground truth (gt) and detected (dt) object is # iou(gt,dt) = area(intersect(gt,dt)) / area(union(gt,dt)) # For "crowd" regions, we use a modified criteria. If a gt object is # marked as "iscrowd", we allow a dt to match any subregion of the gt. # Choosing gt' in the crowd gt that best matches the dt can be done using # gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing # iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) # For crowd gt regions we use this modified criteria above for the iou. # # To compile run "python setup.py build_ext --inplace" # Please do not contact us for help with compiling. # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] iou = _mask.iou merge = _mask.merge frPyObjects = _mask.frPyObjects def encode(bimask): if len(bimask.shape) == 3: return _mask.encode(bimask) elif len(bimask.shape) == 2: h, w = bimask.shape return _mask.encode(bimask.reshape((h, w, 1), order='F'))[0] def decode(rleObjs): if type(rleObjs) == list: return _mask.decode(rleObjs) else: return _mask.decode([rleObjs])[:,:,0] def area(rleObjs): if type(rleObjs) == list: return _mask.area(rleObjs) else: return _mask.area([rleObjs])[0] def toBbox(rleObjs): if type(rleObjs) == list: return _mask.toBbox(rleObjs) else: return _mask.toBbox([rleObjs])[0] ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/crowdposetools/__init__.py ================================================ __author__ = 'tylin' ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/crowdposetools/_mask.c ================================================ /* Generated by Cython 0.28.5 */ /* BEGIN: Cython Metadata { "distutils": { "depends": [ "../common/maskApi.h", "/home/wangcan/anaconda3/envs/py0/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h", "/home/wangcan/anaconda3/envs/py0/lib/python3.6/site-packages/numpy/core/include/numpy/ufuncobject.h" ], "extra_compile_args": [ "-Wno-cpp", "-Wno-unused-function", "-std=c99" ], "include_dirs": [ "/home/wangcan/anaconda3/envs/py0/lib/python3.6/site-packages/numpy/core/include", "../common" ], "language": "c", "name": "crowdposetools._mask", "sources": [ "crowdposetools/_mask.pyx", "../common/maskApi.c" ] }, "module_name": "crowdposetools._mask" } END: Cython Metadata */ #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_28_5" #define CYTHON_FUTURE_DIVISION 0 #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 #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 #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 (0 && PY_VERSION_HEX >= 0x03050000) #endif #ifndef CYTHON_USE_TP_FINALIZE #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) #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 #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" #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 <= 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))))) #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_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; // PyThread_create_key reports success always } 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 // TSS (Thread Specific Storage) API #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)) ? 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 #define PyObject_Unicode PyObject_Str #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__crowdposetools___mask #define __PYX_HAVE_API__crowdposetools___mask /* Early includes */ #include #include #include "numpy/arrayobject.h" #include "numpy/ufuncobject.h" #include #include "maskApi.h" #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_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) #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 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)); 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[] = { "crowdposetools/_mask.pyx", "stringsource", "__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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":730 * # 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":732 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":733 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":739 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":740 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":744 * #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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":745 * * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":754 * # 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":755 * # 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":756 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":758 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< * ctypedef npy_ulonglong ulonglong_t * */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":760 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":762 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< * ctypedef npy_uintp uintp_t * */ typedef npy_intp __pyx_t_5numpy_intp_t; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< * * ctypedef npy_double float_t */ typedef npy_uintp __pyx_t_5numpy_uintp_t; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":765 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":766 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< * ctypedef npy_longdouble longdouble_t * */ typedef npy_double __pyx_t_5numpy_double_t; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":767 * 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 ---*/ struct __pyx_obj_14crowdposetools_5_mask_RLEs; struct __pyx_obj_14crowdposetools_5_mask_Masks; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":769 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":770 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< * ctypedef npy_clongdouble clongdouble_t * */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":771 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":773 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< * * cdef inline object PyArray_MultiIterNew1(a): */ typedef npy_cdouble __pyx_t_5numpy_complex_t; /* "crowdposetools/_mask.pyx":56 * # python class to wrap RLE array in C * # the class handles the memory allocation and deallocation * cdef class RLEs: # <<<<<<<<<<<<<< * cdef RLE *_R * cdef siz _n */ struct __pyx_obj_14crowdposetools_5_mask_RLEs { PyObject_HEAD RLE *_R; siz _n; }; /* "crowdposetools/_mask.pyx":77 * # python class to wrap Mask array in C * # the class handles the memory allocation and deallocation * cdef class Masks: # <<<<<<<<<<<<<< * cdef byte *_mask * cdef siz _h */ struct __pyx_obj_14crowdposetools_5_mask_Masks { PyObject_HEAD byte *_mask; siz _h; siz _w; siz _n; }; /* --- 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); /* 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); /* 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); /* IncludeStringH.proto */ #include /* BytesEquals.proto */ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); /* UnicodeEquals.proto */ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); /* StrEquals.proto */ #if PY_MAJOR_VERSION >= 3 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals #else #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals #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 /* 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, int nargs, PyObject *kwargs); #else #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs) #endif #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 /* PyObjectCallOneArg.proto */ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); /* 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 /* RaiseException.proto */ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /* ExtTypeTest.proto */ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /* 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); /* 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 /* PyIntBinop.proto */ #if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace); #else #define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace)\ (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2)) #endif /* PyIntBinop.proto */ #if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, int inplace); #else #define __Pyx_PyInt_EqObjC(op1, op2, intval, inplace)\ PyObject_RichCompare(op1, op2, Py_EQ) #endif /* GetModuleGlobalName.proto */ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /* DictGetItem.proto */ #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); #define __Pyx_PyObject_Dict_GetItem(obj, name)\ (likely(PyDict_CheckExact(obj)) ?\ __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) #else #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) #define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) #endif /* 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); /* 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 }; /* ListCompAppend.proto */ #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { PyListObject* L = (PyListObject*) list; Py_ssize_t len = Py_SIZE(list); if (likely(L->allocated > len)) { Py_INCREF(x); PyList_SET_ITEM(list, len, x); Py_SIZE(list) = len+1; return 0; } return PyList_Append(list, x); } #else #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) #endif /* FetchCommonType.proto */ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); /* CythonFunction.proto */ #define __Pyx_CyFunction_USED 1 #define __Pyx_CYFUNCTION_STATICMETHOD 0x01 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 #define __Pyx_CYFUNCTION_CCLASS 0x04 #define __Pyx_CyFunction_GetClosure(f)\ (((__pyx_CyFunctionObject *) (f))->func_closure) #define __Pyx_CyFunction_GetClassObj(f)\ (((__pyx_CyFunctionObject *) (f))->func_classobj) #define __Pyx_CyFunction_Defaults(type, f)\ ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) typedef struct { PyCFunctionObject func; #if PY_VERSION_HEX < 0x030500A0 PyObject *func_weakreflist; #endif PyObject *func_dict; PyObject *func_name; PyObject *func_qualname; PyObject *func_doc; PyObject *func_globals; PyObject *func_code; PyObject *func_closure; PyObject *func_classobj; void *defaults; int defaults_pyobjects; int flags; PyObject *defaults_tuple; PyObject *defaults_kwdict; PyObject *(*defaults_getter)(PyObject *); PyObject *func_annotations; } __pyx_CyFunctionObject; static PyTypeObject *__pyx_CyFunctionType = 0; #define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code)\ __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code) static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml, int flags, PyObject* qualname, PyObject *self, PyObject *module, PyObject *globals, PyObject* code); static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, size_t size, int pyobjects); static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, PyObject *tuple); static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, PyObject *dict); static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, PyObject *dict); static int __pyx_CyFunction_init(void); /* BufferFallbackError.proto */ static void __Pyx_RaiseBufferFallbackError(void); /* None.proto */ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t); /* BufferIndexError.proto */ static void __Pyx_RaiseBufferIndexError(int axis); #define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) /* PySequenceContains.proto */ static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { int result = PySequence_Contains(seq, item); return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); } /* 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); /* 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 /* PyObject_GenericGetAttrNoDict.proto */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); #else #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr #endif /* PyObject_GenericGetAttr.proto */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); #else #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr #endif /* SetupReduce.proto */ static int __Pyx_setup_reduce(PyObject* type_obj); /* 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_long(long value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_siz(siz value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t 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 /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value); /* CIntFromPy.proto */ static CYTHON_INLINE siz __Pyx_PyInt_As_siz(PyObject *); /* CIntFromPy.proto */ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *); /* 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); /* 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 '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_ufunc = 0; static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/ /* Module declarations from 'libc.stdlib' */ /* Module declarations from 'crowdposetools._mask' */ static PyTypeObject *__pyx_ptype_14crowdposetools_5_mask_RLEs = 0; static PyTypeObject *__pyx_ptype_14crowdposetools_5_mask_Masks = 0; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_double_t = { "double_t", NULL, sizeof(__pyx_t_5numpy_double_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t = { "uint32_t", NULL, sizeof(__pyx_t_5numpy_uint32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint32_t), 0 }; #define __Pyx_MODULE_NAME "crowdposetools._mask" extern int __pyx_module_is_main_crowdposetools___mask; int __pyx_module_is_main_crowdposetools___mask = 0; /* Implementation of 'crowdposetools._mask' */ static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_AttributeError; static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_enumerate; static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_RuntimeError; static PyObject *__pyx_builtin_ImportError; static const char __pyx_k_F[] = "F"; static const char __pyx_k_N[] = "N"; static const char __pyx_k_R[] = "R"; static const char __pyx_k_a[] = "_a"; 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_m[] = "m"; static const char __pyx_k_n[] = "n"; static const char __pyx_k_p[] = "p"; static const char __pyx_k_w[] = "w"; static const char __pyx_k_Rs[] = "Rs"; static const char __pyx_k_bb[] = "bb"; static const char __pyx_k_dt[] = "dt"; static const char __pyx_k_gt[] = "gt"; static const char __pyx_k_np[] = "np"; static const char __pyx_k_a_2[] = "a"; static const char __pyx_k_all[] = "all"; static const char __pyx_k_iou[] = "_iou"; static const char __pyx_k_len[] = "_len"; static const char __pyx_k_obj[] = "obj"; static const char __pyx_k_sys[] = "sys"; static const char __pyx_k_area[] = "area"; static const char __pyx_k_bb_2[] = "_bb"; static const char __pyx_k_cnts[] = "cnts"; static const char __pyx_k_data[] = "data"; static const char __pyx_k_main[] = "__main__"; static const char __pyx_k_mask[] = "mask"; static const char __pyx_k_name[] = "__name__"; static const char __pyx_k_objs[] = "objs"; static const char __pyx_k_poly[] = "poly"; static const char __pyx_k_size[] = "size"; static const char __pyx_k_test[] = "__test__"; static const char __pyx_k_utf8[] = "utf8"; static const char __pyx_k_array[] = "array"; static const char __pyx_k_bbIou[] = "_bbIou"; static const char __pyx_k_dtype[] = "dtype"; static const char __pyx_k_iou_2[] = "iou"; static const char __pyx_k_isbox[] = "isbox"; static const char __pyx_k_isrle[] = "isrle"; static const char __pyx_k_masks[] = "masks"; static const char __pyx_k_merge[] = "merge"; static const char __pyx_k_numpy[] = "numpy"; static const char __pyx_k_order[] = "order"; static const char __pyx_k_pyobj[] = "pyobj"; static const char __pyx_k_range[] = "range"; static const char __pyx_k_shape[] = "shape"; static const char __pyx_k_uint8[] = "uint8"; static const char __pyx_k_zeros[] = "zeros"; static const char __pyx_k_astype[] = "astype"; static const char __pyx_k_author[] = "__author__"; static const char __pyx_k_counts[] = "counts"; static const char __pyx_k_decode[] = "decode"; static const char __pyx_k_double[] = "double"; static const char __pyx_k_encode[] = "encode"; static const char __pyx_k_frBbox[] = "frBbox"; static const char __pyx_k_frPoly[] = "frPoly"; static const char __pyx_k_import[] = "__import__"; static const char __pyx_k_iouFun[] = "_iouFun"; static const char __pyx_k_reduce[] = "__reduce__"; static const char __pyx_k_rleIou[] = "_rleIou"; static const char __pyx_k_toBbox[] = "toBbox"; static const char __pyx_k_ucRles[] = "ucRles"; static const char __pyx_k_uint32[] = "uint32"; static const char __pyx_k_iscrowd[] = "iscrowd"; static const char __pyx_k_np_poly[] = "np_poly"; static const char __pyx_k_preproc[] = "_preproc"; static const char __pyx_k_reshape[] = "reshape"; static const char __pyx_k_rleObjs[] = "rleObjs"; static const char __pyx_k_tsungyi[] = "tsungyi"; static const char __pyx_k_c_string[] = "c_string"; static const char __pyx_k_frString[] = "_frString"; static const char __pyx_k_getstate[] = "__getstate__"; static const char __pyx_k_setstate[] = "__setstate__"; static const char __pyx_k_toString[] = "_toString"; static const char __pyx_k_TypeError[] = "TypeError"; static const char __pyx_k_enumerate[] = "enumerate"; static const char __pyx_k_intersect[] = "intersect"; static const char __pyx_k_py_string[] = "py_string"; static const char __pyx_k_pyiscrowd[] = "pyiscrowd"; static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; static const char __pyx_k_ValueError[] = "ValueError"; static const char __pyx_k_ImportError[] = "ImportError"; static const char __pyx_k_frPyObjects[] = "frPyObjects"; static const char __pyx_k_RuntimeError[] = "RuntimeError"; static const char __pyx_k_version_info[] = "version_info"; static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; static const char __pyx_k_AttributeError[] = "AttributeError"; static const char __pyx_k_PYTHON_VERSION[] = "PYTHON_VERSION"; static const char __pyx_k_iou_locals__len[] = "iou.._len"; static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; static const char __pyx_k_frUncompressedRLE[] = "frUncompressedRLE"; static const char __pyx_k_iou_locals__bbIou[] = "iou.._bbIou"; static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; static const char __pyx_k_iou_locals__rleIou[] = "iou.._rleIou"; static const char __pyx_k_iou_locals__preproc[] = "iou.._preproc"; static const char __pyx_k_crowdposetools__mask[] = "crowdposetools._mask"; static const char __pyx_k_crowdposetools__mask_pyx[] = "crowdposetools/_mask.pyx"; static const char __pyx_k_input_data_type_not_allowed[] = "input data type not allowed."; static const char __pyx_k_input_type_is_not_supported[] = "input type is not supported."; static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; static const char __pyx_k_Python_version_must_be_2_or_3[] = "Python version must be 2 or 3"; static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; static const char __pyx_k_numpy_ndarray_input_is_only_for[] = "numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension"; static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static const char __pyx_k_unrecognized_type_The_following[] = "unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported."; 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_The_dt_and_gt_should_have_the_sa[] = "The dt and gt should have the same data type, either RLEs, list or np.ndarray"; static const char __pyx_k_list_input_can_be_bounding_box_N[] = "list input can be bounding box (Nx4) or RLEs ([RLE])"; static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__"; static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static PyObject *__pyx_n_s_AttributeError; static PyObject *__pyx_n_s_F; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; static PyObject *__pyx_n_s_ImportError; static PyObject *__pyx_n_s_N; static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor; static PyObject *__pyx_n_s_PYTHON_VERSION; static PyObject *__pyx_kp_s_Python_version_must_be_2_or_3; static PyObject *__pyx_n_s_R; static PyObject *__pyx_n_s_Rs; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_s_The_dt_and_gt_should_have_the_sa; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s_a; static PyObject *__pyx_n_s_a_2; static PyObject *__pyx_n_s_all; static PyObject *__pyx_n_s_area; static PyObject *__pyx_n_s_array; static PyObject *__pyx_n_s_astype; static PyObject *__pyx_n_s_author; static PyObject *__pyx_n_s_bb; static PyObject *__pyx_n_s_bbIou; static PyObject *__pyx_n_s_bb_2; static PyObject *__pyx_n_s_c_string; static PyObject *__pyx_n_s_cline_in_traceback; static PyObject *__pyx_n_s_cnts; static PyObject *__pyx_n_s_counts; static PyObject *__pyx_n_s_crowdposetools__mask; static PyObject *__pyx_kp_s_crowdposetools__mask_pyx; static PyObject *__pyx_n_s_data; static PyObject *__pyx_n_s_decode; static PyObject *__pyx_n_s_double; static PyObject *__pyx_n_s_dt; static PyObject *__pyx_n_s_dtype; static PyObject *__pyx_n_s_encode; static PyObject *__pyx_n_s_enumerate; static PyObject *__pyx_n_s_frBbox; static PyObject *__pyx_n_s_frPoly; static PyObject *__pyx_n_s_frPyObjects; static PyObject *__pyx_n_s_frString; static PyObject *__pyx_n_s_frUncompressedRLE; static PyObject *__pyx_n_s_getstate; static PyObject *__pyx_n_s_gt; static PyObject *__pyx_n_s_h; static PyObject *__pyx_n_s_i; static PyObject *__pyx_n_s_import; static PyObject *__pyx_kp_s_input_data_type_not_allowed; static PyObject *__pyx_kp_s_input_type_is_not_supported; static PyObject *__pyx_n_s_intersect; static PyObject *__pyx_n_s_iou; static PyObject *__pyx_n_s_iouFun; static PyObject *__pyx_n_s_iou_2; static PyObject *__pyx_n_s_iou_locals__bbIou; static PyObject *__pyx_n_s_iou_locals__len; static PyObject *__pyx_n_s_iou_locals__preproc; static PyObject *__pyx_n_s_iou_locals__rleIou; static PyObject *__pyx_n_s_isbox; static PyObject *__pyx_n_s_iscrowd; static PyObject *__pyx_n_s_isrle; static PyObject *__pyx_n_s_j; static PyObject *__pyx_n_s_len; static PyObject *__pyx_kp_s_list_input_can_be_bounding_box_N; static PyObject *__pyx_n_s_m; static PyObject *__pyx_n_s_main; static PyObject *__pyx_n_s_mask; static PyObject *__pyx_n_s_masks; static PyObject *__pyx_n_s_merge; static PyObject *__pyx_n_s_n; static PyObject *__pyx_n_s_name; static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous; static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; static PyObject *__pyx_kp_s_no_default___reduce___due_to_non; static PyObject *__pyx_n_s_np; static PyObject *__pyx_n_s_np_poly; 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_kp_s_numpy_ndarray_input_is_only_for; static PyObject *__pyx_n_s_obj; static PyObject *__pyx_n_s_objs; static PyObject *__pyx_n_s_order; static PyObject *__pyx_n_s_p; static PyObject *__pyx_n_s_poly; static PyObject *__pyx_n_s_preproc; static PyObject *__pyx_n_s_py_string; static PyObject *__pyx_n_s_pyiscrowd; static PyObject *__pyx_n_s_pyobj; static PyObject *__pyx_n_s_range; static PyObject *__pyx_n_s_reduce; static PyObject *__pyx_n_s_reduce_cython; static PyObject *__pyx_n_s_reduce_ex; static PyObject *__pyx_n_s_reshape; static PyObject *__pyx_n_s_rleIou; static PyObject *__pyx_n_s_rleObjs; static PyObject *__pyx_n_s_setstate; static PyObject *__pyx_n_s_setstate_cython; static PyObject *__pyx_n_s_shape; static PyObject *__pyx_n_s_size; static PyObject *__pyx_n_s_sys; static PyObject *__pyx_n_s_test; static PyObject *__pyx_n_s_toBbox; static PyObject *__pyx_n_s_toString; static PyObject *__pyx_n_s_tsungyi; static PyObject *__pyx_n_s_ucRles; static PyObject *__pyx_n_s_uint32; static PyObject *__pyx_n_s_uint8; static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd; static PyObject *__pyx_kp_s_unrecognized_type_The_following; static PyObject *__pyx_n_s_utf8; static PyObject *__pyx_n_s_version_info; static PyObject *__pyx_n_s_w; static PyObject *__pyx_n_s_zeros; static int __pyx_pf_14crowdposetools_5_mask_4RLEs___cinit__(struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self, siz __pyx_v_n); /* proto */ static void __pyx_pf_14crowdposetools_5_mask_4RLEs_2__dealloc__(struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_4RLEs_4__getattr__(struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_4RLEs_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_4RLEs_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ static int __pyx_pf_14crowdposetools_5_mask_5Masks___cinit__(struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self, PyObject *__pyx_v_h, PyObject *__pyx_v_w, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_5Masks_2__array__(struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_5Masks_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_5Masks_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask__toString(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_2_frString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_4encode(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_mask); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_6decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_8merge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs, PyObject *__pyx_v_intersect); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_10area(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou__preproc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objs); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou_2_rleIou(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_dt, struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou_4_bbIou(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dt, PyArrayObject *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou_6_len(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_obj); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_12iou(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt, PyObject *__pyx_v_gt, PyObject *__pyx_v_pyiscrowd); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_14toBbox(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_16frBbox(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_bb, siz __pyx_v_h, siz __pyx_v_w); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_18frPoly(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_poly, siz __pyx_v_h, siz __pyx_v_w); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_20frUncompressedRLE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ucRles, CYTHON_UNUSED siz __pyx_v_h, CYTHON_UNUSED siz __pyx_v_w); /* proto */ static PyObject *__pyx_pf_14crowdposetools_5_mask_22frPyObjects(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pyobj, PyObject *__pyx_v_h, PyObject *__pyx_v_w); /* 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_tp_new_14crowdposetools_5_mask_RLEs(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_14crowdposetools_5_mask_Masks(PyTypeObject *t, PyObject *a, PyObject *k); /*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_tuple_; 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__7; static PyObject *__pyx_tuple__8; static PyObject *__pyx_tuple__9; static PyObject *__pyx_tuple__10; static PyObject *__pyx_tuple__11; static PyObject *__pyx_tuple__13; static PyObject *__pyx_tuple__15; static PyObject *__pyx_tuple__17; static PyObject *__pyx_tuple__19; static PyObject *__pyx_tuple__20; static PyObject *__pyx_tuple__21; static PyObject *__pyx_tuple__22; static PyObject *__pyx_tuple__23; static PyObject *__pyx_tuple__24; static PyObject *__pyx_tuple__25; static PyObject *__pyx_tuple__26; static PyObject *__pyx_tuple__27; static PyObject *__pyx_tuple__28; static PyObject *__pyx_tuple__29; static PyObject *__pyx_tuple__30; static PyObject *__pyx_tuple__31; static PyObject *__pyx_tuple__32; static PyObject *__pyx_tuple__34; static PyObject *__pyx_tuple__36; static PyObject *__pyx_tuple__38; static PyObject *__pyx_tuple__40; static PyObject *__pyx_tuple__42; static PyObject *__pyx_tuple__44; static PyObject *__pyx_tuple__46; static PyObject *__pyx_tuple__48; static PyObject *__pyx_tuple__50; static PyObject *__pyx_tuple__52; static PyObject *__pyx_tuple__54; static PyObject *__pyx_codeobj__12; static PyObject *__pyx_codeobj__14; static PyObject *__pyx_codeobj__16; static PyObject *__pyx_codeobj__18; static PyObject *__pyx_codeobj__33; static PyObject *__pyx_codeobj__35; static PyObject *__pyx_codeobj__37; static PyObject *__pyx_codeobj__39; static PyObject *__pyx_codeobj__41; static PyObject *__pyx_codeobj__43; static PyObject *__pyx_codeobj__45; static PyObject *__pyx_codeobj__47; static PyObject *__pyx_codeobj__49; static PyObject *__pyx_codeobj__51; static PyObject *__pyx_codeobj__53; static PyObject *__pyx_codeobj__55; /* Late includes */ /* "crowdposetools/_mask.pyx":60 * cdef siz _n * * def __cinit__(self, siz n =0): # <<<<<<<<<<<<<< * rlesInit(&self._R, n) * self._n = n */ /* Python wrapper */ static int __pyx_pw_14crowdposetools_5_mask_4RLEs_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_14crowdposetools_5_mask_4RLEs_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { siz __pyx_v_n; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,0}; PyObject* values[1] = {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 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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 60, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } if (values[0]) { __pyx_v_n = __Pyx_PyInt_As_siz(values[0]); if (unlikely((__pyx_v_n == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 60, __pyx_L3_error) } else { __pyx_v_n = ((siz)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 60, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.RLEs.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_14crowdposetools_5_mask_4RLEs___cinit__(((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_v_self), __pyx_v_n); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_14crowdposetools_5_mask_4RLEs___cinit__(struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self, siz __pyx_v_n) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "crowdposetools/_mask.pyx":61 * * def __cinit__(self, siz n =0): * rlesInit(&self._R, n) # <<<<<<<<<<<<<< * self._n = n * */ rlesInit((&__pyx_v_self->_R), __pyx_v_n); /* "crowdposetools/_mask.pyx":62 * def __cinit__(self, siz n =0): * rlesInit(&self._R, n) * self._n = n # <<<<<<<<<<<<<< * * # free the RLE array here */ __pyx_v_self->_n = __pyx_v_n; /* "crowdposetools/_mask.pyx":60 * cdef siz _n * * def __cinit__(self, siz n =0): # <<<<<<<<<<<<<< * rlesInit(&self._R, n) * self._n = n */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":65 * * # free the RLE array here * def __dealloc__(self): # <<<<<<<<<<<<<< * if self._R is not NULL: * for i in range(self._n): */ /* Python wrapper */ static void __pyx_pw_14crowdposetools_5_mask_4RLEs_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_14crowdposetools_5_mask_4RLEs_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_14crowdposetools_5_mask_4RLEs_2__dealloc__(((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_14crowdposetools_5_mask_4RLEs_2__dealloc__(struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self) { siz __pyx_v_i; __Pyx_RefNannyDeclarations int __pyx_t_1; siz __pyx_t_2; siz __pyx_t_3; siz __pyx_t_4; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "crowdposetools/_mask.pyx":66 * # free the RLE array here * def __dealloc__(self): * if self._R is not NULL: # <<<<<<<<<<<<<< * for i in range(self._n): * free(self._R[i].cnts) */ __pyx_t_1 = ((__pyx_v_self->_R != NULL) != 0); if (__pyx_t_1) { /* "crowdposetools/_mask.pyx":67 * def __dealloc__(self): * if self._R is not NULL: * for i in range(self._n): # <<<<<<<<<<<<<< * free(self._R[i].cnts) * free(self._R) */ __pyx_t_2 = __pyx_v_self->_n; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i = __pyx_t_4; /* "crowdposetools/_mask.pyx":68 * if self._R is not NULL: * for i in range(self._n): * free(self._R[i].cnts) # <<<<<<<<<<<<<< * free(self._R) * def __getattr__(self, key): */ free((__pyx_v_self->_R[__pyx_v_i]).cnts); } /* "crowdposetools/_mask.pyx":69 * for i in range(self._n): * free(self._R[i].cnts) * free(self._R) # <<<<<<<<<<<<<< * def __getattr__(self, key): * if key == 'n': */ free(__pyx_v_self->_R); /* "crowdposetools/_mask.pyx":66 * # free the RLE array here * def __dealloc__(self): * if self._R is not NULL: # <<<<<<<<<<<<<< * for i in range(self._n): * free(self._R[i].cnts) */ } /* "crowdposetools/_mask.pyx":65 * * # free the RLE array here * def __dealloc__(self): # <<<<<<<<<<<<<< * if self._R is not NULL: * for i in range(self._n): */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "crowdposetools/_mask.pyx":70 * free(self._R[i].cnts) * free(self._R) * def __getattr__(self, key): # <<<<<<<<<<<<<< * if key == 'n': * return self._n */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_4RLEs_5__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ static PyObject *__pyx_pw_14crowdposetools_5_mask_4RLEs_5__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_4RLEs_4__getattr__(((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_v_self), ((PyObject *)__pyx_v_key)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_4RLEs_4__getattr__(struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self, PyObject *__pyx_v_key) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("__getattr__", 0); /* "crowdposetools/_mask.pyx":71 * free(self._R) * def __getattr__(self, key): * if key == 'n': # <<<<<<<<<<<<<< * return self._n * raise AttributeError(key) */ __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_key, __pyx_n_s_n, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 71, __pyx_L1_error) if (__pyx_t_1) { /* "crowdposetools/_mask.pyx":72 * def __getattr__(self, key): * if key == 'n': * return self._n # <<<<<<<<<<<<<< * raise AttributeError(key) * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_siz(__pyx_v_self->_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "crowdposetools/_mask.pyx":71 * free(self._R) * def __getattr__(self, key): * if key == 'n': # <<<<<<<<<<<<<< * return self._n * raise AttributeError(key) */ } /* "crowdposetools/_mask.pyx":73 * if key == 'n': * return self._n * raise AttributeError(key) # <<<<<<<<<<<<<< * * # python class to wrap Mask array in C */ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 73, __pyx_L1_error) /* "crowdposetools/_mask.pyx":70 * free(self._R[i].cnts) * free(self._R) * def __getattr__(self, key): # <<<<<<<<<<<<<< * if key == 'n': * return self._n */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("crowdposetools._mask.RLEs.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_4RLEs_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_14crowdposetools_5_mask_4RLEs_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_4RLEs_6__reduce_cython__(((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_4RLEs_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__reduce_cython__", 0); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("crowdposetools._mask.RLEs.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_4RLEs_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ static PyObject *__pyx_pw_14crowdposetools_5_mask_4RLEs_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_4RLEs_8__setstate_cython__(((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_4RLEs_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__setstate_cython__", 0); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 4, __pyx_L1_error) /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("crowdposetools._mask.RLEs.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":83 * cdef siz _n * * def __cinit__(self, h, w, n): # <<<<<<<<<<<<<< * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h */ /* Python wrapper */ static int __pyx_pw_14crowdposetools_5_mask_5Masks_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_14crowdposetools_5_mask_5Masks_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_h = 0; PyObject *__pyx_v_w = 0; PyObject *__pyx_v_n = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_h,&__pyx_n_s_w,&__pyx_n_s_n,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_h)) != 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_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 83, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 83, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 83, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_h = values[0]; __pyx_v_w = values[1]; __pyx_v_n = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 83, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.Masks.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_14crowdposetools_5_mask_5Masks___cinit__(((struct __pyx_obj_14crowdposetools_5_mask_Masks *)__pyx_v_self), __pyx_v_h, __pyx_v_w, __pyx_v_n); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_14crowdposetools_5_mask_5Masks___cinit__(struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self, PyObject *__pyx_v_h, PyObject *__pyx_v_w, PyObject *__pyx_v_n) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; size_t __pyx_t_4; siz __pyx_t_5; __Pyx_RefNannySetupContext("__cinit__", 0); /* "crowdposetools/_mask.pyx":84 * * def __cinit__(self, h, w, n): * self._mask = malloc(h*w*n* sizeof(byte)) # <<<<<<<<<<<<<< * self._h = h * self._w = w */ __pyx_t_1 = PyNumber_Multiply(__pyx_v_h, __pyx_v_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(byte))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyInt_As_size_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_self->_mask = ((byte *)malloc(__pyx_t_4)); /* "crowdposetools/_mask.pyx":85 * def __cinit__(self, h, w, n): * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h # <<<<<<<<<<<<<< * self._w = w * self._n = n */ __pyx_t_5 = __Pyx_PyInt_As_siz(__pyx_v_h); if (unlikely((__pyx_t_5 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L1_error) __pyx_v_self->_h = __pyx_t_5; /* "crowdposetools/_mask.pyx":86 * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h * self._w = w # <<<<<<<<<<<<<< * self._n = n * # def __dealloc__(self): */ __pyx_t_5 = __Pyx_PyInt_As_siz(__pyx_v_w); if (unlikely((__pyx_t_5 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 86, __pyx_L1_error) __pyx_v_self->_w = __pyx_t_5; /* "crowdposetools/_mask.pyx":87 * self._h = h * self._w = w * self._n = n # <<<<<<<<<<<<<< * # def __dealloc__(self): * # the memory management of _mask has been passed to np.ndarray */ __pyx_t_5 = __Pyx_PyInt_As_siz(__pyx_v_n); if (unlikely((__pyx_t_5 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 87, __pyx_L1_error) __pyx_v_self->_n = __pyx_t_5; /* "crowdposetools/_mask.pyx":83 * cdef siz _n * * def __cinit__(self, h, w, n): # <<<<<<<<<<<<<< * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("crowdposetools._mask.Masks.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":93 * * # called when passing into np.array() and return an np.ndarray in column-major order * def __array__(self): # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = self._h*self._w*self._n */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_5Masks_3__array__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_14crowdposetools_5_mask_5Masks_3__array__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__array__ (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_5Masks_2__array__(((struct __pyx_obj_14crowdposetools_5_mask_Masks *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_5Masks_2__array__(struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self) { npy_intp __pyx_v_shape[1]; PyObject *__pyx_v_ndarray = NULL; 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; __Pyx_RefNannySetupContext("__array__", 0); /* "crowdposetools/_mask.pyx":95 * def __array__(self): * cdef np.npy_intp shape[1] * shape[0] = self._h*self._w*self._n # <<<<<<<<<<<<<< * # Create a 1D array, and reshape it to fortran/Matlab column-major array * ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') */ (__pyx_v_shape[0]) = ((((npy_intp)__pyx_v_self->_h) * __pyx_v_self->_w) * __pyx_v_self->_n); /* "crowdposetools/_mask.pyx":97 * shape[0] = self._h*self._w*self._n * # Create a 1D array, and reshape it to fortran/Matlab column-major array * ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') # <<<<<<<<<<<<<< * # The _mask allocated by Masks is now handled by ndarray * PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) */ __pyx_t_1 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_UINT8, __pyx_v_self->_mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_reshape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_self->_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_From_siz(__pyx_v_self->_w); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_siz(__pyx_v_self->_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_order, __pyx_n_s_F) < 0) __PYX_ERR(0, 97, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_ndarray = __pyx_t_3; __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":99 * ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') * # The _mask allocated by Masks is now handled by ndarray * PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * return ndarray * */ if (!(likely(((__pyx_v_ndarray) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_ndarray, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 99, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_ndarray), NPY_OWNDATA); /* "crowdposetools/_mask.pyx":100 * # The _mask allocated by Masks is now handled by ndarray * PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) * return ndarray # <<<<<<<<<<<<<< * * # internal conversion from Python RLEs object to compressed RLE format */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ndarray); __pyx_r = __pyx_v_ndarray; goto __pyx_L0; /* "crowdposetools/_mask.pyx":93 * * # called when passing into np.array() and return an np.ndarray in column-major order * def __array__(self): # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = self._h*self._w*self._n */ /* 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); __Pyx_AddTraceback("crowdposetools._mask.Masks.__array__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ndarray); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_5Masks_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_14crowdposetools_5_mask_5Masks_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_5Masks_4__reduce_cython__(((struct __pyx_obj_14crowdposetools_5_mask_Masks *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_5Masks_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__reduce_cython__", 0); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("crowdposetools._mask.Masks.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_5Masks_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ static PyObject *__pyx_pw_14crowdposetools_5_mask_5Masks_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_5Masks_6__setstate_cython__(((struct __pyx_obj_14crowdposetools_5_mask_Masks *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_5Masks_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__setstate_cython__", 0); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 4, __pyx_L1_error) /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("crowdposetools._mask.Masks.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_1_toString(PyObject *__pyx_self, PyObject *__pyx_v_Rs); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_1_toString = {"_toString", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_1_toString, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_1_toString(PyObject *__pyx_self, PyObject *__pyx_v_Rs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_toString (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Rs), __pyx_ptype_14crowdposetools_5_mask_RLEs, 1, "Rs", 0))) __PYX_ERR(0, 103, __pyx_L1_error) __pyx_r = __pyx_pf_14crowdposetools_5_mask__toString(__pyx_self, ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_v_Rs)); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask__toString(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs) { siz __pyx_v_n; PyObject *__pyx_v_py_string = 0; char *__pyx_v_c_string; PyObject *__pyx_v_objs = NULL; siz __pyx_v_i; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; siz __pyx_t_2; siz __pyx_t_3; siz __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; __Pyx_RefNannySetupContext("_toString", 0); /* "crowdposetools/_mask.pyx":104 * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): * cdef siz n = Rs.n # <<<<<<<<<<<<<< * cdef bytes py_string * cdef char* c_string */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_Rs), __pyx_n_s_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_siz(__pyx_t_1); if (unlikely((__pyx_t_2 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_2; /* "crowdposetools/_mask.pyx":107 * cdef bytes py_string * cdef char* c_string * objs = [] # <<<<<<<<<<<<<< * for i in range(n): * c_string = rleToString( &Rs._R[i] ) */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_objs = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":108 * cdef char* c_string * objs = [] * for i in range(n): # <<<<<<<<<<<<<< * c_string = rleToString( &Rs._R[i] ) * py_string = c_string */ __pyx_t_2 = __pyx_v_n; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i = __pyx_t_4; /* "crowdposetools/_mask.pyx":109 * objs = [] * for i in range(n): * c_string = rleToString( &Rs._R[i] ) # <<<<<<<<<<<<<< * py_string = c_string * objs.append({ */ __pyx_v_c_string = rleToString(((RLE *)(&(__pyx_v_Rs->_R[__pyx_v_i])))); /* "crowdposetools/_mask.pyx":110 * for i in range(n): * c_string = rleToString( &Rs._R[i] ) * py_string = c_string # <<<<<<<<<<<<<< * objs.append({ * 'size': [Rs._R[i].h, Rs._R[i].w], */ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_c_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_py_string, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":112 * py_string = c_string * objs.append({ * 'size': [Rs._R[i].h, Rs._R[i].w], # <<<<<<<<<<<<<< * 'counts': py_string * }) */ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_From_siz((__pyx_v_Rs->_R[__pyx_v_i]).h); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_siz((__pyx_v_Rs->_R[__pyx_v_i]).w); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_size, __pyx_t_7) < 0) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "crowdposetools/_mask.pyx":113 * objs.append({ * 'size': [Rs._R[i].h, Rs._R[i].w], * 'counts': py_string # <<<<<<<<<<<<<< * }) * free(c_string) */ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_counts, __pyx_v_py_string) < 0) __PYX_ERR(0, 112, __pyx_L1_error) /* "crowdposetools/_mask.pyx":111 * c_string = rleToString( &Rs._R[i] ) * py_string = c_string * objs.append({ # <<<<<<<<<<<<<< * 'size': [Rs._R[i].h, Rs._R[i].w], * 'counts': py_string */ __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_objs, __pyx_t_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":115 * 'counts': py_string * }) * free(c_string) # <<<<<<<<<<<<<< * return objs * */ free(__pyx_v_c_string); } /* "crowdposetools/_mask.pyx":116 * }) * free(c_string) * return objs # <<<<<<<<<<<<<< * * # internal conversion from compressed RLE format to Python RLEs object */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("crowdposetools._mask._toString", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_py_string); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_3_frString(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_3_frString = {"_frString", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_3_frString, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_3_frString(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_frString (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_2_frString(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_2_frString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { siz __pyx_v_n; struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = NULL; PyObject *__pyx_v_py_string = 0; char *__pyx_v_c_string; PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_obj = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *__pyx_t_11 = NULL; char *__pyx_t_12; Py_ssize_t __pyx_t_13; siz __pyx_t_14; siz __pyx_t_15; __Pyx_RefNannySetupContext("_frString", 0); /* "crowdposetools/_mask.pyx":120 * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): * cdef siz n = len(rleObjs) # <<<<<<<<<<<<<< * Rs = RLEs(n) * cdef bytes py_string */ __pyx_t_1 = PyObject_Length(__pyx_v_rleObjs); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 120, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "crowdposetools/_mask.pyx":121 * def _frString(rleObjs): * cdef siz n = len(rleObjs) * Rs = RLEs(n) # <<<<<<<<<<<<<< * cdef bytes py_string * cdef char* c_string */ __pyx_t_2 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_3); __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":124 * cdef bytes py_string * cdef char* c_string * for i, obj in enumerate(rleObjs): # <<<<<<<<<<<<<< * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') */ __Pyx_INCREF(__pyx_int_0); __pyx_t_3 = __pyx_int_0; if (likely(PyList_CheckExact(__pyx_v_rleObjs)) || PyTuple_CheckExact(__pyx_v_rleObjs)) { __pyx_t_2 = __pyx_v_rleObjs; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = 0; __pyx_t_4 = NULL; } else { __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_rleObjs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 124, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 124, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 124, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_5; __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":125 * cdef char* c_string * for i, obj in enumerate(rleObjs): * if PYTHON_VERSION == 2: # <<<<<<<<<<<<<< * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: */ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTHON_VERSION); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { /* "crowdposetools/_mask.pyx":126 * for i, obj in enumerate(rleObjs): * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') # <<<<<<<<<<<<<< * elif PYTHON_VERSION == 3: * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] */ __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_encode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(PyBytes_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_5)->tp_name), 0))) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_py_string, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":125 * cdef char* c_string * for i, obj in enumerate(rleObjs): * if PYTHON_VERSION == 2: # <<<<<<<<<<<<<< * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: */ goto __pyx_L5; } /* "crowdposetools/_mask.pyx":127 * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: # <<<<<<<<<<<<<< * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: */ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_PYTHON_VERSION); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (likely(__pyx_t_7)) { /* "crowdposetools/_mask.pyx":128 * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] # <<<<<<<<<<<<<< * else: * raise Exception('Python version must be 2 or 3') */ __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_t_5)), ((PyObject *)(&PyString_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyString_Type)), __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (!__pyx_t_10) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_8); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_9}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_9}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL; __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_11, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(PyBytes_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 128, __pyx_L1_error) __pyx_t_6 = __pyx_t_8; __pyx_t_8 = 0; } else { __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (!(likely(PyBytes_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 128, __pyx_L1_error) __pyx_t_6 = __pyx_t_8; __pyx_t_8 = 0; } __Pyx_XDECREF_SET(__pyx_v_py_string, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0; /* "crowdposetools/_mask.pyx":127 * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: # <<<<<<<<<<<<<< * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: */ goto __pyx_L5; } /* "crowdposetools/_mask.pyx":130 * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: * raise Exception('Python version must be 2 or 3') # <<<<<<<<<<<<<< * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) */ /*else*/ { __pyx_t_6 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_Raise(__pyx_t_6, 0, 0, 0); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __PYX_ERR(0, 130, __pyx_L1_error) } __pyx_L5:; /* "crowdposetools/_mask.pyx":131 * else: * raise Exception('Python version must be 2 or 3') * c_string = py_string # <<<<<<<<<<<<<< * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) * return Rs */ if (unlikely(__pyx_v_py_string == Py_None)) { PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found"); __PYX_ERR(0, 131, __pyx_L1_error) } __pyx_t_12 = __Pyx_PyBytes_AsWritableString(__pyx_v_py_string); if (unlikely((!__pyx_t_12) && PyErr_Occurred())) __PYX_ERR(0, 131, __pyx_L1_error) __pyx_v_c_string = __pyx_t_12; /* "crowdposetools/_mask.pyx":132 * raise Exception('Python version must be 2 or 3') * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) # <<<<<<<<<<<<<< * return Rs * */ __pyx_t_13 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_13 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 132, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_14 = __Pyx_PyInt_As_siz(__pyx_t_8); if (unlikely((__pyx_t_14 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_size); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_8, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_15 = __Pyx_PyInt_As_siz(__pyx_t_6); if (unlikely((__pyx_t_15 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; rleFrString(((RLE *)(&(__pyx_v_Rs->_R[__pyx_t_13]))), ((char *)__pyx_v_c_string), __pyx_t_14, __pyx_t_15); /* "crowdposetools/_mask.pyx":124 * cdef bytes py_string * cdef char* c_string * for i, obj in enumerate(rleObjs): # <<<<<<<<<<<<<< * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":133 * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) * return Rs # <<<<<<<<<<<<<< * * # encode mask to RLEs objects */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_Rs)); __pyx_r = ((PyObject *)__pyx_v_Rs); goto __pyx_L0; /* "crowdposetools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_AddTraceback("crowdposetools._mask._frString", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_py_string); __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_5encode(PyObject *__pyx_self, PyObject *__pyx_v_mask); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_5encode = {"encode", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_5encode, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_5encode(PyObject *__pyx_self, PyObject *__pyx_v_mask) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("encode (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) __PYX_ERR(0, 137, __pyx_L1_error) __pyx_r = __pyx_pf_14crowdposetools_5_mask_4encode(__pyx_self, ((PyArrayObject *)__pyx_v_mask)); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_4encode(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_mask) { npy_intp __pyx_v_h; npy_intp __pyx_v_w; npy_intp __pyx_v_n; struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = 0; PyObject *__pyx_v_objs = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_mask; __Pyx_Buffer __pyx_pybuffer_mask; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations npy_intp __pyx_t_1; npy_intp __pyx_t_2; npy_intp __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("encode", 0); __pyx_pybuffer_mask.pybuffer.buf = NULL; __pyx_pybuffer_mask.refcount = 0; __pyx_pybuffernd_mask.data = NULL; __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_F_CONTIGUOUS, 3, 0, __pyx_stack) == -1)) __PYX_ERR(0, 137, __pyx_L1_error) } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_mask.diminfo[1].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_mask.diminfo[1].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_mask.diminfo[2].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_mask.diminfo[2].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[2]; /* "crowdposetools/_mask.pyx":138 * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] # <<<<<<<<<<<<<< * cdef RLEs Rs = RLEs(n) * rleEncode(Rs._R,mask.data,h,w,n) */ __pyx_t_1 = (__pyx_v_mask->dimensions[0]); __pyx_t_2 = (__pyx_v_mask->dimensions[1]); __pyx_t_3 = (__pyx_v_mask->dimensions[2]); __pyx_v_h = __pyx_t_1; __pyx_v_w = __pyx_t_2; __pyx_v_n = __pyx_t_3; /* "crowdposetools/_mask.pyx":139 * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) # <<<<<<<<<<<<<< * rleEncode(Rs._R,mask.data,h,w,n) * objs = _toString(Rs) */ __pyx_t_4 = __Pyx_PyInt_From_Py_intptr_t(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_5); __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":140 * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) * rleEncode(Rs._R,mask.data,h,w,n) # <<<<<<<<<<<<<< * objs = _toString(Rs) * return objs */ rleEncode(__pyx_v_Rs->_R, ((byte *)__pyx_v_mask->data), __pyx_v_h, __pyx_v_w, __pyx_v_n); /* "crowdposetools/_mask.pyx":141 * cdef RLEs Rs = RLEs(n) * rleEncode(Rs._R,mask.data,h,w,n) * objs = _toString(Rs) # <<<<<<<<<<<<<< * return objs * */ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_toString); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_6) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_Rs)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_6, ((PyObject *)__pyx_v_Rs)}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_6, ((PyObject *)__pyx_v_Rs)}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_Rs)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rs)); PyTuple_SET_ITEM(__pyx_t_7, 0+1, ((PyObject *)__pyx_v_Rs)); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_objs = __pyx_t_5; __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":142 * rleEncode(Rs._R,mask.data,h,w,n) * objs = _toString(Rs) * return objs # <<<<<<<<<<<<<< * * # decode mask from compressed list of RLE string or RLEs object */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); { 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_mask.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("crowdposetools._mask.encode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_mask.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_7decode(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_7decode = {"decode", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_7decode, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_7decode(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("decode (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_6decode(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_6decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = 0; siz __pyx_v_h; siz __pyx_v_w; siz __pyx_v_n; struct __pyx_obj_14crowdposetools_5_mask_Masks *__pyx_v_masks = NULL; 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; siz __pyx_t_5; siz __pyx_t_6; siz __pyx_t_7; __Pyx_RefNannySetupContext("decode", 0); /* "crowdposetools/_mask.pyx":146 * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n * masks = Masks(h, w, n) */ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 146, __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 = NULL; __Pyx_INCREF(__pyx_v_rleObjs); __Pyx_GIVEREF(__pyx_v_rleObjs); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_rleObjs); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_14crowdposetools_5_mask_RLEs))))) __PYX_ERR(0, 146, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":147 * def decode(rleObjs): * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n # <<<<<<<<<<<<<< * masks = Masks(h, w, n) * rleDecode(Rs._R, masks._mask, n); */ __pyx_t_5 = (__pyx_v_Rs->_R[0]).h; __pyx_t_6 = (__pyx_v_Rs->_R[0]).w; __pyx_t_7 = __pyx_v_Rs->_n; __pyx_v_h = __pyx_t_5; __pyx_v_w = __pyx_t_6; __pyx_v_n = __pyx_t_7; /* "crowdposetools/_mask.pyx":148 * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n * masks = Masks(h, w, n) # <<<<<<<<<<<<<< * rleDecode(Rs._R, masks._mask, n); * return np.array(masks) */ __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_siz(__pyx_v_w); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14crowdposetools_5_mask_Masks), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_masks = ((struct __pyx_obj_14crowdposetools_5_mask_Masks *)__pyx_t_4); __pyx_t_4 = 0; /* "crowdposetools/_mask.pyx":149 * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n * masks = Masks(h, w, n) * rleDecode(Rs._R, masks._mask, n); # <<<<<<<<<<<<<< * return np.array(masks) * */ rleDecode(((RLE *)__pyx_v_Rs->_R), __pyx_v_masks->_mask, __pyx_v_n); /* "crowdposetools/_mask.pyx":150 * masks = Masks(h, w, n) * rleDecode(Rs._R, masks._mask, n); * return np.array(masks) # <<<<<<<<<<<<<< * * def merge(rleObjs, intersect=0): */ __Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __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 && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_masks)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_masks)}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_masks)}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_1 = PyTuple_New(1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_masks)); __Pyx_GIVEREF(((PyObject *)__pyx_v_masks)); PyTuple_SET_ITEM(__pyx_t_1, 0+1, ((PyObject *)__pyx_v_masks)); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; /* "crowdposetools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ /* 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_AddTraceback("crowdposetools._mask.decode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF((PyObject *)__pyx_v_masks); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_9merge(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_9merge = {"merge", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_9merge, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_9merge(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_rleObjs = 0; PyObject *__pyx_v_intersect = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("merge (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rleObjs,&__pyx_n_s_intersect,0}; PyObject* values[2] = {0,0}; values[1] = ((PyObject *)__pyx_int_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_rleObjs)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_intersect); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "merge") < 0)) __PYX_ERR(0, 152, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_rleObjs = values[0]; __pyx_v_intersect = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("merge", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 152, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.merge", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_14crowdposetools_5_mask_8merge(__pyx_self, __pyx_v_rleObjs, __pyx_v_intersect); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_8merge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs, PyObject *__pyx_v_intersect) { struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = 0; struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_R = 0; PyObject *__pyx_v_obj = NULL; 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; int __pyx_t_5; __Pyx_RefNannySetupContext("merge", 0); /* "crowdposetools/_mask.pyx":153 * * def merge(rleObjs, intersect=0): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * cdef RLEs R = RLEs(1) * rleMerge(Rs._R, R._R, Rs._n, intersect) */ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 153, __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 = NULL; __Pyx_INCREF(__pyx_v_rleObjs); __Pyx_GIVEREF(__pyx_v_rleObjs); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_rleObjs); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_14crowdposetools_5_mask_RLEs))))) __PYX_ERR(0, 153, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":154 * def merge(rleObjs, intersect=0): * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) # <<<<<<<<<<<<<< * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] */ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_R = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":155 * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) * rleMerge(Rs._R, R._R, Rs._n, intersect) # <<<<<<<<<<<<<< * obj = _toString(R)[0] * return obj */ __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_v_intersect); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L1_error) rleMerge(((RLE *)__pyx_v_Rs->_R), ((RLE *)__pyx_v_R->_R), ((siz)__pyx_v_Rs->_n), __pyx_t_5); /* "crowdposetools/_mask.pyx":156 * cdef RLEs R = RLEs(1) * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] # <<<<<<<<<<<<<< * return obj * */ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_toString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_4) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_R)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_R)}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_R)}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_R)); __Pyx_GIVEREF(((PyObject *)__pyx_v_R)); PyTuple_SET_ITEM(__pyx_t_3, 0+1, ((PyObject *)__pyx_v_R)); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_obj = __pyx_t_2; __pyx_t_2 = 0; /* "crowdposetools/_mask.pyx":157 * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] * return obj # <<<<<<<<<<<<<< * * def area(rleObjs): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_obj); __pyx_r = __pyx_v_obj; goto __pyx_L0; /* "crowdposetools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ /* 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_AddTraceback("crowdposetools._mask.merge", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF((PyObject *)__pyx_v_R); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_11area(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_11area = {"area", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_11area, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_11area(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("area (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_10area(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_10area(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = 0; uint *__pyx_v__a; npy_intp __pyx_v_shape[1]; PyObject *__pyx_v_a = NULL; 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; __Pyx_RefNannySetupContext("area", 0); /* "crowdposetools/_mask.pyx":160 * * def area(rleObjs): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * cdef uint* _a = malloc(Rs._n* sizeof(uint)) * rleArea(Rs._R, Rs._n, _a) */ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __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 = NULL; __Pyx_INCREF(__pyx_v_rleObjs); __Pyx_GIVEREF(__pyx_v_rleObjs); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_rleObjs); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_14crowdposetools_5_mask_RLEs))))) __PYX_ERR(0, 160, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":161 * def area(rleObjs): * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) # <<<<<<<<<<<<<< * rleArea(Rs._R, Rs._n, _a) * cdef np.npy_intp shape[1] */ __pyx_v__a = ((uint *)malloc((__pyx_v_Rs->_n * (sizeof(unsigned int))))); /* "crowdposetools/_mask.pyx":162 * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) * rleArea(Rs._R, Rs._n, _a) # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = Rs._n */ rleArea(__pyx_v_Rs->_R, __pyx_v_Rs->_n, __pyx_v__a); /* "crowdposetools/_mask.pyx":164 * rleArea(Rs._R, Rs._n, _a) * cdef np.npy_intp shape[1] * shape[0] = Rs._n # <<<<<<<<<<<<<< * a = np.array((Rs._n, ), dtype=np.uint8) * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) */ (__pyx_v_shape[0]) = ((npy_intp)__pyx_v_Rs->_n); /* "crowdposetools/_mask.pyx":165 * cdef np.npy_intp shape[1] * shape[0] = Rs._n * a = np.array((Rs._n, ), dtype=np.uint8) # <<<<<<<<<<<<<< * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_Rs->_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_uint8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_a = __pyx_t_5; __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":166 * shape[0] = Rs._n * a = np.array((Rs._n, ), dtype=np.uint8) * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) # <<<<<<<<<<<<<< * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) * return a */ __pyx_t_5 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_UINT32, __pyx_v__a); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_a, __pyx_t_5); __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":167 * a = np.array((Rs._n, ), dtype=np.uint8) * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * return a * */ if (!(likely(((__pyx_v_a) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_a, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 167, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_a), NPY_OWNDATA); /* "crowdposetools/_mask.pyx":168 * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) * return a # <<<<<<<<<<<<<< * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_a); __pyx_r = __pyx_v_a; goto __pyx_L0; /* "crowdposetools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ /* 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); __Pyx_AddTraceback("crowdposetools._mask.area", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_a); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_13iou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_13iou = {"iou", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_13iou, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_13iou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dt = 0; PyObject *__pyx_v_gt = 0; PyObject *__pyx_v_pyiscrowd = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("iou (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dt,&__pyx_n_s_gt,&__pyx_n_s_pyiscrowd,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_dt)) != 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_gt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("iou", 1, 3, 3, 1); __PYX_ERR(0, 171, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyiscrowd)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("iou", 1, 3, 3, 2); __PYX_ERR(0, 171, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iou") < 0)) __PYX_ERR(0, 171, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_dt = values[0]; __pyx_v_gt = values[1]; __pyx_v_pyiscrowd = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("iou", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 171, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.iou", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_14crowdposetools_5_mask_12iou(__pyx_self, __pyx_v_dt, __pyx_v_gt, __pyx_v_pyiscrowd); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_1_preproc(PyObject *__pyx_self, PyObject *__pyx_v_objs); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_3iou_1_preproc = {"_preproc", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_3iou_1_preproc, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_1_preproc(PyObject *__pyx_self, PyObject *__pyx_v_objs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_preproc (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_3iou__preproc(__pyx_self, ((PyObject *)__pyx_v_objs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou__preproc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objs) { PyObject *__pyx_v_isbox = NULL; PyObject *__pyx_v_isrle = NULL; PyObject *__pyx_v_obj = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; int __pyx_t_9; PyObject *__pyx_t_10 = NULL; PyObject *(*__pyx_t_11)(PyObject *); PyObject *__pyx_t_12 = NULL; Py_ssize_t __pyx_t_13; PyObject *__pyx_t_14 = NULL; __Pyx_RefNannySetupContext("_preproc", 0); __Pyx_INCREF(__pyx_v_objs); /* "crowdposetools/_mask.pyx":173 * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): * if len(objs) == 0: # <<<<<<<<<<<<<< * return objs * if type(objs) == np.ndarray: */ __pyx_t_1 = PyObject_Length(__pyx_v_objs); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 173, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_1 == 0) != 0); if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":174 * def _preproc(objs): * if len(objs) == 0: * return objs # <<<<<<<<<<<<<< * if type(objs) == np.ndarray: * if len(objs.shape) == 1: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":173 * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): * if len(objs) == 0: # <<<<<<<<<<<<<< * return objs * if type(objs) == np.ndarray: */ } /* "crowdposetools/_mask.pyx":175 * if len(objs) == 0: * return objs * if type(objs) == np.ndarray: # <<<<<<<<<<<<<< * if len(objs.shape) == 1: * objs = objs.reshape((objs[0], 1)) */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_objs)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":176 * return objs * if type(objs) == np.ndarray: * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = ((__pyx_t_1 == 1) != 0); if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":177 * if type(objs) == np.ndarray: * if len(objs.shape) == 1: * objs = objs.reshape((objs[0], 1)) # <<<<<<<<<<<<<< * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_objs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_int_1); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_5) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_6}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_6}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_3); __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":176 * return objs * if type(objs) == np.ndarray: * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox */ } /* "crowdposetools/_mask.pyx":179 * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: # <<<<<<<<<<<<<< * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = ((!((__pyx_t_1 == 2) != 0)) != 0); if (!__pyx_t_8) { } else { __pyx_t_2 = __pyx_t_8; goto __pyx_L7_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = ((!__pyx_t_8) != 0); __pyx_t_2 = __pyx_t_9; __pyx_L7_bool_binop_done:; if (unlikely(__pyx_t_2)) { /* "crowdposetools/_mask.pyx":180 * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') # <<<<<<<<<<<<<< * objs = objs.astype(np.double) * elif type(objs) == list: */ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __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(0, 180, __pyx_L1_error) /* "crowdposetools/_mask.pyx":179 * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: # <<<<<<<<<<<<<< * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) */ } /* "crowdposetools/_mask.pyx":181 * if not len(objs.shape) == 2 or not objs.shape[1] == 4: * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) # <<<<<<<<<<<<<< * elif type(objs) == list: * # check if list is in box format and convert it to np.ndarray */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_astype); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } if (!__pyx_t_7) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_6}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_3); __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":175 * if len(objs) == 0: * return objs * if type(objs) == np.ndarray: # <<<<<<<<<<<<<< * if len(objs.shape) == 1: * objs = objs.reshape((objs[0], 1)) */ goto __pyx_L4; } /* "crowdposetools/_mask.pyx":182 * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) * elif type(objs) == list: # <<<<<<<<<<<<<< * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_objs)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(__pyx_t_2)) { /* "crowdposetools/_mask.pyx":184 * elif type(objs) == list: * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) # <<<<<<<<<<<<<< * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: */ __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_all); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_v_objs)) || PyTuple_CheckExact(__pyx_v_objs)) { __pyx_t_10 = __pyx_v_objs; __Pyx_INCREF(__pyx_t_10); __pyx_t_1 = 0; __pyx_t_11 = NULL; } else { __pyx_t_1 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_objs); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 184, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 184, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 184, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 184, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_13 = PyObject_Length(__pyx_v_obj); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 184, __pyx_L1_error) __pyx_t_2 = (__pyx_t_13 == 4); if (__pyx_t_2) { } else { __pyx_t_14 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __pyx_t_14; __pyx_t_14 = 0; goto __pyx_L11_bool_binop_done; } __pyx_t_14 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 184, __pyx_L1_error) if (!__pyx_t_2) { __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else { __Pyx_INCREF(__pyx_t_14); __pyx_t_12 = __pyx_t_14; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L11_bool_binop_done; } __pyx_t_14 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_INCREF(__pyx_t_14); __pyx_t_12 = __pyx_t_14; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_L11_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(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); } } if (!__pyx_t_10) { __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_6}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_6}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL; __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } if (!__pyx_t_7) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_4}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_isbox = __pyx_t_3; __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":185 * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) * isrle = np.all(np.array([type(obj) == dict for obj in objs])) # <<<<<<<<<<<<<< * if isbox: * objs = np.array(objs, dtype=np.double) */ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_all); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_v_objs)) || PyTuple_CheckExact(__pyx_v_objs)) { __pyx_t_6 = __pyx_v_objs; __Pyx_INCREF(__pyx_t_6); __pyx_t_1 = 0; __pyx_t_11 = NULL; } else { __pyx_t_1 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_objs); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 185, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_t_10); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 185, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_6, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_t_10); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 185, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_6, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_11(__pyx_t_6); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 185, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)(&PyDict_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 185, __pyx_L1_error) if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_10))) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } if (!__pyx_t_6) { __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_5); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_t_4}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL; __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } if (!__pyx_t_7) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7); __pyx_t_7 = NULL; __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_isrle = __pyx_t_3; __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":186 * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: # <<<<<<<<<<<<<< * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: */ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_isbox); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 186, __pyx_L1_error) if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":187 * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: * objs = np.array(objs, dtype=np.double) # <<<<<<<<<<<<<< * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_objs); __Pyx_GIVEREF(__pyx_v_objs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_objs); __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_dtype, __pyx_t_7) < 0) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_3, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_7); __pyx_t_7 = 0; /* "crowdposetools/_mask.pyx":188 * if isbox: * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((1,objs.shape[0])) * elif isrle: */ __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_2 = ((__pyx_t_1 == 1) != 0); if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":189 * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) # <<<<<<<<<<<<<< * elif isrle: * objs = _frString(objs) */ __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_reshape); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } if (!__pyx_t_12) { __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_3}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_t_3}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_12); __pyx_t_12 = NULL; __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_5, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_7); __pyx_t_7 = 0; /* "crowdposetools/_mask.pyx":188 * if isbox: * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((1,objs.shape[0])) * elif isrle: */ } /* "crowdposetools/_mask.pyx":186 * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: # <<<<<<<<<<<<<< * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: */ goto __pyx_L16; } /* "crowdposetools/_mask.pyx":190 * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) * elif isrle: # <<<<<<<<<<<<<< * objs = _frString(objs) * else: */ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_isrle); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 190, __pyx_L1_error) if (likely(__pyx_t_2)) { /* "crowdposetools/_mask.pyx":191 * objs = objs.reshape((1,objs.shape[0])) * elif isrle: * objs = _frString(objs) # <<<<<<<<<<<<<< * else: * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') */ __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_frString); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } if (!__pyx_t_5) { __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_objs); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_objs}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_objs}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; __Pyx_INCREF(__pyx_v_objs); __Pyx_GIVEREF(__pyx_v_objs); PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_v_objs); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_7); __pyx_t_7 = 0; /* "crowdposetools/_mask.pyx":190 * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) * elif isrle: # <<<<<<<<<<<<<< * objs = _frString(objs) * else: */ goto __pyx_L16; } /* "crowdposetools/_mask.pyx":193 * objs = _frString(objs) * else: * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') # <<<<<<<<<<<<<< * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') */ /*else*/ { __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(0, 193, __pyx_L1_error) } __pyx_L16:; /* "crowdposetools/_mask.pyx":182 * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) * elif type(objs) == list: # <<<<<<<<<<<<<< * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) */ goto __pyx_L4; } /* "crowdposetools/_mask.pyx":195 * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') # <<<<<<<<<<<<<< * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ /*else*/ { __pyx_t_7 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(0, 195, __pyx_L1_error) } __pyx_L4:; /* "crowdposetools/_mask.pyx":196 * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs # <<<<<<<<<<<<<< * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_14); __Pyx_AddTraceback("crowdposetools._mask.iou._preproc", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_isbox); __Pyx_XDECREF(__pyx_v_isrle); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_3_rleIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_3iou_3_rleIou = {"_rleIou", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_3iou_3_rleIou, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_3_rleIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_dt = 0; struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_gt = 0; PyArrayObject *__pyx_v_iscrowd = 0; siz __pyx_v_m; siz __pyx_v_n; PyArrayObject *__pyx_v__iou = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_rleIou (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dt,&__pyx_n_s_gt,&__pyx_n_s_iscrowd,&__pyx_n_s_m,&__pyx_n_s_n,&__pyx_n_s_iou,0}; PyObject* values[6] = {0,0,0,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 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; 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_dt)) != 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_gt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 1); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iscrowd)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 2); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 3); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 4); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iou)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 5); __PYX_ERR(0, 197, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_rleIou") < 0)) __PYX_ERR(0, 197, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); } __pyx_v_dt = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)values[0]); __pyx_v_gt = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)values[1]); __pyx_v_iscrowd = ((PyArrayObject *)values[2]); __pyx_v_m = __Pyx_PyInt_As_siz(values[3]); if (unlikely((__pyx_v_m == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 197, __pyx_L3_error) __pyx_v_n = __Pyx_PyInt_As_siz(values[4]); if (unlikely((__pyx_v_n == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 197, __pyx_L3_error) __pyx_v__iou = ((PyArrayObject *)values[5]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 197, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.iou._rleIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dt), __pyx_ptype_14crowdposetools_5_mask_RLEs, 1, "dt", 0))) __PYX_ERR(0, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gt), __pyx_ptype_14crowdposetools_5_mask_RLEs, 1, "gt", 0))) __PYX_ERR(0, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_iscrowd), __pyx_ptype_5numpy_ndarray, 1, "iscrowd", 0))) __PYX_ERR(0, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v__iou), __pyx_ptype_5numpy_ndarray, 1, "_iou", 0))) __PYX_ERR(0, 197, __pyx_L1_error) __pyx_r = __pyx_pf_14crowdposetools_5_mask_3iou_2_rleIou(__pyx_self, __pyx_v_dt, __pyx_v_gt, __pyx_v_iscrowd, __pyx_v_m, __pyx_v_n, __pyx_v__iou); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou_2_rleIou(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_dt, struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou) { __Pyx_LocalBuf_ND __pyx_pybuffernd__iou; __Pyx_Buffer __pyx_pybuffer__iou; __Pyx_LocalBuf_ND __pyx_pybuffernd_iscrowd; __Pyx_Buffer __pyx_pybuffer_iscrowd; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_rleIou", 0); __pyx_pybuffer_iscrowd.pybuffer.buf = NULL; __pyx_pybuffer_iscrowd.refcount = 0; __pyx_pybuffernd_iscrowd.data = NULL; __pyx_pybuffernd_iscrowd.rcbuffer = &__pyx_pybuffer_iscrowd; __pyx_pybuffer__iou.pybuffer.buf = NULL; __pyx_pybuffer__iou.refcount = 0; __pyx_pybuffernd__iou.data = NULL; __pyx_pybuffernd__iou.rcbuffer = &__pyx_pybuffer__iou; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer, (PyObject*)__pyx_v_iscrowd, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 197, __pyx_L1_error) } __pyx_pybuffernd_iscrowd.diminfo[0].strides = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iscrowd.diminfo[0].shape = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd__iou.rcbuffer->pybuffer, (PyObject*)__pyx_v__iou, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 197, __pyx_L1_error) } __pyx_pybuffernd__iou.diminfo[0].strides = __pyx_pybuffernd__iou.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd__iou.diminfo[0].shape = __pyx_pybuffernd__iou.rcbuffer->pybuffer.shape[0]; /* "crowdposetools/_mask.pyx":198 * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) # <<<<<<<<<<<<<< * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) */ rleIou(((RLE *)__pyx_v_dt->_R), ((RLE *)__pyx_v_gt->_R), __pyx_v_m, __pyx_v_n, ((byte *)__pyx_v_iscrowd->data), ((double *)__pyx_v__iou->data)); /* "crowdposetools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; { 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__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("crowdposetools._mask.iou._rleIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_5_bbIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_3iou_5_bbIou = {"_bbIou", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_3iou_5_bbIou, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_5_bbIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_dt = 0; PyArrayObject *__pyx_v_gt = 0; PyArrayObject *__pyx_v_iscrowd = 0; siz __pyx_v_m; siz __pyx_v_n; PyArrayObject *__pyx_v__iou = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_bbIou (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dt,&__pyx_n_s_gt,&__pyx_n_s_iscrowd,&__pyx_n_s_m,&__pyx_n_s_n,&__pyx_n_s_iou,0}; PyObject* values[6] = {0,0,0,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 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; 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_dt)) != 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_gt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 1); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iscrowd)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 2); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 3); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 4); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iou)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 5); __PYX_ERR(0, 199, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_bbIou") < 0)) __PYX_ERR(0, 199, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); } __pyx_v_dt = ((PyArrayObject *)values[0]); __pyx_v_gt = ((PyArrayObject *)values[1]); __pyx_v_iscrowd = ((PyArrayObject *)values[2]); __pyx_v_m = __Pyx_PyInt_As_siz(values[3]); if (unlikely((__pyx_v_m == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 199, __pyx_L3_error) __pyx_v_n = __Pyx_PyInt_As_siz(values[4]); if (unlikely((__pyx_v_n == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 199, __pyx_L3_error) __pyx_v__iou = ((PyArrayObject *)values[5]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 199, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.iou._bbIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dt), __pyx_ptype_5numpy_ndarray, 1, "dt", 0))) __PYX_ERR(0, 199, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gt), __pyx_ptype_5numpy_ndarray, 1, "gt", 0))) __PYX_ERR(0, 199, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_iscrowd), __pyx_ptype_5numpy_ndarray, 1, "iscrowd", 0))) __PYX_ERR(0, 199, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v__iou), __pyx_ptype_5numpy_ndarray, 1, "_iou", 0))) __PYX_ERR(0, 199, __pyx_L1_error) __pyx_r = __pyx_pf_14crowdposetools_5_mask_3iou_4_bbIou(__pyx_self, __pyx_v_dt, __pyx_v_gt, __pyx_v_iscrowd, __pyx_v_m, __pyx_v_n, __pyx_v__iou); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou_4_bbIou(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dt, PyArrayObject *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou) { __Pyx_LocalBuf_ND __pyx_pybuffernd__iou; __Pyx_Buffer __pyx_pybuffer__iou; __Pyx_LocalBuf_ND __pyx_pybuffernd_dt; __Pyx_Buffer __pyx_pybuffer_dt; __Pyx_LocalBuf_ND __pyx_pybuffernd_gt; __Pyx_Buffer __pyx_pybuffer_gt; __Pyx_LocalBuf_ND __pyx_pybuffernd_iscrowd; __Pyx_Buffer __pyx_pybuffer_iscrowd; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_bbIou", 0); __pyx_pybuffer_dt.pybuffer.buf = NULL; __pyx_pybuffer_dt.refcount = 0; __pyx_pybuffernd_dt.data = NULL; __pyx_pybuffernd_dt.rcbuffer = &__pyx_pybuffer_dt; __pyx_pybuffer_gt.pybuffer.buf = NULL; __pyx_pybuffer_gt.refcount = 0; __pyx_pybuffernd_gt.data = NULL; __pyx_pybuffernd_gt.rcbuffer = &__pyx_pybuffer_gt; __pyx_pybuffer_iscrowd.pybuffer.buf = NULL; __pyx_pybuffer_iscrowd.refcount = 0; __pyx_pybuffernd_iscrowd.data = NULL; __pyx_pybuffernd_iscrowd.rcbuffer = &__pyx_pybuffer_iscrowd; __pyx_pybuffer__iou.pybuffer.buf = NULL; __pyx_pybuffer__iou.refcount = 0; __pyx_pybuffernd__iou.data = NULL; __pyx_pybuffernd__iou.rcbuffer = &__pyx_pybuffer__iou; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dt.rcbuffer->pybuffer, (PyObject*)__pyx_v_dt, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd_dt.diminfo[0].strides = __pyx_pybuffernd_dt.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dt.diminfo[0].shape = __pyx_pybuffernd_dt.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_dt.diminfo[1].strides = __pyx_pybuffernd_dt.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_dt.diminfo[1].shape = __pyx_pybuffernd_dt.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_gt.rcbuffer->pybuffer, (PyObject*)__pyx_v_gt, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd_gt.diminfo[0].strides = __pyx_pybuffernd_gt.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_gt.diminfo[0].shape = __pyx_pybuffernd_gt.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_gt.diminfo[1].strides = __pyx_pybuffernd_gt.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_gt.diminfo[1].shape = __pyx_pybuffernd_gt.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer, (PyObject*)__pyx_v_iscrowd, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd_iscrowd.diminfo[0].strides = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iscrowd.diminfo[0].shape = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd__iou.rcbuffer->pybuffer, (PyObject*)__pyx_v__iou, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd__iou.diminfo[0].strides = __pyx_pybuffernd__iou.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd__iou.diminfo[0].shape = __pyx_pybuffernd__iou.rcbuffer->pybuffer.shape[0]; /* "crowdposetools/_mask.pyx":200 * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) # <<<<<<<<<<<<<< * def _len(obj): * cdef siz N = 0 */ bbIou(((BB)__pyx_v_dt->data), ((BB)__pyx_v_gt->data), __pyx_v_m, __pyx_v_n, ((byte *)__pyx_v_iscrowd->data), ((double *)__pyx_v__iou->data)); /* "crowdposetools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; { 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__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_gt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("crowdposetools._mask.iou._bbIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_gt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_7_len(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_3iou_7_len = {"_len", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_3iou_7_len, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_3iou_7_len(PyObject *__pyx_self, PyObject *__pyx_v_obj) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_len (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_3iou_6_len(__pyx_self, ((PyObject *)__pyx_v_obj)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_3iou_6_len(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_obj) { siz __pyx_v_N; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; siz __pyx_t_3; Py_ssize_t __pyx_t_4; PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("_len", 0); /* "crowdposetools/_mask.pyx":202 * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): * cdef siz N = 0 # <<<<<<<<<<<<<< * if type(obj) == RLEs: * N = obj.n */ __pyx_v_N = 0; /* "crowdposetools/_mask.pyx":203 * def _len(obj): * cdef siz N = 0 * if type(obj) == RLEs: # <<<<<<<<<<<<<< * N = obj.n * elif len(obj)==0: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":204 * cdef siz N = 0 * if type(obj) == RLEs: * N = obj.n # <<<<<<<<<<<<<< * elif len(obj)==0: * pass */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_As_siz(__pyx_t_1); if (unlikely((__pyx_t_3 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_N = __pyx_t_3; /* "crowdposetools/_mask.pyx":203 * def _len(obj): * cdef siz N = 0 * if type(obj) == RLEs: # <<<<<<<<<<<<<< * N = obj.n * elif len(obj)==0: */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":205 * if type(obj) == RLEs: * N = obj.n * elif len(obj)==0: # <<<<<<<<<<<<<< * pass * elif type(obj) == np.ndarray: */ __pyx_t_4 = PyObject_Length(__pyx_v_obj); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 205, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_4 == 0) != 0); if (__pyx_t_2) { goto __pyx_L3; } /* "crowdposetools/_mask.pyx":207 * elif len(obj)==0: * pass * elif type(obj) == np.ndarray: # <<<<<<<<<<<<<< * N = obj.shape[0] * return N */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 207, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":208 * pass * elif type(obj) == np.ndarray: * N = obj.shape[0] # <<<<<<<<<<<<<< * return N * # convert iscrowd to numpy array */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyInt_As_siz(__pyx_t_5); if (unlikely((__pyx_t_3 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 208, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_N = __pyx_t_3; /* "crowdposetools/_mask.pyx":207 * elif len(obj)==0: * pass * elif type(obj) == np.ndarray: # <<<<<<<<<<<<<< * N = obj.shape[0] * return N */ } __pyx_L3:; /* "crowdposetools/_mask.pyx":209 * elif type(obj) == np.ndarray: * N = obj.shape[0] * return N # <<<<<<<<<<<<<< * # convert iscrowd to numpy array * cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyInt_From_siz(__pyx_v_N); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "crowdposetools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("crowdposetools._mask.iou._len", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ static PyObject *__pyx_pf_14crowdposetools_5_mask_12iou(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt, PyObject *__pyx_v_gt, PyObject *__pyx_v_pyiscrowd) { PyObject *__pyx_v__preproc = 0; PyObject *__pyx_v__rleIou = 0; PyObject *__pyx_v__bbIou = 0; PyObject *__pyx_v__len = 0; PyArrayObject *__pyx_v_iscrowd = 0; siz __pyx_v_m; siz __pyx_v_n; double *__pyx_v__iou; npy_intp __pyx_v_shape[1]; PyObject *__pyx_v__iouFun = NULL; PyObject *__pyx_v_iou = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_iscrowd; __Pyx_Buffer __pyx_pybuffer_iscrowd; 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; siz __pyx_t_7; int __pyx_t_8; int __pyx_t_9; int __pyx_t_10; PyObject *__pyx_t_11 = NULL; __Pyx_RefNannySetupContext("iou", 0); __Pyx_INCREF(__pyx_v_dt); __Pyx_INCREF(__pyx_v_gt); __pyx_pybuffer_iscrowd.pybuffer.buf = NULL; __pyx_pybuffer_iscrowd.refcount = 0; __pyx_pybuffernd_iscrowd.data = NULL; __pyx_pybuffernd_iscrowd.rcbuffer = &__pyx_pybuffer_iscrowd; /* "crowdposetools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_3iou_1_preproc, 0, __pyx_n_s_iou_locals__preproc, NULL, __pyx_n_s_crowdposetools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__preproc = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_3iou_3_rleIou, 0, __pyx_n_s_iou_locals__rleIou, NULL, __pyx_n_s_crowdposetools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__rleIou = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_3iou_5_bbIou, 0, __pyx_n_s_iou_locals__bbIou, NULL, __pyx_n_s_crowdposetools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__bbIou = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_3iou_7_len, 0, __pyx_n_s_iou_locals__len, NULL, __pyx_n_s_crowdposetools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__len = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":211 * return N * # convert iscrowd to numpy array * cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) # <<<<<<<<<<<<<< * # simple type checking * cdef siz m, n */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_pyiscrowd); __Pyx_GIVEREF(__pyx_v_pyiscrowd); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_pyiscrowd); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 211, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_iscrowd = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 211, __pyx_L1_error) } else {__pyx_pybuffernd_iscrowd.diminfo[0].strides = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iscrowd.diminfo[0].shape = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.shape[0]; } } __pyx_t_6 = 0; __pyx_v_iscrowd = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":214 * # simple type checking * cdef siz m, n * dt = _preproc(dt) # <<<<<<<<<<<<<< * gt = _preproc(gt) * m = _len(dt) */ __pyx_t_5 = __pyx_pf_14crowdposetools_5_mask_3iou__preproc(__pyx_v__preproc, __pyx_v_dt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_dt, __pyx_t_5); __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":215 * cdef siz m, n * dt = _preproc(dt) * gt = _preproc(gt) # <<<<<<<<<<<<<< * m = _len(dt) * n = _len(gt) */ __pyx_t_5 = __pyx_pf_14crowdposetools_5_mask_3iou__preproc(__pyx_v__preproc, __pyx_v_gt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_gt, __pyx_t_5); __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":216 * dt = _preproc(dt) * gt = _preproc(gt) * m = _len(dt) # <<<<<<<<<<<<<< * n = _len(gt) * if m == 0 or n == 0: */ __pyx_t_5 = __pyx_pf_14crowdposetools_5_mask_3iou_6_len(__pyx_v__len, __pyx_v_dt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyInt_As_siz(__pyx_t_5); if (unlikely((__pyx_t_7 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_m = __pyx_t_7; /* "crowdposetools/_mask.pyx":217 * gt = _preproc(gt) * m = _len(dt) * n = _len(gt) # <<<<<<<<<<<<<< * if m == 0 or n == 0: * return [] */ __pyx_t_5 = __pyx_pf_14crowdposetools_5_mask_3iou_6_len(__pyx_v__len, __pyx_v_gt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyInt_As_siz(__pyx_t_5); if (unlikely((__pyx_t_7 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_n = __pyx_t_7; /* "crowdposetools/_mask.pyx":218 * m = _len(dt) * n = _len(gt) * if m == 0 or n == 0: # <<<<<<<<<<<<<< * return [] * if not type(dt) == type(gt): */ __pyx_t_9 = ((__pyx_v_m == 0) != 0); if (!__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L4_bool_binop_done; } __pyx_t_9 = ((__pyx_v_n == 0) != 0); __pyx_t_8 = __pyx_t_9; __pyx_L4_bool_binop_done:; if (__pyx_t_8) { /* "crowdposetools/_mask.pyx":219 * n = _len(gt) * if m == 0 or n == 0: * return [] # <<<<<<<<<<<<<< * if not type(dt) == type(gt): * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "crowdposetools/_mask.pyx":218 * m = _len(dt) * n = _len(gt) * if m == 0 or n == 0: # <<<<<<<<<<<<<< * return [] * if not type(dt) == type(gt): */ } /* "crowdposetools/_mask.pyx":220 * if m == 0 or n == 0: * return [] * if not type(dt) == type(gt): # <<<<<<<<<<<<<< * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') * */ __pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_dt)), ((PyObject *)Py_TYPE(__pyx_v_gt)), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 220, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 220, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = ((!__pyx_t_8) != 0); if (unlikely(__pyx_t_9)) { /* "crowdposetools/_mask.pyx":221 * return [] * if not type(dt) == type(gt): * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') # <<<<<<<<<<<<<< * * # define local variables */ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(0, 221, __pyx_L1_error) /* "crowdposetools/_mask.pyx":220 * if m == 0 or n == 0: * return [] * if not type(dt) == type(gt): # <<<<<<<<<<<<<< * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') * */ } /* "crowdposetools/_mask.pyx":224 * * # define local variables * cdef double* _iou = 0 # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * # check type and assign iou function */ __pyx_v__iou = ((double *)0); /* "crowdposetools/_mask.pyx":227 * cdef np.npy_intp shape[1] * # check type and assign iou function * if type(dt) == RLEs: # <<<<<<<<<<<<<< * _iouFun = _rleIou * elif type(dt) == np.ndarray: */ __pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_dt)), ((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_9) { /* "crowdposetools/_mask.pyx":228 * # check type and assign iou function * if type(dt) == RLEs: * _iouFun = _rleIou # <<<<<<<<<<<<<< * elif type(dt) == np.ndarray: * _iouFun = _bbIou */ __Pyx_INCREF(__pyx_v__rleIou); __pyx_v__iouFun = __pyx_v__rleIou; /* "crowdposetools/_mask.pyx":227 * cdef np.npy_intp shape[1] * # check type and assign iou function * if type(dt) == RLEs: # <<<<<<<<<<<<<< * _iouFun = _rleIou * elif type(dt) == np.ndarray: */ goto __pyx_L7; } /* "crowdposetools/_mask.pyx":229 * if type(dt) == RLEs: * _iouFun = _rleIou * elif type(dt) == np.ndarray: # <<<<<<<<<<<<<< * _iouFun = _bbIou * else: */ __pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_dt)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(__pyx_t_9)) { /* "crowdposetools/_mask.pyx":230 * _iouFun = _rleIou * elif type(dt) == np.ndarray: * _iouFun = _bbIou # <<<<<<<<<<<<<< * else: * raise Exception('input data type not allowed.') */ __Pyx_INCREF(__pyx_v__bbIou); __pyx_v__iouFun = __pyx_v__bbIou; /* "crowdposetools/_mask.pyx":229 * if type(dt) == RLEs: * _iouFun = _rleIou * elif type(dt) == np.ndarray: # <<<<<<<<<<<<<< * _iouFun = _bbIou * else: */ goto __pyx_L7; } /* "crowdposetools/_mask.pyx":232 * _iouFun = _bbIou * else: * raise Exception('input data type not allowed.') # <<<<<<<<<<<<<< * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) */ /*else*/ { __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(0, 232, __pyx_L1_error) } __pyx_L7:; /* "crowdposetools/_mask.pyx":233 * else: * raise Exception('input data type not allowed.') * _iou = malloc(m*n* sizeof(double)) # <<<<<<<<<<<<<< * iou = np.zeros((m*n, ), dtype=np.double) * shape[0] = m*n */ __pyx_v__iou = ((double *)malloc(((__pyx_v_m * __pyx_v_n) * (sizeof(double))))); /* "crowdposetools/_mask.pyx":234 * raise Exception('input data type not allowed.') * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) # <<<<<<<<<<<<<< * shape[0] = m*n * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) */ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_siz((__pyx_v_m * __pyx_v_n)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_double); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_iou = __pyx_t_4; __pyx_t_4 = 0; /* "crowdposetools/_mask.pyx":235 * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) * shape[0] = m*n # <<<<<<<<<<<<<< * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) */ (__pyx_v_shape[0]) = (((npy_intp)__pyx_v_m) * __pyx_v_n); /* "crowdposetools/_mask.pyx":236 * iou = np.zeros((m*n, ), dtype=np.double) * shape[0] = m*n * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) # <<<<<<<<<<<<<< * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) * _iouFun(dt, gt, iscrowd, m, n, iou) */ __pyx_t_4 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_DOUBLE, __pyx_v__iou); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_iou, __pyx_t_4); __pyx_t_4 = 0; /* "crowdposetools/_mask.pyx":237 * shape[0] = m*n * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * _iouFun(dt, gt, iscrowd, m, n, iou) * return iou.reshape((m,n), order='F') */ if (!(likely(((__pyx_v_iou) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_iou, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 237, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_iou), NPY_OWNDATA); /* "crowdposetools/_mask.pyx":238 * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) * _iouFun(dt, gt, iscrowd, m, n, iou) # <<<<<<<<<<<<<< * return iou.reshape((m,n), order='F') * */ __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_m); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v__iouFun); __pyx_t_3 = __pyx_v__iouFun; __pyx_t_2 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(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_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_dt, __pyx_v_gt, ((PyObject *)__pyx_v_iscrowd), __pyx_t_1, __pyx_t_5, __pyx_v_iou}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_dt, __pyx_v_gt, ((PyObject *)__pyx_v_iscrowd), __pyx_t_1, __pyx_t_5, __pyx_v_iou}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_11 = PyTuple_New(6+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_dt); __Pyx_GIVEREF(__pyx_v_dt); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_v_dt); __Pyx_INCREF(__pyx_v_gt); __Pyx_GIVEREF(__pyx_v_gt); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_v_gt); __Pyx_INCREF(((PyObject *)__pyx_v_iscrowd)); __Pyx_GIVEREF(((PyObject *)__pyx_v_iscrowd)); PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_10, ((PyObject *)__pyx_v_iscrowd)); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_10, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 4+__pyx_t_10, __pyx_t_5); __Pyx_INCREF(__pyx_v_iou); __Pyx_GIVEREF(__pyx_v_iou); PyTuple_SET_ITEM(__pyx_t_11, 5+__pyx_t_10, __pyx_v_iou); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "crowdposetools/_mask.pyx":239 * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) * _iouFun(dt, gt, iscrowd, m, n, iou) * return iou.reshape((m,n), order='F') # <<<<<<<<<<<<<< * * def toBbox( rleObjs ): */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_iou, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_siz(__pyx_v_m); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11); __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_order, __pyx_n_s_F) < 0) __PYX_ERR(0, 239, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_11, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "crowdposetools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 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); __Pyx_XDECREF(__pyx_t_11); { 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_iscrowd.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("crowdposetools._mask.iou", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF(__pyx_v__preproc); __Pyx_XDECREF(__pyx_v__rleIou); __Pyx_XDECREF(__pyx_v__bbIou); __Pyx_XDECREF(__pyx_v__len); __Pyx_XDECREF((PyObject *)__pyx_v_iscrowd); __Pyx_XDECREF(__pyx_v__iouFun); __Pyx_XDECREF(__pyx_v_iou); __Pyx_XDECREF(__pyx_v_dt); __Pyx_XDECREF(__pyx_v_gt); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_15toBbox(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_15toBbox = {"toBbox", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_15toBbox, METH_O, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_15toBbox(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("toBbox (wrapper)", 0); __pyx_r = __pyx_pf_14crowdposetools_5_mask_14toBbox(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_14toBbox(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = 0; siz __pyx_v_n; BB __pyx_v__bb; npy_intp __pyx_v_shape[1]; PyObject *__pyx_v_bb = NULL; 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; siz __pyx_t_5; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("toBbox", 0); /* "crowdposetools/_mask.pyx":242 * * def toBbox( rleObjs ): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef BB _bb = malloc(4*n* sizeof(double)) */ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_3) { __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_3, __pyx_v_rleObjs}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 242, __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 = NULL; __Pyx_INCREF(__pyx_v_rleObjs); __Pyx_GIVEREF(__pyx_v_rleObjs); PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_rleObjs); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_14crowdposetools_5_mask_RLEs))))) __PYX_ERR(0, 242, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":243 * def toBbox( rleObjs ): * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n # <<<<<<<<<<<<<< * cdef BB _bb = malloc(4*n* sizeof(double)) * rleToBbox( Rs._R, _bb, n ) */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_Rs), __pyx_n_s_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_As_siz(__pyx_t_1); if (unlikely((__pyx_t_5 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_5; /* "crowdposetools/_mask.pyx":244 * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n * cdef BB _bb = malloc(4*n* sizeof(double)) # <<<<<<<<<<<<<< * rleToBbox( Rs._R, _bb, n ) * cdef np.npy_intp shape[1] */ __pyx_v__bb = ((BB)malloc(((4 * __pyx_v_n) * (sizeof(double))))); /* "crowdposetools/_mask.pyx":245 * cdef siz n = Rs.n * cdef BB _bb = malloc(4*n* sizeof(double)) * rleToBbox( Rs._R, _bb, n ) # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = 4*n */ rleToBbox(((RLE const *)__pyx_v_Rs->_R), __pyx_v__bb, __pyx_v_n); /* "crowdposetools/_mask.pyx":247 * rleToBbox( Rs._R, _bb, n ) * cdef np.npy_intp shape[1] * shape[0] = 4*n # <<<<<<<<<<<<<< * bb = np.array((1,4*n), dtype=np.double) * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) */ (__pyx_v_shape[0]) = (((npy_intp)4) * __pyx_v_n); /* "crowdposetools/_mask.pyx":248 * cdef np.npy_intp shape[1] * shape[0] = 4*n * bb = np.array((1,4*n), dtype=np.double) # <<<<<<<<<<<<<< * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_siz((4 * __pyx_v_n)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_bb = __pyx_t_6; __pyx_t_6 = 0; /* "crowdposetools/_mask.pyx":249 * shape[0] = 4*n * bb = np.array((1,4*n), dtype=np.double) * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) # <<<<<<<<<<<<<< * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) * return bb */ __pyx_t_4 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_DOUBLE, __pyx_v__bb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_reshape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __Pyx_INCREF(__pyx_int_4); __Pyx_GIVEREF(__pyx_int_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } if (!__pyx_t_4) { __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_6); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_2}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL; __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0+1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_bb, __pyx_t_6); __pyx_t_6 = 0; /* "crowdposetools/_mask.pyx":250 * bb = np.array((1,4*n), dtype=np.double) * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * return bb * */ if (!(likely(((__pyx_v_bb) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_bb, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 250, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_bb), NPY_OWNDATA); /* "crowdposetools/_mask.pyx":251 * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) * return bb # <<<<<<<<<<<<<< * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_bb); __pyx_r = __pyx_v_bb; goto __pyx_L0; /* "crowdposetools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ /* 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_6); __Pyx_AddTraceback("crowdposetools._mask.toBbox", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_bb); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_17frBbox(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_17frBbox = {"frBbox", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_17frBbox, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_17frBbox(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_bb = 0; siz __pyx_v_h; siz __pyx_v_w; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frBbox (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bb,&__pyx_n_s_h,&__pyx_n_s_w,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_bb)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frBbox", 1, 3, 3, 1); __PYX_ERR(0, 253, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frBbox", 1, 3, 3, 2); __PYX_ERR(0, 253, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frBbox") < 0)) __PYX_ERR(0, 253, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_bb = ((PyArrayObject *)values[0]); __pyx_v_h = __Pyx_PyInt_As_siz(values[1]); if (unlikely((__pyx_v_h == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 253, __pyx_L3_error) __pyx_v_w = __Pyx_PyInt_As_siz(values[2]); if (unlikely((__pyx_v_w == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 253, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frBbox", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 253, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.frBbox", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bb), __pyx_ptype_5numpy_ndarray, 1, "bb", 0))) __PYX_ERR(0, 253, __pyx_L1_error) __pyx_r = __pyx_pf_14crowdposetools_5_mask_16frBbox(__pyx_self, __pyx_v_bb, __pyx_v_h, __pyx_v_w); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_16frBbox(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_bb, siz __pyx_v_h, siz __pyx_v_w) { siz __pyx_v_n; struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = NULL; PyObject *__pyx_v_objs = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_bb; __Pyx_Buffer __pyx_pybuffer_bb; 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; __Pyx_RefNannySetupContext("frBbox", 0); __pyx_pybuffer_bb.pybuffer.buf = NULL; __pyx_pybuffer_bb.refcount = 0; __pyx_pybuffernd_bb.data = NULL; __pyx_pybuffernd_bb.rcbuffer = &__pyx_pybuffer_bb; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_bb.rcbuffer->pybuffer, (PyObject*)__pyx_v_bb, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 253, __pyx_L1_error) } __pyx_pybuffernd_bb.diminfo[0].strides = __pyx_pybuffernd_bb.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_bb.diminfo[0].shape = __pyx_pybuffernd_bb.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_bb.diminfo[1].strides = __pyx_pybuffernd_bb.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_bb.diminfo[1].shape = __pyx_pybuffernd_bb.rcbuffer->pybuffer.shape[1]; /* "crowdposetools/_mask.pyx":254 * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): * cdef siz n = bb.shape[0] # <<<<<<<<<<<<<< * Rs = RLEs(n) * rleFrBbox( Rs._R, bb.data, h, w, n ) */ __pyx_v_n = (__pyx_v_bb->dimensions[0]); /* "crowdposetools/_mask.pyx":255 * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): * cdef siz n = bb.shape[0] * Rs = RLEs(n) # <<<<<<<<<<<<<< * rleFrBbox( Rs._R, bb.data, h, w, n ) * objs = _toString(Rs) */ __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_2); __pyx_t_2 = 0; /* "crowdposetools/_mask.pyx":256 * cdef siz n = bb.shape[0] * Rs = RLEs(n) * rleFrBbox( Rs._R, bb.data, h, w, n ) # <<<<<<<<<<<<<< * objs = _toString(Rs) * return objs */ rleFrBbox(((RLE *)__pyx_v_Rs->_R), ((BB const )__pyx_v_bb->data), __pyx_v_h, __pyx_v_w, __pyx_v_n); /* "crowdposetools/_mask.pyx":257 * Rs = RLEs(n) * rleFrBbox( Rs._R, bb.data, h, w, n ) * objs = _toString(Rs) # <<<<<<<<<<<<<< * return objs * */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_toString); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(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_2 = __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_v_Rs)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_Rs)}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[2] = {__pyx_t_3, ((PyObject *)__pyx_v_Rs)}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 257, __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 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_Rs)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rs)); PyTuple_SET_ITEM(__pyx_t_4, 0+1, ((PyObject *)__pyx_v_Rs)); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_objs = __pyx_t_2; __pyx_t_2 = 0; /* "crowdposetools/_mask.pyx":258 * rleFrBbox( Rs._R, bb.data, h, w, n ) * objs = _toString(Rs) * return objs # <<<<<<<<<<<<<< * * def frPoly( poly, siz h, siz w ): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ /* 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); { 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_bb.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("crowdposetools._mask.frBbox", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_bb.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_19frPoly(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_19frPoly = {"frPoly", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_19frPoly, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_19frPoly(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_poly = 0; siz __pyx_v_h; siz __pyx_v_w; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frPoly (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_poly,&__pyx_n_s_h,&__pyx_n_s_w,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_poly)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPoly", 1, 3, 3, 1); __PYX_ERR(0, 260, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPoly", 1, 3, 3, 2); __PYX_ERR(0, 260, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frPoly") < 0)) __PYX_ERR(0, 260, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_poly = values[0]; __pyx_v_h = __Pyx_PyInt_As_siz(values[1]); if (unlikely((__pyx_v_h == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 260, __pyx_L3_error) __pyx_v_w = __Pyx_PyInt_As_siz(values[2]); if (unlikely((__pyx_v_w == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 260, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frPoly", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 260, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.frPoly", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_14crowdposetools_5_mask_18frPoly(__pyx_self, __pyx_v_poly, __pyx_v_h, __pyx_v_w); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_18frPoly(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_poly, siz __pyx_v_h, siz __pyx_v_w) { PyArrayObject *__pyx_v_np_poly = 0; Py_ssize_t __pyx_v_n; struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = NULL; PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_p = NULL; PyObject *__pyx_v_objs = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_np_poly; __Pyx_Buffer __pyx_pybuffer_np_poly; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyArrayObject *__pyx_t_10 = NULL; int __pyx_t_11; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; __Pyx_RefNannySetupContext("frPoly", 0); __pyx_pybuffer_np_poly.pybuffer.buf = NULL; __pyx_pybuffer_np_poly.refcount = 0; __pyx_pybuffernd_np_poly.data = NULL; __pyx_pybuffernd_np_poly.rcbuffer = &__pyx_pybuffer_np_poly; /* "crowdposetools/_mask.pyx":262 * def frPoly( poly, siz h, siz w ): * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) # <<<<<<<<<<<<<< * Rs = RLEs(n) * for i, p in enumerate(poly): */ __pyx_t_1 = PyObject_Length(__pyx_v_poly); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 262, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "crowdposetools/_mask.pyx":263 * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) * Rs = RLEs(n) # <<<<<<<<<<<<<< * for i, p in enumerate(poly): * np_poly = np.array(p, dtype=np.double, order='F') */ __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Rs = ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_3); __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":264 * n = len(poly) * Rs = RLEs(n) * for i, p in enumerate(poly): # <<<<<<<<<<<<<< * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) */ __Pyx_INCREF(__pyx_int_0); __pyx_t_3 = __pyx_int_0; if (likely(PyList_CheckExact(__pyx_v_poly)) || PyTuple_CheckExact(__pyx_v_poly)) { __pyx_t_2 = __pyx_v_poly; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = 0; __pyx_t_4 = NULL; } else { __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_poly); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 264, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 264, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 264, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 264, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_5; __pyx_t_5 = 0; /* "crowdposetools/_mask.pyx":265 * Rs = RLEs(n) * for i, p in enumerate(poly): * np_poly = np.array(p, dtype=np.double, order='F') # <<<<<<<<<<<<<< * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) * objs = _toString(Rs) */ __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_p); __Pyx_GIVEREF(__pyx_v_p); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_p); __pyx_t_7 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_order, __pyx_n_s_F) < 0) __PYX_ERR(0, 265, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 265, __pyx_L1_error) __pyx_t_10 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer); __pyx_t_11 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_11 < 0)) { PyErr_Fetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer, (PyObject*)__pyx_v_np_poly, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_12, __pyx_t_13, __pyx_t_14); } __pyx_t_12 = __pyx_t_13 = __pyx_t_14 = 0; } __pyx_pybuffernd_np_poly.diminfo[0].strides = __pyx_pybuffernd_np_poly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_np_poly.diminfo[0].shape = __pyx_pybuffernd_np_poly.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 265, __pyx_L1_error) } __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_np_poly, ((PyArrayObject *)__pyx_t_9)); __pyx_t_9 = 0; /* "crowdposetools/_mask.pyx":266 * for i, p in enumerate(poly): * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) # <<<<<<<<<<<<<< * objs = _toString(Rs) * return objs */ __pyx_t_15 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_15 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 266, __pyx_L1_error) __pyx_t_16 = PyObject_Length(__pyx_v_p); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 266, __pyx_L1_error) rleFrPoly(((RLE *)(&(__pyx_v_Rs->_R[__pyx_t_15]))), ((double const *)__pyx_v_np_poly->data), ((siz)__Pyx_div_Py_ssize_t(__pyx_t_16, 2)), __pyx_v_h, __pyx_v_w); /* "crowdposetools/_mask.pyx":264 * n = len(poly) * Rs = RLEs(n) * for i, p in enumerate(poly): # <<<<<<<<<<<<<< * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":267 * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) * objs = _toString(Rs) # <<<<<<<<<<<<<< * return objs * */ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_toString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } if (!__pyx_t_9) { __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_Rs)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_9, ((PyObject *)__pyx_v_Rs)}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[2] = {__pyx_t_9, ((PyObject *)__pyx_v_Rs)}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_9); __pyx_t_9 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_Rs)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rs)); PyTuple_SET_ITEM(__pyx_t_7, 0+1, ((PyObject *)__pyx_v_Rs)); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_objs = __pyx_t_3; __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":268 * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) * objs = _toString(Rs) * return objs # <<<<<<<<<<<<<< * * def frUncompressedRLE(ucRles, siz h, siz w): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); { 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_np_poly.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("crowdposetools._mask.frPoly", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_np_poly); __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_p); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_21frUncompressedRLE(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_21frUncompressedRLE = {"frUncompressedRLE", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_21frUncompressedRLE, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_21frUncompressedRLE(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_ucRles = 0; CYTHON_UNUSED siz __pyx_v_h; CYTHON_UNUSED siz __pyx_v_w; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frUncompressedRLE (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ucRles,&__pyx_n_s_h,&__pyx_n_s_w,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_ucRles)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frUncompressedRLE", 1, 3, 3, 1); __PYX_ERR(0, 270, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frUncompressedRLE", 1, 3, 3, 2); __PYX_ERR(0, 270, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frUncompressedRLE") < 0)) __PYX_ERR(0, 270, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_ucRles = values[0]; __pyx_v_h = __Pyx_PyInt_As_siz(values[1]); if (unlikely((__pyx_v_h == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 270, __pyx_L3_error) __pyx_v_w = __Pyx_PyInt_As_siz(values[2]); if (unlikely((__pyx_v_w == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 270, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frUncompressedRLE", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 270, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.frUncompressedRLE", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_14crowdposetools_5_mask_20frUncompressedRLE(__pyx_self, __pyx_v_ucRles, __pyx_v_h, __pyx_v_w); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_20frUncompressedRLE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ucRles, CYTHON_UNUSED siz __pyx_v_h, CYTHON_UNUSED siz __pyx_v_w) { PyArrayObject *__pyx_v_cnts = 0; RLE __pyx_v_R; uint *__pyx_v_data; Py_ssize_t __pyx_v_n; PyObject *__pyx_v_objs = NULL; Py_ssize_t __pyx_v_i; struct __pyx_obj_14crowdposetools_5_mask_RLEs *__pyx_v_Rs = NULL; Py_ssize_t __pyx_v_j; __Pyx_LocalBuf_ND __pyx_pybuffernd_cnts; __Pyx_Buffer __pyx_pybuffer_cnts; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyArrayObject *__pyx_t_9 = NULL; int __pyx_t_10; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; Py_ssize_t __pyx_t_14; Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; RLE __pyx_t_18; siz __pyx_t_19; int __pyx_t_20; __Pyx_RefNannySetupContext("frUncompressedRLE", 0); __pyx_pybuffer_cnts.pybuffer.buf = NULL; __pyx_pybuffer_cnts.refcount = 0; __pyx_pybuffernd_cnts.data = NULL; __pyx_pybuffernd_cnts.rcbuffer = &__pyx_pybuffer_cnts; /* "crowdposetools/_mask.pyx":274 * cdef RLE R * cdef uint *data * n = len(ucRles) # <<<<<<<<<<<<<< * objs = [] * for i in range(n): */ __pyx_t_1 = PyObject_Length(__pyx_v_ucRles); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 274, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "crowdposetools/_mask.pyx":275 * cdef uint *data * n = len(ucRles) * objs = [] # <<<<<<<<<<<<<< * for i in range(n): * Rs = RLEs(1) */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_objs = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; /* "crowdposetools/_mask.pyx":276 * n = len(ucRles) * objs = [] * for i in range(n): # <<<<<<<<<<<<<< * Rs = RLEs(1) * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) */ __pyx_t_1 = __pyx_v_n; __pyx_t_3 = __pyx_t_1; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i = __pyx_t_4; /* "crowdposetools/_mask.pyx":277 * objs = [] * for i in range(n): * Rs = RLEs(1) # <<<<<<<<<<<<<< * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) * # time for malloc can be saved here but it's fine */ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14crowdposetools_5_mask_RLEs), __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_Rs, ((struct __pyx_obj_14crowdposetools_5_mask_RLEs *)__pyx_t_2)); __pyx_t_2 = 0; /* "crowdposetools/_mask.pyx":278 * for i in range(n): * Rs = RLEs(1) * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) # <<<<<<<<<<<<<< * # time for malloc can be saved here but it's fine * data = malloc(len(cnts)* sizeof(uint)) */ __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ucRles, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_s_counts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uint32); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 278, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer, (PyObject*)__pyx_v_cnts, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_11, __pyx_t_12, __pyx_t_13); } __pyx_t_11 = __pyx_t_12 = __pyx_t_13 = 0; } __pyx_pybuffernd_cnts.diminfo[0].strides = __pyx_pybuffernd_cnts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_cnts.diminfo[0].shape = __pyx_pybuffernd_cnts.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 278, __pyx_L1_error) } __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_cnts, ((PyArrayObject *)__pyx_t_8)); __pyx_t_8 = 0; /* "crowdposetools/_mask.pyx":280 * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) * # time for malloc can be saved here but it's fine * data = malloc(len(cnts)* sizeof(uint)) # <<<<<<<<<<<<<< * for j in range(len(cnts)): * data[j] = cnts[j] */ __pyx_t_14 = PyObject_Length(((PyObject *)__pyx_v_cnts)); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 280, __pyx_L1_error) __pyx_v_data = ((uint *)malloc((__pyx_t_14 * (sizeof(unsigned int))))); /* "crowdposetools/_mask.pyx":281 * # time for malloc can be saved here but it's fine * data = malloc(len(cnts)* sizeof(uint)) * for j in range(len(cnts)): # <<<<<<<<<<<<<< * data[j] = cnts[j] * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) */ __pyx_t_14 = PyObject_Length(((PyObject *)__pyx_v_cnts)); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 281, __pyx_L1_error) __pyx_t_15 = __pyx_t_14; for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { __pyx_v_j = __pyx_t_16; /* "crowdposetools/_mask.pyx":282 * data = malloc(len(cnts)* sizeof(uint)) * for j in range(len(cnts)): * data[j] = cnts[j] # <<<<<<<<<<<<<< * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) * Rs._R[0] = R */ __pyx_t_17 = __pyx_v_j; __pyx_t_10 = -1; if (__pyx_t_17 < 0) { __pyx_t_17 += __pyx_pybuffernd_cnts.diminfo[0].shape; if (unlikely(__pyx_t_17 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_cnts.diminfo[0].shape)) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 282, __pyx_L1_error) } (__pyx_v_data[__pyx_v_j]) = ((uint)(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint32_t *, __pyx_pybuffernd_cnts.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_cnts.diminfo[0].strides))); } /* "crowdposetools/_mask.pyx":283 * for j in range(len(cnts)): * data[j] = cnts[j] * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) # <<<<<<<<<<<<<< * Rs._R[0] = R * objs.append(_toString(Rs)[0]) */ __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_ucRles, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_s_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_19 = __Pyx_PyInt_As_siz(__pyx_t_8); if (unlikely((__pyx_t_19 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_18.h = __pyx_t_19; __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_ucRles, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_s_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_6, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_19 = __Pyx_PyInt_As_siz(__pyx_t_8); if (unlikely((__pyx_t_19 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_18.w = __pyx_t_19; __pyx_t_14 = PyObject_Length(((PyObject *)__pyx_v_cnts)); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 283, __pyx_L1_error) __pyx_t_18.m = __pyx_t_14; __pyx_t_18.cnts = ((uint *)__pyx_v_data); __pyx_v_R = __pyx_t_18; /* "crowdposetools/_mask.pyx":284 * data[j] = cnts[j] * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) * Rs._R[0] = R # <<<<<<<<<<<<<< * objs.append(_toString(Rs)[0]) * return objs */ (__pyx_v_Rs->_R[0]) = __pyx_v_R; /* "crowdposetools/_mask.pyx":285 * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) * Rs._R[0] = R * objs.append(_toString(Rs)[0]) # <<<<<<<<<<<<<< * return objs * */ __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_toString); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } if (!__pyx_t_2) { __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_Rs)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); } else { #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_2, ((PyObject *)__pyx_v_Rs)}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[2] = {__pyx_t_2, ((PyObject *)__pyx_v_Rs)}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif { __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; __Pyx_INCREF(((PyObject *)__pyx_v_Rs)); __Pyx_GIVEREF(((PyObject *)__pyx_v_Rs)); PyTuple_SET_ITEM(__pyx_t_5, 0+1, ((PyObject *)__pyx_v_Rs)); __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_20 = __Pyx_PyList_Append(__pyx_v_objs, __pyx_t_6); if (unlikely(__pyx_t_20 == ((int)-1))) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } /* "crowdposetools/_mask.pyx":286 * Rs._R[0] = R * objs.append(_toString(Rs)[0]) * return objs # <<<<<<<<<<<<<< * * def frPyObjects(pyobj, h, w): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); { 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_cnts.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("crowdposetools._mask.frUncompressedRLE", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_cnts); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "crowdposetools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ /* Python wrapper */ static PyObject *__pyx_pw_14crowdposetools_5_mask_23frPyObjects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_14crowdposetools_5_mask_23frPyObjects = {"frPyObjects", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_23frPyObjects, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_14crowdposetools_5_mask_23frPyObjects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_pyobj = 0; PyObject *__pyx_v_h = 0; PyObject *__pyx_v_w = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frPyObjects (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyobj,&__pyx_n_s_h,&__pyx_n_s_w,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_pyobj)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPyObjects", 1, 3, 3, 1); __PYX_ERR(0, 288, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPyObjects", 1, 3, 3, 2); __PYX_ERR(0, 288, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frPyObjects") < 0)) __PYX_ERR(0, 288, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_pyobj = values[0]; __pyx_v_h = values[1]; __pyx_v_w = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frPyObjects", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 288, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("crowdposetools._mask.frPyObjects", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_14crowdposetools_5_mask_22frPyObjects(__pyx_self, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_14crowdposetools_5_mask_22frPyObjects(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pyobj, PyObject *__pyx_v_h, PyObject *__pyx_v_w) { PyObject *__pyx_v_objs = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; Py_ssize_t __pyx_t_8; int __pyx_t_9; PyObject *__pyx_t_10 = NULL; __Pyx_RefNannySetupContext("frPyObjects", 0); /* "crowdposetools/_mask.pyx":290 * def frPyObjects(pyobj, h, w): * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":291 * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: * objs = frBbox(pyobj, h, w) # <<<<<<<<<<<<<< * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_frBbox); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_w); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":290 * def frPyObjects(pyobj, h, w): * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":292 * if type(pyobj) == np.ndarray: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L4_bool_binop_done; } __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = ((__pyx_t_8 == 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":293 * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) # <<<<<<<<<<<<<< * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_frBbox); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_v_w); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":292 * if type(pyobj) == np.ndarray: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":294 * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: # <<<<<<<<<<<<<< * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L6_bool_binop_done; } __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = ((__pyx_t_8 > 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L6_bool_binop_done:; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":295 * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) # <<<<<<<<<<<<<< * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_frPoly); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_w); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":294 * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: # <<<<<<<<<<<<<< * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L8_bool_binop_done; } /* "crowdposetools/_mask.pyx":297 * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: # <<<<<<<<<<<<<< * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "crowdposetools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_t_1)), ((PyObject *)(&PyDict_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L8_bool_binop_done; } /* "crowdposetools/_mask.pyx":297 * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: # <<<<<<<<<<<<<< * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object */ __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_counts, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = (__pyx_t_7 != 0); if (__pyx_t_9) { } else { __pyx_t_2 = __pyx_t_9; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_size, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (__pyx_t_9 != 0); __pyx_t_2 = __pyx_t_7; __pyx_L8_bool_binop_done:; /* "crowdposetools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":298 * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) # <<<<<<<<<<<<<< * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_frUncompressedRLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_v_w); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_objs = __pyx_t_3; __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":300 * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: # <<<<<<<<<<<<<< * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 300, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L12_bool_binop_done; } __pyx_t_8 = PyObject_Length(__pyx_v_pyobj); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 300, __pyx_L1_error) __pyx_t_7 = ((__pyx_t_8 == 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L12_bool_binop_done:; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":301 * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: * objs = frBbox([pyobj], h, w)[0] # <<<<<<<<<<<<<< * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_frBbox); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_v_pyobj); __pyx_t_6 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_4, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_4, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_10 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_5, __pyx_v_w); __pyx_t_4 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":300 * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: # <<<<<<<<<<<<<< * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":302 * elif type(pyobj) == list and len(pyobj) == 4: * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: # <<<<<<<<<<<<<< * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 302, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 302, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L14_bool_binop_done; } __pyx_t_8 = PyObject_Length(__pyx_v_pyobj); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 302, __pyx_L1_error) __pyx_t_7 = ((__pyx_t_8 > 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L14_bool_binop_done:; if (__pyx_t_2) { /* "crowdposetools/_mask.pyx":303 * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] # <<<<<<<<<<<<<< * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: * objs = frUncompressedRLE([pyobj], h, w)[0] */ __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_frPoly); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_v_pyobj); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_t_10, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_t_10, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_w); __pyx_t_10 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_objs = __pyx_t_3; __pyx_t_3 = 0; /* "crowdposetools/_mask.pyx":302 * elif type(pyobj) == list and len(pyobj) == 4: * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: # <<<<<<<<<<<<<< * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":304 * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: # <<<<<<<<<<<<<< * objs = frUncompressedRLE([pyobj], h, w)[0] * else: */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyDict_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 304, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L16_bool_binop_done; } __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_counts, __pyx_v_pyobj, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __pyx_t_9 = (__pyx_t_7 != 0); if (__pyx_t_9) { } else { __pyx_t_2 = __pyx_t_9; goto __pyx_L16_bool_binop_done; } __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_size, __pyx_v_pyobj, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __pyx_t_7 = (__pyx_t_9 != 0); __pyx_t_2 = __pyx_t_7; __pyx_L16_bool_binop_done:; if (likely(__pyx_t_2)) { /* "crowdposetools/_mask.pyx":305 * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: * objs = frUncompressedRLE([pyobj], h, w)[0] # <<<<<<<<<<<<<< * else: * raise Exception('input type is not supported.') */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_frUncompressedRLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_pyobj); __pyx_t_10 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_6, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_6, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_v_w); __pyx_t_6 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":304 * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: # <<<<<<<<<<<<<< * objs = frUncompressedRLE([pyobj], h, w)[0] * else: */ goto __pyx_L3; } /* "crowdposetools/_mask.pyx":307 * objs = frUncompressedRLE([pyobj], h, w)[0] * else: * raise Exception('input type is not supported.') # <<<<<<<<<<<<<< * return objs */ /*else*/ { __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(0, 307, __pyx_L1_error) } __pyx_L3:; /* "crowdposetools/_mask.pyx":308 * else: * raise Exception('input type is not supported.') * return objs # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "crowdposetools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("crowdposetools._mask.frPyObjects", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":215 * # 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 fulfill 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_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_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; PyObject *__pyx_t_7 = NULL; char *__pyx_t_8; if (__pyx_v_info == NULL) { PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); return -1; } __Pyx_RefNannySetupContext("__getbuffer__", 0); __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); __Pyx_GIVEREF(__pyx_v_info->obj); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * cdef int i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * */ __pyx_v_endian_detector = 1; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":223 * cdef int 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":225 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":227 * ndim = PyArray_NDIM(self) * * 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_L4_bool_binop_done; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":228 * * 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_L4_bool_binop_done:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":227 * ndim = PyArray_NDIM(self) * * 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 (unlikely(__pyx_t_1)) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":229 * 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__23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 229, __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(2, 229, __pyx_L1_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":227 * ndim = PyArray_NDIM(self) * * 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") */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":231 * 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_L7_bool_binop_done; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":232 * * 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_L7_bool_binop_done:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":231 * 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 (unlikely(__pyx_t_1)) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":233 * 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__24, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 233, __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(2, 233, __pyx_L1_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":231 * 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") */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":235 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< * info.ndim = ndim * if sizeof(npy_intp) != sizeof(Py_ssize_t): */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":236 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< * if sizeof(npy_intp) != sizeof(Py_ssize_t): * # Allocate new buffer for strides and shape info. */ __pyx_v_info->ndim = __pyx_v_ndim; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":237 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. */ __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":240 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) # <<<<<<<<<<<<<< * info.shape = info.strides + ndim * for i in range(ndim): */ __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim)))); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":241 * # This is allocated as one block, strides first. * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":242 * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) * 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; __pyx_t_5 = __pyx_t_4; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i = __pyx_t_6; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":243 * 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]); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":244 * 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]); } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":237 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. */ goto __pyx_L9; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":246 * 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)); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":247 * 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_L9:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":248 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":249 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":250 * 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)); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":253 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< * cdef dtype descr = self.descr * cdef int offset */ __pyx_v_f = NULL; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":254 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":257 * cdef int offset * * info.obj = self # <<<<<<<<<<<<<< * * if not PyDataType_HASFIELDS(descr): */ __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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":259 * info.obj = self * * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or */ __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0); if (__pyx_t_1) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":260 * * if not PyDataType_HASFIELDS(descr): * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":261 * if not PyDataType_HASFIELDS(descr): * 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_L15_next_or; } else { } __pyx_t_2 = (__pyx_v_little_endian != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L14_bool_binop_done; } __pyx_L15_next_or:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":262 * 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_L14_bool_binop_done; } __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L14_bool_binop_done:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":261 * if not PyDataType_HASFIELDS(descr): * 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 (unlikely(__pyx_t_1)) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":263 * 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__25, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 263, __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(2, 263, __pyx_L1_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":261 * if not PyDataType_HASFIELDS(descr): * 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") */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":264 * (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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":265 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":266 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":267 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":268 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":269 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":270 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":271 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":272 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":273 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":274 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":275 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":276 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":277 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":278 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":279 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":280 * 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: /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":282 * 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(2, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(2, 282, __pyx_L1_error) break; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":283 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< * return * else: */ __pyx_v_info->format = __pyx_v_f; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":284 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< * else: * info.format = PyObject_Malloc(_buffer_format_string_len) */ __pyx_r = 0; goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":259 * info.obj = self * * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":286 * return * else: * info.format = PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 */ /*else*/ { __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF)); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":287 * else: * info.format = PyObject_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]) = '^'; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":288 * info.format = PyObject_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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":289 * 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_8 = __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_8 == ((char *)NULL))) __PYX_ERR(2, 289, __pyx_L1_error) __pyx_v_f = __pyx_t_8; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":292 * 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'; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":215 * # 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 fulfill the PEP. */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; if (__pyx_v_info->obj != NULL) { __Pyx_GOTREF(__pyx_v_info->obj); __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; } goto __pyx_L2; __pyx_L0:; if (__pyx_v_info->obj == Py_None) { __Pyx_GOTREF(__pyx_v_info->obj); __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; } __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_descr); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":294 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< * if PyArray_HASFIELDS(self): * PyObject_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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":295 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): */ __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":296 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) # <<<<<<<<<<<<<< * if sizeof(npy_intp) != sizeof(Py_ssize_t): * PyObject_Free(info.strides) */ PyObject_Free(__pyx_v_info->format); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":295 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":297 * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * PyObject_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) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":298 * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * PyObject_Free(info.strides) # <<<<<<<<<<<<<< * # info.shape was stored after info.strides in the same block * */ PyObject_Free(__pyx_v_info->strides); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":297 * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * PyObject_Free(info.strides) * # info.shape was stored after info.strides in the same block */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":294 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":775 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":776 * * 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(2, 776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":775 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":778 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":779 * * 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(2, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":778 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":781 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":782 * * 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(2, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":781 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":784 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":785 * * 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(2, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":784 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":787 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":788 * * 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(2, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":787 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":790 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":791 * * 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) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":792 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":791 * * cdef inline tuple PyDataType_SHAPE(dtype d): * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< * return d.subarray.shape * else: */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":794 * return d.subarray.shape * else: * return () # <<<<<<<<<<<<<< * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_empty_tuple); __pyx_r = __pyx_empty_tuple; goto __pyx_L0; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":790 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":796 * return () * * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":801 * * cdef dtype child * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * cdef tuple fields */ __pyx_v_endian_detector = 1; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":802 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":805 * 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(2, 805, __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_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __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(2, 805, __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(2, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":806 * * 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(2, 806, __pyx_L1_error) } __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 806, __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(2, 806, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":807 * 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; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(2, 807, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __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(2, 807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(2, 807, __pyx_L1_error) } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(2, 807, __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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":809 * 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(2, 809, __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(2, 809, __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(2, 809, __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 (unlikely(__pyx_t_6)) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":810 * * 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__26, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 810, __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(2, 810, __pyx_L1_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":809 * 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") * */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":812 * 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:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":813 * * 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:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":812 * 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 (unlikely(__pyx_t_6)) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":814 * 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__27, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 814, __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(2, 814, __pyx_L1_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":812 * 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") */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":824 * * # 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(2, 824, __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(2, 824, __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(2, 824, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":825 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< * f += 1 * offset[0] += 1 */ (__pyx_v_f[0]) = 0x78; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":826 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< * offset[0] += 1 * */ __pyx_v_f = (__pyx_v_f + 1); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":827 * 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); } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":829 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":831 * 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) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":832 * * 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(2, 832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":833 * 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 (unlikely(__pyx_t_6)) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":834 * 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__28, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 834, __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(2, 834, __pyx_L1_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":833 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< * raise RuntimeError(u"Format string allocated too short.") * */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":837 * * # 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(2, 837, __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(2, 837, __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(2, 837, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 98; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":838 * # 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(2, 838, __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(2, 838, __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(2, 838, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 66; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":839 * 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(2, 839, __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(2, 839, __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(2, 839, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x68; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":840 * 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(2, 840, __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(2, 840, __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(2, 840, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 72; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":841 * 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(2, 841, __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(2, 841, __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(2, 841, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x69; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":842 * 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(2, 842, __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(2, 842, __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(2, 842, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 73; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":843 * 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(2, 843, __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(2, 843, __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(2, 843, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x6C; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":844 * 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(2, 844, __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(2, 844, __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(2, 844, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 76; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":845 * 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(2, 845, __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(2, 845, __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(2, 845, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x71; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":846 * 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(2, 846, __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(2, 846, __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(2, 846, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 81; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":847 * 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(2, 847, __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(2, 847, __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(2, 847, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x66; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":848 * 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(2, 848, __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(2, 848, __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(2, 848, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x64; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":849 * 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(2, 849, __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(2, 849, __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(2, 849, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x67; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":850 * 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(2, 850, __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(2, 850, __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(2, 850, __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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":851 * 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(2, 851, __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(2, 851, __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(2, 851, __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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":852 * 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(2, 852, __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(2, 852, __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(2, 852, __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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":853 * 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(2, 853, __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(2, 853, __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(2, 853, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(__pyx_t_6)) { (__pyx_v_f[0]) = 79; goto __pyx_L15; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":855 * 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(2, 855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(2, 855, __pyx_L1_error) } __pyx_L15:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":856 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":831 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< * t = child.type_num * if end - f < 5: */ goto __pyx_L13; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":860 * # 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 == ((char *)NULL))) __PYX_ERR(2, 860, __pyx_L1_error) __pyx_v_f = __pyx_t_9; } __pyx_L13:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":805 * 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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":861 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< * * */ __pyx_r = __pyx_v_f; goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":796 * return () * * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":979 * 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) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":980 * cdef PyObject* baseptr * if base is None: * baseptr = NULL # <<<<<<<<<<<<<< * else: * Py_INCREF(base) # important to do this before decref below! */ __pyx_v_baseptr = NULL; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":979 * cdef inline void set_array_base(ndarray arr, object base): * cdef PyObject* baseptr * if base is None: # <<<<<<<<<<<<<< * baseptr = NULL * else: */ goto __pyx_L3; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":982 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":983 * 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:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":984 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":985 * baseptr = base * Py_XDECREF(arr.base) * arr.base = baseptr # <<<<<<<<<<<<<< * * cdef inline object get_array_base(ndarray arr): */ __pyx_v_arr->base = __pyx_v_baseptr; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":977 * * * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< * cdef PyObject* baseptr * if base is None: */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":987 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":988 * * 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) { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":989 * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: * return None # <<<<<<<<<<<<<< * else: * return arr.base */ __Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":988 * * cdef inline object get_array_base(ndarray arr): * if arr.base is NULL: # <<<<<<<<<<<<<< * return None * else: */ } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":991 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":987 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":996 * # Versions of the import_* functions which are more suitable for * # Cython code. * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< * try: * _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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":997 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< * _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:*/ { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":998 * cdef inline int import_array() except -1: * try: * _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(2, 998, __pyx_L3_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":997 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< * _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:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":999 * try: * _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(2, 999, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1000 * _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__29, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1000, __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(2, 1000, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":997 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< * _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:; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":996 * # Versions of the import_* functions which are more suitable for * # Cython code. * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< * try: * _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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1002 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1003 * * 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:*/ { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1004 * 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(2, 1004, __pyx_L3_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1003 * * 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:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1005 * 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(2, 1005, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1006 * _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__30, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1006, __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(2, 1006, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1003 * * 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:; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1002 * 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; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1008 * 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); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1009 * * 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:*/ { /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1010 * 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(2, 1010, __pyx_L3_error) /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1009 * * 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:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1011 * 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(2, 1011, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1012 * _import_umath() * except Exception: * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< */ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1012, __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(2, 1012, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1009 * * 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:; } /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1008 * 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; } static PyObject *__pyx_tp_new_14crowdposetools_5_mask_RLEs(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o; if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { o = (*t->tp_alloc)(t, 0); } else { o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); } if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_14crowdposetools_5_mask_4RLEs_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_14crowdposetools_5_mask_RLEs(PyObject *o) { #if CYTHON_USE_TP_FINALIZE if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_14crowdposetools_5_mask_4RLEs_3__dealloc__(o); --Py_REFCNT(o); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_tp_getattro_14crowdposetools_5_mask_RLEs(PyObject *o, PyObject *n) { PyObject *v = __Pyx_PyObject_GenericGetAttr(o, n); if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) { PyErr_Clear(); v = __pyx_pw_14crowdposetools_5_mask_4RLEs_5__getattr__(o, n); } return v; } static PyMethodDef __pyx_methods_14crowdposetools_5_mask_RLEs[] = { {"__getattr__", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_4RLEs_5__getattr__, METH_O|METH_COEXIST, 0}, {"__reduce_cython__", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_4RLEs_7__reduce_cython__, METH_NOARGS, 0}, {"__setstate_cython__", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_4RLEs_9__setstate_cython__, METH_O, 0}, {0, 0, 0, 0} }; static PyTypeObject __pyx_type_14crowdposetools_5_mask_RLEs = { PyVarObject_HEAD_INIT(0, 0) "crowdposetools._mask.RLEs", /*tp_name*/ sizeof(struct __pyx_obj_14crowdposetools_5_mask_RLEs), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_14crowdposetools_5_mask_RLEs, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ __pyx_tp_getattro_14crowdposetools_5_mask_RLEs, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ 0, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_14crowdposetools_5_mask_RLEs, /*tp_methods*/ 0, /*tp_members*/ 0, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ 0, /*tp_init*/ 0, /*tp_alloc*/ __pyx_tp_new_14crowdposetools_5_mask_RLEs, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ 0, /*tp_version_tag*/ #if PY_VERSION_HEX >= 0x030400a1 0, /*tp_finalize*/ #endif }; static PyObject *__pyx_tp_new_14crowdposetools_5_mask_Masks(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o; if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { o = (*t->tp_alloc)(t, 0); } else { o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); } if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_14crowdposetools_5_mask_5Masks_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_14crowdposetools_5_mask_Masks(PyObject *o) { #if CYTHON_USE_TP_FINALIZE if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif (*Py_TYPE(o)->tp_free)(o); } static PyMethodDef __pyx_methods_14crowdposetools_5_mask_Masks[] = { {"__array__", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_5Masks_3__array__, METH_NOARGS, 0}, {"__reduce_cython__", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_5Masks_5__reduce_cython__, METH_NOARGS, 0}, {"__setstate_cython__", (PyCFunction)__pyx_pw_14crowdposetools_5_mask_5Masks_7__setstate_cython__, METH_O, 0}, {0, 0, 0, 0} }; static PyTypeObject __pyx_type_14crowdposetools_5_mask_Masks = { PyVarObject_HEAD_INIT(0, 0) "crowdposetools._mask.Masks", /*tp_name*/ sizeof(struct __pyx_obj_14crowdposetools_5_mask_Masks), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_14crowdposetools_5_mask_Masks, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ 0, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_14crowdposetools_5_mask_Masks, /*tp_methods*/ 0, /*tp_members*/ 0, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ 0, /*tp_init*/ 0, /*tp_alloc*/ __pyx_tp_new_14crowdposetools_5_mask_Masks, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ 0, /*tp_version_tag*/ #if PY_VERSION_HEX >= 0x030400a1 0, /*tp_finalize*/ #endif }; 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__mask(PyObject* module); /*proto*/ static PyModuleDef_Slot __pyx_moduledef_slots[] = { {Py_mod_create, (void*)__pyx_pymod_create}, {Py_mod_exec, (void*)__pyx_pymod_exec__mask}, {0, NULL} }; #endif static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, "_mask", 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 static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_n_s_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1}, {&__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_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, {&__pyx_n_s_N, __pyx_k_N, sizeof(__pyx_k_N), 0, 0, 1, 1}, {&__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_PYTHON_VERSION, __pyx_k_PYTHON_VERSION, sizeof(__pyx_k_PYTHON_VERSION), 0, 0, 1, 1}, {&__pyx_kp_s_Python_version_must_be_2_or_3, __pyx_k_Python_version_must_be_2_or_3, sizeof(__pyx_k_Python_version_must_be_2_or_3), 0, 0, 1, 0}, {&__pyx_n_s_R, __pyx_k_R, sizeof(__pyx_k_R), 0, 0, 1, 1}, {&__pyx_n_s_Rs, __pyx_k_Rs, sizeof(__pyx_k_Rs), 0, 0, 1, 1}, {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_kp_s_The_dt_and_gt_should_have_the_sa, __pyx_k_The_dt_and_gt_should_have_the_sa, sizeof(__pyx_k_The_dt_and_gt_should_have_the_sa), 0, 0, 1, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, {&__pyx_n_s_a_2, __pyx_k_a_2, sizeof(__pyx_k_a_2), 0, 0, 1, 1}, {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, {&__pyx_n_s_area, __pyx_k_area, sizeof(__pyx_k_area), 0, 0, 1, 1}, {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1}, {&__pyx_n_s_astype, __pyx_k_astype, sizeof(__pyx_k_astype), 0, 0, 1, 1}, {&__pyx_n_s_author, __pyx_k_author, sizeof(__pyx_k_author), 0, 0, 1, 1}, {&__pyx_n_s_bb, __pyx_k_bb, sizeof(__pyx_k_bb), 0, 0, 1, 1}, {&__pyx_n_s_bbIou, __pyx_k_bbIou, sizeof(__pyx_k_bbIou), 0, 0, 1, 1}, {&__pyx_n_s_bb_2, __pyx_k_bb_2, sizeof(__pyx_k_bb_2), 0, 0, 1, 1}, {&__pyx_n_s_c_string, __pyx_k_c_string, sizeof(__pyx_k_c_string), 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_cnts, __pyx_k_cnts, sizeof(__pyx_k_cnts), 0, 0, 1, 1}, {&__pyx_n_s_counts, __pyx_k_counts, sizeof(__pyx_k_counts), 0, 0, 1, 1}, {&__pyx_n_s_crowdposetools__mask, __pyx_k_crowdposetools__mask, sizeof(__pyx_k_crowdposetools__mask), 0, 0, 1, 1}, {&__pyx_kp_s_crowdposetools__mask_pyx, __pyx_k_crowdposetools__mask_pyx, sizeof(__pyx_k_crowdposetools__mask_pyx), 0, 0, 1, 0}, {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1}, {&__pyx_n_s_double, __pyx_k_double, sizeof(__pyx_k_double), 0, 0, 1, 1}, {&__pyx_n_s_dt, __pyx_k_dt, sizeof(__pyx_k_dt), 0, 0, 1, 1}, {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1}, {&__pyx_n_s_frBbox, __pyx_k_frBbox, sizeof(__pyx_k_frBbox), 0, 0, 1, 1}, {&__pyx_n_s_frPoly, __pyx_k_frPoly, sizeof(__pyx_k_frPoly), 0, 0, 1, 1}, {&__pyx_n_s_frPyObjects, __pyx_k_frPyObjects, sizeof(__pyx_k_frPyObjects), 0, 0, 1, 1}, {&__pyx_n_s_frString, __pyx_k_frString, sizeof(__pyx_k_frString), 0, 0, 1, 1}, {&__pyx_n_s_frUncompressedRLE, __pyx_k_frUncompressedRLE, sizeof(__pyx_k_frUncompressedRLE), 0, 0, 1, 1}, {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, {&__pyx_n_s_gt, __pyx_k_gt, sizeof(__pyx_k_gt), 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_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, {&__pyx_kp_s_input_data_type_not_allowed, __pyx_k_input_data_type_not_allowed, sizeof(__pyx_k_input_data_type_not_allowed), 0, 0, 1, 0}, {&__pyx_kp_s_input_type_is_not_supported, __pyx_k_input_type_is_not_supported, sizeof(__pyx_k_input_type_is_not_supported), 0, 0, 1, 0}, {&__pyx_n_s_intersect, __pyx_k_intersect, sizeof(__pyx_k_intersect), 0, 0, 1, 1}, {&__pyx_n_s_iou, __pyx_k_iou, sizeof(__pyx_k_iou), 0, 0, 1, 1}, {&__pyx_n_s_iouFun, __pyx_k_iouFun, sizeof(__pyx_k_iouFun), 0, 0, 1, 1}, {&__pyx_n_s_iou_2, __pyx_k_iou_2, sizeof(__pyx_k_iou_2), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__bbIou, __pyx_k_iou_locals__bbIou, sizeof(__pyx_k_iou_locals__bbIou), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__len, __pyx_k_iou_locals__len, sizeof(__pyx_k_iou_locals__len), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__preproc, __pyx_k_iou_locals__preproc, sizeof(__pyx_k_iou_locals__preproc), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__rleIou, __pyx_k_iou_locals__rleIou, sizeof(__pyx_k_iou_locals__rleIou), 0, 0, 1, 1}, {&__pyx_n_s_isbox, __pyx_k_isbox, sizeof(__pyx_k_isbox), 0, 0, 1, 1}, {&__pyx_n_s_iscrowd, __pyx_k_iscrowd, sizeof(__pyx_k_iscrowd), 0, 0, 1, 1}, {&__pyx_n_s_isrle, __pyx_k_isrle, sizeof(__pyx_k_isrle), 0, 0, 1, 1}, {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, {&__pyx_n_s_len, __pyx_k_len, sizeof(__pyx_k_len), 0, 0, 1, 1}, {&__pyx_kp_s_list_input_can_be_bounding_box_N, __pyx_k_list_input_can_be_bounding_box_N, sizeof(__pyx_k_list_input_can_be_bounding_box_N), 0, 0, 1, 0}, {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1}, {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, {&__pyx_n_s_mask, __pyx_k_mask, sizeof(__pyx_k_mask), 0, 0, 1, 1}, {&__pyx_n_s_masks, __pyx_k_masks, sizeof(__pyx_k_masks), 0, 0, 1, 1}, {&__pyx_n_s_merge, __pyx_k_merge, sizeof(__pyx_k_merge), 0, 0, 1, 1}, {&__pyx_n_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 1}, {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 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_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0}, {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, {&__pyx_n_s_np_poly, __pyx_k_np_poly, sizeof(__pyx_k_np_poly), 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_kp_s_numpy_ndarray_input_is_only_for, __pyx_k_numpy_ndarray_input_is_only_for, sizeof(__pyx_k_numpy_ndarray_input_is_only_for), 0, 0, 1, 0}, {&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1}, {&__pyx_n_s_objs, __pyx_k_objs, sizeof(__pyx_k_objs), 0, 0, 1, 1}, {&__pyx_n_s_order, __pyx_k_order, sizeof(__pyx_k_order), 0, 0, 1, 1}, {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1}, {&__pyx_n_s_poly, __pyx_k_poly, sizeof(__pyx_k_poly), 0, 0, 1, 1}, {&__pyx_n_s_preproc, __pyx_k_preproc, sizeof(__pyx_k_preproc), 0, 0, 1, 1}, {&__pyx_n_s_py_string, __pyx_k_py_string, sizeof(__pyx_k_py_string), 0, 0, 1, 1}, {&__pyx_n_s_pyiscrowd, __pyx_k_pyiscrowd, sizeof(__pyx_k_pyiscrowd), 0, 0, 1, 1}, {&__pyx_n_s_pyobj, __pyx_k_pyobj, sizeof(__pyx_k_pyobj), 0, 0, 1, 1}, {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, {&__pyx_n_s_reshape, __pyx_k_reshape, sizeof(__pyx_k_reshape), 0, 0, 1, 1}, {&__pyx_n_s_rleIou, __pyx_k_rleIou, sizeof(__pyx_k_rleIou), 0, 0, 1, 1}, {&__pyx_n_s_rleObjs, __pyx_k_rleObjs, sizeof(__pyx_k_rleObjs), 0, 0, 1, 1}, {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1}, {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, {&__pyx_n_s_toBbox, __pyx_k_toBbox, sizeof(__pyx_k_toBbox), 0, 0, 1, 1}, {&__pyx_n_s_toString, __pyx_k_toString, sizeof(__pyx_k_toString), 0, 0, 1, 1}, {&__pyx_n_s_tsungyi, __pyx_k_tsungyi, sizeof(__pyx_k_tsungyi), 0, 0, 1, 1}, {&__pyx_n_s_ucRles, __pyx_k_ucRles, sizeof(__pyx_k_ucRles), 0, 0, 1, 1}, {&__pyx_n_s_uint32, __pyx_k_uint32, sizeof(__pyx_k_uint32), 0, 0, 1, 1}, {&__pyx_n_s_uint8, __pyx_k_uint8, sizeof(__pyx_k_uint8), 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_kp_s_unrecognized_type_The_following, __pyx_k_unrecognized_type_The_following, sizeof(__pyx_k_unrecognized_type_The_following), 0, 0, 1, 0}, {&__pyx_n_s_utf8, __pyx_k_utf8, sizeof(__pyx_k_utf8), 0, 0, 1, 1}, {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1}, {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 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 int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 67, __pyx_L1_error) __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 73, __pyx_L1_error) __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 124, __pyx_L1_error) __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(2, 229, __pyx_L1_error) __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(2, 810, __pyx_L1_error) __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 1000, __pyx_L1_error) return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); /* "crowdposetools/_mask.pyx":126 * for i, obj in enumerate(rleObjs): * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') # <<<<<<<<<<<<<< * elif PYTHON_VERSION == 3: * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] */ __pyx_tuple__5 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); /* "crowdposetools/_mask.pyx":130 * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: * raise Exception('Python version must be 2 or 3') # <<<<<<<<<<<<<< * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) */ __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_Python_version_must_be_2_or_3); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); /* "crowdposetools/_mask.pyx":154 * def merge(rleObjs, intersect=0): * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) # <<<<<<<<<<<<<< * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] */ __pyx_tuple__7 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); /* "crowdposetools/_mask.pyx":180 * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') # <<<<<<<<<<<<<< * objs = objs.astype(np.double) * elif type(objs) == list: */ __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_numpy_ndarray_input_is_only_for); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); /* "crowdposetools/_mask.pyx":193 * objs = _frString(objs) * else: * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') # <<<<<<<<<<<<<< * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') */ __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_list_input_can_be_bounding_box_N); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); /* "crowdposetools/_mask.pyx":195 * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') # <<<<<<<<<<<<<< * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_s_unrecognized_type_The_following); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); /* "crowdposetools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ __pyx_tuple__11 = PyTuple_Pack(4, __pyx_n_s_objs, __pyx_n_s_isbox, __pyx_n_s_isrle, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__11); __Pyx_GIVEREF(__pyx_tuple__11); __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_preproc, 172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 172, __pyx_L1_error) /* "crowdposetools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ __pyx_tuple__13 = PyTuple_Pack(6, __pyx_n_s_dt, __pyx_n_s_gt, __pyx_n_s_iscrowd, __pyx_n_s_m, __pyx_n_s_n, __pyx_n_s_iou); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_rleIou, 197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 197, __pyx_L1_error) /* "crowdposetools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ __pyx_tuple__15 = PyTuple_Pack(6, __pyx_n_s_dt, __pyx_n_s_gt, __pyx_n_s_iscrowd, __pyx_n_s_m, __pyx_n_s_n, __pyx_n_s_iou); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); __pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_bbIou, 199, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 199, __pyx_L1_error) /* "crowdposetools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ __pyx_tuple__17 = PyTuple_Pack(2, __pyx_n_s_obj, __pyx_n_s_N); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_len, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 201, __pyx_L1_error) /* "crowdposetools/_mask.pyx":221 * return [] * if not type(dt) == type(gt): * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') # <<<<<<<<<<<<<< * * # define local variables */ __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_The_dt_and_gt_should_have_the_sa); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 221, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); /* "crowdposetools/_mask.pyx":232 * _iouFun = _bbIou * else: * raise Exception('input data type not allowed.') # <<<<<<<<<<<<<< * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) */ __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_input_data_type_not_allowed); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); /* "crowdposetools/_mask.pyx":277 * objs = [] * for i in range(n): * Rs = RLEs(1) # <<<<<<<<<<<<<< * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) * # time for malloc can be saved here but it's fine */ __pyx_tuple__21 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); /* "crowdposetools/_mask.pyx":307 * objs = frUncompressedRLE([pyobj], h, w)[0] * else: * raise Exception('input type is not supported.') # <<<<<<<<<<<<<< * return objs */ __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_input_type_is_not_supported); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":229 * 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__23 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(2, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":233 * 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__24 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(2, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":263 * 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__25 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(2, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":810 * * 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__26 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(2, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":814 * 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__27 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(2, 814, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":834 * 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__28 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(2, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1000 * _import_array() * except Exception: * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< * * cdef inline int import_umath() except -1: */ __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(2, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1006 * _import_umath() * except Exception: * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< * * cdef inline int import_ufunc() except -1: */ __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(2, 1006, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1012 * _import_umath() * except Exception: * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< */ __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(2, 1012, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31); /* "crowdposetools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ __pyx_tuple__32 = PyTuple_Pack(6, __pyx_n_s_Rs, __pyx_n_s_n, __pyx_n_s_py_string, __pyx_n_s_c_string, __pyx_n_s_objs, __pyx_n_s_i); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_toString, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 103, __pyx_L1_error) /* "crowdposetools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ __pyx_tuple__34 = PyTuple_Pack(7, __pyx_n_s_rleObjs, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_py_string, __pyx_n_s_c_string, __pyx_n_s_i, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_frString, 119, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 119, __pyx_L1_error) /* "crowdposetools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ __pyx_tuple__36 = PyTuple_Pack(6, __pyx_n_s_mask, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_encode, 137, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 137, __pyx_L1_error) /* "crowdposetools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ __pyx_tuple__38 = PyTuple_Pack(6, __pyx_n_s_rleObjs, __pyx_n_s_Rs, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_n, __pyx_n_s_masks); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_decode, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 145, __pyx_L1_error) /* "crowdposetools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ __pyx_tuple__40 = PyTuple_Pack(5, __pyx_n_s_rleObjs, __pyx_n_s_intersect, __pyx_n_s_Rs, __pyx_n_s_R, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_merge, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 152, __pyx_L1_error) /* "crowdposetools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ __pyx_tuple__42 = PyTuple_Pack(5, __pyx_n_s_rleObjs, __pyx_n_s_Rs, __pyx_n_s_a, __pyx_n_s_shape, __pyx_n_s_a_2); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_area, 159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 159, __pyx_L1_error) /* "crowdposetools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ __pyx_tuple__44 = PyTuple_Pack(18, __pyx_n_s_dt, __pyx_n_s_gt, __pyx_n_s_pyiscrowd, __pyx_n_s_preproc, __pyx_n_s_preproc, __pyx_n_s_rleIou, __pyx_n_s_rleIou, __pyx_n_s_bbIou, __pyx_n_s_bbIou, __pyx_n_s_len, __pyx_n_s_len, __pyx_n_s_iscrowd, __pyx_n_s_m, __pyx_n_s_n, __pyx_n_s_iou, __pyx_n_s_shape, __pyx_n_s_iouFun, __pyx_n_s_iou_2); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_iou_2, 171, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 171, __pyx_L1_error) /* "crowdposetools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ __pyx_tuple__46 = PyTuple_Pack(6, __pyx_n_s_rleObjs, __pyx_n_s_Rs, __pyx_n_s_n, __pyx_n_s_bb_2, __pyx_n_s_shape, __pyx_n_s_bb); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_toBbox, 241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 241, __pyx_L1_error) /* "crowdposetools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ __pyx_tuple__48 = PyTuple_Pack(6, __pyx_n_s_bb, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_frBbox, 253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 253, __pyx_L1_error) /* "crowdposetools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ __pyx_tuple__50 = PyTuple_Pack(9, __pyx_n_s_poly, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_np_poly, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_i, __pyx_n_s_p, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_frPoly, 260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 260, __pyx_L1_error) /* "crowdposetools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ __pyx_tuple__52 = PyTuple_Pack(11, __pyx_n_s_ucRles, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_cnts, __pyx_n_s_R, __pyx_n_s_data, __pyx_n_s_n, __pyx_n_s_objs, __pyx_n_s_i, __pyx_n_s_Rs, __pyx_n_s_j); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__52); __Pyx_GIVEREF(__pyx_tuple__52); __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__52, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_frUncompressedRLE, 270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 270, __pyx_L1_error) /* "crowdposetools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ __pyx_tuple__54 = PyTuple_Pack(4, __pyx_n_s_pyobj, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__54); __Pyx_GIVEREF(__pyx_tuple__54); __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_crowdposetools__mask_pyx, __pyx_n_s_frPyObjects, 288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 288, __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_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) return 0; __pyx_L1_error:; return -1; } static int __Pyx_modinit_global_init_code(void); /*proto*/ static int __Pyx_modinit_variable_export_code(void); /*proto*/ static int __Pyx_modinit_function_export_code(void); /*proto*/ static int __Pyx_modinit_type_init_code(void); /*proto*/ static int __Pyx_modinit_type_import_code(void); /*proto*/ static int __Pyx_modinit_variable_import_code(void); /*proto*/ static 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 ---*/ if (PyType_Ready(&__pyx_type_14crowdposetools_5_mask_RLEs) < 0) __PYX_ERR(0, 56, __pyx_L1_error) __pyx_type_14crowdposetools_5_mask_RLEs.tp_print = 0; if (PyObject_SetAttrString(__pyx_m, "RLEs", (PyObject *)&__pyx_type_14crowdposetools_5_mask_RLEs) < 0) __PYX_ERR(0, 56, __pyx_L1_error) if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14crowdposetools_5_mask_RLEs) < 0) __PYX_ERR(0, 56, __pyx_L1_error) __pyx_ptype_14crowdposetools_5_mask_RLEs = &__pyx_type_14crowdposetools_5_mask_RLEs; if (PyType_Ready(&__pyx_type_14crowdposetools_5_mask_Masks) < 0) __PYX_ERR(0, 77, __pyx_L1_error) __pyx_type_14crowdposetools_5_mask_Masks.tp_print = 0; if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_14crowdposetools_5_mask_Masks.tp_dictoffset && __pyx_type_14crowdposetools_5_mask_Masks.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_14crowdposetools_5_mask_Masks.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttrString(__pyx_m, "Masks", (PyObject *)&__pyx_type_14crowdposetools_5_mask_Masks) < 0) __PYX_ERR(0, 77, __pyx_L1_error) if (__Pyx_setup_reduce((PyObject*)&__pyx_type_14crowdposetools_5_mask_Masks) < 0) __PYX_ERR(0, 77, __pyx_L1_error) __pyx_ptype_14crowdposetools_5_mask_Masks = &__pyx_type_14crowdposetools_5_mask_Masks; __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; __Pyx_RefNannyFinishContext(); return -1; } static int __Pyx_modinit_type_import_code(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); /*--- Type import code ---*/ __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type", #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000 sizeof(PyTypeObject), #else sizeof(PyHeapTypeObject), #endif 0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) __PYX_ERR(3, 9, __pyx_L1_error) __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) __PYX_ERR(2, 164, __pyx_L1_error) __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) __PYX_ERR(2, 186, __pyx_L1_error) __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) __PYX_ERR(2, 190, __pyx_L1_error) __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) __PYX_ERR(2, 199, __pyx_L1_error) __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) __PYX_ERR(2, 872, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; __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 #ifndef CYTHON_SMALL_CODE #if defined(__clang__) #define CYTHON_SMALL_CODE #elif defined(__GNUC__) && (!(defined(__cplusplus)) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4))) #define CYTHON_SMALL_CODE __attribute__((cold)) #else #define CYTHON_SMALL_CODE #endif #endif #if PY_MAJOR_VERSION < 3 __Pyx_PyMODINIT_FUNC init_mask(void) CYTHON_SMALL_CODE; /*proto*/ __Pyx_PyMODINIT_FUNC init_mask(void) #else __Pyx_PyMODINIT_FUNC PyInit__mask(void) CYTHON_SMALL_CODE; /*proto*/ __Pyx_PyMODINIT_FUNC PyInit__mask(void) #if CYTHON_PEP489_MULTI_PHASE_INIT { return PyModuleDef_Init(&__pyx_moduledef); } static int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name) { PyObject *value = PyObject_GetAttrString(spec, from_name); int result = 0; if (likely(value)) { result = PyDict_SetItemString(moddict, to_name, value); Py_DECREF(value); } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { PyErr_Clear(); } else { result = -1; } return result; } static PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) { PyObject *module = NULL, *moddict, *modname; 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__") < 0)) goto bad; if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__") < 0)) goto bad; if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__") < 0)) goto bad; if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__") < 0)) goto bad; return module; bad: Py_XDECREF(module); return NULL; } static int __pyx_pymod_exec__mask(PyObject *__pyx_pyinit_module) #endif #endif { PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; __Pyx_RefNannyDeclarations #if CYTHON_PEP489_MULTI_PHASE_INIT if (__pyx_m && __pyx_m == __pyx_pyinit_module) return 0; #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__mask(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_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("_mask", __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) __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __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_crowdposetools___mask) { 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, "crowdposetools._mask")) { if (unlikely(PyDict_SetItemString(modules, "crowdposetools._mask", __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 type/function init code ---*/ (void)__Pyx_modinit_global_init_code(); (void)__Pyx_modinit_variable_export_code(); (void)__Pyx_modinit_function_export_code(); if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error; 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 /* "crowdposetools/_mask.pyx":11 * #************************************************************************** * * __author__ = 'tsungyi' # <<<<<<<<<<<<<< * * import sys */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_author, __pyx_n_s_tsungyi) < 0) __PYX_ERR(0, 11, __pyx_L1_error) /* "crowdposetools/_mask.pyx":13 * __author__ = 'tsungyi' * * import sys # <<<<<<<<<<<<<< * PYTHON_VERSION = sys.version_info[0] * */ __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":14 * * import sys * PYTHON_VERSION = sys.version_info[0] # <<<<<<<<<<<<<< * * # import both Python-level and C-level symbols of Numpy */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_PYTHON_VERSION, __pyx_t_1) < 0) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":18 * # import both Python-level and C-level symbols of Numpy * # the API uses Numpy to interface C and Python * import numpy as np # <<<<<<<<<<<<<< * cimport numpy as np * from libc.stdlib cimport malloc, free */ __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":23 * * # intialized Numpy. must do. * np.import_array() # <<<<<<<<<<<<<< * * # import numpy C function */ __pyx_t_3 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 23, __pyx_L1_error) /* "crowdposetools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_1_toString, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_toString, __pyx_t_1) < 0) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_3_frString, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frString, __pyx_t_1) < 0) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_5encode, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_encode, __pyx_t_1) < 0) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_7decode, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_decode, __pyx_t_1) < 0) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_9merge, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_merge, __pyx_t_1) < 0) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_11area, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_area, __pyx_t_1) < 0) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_13iou, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_iou_2, __pyx_t_1) < 0) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_15toBbox, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_toBbox, __pyx_t_1) < 0) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_17frBbox, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frBbox, __pyx_t_1) < 0) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_19frPoly, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frPoly, __pyx_t_1) < 0) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_21frUncompressedRLE, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frUncompressedRLE, __pyx_t_1) < 0) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_14crowdposetools_5_mask_23frPyObjects, NULL, __pyx_n_s_crowdposetools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frPyObjects, __pyx_t_1) < 0) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "crowdposetools/_mask.pyx":1 * # distutils: language = c # <<<<<<<<<<<<<< * # distutils: sources = ../common/maskApi.c * */ __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; /* "../../../anaconda3/envs/py0/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1008 * raise ImportError("numpy.core.umath failed to import") * * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< * try: * _import_umath() */ /*--- Wrapped vars code ---*/ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); if (__pyx_m) { if (__pyx_d) { __Pyx_AddTraceback("init crowdposetools._mask", 0, __pyx_lineno, __pyx_filename); } Py_DECREF(__pyx_m); __pyx_m = 0; } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init crowdposetools._mask"); } __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((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 /* 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; } /* 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; } /* 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); } /* BytesEquals */ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { #if CYTHON_COMPILING_IN_PYPY return PyObject_RichCompareBool(s1, s2, equals); #else if (s1 == s2) { return (equals == Py_EQ); } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { const char *ps1, *ps2; Py_ssize_t length = PyBytes_GET_SIZE(s1); if (length != PyBytes_GET_SIZE(s2)) return (equals == Py_NE); ps1 = PyBytes_AS_STRING(s1); ps2 = PyBytes_AS_STRING(s2); if (ps1[0] != ps2[0]) { return (equals == Py_NE); } else if (length == 1) { return (equals == Py_EQ); } else { int result; #if CYTHON_USE_UNICODE_INTERNALS Py_hash_t hash1, hash2; hash1 = ((PyBytesObject*)s1)->ob_shash; hash2 = ((PyBytesObject*)s2)->ob_shash; if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { return (equals == Py_NE); } #endif result = memcmp(ps1, ps2, (size_t)length); return (equals == Py_EQ) ? (result == 0) : (result != 0); } } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { return (equals == Py_NE); } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { return (equals == Py_NE); } else { int result; PyObject* py_result = PyObject_RichCompare(s1, s2, equals); if (!py_result) return -1; result = __Pyx_PyObject_IsTrue(py_result); Py_DECREF(py_result); return result; } #endif } /* UnicodeEquals */ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { #if CYTHON_COMPILING_IN_PYPY return PyObject_RichCompareBool(s1, s2, equals); #else #if PY_MAJOR_VERSION < 3 PyObject* owned_ref = NULL; #endif int s1_is_unicode, s2_is_unicode; if (s1 == s2) { goto return_eq; } s1_is_unicode = PyUnicode_CheckExact(s1); s2_is_unicode = PyUnicode_CheckExact(s2); #if PY_MAJOR_VERSION < 3 if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { owned_ref = PyUnicode_FromObject(s2); if (unlikely(!owned_ref)) return -1; s2 = owned_ref; s2_is_unicode = 1; } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { owned_ref = PyUnicode_FromObject(s1); if (unlikely(!owned_ref)) return -1; s1 = owned_ref; s1_is_unicode = 1; } else if (((!s2_is_unicode) & (!s1_is_unicode))) { return __Pyx_PyBytes_Equals(s1, s2, equals); } #endif if (s1_is_unicode & s2_is_unicode) { Py_ssize_t length; int kind; void *data1, *data2; if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) return -1; length = __Pyx_PyUnicode_GET_LENGTH(s1); if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { goto return_ne; } #if CYTHON_USE_UNICODE_INTERNALS { Py_hash_t hash1, hash2; #if CYTHON_PEP393_ENABLED hash1 = ((PyASCIIObject*)s1)->hash; hash2 = ((PyASCIIObject*)s2)->hash; #else hash1 = ((PyUnicodeObject*)s1)->hash; hash2 = ((PyUnicodeObject*)s2)->hash; #endif if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { goto return_ne; } } #endif kind = __Pyx_PyUnicode_KIND(s1); if (kind != __Pyx_PyUnicode_KIND(s2)) { goto return_ne; } data1 = __Pyx_PyUnicode_DATA(s1); data2 = __Pyx_PyUnicode_DATA(s2); if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { goto return_ne; } else if (length == 1) { goto return_eq; } else { int result = memcmp(data1, data2, (size_t)(length * kind)); #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_EQ) ? (result == 0) : (result != 0); } } else if ((s1 == Py_None) & s2_is_unicode) { goto return_ne; } else if ((s2 == Py_None) & s1_is_unicode) { goto return_ne; } else { int result; PyObject* py_result = PyObject_RichCompare(s1, s2, equals); #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif if (!py_result) return -1; result = __Pyx_PyObject_IsTrue(py_result); Py_DECREF(py_result); return result; } return_eq: #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_EQ); return_ne: #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_NE); #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))); 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)meth)) (self, args, nargs, NULL); } else { return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs); } } #endif /* PyFunctionFastCall */ #if CYTHON_FAST_PYCALL #include "frameobject.h" 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 = f->f_localsplus; 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, int 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, nargs, k, (int)nk, d, (int)nd, kwdefs, closure); #else result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, args, 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 /* 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 /* 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 /* 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 /* 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; } /* 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; } /* PyIntBinop */ #if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) { #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 /* PyIntBinop */ #if !CYTHON_COMPILING_IN_PYPY static PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) { if (op1 == op2) { Py_RETURN_TRUE; } #if PY_MAJOR_VERSION < 3 if (likely(PyInt_CheckExact(op1))) { const long b = intval; long a = PyInt_AS_LONG(op1); if (a == b) { Py_RETURN_TRUE; } else { Py_RETURN_FALSE; } } #endif #if CYTHON_USE_PYLONG_INTERNALS if (likely(PyLong_CheckExact(op1))) { const long b = intval; long a; 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; } 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; } 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; } 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; } 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; } 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; } CYTHON_FALLTHROUGH; #if PyLong_SHIFT < 30 && PyLong_SHIFT != 15 default: return PyLong_Type.tp_richcompare(op1, op2, Py_EQ); #else default: Py_RETURN_FALSE; #endif } } if (a == b) { Py_RETURN_TRUE; } else { Py_RETURN_FALSE; } } #endif if (PyFloat_CheckExact(op1)) { const long b = intval; double a = PyFloat_AS_DOUBLE(op1); if ((double)a == (double)b) { Py_RETURN_TRUE; } else { Py_RETURN_FALSE; } } return PyObject_RichCompare(op1, op2, Py_EQ); } #endif /* GetModuleGlobalName */ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { 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); if (likely(result)) { Py_INCREF(result); } else if (unlikely(PyErr_Occurred())) { result = NULL; } else { #else result = PyDict_GetItem(__pyx_d, name); if (likely(result)) { Py_INCREF(result); } else { #endif #else result = PyObject_GetItem(__pyx_d, name); if (!result) { PyErr_Clear(); #endif result = __Pyx_GetBuiltinName(name); } return result; } /* DictGetItem */ #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; } #endif /* 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((0 <= wrapped_i) & (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((0 <= wrapped_i) & (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((n >= 0) & (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((n >= 0) & (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)); } /* 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 '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 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 '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((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_SafeReleaseBuffer(buf); return -1; } /* FetchCommonType */ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { PyObject* fake_module; PyTypeObject* cached_type = NULL; fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); if (!fake_module) return NULL; Py_INCREF(fake_module); cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); if (cached_type) { if (!PyType_Check((PyObject*)cached_type)) { PyErr_Format(PyExc_TypeError, "Shared Cython type %.200s is not a type object", type->tp_name); goto bad; } if (cached_type->tp_basicsize != type->tp_basicsize) { PyErr_Format(PyExc_TypeError, "Shared Cython type %.200s has the wrong size, try recompiling", type->tp_name); goto bad; } } else { if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; PyErr_Clear(); if (PyType_Ready(type) < 0) goto bad; if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) goto bad; Py_INCREF(type); cached_type = type; } done: Py_DECREF(fake_module); return cached_type; bad: Py_XDECREF(cached_type); cached_type = NULL; goto done; } /* CythonFunction */ #include static PyObject * __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) { if (unlikely(op->func_doc == NULL)) { if (op->func.m_ml->ml_doc) { #if PY_MAJOR_VERSION >= 3 op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); #else op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); #endif if (unlikely(op->func_doc == NULL)) return NULL; } else { Py_INCREF(Py_None); return Py_None; } } Py_INCREF(op->func_doc); return op->func_doc; } static int __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value) { PyObject *tmp = op->func_doc; if (value == NULL) { value = Py_None; } Py_INCREF(value); op->func_doc = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op) { if (unlikely(op->func_name == NULL)) { #if PY_MAJOR_VERSION >= 3 op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); #else op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); #endif if (unlikely(op->func_name == NULL)) return NULL; } Py_INCREF(op->func_name); return op->func_name; } static int __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value) { PyObject *tmp; #if PY_MAJOR_VERSION >= 3 if (unlikely(value == NULL || !PyUnicode_Check(value))) { #else if (unlikely(value == NULL || !PyString_Check(value))) { #endif PyErr_SetString(PyExc_TypeError, "__name__ must be set to a string object"); return -1; } tmp = op->func_name; Py_INCREF(value); op->func_name = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op) { Py_INCREF(op->func_qualname); return op->func_qualname; } static int __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value) { PyObject *tmp; #if PY_MAJOR_VERSION >= 3 if (unlikely(value == NULL || !PyUnicode_Check(value))) { #else if (unlikely(value == NULL || !PyString_Check(value))) { #endif PyErr_SetString(PyExc_TypeError, "__qualname__ must be set to a string object"); return -1; } tmp = op->func_qualname; Py_INCREF(value); op->func_qualname = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) { PyObject *self; self = m->func_closure; if (self == NULL) self = Py_None; Py_INCREF(self); return self; } static PyObject * __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op) { if (unlikely(op->func_dict == NULL)) { op->func_dict = PyDict_New(); if (unlikely(op->func_dict == NULL)) return NULL; } Py_INCREF(op->func_dict); return op->func_dict; } static int __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value) { PyObject *tmp; if (unlikely(value == NULL)) { PyErr_SetString(PyExc_TypeError, "function's dictionary may not be deleted"); return -1; } if (unlikely(!PyDict_Check(value))) { PyErr_SetString(PyExc_TypeError, "setting function's dictionary to a non-dict"); return -1; } tmp = op->func_dict; Py_INCREF(value); op->func_dict = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op) { Py_INCREF(op->func_globals); return op->func_globals; } static PyObject * __Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op) { Py_INCREF(Py_None); return Py_None; } static PyObject * __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op) { PyObject* result = (op->func_code) ? op->func_code : Py_None; Py_INCREF(result); return result; } static int __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { int result = 0; PyObject *res = op->defaults_getter((PyObject *) op); if (unlikely(!res)) return -1; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS op->defaults_tuple = PyTuple_GET_ITEM(res, 0); Py_INCREF(op->defaults_tuple); op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); Py_INCREF(op->defaults_kwdict); #else op->defaults_tuple = PySequence_ITEM(res, 0); if (unlikely(!op->defaults_tuple)) result = -1; else { op->defaults_kwdict = PySequence_ITEM(res, 1); if (unlikely(!op->defaults_kwdict)) result = -1; } #endif Py_DECREF(res); return result; } static int __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value) { PyObject* tmp; if (!value) { value = Py_None; } else if (value != Py_None && !PyTuple_Check(value)) { PyErr_SetString(PyExc_TypeError, "__defaults__ must be set to a tuple object"); return -1; } Py_INCREF(value); tmp = op->defaults_tuple; op->defaults_tuple = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op) { PyObject* result = op->defaults_tuple; if (unlikely(!result)) { if (op->defaults_getter) { if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; result = op->defaults_tuple; } else { result = Py_None; } } Py_INCREF(result); return result; } static int __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value) { PyObject* tmp; if (!value) { value = Py_None; } else if (value != Py_None && !PyDict_Check(value)) { PyErr_SetString(PyExc_TypeError, "__kwdefaults__ must be set to a dict object"); return -1; } Py_INCREF(value); tmp = op->defaults_kwdict; op->defaults_kwdict = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op) { PyObject* result = op->defaults_kwdict; if (unlikely(!result)) { if (op->defaults_getter) { if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; result = op->defaults_kwdict; } else { result = Py_None; } } Py_INCREF(result); return result; } static int __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value) { PyObject* tmp; if (!value || value == Py_None) { value = NULL; } else if (!PyDict_Check(value)) { PyErr_SetString(PyExc_TypeError, "__annotations__ must be set to a dict object"); return -1; } Py_XINCREF(value); tmp = op->func_annotations; op->func_annotations = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op) { PyObject* result = op->func_annotations; if (unlikely(!result)) { result = PyDict_New(); if (unlikely(!result)) return NULL; op->func_annotations = result; } Py_INCREF(result); return result; } static PyGetSetDef __pyx_CyFunction_getsets[] = { {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, {0, 0, 0, 0, 0} }; static PyMemberDef __pyx_CyFunction_members[] = { {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, {0, 0, 0, 0, 0} }; static PyObject * __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromString(m->func.m_ml->ml_name); #else return PyString_FromString(m->func.m_ml->ml_name); #endif } static PyMethodDef __pyx_CyFunction_methods[] = { {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, {0, 0, 0, 0} }; #if PY_VERSION_HEX < 0x030500A0 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) #else #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) #endif static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname, PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type); if (op == NULL) return NULL; op->flags = flags; __Pyx_CyFunction_weakreflist(op) = NULL; op->func.m_ml = ml; op->func.m_self = (PyObject *) op; Py_XINCREF(closure); op->func_closure = closure; Py_XINCREF(module); op->func.m_module = module; op->func_dict = NULL; op->func_name = NULL; Py_INCREF(qualname); op->func_qualname = qualname; op->func_doc = NULL; op->func_classobj = NULL; op->func_globals = globals; Py_INCREF(op->func_globals); Py_XINCREF(code); op->func_code = code; op->defaults_pyobjects = 0; op->defaults = NULL; op->defaults_tuple = NULL; op->defaults_kwdict = NULL; op->defaults_getter = NULL; op->func_annotations = NULL; PyObject_GC_Track(op); return (PyObject *) op; } static int __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) { Py_CLEAR(m->func_closure); Py_CLEAR(m->func.m_module); Py_CLEAR(m->func_dict); Py_CLEAR(m->func_name); Py_CLEAR(m->func_qualname); Py_CLEAR(m->func_doc); Py_CLEAR(m->func_globals); Py_CLEAR(m->func_code); Py_CLEAR(m->func_classobj); Py_CLEAR(m->defaults_tuple); Py_CLEAR(m->defaults_kwdict); Py_CLEAR(m->func_annotations); if (m->defaults) { PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); int i; for (i = 0; i < m->defaults_pyobjects; i++) Py_XDECREF(pydefaults[i]); PyObject_Free(m->defaults); m->defaults = NULL; } return 0; } static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) { if (__Pyx_CyFunction_weakreflist(m) != NULL) PyObject_ClearWeakRefs((PyObject *) m); __Pyx_CyFunction_clear(m); PyObject_GC_Del(m); } static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) { PyObject_GC_UnTrack(m); __Pyx__CyFunction_dealloc(m); } static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) { Py_VISIT(m->func_closure); Py_VISIT(m->func.m_module); Py_VISIT(m->func_dict); Py_VISIT(m->func_name); Py_VISIT(m->func_qualname); Py_VISIT(m->func_doc); Py_VISIT(m->func_globals); Py_VISIT(m->func_code); Py_VISIT(m->func_classobj); Py_VISIT(m->defaults_tuple); Py_VISIT(m->defaults_kwdict); if (m->defaults) { PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); int i; for (i = 0; i < m->defaults_pyobjects; i++) Py_VISIT(pydefaults[i]); } return 0; } static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { Py_INCREF(func); return func; } if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { if (type == NULL) type = (PyObject *)(Py_TYPE(obj)); return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); } if (obj == Py_None) obj = NULL; return __Pyx_PyMethod_New(func, obj, type); } static PyObject* __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromFormat("", op->func_qualname, (void *)op); #else return PyString_FromFormat("", PyString_AsString(op->func_qualname), (void *)op); #endif } static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { PyCFunctionObject* f = (PyCFunctionObject*)func; PyCFunction meth = f->m_ml->ml_meth; Py_ssize_t size; switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { case METH_VARARGS: if (likely(kw == NULL || PyDict_Size(kw) == 0)) return (*meth)(self, arg); break; case METH_VARARGS | METH_KEYWORDS: return (*(PyCFunctionWithKeywords)meth)(self, arg, kw); case METH_NOARGS: if (likely(kw == NULL || PyDict_Size(kw) == 0)) { size = PyTuple_GET_SIZE(arg); if (likely(size == 0)) return (*meth)(self, NULL); PyErr_Format(PyExc_TypeError, "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", f->m_ml->ml_name, size); return NULL; } break; case METH_O: if (likely(kw == NULL || PyDict_Size(kw) == 0)) { size = PyTuple_GET_SIZE(arg); if (likely(size == 1)) { PyObject *result, *arg0; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS arg0 = PyTuple_GET_ITEM(arg, 0); #else arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; #endif result = (*meth)(self, arg0); #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) Py_DECREF(arg0); #endif return result; } PyErr_Format(PyExc_TypeError, "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", f->m_ml->ml_name, size); return NULL; } break; default: PyErr_SetString(PyExc_SystemError, "Bad call flags in " "__Pyx_CyFunction_Call. METH_OLDARGS is no " "longer supported!"); return NULL; } PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", f->m_ml->ml_name); return NULL; } static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); } static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { PyObject *result; __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { Py_ssize_t argc; PyObject *new_args; PyObject *self; argc = PyTuple_GET_SIZE(args); new_args = PyTuple_GetSlice(args, 1, argc); if (unlikely(!new_args)) return NULL; self = PyTuple_GetItem(args, 0); if (unlikely(!self)) { Py_DECREF(new_args); return NULL; } result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); Py_DECREF(new_args); } else { result = __Pyx_CyFunction_Call(func, args, kw); } return result; } static PyTypeObject __pyx_CyFunctionType_type = { PyVarObject_HEAD_INIT(0, 0) "cython_function_or_method", sizeof(__pyx_CyFunctionObject), 0, (destructor) __Pyx_CyFunction_dealloc, 0, 0, 0, #if PY_MAJOR_VERSION < 3 0, #else 0, #endif (reprfunc) __Pyx_CyFunction_repr, 0, 0, 0, 0, __Pyx_CyFunction_CallAsMethod, 0, 0, 0, 0, Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, 0, (traverseproc) __Pyx_CyFunction_traverse, (inquiry) __Pyx_CyFunction_clear, 0, #if PY_VERSION_HEX < 0x030500A0 offsetof(__pyx_CyFunctionObject, func_weakreflist), #else offsetof(PyCFunctionObject, m_weakreflist), #endif 0, 0, __pyx_CyFunction_methods, __pyx_CyFunction_members, __pyx_CyFunction_getsets, 0, 0, __Pyx_CyFunction_descr_get, 0, offsetof(__pyx_CyFunctionObject, func_dict), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #if PY_VERSION_HEX >= 0x030400a1 0, #endif }; static int __pyx_CyFunction_init(void) { __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); if (unlikely(__pyx_CyFunctionType == NULL)) { return -1; } return 0; } static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults = PyObject_Malloc(size); if (unlikely(!m->defaults)) return PyErr_NoMemory(); memset(m->defaults, 0, size); m->defaults_pyobjects = pyobjects; return m->defaults; } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_tuple = tuple; Py_INCREF(tuple); } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_kwdict = dict; Py_INCREF(dict); } static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->func_annotations = dict; Py_INCREF(dict); } /* BufferFallbackError */ static void __Pyx_RaiseBufferFallbackError(void) { PyErr_SetString(PyExc_ValueError, "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); } /* None */ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) { Py_ssize_t q = a / b; Py_ssize_t r = a - q*b; q -= ((r != 0) & ((r ^ b) < 0)); return q; } /* BufferIndexError */ static void __Pyx_RaiseBufferIndexError(int axis) { PyErr_Format(PyExc_IndexError, "Out of bounds on buffer access (axis %d)", axis); } /* 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"); } /* SaveResetException */ #if CYTHON_FAST_THREAD_STATE static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { #if PY_VERSION_HEX >= 0x030700A3 *type = tstate->exc_state.exc_type; *value = tstate->exc_state.exc_value; *tb = tstate->exc_state.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 PY_VERSION_HEX >= 0x030700A3 tmp_type = tstate->exc_state.exc_type; tmp_value = tstate->exc_state.exc_value; tmp_tb = tstate->exc_state.exc_traceback; tstate->exc_state.exc_type = type; tstate->exc_state.exc_value = value; tstate->exc_state.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 PY_VERSION_HEX >= 0x030700A3 tmp_type = tstate->exc_state.exc_type; tmp_value = tstate->exc_state.exc_value; tmp_tb = tstate->exc_state.exc_traceback; tstate->exc_state.exc_type = local_type; tstate->exc_state.exc_value = local_value; tstate->exc_state.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; } /* PyObject_GenericGetAttrNoDict */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { PyErr_Format(PyExc_AttributeError, #if PY_MAJOR_VERSION >= 3 "'%.50s' object has no attribute '%U'", tp->tp_name, attr_name); #else "'%.50s' object has no attribute '%.400s'", tp->tp_name, PyString_AS_STRING(attr_name)); #endif return NULL; } static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { PyObject *descr; PyTypeObject *tp = Py_TYPE(obj); if (unlikely(!PyString_Check(attr_name))) { return PyObject_GenericGetAttr(obj, attr_name); } assert(!tp->tp_dictoffset); descr = _PyType_Lookup(tp, attr_name); if (unlikely(!descr)) { return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); } Py_INCREF(descr); #if PY_MAJOR_VERSION < 3 if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) #endif { descrgetfunc f = Py_TYPE(descr)->tp_descr_get; if (unlikely(f)) { PyObject *res = f(descr, obj, (PyObject *)tp); Py_DECREF(descr); return res; } } return descr; } #endif /* PyObject_GenericGetAttr */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { return PyObject_GenericGetAttr(obj, attr_name); } return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); } #endif /* SetupReduce */ static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { int ret; PyObject *name_attr; name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); if (likely(name_attr)) { ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); } else { ret = -1; } if (unlikely(ret < 0)) { PyErr_Clear(); ret = 0; } Py_XDECREF(name_attr); return ret; } static int __Pyx_setup_reduce(PyObject* type_obj) { int ret = 0; PyObject *object_reduce = NULL; PyObject *object_reduce_ex = NULL; PyObject *reduce = NULL; PyObject *reduce_ex = NULL; PyObject *reduce_cython = NULL; PyObject *setstate = NULL; PyObject *setstate_cython = NULL; #if CYTHON_USE_PYTYPE_LOOKUP if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD; #else if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD; #endif #if CYTHON_USE_PYTYPE_LOOKUP object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; #else object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; #endif reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD; if (reduce_ex == object_reduce_ex) { #if CYTHON_USE_PYTYPE_LOOKUP object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; #else object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; #endif reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD; if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD; ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD; ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD; setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); if (!setstate) PyErr_Clear(); if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD; ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD; ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD; } PyType_Modified((PyTypeObject*)type_obj); } } goto GOOD; BAD: if (!PyErr_Occurred()) PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); ret = -1; GOOD: #if !CYTHON_USE_PYTYPE_LOOKUP Py_XDECREF(object_reduce); Py_XDECREF(object_reduce_ex); #endif Py_XDECREF(reduce); Py_XDECREF(reduce_ex); Py_XDECREF(reduce_cython); Py_XDECREF(setstate); Py_XDECREF(setstate_cython); return ret; } /* 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 (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, 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_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)) { use_cline = __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 (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); if (__Pyx_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 ((0)) {} else if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view); view->obj = NULL; Py_DECREF(obj); } #endif /* 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); #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); } } /* 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_siz(siz value) { const siz neg_one = (siz) -1, const_zero = (siz) 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(siz) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(siz) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(siz) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= 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(siz), little, !is_unsigned); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value) { const Py_intptr_t neg_one = (Py_intptr_t) -1, const_zero = (Py_intptr_t) 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(Py_intptr_t) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(Py_intptr_t) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(Py_intptr_t) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(Py_intptr_t) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(Py_intptr_t) <= 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(Py_intptr_t), 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 = 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 = 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: z = __Pyx_c_prod_float(a, a); 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, -1); } } 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 = 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 = 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: z = __Pyx_c_prod_double(a, a); 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, -1); } } 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 /* 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); #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); } } /* 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); #ifdef HAVE_LONG_LONG } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(enum NPY_TYPES) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(enum NPY_TYPES) <= 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(enum NPY_TYPES), little, !is_unsigned); } } /* CIntFromPy */ static CYTHON_INLINE siz __Pyx_PyInt_As_siz(PyObject *x) { const siz neg_one = (siz) -1, const_zero = (siz) 0; const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(siz) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(siz, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (siz) 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 (siz) 0; case 1: __PYX_VERIFY_RETURN_INT(siz, digit, digits[0]) case 2: if (8 * sizeof(siz) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) >= 2 * PyLong_SHIFT) { return (siz) (((((siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0])); } } break; case 3: if (8 * sizeof(siz) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) >= 3 * PyLong_SHIFT) { return (siz) (((((((siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0])); } } break; case 4: if (8 * sizeof(siz) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, 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(siz) >= 4 * PyLong_SHIFT) { return (siz) (((((((((siz)digits[3]) << PyLong_SHIFT) | (siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)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 (siz) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(siz) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(siz, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(siz, 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 (siz) 0; case -1: __PYX_VERIFY_RETURN_INT(siz, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(siz, digit, +digits[0]) case -2: if (8 * sizeof(siz) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 2 * PyLong_SHIFT) { return (siz) (((siz)-1)*(((((siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case 2: if (8 * sizeof(siz) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 2 * PyLong_SHIFT) { return (siz) ((((((siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case -3: if (8 * sizeof(siz) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 3 * PyLong_SHIFT) { return (siz) (((siz)-1)*(((((((siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case 3: if (8 * sizeof(siz) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 3 * PyLong_SHIFT) { return (siz) ((((((((siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case -4: if (8 * sizeof(siz) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, 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(siz) - 1 > 4 * PyLong_SHIFT) { return (siz) (((siz)-1)*(((((((((siz)digits[3]) << PyLong_SHIFT) | (siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case 4: if (8 * sizeof(siz) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, 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(siz) - 1 > 4 * PyLong_SHIFT) { return (siz) ((((((((((siz)digits[3]) << PyLong_SHIFT) | (siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; } #endif if (sizeof(siz) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(siz, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(siz, 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 siz 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 (siz) -1; } } else { siz val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (siz) -1; val = __Pyx_PyInt_As_siz(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to siz"); return (siz) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to siz"); return (siz) -1; } /* CIntFromPy */ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) { const size_t neg_one = (size_t) -1, const_zero = (size_t) 0; const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(size_t) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (size_t) 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 (size_t) 0; case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0]) case 2: if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) { return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } } break; case 3: if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) { return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } } break; case 4: if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, 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(size_t) >= 4 * PyLong_SHIFT) { return (size_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 #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 (size_t) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(size_t) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, 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 (size_t) 0; case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0]) case -2: if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case 2: if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case -3: if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case 3: if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case -4: if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, 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(size_t) - 1 > 4 * PyLong_SHIFT) { return (size_t) (((size_t)-1)*(((((((((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(size_t) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, 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(size_t) - 1 > 4 * PyLong_SHIFT) { return (size_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 if (sizeof(size_t) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, 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 size_t 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 (size_t) -1; } } else { size_t val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (size_t) -1; val = __Pyx_PyInt_As_size_t(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to size_t"); return (size_t) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to size_t"); return (size_t) -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)) #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) -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; itp_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; 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 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(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_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 */ ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/crowdposetools/_mask.pyx ================================================ # distutils: language = c # distutils: sources = ../common/maskApi.c #************************************************************************** # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] #************************************************************************** __author__ = 'tsungyi' import sys PYTHON_VERSION = sys.version_info[0] # import both Python-level and C-level symbols of Numpy # the API uses Numpy to interface C and Python import numpy as np cimport numpy as np from libc.stdlib cimport malloc, free # intialized Numpy. must do. np.import_array() # import numpy C function # we use PyArray_ENABLEFLAGS to make Numpy ndarray responsible to memoery management cdef extern from "numpy/arrayobject.h": void PyArray_ENABLEFLAGS(np.ndarray arr, int flags) # Declare the prototype of the C functions in MaskApi.h cdef extern from "maskApi.h": ctypedef unsigned int uint ctypedef unsigned long siz ctypedef unsigned char byte ctypedef double* BB ctypedef struct RLE: siz h, siz w, siz m, uint* cnts, void rlesInit( RLE **R, siz n ) void rleEncode( RLE *R, const byte *M, siz h, siz w, siz n ) void rleDecode( const RLE *R, byte *mask, siz n ) void rleMerge( const RLE *R, RLE *M, siz n, int intersect ) void rleArea( const RLE *R, siz n, uint *a ) void rleIou( RLE *dt, RLE *gt, siz m, siz n, byte *iscrowd, double *o ) void bbIou( BB dt, BB gt, siz m, siz n, byte *iscrowd, double *o ) void rleToBbox( const RLE *R, BB bb, siz n ) void rleFrBbox( RLE *R, const BB bb, siz h, siz w, siz n ) void rleFrPoly( RLE *R, const double *xy, siz k, siz h, siz w ) char* rleToString( const RLE *R ) void rleFrString( RLE *R, char *s, siz h, siz w ) # python class to wrap RLE array in C # the class handles the memory allocation and deallocation cdef class RLEs: cdef RLE *_R cdef siz _n def __cinit__(self, siz n =0): rlesInit(&self._R, n) self._n = n # free the RLE array here def __dealloc__(self): if self._R is not NULL: for i in range(self._n): free(self._R[i].cnts) free(self._R) def __getattr__(self, key): if key == 'n': return self._n raise AttributeError(key) # python class to wrap Mask array in C # the class handles the memory allocation and deallocation cdef class Masks: cdef byte *_mask cdef siz _h cdef siz _w cdef siz _n def __cinit__(self, h, w, n): self._mask = malloc(h*w*n* sizeof(byte)) self._h = h self._w = w self._n = n # def __dealloc__(self): # the memory management of _mask has been passed to np.ndarray # it doesn't need to be freed here # called when passing into np.array() and return an np.ndarray in column-major order def __array__(self): cdef np.npy_intp shape[1] shape[0] = self._h*self._w*self._n # Create a 1D array, and reshape it to fortran/Matlab column-major array ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') # The _mask allocated by Masks is now handled by ndarray PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) return ndarray # internal conversion from Python RLEs object to compressed RLE format def _toString(RLEs Rs): cdef siz n = Rs.n cdef bytes py_string cdef char* c_string objs = [] for i in range(n): c_string = rleToString( &Rs._R[i] ) py_string = c_string objs.append({ 'size': [Rs._R[i].h, Rs._R[i].w], 'counts': py_string }) free(c_string) return objs # internal conversion from compressed RLE format to Python RLEs object def _frString(rleObjs): cdef siz n = len(rleObjs) Rs = RLEs(n) cdef bytes py_string cdef char* c_string for i, obj in enumerate(rleObjs): if PYTHON_VERSION == 2: py_string = str(obj['counts']).encode('utf8') elif PYTHON_VERSION == 3: py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] else: raise Exception('Python version must be 2 or 3') c_string = py_string rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) return Rs # encode mask to RLEs objects # list of RLE string can be generated by RLEs member function def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] cdef RLEs Rs = RLEs(n) rleEncode(Rs._R,mask.data,h,w,n) objs = _toString(Rs) return objs # decode mask from compressed list of RLE string or RLEs object def decode(rleObjs): cdef RLEs Rs = _frString(rleObjs) h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n masks = Masks(h, w, n) rleDecode(Rs._R, masks._mask, n); return np.array(masks) def merge(rleObjs, intersect=0): cdef RLEs Rs = _frString(rleObjs) cdef RLEs R = RLEs(1) rleMerge(Rs._R, R._R, Rs._n, intersect) obj = _toString(R)[0] return obj def area(rleObjs): cdef RLEs Rs = _frString(rleObjs) cdef uint* _a = malloc(Rs._n* sizeof(uint)) rleArea(Rs._R, Rs._n, _a) cdef np.npy_intp shape[1] shape[0] = Rs._n a = np.array((Rs._n, ), dtype=np.uint8) a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) return a # iou computation. support function overload (RLEs-RLEs and bbox-bbox). def iou( dt, gt, pyiscrowd ): def _preproc(objs): if len(objs) == 0: return objs if type(objs) == np.ndarray: if len(objs.shape) == 1: objs = objs.reshape((objs[0], 1)) # check if it's Nx4 bbox if not len(objs.shape) == 2 or not objs.shape[1] == 4: raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') objs = objs.astype(np.double) elif type(objs) == list: # check if list is in box format and convert it to np.ndarray isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) isrle = np.all(np.array([type(obj) == dict for obj in objs])) if isbox: objs = np.array(objs, dtype=np.double) if len(objs.shape) == 1: objs = objs.reshape((1,objs.shape[0])) elif isrle: objs = _frString(objs) else: raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) def _len(obj): cdef siz N = 0 if type(obj) == RLEs: N = obj.n elif len(obj)==0: pass elif type(obj) == np.ndarray: N = obj.shape[0] return N # convert iscrowd to numpy array cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) # simple type checking cdef siz m, n dt = _preproc(dt) gt = _preproc(gt) m = _len(dt) n = _len(gt) if m == 0 or n == 0: return [] if not type(dt) == type(gt): raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') # define local variables cdef double* _iou = 0 cdef np.npy_intp shape[1] # check type and assign iou function if type(dt) == RLEs: _iouFun = _rleIou elif type(dt) == np.ndarray: _iouFun = _bbIou else: raise Exception('input data type not allowed.') _iou = malloc(m*n* sizeof(double)) iou = np.zeros((m*n, ), dtype=np.double) shape[0] = m*n iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) _iouFun(dt, gt, iscrowd, m, n, iou) return iou.reshape((m,n), order='F') def toBbox( rleObjs ): cdef RLEs Rs = _frString(rleObjs) cdef siz n = Rs.n cdef BB _bb = malloc(4*n* sizeof(double)) rleToBbox( Rs._R, _bb, n ) cdef np.npy_intp shape[1] shape[0] = 4*n bb = np.array((1,4*n), dtype=np.double) bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) return bb def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): cdef siz n = bb.shape[0] Rs = RLEs(n) rleFrBbox( Rs._R, bb.data, h, w, n ) objs = _toString(Rs) return objs def frPoly( poly, siz h, siz w ): cdef np.ndarray[np.double_t, ndim=1] np_poly n = len(poly) Rs = RLEs(n) for i, p in enumerate(poly): np_poly = np.array(p, dtype=np.double, order='F') rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) objs = _toString(Rs) return objs def frUncompressedRLE(ucRles, siz h, siz w): cdef np.ndarray[np.uint32_t, ndim=1] cnts cdef RLE R cdef uint *data n = len(ucRles) objs = [] for i in range(n): Rs = RLEs(1) cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) # time for malloc can be saved here but it's fine data = malloc(len(cnts)* sizeof(uint)) for j in range(len(cnts)): data[j] = cnts[j] R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) Rs._R[0] = R objs.append(_toString(Rs)[0]) return objs def frPyObjects(pyobj, h, w): # encode rle from a list of python objects if type(pyobj) == np.ndarray: objs = frBbox(pyobj, h, w) elif type(pyobj) == list and len(pyobj[0]) == 4: objs = frBbox(pyobj, h, w) elif type(pyobj) == list and len(pyobj[0]) > 4: objs = frPoly(pyobj, h, w) elif type(pyobj) == list and type(pyobj[0]) == dict \ and 'counts' in pyobj[0] and 'size' in pyobj[0]: objs = frUncompressedRLE(pyobj, h, w) # encode rle from single python object elif type(pyobj) == list and len(pyobj) == 4: objs = frBbox([pyobj], h, w)[0] elif type(pyobj) == list and len(pyobj) > 4: objs = frPoly([pyobj], h, w)[0] elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: objs = frUncompressedRLE([pyobj], h, w)[0] else: raise Exception('input type is not supported.') return objs ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/crowdposetools/coco.py ================================================ __author__ = 'tylin' __version__ = '2.0' # Interface for accessing the Microsoft COCO dataset. # Microsoft COCO is a large image dataset designed for object detection, # segmentation, and caption generation. pycocotools is a Python API that # assists in loading, parsing and visualizing the annotations in COCO. # Please visit http://mscoco.org/ for more information on COCO, including # for the data, paper, and tutorials. The exact format of the annotations # is also described on the COCO website. For example usage of the pycocotools # please see pycocotools_demo.ipynb. In addition to this API, please download both # the COCO images and annotations in order to run the demo. # An alternative to using the API is to load the annotations directly # into Python dictionary # Using the API provides additional utility functions. Note that this API # supports both *instance* and *caption* annotations. In the case of # captions not all functions are defined (e.g. categories are undefined). # The following API functions are defined: # COCO - COCO api class that loads COCO annotation file and prepare data structures. # decodeMask - Decode binary mask M encoded via run-length encoding. # encodeMask - Encode binary mask M using run-length encoding. # getAnnIds - Get ann ids that satisfy given filter conditions. # getCatIds - Get cat ids that satisfy given filter conditions. # getImgIds - Get img ids that satisfy given filter conditions. # loadAnns - Load anns with the specified ids. # loadCats - Load cats with the specified ids. # loadImgs - Load imgs with the specified ids. # annToMask - Convert segmentation in an annotation to binary mask. # showAnns - Display the specified annotations. # loadRes - Load algorithm results and create API for accessing them. # download - Download COCO images from mscoco.org server. # Throughout the API "ann"=annotation, "cat"=category, and "img"=image. # Help on each functions can be accessed by: "help COCO>function". # See also COCO>decodeMask, # COCO>encodeMask, COCO>getAnnIds, COCO>getCatIds, # COCO>getImgIds, COCO>loadAnns, COCO>loadCats, # COCO>loadImgs, COCO>annToMask, COCO>showAnns # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2014. # Licensed under the Simplified BSD License [see bsd.txt] import json import time import matplotlib.pyplot as plt from matplotlib.collections import PatchCollection from matplotlib.patches import Polygon import numpy as np import copy import itertools from . import mask as maskUtils import os from collections import defaultdict import sys PYTHON_VERSION = sys.version_info[0] if PYTHON_VERSION == 2: from urllib import urlretrieve elif PYTHON_VERSION == 3: from urllib.request import urlretrieve def _isArrayLike(obj): return hasattr(obj, '__iter__') and hasattr(obj, '__len__') class COCO: def __init__(self, annotation_file=None): """ Constructor of Microsoft COCO helper class for reading and visualizing annotations. :param annotation_file (str): location of annotation file :param image_folder (str): location to the folder that hosts images. :return: """ # load dataset self.dataset, self.anns, self.cats, self.imgs = dict(), dict(), dict(), dict() self.imgToAnns, self.catToImgs = defaultdict(list), defaultdict(list) self.anno_file = [annotation_file] if not annotation_file == None: print('loading annotations into memory...') tic = time.time() dataset = json.load(open(annotation_file, 'r')) assert type(dataset) == dict, 'annotation file format {} not supported'.format( type(dataset)) print('Done (t={:0.2f}s)'.format(time.time() - tic)) self.dataset = dataset self.createIndex() def createIndex(self): # create index print('creating index...') anns, cats, imgs = {}, {}, {} imgToAnns, catToImgs = defaultdict(list), defaultdict(list) if 'annotations' in self.dataset: for ann in self.dataset['annotations']: imgToAnns[ann['image_id']].append(ann) anns[ann['id']] = ann if 'images' in self.dataset: for img in self.dataset['images']: imgs[img['id']] = img if 'categories' in self.dataset: for cat in self.dataset['categories']: cats[cat['id']] = cat if 'annotations' in self.dataset and 'categories' in self.dataset: for ann in self.dataset['annotations']: catToImgs[ann['category_id']].append(ann['image_id']) print('index created!') # create class members self.anns = anns self.imgToAnns = imgToAnns self.catToImgs = catToImgs self.imgs = imgs self.cats = cats def info(self): """ Print information about the annotation file. :return: """ for key, value in self.dataset['info'].items(): print('{}: {}'.format(key, value)) def getAnnIds(self, imgIds=[], catIds=[], areaRng=[], iscrowd=None): """ Get ann ids that satisfy given filter conditions. default skips that filter :param imgIds (int array) : get anns for given imgs catIds (int array) : get anns for given cats areaRng (float array) : get anns for given area range (e.g. [0 inf]) iscrowd (boolean) : get anns for given crowd label (False or True) :return: ids (int array) : integer array of ann ids """ imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == len(areaRng) == 0: anns = self.dataset['annotations'] else: if not len(imgIds) == 0: lists = [self.imgToAnns[imgId] for imgId in imgIds if imgId in self.imgToAnns] anns = list(itertools.chain.from_iterable(lists)) else: anns = self.dataset['annotations'] anns = anns if len(catIds) == 0 else [ ann for ann in anns if ann['category_id'] in catIds] anns = anns if len(areaRng) == 0 else [ ann for ann in anns if ann['area'] > areaRng[0] and ann['area'] < areaRng[1]] if not iscrowd == None: ids = [ann['id'] for ann in anns if ann['iscrowd'] == iscrowd] else: ids = [ann['id'] for ann in anns] return ids def getCatIds(self, catNms=[], supNms=[], catIds=[]): """ filtering parameters. default skips that filter. :param catNms (str array) : get cats for given cat names :param supNms (str array) : get cats for given supercategory names :param catIds (int array) : get cats for given cat ids :return: ids (int array) : integer array of cat ids """ catNms = catNms if _isArrayLike(catNms) else [catNms] supNms = supNms if _isArrayLike(supNms) else [supNms] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(catNms) == len(supNms) == len(catIds) == 0: cats = self.dataset['categories'] else: cats = self.dataset['categories'] cats = cats if len(catNms) == 0 else [ cat for cat in cats if cat['name'] in catNms] cats = cats if len(supNms) == 0 else [ cat for cat in cats if cat['supercategory'] in supNms] cats = cats if len(catIds) == 0 else [ cat for cat in cats if cat['id'] in catIds] ids = [cat['id'] for cat in cats] return ids def getImgIds(self, imgIds=[], catIds=[]): ''' Get img ids that satisfy given filter conditions. :param imgIds (int array) : get imgs for given ids :param catIds (int array) : get imgs with all given cats :return: ids (int array) : integer array of img ids ''' imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == 0: ids = self.imgs.keys() else: ids = set(imgIds) for i, catId in enumerate(catIds): if i == 0 and len(ids) == 0: ids = set(self.catToImgs[catId]) else: ids &= set(self.catToImgs[catId]) return list(ids) def loadAnns(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying anns :return: anns (object array) : loaded ann objects """ if _isArrayLike(ids): return [self.anns[id] for id in ids] elif type(ids) == int: return [self.anns[ids]] def loadCats(self, ids=[]): """ Load cats with the specified ids. :param ids (int array) : integer ids specifying cats :return: cats (object array) : loaded cat objects """ if _isArrayLike(ids): return [self.cats[id] for id in ids] elif type(ids) == int: return [self.cats[ids]] def loadImgs(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying img :return: imgs (object array) : loaded img objects """ if _isArrayLike(ids): return [self.imgs[id] for id in ids] elif type(ids) == int: return [self.imgs[ids]] def loadRes(self, resFile): """ Load result file and return a result api object. :param resFile (str) : file name of result file :return: res (obj) : result api object """ res = COCO() res.dataset['images'] = [img for img in self.dataset['images']] self.anno_file.append(resFile) print('Loading and preparing results...') tic = time.time() if type(resFile) == str or type(resFile) == unicode: anns = json.load(open(resFile)) elif type(resFile) == np.ndarray: anns = self.loadNumpyAnnotations(resFile) else: anns = resFile assert type(anns) == list, 'results in not an array of objects' annsImgIds = [ann['image_id'] for ann in anns] assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ 'Results do not correspond to current coco set' if 'caption' in anns[0]: imgIds = set([img['id'] for img in res.dataset['images']]) & set( [ann['image_id'] for ann in anns]) res.dataset['images'] = [ img for img in res.dataset['images'] if img['id'] in imgIds] for id, ann in enumerate(anns): ann['id'] = id+1 elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: res.dataset['categories'] = copy.deepcopy( self.dataset['categories']) for id, ann in enumerate(anns): bb = ann['bbox'] x1, x2, y1, y2 = [bb[0], bb[0]+bb[2], bb[1], bb[1]+bb[3]] if not 'segmentation' in ann: ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] ann['area'] = bb[2]*bb[3] ann['id'] = id+1 ann['iscrowd'] = 0 elif 'segmentation' in anns[0]: res.dataset['categories'] = copy.deepcopy( self.dataset['categories']) for id, ann in enumerate(anns): # now only support compressed RLE format as segmentation results ann['area'] = maskUtils.area(ann['segmentation']) if not 'bbox' in ann: ann['bbox'] = maskUtils.toBbox(ann['segmentation']) ann['id'] = id+1 ann['iscrowd'] = 0 elif 'keypoints' in anns[0]: res.dataset['categories'] = copy.deepcopy( self.dataset['categories']) for id, ann in enumerate(anns): s = ann['keypoints'] x = s[0::3] y = s[1::3] x0, x1, y0, y1 = np.min(x), np.max(x), np.min(y), np.max(y) ann['area'] = (x1-x0)*(y1-y0) ann['id'] = id + 1 ann['bbox'] = [x0, y0, x1-x0, y1-y0] print('DONE (t={:0.2f}s)'.format(time.time() - tic)) res.dataset['annotations'] = anns res.createIndex() return res def download(self, tarDir=None, imgIds=[]): ''' Download COCO images from mscoco.org server. :param tarDir (str): COCO results directory name imgIds (list): images to be downloaded :return: ''' if tarDir is None: print('Please specify target directory') return -1 if len(imgIds) == 0: imgs = self.imgs.values() else: imgs = self.loadImgs(imgIds) N = len(imgs) if not os.path.exists(tarDir): os.makedirs(tarDir) for i, img in enumerate(imgs): tic = time.time() fname = os.path.join(tarDir, img['file_name']) if not os.path.exists(fname): urlretrieve(img['coco_url'], fname) print('downloaded {}/{} images (t={:0.1f}s)'.format(i, N, time.time() - tic)) def loadNumpyAnnotations(self, data): """ Convert result data from a numpy array [Nx7] where each row contains {imageID,x1,y1,w,h,score,class} :param data (numpy.ndarray) :return: annotations (python nested list) """ print('Converting ndarray to lists...') assert(type(data) == np.ndarray) print(data.shape) assert(data.shape[1] == 7) N = data.shape[0] ann = [] for i in range(N): if i % 1000000 == 0: print('{}/{}'.format(i, N)) ann += [{ 'image_id': int(data[i, 0]), 'bbox': [data[i, 1], data[i, 2], data[i, 3], data[i, 4]], 'score': data[i, 5], 'category_id': int(data[i, 6]), }] return ann def annToRLE(self, ann): """ Convert annotation which can be polygons, uncompressed RLE to RLE. :return: binary mask (numpy 2D array) """ t = self.imgs[ann['image_id']] h, w = t['height'], t['width'] segm = ann['segmentation'] if type(segm) == list: # polygon -- a single object might consist of multiple parts # we merge all parts into one mask rle code rles = maskUtils.frPyObjects(segm, h, w) rle = maskUtils.merge(rles) elif type(segm['counts']) == list: # uncompressed RLE rle = maskUtils.frPyObjects(segm, h, w) else: # rle rle = ann['segmentation'] return rle def annToMask(self, ann): """ Convert annotation which can be polygons, uncompressed RLE, or RLE to binary mask. :return: binary mask (numpy 2D array) """ rle = self.annToRLE(ann) m = maskUtils.decode(rle) return m ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/crowdposetools/cocoeval.py ================================================ __author__ = 'tsungyi' import numpy as np import datetime import time from collections import defaultdict from . import mask as maskUtils import copy import sys class NullWriter(object): def write(self, arg): pass def flush(self): pass class COCOeval: # Interface for evaluating detection on the Microsoft COCO dataset. # # # The usage for CocoEval is as follows: # cocoGt=..., cocoDt=... # load dataset and results # E = CocoEval(cocoGt,cocoDt); # initialize CocoEval object # E.params.recThrs = ...; # set parameters as desired # E.evaluate(); # run per image evaluation # E.accumulate(); # accumulate per image results # E.summarize(); # display summary metrics of results # For example usage see evalDemo.m and http://mscoco.org/. # # The evaluation parameters are as follows (defaults in brackets): # imgIds - [all] N img ids to use for evaluation # catIds - [all] K cat ids to use for evaluation # iouThrs - [.5:.05:.95] T=10 IoU thresholds for evaluation # recThrs - [0:.01:1] R=101 recall thresholds for evaluation # areaRng - [...] A=4 object area ranges for evaluation # maxDets - [1 10 100] M=3 thresholds on max detections per image # iouType - ['segm'] set iouType to 'segm', 'bbox' or 'keypoints' # iouType replaced the now DEPRECATED useSegm parameter. # useCats - [1] if true use category labels for evaluation # Note: if useCats=0 category labels are ignored as in proposal scoring. # Note: multiple areaRngs [Ax2] and maxDets [Mx1] can be specified. # # evaluate(): evaluates detections on every image and every category and # concats the results into the "evalImgs" with fields: # dtIds - [1xD] id for each of the D detections (dt) # gtIds - [1xG] id for each of the G ground truths (gt) # dtMatches - [TxD] matching gt id at each IoU or 0 # gtMatches - [TxG] matching dt id at each IoU or 0 # dtScores - [1xD] confidence of each dt # gtIgnore - [1xG] ignore flag for each gt # dtIgnore - [TxD] ignore flag for each dt at each IoU # # accumulate(): accumulates the per-image, per-category evaluation # results in "evalImgs" into the dictionary "eval" with fields: # params - parameters used for evaluation # date - date evaluation was performed # counts - [T,R,K,A,M] parameter dimensions (see above) # precision - [TxRxKxAxM] precision for every evaluation setting # recall - [TxKxAxM] max recall for every evaluation setting # Note: precision and recall==-1 for settings with no gt objects. # # See also coco, mask, pycocoDemo, pycocoEvalDemo # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] def __init__(self, cocoGt=None, cocoDt=None, iouType='segm'): ''' Initialize CocoEval using coco APIs for gt and dt :param cocoGt: coco object with ground truth annotations :param cocoDt: coco object with detection results :return: None ''' if not iouType: print('iouType not specified. use default iouType segm') self.cocoGt = cocoGt # ground truth COCO API self.cocoDt = cocoDt # detections COCO API self.params = {} # evaluation parameters # per-image per-category evaluation results [KxAxI] elements self.evalImgs = defaultdict(list) self.eval = {} # accumulated evaluation results self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation self.params = Params(iouType=iouType) # parameters self._paramsEval = {} # parameters for evaluation self.stats = [] # result summarization self.ious = {} # ious between all gts and dts if not cocoGt is None: self.params.imgIds = sorted(cocoGt.getImgIds()) self.params.catIds = sorted(cocoGt.getCatIds()) self.anno_file = cocoGt.anno_file def _prepare(self): ''' Prepare ._gts and ._dts for evaluation based on params :return: None ''' def _toMask(anns, coco): # modify ann['segmentation'] by reference for ann in anns: rle = coco.annToRLE(ann) ann['segmentation'] = rle p = self.params if p.useCats: gts = self.cocoGt.loadAnns(self.cocoGt.getAnnIds( imgIds=p.imgIds, catIds=p.catIds)) dts = self.cocoDt.loadAnns(self.cocoDt.getAnnIds( imgIds=p.imgIds, catIds=p.catIds)) else: gts = self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds)) dts = self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds)) # convert ground truth to mask if iouType == 'segm' if p.iouType == 'segm': _toMask(gts, self.cocoGt) _toMask(dts, self.cocoDt) # set ignore flag for gt in gts: gt['ignore'] = gt['ignore'] if 'ignore' in gt else 0 gt['ignore'] = 'iscrowd' in gt and gt['iscrowd'] if p.iouType == 'keypoints': gt['ignore'] = (gt['num_keypoints'] == 0) or gt['ignore'] self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation for gt in gts: self._gts[gt['image_id'], gt['category_id']].append(gt) for dt in dts: self._dts[dt['image_id'], dt['category_id']].append(dt) # per-image per-category evaluation results self.evalImgs = defaultdict(list) self.eval = {} # accumulated evaluation results def evaluate(self): ''' Run per image evaluation on given images and store results (a list of dict) in self.evalImgs :return: None ''' tic = time.time() print('Running per image evaluation...') p = self.params # add backward compatibility if useSegm is specified in params if not p.useSegm is None: p.iouType = 'segm' if p.useSegm == 1 else 'bbox' print( 'useSegm (deprecated) is not None. Running {} evaluation'.format(p.iouType)) print('Evaluate annotation type *{}*'.format(p.iouType)) p.imgIds = list(np.unique(p.imgIds)) if p.useCats: p.catIds = list(np.unique(p.catIds)) p.maxDets = sorted(p.maxDets) self.params = p self._prepare() # loop through images, area range, max detection number catIds = p.catIds if p.useCats else [-1] if p.iouType == 'segm' or p.iouType == 'bbox': computeIoU = self.computeIoU elif p.iouType == 'keypoints': computeIoU = self.computeOks self.ious = {(imgId, catId): computeIoU(imgId, catId) for imgId in p.imgIds for catId in catIds} evaluateImg = self.evaluateImg maxDet = p.maxDets[-1] self.evalImgs = [evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds for areaRng in p.areaRng for imgId in p.imgIds ] self._paramsEval = copy.deepcopy(self.params) toc = time.time() print('DONE (t={:0.2f}s).'.format(toc-tic)) def computeIoU(self, imgId, catId): p = self.params if p.useCats: gt = self._gts[imgId, catId] dt = self._dts[imgId, catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId, cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId, cId]] if len(gt) == 0 and len(dt) == 0: return [] inds = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in inds] if len(dt) > p.maxDets[-1]: dt = dt[0:p.maxDets[-1]] if p.iouType == 'segm': g = [g['segmentation'] for g in gt] d = [d['segmentation'] for d in dt] elif p.iouType == 'bbox': g = [g['bbox'] for g in gt] d = [d['bbox'] for d in dt] else: raise Exception('unknown iouType for iou computation') # compute iou between each dt and gt region iscrowd = [int(o['iscrowd']) for o in gt] ious = maskUtils.iou(d, g, iscrowd) return ious def computeOks(self, imgId, catId): p = self.params # dimention here should be Nxm # print imgId, catId gts = self._gts[imgId, catId] dts = self._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: return [] ious = np.zeros((len(dts), len(gts))) sigmas = np.array( [.79, .79, .72, .72, .62, .62, 1.07, 1.07, .87, .87, .89, .89, .79, .79])/10.0 vars = (sigmas * 2)**2 k = len(sigmas) # compute oks between each detection and ground truth object for j, gt in enumerate(gts): # 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] k1 = np.count_nonzero(vg > 0) 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 for i, dt in enumerate(dts): d = np.array(dt['keypoints']) xd = d[0::3] yd = d[1::3] if k1 > 0: # measure the per-keypoint distance if keypoints visible dx = xd - xg dy = yd - yg else: # measure minimum distance to keypoints in (x0,y0) & (x1,y1) # print 'k', k z = np.zeros((k)) dx = np.max((z, x0-xd), axis=0) + \ np.max((z, xd-x1), axis=0) dy = np.max((z, y0-yd), axis=0)+np.max((z, yd-y1), axis=0) tmparea = gt['bbox'][3] * gt['bbox'][2] * 0.53 e = (dx**2 + dy**2) / vars / (tmparea+np.spacing(1)) / 2 if k1 > 0: e = e[vg > 0] ious[i, j] = np.sum(np.exp(-e)) / e.shape[0] return ious def evaluateImg(self, imgId, catId, aRng, maxDet): ''' perform evaluation for single category and image :return: dict (single image results) ''' p = self.params if p.useCats: gt = self._gts[imgId, catId] dt = self._dts[imgId, catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId, cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId, cId]] if len(gt) == 0 and len(dt) == 0: return None for g in gt: tmp_area = g['bbox'][2] * g['bbox'][3] * 0.53 if g['ignore'] or (tmp_area < aRng[0] or tmp_area > aRng[1]): g['_ignore'] = 1 else: g['_ignore'] = 0 # sort dt highest score first, sort gt ignore last gtind = np.argsort([g['_ignore'] for g in gt], kind='mergesort') gt = [gt[i] for i in gtind] dtind = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in dtind[0:maxDet]] iscrowd = [int(o['iscrowd']) for o in gt] # load computed ious ious = self.ious[imgId, catId][:, gtind] if len( self.ious[imgId, catId]) > 0 else self.ious[imgId, catId] T = len(p.iouThrs) G = len(gt) D = len(dt) gtm = np.zeros((T, G)) dtm = np.zeros((T, D)) gtIg = np.array([g['_ignore'] for g in gt]) dtIg = np.zeros((T, D)) if not len(ious) == 0: for tind, t in enumerate(p.iouThrs): for dind, d in enumerate(dt): # information about best match so far (m=-1 -> unmatched) iou = min([t, 1-1e-10]) m = -1 for gind, g in enumerate(gt): # if this gt already matched, and not a crowd, continue if gtm[tind, gind] > 0 and not iscrowd[gind]: continue # if dt matched to reg gt, and on ignore gt, stop if m > -1 and gtIg[m] == 0 and gtIg[gind] == 1: break # continue to next gt unless better match made if ious[dind, gind] < iou: continue # if match successful and best so far, store appropriately iou = ious[dind, gind] m = gind # if match made store id of match for both dt and gt if m == -1: continue dtIg[tind, dind] = gtIg[m] dtm[tind, dind] = gt[m]['id'] gtm[tind, m] = d['id'] # set unmatched detections outside of area range to ignore a = np.array([d['area'] < aRng[0] or d['area'] > aRng[1] for d in dt]).reshape((1, len(dt))) dtIg = np.logical_or(dtIg, np.logical_and( dtm == 0, np.repeat(a, T, 0))) # store results for given image and category return { 'image_id': imgId, 'category_id': catId, 'aRng': aRng, 'maxDet': maxDet, 'dtIds': [d['id'] for d in dt], 'gtIds': [g['id'] for g in gt], 'dtMatches': dtm, 'gtMatches': gtm, 'dtScores': [d['score'] for d in dt], 'gtIgnore': gtIg, 'dtIgnore': dtIg, } def accumulate(self, p=None): ''' Accumulate per image evaluation results and store the result in self.eval :param p: input params for evaluation :return: None ''' print('Accumulating evaluation results...') tic = time.time() if not self.evalImgs: print('Please run evaluate() first') # allows input customized parameters if p is None: p = self.params p.catIds = p.catIds if p.useCats == 1 else [-1] T = len(p.iouThrs) R = len(p.recThrs) K = len(p.catIds) if p.useCats else 1 A = len(p.areaRng) M = len(p.maxDets) # -1 for the precision of absent categories precision = -np.ones((T, R, K, A, M)) recall = -np.ones((T, K, A, M)) scores = -np.ones((T, R, K, A, M)) # create dictionary for future indexing _pe = self._paramsEval catIds = _pe.catIds if _pe.useCats else [-1] setK = set(catIds) setA = set(map(tuple, _pe.areaRng)) setM = set(_pe.maxDets) setI = set(_pe.imgIds) # get inds to evaluate k_list = [n for n, k in enumerate(p.catIds) if k in setK] m_list = [m for n, m in enumerate(p.maxDets) if m in setM] a_list = [n for n, a in enumerate( map(lambda x: tuple(x), p.areaRng)) if a in setA] i_list = [n for n, i in enumerate(p.imgIds) if i in setI] I0 = len(_pe.imgIds) A0 = len(_pe.areaRng) # retrieve E at each category, area range, and max number of detections for k, k0 in enumerate(k_list): Nk = k0*A0*I0 for a, a0 in enumerate(a_list): Na = a0*I0 for m, maxDet in enumerate(m_list): E = [self.evalImgs[Nk + Na + i] for i in i_list] E = [e for e in E if not e is None] if len(E) == 0: continue dtScores = np.concatenate( [e['dtScores'][0:maxDet] for e in E]) # different sorting method generates slightly different results. # mergesort is used to be consistent as Matlab implementation. inds = np.argsort(-dtScores, kind='mergesort') dtScoresSorted = dtScores[inds] dtm = np.concatenate([e['dtMatches'][:, 0:maxDet] for e in E], axis=1)[:, inds] dtIg = np.concatenate( [e['dtIgnore'][:, 0:maxDet] for e in E], axis=1)[:, inds] gtIg = np.concatenate([e['gtIgnore'] for e in E]) npig = np.count_nonzero(gtIg == 0) if npig == 0: continue tps = np.logical_and(dtm, np.logical_not(dtIg)) fps = np.logical_and( np.logical_not(dtm), np.logical_not(dtIg)) tp_sum = np.cumsum(tps, axis=1).astype(dtype=np.float) fp_sum = np.cumsum(fps, axis=1).astype(dtype=np.float) for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): tp = np.array(tp) fp = np.array(fp) nd = len(tp) rc = tp / npig pr = tp / (fp+tp+np.spacing(1)) q = np.zeros((R,)) ss = np.zeros((R,)) if nd: recall[t, k, a, m] = rc[-1] else: recall[t, k, a, m] = 0 # numpy is slow without cython optimization for accessing elements # use python array gets significant speed improvement pr = pr.tolist() q = q.tolist() for i in range(nd-1, 0, -1): if pr[i] > pr[i-1]: pr[i-1] = pr[i] inds = np.searchsorted(rc, p.recThrs, side='left') try: for ri, pi in enumerate(inds): q[ri] = pr[pi] ss[ri] = dtScoresSorted[pi] except: pass precision[t, :, k, a, m] = np.array(q) scores[t, :, k, a, m] = np.array(ss) self.eval = { 'params': p, 'counts': [T, R, K, A, M], 'date': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), 'precision': precision, 'recall': recall, 'scores': scores, } toc = time.time() print('DONE (t={:0.2f}s).'.format(toc-tic)) def summarize(self): ''' Compute and display summary metrics for evaluation results. Note this functin can *only* be applied on the default parameter setting ''' def _summarize(ap=1, iouThr=None, areaRng='all', maxDets=100, type_score=0): p = self.params if ap != -1: iStr = ' {:<18} {} @[ IoU={:<9} | area={:>6s} | maxDets={:>3d} ] = {:0.3f}' else: iStr = ' {:<18} {} @[ IoU={:<9} | type={:>6s} | maxDets={:>3d} ] = {:0.3f}' titleStr = 'Average Precision' if ap == 1 else 'Average Recall' typeStr = '(AR)' if ap != 1 else '(AP)' iouStr = '{:0.2f}:{:0.2f}'.format(p.iouThrs[0], p.iouThrs[-1]) \ if iouThr is None else '{:0.2f}'.format(iouThr) # print 'print ioustr' , iouStr aind = [i for i, aRng in enumerate( p.areaRngLbl) if aRng == areaRng] mind = [i for i, mDet in enumerate(p.maxDets) if mDet == maxDets] if ap == 1: # dimension of precision: [TxRxKxAxM] s = self.eval['precision'] # IoU if iouThr is not None: t = np.where(abs(iouThr - p.iouThrs) < 0.01)[0] s = s[t] s = s[:, :, :, aind, mind] else: # dimension of recall: [TxKxAxM] s = self.eval['recall'] if iouThr is not None: t = np.where(iouThr == p.iouThrs)[0] s = s[t] s = s[:, :, aind, mind] if len(s[s > -1]) == 0: mean_s = -1 else: mean_s = np.mean(s[s > -1]) if ap == -1: mean_s = type_score print(iStr.format(titleStr, typeStr, iouStr, areaRng, maxDets, mean_s)) return mean_s def _summarizeDets(): stats = np.zeros((12,)) stats[0] = _summarize(1) stats[1] = _summarize(1, iouThr=.5, maxDets=self.params.maxDets[2]) stats[2] = _summarize( 1, iouThr=.75, maxDets=self.params.maxDets[2]) stats[3] = _summarize(1, areaRng='small', maxDets=self.params.maxDets[2]) stats[4] = _summarize(1, areaRng='medium', maxDets=self.params.maxDets[2]) stats[5] = _summarize(1, areaRng='large', maxDets=self.params.maxDets[2]) stats[6] = _summarize(0, maxDets=self.params.maxDets[0]) stats[7] = _summarize(0, maxDets=self.params.maxDets[1]) stats[8] = _summarize(0, maxDets=self.params.maxDets[2]) stats[9] = _summarize(0, areaRng='small', maxDets=self.params.maxDets[2]) stats[10] = _summarize(0, areaRng='medium', maxDets=self.params.maxDets[2]) stats[11] = _summarize( 0, areaRng='large', maxDets=self.params.maxDets[2]) return stats def _summarizeKps(): stats = np.zeros((11,)) # print '-----------------------------------------------' stats[0] = _summarize(1, maxDets=20) stats[1] = _summarize(1, maxDets=20, iouThr=.5) stats[2] = _summarize(1, maxDets=20, iouThr=.75) stats[5] = _summarize(0, maxDets=20) stats[6] = _summarize(0, maxDets=20, iouThr=.5) stats[7] = _summarize(0, maxDets=20, iouThr=.75) type_result = self.get_type_result(first=0.2, second=0.8) stats[8] = _summarize(-1, maxDets=20, areaRng='easy', type_score=type_result[0]) stats[9] = _summarize(-1, maxDets=20, areaRng='medium', type_score=type_result[1]) stats[10]=_summarize(-1, maxDets=20, areaRng='hard', type_score=type_result[2]) return stats if not self.eval: raise Exception('Please run accumulate() first') iouType = self.params.iouType if iouType == 'segm' or iouType == 'bbox': summarize = _summarizeDets elif iouType == 'keypoints': summarize = _summarizeKps self.stats = summarize() def __str__(self): self.summarize() def get_type_result(self, first=0.01, second=0.85): gt_file = self.anno_file[0] easy, mid, hard = self.split(gt_file, first, second) # print (len(easy), len(mid), len(hard)) res = [] nullwrite = NullWriter() oldstdout = sys.stdout sys.stdout = nullwrite for curr_type in [easy, mid, hard]: curr_list = curr_type self.params.imgIds = curr_list self.evaluate() self.accumulate() score = self.eval['precision'][:, :, :, 0, :] res.append(round(np.mean(score), 4)) sys.stdout = oldstdout return res def split(serlf, gt_file, first=0.01, second=0.85): import json data = json.load( open(gt_file, 'r')) easy = [] mid = [] hard = [] for item in data['images']: if item['crowdIndex'] < first: easy.append(item['id']) elif item['crowdIndex'] < second: mid.append(item['id']) else: hard.append(item['id']) return easy, mid, hard class Params: ''' Params for coco evaluation api ''' def setDetParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round( (0.95 - .5) / .05) + 1), endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round( (1.00 - .0) / .01) + 1), endpoint=True) self.maxDets = [1, 10, 100] self.areaRng = [[0 ** 2, 1e5 ** 2], [0 ** 2, 32 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'small', 'medium', 'large'] self.useCats = 1 def setKpParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round( (0.95 - .5) / .05) + 1), endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round( (1.00 - .0) / .01) + 1), endpoint=True) self.maxDets = [20] self.areaRng = [[0 ** 2, 1e5 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'medium', 'large'] self.useCats = 1 def __init__(self, iouType='segm'): if iouType == 'segm' or iouType == 'bbox': self.setDetParams() elif iouType == 'keypoints': self.setKpParams() else: raise Exception('iouType not supported') self.iouType = iouType # useSegm is deprecated self.useSegm = None ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/crowdposetools/mask.py ================================================ __author__ = 'tsungyi' import crowdposetools._mask as _mask # Interface for manipulating masks stored in RLE format. # # RLE is a simple yet efficient format for storing binary masks. RLE # first divides a vector (or vectorized image) into a series of piecewise # constant regions and then for each piece simply stores the length of # that piece. For example, given M=[0 0 1 1 1 0 1] the RLE counts would # be [2 3 1 1], or for M=[1 1 1 1 1 1 0] the counts would be [0 6 1] # (note that the odd counts are always the numbers of zeros). Instead of # storing the counts directly, additional compression is achieved with a # variable bitrate representation based on a common scheme called LEB128. # # Compression is greatest given large piecewise constant regions. # Specifically, the size of the RLE is proportional to the number of # *boundaries* in M (or for an image the number of boundaries in the y # direction). Assuming fairly simple shapes, the RLE representation is # O(sqrt(n)) where n is number of pixels in the object. Hence space usage # is substantially lower, especially for large simple objects (large n). # # Many common operations on masks can be computed directly using the RLE # (without need for decoding). This includes computations such as area, # union, intersection, etc. All of these operations are linear in the # size of the RLE, in other words they are O(sqrt(n)) where n is the area # of the object. Computing these operations on the original mask is O(n). # Thus, using the RLE can result in substantial computational savings. # # The following API functions are defined: # encode - Encode binary masks using RLE. # decode - Decode binary masks encoded via RLE. # merge - Compute union or intersection of encoded masks. # iou - Compute intersection over union between masks. # area - Compute area of encoded masks. # toBbox - Get bounding boxes surrounding encoded masks. # frPyObjects - Convert polygon, bbox, and uncompressed RLE to encoded RLE mask. # # Usage: # Rs = encode( masks ) # masks = decode( Rs ) # R = merge( Rs, intersect=false ) # o = iou( dt, gt, iscrowd ) # a = area( Rs ) # bbs = toBbox( Rs ) # Rs = frPyObjects( [pyObjects], h, w ) # # In the API the following formats are used: # Rs - [dict] Run-length encoding of binary masks # R - dict Run-length encoding of binary mask # masks - [hxwxn] Binary mask(s) (must have type np.ndarray(dtype=uint8) in column-major order) # iscrowd - [nx1] list of np.ndarray. 1 indicates corresponding gt image has crowd region to ignore # bbs - [nx4] Bounding box(es) stored as [x y w h] # poly - Polygon stored as [[x1 y1 x2 y2...],[x1 y1 ...],...] (2D list) # dt,gt - May be either bounding boxes or encoded masks # Both poly and bbs are 0-indexed (bbox=[0 0 1 1] encloses first pixel). # # Finally, a note about the intersection over union (iou) computation. # The standard iou of a ground truth (gt) and detected (dt) object is # iou(gt,dt) = area(intersect(gt,dt)) / area(union(gt,dt)) # For "crowd" regions, we use a modified criteria. If a gt object is # marked as "iscrowd", we allow a dt to match any subregion of the gt. # Choosing gt' in the crowd gt that best matches the dt can be done using # gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing # iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) # For crowd gt regions we use this modified criteria above for the iou. # # To compile run "python setup.py build_ext --inplace" # Please do not contact us for help with compiling. # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] iou = _mask.iou merge = _mask.merge frPyObjects = _mask.frPyObjects def encode(bimask): if len(bimask.shape) == 3: return _mask.encode(bimask) elif len(bimask.shape) == 2: h, w = bimask.shape return _mask.encode(bimask.reshape((h, w, 1), order='F'))[0] def decode(rleObjs): if type(rleObjs) == list: return _mask.decode(rleObjs) else: return _mask.decode([rleObjs])[:,:,0] def area(rleObjs): if type(rleObjs) == list: return _mask.area(rleObjs) else: return _mask.area([rleObjs])[0] def toBbox(rleObjs): if type(rleObjs) == list: return _mask.toBbox(rleObjs) else: return _mask.toBbox([rleObjs])[0] ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/install ================================================ python setup.py install ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/install.sh ================================================ python setup.py install ================================================ FILE: CrowdPose/crowdpose-api/PythonAPI/setup.py ================================================ from distutils.core import setup from Cython.Build import cythonize from distutils.extension import Extension import numpy as np # To compile and install locally run "python setup.py build_ext --inplace" # To install library to Python site-packages run "python setup.py build_ext install" ext_modules = [ Extension( 'crowdposetools._mask', sources=['../common/maskApi.c', 'crowdposetools/_mask.pyx'], include_dirs=[np.get_include(), '../common'], extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'], ) ] setup(name='crowdposetools', packages=['crowdposetools'], package_dir={'crowdposetools': 'crowdposetools'}, version='2.0', ext_modules=cythonize(ext_modules) ) ================================================ FILE: CrowdPose/crowdpose-api/README.md ================================================ CrowdPose API (based on COCO API) To install: -For Python, run "sh install.sh" under coco/PythonAPI ================================================ FILE: CrowdPose/crowdpose-api/annotations/crowdpose_val.json ================================================ {"images": [{"file_name": "114203.jpg", "id": 114203, "height": 1000, "width": 795, "crowdIndex": 0.76}, {"file_name": "104173.jpg", "id": 104173, "height": 640, "width": 427, "crowdIndex": 0.76}, {"file_name": "107292.jpg", "id": 107292, "height": 423, "width": 640, "crowdIndex": 0.82}, {"file_name": "115625.jpg", "id": 115625, "height": 835, "width": 550, "crowdIndex": 0.0}, {"file_name": "102218.jpg", "id": 102218, "height": 480, "width": 640, "crowdIndex": 1.0}, {"file_name": "117306.jpg", "id": 117306, "height": 587, "width": 850, "crowdIndex": 0.21}, {"file_name": "114114.jpg", "id": 114114, "height": 596, "width": 900, "crowdIndex": 0.65}, {"file_name": "109488.jpg", "id": 109488, "height": 806, "width": 550, "crowdIndex": 0.11}, {"file_name": "103593.jpg", "id": 103593, "height": 500, "width": 289, "crowdIndex": 0.0}, {"file_name": "104402.jpg", "id": 104402, "height": 640, "width": 633, "crowdIndex": 0.54}, {"file_name": "118535.jpg", "id": 118535, "height": 680, "width": 940, "crowdIndex": 0.41}, {"file_name": "114144.jpg", "id": 114144, "height": 714, "width": 1000, "crowdIndex": 0.4}, {"file_name": "113144.jpg", "id": 113144, "height": 721, "width": 940, "crowdIndex": 0.54}, {"file_name": "105821.jpg", "id": 105821, "height": 427, "width": 640, "crowdIndex": 0.36}, {"file_name": "102730.jpg", "id": 102730, "height": 375, "width": 500, "crowdIndex": 0.14}, {"file_name": "107408.jpg", "id": 107408, "height": 238, "width": 320, "crowdIndex": 0.34}, {"file_name": "118064.jpg", "id": 118064, "height": 798, "width": 600, "crowdIndex": 0.58}, {"file_name": "113281.jpg", "id": 113281, "height": 918, "width": 690, "crowdIndex": 0.71}, {"file_name": "117238.jpg", "id": 117238, "height": 596, "width": 900, "crowdIndex": 0.12}, {"file_name": "106513.jpg", "id": 106513, "height": 427, "width": 640, "crowdIndex": 0.16}, {"file_name": "117145.jpg", "id": 117145, "height": 684, "width": 950, "crowdIndex": 0.82}, {"file_name": "101893.jpg", "id": 101893, "height": 640, "width": 480, "crowdIndex": 0.62}, {"file_name": "114549.jpg", "id": 114549, "height": 691, "width": 1000, "crowdIndex": 0.75}, {"file_name": "103912.jpg", "id": 103912, "height": 640, "width": 426, "crowdIndex": 0.75}, {"file_name": "118382.jpg", "id": 118382, "height": 1000, "width": 667, "crowdIndex": 0.0}, {"file_name": "111073.jpg", "id": 111073, "height": 650, "width": 557, "crowdIndex": 0.82}, {"file_name": "113796.jpg", "id": 113796, "height": 599, "width": 900, "crowdIndex": 0.2}, {"file_name": "109492.jpg", "id": 109492, "height": 825, "width": 550, "crowdIndex": 1.09}, {"file_name": "105325.jpg", "id": 105325, "height": 478, "width": 640, "crowdIndex": 0.45}, {"file_name": "116035.jpg", "id": 116035, "height": 600, "width": 900, "crowdIndex": 0.71}, {"file_name": "100069.jpg", "id": 100069, "height": 525, "width": 640, "crowdIndex": 0.0}, {"file_name": "101218.jpg", "id": 101218, "height": 427, "width": 640, "crowdIndex": 0.69}, {"file_name": "107357.jpg", "id": 107357, "height": 431, "width": 640, "crowdIndex": 0.26}, {"file_name": "117190.jpg", "id": 117190, "height": 600, "width": 900, "crowdIndex": 1.0}, {"file_name": "115819.jpg", "id": 115819, "height": 1000, "width": 656, "crowdIndex": 0.37}, {"file_name": "100774.jpg", "id": 100774, "height": 400, "width": 600, "crowdIndex": 0.52}, {"file_name": "107239.jpg", "id": 107239, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "109900.jpg", "id": 109900, "height": 825, "width": 550, "crowdIndex": 0.7}, {"file_name": "105335.jpg", "id": 105335, "height": 640, "width": 426, "crowdIndex": 0.88}, {"file_name": "117626.jpg", "id": 117626, "height": 762, "width": 940, "crowdIndex": 0.93}, {"file_name": "108490.jpg", "id": 108490, "height": 480, "width": 640, "crowdIndex": 0.55}, {"file_name": "100284.jpg", "id": 100284, "height": 426, "width": 640, "crowdIndex": 0.3}, {"file_name": "113454.jpg", "id": 113454, "height": 496, "width": 737, "crowdIndex": 0.79}, {"file_name": "105960.jpg", "id": 105960, "height": 480, "width": 640, "crowdIndex": 0.17}, {"file_name": "105716.jpg", "id": 105716, "height": 640, "width": 424, "crowdIndex": 0.87}, {"file_name": "119210.jpg", "id": 119210, "height": 666, "width": 1000, "crowdIndex": 0.57}, {"file_name": "105608.jpg", "id": 105608, "height": 353, "width": 640, "crowdIndex": 0.57}, {"file_name": "114457.jpg", "id": 114457, "height": 1000, "width": 662, "crowdIndex": 0.93}, {"file_name": "100143.jpg", "id": 100143, "height": 480, "width": 640, "crowdIndex": 0.2}, {"file_name": "114752.jpg", "id": 114752, "height": 939, "width": 748, "crowdIndex": 0.32}, {"file_name": "104995.jpg", "id": 104995, "height": 417, "width": 640, "crowdIndex": 0.0}, {"file_name": "100473.jpg", "id": 100473, "height": 480, "width": 640, "crowdIndex": 0.83}, {"file_name": "112937.jpg", "id": 112937, "height": 1000, "width": 665, "crowdIndex": 0.96}, {"file_name": "109564.jpg", "id": 109564, "height": 733, "width": 550, "crowdIndex": 0.21}, {"file_name": "113444.jpg", "id": 113444, "height": 766, "width": 821, "crowdIndex": 0.77}, {"file_name": "111317.jpg", "id": 111317, "height": 600, "width": 701, "crowdIndex": 0.84}, {"file_name": "118181.jpg", "id": 118181, "height": 751, "width": 1000, "crowdIndex": 0.7}, {"file_name": "118106.jpg", "id": 118106, "height": 531, "width": 950, "crowdIndex": 0.12}, {"file_name": "101425.jpg", "id": 101425, "height": 640, "width": 425, "crowdIndex": 0.2}, {"file_name": "118663.jpg", "id": 118663, "height": 586, "width": 880, "crowdIndex": 0.52}, {"file_name": "115604.jpg", "id": 115604, "height": 628, "width": 940, "crowdIndex": 0.59}, {"file_name": "116081.jpg", "id": 116081, "height": 936, "width": 634, "crowdIndex": 0.91}, {"file_name": "106565.jpg", "id": 106565, "height": 640, "width": 426, "crowdIndex": 0.36}, {"file_name": "114339.jpg", "id": 114339, "height": 577, "width": 939, "crowdIndex": 0.79}, {"file_name": "108934.jpg", "id": 108934, "height": 453, "width": 640, "crowdIndex": 0.32}, {"file_name": "113412.jpg", "id": 113412, "height": 350, "width": 550, "crowdIndex": 0.24}, {"file_name": "104802.jpg", "id": 104802, "height": 424, "width": 640, "crowdIndex": 0.11}, {"file_name": "114190.jpg", "id": 114190, "height": 622, "width": 930, "crowdIndex": 0.2}, {"file_name": "116468.jpg", "id": 116468, "height": 623, "width": 930, "crowdIndex": 0.42}, {"file_name": "106937.jpg", "id": 106937, "height": 427, "width": 640, "crowdIndex": 0.33}, {"file_name": "112834.jpg", "id": 112834, "height": 762, "width": 550, "crowdIndex": 0.57}, {"file_name": "108424.jpg", "id": 108424, "height": 480, "width": 640, "crowdIndex": 0.33}, {"file_name": "105615.jpg", "id": 105615, "height": 428, "width": 640, "crowdIndex": 0.32}, {"file_name": "117890.jpg", "id": 117890, "height": 666, "width": 1000, "crowdIndex": 0.12}, {"file_name": "103240.jpg", "id": 103240, "height": 426, "width": 640, "crowdIndex": 1.13}, {"file_name": "113068.jpg", "id": 113068, "height": 750, "width": 500, "crowdIndex": 0.11}, {"file_name": "117151.jpg", "id": 117151, "height": 633, "width": 950, "crowdIndex": 0.38}, {"file_name": "100144.jpg", "id": 100144, "height": 320, "width": 480, "crowdIndex": 0.32}, {"file_name": "112031.jpg", "id": 112031, "height": 697, "width": 510, "crowdIndex": 0.79}, {"file_name": "112245.jpg", "id": 112245, "height": 1000, "width": 794, "crowdIndex": 0.32}, {"file_name": "105692.jpg", "id": 105692, "height": 480, "width": 640, "crowdIndex": 1.18}, {"file_name": "119159.jpg", "id": 119159, "height": 627, "width": 940, "crowdIndex": 0.18}, {"file_name": "110601.jpg", "id": 110601, "height": 600, "width": 859, "crowdIndex": 0.64}, {"file_name": "104645.jpg", "id": 104645, "height": 480, "width": 640, "crowdIndex": 0.5}, {"file_name": "101911.jpg", "id": 101911, "height": 640, "width": 494, "crowdIndex": 0.92}, {"file_name": "110657.jpg", "id": 110657, "height": 768, "width": 975, "crowdIndex": 0.83}, {"file_name": "116555.jpg", "id": 116555, "height": 940, "width": 626, "crowdIndex": 0.76}, {"file_name": "110551.jpg", "id": 110551, "height": 720, "width": 540, "crowdIndex": 0.63}, {"file_name": "104594.jpg", "id": 104594, "height": 480, "width": 640, "crowdIndex": 0.33}, {"file_name": "114473.jpg", "id": 114473, "height": 460, "width": 690, "crowdIndex": 0.39}, {"file_name": "115227.jpg", "id": 115227, "height": 1000, "width": 534, "crowdIndex": 0.5}, {"file_name": "108821.jpg", "id": 108821, "height": 500, "width": 428, "crowdIndex": 0.3}, {"file_name": "108324.jpg", "id": 108324, "height": 640, "width": 426, "crowdIndex": 0.78}, {"file_name": "118481.jpg", "id": 118481, "height": 948, "width": 631, "crowdIndex": 0.54}, {"file_name": "102242.jpg", "id": 102242, "height": 480, "width": 640, "crowdIndex": 0.24}, {"file_name": "102183.jpg", "id": 102183, "height": 426, "width": 640, "crowdIndex": 0.33}, {"file_name": "101008.jpg", "id": 101008, "height": 400, "width": 640, "crowdIndex": 0.36}, {"file_name": "112056.jpg", "id": 112056, "height": 781, "width": 509, "crowdIndex": 0.64}, {"file_name": "100415.jpg", "id": 100415, "height": 428, "width": 640, "crowdIndex": 0.38}, {"file_name": "106540.jpg", "id": 106540, "height": 425, "width": 640, "crowdIndex": 0.57}, {"file_name": "104670.jpg", "id": 104670, "height": 288, "width": 352, "crowdIndex": 0.61}, {"file_name": "114683.jpg", "id": 114683, "height": 1000, "width": 679, "crowdIndex": 0.66}, {"file_name": "107002.jpg", "id": 107002, "height": 578, "width": 640, "crowdIndex": 0.47}, {"file_name": "103785.jpg", "id": 103785, "height": 460, "width": 640, "crowdIndex": 0.0}, {"file_name": "119190.jpg", "id": 119190, "height": 573, "width": 900, "crowdIndex": 0.68}, {"file_name": "107122.jpg", "id": 107122, "height": 483, "width": 640, "crowdIndex": 0.0}, {"file_name": "118672.jpg", "id": 118672, "height": 666, "width": 1000, "crowdIndex": 0.48}, {"file_name": "103280.jpg", "id": 103280, "height": 467, "width": 500, "crowdIndex": 1.31}, {"file_name": "108243.jpg", "id": 108243, "height": 480, "width": 640, "crowdIndex": 0.71}, {"file_name": "119377.jpg", "id": 119377, "height": 634, "width": 950, "crowdIndex": 0.71}, {"file_name": "111420.jpg", "id": 111420, "height": 532, "width": 800, "crowdIndex": 0.34}, {"file_name": "113699.jpg", "id": 113699, "height": 948, "width": 831, "crowdIndex": 1.38}, {"file_name": "110581.jpg", "id": 110581, "height": 624, "width": 937, "crowdIndex": 0.41}, {"file_name": "100805.jpg", "id": 100805, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "102821.jpg", "id": 102821, "height": 480, "width": 640, "crowdIndex": 0.6}, {"file_name": "117246.jpg", "id": 117246, "height": 1000, "width": 666, "crowdIndex": 0.29}, {"file_name": "108713.jpg", "id": 108713, "height": 426, "width": 640, "crowdIndex": 0.12}, {"file_name": "119660.jpg", "id": 119660, "height": 1000, "width": 803, "crowdIndex": 0.39}, {"file_name": "104693.jpg", "id": 104693, "height": 480, "width": 640, "crowdIndex": 0.54}, {"file_name": "101095.jpg", "id": 101095, "height": 424, "width": 640, "crowdIndex": 0.21}, {"file_name": "118047.jpg", "id": 118047, "height": 950, "width": 634, "crowdIndex": 0.57}, {"file_name": "115356.jpg", "id": 115356, "height": 900, "width": 675, "crowdIndex": 0.68}, {"file_name": "104930.jpg", "id": 104930, "height": 480, "width": 640, "crowdIndex": 0.16}, {"file_name": "110463.jpg", "id": 110463, "height": 741, "width": 550, "crowdIndex": 0.15}, {"file_name": "113149.jpg", "id": 113149, "height": 939, "width": 668, "crowdIndex": 0.0}, {"file_name": "102799.jpg", "id": 102799, "height": 640, "width": 427, "crowdIndex": 0.62}, {"file_name": "101477.jpg", "id": 101477, "height": 640, "width": 499, "crowdIndex": 0.0}, {"file_name": "113886.jpg", "id": 113886, "height": 838, "width": 600, "crowdIndex": 0.81}, {"file_name": "109720.jpg", "id": 109720, "height": 650, "width": 839, "crowdIndex": 0.9}, {"file_name": "102221.jpg", "id": 102221, "height": 360, "width": 640, "crowdIndex": 0.19}, {"file_name": "113295.jpg", "id": 113295, "height": 940, "width": 823, "crowdIndex": 0.88}, {"file_name": "116154.jpg", "id": 116154, "height": 589, "width": 941, "crowdIndex": 0.41}, {"file_name": "113757.jpg", "id": 113757, "height": 768, "width": 693, "crowdIndex": 0.75}, {"file_name": "100587.jpg", "id": 100587, "height": 480, "width": 640, "crowdIndex": 0.64}, {"file_name": "115104.jpg", "id": 115104, "height": 1000, "width": 666, "crowdIndex": 0.49}, {"file_name": "107651.jpg", "id": 107651, "height": 640, "width": 538, "crowdIndex": 0.52}, {"file_name": "115757.jpg", "id": 115757, "height": 571, "width": 900, "crowdIndex": 0.82}, {"file_name": "115278.jpg", "id": 115278, "height": 1000, "width": 667, "crowdIndex": 1.01}, {"file_name": "117616.jpg", "id": 117616, "height": 939, "width": 626, "crowdIndex": 0.28}, {"file_name": "110867.jpg", "id": 110867, "height": 665, "width": 1000, "crowdIndex": 0.25}, {"file_name": "114471.jpg", "id": 114471, "height": 1000, "width": 666, "crowdIndex": 0.57}, {"file_name": "105908.jpg", "id": 105908, "height": 516, "width": 640, "crowdIndex": 0.33}, {"file_name": "115609.jpg", "id": 115609, "height": 625, "width": 950, "crowdIndex": 0.58}, {"file_name": "111546.jpg", "id": 111546, "height": 980, "width": 688, "crowdIndex": 0.52}, {"file_name": "116134.jpg", "id": 116134, "height": 648, "width": 940, "crowdIndex": 0.45}, {"file_name": "117756.jpg", "id": 117756, "height": 800, "width": 533, "crowdIndex": 0.3}, {"file_name": "111431.jpg", "id": 111431, "height": 782, "width": 1000, "crowdIndex": 0.14}, {"file_name": "107213.jpg", "id": 107213, "height": 480, "width": 640, "crowdIndex": 0.16}, {"file_name": "119650.jpg", "id": 119650, "height": 640, "width": 960, "crowdIndex": 0.44}, {"file_name": "107828.jpg", "id": 107828, "height": 640, "width": 427, "crowdIndex": 0.71}, {"file_name": "111552.jpg", "id": 111552, "height": 666, "width": 1000, "crowdIndex": 0.53}, {"file_name": "106539.jpg", "id": 106539, "height": 426, "width": 640, "crowdIndex": 1.04}, {"file_name": "106999.jpg", "id": 106999, "height": 478, "width": 640, "crowdIndex": 0.0}, {"file_name": "109975.jpg", "id": 109975, "height": 666, "width": 500, "crowdIndex": 0.39}, {"file_name": "117093.jpg", "id": 117093, "height": 1000, "width": 611, "crowdIndex": 0.61}, {"file_name": "115526.jpg", "id": 115526, "height": 1000, "width": 667, "crowdIndex": 0.64}, {"file_name": "106426.jpg", "id": 106426, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "101525.jpg", "id": 101525, "height": 456, "width": 500, "crowdIndex": 0.78}, {"file_name": "109110.jpg", "id": 109110, "height": 780, "width": 520, "crowdIndex": 0.0}, {"file_name": "118132.jpg", "id": 118132, "height": 800, "width": 532, "crowdIndex": 0.9}, {"file_name": "110586.jpg", "id": 110586, "height": 641, "width": 854, "crowdIndex": 0.34}, {"file_name": "107358.jpg", "id": 107358, "height": 367, "width": 500, "crowdIndex": 0.0}, {"file_name": "112593.jpg", "id": 112593, "height": 646, "width": 1000, "crowdIndex": 0.88}, {"file_name": "103143.jpg", "id": 103143, "height": 451, "width": 640, "crowdIndex": 1.34}, {"file_name": "113112.jpg", "id": 113112, "height": 1000, "width": 681, "crowdIndex": 0.0}, {"file_name": "106369.jpg", "id": 106369, "height": 427, "width": 640, "crowdIndex": 0.08}, {"file_name": "119951.jpg", "id": 119951, "height": 1000, "width": 781, "crowdIndex": 1.28}, {"file_name": "119583.jpg", "id": 119583, "height": 669, "width": 570, "crowdIndex": 0.11}, {"file_name": "107700.jpg", "id": 107700, "height": 427, "width": 640, "crowdIndex": 0.39}, {"file_name": "111013.jpg", "id": 111013, "height": 666, "width": 1000, "crowdIndex": 0.0}, {"file_name": "111360.jpg", "id": 111360, "height": 712, "width": 940, "crowdIndex": 0.32}, {"file_name": "102459.jpg", "id": 102459, "height": 480, "width": 640, "crowdIndex": 0.16}, {"file_name": "116697.jpg", "id": 116697, "height": 1000, "width": 659, "crowdIndex": 0.49}, {"file_name": "105254.jpg", "id": 105254, "height": 510, "width": 640, "crowdIndex": 0.31}, {"file_name": "106133.jpg", "id": 106133, "height": 463, "width": 640, "crowdIndex": 0.0}, {"file_name": "104542.jpg", "id": 104542, "height": 480, "width": 640, "crowdIndex": 0.54}, {"file_name": "111281.jpg", "id": 111281, "height": 854, "width": 640, "crowdIndex": 0.45}, {"file_name": "106483.jpg", "id": 106483, "height": 426, "width": 640, "crowdIndex": 1.03}, {"file_name": "109136.jpg", "id": 109136, "height": 825, "width": 550, "crowdIndex": 0.79}, {"file_name": "110400.jpg", "id": 110400, "height": 794, "width": 550, "crowdIndex": 0.64}, {"file_name": "104477.jpg", "id": 104477, "height": 480, "width": 640, "crowdIndex": 0.14}, {"file_name": "105976.jpg", "id": 105976, "height": 640, "width": 379, "crowdIndex": 0.19}, {"file_name": "103355.jpg", "id": 103355, "height": 478, "width": 640, "crowdIndex": 0.41}, {"file_name": "112210.jpg", "id": 112210, "height": 807, "width": 1000, "crowdIndex": 0.57}, {"file_name": "118120.jpg", "id": 118120, "height": 626, "width": 940, "crowdIndex": 0.39}, {"file_name": "114497.jpg", "id": 114497, "height": 939, "width": 683, "crowdIndex": 0.64}, {"file_name": "107074.jpg", "id": 107074, "height": 480, "width": 640, "crowdIndex": 0.17}, {"file_name": "112400.jpg", "id": 112400, "height": 600, "width": 878, "crowdIndex": 1.0}, {"file_name": "115056.jpg", "id": 115056, "height": 585, "width": 950, "crowdIndex": 0.62}, {"file_name": "118615.jpg", "id": 118615, "height": 633, "width": 950, "crowdIndex": 0.96}, {"file_name": "112538.jpg", "id": 112538, "height": 1000, "width": 758, "crowdIndex": 0.5}, {"file_name": "111801.jpg", "id": 111801, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "109885.jpg", "id": 109885, "height": 460, "width": 840, "crowdIndex": 0.47}, {"file_name": "118088.jpg", "id": 118088, "height": 660, "width": 634, "crowdIndex": 0.67}, {"file_name": "106772.jpg", "id": 106772, "height": 576, "width": 640, "crowdIndex": 0.0}, {"file_name": "101744.jpg", "id": 101744, "height": 640, "width": 480, "crowdIndex": 0.46}, {"file_name": "109356.jpg", "id": 109356, "height": 663, "width": 500, "crowdIndex": 0.68}, {"file_name": "116825.jpg", "id": 116825, "height": 541, "width": 540, "crowdIndex": 0.45}, {"file_name": "106975.jpg", "id": 106975, "height": 361, "width": 640, "crowdIndex": 0.43}, {"file_name": "101337.jpg", "id": 101337, "height": 318, "width": 640, "crowdIndex": 0.47}, {"file_name": "109460.jpg", "id": 109460, "height": 668, "width": 1000, "crowdIndex": 0.75}, {"file_name": "109132.jpg", "id": 109132, "height": 719, "width": 550, "crowdIndex": 0.9}, {"file_name": "101123.jpg", "id": 101123, "height": 282, "width": 640, "crowdIndex": 0.2}, {"file_name": "117166.jpg", "id": 117166, "height": 626, "width": 939, "crowdIndex": 0.33}, {"file_name": "114032.jpg", "id": 114032, "height": 600, "width": 900, "crowdIndex": 0.1}, {"file_name": "106221.jpg", "id": 106221, "height": 429, "width": 640, "crowdIndex": 0.43}, {"file_name": "118456.jpg", "id": 118456, "height": 1000, "width": 666, "crowdIndex": 0.14}, {"file_name": "112895.jpg", "id": 112895, "height": 800, "width": 533, "crowdIndex": 0.54}, {"file_name": "104138.jpg", "id": 104138, "height": 500, "width": 333, "crowdIndex": 0.58}, {"file_name": "116929.jpg", "id": 116929, "height": 1000, "width": 714, "crowdIndex": 0.11}, {"file_name": "102862.jpg", "id": 102862, "height": 432, "width": 640, "crowdIndex": 0.42}, {"file_name": "115006.jpg", "id": 115006, "height": 604, "width": 945, "crowdIndex": 0.76}, {"file_name": "110315.jpg", "id": 110315, "height": 663, "width": 900, "crowdIndex": 0.25}, {"file_name": "100151.jpg", "id": 100151, "height": 427, "width": 640, "crowdIndex": 0.23}, {"file_name": "101065.jpg", "id": 101065, "height": 424, "width": 640, "crowdIndex": 0.55}, {"file_name": "114289.jpg", "id": 114289, "height": 530, "width": 800, "crowdIndex": 0.11}, {"file_name": "102204.jpg", "id": 102204, "height": 513, "width": 640, "crowdIndex": 0.78}, {"file_name": "117250.jpg", "id": 117250, "height": 600, "width": 900, "crowdIndex": 0.5}, {"file_name": "106484.jpg", "id": 106484, "height": 427, "width": 640, "crowdIndex": 0.83}, {"file_name": "116877.jpg", "id": 116877, "height": 1000, "width": 625, "crowdIndex": 0.68}, {"file_name": "115881.jpg", "id": 115881, "height": 1000, "width": 666, "crowdIndex": 0.63}, {"file_name": "116202.jpg", "id": 116202, "height": 689, "width": 950, "crowdIndex": 0.57}, {"file_name": "110807.jpg", "id": 110807, "height": 599, "width": 900, "crowdIndex": 0.19}, {"file_name": "109982.jpg", "id": 109982, "height": 722, "width": 500, "crowdIndex": 0.75}, {"file_name": "102255.jpg", "id": 102255, "height": 427, "width": 640, "crowdIndex": 0.75}, {"file_name": "101774.jpg", "id": 101774, "height": 427, "width": 640, "crowdIndex": 0.4}, {"file_name": "111325.jpg", "id": 111325, "height": 1000, "width": 697, "crowdIndex": 0.79}, {"file_name": "105387.jpg", "id": 105387, "height": 480, "width": 640, "crowdIndex": 0.68}, {"file_name": "119930.jpg", "id": 119930, "height": 432, "width": 600, "crowdIndex": 0.25}, {"file_name": "110453.jpg", "id": 110453, "height": 918, "width": 612, "crowdIndex": 0.31}, {"file_name": "105378.jpg", "id": 105378, "height": 462, "width": 640, "crowdIndex": 0.46}, {"file_name": "103682.jpg", "id": 103682, "height": 450, "width": 640, "crowdIndex": 0.61}, {"file_name": "111658.jpg", "id": 111658, "height": 1000, "width": 665, "crowdIndex": 0.32}, {"file_name": "107036.jpg", "id": 107036, "height": 480, "width": 640, "crowdIndex": 0.55}, {"file_name": "101003.jpg", "id": 101003, "height": 428, "width": 640, "crowdIndex": 0.28}, {"file_name": "108099.jpg", "id": 108099, "height": 640, "width": 480, "crowdIndex": 0.19}, {"file_name": "102435.jpg", "id": 102435, "height": 427, "width": 640, "crowdIndex": 0.2}, {"file_name": "112509.jpg", "id": 112509, "height": 706, "width": 950, "crowdIndex": 0.36}, {"file_name": "108338.jpg", "id": 108338, "height": 432, "width": 640, "crowdIndex": 0.16}, {"file_name": "104658.jpg", "id": 104658, "height": 471, "width": 640, "crowdIndex": 0.38}, {"file_name": "101753.jpg", "id": 101753, "height": 310, "width": 640, "crowdIndex": 0.35}, {"file_name": "105116.jpg", "id": 105116, "height": 640, "width": 523, "crowdIndex": 0.51}, {"file_name": "100845.jpg", "id": 100845, "height": 640, "width": 427, "crowdIndex": 0.32}, {"file_name": "107342.jpg", "id": 107342, "height": 479, "width": 640, "crowdIndex": 0.49}, {"file_name": "102130.jpg", "id": 102130, "height": 640, "width": 497, "crowdIndex": 0.46}, {"file_name": "117216.jpg", "id": 117216, "height": 994, "width": 871, "crowdIndex": 0.39}, {"file_name": "116338.jpg", "id": 116338, "height": 1000, "width": 666, "crowdIndex": 0.61}, {"file_name": "116481.jpg", "id": 116481, "height": 600, "width": 800, "crowdIndex": 0.62}, {"file_name": "104067.jpg", "id": 104067, "height": 385, "width": 500, "crowdIndex": 0.38}, {"file_name": "115235.jpg", "id": 115235, "height": 655, "width": 940, "crowdIndex": 0.95}, {"file_name": "102576.jpg", "id": 102576, "height": 480, "width": 640, "crowdIndex": 0.22}, {"file_name": "112533.jpg", "id": 112533, "height": 1000, "width": 774, "crowdIndex": 0.14}, {"file_name": "109122.jpg", "id": 109122, "height": 650, "width": 500, "crowdIndex": 0.84}, {"file_name": "119922.jpg", "id": 119922, "height": 650, "width": 883, "crowdIndex": 0.79}, {"file_name": "105430.jpg", "id": 105430, "height": 480, "width": 640, "crowdIndex": 0.3}, {"file_name": "117691.jpg", "id": 117691, "height": 1000, "width": 693, "crowdIndex": 0.82}, {"file_name": "117909.jpg", "id": 117909, "height": 599, "width": 940, "crowdIndex": 0.1}, {"file_name": "109827.jpg", "id": 109827, "height": 1000, "width": 779, "crowdIndex": 0.5}, {"file_name": "103862.jpg", "id": 103862, "height": 500, "width": 332, "crowdIndex": 0.47}, {"file_name": "102651.jpg", "id": 102651, "height": 457, "width": 640, "crowdIndex": 0.72}, {"file_name": "114288.jpg", "id": 114288, "height": 423, "width": 500, "crowdIndex": 0.75}, {"file_name": "113980.jpg", "id": 113980, "height": 662, "width": 1000, "crowdIndex": 0.0}, {"file_name": "100040.jpg", "id": 100040, "height": 555, "width": 640, "crowdIndex": 0.46}, {"file_name": "108752.jpg", "id": 108752, "height": 442, "width": 640, "crowdIndex": 0.16}, {"file_name": "116752.jpg", "id": 116752, "height": 1000, "width": 799, "crowdIndex": 0.5}, {"file_name": "113270.jpg", "id": 113270, "height": 632, "width": 900, "crowdIndex": 0.15}, {"file_name": "113289.jpg", "id": 113289, "height": 600, "width": 839, "crowdIndex": 0.79}, {"file_name": "110083.jpg", "id": 110083, "height": 666, "width": 1000, "crowdIndex": 0.7}, {"file_name": "116422.jpg", "id": 116422, "height": 850, "width": 547, "crowdIndex": 0.35}, {"file_name": "113448.jpg", "id": 113448, "height": 677, "width": 950, "crowdIndex": 0.81}, {"file_name": "117502.jpg", "id": 117502, "height": 641, "width": 900, "crowdIndex": 0.79}, {"file_name": "116485.jpg", "id": 116485, "height": 522, "width": 694, "crowdIndex": 0.79}, {"file_name": "101191.jpg", "id": 101191, "height": 428, "width": 640, "crowdIndex": 0.23}, {"file_name": "105789.jpg", "id": 105789, "height": 426, "width": 640, "crowdIndex": 0.74}, {"file_name": "103443.jpg", "id": 103443, "height": 640, "width": 434, "crowdIndex": 0.51}, {"file_name": "118547.jpg", "id": 118547, "height": 638, "width": 1000, "crowdIndex": 0.84}, {"file_name": "106525.jpg", "id": 106525, "height": 427, "width": 640, "crowdIndex": 0.23}, {"file_name": "104780.jpg", "id": 104780, "height": 253, "width": 640, "crowdIndex": 0.0}, {"file_name": "119186.jpg", "id": 119186, "height": 666, "width": 1000, "crowdIndex": 0.6}, {"file_name": "113363.jpg", "id": 113363, "height": 620, "width": 950, "crowdIndex": 0.36}, {"file_name": "110167.jpg", "id": 110167, "height": 598, "width": 851, "crowdIndex": 0.89}, {"file_name": "103268.jpg", "id": 103268, "height": 427, "width": 640, "crowdIndex": 0.72}, {"file_name": "103021.jpg", "id": 103021, "height": 427, "width": 640, "crowdIndex": 0.64}, {"file_name": "117294.jpg", "id": 117294, "height": 666, "width": 1000, "crowdIndex": 0.59}, {"file_name": "119816.jpg", "id": 119816, "height": 626, "width": 940, "crowdIndex": 0.57}, {"file_name": "118495.jpg", "id": 118495, "height": 620, "width": 930, "crowdIndex": 0.2}, {"file_name": "109889.jpg", "id": 109889, "height": 645, "width": 800, "crowdIndex": 0.46}, {"file_name": "100410.jpg", "id": 100410, "height": 427, "width": 640, "crowdIndex": 0.94}, {"file_name": "105547.jpg", "id": 105547, "height": 517, "width": 640, "crowdIndex": 0.66}, {"file_name": "100138.jpg", "id": 100138, "height": 640, "width": 427, "crowdIndex": 0.42}, {"file_name": "119427.jpg", "id": 119427, "height": 940, "width": 626, "crowdIndex": 1.6}, {"file_name": "111192.jpg", "id": 111192, "height": 853, "width": 640, "crowdIndex": 0.86}, {"file_name": "106609.jpg", "id": 106609, "height": 447, "width": 640, "crowdIndex": 0.07}, {"file_name": "119340.jpg", "id": 119340, "height": 749, "width": 500, "crowdIndex": 0.43}, {"file_name": "110617.jpg", "id": 110617, "height": 900, "width": 600, "crowdIndex": 0.43}, {"file_name": "100610.jpg", "id": 100610, "height": 393, "width": 600, "crowdIndex": 0.82}, {"file_name": "114159.jpg", "id": 114159, "height": 800, "width": 533, "crowdIndex": 0.86}, {"file_name": "105582.jpg", "id": 105582, "height": 480, "width": 640, "crowdIndex": 0.25}, {"file_name": "115144.jpg", "id": 115144, "height": 633, "width": 950, "crowdIndex": 0.43}, {"file_name": "118000.jpg", "id": 118000, "height": 626, "width": 940, "crowdIndex": 0.39}, {"file_name": "103281.jpg", "id": 103281, "height": 480, "width": 640, "crowdIndex": 0.63}, {"file_name": "106983.jpg", "id": 106983, "height": 458, "width": 640, "crowdIndex": 0.63}, {"file_name": "100038.jpg", "id": 100038, "height": 640, "width": 427, "crowdIndex": 0.33}, {"file_name": "115350.jpg", "id": 115350, "height": 1000, "width": 667, "crowdIndex": 0.14}, {"file_name": "104086.jpg", "id": 104086, "height": 480, "width": 640, "crowdIndex": 0.53}, {"file_name": "103928.jpg", "id": 103928, "height": 500, "width": 368, "crowdIndex": 0.14}, {"file_name": "100418.jpg", "id": 100418, "height": 427, "width": 640, "crowdIndex": 0.16}, {"file_name": "118172.jpg", "id": 118172, "height": 1000, "width": 680, "crowdIndex": 1.32}, {"file_name": "100250.jpg", "id": 100250, "height": 430, "width": 640, "crowdIndex": 0.26}, {"file_name": "114728.jpg", "id": 114728, "height": 1000, "width": 737, "crowdIndex": 0.4}, {"file_name": "102509.jpg", "id": 102509, "height": 428, "width": 640, "crowdIndex": 0.21}, {"file_name": "117000.jpg", "id": 117000, "height": 1000, "width": 666, "crowdIndex": 0.71}, {"file_name": "104702.jpg", "id": 104702, "height": 429, "width": 640, "crowdIndex": 0.0}, {"file_name": "104438.jpg", "id": 104438, "height": 480, "width": 640, "crowdIndex": 0.15}, {"file_name": "118781.jpg", "id": 118781, "height": 600, "width": 900, "crowdIndex": 0.16}, {"file_name": "105538.jpg", "id": 105538, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "111470.jpg", "id": 111470, "height": 621, "width": 940, "crowdIndex": 0.32}, {"file_name": "102706.jpg", "id": 102706, "height": 457, "width": 640, "crowdIndex": 0.38}, {"file_name": "102266.jpg", "id": 102266, "height": 640, "width": 481, "crowdIndex": 0.0}, {"file_name": "113136.jpg", "id": 113136, "height": 627, "width": 940, "crowdIndex": 0.93}, {"file_name": "114481.jpg", "id": 114481, "height": 596, "width": 900, "crowdIndex": 0.36}, {"file_name": "101953.jpg", "id": 101953, "height": 640, "width": 426, "crowdIndex": 0.71}, {"file_name": "100783.jpg", "id": 100783, "height": 640, "width": 461, "crowdIndex": 0.58}, {"file_name": "110416.jpg", "id": 110416, "height": 750, "width": 500, "crowdIndex": 0.0}, {"file_name": "119045.jpg", "id": 119045, "height": 583, "width": 873, "crowdIndex": 0.29}, {"file_name": "116478.jpg", "id": 116478, "height": 733, "width": 550, "crowdIndex": 0.0}, {"file_name": "106995.jpg", "id": 106995, "height": 452, "width": 640, "crowdIndex": 0.62}, {"file_name": "118868.jpg", "id": 118868, "height": 1000, "width": 777, "crowdIndex": 0.64}, {"file_name": "107168.jpg", "id": 107168, "height": 640, "width": 412, "crowdIndex": 0.35}, {"file_name": "102870.jpg", "id": 102870, "height": 640, "width": 427, "crowdIndex": 0.61}, {"file_name": "117296.jpg", "id": 117296, "height": 527, "width": 800, "crowdIndex": 0.6}, {"file_name": "108718.jpg", "id": 108718, "height": 640, "width": 426, "crowdIndex": 0.31}, {"file_name": "115438.jpg", "id": 115438, "height": 562, "width": 1000, "crowdIndex": 0.0}, {"file_name": "110777.jpg", "id": 110777, "height": 1000, "width": 635, "crowdIndex": 0.0}, {"file_name": "100217.jpg", "id": 100217, "height": 480, "width": 640, "crowdIndex": 0.11}, {"file_name": "118492.jpg", "id": 118492, "height": 925, "width": 950, "crowdIndex": 0.88}, {"file_name": "104451.jpg", "id": 104451, "height": 427, "width": 640, "crowdIndex": 0.21}, {"file_name": "104103.jpg", "id": 104103, "height": 394, "width": 640, "crowdIndex": 0.29}, {"file_name": "103320.jpg", "id": 103320, "height": 427, "width": 640, "crowdIndex": 0.76}, {"file_name": "117530.jpg", "id": 117530, "height": 1000, "width": 793, "crowdIndex": 0.88}, {"file_name": "114372.jpg", "id": 114372, "height": 940, "width": 706, "crowdIndex": 0.71}, {"file_name": "101887.jpg", "id": 101887, "height": 640, "width": 426, "crowdIndex": 0.59}, {"file_name": "100932.jpg", "id": 100932, "height": 640, "width": 438, "crowdIndex": 0.49}, {"file_name": "105890.jpg", "id": 105890, "height": 333, "width": 500, "crowdIndex": 0.13}, {"file_name": "108489.jpg", "id": 108489, "height": 480, "width": 640, "crowdIndex": 0.44}, {"file_name": "115660.jpg", "id": 115660, "height": 1000, "width": 750, "crowdIndex": 0.34}, {"file_name": "112322.jpg", "id": 112322, "height": 800, "width": 644, "crowdIndex": 0.39}, {"file_name": "117034.jpg", "id": 117034, "height": 631, "width": 950, "crowdIndex": 0.14}, {"file_name": "117931.jpg", "id": 117931, "height": 520, "width": 960, "crowdIndex": 0.36}, {"file_name": "111463.jpg", "id": 111463, "height": 591, "width": 662, "crowdIndex": 0.4}, {"file_name": "115501.jpg", "id": 115501, "height": 939, "width": 626, "crowdIndex": 0.5}, {"file_name": "111461.jpg", "id": 111461, "height": 1000, "width": 666, "crowdIndex": 0.21}, {"file_name": "109404.jpg", "id": 109404, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "100494.jpg", "id": 100494, "height": 427, "width": 640, "crowdIndex": 0.74}, {"file_name": "103670.jpg", "id": 103670, "height": 375, "width": 500, "crowdIndex": 0.69}, {"file_name": "107117.jpg", "id": 107117, "height": 427, "width": 640, "crowdIndex": 0.34}, {"file_name": "115164.jpg", "id": 115164, "height": 1000, "width": 614, "crowdIndex": 0.36}, {"file_name": "104733.jpg", "id": 104733, "height": 469, "width": 640, "crowdIndex": 0.32}, {"file_name": "103372.jpg", "id": 103372, "height": 428, "width": 640, "crowdIndex": 0.68}, {"file_name": "109261.jpg", "id": 109261, "height": 823, "width": 550, "crowdIndex": 0.79}, {"file_name": "101778.jpg", "id": 101778, "height": 640, "width": 478, "crowdIndex": 0.51}, {"file_name": "119643.jpg", "id": 119643, "height": 1000, "width": 667, "crowdIndex": 0.5}, {"file_name": "115467.jpg", "id": 115467, "height": 699, "width": 950, "crowdIndex": 0.88}, {"file_name": "117687.jpg", "id": 117687, "height": 772, "width": 1000, "crowdIndex": 1.09}, {"file_name": "115229.jpg", "id": 115229, "height": 1000, "width": 666, "crowdIndex": 0.36}, {"file_name": "113995.jpg", "id": 113995, "height": 757, "width": 950, "crowdIndex": 0.75}, {"file_name": "114393.jpg", "id": 114393, "height": 634, "width": 950, "crowdIndex": 0.87}, {"file_name": "117872.jpg", "id": 117872, "height": 666, "width": 1000, "crowdIndex": 0.85}, {"file_name": "108973.jpg", "id": 108973, "height": 640, "width": 427, "crowdIndex": 0.25}, {"file_name": "105651.jpg", "id": 105651, "height": 640, "width": 480, "crowdIndex": 0.33}, {"file_name": "117785.jpg", "id": 117785, "height": 666, "width": 1000, "crowdIndex": 0.71}, {"file_name": "104925.jpg", "id": 104925, "height": 425, "width": 640, "crowdIndex": 0.64}, {"file_name": "117716.jpg", "id": 117716, "height": 633, "width": 1000, "crowdIndex": 1.51}, {"file_name": "100344.jpg", "id": 100344, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "113026.jpg", "id": 113026, "height": 800, "width": 555, "crowdIndex": 0.69}, {"file_name": "119296.jpg", "id": 119296, "height": 990, "width": 1000, "crowdIndex": 0.82}, {"file_name": "118412.jpg", "id": 118412, "height": 566, "width": 921, "crowdIndex": 0.24}, {"file_name": "100393.jpg", "id": 100393, "height": 640, "width": 480, "crowdIndex": 0.42}, {"file_name": "111778.jpg", "id": 111778, "height": 685, "width": 940, "crowdIndex": 0.79}, {"file_name": "101826.jpg", "id": 101826, "height": 333, "width": 500, "crowdIndex": 0.22}, {"file_name": "106281.jpg", "id": 106281, "height": 427, "width": 640, "crowdIndex": 0.33}, {"file_name": "108035.jpg", "id": 108035, "height": 427, "width": 640, "crowdIndex": 0.43}, {"file_name": "108280.jpg", "id": 108280, "height": 480, "width": 640, "crowdIndex": 0.61}, {"file_name": "100479.jpg", "id": 100479, "height": 454, "width": 640, "crowdIndex": 0.8}, {"file_name": "118364.jpg", "id": 118364, "height": 634, "width": 950, "crowdIndex": 0.46}, {"file_name": "105311.jpg", "id": 105311, "height": 500, "width": 357, "crowdIndex": 0.74}, {"file_name": "109779.jpg", "id": 109779, "height": 1000, "width": 665, "crowdIndex": 0.8}, {"file_name": "119573.jpg", "id": 119573, "height": 626, "width": 950, "crowdIndex": 0.1}, {"file_name": "115129.jpg", "id": 115129, "height": 743, "width": 1000, "crowdIndex": 0.43}, {"file_name": "111855.jpg", "id": 111855, "height": 625, "width": 950, "crowdIndex": 0.11}, {"file_name": "112279.jpg", "id": 112279, "height": 581, "width": 950, "crowdIndex": 0.57}, {"file_name": "107913.jpg", "id": 107913, "height": 480, "width": 640, "crowdIndex": 0.51}, {"file_name": "112765.jpg", "id": 112765, "height": 1000, "width": 711, "crowdIndex": 0.82}, {"file_name": "116201.jpg", "id": 116201, "height": 703, "width": 950, "crowdIndex": 0.93}, {"file_name": "117480.jpg", "id": 117480, "height": 647, "width": 800, "crowdIndex": 0.32}, {"file_name": "116331.jpg", "id": 116331, "height": 1000, "width": 658, "crowdIndex": 0.45}, {"file_name": "115115.jpg", "id": 115115, "height": 702, "width": 1000, "crowdIndex": 0.57}, {"file_name": "112175.jpg", "id": 112175, "height": 1000, "width": 874, "crowdIndex": 0.46}, {"file_name": "115777.jpg", "id": 115777, "height": 713, "width": 950, "crowdIndex": 0.83}, {"file_name": "103176.jpg", "id": 103176, "height": 427, "width": 640, "crowdIndex": 0.45}, {"file_name": "105227.jpg", "id": 105227, "height": 480, "width": 640, "crowdIndex": 0.47}, {"file_name": "117643.jpg", "id": 117643, "height": 465, "width": 620, "crowdIndex": 0.19}, {"file_name": "117697.jpg", "id": 117697, "height": 1000, "width": 681, "crowdIndex": 0.31}, {"file_name": "113203.jpg", "id": 113203, "height": 666, "width": 1000, "crowdIndex": 1.15}, {"file_name": "116073.jpg", "id": 116073, "height": 666, "width": 1000, "crowdIndex": 0.35}, {"file_name": "105975.jpg", "id": 105975, "height": 640, "width": 433, "crowdIndex": 0.25}, {"file_name": "101113.jpg", "id": 101113, "height": 480, "width": 640, "crowdIndex": 0.71}, {"file_name": "107111.jpg", "id": 107111, "height": 426, "width": 640, "crowdIndex": 1.02}, {"file_name": "103778.jpg", "id": 103778, "height": 480, "width": 640, "crowdIndex": 0.77}, {"file_name": "105562.jpg", "id": 105562, "height": 480, "width": 640, "crowdIndex": 0.6}, {"file_name": "110697.jpg", "id": 110697, "height": 625, "width": 950, "crowdIndex": 0.96}, {"file_name": "111579.jpg", "id": 111579, "height": 633, "width": 950, "crowdIndex": 0.16}, {"file_name": "111276.jpg", "id": 111276, "height": 749, "width": 500, "crowdIndex": 0.75}, {"file_name": "100204.jpg", "id": 100204, "height": 640, "width": 612, "crowdIndex": 0.66}, {"file_name": "100108.jpg", "id": 100108, "height": 480, "width": 640, "crowdIndex": 0.19}, {"file_name": "108061.jpg", "id": 108061, "height": 427, "width": 640, "crowdIndex": 0.44}, {"file_name": "102155.jpg", "id": 102155, "height": 427, "width": 640, "crowdIndex": 0.28}, {"file_name": "101385.jpg", "id": 101385, "height": 640, "width": 480, "crowdIndex": 0.17}, {"file_name": "101542.jpg", "id": 101542, "height": 480, "width": 640, "crowdIndex": 0.67}, {"file_name": "108871.jpg", "id": 108871, "height": 612, "width": 612, "crowdIndex": 0.16}, {"file_name": "114488.jpg", "id": 114488, "height": 1000, "width": 713, "crowdIndex": 0.14}, {"file_name": "111051.jpg", "id": 111051, "height": 768, "width": 730, "crowdIndex": 0.34}, {"file_name": "117667.jpg", "id": 117667, "height": 720, "width": 1000, "crowdIndex": 0.39}, {"file_name": "109441.jpg", "id": 109441, "height": 859, "width": 550, "crowdIndex": 0.83}, {"file_name": "111041.jpg", "id": 111041, "height": 800, "width": 533, "crowdIndex": 0.16}, {"file_name": "117095.jpg", "id": 117095, "height": 634, "width": 950, "crowdIndex": 0.17}, {"file_name": "117220.jpg", "id": 117220, "height": 800, "width": 1000, "crowdIndex": 0.93}, {"file_name": "108919.jpg", "id": 108919, "height": 281, "width": 640, "crowdIndex": 0.05}, {"file_name": "107840.jpg", "id": 107840, "height": 478, "width": 640, "crowdIndex": 1.02}, {"file_name": "114012.jpg", "id": 114012, "height": 641, "width": 940, "crowdIndex": 1.64}, {"file_name": "106613.jpg", "id": 106613, "height": 640, "width": 427, "crowdIndex": 0.11}, {"file_name": "119060.jpg", "id": 119060, "height": 666, "width": 1000, "crowdIndex": 0.0}, {"file_name": "113008.jpg", "id": 113008, "height": 842, "width": 550, "crowdIndex": 0.39}, {"file_name": "114252.jpg", "id": 114252, "height": 719, "width": 1000, "crowdIndex": 0.54}, {"file_name": "119426.jpg", "id": 119426, "height": 622, "width": 940, "crowdIndex": 1.11}, {"file_name": "113421.jpg", "id": 113421, "height": 1000, "width": 667, "crowdIndex": 0.0}, {"file_name": "112683.jpg", "id": 112683, "height": 633, "width": 950, "crowdIndex": 0.18}, {"file_name": "103313.jpg", "id": 103313, "height": 427, "width": 640, "crowdIndex": 0.14}, {"file_name": "110969.jpg", "id": 110969, "height": 950, "width": 653, "crowdIndex": 0.29}, {"file_name": "119519.jpg", "id": 119519, "height": 663, "width": 1000, "crowdIndex": 0.28}, {"file_name": "104344.jpg", "id": 104344, "height": 640, "width": 480, "crowdIndex": 0.83}, {"file_name": "101873.jpg", "id": 101873, "height": 375, "width": 500, "crowdIndex": 0.96}, {"file_name": "114047.jpg", "id": 114047, "height": 627, "width": 940, "crowdIndex": 0.0}, {"file_name": "109297.jpg", "id": 109297, "height": 794, "width": 550, "crowdIndex": 0.97}, {"file_name": "110189.jpg", "id": 110189, "height": 1000, "width": 747, "crowdIndex": 0.75}, {"file_name": "102569.jpg", "id": 102569, "height": 640, "width": 564, "crowdIndex": 0.78}, {"file_name": "101388.jpg", "id": 101388, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "118662.jpg", "id": 118662, "height": 517, "width": 690, "crowdIndex": 0.29}, {"file_name": "113981.jpg", "id": 113981, "height": 640, "width": 480, "crowdIndex": 0.46}, {"file_name": "102487.jpg", "id": 102487, "height": 640, "width": 427, "crowdIndex": 0.45}, {"file_name": "107952.jpg", "id": 107952, "height": 541, "width": 640, "crowdIndex": 0.66}, {"file_name": "114613.jpg", "id": 114613, "height": 711, "width": 1000, "crowdIndex": 0.62}, {"file_name": "106047.jpg", "id": 106047, "height": 375, "width": 640, "crowdIndex": 0.73}, {"file_name": "112800.jpg", "id": 112800, "height": 633, "width": 950, "crowdIndex": 0.74}, {"file_name": "104759.jpg", "id": 104759, "height": 476, "width": 640, "crowdIndex": 0.27}, {"file_name": "104345.jpg", "id": 104345, "height": 459, "width": 640, "crowdIndex": 0.47}, {"file_name": "105383.jpg", "id": 105383, "height": 640, "width": 480, "crowdIndex": 1.19}, {"file_name": "106516.jpg", "id": 106516, "height": 640, "width": 480, "crowdIndex": 0.32}, {"file_name": "105572.jpg", "id": 105572, "height": 425, "width": 640, "crowdIndex": 0.67}, {"file_name": "106636.jpg", "id": 106636, "height": 600, "width": 399, "crowdIndex": 0.0}, {"file_name": "119934.jpg", "id": 119934, "height": 1000, "width": 819, "crowdIndex": 0.43}, {"file_name": "110283.jpg", "id": 110283, "height": 750, "width": 500, "crowdIndex": 0.37}, {"file_name": "100501.jpg", "id": 100501, "height": 512, "width": 640, "crowdIndex": 0.12}, {"file_name": "119307.jpg", "id": 119307, "height": 533, "width": 800, "crowdIndex": 0.24}, {"file_name": "109282.jpg", "id": 109282, "height": 733, "width": 550, "crowdIndex": 0.0}, {"file_name": "108441.jpg", "id": 108441, "height": 480, "width": 640, "crowdIndex": 0.18}, {"file_name": "106571.jpg", "id": 106571, "height": 426, "width": 640, "crowdIndex": 0.5}, {"file_name": "112404.jpg", "id": 112404, "height": 1000, "width": 802, "crowdIndex": 0.41}, {"file_name": "109004.jpg", "id": 109004, "height": 425, "width": 640, "crowdIndex": 1.31}, {"file_name": "103524.jpg", "id": 103524, "height": 360, "width": 640, "crowdIndex": 0.33}, {"file_name": "105021.jpg", "id": 105021, "height": 500, "width": 324, "crowdIndex": 0.36}, {"file_name": "115994.jpg", "id": 115994, "height": 596, "width": 900, "crowdIndex": 0.79}, {"file_name": "101701.jpg", "id": 101701, "height": 480, "width": 640, "crowdIndex": 0.76}, {"file_name": "111322.jpg", "id": 111322, "height": 630, "width": 1000, "crowdIndex": 0.79}, {"file_name": "111311.jpg", "id": 111311, "height": 750, "width": 1000, "crowdIndex": 0.1}, {"file_name": "113854.jpg", "id": 113854, "height": 650, "width": 743, "crowdIndex": 0.67}, {"file_name": "110454.jpg", "id": 110454, "height": 801, "width": 600, "crowdIndex": 0.86}, {"file_name": "112198.jpg", "id": 112198, "height": 633, "width": 950, "crowdIndex": 0.31}, {"file_name": "109418.jpg", "id": 109418, "height": 823, "width": 550, "crowdIndex": 0.0}, {"file_name": "107065.jpg", "id": 107065, "height": 431, "width": 640, "crowdIndex": 1.09}, {"file_name": "100835.jpg", "id": 100835, "height": 640, "width": 427, "crowdIndex": 0.45}, {"file_name": "103424.jpg", "id": 103424, "height": 640, "width": 480, "crowdIndex": 1.61}, {"file_name": "115789.jpg", "id": 115789, "height": 633, "width": 950, "crowdIndex": 0.33}, {"file_name": "117042.jpg", "id": 117042, "height": 1000, "width": 666, "crowdIndex": 0.78}, {"file_name": "104718.jpg", "id": 104718, "height": 640, "width": 427, "crowdIndex": 0.45}, {"file_name": "106017.jpg", "id": 106017, "height": 480, "width": 640, "crowdIndex": 0.45}, {"file_name": "106943.jpg", "id": 106943, "height": 480, "width": 640, "crowdIndex": 0.67}, {"file_name": "115138.jpg", "id": 115138, "height": 950, "width": 632, "crowdIndex": 0.76}, {"file_name": "112784.jpg", "id": 112784, "height": 703, "width": 500, "crowdIndex": 0.68}, {"file_name": "114640.jpg", "id": 114640, "height": 535, "width": 800, "crowdIndex": 0.34}, {"file_name": "106758.jpg", "id": 106758, "height": 358, "width": 640, "crowdIndex": 0.23}, {"file_name": "117840.jpg", "id": 117840, "height": 714, "width": 1000, "crowdIndex": 0.43}, {"file_name": "108535.jpg", "id": 108535, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "108510.jpg", "id": 108510, "height": 424, "width": 640, "crowdIndex": 0.33}, {"file_name": "102420.jpg", "id": 102420, "height": 457, "width": 640, "crowdIndex": 0.71}, {"file_name": "114475.jpg", "id": 114475, "height": 1000, "width": 666, "crowdIndex": 0.39}, {"file_name": "119833.jpg", "id": 119833, "height": 776, "width": 640, "crowdIndex": 0.57}, {"file_name": "107953.jpg", "id": 107953, "height": 500, "width": 475, "crowdIndex": 0.4}, {"file_name": "107231.jpg", "id": 107231, "height": 425, "width": 640, "crowdIndex": 0.47}, {"file_name": "110213.jpg", "id": 110213, "height": 900, "width": 718, "crowdIndex": 0.86}, {"file_name": "102467.jpg", "id": 102467, "height": 427, "width": 640, "crowdIndex": 0.19}, {"file_name": "104923.jpg", "id": 104923, "height": 427, "width": 640, "crowdIndex": 0.1}, {"file_name": "115753.jpg", "id": 115753, "height": 597, "width": 900, "crowdIndex": 0.5}, {"file_name": "106437.jpg", "id": 106437, "height": 640, "width": 614, "crowdIndex": 0.52}, {"file_name": "114018.jpg", "id": 114018, "height": 752, "width": 1000, "crowdIndex": 0.36}, {"file_name": "101928.jpg", "id": 101928, "height": 427, "width": 640, "crowdIndex": 0.42}, {"file_name": "113028.jpg", "id": 113028, "height": 608, "width": 800, "crowdIndex": 0.43}, {"file_name": "116147.jpg", "id": 116147, "height": 664, "width": 1000, "crowdIndex": 0.83}, {"file_name": "101843.jpg", "id": 101843, "height": 457, "width": 640, "crowdIndex": 0.51}, {"file_name": "103301.jpg", "id": 103301, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "111969.jpg", "id": 111969, "height": 588, "width": 850, "crowdIndex": 0.18}, {"file_name": "107939.jpg", "id": 107939, "height": 427, "width": 640, "crowdIndex": 0.61}, {"file_name": "103799.jpg", "id": 103799, "height": 427, "width": 640, "crowdIndex": 0.79}, {"file_name": "119473.jpg", "id": 119473, "height": 1000, "width": 821, "crowdIndex": 0.21}, {"file_name": "101424.jpg", "id": 101424, "height": 536, "width": 640, "crowdIndex": 0.29}, {"file_name": "114179.jpg", "id": 114179, "height": 656, "width": 948, "crowdIndex": 0.79}, {"file_name": "116365.jpg", "id": 116365, "height": 655, "width": 950, "crowdIndex": 1.45}, {"file_name": "110350.jpg", "id": 110350, "height": 600, "width": 900, "crowdIndex": 0.14}, {"file_name": "103776.jpg", "id": 103776, "height": 458, "width": 640, "crowdIndex": 0.99}, {"file_name": "119477.jpg", "id": 119477, "height": 1000, "width": 667, "crowdIndex": 0.82}, {"file_name": "111549.jpg", "id": 111549, "height": 657, "width": 900, "crowdIndex": 0.81}, {"file_name": "107205.jpg", "id": 107205, "height": 640, "width": 495, "crowdIndex": 0.11}, {"file_name": "103075.jpg", "id": 103075, "height": 428, "width": 640, "crowdIndex": 0.68}, {"file_name": "115142.jpg", "id": 115142, "height": 678, "width": 950, "crowdIndex": 0.76}, {"file_name": "103737.jpg", "id": 103737, "height": 480, "width": 640, "crowdIndex": 0.15}, {"file_name": "114094.jpg", "id": 114094, "height": 671, "width": 1000, "crowdIndex": 0.73}, {"file_name": "103043.jpg", "id": 103043, "height": 436, "width": 640, "crowdIndex": 0.17}, {"file_name": "112072.jpg", "id": 112072, "height": 630, "width": 950, "crowdIndex": 0.79}, {"file_name": "116567.jpg", "id": 116567, "height": 750, "width": 1000, "crowdIndex": 0.39}, {"file_name": "107513.jpg", "id": 107513, "height": 640, "width": 480, "crowdIndex": 0.77}, {"file_name": "114274.jpg", "id": 114274, "height": 502, "width": 670, "crowdIndex": 1.33}, {"file_name": "119554.jpg", "id": 119554, "height": 768, "width": 600, "crowdIndex": 0.4}, {"file_name": "108751.jpg", "id": 108751, "height": 480, "width": 640, "crowdIndex": 0.66}, {"file_name": "115023.jpg", "id": 115023, "height": 1000, "width": 669, "crowdIndex": 0.97}, {"file_name": "112511.jpg", "id": 112511, "height": 1000, "width": 667, "crowdIndex": 0.54}, {"file_name": "118750.jpg", "id": 118750, "height": 719, "width": 950, "crowdIndex": 0.88}, {"file_name": "103629.jpg", "id": 103629, "height": 640, "width": 480, "crowdIndex": 1.71}, {"file_name": "111664.jpg", "id": 111664, "height": 1000, "width": 667, "crowdIndex": 0.33}, {"file_name": "116180.jpg", "id": 116180, "height": 632, "width": 950, "crowdIndex": 0.1}, {"file_name": "106212.jpg", "id": 106212, "height": 480, "width": 640, "crowdIndex": 0.5}, {"file_name": "102232.jpg", "id": 102232, "height": 427, "width": 640, "crowdIndex": 0.61}, {"file_name": "118432.jpg", "id": 118432, "height": 624, "width": 940, "crowdIndex": 2.12}, {"file_name": "101961.jpg", "id": 101961, "height": 500, "width": 375, "crowdIndex": 0.0}, {"file_name": "110838.jpg", "id": 110838, "height": 1000, "width": 675, "crowdIndex": 0.11}, {"file_name": "100942.jpg", "id": 100942, "height": 425, "width": 640, "crowdIndex": 0.77}, {"file_name": "118767.jpg", "id": 118767, "height": 687, "width": 950, "crowdIndex": 1.62}, {"file_name": "107929.jpg", "id": 107929, "height": 480, "width": 640, "crowdIndex": 0.31}, {"file_name": "107565.jpg", "id": 107565, "height": 480, "width": 640, "crowdIndex": 0.22}, {"file_name": "116984.jpg", "id": 116984, "height": 1000, "width": 496, "crowdIndex": 0.71}, {"file_name": "102369.jpg", "id": 102369, "height": 640, "width": 427, "crowdIndex": 0.31}, {"file_name": "106107.jpg", "id": 106107, "height": 495, "width": 640, "crowdIndex": 0.19}, {"file_name": "113243.jpg", "id": 113243, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "113336.jpg", "id": 113336, "height": 644, "width": 962, "crowdIndex": 0.4}, {"file_name": "110572.jpg", "id": 110572, "height": 600, "width": 900, "crowdIndex": 0.19}, {"file_name": "107119.jpg", "id": 107119, "height": 426, "width": 640, "crowdIndex": 0.44}, {"file_name": "114137.jpg", "id": 114137, "height": 1000, "width": 510, "crowdIndex": 0.98}, {"file_name": "115123.jpg", "id": 115123, "height": 666, "width": 1000, "crowdIndex": 0.96}, {"file_name": "102447.jpg", "id": 102447, "height": 640, "width": 427, "crowdIndex": 0.61}, {"file_name": "110175.jpg", "id": 110175, "height": 1000, "width": 667, "crowdIndex": 0.96}, {"file_name": "109835.jpg", "id": 109835, "height": 678, "width": 800, "crowdIndex": 0.0}, {"file_name": "118570.jpg", "id": 118570, "height": 405, "width": 540, "crowdIndex": 0.61}, {"file_name": "102179.jpg", "id": 102179, "height": 512, "width": 640, "crowdIndex": 0.43}, {"file_name": "111303.jpg", "id": 111303, "height": 638, "width": 980, "crowdIndex": 0.11}, {"file_name": "102920.jpg", "id": 102920, "height": 640, "width": 427, "crowdIndex": 0.52}, {"file_name": "118056.jpg", "id": 118056, "height": 890, "width": 500, "crowdIndex": 0.29}, {"file_name": "101190.jpg", "id": 101190, "height": 428, "width": 640, "crowdIndex": 0.22}, {"file_name": "102831.jpg", "id": 102831, "height": 440, "width": 640, "crowdIndex": 0.38}, {"file_name": "112665.jpg", "id": 112665, "height": 896, "width": 600, "crowdIndex": 0.5}, {"file_name": "100474.jpg", "id": 100474, "height": 640, "width": 480, "crowdIndex": 0.6}, {"file_name": "117882.jpg", "id": 117882, "height": 800, "width": 500, "crowdIndex": 0.71}, {"file_name": "109638.jpg", "id": 109638, "height": 667, "width": 500, "crowdIndex": 0.7}, {"file_name": "108864.jpg", "id": 108864, "height": 480, "width": 640, "crowdIndex": 0.35}, {"file_name": "103201.jpg", "id": 103201, "height": 640, "width": 427, "crowdIndex": 0.61}, {"file_name": "119416.jpg", "id": 119416, "height": 633, "width": 950, "crowdIndex": 0.93}, {"file_name": "102277.jpg", "id": 102277, "height": 375, "width": 500, "crowdIndex": 0.21}, {"file_name": "104072.jpg", "id": 104072, "height": 640, "width": 431, "crowdIndex": 0.54}, {"file_name": "108165.jpg", "id": 108165, "height": 427, "width": 640, "crowdIndex": 0.5}, {"file_name": "101840.jpg", "id": 101840, "height": 640, "width": 633, "crowdIndex": 0.46}, {"file_name": "107176.jpg", "id": 107176, "height": 640, "width": 428, "crowdIndex": 0.38}, {"file_name": "110388.jpg", "id": 110388, "height": 598, "width": 899, "crowdIndex": 0.72}, {"file_name": "119180.jpg", "id": 119180, "height": 1000, "width": 649, "crowdIndex": 0.5}, {"file_name": "115750.jpg", "id": 115750, "height": 701, "width": 1000, "crowdIndex": 0.74}, {"file_name": "103801.jpg", "id": 103801, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "119647.jpg", "id": 119647, "height": 944, "width": 690, "crowdIndex": 0.77}, {"file_name": "101658.jpg", "id": 101658, "height": 640, "width": 427, "crowdIndex": 0.36}, {"file_name": "103544.jpg", "id": 103544, "height": 425, "width": 640, "crowdIndex": 0.53}, {"file_name": "107607.jpg", "id": 107607, "height": 426, "width": 640, "crowdIndex": 0.0}, {"file_name": "100924.jpg", "id": 100924, "height": 480, "width": 640, "crowdIndex": 0.95}, {"file_name": "110800.jpg", "id": 110800, "height": 800, "width": 525, "crowdIndex": 0.46}, {"file_name": "113921.jpg", "id": 113921, "height": 850, "width": 512, "crowdIndex": 0.43}, {"file_name": "116518.jpg", "id": 116518, "height": 600, "width": 826, "crowdIndex": 0.98}, {"file_name": "108001.jpg", "id": 108001, "height": 375, "width": 500, "crowdIndex": 3.02}, {"file_name": "105766.jpg", "id": 105766, "height": 640, "width": 453, "crowdIndex": 1.44}, {"file_name": "108066.jpg", "id": 108066, "height": 375, "width": 500, "crowdIndex": 0.26}, {"file_name": "101696.jpg", "id": 101696, "height": 426, "width": 640, "crowdIndex": 0.31}, {"file_name": "110435.jpg", "id": 110435, "height": 666, "width": 1000, "crowdIndex": 0.46}, {"file_name": "101206.jpg", "id": 101206, "height": 480, "width": 640, "crowdIndex": 0.93}, {"file_name": "109636.jpg", "id": 109636, "height": 579, "width": 770, "crowdIndex": 0.29}, {"file_name": "104461.jpg", "id": 104461, "height": 480, "width": 640, "crowdIndex": 0.38}, {"file_name": "112518.jpg", "id": 112518, "height": 1000, "width": 795, "crowdIndex": 0.93}, {"file_name": "115133.jpg", "id": 115133, "height": 631, "width": 950, "crowdIndex": 0.23}, {"file_name": "103441.jpg", "id": 103441, "height": 427, "width": 640, "crowdIndex": 0.78}, {"file_name": "100949.jpg", "id": 100949, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "102907.jpg", "id": 102907, "height": 467, "width": 640, "crowdIndex": 0.3}, {"file_name": "100386.jpg", "id": 100386, "height": 480, "width": 640, "crowdIndex": 0.72}, {"file_name": "111950.jpg", "id": 111950, "height": 600, "width": 950, "crowdIndex": 0.29}, {"file_name": "107983.jpg", "id": 107983, "height": 500, "width": 375, "crowdIndex": 0.16}, {"file_name": "106854.jpg", "id": 106854, "height": 640, "width": 480, "crowdIndex": 0.39}, {"file_name": "109621.jpg", "id": 109621, "height": 868, "width": 550, "crowdIndex": 0.21}, {"file_name": "110798.jpg", "id": 110798, "height": 488, "width": 650, "crowdIndex": 0.44}, {"file_name": "106202.jpg", "id": 106202, "height": 427, "width": 640, "crowdIndex": 0.67}, {"file_name": "113623.jpg", "id": 113623, "height": 632, "width": 950, "crowdIndex": 0.0}, {"file_name": "118090.jpg", "id": 118090, "height": 670, "width": 1000, "crowdIndex": 0.86}, {"file_name": "101183.jpg", "id": 101183, "height": 612, "width": 612, "crowdIndex": 0.5}, {"file_name": "111313.jpg", "id": 111313, "height": 1000, "width": 738, "crowdIndex": 0.86}, {"file_name": "118894.jpg", "id": 118894, "height": 1000, "width": 742, "crowdIndex": 0.93}, {"file_name": "110354.jpg", "id": 110354, "height": 666, "width": 1000, "crowdIndex": 0.53}, {"file_name": "107241.jpg", "id": 107241, "height": 480, "width": 640, "crowdIndex": 0.19}, {"file_name": "111022.jpg", "id": 111022, "height": 824, "width": 550, "crowdIndex": 0.73}, {"file_name": "105949.jpg", "id": 105949, "height": 640, "width": 426, "crowdIndex": 0.51}, {"file_name": "103258.jpg", "id": 103258, "height": 474, "width": 640, "crowdIndex": 0.43}, {"file_name": "106820.jpg", "id": 106820, "height": 640, "width": 428, "crowdIndex": 0.63}, {"file_name": "106310.jpg", "id": 106310, "height": 427, "width": 640, "crowdIndex": 0.48}, {"file_name": "111105.jpg", "id": 111105, "height": 634, "width": 950, "crowdIndex": 0.71}, {"file_name": "112608.jpg", "id": 112608, "height": 779, "width": 1000, "crowdIndex": 0.8}, {"file_name": "107388.jpg", "id": 107388, "height": 375, "width": 500, "crowdIndex": 0.42}, {"file_name": "100180.jpg", "id": 100180, "height": 445, "width": 640, "crowdIndex": 0.69}, {"file_name": "106164.jpg", "id": 106164, "height": 426, "width": 640, "crowdIndex": 0.54}, {"file_name": "105778.jpg", "id": 105778, "height": 640, "width": 425, "crowdIndex": 0.35}, {"file_name": "111305.jpg", "id": 111305, "height": 802, "width": 1000, "crowdIndex": 0.79}, {"file_name": "109729.jpg", "id": 109729, "height": 600, "width": 789, "crowdIndex": 0.83}, {"file_name": "118755.jpg", "id": 118755, "height": 631, "width": 950, "crowdIndex": 0.32}, {"file_name": "113840.jpg", "id": 113840, "height": 666, "width": 1000, "crowdIndex": 0.89}, {"file_name": "108767.jpg", "id": 108767, "height": 559, "width": 640, "crowdIndex": 0.04}, {"file_name": "111387.jpg", "id": 111387, "height": 627, "width": 940, "crowdIndex": 0.4}, {"file_name": "104948.jpg", "id": 104948, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "111130.jpg", "id": 111130, "height": 645, "width": 627, "crowdIndex": 0.55}, {"file_name": "106742.jpg", "id": 106742, "height": 480, "width": 640, "crowdIndex": 0.17}, {"file_name": "105432.jpg", "id": 105432, "height": 640, "width": 431, "crowdIndex": 0.83}, {"file_name": "108380.jpg", "id": 108380, "height": 458, "width": 640, "crowdIndex": 0.25}, {"file_name": "112304.jpg", "id": 112304, "height": 577, "width": 939, "crowdIndex": 0.76}, {"file_name": "105035.jpg", "id": 105035, "height": 426, "width": 640, "crowdIndex": 0.46}, {"file_name": "114824.jpg", "id": 114824, "height": 786, "width": 590, "crowdIndex": 0.24}, {"file_name": "107631.jpg", "id": 107631, "height": 468, "width": 640, "crowdIndex": 0.39}, {"file_name": "109153.jpg", "id": 109153, "height": 992, "width": 550, "crowdIndex": 0.64}, {"file_name": "117942.jpg", "id": 117942, "height": 627, "width": 940, "crowdIndex": 0.82}, {"file_name": "107872.jpg", "id": 107872, "height": 640, "width": 425, "crowdIndex": 0.21}, {"file_name": "107452.jpg", "id": 107452, "height": 640, "width": 480, "crowdIndex": 0.72}, {"file_name": "116770.jpg", "id": 116770, "height": 666, "width": 1000, "crowdIndex": 0.6}, {"file_name": "104452.jpg", "id": 104452, "height": 427, "width": 640, "crowdIndex": 0.1}, {"file_name": "100907.jpg", "id": 100907, "height": 500, "width": 398, "crowdIndex": 0.8}, {"file_name": "105342.jpg", "id": 105342, "height": 640, "width": 425, "crowdIndex": 0.0}, {"file_name": "103193.jpg", "id": 103193, "height": 427, "width": 640, "crowdIndex": 0.58}, {"file_name": "115800.jpg", "id": 115800, "height": 627, "width": 940, "crowdIndex": 0.79}, {"file_name": "104116.jpg", "id": 104116, "height": 640, "width": 480, "crowdIndex": 0.64}, {"file_name": "103207.jpg", "id": 103207, "height": 480, "width": 640, "crowdIndex": 0.65}, {"file_name": "108683.jpg", "id": 108683, "height": 451, "width": 640, "crowdIndex": 0.14}, {"file_name": "107575.jpg", "id": 107575, "height": 640, "width": 428, "crowdIndex": 0.25}, {"file_name": "106617.jpg", "id": 106617, "height": 457, "width": 640, "crowdIndex": 0.0}, {"file_name": "114988.jpg", "id": 114988, "height": 939, "width": 643, "crowdIndex": 0.82}, {"file_name": "109786.jpg", "id": 109786, "height": 396, "width": 600, "crowdIndex": 0.96}, {"file_name": "105754.jpg", "id": 105754, "height": 492, "width": 640, "crowdIndex": 0.24}, {"file_name": "100291.jpg", "id": 100291, "height": 480, "width": 640, "crowdIndex": 0.25}, {"file_name": "107329.jpg", "id": 107329, "height": 480, "width": 640, "crowdIndex": 0.51}, {"file_name": "109596.jpg", "id": 109596, "height": 960, "width": 540, "crowdIndex": 0.82}, {"file_name": "107230.jpg", "id": 107230, "height": 480, "width": 640, "crowdIndex": 0.59}, {"file_name": "104518.jpg", "id": 104518, "height": 640, "width": 445, "crowdIndex": 0.2}, {"file_name": "115710.jpg", "id": 115710, "height": 614, "width": 940, "crowdIndex": 0.17}, {"file_name": "114101.jpg", "id": 114101, "height": 768, "width": 657, "crowdIndex": 0.0}, {"file_name": "107325.jpg", "id": 107325, "height": 640, "width": 361, "crowdIndex": 0.41}, {"file_name": "117730.jpg", "id": 117730, "height": 411, "width": 600, "crowdIndex": 0.2}, {"file_name": "107290.jpg", "id": 107290, "height": 479, "width": 640, "crowdIndex": 0.33}, {"file_name": "109500.jpg", "id": 109500, "height": 800, "width": 533, "crowdIndex": 0.64}, {"file_name": "103269.jpg", "id": 103269, "height": 426, "width": 640, "crowdIndex": 0.45}, {"file_name": "101192.jpg", "id": 101192, "height": 640, "width": 427, "crowdIndex": 0.51}, {"file_name": "116242.jpg", "id": 116242, "height": 800, "width": 600, "crowdIndex": 0.64}, {"file_name": "114518.jpg", "id": 114518, "height": 300, "width": 400, "crowdIndex": 0.18}, {"file_name": "117391.jpg", "id": 117391, "height": 633, "width": 950, "crowdIndex": 0.25}, {"file_name": "104372.jpg", "id": 104372, "height": 332, "width": 500, "crowdIndex": 0.85}, {"file_name": "117546.jpg", "id": 117546, "height": 750, "width": 1000, "crowdIndex": 0.38}, {"file_name": "110841.jpg", "id": 110841, "height": 1000, "width": 651, "crowdIndex": 0.61}, {"file_name": "103873.jpg", "id": 103873, "height": 480, "width": 640, "crowdIndex": 0.38}, {"file_name": "108701.jpg", "id": 108701, "height": 480, "width": 640, "crowdIndex": 0.55}, {"file_name": "102217.jpg", "id": 102217, "height": 431, "width": 640, "crowdIndex": 0.47}, {"file_name": "109124.jpg", "id": 109124, "height": 800, "width": 533, "crowdIndex": 0.0}, {"file_name": "118016.jpg", "id": 118016, "height": 451, "width": 640, "crowdIndex": 0.59}, {"file_name": "116003.jpg", "id": 116003, "height": 800, "width": 593, "crowdIndex": 0.0}, {"file_name": "110862.jpg", "id": 110862, "height": 1000, "width": 817, "crowdIndex": 0.32}, {"file_name": "103400.jpg", "id": 103400, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "105943.jpg", "id": 105943, "height": 640, "width": 427, "crowdIndex": 0.47}, {"file_name": "101816.jpg", "id": 101816, "height": 428, "width": 640, "crowdIndex": 0.67}, {"file_name": "115376.jpg", "id": 115376, "height": 785, "width": 1000, "crowdIndex": 0.74}, {"file_name": "109484.jpg", "id": 109484, "height": 823, "width": 550, "crowdIndex": 0.59}, {"file_name": "106572.jpg", "id": 106572, "height": 427, "width": 640, "crowdIndex": 0.87}, {"file_name": "113516.jpg", "id": 113516, "height": 666, "width": 1000, "crowdIndex": 0.21}, {"file_name": "108236.jpg", "id": 108236, "height": 640, "width": 480, "crowdIndex": 0.28}, {"file_name": "104565.jpg", "id": 104565, "height": 334, "width": 640, "crowdIndex": 0.21}, {"file_name": "108139.jpg", "id": 108139, "height": 427, "width": 640, "crowdIndex": 0.45}, {"file_name": "112021.jpg", "id": 112021, "height": 765, "width": 510, "crowdIndex": 0.71}, {"file_name": "111826.jpg", "id": 111826, "height": 750, "width": 500, "crowdIndex": 0.82}, {"file_name": "100403.jpg", "id": 100403, "height": 427, "width": 640, "crowdIndex": 0.52}, {"file_name": "113558.jpg", "id": 113558, "height": 716, "width": 1000, "crowdIndex": 0.83}, {"file_name": "103264.jpg", "id": 103264, "height": 640, "width": 640, "crowdIndex": 0.38}, {"file_name": "104959.jpg", "id": 104959, "height": 500, "width": 375, "crowdIndex": 0.4}, {"file_name": "102071.jpg", "id": 102071, "height": 640, "width": 426, "crowdIndex": 0.27}, {"file_name": "107726.jpg", "id": 107726, "height": 427, "width": 640, "crowdIndex": 0.36}, {"file_name": "104000.jpg", "id": 104000, "height": 640, "width": 511, "crowdIndex": 0.25}, {"file_name": "102347.jpg", "id": 102347, "height": 480, "width": 640, "crowdIndex": 0.76}, {"file_name": "101964.jpg", "id": 101964, "height": 427, "width": 640, "crowdIndex": 0.5}, {"file_name": "104954.jpg", "id": 104954, "height": 640, "width": 480, "crowdIndex": 0.68}, {"file_name": "108188.jpg", "id": 108188, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "107713.jpg", "id": 107713, "height": 640, "width": 427, "crowdIndex": 1.03}, {"file_name": "105812.jpg", "id": 105812, "height": 640, "width": 480, "crowdIndex": 1.87}, {"file_name": "116041.jpg", "id": 116041, "height": 1000, "width": 650, "crowdIndex": 0.57}, {"file_name": "115732.jpg", "id": 115732, "height": 666, "width": 1000, "crowdIndex": 0.46}, {"file_name": "112339.jpg", "id": 112339, "height": 948, "width": 722, "crowdIndex": 0.43}, {"file_name": "108323.jpg", "id": 108323, "height": 366, "width": 500, "crowdIndex": 0.71}, {"file_name": "113013.jpg", "id": 113013, "height": 607, "width": 799, "crowdIndex": 0.75}, {"file_name": "118051.jpg", "id": 118051, "height": 532, "width": 802, "crowdIndex": 1.27}, {"file_name": "110043.jpg", "id": 110043, "height": 562, "width": 750, "crowdIndex": 0.29}, {"file_name": "115347.jpg", "id": 115347, "height": 546, "width": 950, "crowdIndex": 0.81}, {"file_name": "110764.jpg", "id": 110764, "height": 768, "width": 527, "crowdIndex": 0.29}, {"file_name": "113072.jpg", "id": 113072, "height": 763, "width": 550, "crowdIndex": 0.0}, {"file_name": "110550.jpg", "id": 110550, "height": 960, "width": 640, "crowdIndex": 0.88}, {"file_name": "108344.jpg", "id": 108344, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "114528.jpg", "id": 114528, "height": 800, "width": 532, "crowdIndex": 0.0}, {"file_name": "111562.jpg", "id": 111562, "height": 600, "width": 837, "crowdIndex": 0.25}, {"file_name": "110321.jpg", "id": 110321, "height": 939, "width": 565, "crowdIndex": 0.86}, {"file_name": "115315.jpg", "id": 115315, "height": 1000, "width": 849, "crowdIndex": 0.25}, {"file_name": "117221.jpg", "id": 117221, "height": 877, "width": 750, "crowdIndex": 0.84}, {"file_name": "117023.jpg", "id": 117023, "height": 718, "width": 950, "crowdIndex": 0.86}, {"file_name": "106087.jpg", "id": 106087, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "114451.jpg", "id": 114451, "height": 632, "width": 940, "crowdIndex": 0.11}, {"file_name": "109426.jpg", "id": 109426, "height": 1000, "width": 667, "crowdIndex": 1.0}, {"file_name": "111490.jpg", "id": 111490, "height": 810, "width": 540, "crowdIndex": 0.07}, {"file_name": "112829.jpg", "id": 112829, "height": 633, "width": 950, "crowdIndex": 0.25}, {"file_name": "114685.jpg", "id": 114685, "height": 634, "width": 950, "crowdIndex": 0.89}, {"file_name": "100124.jpg", "id": 100124, "height": 428, "width": 640, "crowdIndex": 0.0}, {"file_name": "113194.jpg", "id": 113194, "height": 638, "width": 900, "crowdIndex": 0.75}, {"file_name": "105942.jpg", "id": 105942, "height": 394, "width": 500, "crowdIndex": 0.79}, {"file_name": "101345.jpg", "id": 101345, "height": 480, "width": 640, "crowdIndex": 0.66}, {"file_name": "110571.jpg", "id": 110571, "height": 980, "width": 689, "crowdIndex": 0.89}, {"file_name": "106761.jpg", "id": 106761, "height": 640, "width": 480, "crowdIndex": 0.43}, {"file_name": "116024.jpg", "id": 116024, "height": 700, "width": 655, "crowdIndex": 0.9}, {"file_name": "113371.jpg", "id": 113371, "height": 1000, "width": 753, "crowdIndex": 0.71}, {"file_name": "100299.jpg", "id": 100299, "height": 428, "width": 640, "crowdIndex": 0.0}, {"file_name": "113228.jpg", "id": 113228, "height": 900, "width": 600, "crowdIndex": 0.35}, {"file_name": "111474.jpg", "id": 111474, "height": 664, "width": 940, "crowdIndex": 0.65}, {"file_name": "119793.jpg", "id": 119793, "height": 1000, "width": 666, "crowdIndex": 0.14}, {"file_name": "117490.jpg", "id": 117490, "height": 600, "width": 900, "crowdIndex": 0.69}, {"file_name": "118964.jpg", "id": 118964, "height": 599, "width": 900, "crowdIndex": 0.12}, {"file_name": "114811.jpg", "id": 114811, "height": 600, "width": 900, "crowdIndex": 0.59}, {"file_name": "108782.jpg", "id": 108782, "height": 454, "width": 640, "crowdIndex": 0.23}, {"file_name": "111914.jpg", "id": 111914, "height": 888, "width": 592, "crowdIndex": 0.21}, {"file_name": "107273.jpg", "id": 107273, "height": 424, "width": 640, "crowdIndex": 0.27}, {"file_name": "102906.jpg", "id": 102906, "height": 425, "width": 640, "crowdIndex": 0.62}, {"file_name": "118164.jpg", "id": 118164, "height": 1000, "width": 754, "crowdIndex": 0.0}, {"file_name": "116130.jpg", "id": 116130, "height": 939, "width": 626, "crowdIndex": 0.68}, {"file_name": "115492.jpg", "id": 115492, "height": 1000, "width": 666, "crowdIndex": 1.0}, {"file_name": "109386.jpg", "id": 109386, "height": 824, "width": 550, "crowdIndex": 0.49}, {"file_name": "104400.jpg", "id": 104400, "height": 480, "width": 640, "crowdIndex": 0.2}, {"file_name": "108086.jpg", "id": 108086, "height": 640, "width": 480, "crowdIndex": 0.27}, {"file_name": "104045.jpg", "id": 104045, "height": 640, "width": 427, "crowdIndex": 0.07}, {"file_name": "109513.jpg", "id": 109513, "height": 1000, "width": 666, "crowdIndex": 0.4}, {"file_name": "107028.jpg", "id": 107028, "height": 480, "width": 640, "crowdIndex": 0.14}, {"file_name": "113434.jpg", "id": 113434, "height": 1000, "width": 666, "crowdIndex": 0.64}, {"file_name": "101709.jpg", "id": 101709, "height": 640, "width": 408, "crowdIndex": 0.0}, {"file_name": "115924.jpg", "id": 115924, "height": 1000, "width": 666, "crowdIndex": 1.12}, {"file_name": "118297.jpg", "id": 118297, "height": 1000, "width": 759, "crowdIndex": 0.68}, {"file_name": "107430.jpg", "id": 107430, "height": 500, "width": 333, "crowdIndex": 0.0}, {"file_name": "104171.jpg", "id": 104171, "height": 640, "width": 427, "crowdIndex": 0.75}, {"file_name": "102679.jpg", "id": 102679, "height": 327, "width": 640, "crowdIndex": 0.14}, {"file_name": "111847.jpg", "id": 111847, "height": 766, "width": 510, "crowdIndex": 0.93}, {"file_name": "105573.jpg", "id": 105573, "height": 640, "width": 480, "crowdIndex": 1.0}, {"file_name": "110365.jpg", "id": 110365, "height": 704, "width": 550, "crowdIndex": 0.0}, {"file_name": "100998.jpg", "id": 100998, "height": 425, "width": 640, "crowdIndex": 0.19}, {"file_name": "102263.jpg", "id": 102263, "height": 640, "width": 457, "crowdIndex": 0.36}, {"file_name": "112991.jpg", "id": 112991, "height": 939, "width": 626, "crowdIndex": 0.47}, {"file_name": "112415.jpg", "id": 112415, "height": 604, "width": 900, "crowdIndex": 0.89}, {"file_name": "112455.jpg", "id": 112455, "height": 850, "width": 650, "crowdIndex": 0.43}, {"file_name": "102524.jpg", "id": 102524, "height": 640, "width": 450, "crowdIndex": 0.15}, {"file_name": "107526.jpg", "id": 107526, "height": 429, "width": 640, "crowdIndex": 0.39}, {"file_name": "117837.jpg", "id": 117837, "height": 763, "width": 1000, "crowdIndex": 0.0}, {"file_name": "114668.jpg", "id": 114668, "height": 632, "width": 950, "crowdIndex": 0.71}, {"file_name": "116902.jpg", "id": 116902, "height": 750, "width": 610, "crowdIndex": 0.82}, {"file_name": "114759.jpg", "id": 114759, "height": 626, "width": 940, "crowdIndex": 0.77}, {"file_name": "115645.jpg", "id": 115645, "height": 688, "width": 1000, "crowdIndex": 0.54}, {"file_name": "101049.jpg", "id": 101049, "height": 359, "width": 640, "crowdIndex": 0.68}, {"file_name": "103072.jpg", "id": 103072, "height": 640, "width": 501, "crowdIndex": 0.75}, {"file_name": "119797.jpg", "id": 119797, "height": 805, "width": 1000, "crowdIndex": 0.32}, {"file_name": "115248.jpg", "id": 115248, "height": 667, "width": 1000, "crowdIndex": 0.25}, {"file_name": "110511.jpg", "id": 110511, "height": 592, "width": 850, "crowdIndex": 0.57}, {"file_name": "105621.jpg", "id": 105621, "height": 427, "width": 640, "crowdIndex": 0.81}, {"file_name": "106248.jpg", "id": 106248, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "100635.jpg", "id": 100635, "height": 417, "width": 640, "crowdIndex": 0.9}, {"file_name": "104425.jpg", "id": 104425, "height": 428, "width": 640, "crowdIndex": 0.42}, {"file_name": "110190.jpg", "id": 110190, "height": 951, "width": 634, "crowdIndex": 0.21}, {"file_name": "116098.jpg", "id": 116098, "height": 610, "width": 838, "crowdIndex": 1.71}, {"file_name": "101627.jpg", "id": 101627, "height": 311, "width": 640, "crowdIndex": 0.12}, {"file_name": "112232.jpg", "id": 112232, "height": 833, "width": 560, "crowdIndex": 0.05}, {"file_name": "101056.jpg", "id": 101056, "height": 428, "width": 640, "crowdIndex": 0.0}, {"file_name": "103115.jpg", "id": 103115, "height": 333, "width": 500, "crowdIndex": 0.0}, {"file_name": "100902.jpg", "id": 100902, "height": 433, "width": 640, "crowdIndex": 0.44}, {"file_name": "106741.jpg", "id": 106741, "height": 480, "width": 640, "crowdIndex": 0.44}, {"file_name": "107413.jpg", "id": 107413, "height": 375, "width": 500, "crowdIndex": 0.21}, {"file_name": "103362.jpg", "id": 103362, "height": 480, "width": 640, "crowdIndex": 0.72}, {"file_name": "102479.jpg", "id": 102479, "height": 433, "width": 640, "crowdIndex": 0.17}, {"file_name": "108040.jpg", "id": 108040, "height": 360, "width": 640, "crowdIndex": 0.74}, {"file_name": "116501.jpg", "id": 116501, "height": 800, "width": 513, "crowdIndex": 0.62}, {"file_name": "117475.jpg", "id": 117475, "height": 1000, "width": 665, "crowdIndex": 0.66}, {"file_name": "115518.jpg", "id": 115518, "height": 826, "width": 550, "crowdIndex": 0.0}, {"file_name": "107363.jpg", "id": 107363, "height": 480, "width": 640, "crowdIndex": 0.25}, {"file_name": "107638.jpg", "id": 107638, "height": 640, "width": 480, "crowdIndex": 0.11}, {"file_name": "116095.jpg", "id": 116095, "height": 871, "width": 634, "crowdIndex": 0.61}, {"file_name": "113263.jpg", "id": 113263, "height": 1000, "width": 667, "crowdIndex": 0.39}, {"file_name": "109589.jpg", "id": 109589, "height": 801, "width": 600, "crowdIndex": 0.74}, {"file_name": "100926.jpg", "id": 100926, "height": 640, "width": 480, "crowdIndex": 0.47}, {"file_name": "102581.jpg", "id": 102581, "height": 640, "width": 480, "crowdIndex": 1.06}, {"file_name": "110431.jpg", "id": 110431, "height": 599, "width": 900, "crowdIndex": 0.0}, {"file_name": "115557.jpg", "id": 115557, "height": 687, "width": 950, "crowdIndex": 0.82}, {"file_name": "108685.jpg", "id": 108685, "height": 640, "width": 640, "crowdIndex": 0.86}, {"file_name": "112633.jpg", "id": 112633, "height": 1000, "width": 812, "crowdIndex": 0.14}, {"file_name": "101882.jpg", "id": 101882, "height": 612, "width": 612, "crowdIndex": 0.75}, {"file_name": "101880.jpg", "id": 101880, "height": 480, "width": 640, "crowdIndex": 0.59}, {"file_name": "119687.jpg", "id": 119687, "height": 1000, "width": 857, "crowdIndex": 0.17}, {"file_name": "113109.jpg", "id": 113109, "height": 776, "width": 949, "crowdIndex": 0.0}, {"file_name": "104716.jpg", "id": 104716, "height": 480, "width": 640, "crowdIndex": 0.47}, {"file_name": "115113.jpg", "id": 115113, "height": 666, "width": 1000, "crowdIndex": 0.35}, {"file_name": "109557.jpg", "id": 109557, "height": 846, "width": 550, "crowdIndex": 0.21}, {"file_name": "115834.jpg", "id": 115834, "height": 722, "width": 950, "crowdIndex": 0.43}, {"file_name": "101686.jpg", "id": 101686, "height": 640, "width": 533, "crowdIndex": 1.31}, {"file_name": "102122.jpg", "id": 102122, "height": 375, "width": 500, "crowdIndex": 0.1}, {"file_name": "113528.jpg", "id": 113528, "height": 659, "width": 950, "crowdIndex": 0.3}, {"file_name": "118735.jpg", "id": 118735, "height": 633, "width": 950, "crowdIndex": 0.49}, {"file_name": "105475.jpg", "id": 105475, "height": 480, "width": 640, "crowdIndex": 0.54}, {"file_name": "114308.jpg", "id": 114308, "height": 666, "width": 1000, "crowdIndex": 0.68}, {"file_name": "107326.jpg", "id": 107326, "height": 427, "width": 640, "crowdIndex": 0.83}, {"file_name": "115251.jpg", "id": 115251, "height": 364, "width": 550, "crowdIndex": 0.26}, {"file_name": "109607.jpg", "id": 109607, "height": 825, "width": 550, "crowdIndex": 0.86}, {"file_name": "107687.jpg", "id": 107687, "height": 375, "width": 500, "crowdIndex": 0.08}, {"file_name": "114713.jpg", "id": 114713, "height": 686, "width": 950, "crowdIndex": 0.64}, {"file_name": "107972.jpg", "id": 107972, "height": 448, "width": 640, "crowdIndex": 1.17}, {"file_name": "109051.jpg", "id": 109051, "height": 1000, "width": 1000, "crowdIndex": 0.0}, {"file_name": "118610.jpg", "id": 118610, "height": 633, "width": 950, "crowdIndex": 1.0}, {"file_name": "113821.jpg", "id": 113821, "height": 1000, "width": 756, "crowdIndex": 0.18}, {"file_name": "111963.jpg", "id": 111963, "height": 1000, "width": 665, "crowdIndex": 1.1}, {"file_name": "103667.jpg", "id": 103667, "height": 640, "width": 640, "crowdIndex": 0.11}, {"file_name": "105183.jpg", "id": 105183, "height": 612, "width": 640, "crowdIndex": 0.36}, {"file_name": "113693.jpg", "id": 113693, "height": 701, "width": 950, "crowdIndex": 0.85}, {"file_name": "110112.jpg", "id": 110112, "height": 894, "width": 550, "crowdIndex": 0.18}, {"file_name": "115613.jpg", "id": 115613, "height": 642, "width": 950, "crowdIndex": 0.27}, {"file_name": "108446.jpg", "id": 108446, "height": 297, "width": 500, "crowdIndex": 0.27}, {"file_name": "100743.jpg", "id": 100743, "height": 483, "width": 640, "crowdIndex": 0.59}, {"file_name": "108924.jpg", "id": 108924, "height": 500, "width": 375, "crowdIndex": 0.13}, {"file_name": "115517.jpg", "id": 115517, "height": 344, "width": 550, "crowdIndex": 0.43}, {"file_name": "100852.jpg", "id": 100852, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "117227.jpg", "id": 117227, "height": 634, "width": 950, "crowdIndex": 0.76}, {"file_name": "114306.jpg", "id": 114306, "height": 532, "width": 800, "crowdIndex": 0.35}, {"file_name": "104133.jpg", "id": 104133, "height": 452, "width": 500, "crowdIndex": 0.55}, {"file_name": "116404.jpg", "id": 116404, "height": 604, "width": 940, "crowdIndex": 0.74}, {"file_name": "105708.jpg", "id": 105708, "height": 640, "width": 427, "crowdIndex": 0.14}, {"file_name": "115061.jpg", "id": 115061, "height": 710, "width": 962, "crowdIndex": 0.79}, {"file_name": "109317.jpg", "id": 109317, "height": 667, "width": 500, "crowdIndex": 0.61}, {"file_name": "106861.jpg", "id": 106861, "height": 427, "width": 640, "crowdIndex": 1.03}, {"file_name": "100221.jpg", "id": 100221, "height": 500, "width": 482, "crowdIndex": 0.25}, {"file_name": "113928.jpg", "id": 113928, "height": 617, "width": 940, "crowdIndex": 0.26}, {"file_name": "102797.jpg", "id": 102797, "height": 480, "width": 640, "crowdIndex": 0.26}, {"file_name": "106031.jpg", "id": 106031, "height": 427, "width": 640, "crowdIndex": 0.26}, {"file_name": "100411.jpg", "id": 100411, "height": 640, "width": 480, "crowdIndex": 0.1}, {"file_name": "103000.jpg", "id": 103000, "height": 480, "width": 640, "crowdIndex": 0.86}, {"file_name": "105937.jpg", "id": 105937, "height": 500, "width": 400, "crowdIndex": 0.8}, {"file_name": "118746.jpg", "id": 118746, "height": 1000, "width": 667, "crowdIndex": 0.38}, {"file_name": "100836.jpg", "id": 100836, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "113124.jpg", "id": 113124, "height": 900, "width": 600, "crowdIndex": 0.0}, {"file_name": "102903.jpg", "id": 102903, "height": 640, "width": 526, "crowdIndex": 0.33}, {"file_name": "117953.jpg", "id": 117953, "height": 666, "width": 1000, "crowdIndex": 0.64}, {"file_name": "119953.jpg", "id": 119953, "height": 759, "width": 950, "crowdIndex": 0.62}, {"file_name": "114314.jpg", "id": 114314, "height": 611, "width": 944, "crowdIndex": 0.5}, {"file_name": "119756.jpg", "id": 119756, "height": 1000, "width": 722, "crowdIndex": 0.89}, {"file_name": "112366.jpg", "id": 112366, "height": 739, "width": 500, "crowdIndex": 0.89}, {"file_name": "114036.jpg", "id": 114036, "height": 888, "width": 588, "crowdIndex": 0.36}, {"file_name": "110661.jpg", "id": 110661, "height": 489, "width": 663, "crowdIndex": 0.25}, {"file_name": "119124.jpg", "id": 119124, "height": 1000, "width": 767, "crowdIndex": 0.79}, {"file_name": "107690.jpg", "id": 107690, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "103777.jpg", "id": 103777, "height": 428, "width": 640, "crowdIndex": 1.18}, {"file_name": "111985.jpg", "id": 111985, "height": 850, "width": 725, "crowdIndex": 0.75}, {"file_name": "107405.jpg", "id": 107405, "height": 499, "width": 640, "crowdIndex": 0.55}, {"file_name": "114760.jpg", "id": 114760, "height": 700, "width": 525, "crowdIndex": 0.46}, {"file_name": "114969.jpg", "id": 114969, "height": 600, "width": 900, "crowdIndex": 0.6}, {"file_name": "111349.jpg", "id": 111349, "height": 625, "width": 800, "crowdIndex": 0.9}, {"file_name": "100163.jpg", "id": 100163, "height": 480, "width": 640, "crowdIndex": 0.19}, {"file_name": "105813.jpg", "id": 105813, "height": 640, "width": 479, "crowdIndex": 1.1}, {"file_name": "107813.jpg", "id": 107813, "height": 427, "width": 640, "crowdIndex": 0.21}, {"file_name": "106030.jpg", "id": 106030, "height": 480, "width": 640, "crowdIndex": 0.65}, {"file_name": "114636.jpg", "id": 114636, "height": 770, "width": 854, "crowdIndex": 0.26}, {"file_name": "100843.jpg", "id": 100843, "height": 427, "width": 640, "crowdIndex": 0.51}, {"file_name": "104989.jpg", "id": 104989, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "101946.jpg", "id": 101946, "height": 453, "width": 640, "crowdIndex": 0.8}, {"file_name": "114199.jpg", "id": 114199, "height": 633, "width": 950, "crowdIndex": 0.52}, {"file_name": "105327.jpg", "id": 105327, "height": 612, "width": 612, "crowdIndex": 0.57}, {"file_name": "106878.jpg", "id": 106878, "height": 640, "width": 427, "crowdIndex": 0.89}, {"file_name": "113065.jpg", "id": 113065, "height": 531, "width": 800, "crowdIndex": 0.7}, {"file_name": "112410.jpg", "id": 112410, "height": 1000, "width": 540, "crowdIndex": 0.71}, {"file_name": "104600.jpg", "id": 104600, "height": 427, "width": 640, "crowdIndex": 0.28}, {"file_name": "117614.jpg", "id": 117614, "height": 626, "width": 939, "crowdIndex": 0.64}, {"file_name": "112036.jpg", "id": 112036, "height": 680, "width": 510, "crowdIndex": 0.82}, {"file_name": "114767.jpg", "id": 114767, "height": 857, "width": 650, "crowdIndex": 0.54}, {"file_name": "100737.jpg", "id": 100737, "height": 480, "width": 640, "crowdIndex": 0.75}, {"file_name": "107568.jpg", "id": 107568, "height": 426, "width": 640, "crowdIndex": 0.45}, {"file_name": "111171.jpg", "id": 111171, "height": 750, "width": 500, "crowdIndex": 0.11}, {"file_name": "116705.jpg", "id": 116705, "height": 633, "width": 950, "crowdIndex": 0.58}, {"file_name": "103345.jpg", "id": 103345, "height": 428, "width": 640, "crowdIndex": 0.74}, {"file_name": "109199.jpg", "id": 109199, "height": 830, "width": 550, "crowdIndex": 0.6}, {"file_name": "102305.jpg", "id": 102305, "height": 480, "width": 640, "crowdIndex": 0.59}, {"file_name": "116381.jpg", "id": 116381, "height": 900, "width": 643, "crowdIndex": 0.18}, {"file_name": "113684.jpg", "id": 113684, "height": 600, "width": 900, "crowdIndex": 0.57}, {"file_name": "110156.jpg", "id": 110156, "height": 720, "width": 960, "crowdIndex": 0.11}, {"file_name": "111126.jpg", "id": 111126, "height": 750, "width": 500, "crowdIndex": 0.0}, {"file_name": "113137.jpg", "id": 113137, "height": 766, "width": 600, "crowdIndex": 0.82}, {"file_name": "119943.jpg", "id": 119943, "height": 650, "width": 868, "crowdIndex": 0.5}, {"file_name": "109273.jpg", "id": 109273, "height": 884, "width": 500, "crowdIndex": 0.46}, {"file_name": "103628.jpg", "id": 103628, "height": 424, "width": 640, "crowdIndex": 0.62}, {"file_name": "110399.jpg", "id": 110399, "height": 800, "width": 533, "crowdIndex": 0.31}, {"file_name": "105579.jpg", "id": 105579, "height": 640, "width": 427, "crowdIndex": 0.83}, {"file_name": "110330.jpg", "id": 110330, "height": 855, "width": 634, "crowdIndex": 0.57}, {"file_name": "105425.jpg", "id": 105425, "height": 480, "width": 640, "crowdIndex": 0.77}, {"file_name": "107504.jpg", "id": 107504, "height": 427, "width": 640, "crowdIndex": 0.69}, {"file_name": "115199.jpg", "id": 115199, "height": 1000, "width": 675, "crowdIndex": 0.54}, {"file_name": "105802.jpg", "id": 105802, "height": 612, "width": 612, "crowdIndex": 0.12}, {"file_name": "119542.jpg", "id": 119542, "height": 940, "width": 860, "crowdIndex": 1.34}, {"file_name": "111268.jpg", "id": 111268, "height": 825, "width": 550, "crowdIndex": 0.0}, {"file_name": "115713.jpg", "id": 115713, "height": 627, "width": 940, "crowdIndex": 0.11}, {"file_name": "116188.jpg", "id": 116188, "height": 633, "width": 950, "crowdIndex": 0.89}, {"file_name": "101670.jpg", "id": 101670, "height": 480, "width": 640, "crowdIndex": 0.3}, {"file_name": "109419.jpg", "id": 109419, "height": 650, "width": 504, "crowdIndex": 0.14}, {"file_name": "118768.jpg", "id": 118768, "height": 600, "width": 900, "crowdIndex": 0.76}, {"file_name": "114566.jpg", "id": 114566, "height": 951, "width": 634, "crowdIndex": 0.5}, {"file_name": "107361.jpg", "id": 107361, "height": 480, "width": 640, "crowdIndex": 0.63}, {"file_name": "115262.jpg", "id": 115262, "height": 666, "width": 1000, "crowdIndex": 0.65}, {"file_name": "107488.jpg", "id": 107488, "height": 457, "width": 640, "crowdIndex": 0.14}, {"file_name": "105888.jpg", "id": 105888, "height": 427, "width": 640, "crowdIndex": 0.44}, {"file_name": "118580.jpg", "id": 118580, "height": 517, "width": 690, "crowdIndex": 0.22}, {"file_name": "102620.jpg", "id": 102620, "height": 427, "width": 640, "crowdIndex": 0.25}, {"file_name": "109851.jpg", "id": 109851, "height": 750, "width": 620, "crowdIndex": 0.38}, {"file_name": "108372.jpg", "id": 108372, "height": 500, "width": 409, "crowdIndex": 0.36}, {"file_name": "113843.jpg", "id": 113843, "height": 939, "width": 626, "crowdIndex": 0.39}, {"file_name": "113273.jpg", "id": 113273, "height": 1000, "width": 833, "crowdIndex": 0.79}, {"file_name": "117410.jpg", "id": 117410, "height": 599, "width": 900, "crowdIndex": 0.7}, {"file_name": "109925.jpg", "id": 109925, "height": 300, "width": 400, "crowdIndex": 0.25}, {"file_name": "119215.jpg", "id": 119215, "height": 517, "width": 690, "crowdIndex": 1.0}, {"file_name": "104694.jpg", "id": 104694, "height": 640, "width": 427, "crowdIndex": 0.46}, {"file_name": "108991.jpg", "id": 108991, "height": 480, "width": 640, "crowdIndex": 0.33}, {"file_name": "114831.jpg", "id": 114831, "height": 806, "width": 600, "crowdIndex": 0.18}, {"file_name": "119570.jpg", "id": 119570, "height": 1000, "width": 660, "crowdIndex": 0.28}, {"file_name": "108328.jpg", "id": 108328, "height": 640, "width": 480, "crowdIndex": 0.5}, {"file_name": "114850.jpg", "id": 114850, "height": 455, "width": 800, "crowdIndex": 0.6}, {"file_name": "114577.jpg", "id": 114577, "height": 1000, "width": 783, "crowdIndex": 0.11}, {"file_name": "115116.jpg", "id": 115116, "height": 704, "width": 1000, "crowdIndex": 0.17}, {"file_name": "100243.jpg", "id": 100243, "height": 640, "width": 427, "crowdIndex": 0.87}, {"file_name": "119773.jpg", "id": 119773, "height": 666, "width": 1000, "crowdIndex": 1.29}, {"file_name": "111567.jpg", "id": 111567, "height": 584, "width": 900, "crowdIndex": 0.55}, {"file_name": "104717.jpg", "id": 104717, "height": 423, "width": 640, "crowdIndex": 0.79}, {"file_name": "111039.jpg", "id": 111039, "height": 666, "width": 950, "crowdIndex": 0.71}, {"file_name": "115567.jpg", "id": 115567, "height": 698, "width": 950, "crowdIndex": 0.68}, {"file_name": "102773.jpg", "id": 102773, "height": 640, "width": 438, "crowdIndex": 0.52}, {"file_name": "117659.jpg", "id": 117659, "height": 938, "width": 625, "crowdIndex": 0.83}, {"file_name": "117274.jpg", "id": 117274, "height": 749, "width": 500, "crowdIndex": 0.21}, {"file_name": "102297.jpg", "id": 102297, "height": 481, "width": 640, "crowdIndex": 0.2}, {"file_name": "101945.jpg", "id": 101945, "height": 383, "width": 640, "crowdIndex": 0.12}, {"file_name": "109654.jpg", "id": 109654, "height": 567, "width": 850, "crowdIndex": 0.25}, {"file_name": "112110.jpg", "id": 112110, "height": 1000, "width": 834, "crowdIndex": 0.71}, {"file_name": "109158.jpg", "id": 109158, "height": 764, "width": 550, "crowdIndex": 0.0}, {"file_name": "102793.jpg", "id": 102793, "height": 479, "width": 500, "crowdIndex": 0.54}, {"file_name": "110994.jpg", "id": 110994, "height": 680, "width": 906, "crowdIndex": 0.45}, {"file_name": "108809.jpg", "id": 108809, "height": 640, "width": 427, "crowdIndex": 0.19}, {"file_name": "115738.jpg", "id": 115738, "height": 666, "width": 1000, "crowdIndex": 0.76}, {"file_name": "119496.jpg", "id": 119496, "height": 625, "width": 940, "crowdIndex": 0.62}, {"file_name": "114442.jpg", "id": 114442, "height": 889, "width": 634, "crowdIndex": 0.71}, {"file_name": "102858.jpg", "id": 102858, "height": 480, "width": 640, "crowdIndex": 0.3}, {"file_name": "112402.jpg", "id": 112402, "height": 666, "width": 1000, "crowdIndex": 0.86}, {"file_name": "116767.jpg", "id": 116767, "height": 566, "width": 850, "crowdIndex": 0.39}, {"file_name": "117794.jpg", "id": 117794, "height": 729, "width": 550, "crowdIndex": 0.54}, {"file_name": "119515.jpg", "id": 119515, "height": 901, "width": 600, "crowdIndex": 0.3}, {"file_name": "104596.jpg", "id": 104596, "height": 480, "width": 640, "crowdIndex": 0.96}, {"file_name": "114661.jpg", "id": 114661, "height": 741, "width": 640, "crowdIndex": 0.25}, {"file_name": "108665.jpg", "id": 108665, "height": 319, "width": 450, "crowdIndex": 0.5}, {"file_name": "118458.jpg", "id": 118458, "height": 1000, "width": 635, "crowdIndex": 0.96}, {"file_name": "111191.jpg", "id": 111191, "height": 817, "width": 500, "crowdIndex": 0.64}, {"file_name": "117175.jpg", "id": 117175, "height": 691, "width": 940, "crowdIndex": 0.58}, {"file_name": "113710.jpg", "id": 113710, "height": 774, "width": 1000, "crowdIndex": 0.43}, {"file_name": "119487.jpg", "id": 119487, "height": 652, "width": 940, "crowdIndex": 0.84}, {"file_name": "115618.jpg", "id": 115618, "height": 900, "width": 581, "crowdIndex": 0.87}, {"file_name": "103998.jpg", "id": 103998, "height": 422, "width": 640, "crowdIndex": 0.19}, {"file_name": "119789.jpg", "id": 119789, "height": 751, "width": 500, "crowdIndex": 0.79}, {"file_name": "108269.jpg", "id": 108269, "height": 480, "width": 640, "crowdIndex": 0.42}, {"file_name": "107276.jpg", "id": 107276, "height": 640, "width": 515, "crowdIndex": 0.12}, {"file_name": "118991.jpg", "id": 118991, "height": 1000, "width": 667, "crowdIndex": 0.14}, {"file_name": "104389.jpg", "id": 104389, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "115726.jpg", "id": 115726, "height": 800, "width": 533, "crowdIndex": 0.71}, {"file_name": "118203.jpg", "id": 118203, "height": 825, "width": 600, "crowdIndex": 0.75}, {"file_name": "102913.jpg", "id": 102913, "height": 480, "width": 640, "crowdIndex": 0.25}, {"file_name": "109019.jpg", "id": 109019, "height": 426, "width": 640, "crowdIndex": 0.42}, {"file_name": "118936.jpg", "id": 118936, "height": 681, "width": 940, "crowdIndex": 0.68}, {"file_name": "113703.jpg", "id": 113703, "height": 688, "width": 600, "crowdIndex": 0.55}, {"file_name": "101956.jpg", "id": 101956, "height": 640, "width": 481, "crowdIndex": 0.75}, {"file_name": "115366.jpg", "id": 115366, "height": 649, "width": 940, "crowdIndex": 0.5}, {"file_name": "102868.jpg", "id": 102868, "height": 480, "width": 640, "crowdIndex": 0.13}, {"file_name": "111656.jpg", "id": 111656, "height": 634, "width": 950, "crowdIndex": 0.8}, {"file_name": "116291.jpg", "id": 116291, "height": 666, "width": 1000, "crowdIndex": 1.6}, {"file_name": "107150.jpg", "id": 107150, "height": 640, "width": 478, "crowdIndex": 0.61}, {"file_name": "100595.jpg", "id": 100595, "height": 480, "width": 640, "crowdIndex": 0.4}, {"file_name": "102497.jpg", "id": 102497, "height": 640, "width": 489, "crowdIndex": 0.52}, {"file_name": "109210.jpg", "id": 109210, "height": 975, "width": 650, "crowdIndex": 0.68}, {"file_name": "104608.jpg", "id": 104608, "height": 432, "width": 640, "crowdIndex": 0.29}, {"file_name": "104325.jpg", "id": 104325, "height": 424, "width": 640, "crowdIndex": 0.23}, {"file_name": "115636.jpg", "id": 115636, "height": 600, "width": 900, "crowdIndex": 0.5}, {"file_name": "104489.jpg", "id": 104489, "height": 640, "width": 379, "crowdIndex": 0.0}, {"file_name": "103203.jpg", "id": 103203, "height": 480, "width": 640, "crowdIndex": 1.95}, {"file_name": "113597.jpg", "id": 113597, "height": 480, "width": 480, "crowdIndex": 0.27}, {"file_name": "118281.jpg", "id": 118281, "height": 531, "width": 800, "crowdIndex": 0.35}, {"file_name": "118208.jpg", "id": 118208, "height": 683, "width": 948, "crowdIndex": 1.07}, {"file_name": "103807.jpg", "id": 103807, "height": 445, "width": 640, "crowdIndex": 0.28}, {"file_name": "107023.jpg", "id": 107023, "height": 427, "width": 640, "crowdIndex": 0.52}, {"file_name": "118571.jpg", "id": 118571, "height": 747, "width": 900, "crowdIndex": 0.79}, {"file_name": "101541.jpg", "id": 101541, "height": 428, "width": 640, "crowdIndex": 0.0}, {"file_name": "110293.jpg", "id": 110293, "height": 713, "width": 950, "crowdIndex": 0.25}, {"file_name": "113784.jpg", "id": 113784, "height": 773, "width": 1000, "crowdIndex": 0.48}, {"file_name": "110718.jpg", "id": 110718, "height": 987, "width": 950, "crowdIndex": 0.72}, {"file_name": "104149.jpg", "id": 104149, "height": 375, "width": 500, "crowdIndex": 0.53}, {"file_name": "101891.jpg", "id": 101891, "height": 480, "width": 640, "crowdIndex": 0.22}, {"file_name": "102778.jpg", "id": 102778, "height": 375, "width": 500, "crowdIndex": 0.0}, {"file_name": "114338.jpg", "id": 114338, "height": 593, "width": 950, "crowdIndex": 0.2}, {"file_name": "119148.jpg", "id": 119148, "height": 850, "width": 567, "crowdIndex": 0.5}, {"file_name": "108112.jpg", "id": 108112, "height": 640, "width": 427, "crowdIndex": 0.44}, {"file_name": "100065.jpg", "id": 100065, "height": 640, "width": 441, "crowdIndex": 0.6}, {"file_name": "108544.jpg", "id": 108544, "height": 427, "width": 640, "crowdIndex": 0.1}, {"file_name": "106909.jpg", "id": 106909, "height": 640, "width": 427, "crowdIndex": 0.0}, {"file_name": "116064.jpg", "id": 116064, "height": 600, "width": 800, "crowdIndex": 1.05}, {"file_name": "104860.jpg", "id": 104860, "height": 429, "width": 640, "crowdIndex": 0.51}, {"file_name": "111923.jpg", "id": 111923, "height": 627, "width": 940, "crowdIndex": 0.72}, {"file_name": "105456.jpg", "id": 105456, "height": 500, "width": 334, "crowdIndex": 0.67}, {"file_name": "119904.jpg", "id": 119904, "height": 939, "width": 596, "crowdIndex": 0.14}, {"file_name": "119010.jpg", "id": 119010, "height": 940, "width": 626, "crowdIndex": 0.57}, {"file_name": "108142.jpg", "id": 108142, "height": 480, "width": 640, "crowdIndex": 0.25}, {"file_name": "105264.jpg", "id": 105264, "height": 469, "width": 640, "crowdIndex": 0.68}, {"file_name": "110464.jpg", "id": 110464, "height": 964, "width": 550, "crowdIndex": 0.18}, {"file_name": "111419.jpg", "id": 111419, "height": 616, "width": 928, "crowdIndex": 0.87}, {"file_name": "104945.jpg", "id": 104945, "height": 480, "width": 640, "crowdIndex": 0.31}, {"file_name": "118089.jpg", "id": 118089, "height": 614, "width": 1000, "crowdIndex": 0.76}, {"file_name": "113501.jpg", "id": 113501, "height": 599, "width": 950, "crowdIndex": 0.75}, {"file_name": "117746.jpg", "id": 117746, "height": 656, "width": 900, "crowdIndex": 0.29}, {"file_name": "114040.jpg", "id": 114040, "height": 1000, "width": 835, "crowdIndex": 0.68}, {"file_name": "117411.jpg", "id": 117411, "height": 633, "width": 950, "crowdIndex": 0.12}, {"file_name": "115329.jpg", "id": 115329, "height": 600, "width": 800, "crowdIndex": 0.55}, {"file_name": "113718.jpg", "id": 113718, "height": 675, "width": 557, "crowdIndex": 0.0}, {"file_name": "119598.jpg", "id": 119598, "height": 1000, "width": 706, "crowdIndex": 0.21}, {"file_name": "114781.jpg", "id": 114781, "height": 666, "width": 1000, "crowdIndex": 0.71}, {"file_name": "118423.jpg", "id": 118423, "height": 1000, "width": 666, "crowdIndex": 0.62}, {"file_name": "114428.jpg", "id": 114428, "height": 517, "width": 690, "crowdIndex": 0.89}, {"file_name": "103971.jpg", "id": 103971, "height": 378, "width": 500, "crowdIndex": 0.21}, {"file_name": "109726.jpg", "id": 109726, "height": 688, "width": 550, "crowdIndex": 0.68}, {"file_name": "106372.jpg", "id": 106372, "height": 612, "width": 612, "crowdIndex": 0.0}, {"file_name": "112973.jpg", "id": 112973, "height": 584, "width": 950, "crowdIndex": 0.69}, {"file_name": "107383.jpg", "id": 107383, "height": 640, "width": 637, "crowdIndex": 1.41}, {"file_name": "108562.jpg", "id": 108562, "height": 375, "width": 500, "crowdIndex": 0.5}, {"file_name": "115450.jpg", "id": 115450, "height": 1000, "width": 748, "crowdIndex": 0.93}, {"file_name": "101508.jpg", "id": 101508, "height": 474, "width": 640, "crowdIndex": 0.71}, {"file_name": "110277.jpg", "id": 110277, "height": 750, "width": 500, "crowdIndex": 0.0}, {"file_name": "111164.jpg", "id": 111164, "height": 666, "width": 1000, "crowdIndex": 0.59}, {"file_name": "105298.jpg", "id": 105298, "height": 427, "width": 640, "crowdIndex": 0.56}, {"file_name": "103844.jpg", "id": 103844, "height": 456, "width": 640, "crowdIndex": 0.57}, {"file_name": "104249.jpg", "id": 104249, "height": 480, "width": 640, "crowdIndex": 0.8}, {"file_name": "108760.jpg", "id": 108760, "height": 512, "width": 640, "crowdIndex": 0.3}, {"file_name": "108130.jpg", "id": 108130, "height": 427, "width": 640, "crowdIndex": 0.78}, {"file_name": "104638.jpg", "id": 104638, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "110017.jpg", "id": 110017, "height": 1000, "width": 919, "crowdIndex": 0.18}, {"file_name": "106813.jpg", "id": 106813, "height": 375, "width": 500, "crowdIndex": 0.2}, {"file_name": "102880.jpg", "id": 102880, "height": 480, "width": 640, "crowdIndex": 0.53}, {"file_name": "113606.jpg", "id": 113606, "height": 800, "width": 670, "crowdIndex": 0.51}, {"file_name": "114067.jpg", "id": 114067, "height": 1000, "width": 701, "crowdIndex": 0.44}, {"file_name": "108242.jpg", "id": 108242, "height": 427, "width": 640, "crowdIndex": 0.76}, {"file_name": "114789.jpg", "id": 114789, "height": 632, "width": 850, "crowdIndex": 0.61}, {"file_name": "104808.jpg", "id": 104808, "height": 500, "width": 333, "crowdIndex": 0.29}, {"file_name": "101881.jpg", "id": 101881, "height": 640, "width": 481, "crowdIndex": 0.26}, {"file_name": "105928.jpg", "id": 105928, "height": 426, "width": 640, "crowdIndex": 0.44}, {"file_name": "104521.jpg", "id": 104521, "height": 640, "width": 458, "crowdIndex": 0.15}, {"file_name": "111871.jpg", "id": 111871, "height": 626, "width": 940, "crowdIndex": 0.78}, {"file_name": "114105.jpg", "id": 114105, "height": 600, "width": 735, "crowdIndex": 0.39}, {"file_name": "106987.jpg", "id": 106987, "height": 480, "width": 640, "crowdIndex": 0.52}, {"file_name": "104647.jpg", "id": 104647, "height": 481, "width": 640, "crowdIndex": 0.92}, {"file_name": "117603.jpg", "id": 117603, "height": 800, "width": 533, "crowdIndex": 0.66}, {"file_name": "119639.jpg", "id": 119639, "height": 705, "width": 1000, "crowdIndex": 0.88}, {"file_name": "110648.jpg", "id": 110648, "height": 614, "width": 1000, "crowdIndex": 0.82}, {"file_name": "116706.jpg", "id": 116706, "height": 634, "width": 950, "crowdIndex": 0.29}, {"file_name": "109225.jpg", "id": 109225, "height": 660, "width": 520, "crowdIndex": 0.29}, {"file_name": "109191.jpg", "id": 109191, "height": 675, "width": 550, "crowdIndex": 0.82}, {"file_name": "107193.jpg", "id": 107193, "height": 427, "width": 640, "crowdIndex": 0.42}, {"file_name": "115948.jpg", "id": 115948, "height": 960, "width": 720, "crowdIndex": 0.25}, {"file_name": "106988.jpg", "id": 106988, "height": 377, "width": 640, "crowdIndex": 0.38}, {"file_name": "112361.jpg", "id": 112361, "height": 999, "width": 950, "crowdIndex": 0.71}, {"file_name": "110737.jpg", "id": 110737, "height": 900, "width": 600, "crowdIndex": 0.0}, {"file_name": "116007.jpg", "id": 116007, "height": 1000, "width": 667, "crowdIndex": 0.21}, {"file_name": "104189.jpg", "id": 104189, "height": 480, "width": 640, "crowdIndex": 0.75}, {"file_name": "101735.jpg", "id": 101735, "height": 425, "width": 640, "crowdIndex": 0.11}, {"file_name": "109085.jpg", "id": 109085, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "118603.jpg", "id": 118603, "height": 928, "width": 650, "crowdIndex": 0.68}, {"file_name": "110524.jpg", "id": 110524, "height": 1000, "width": 666, "crowdIndex": 0.11}, {"file_name": "102712.jpg", "id": 102712, "height": 612, "width": 612, "crowdIndex": 0.49}, {"file_name": "110728.jpg", "id": 110728, "height": 626, "width": 939, "crowdIndex": 0.44}, {"file_name": "104165.jpg", "id": 104165, "height": 361, "width": 640, "crowdIndex": 0.0}, {"file_name": "103718.jpg", "id": 103718, "height": 480, "width": 640, "crowdIndex": 0.21}, {"file_name": "107684.jpg", "id": 107684, "height": 500, "width": 410, "crowdIndex": 0.73}, {"file_name": "105293.jpg", "id": 105293, "height": 640, "width": 431, "crowdIndex": 0.57}, {"file_name": "105332.jpg", "id": 105332, "height": 400, "width": 640, "crowdIndex": 0.75}, {"file_name": "119702.jpg", "id": 119702, "height": 861, "width": 609, "crowdIndex": 0.66}, {"file_name": "105087.jpg", "id": 105087, "height": 427, "width": 640, "crowdIndex": 0.13}, {"file_name": "114849.jpg", "id": 114849, "height": 1000, "width": 666, "crowdIndex": 0.79}, {"file_name": "104137.jpg", "id": 104137, "height": 500, "width": 375, "crowdIndex": 0.44}, {"file_name": "101827.jpg", "id": 101827, "height": 427, "width": 640, "crowdIndex": 0.37}, {"file_name": "106073.jpg", "id": 106073, "height": 439, "width": 640, "crowdIndex": 0.49}, {"file_name": "102411.jpg", "id": 102411, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "102997.jpg", "id": 102997, "height": 640, "width": 480, "crowdIndex": 0.08}, {"file_name": "108296.jpg", "id": 108296, "height": 480, "width": 640, "crowdIndex": 0.73}, {"file_name": "104888.jpg", "id": 104888, "height": 443, "width": 640, "crowdIndex": 1.2}, {"file_name": "100918.jpg", "id": 100918, "height": 428, "width": 640, "crowdIndex": 0.47}, {"file_name": "116906.jpg", "id": 116906, "height": 704, "width": 940, "crowdIndex": 1.24}, {"file_name": "117100.jpg", "id": 117100, "height": 281, "width": 500, "crowdIndex": 0.53}, {"file_name": "105822.jpg", "id": 105822, "height": 480, "width": 640, "crowdIndex": 0.72}, {"file_name": "110198.jpg", "id": 110198, "height": 539, "width": 800, "crowdIndex": 0.0}, {"file_name": "116647.jpg", "id": 116647, "height": 627, "width": 940, "crowdIndex": 0.0}, {"file_name": "110513.jpg", "id": 110513, "height": 1000, "width": 620, "crowdIndex": 0.82}, {"file_name": "104726.jpg", "id": 104726, "height": 424, "width": 640, "crowdIndex": 0.1}, {"file_name": "110095.jpg", "id": 110095, "height": 762, "width": 550, "crowdIndex": 0.8}, {"file_name": "102453.jpg", "id": 102453, "height": 640, "width": 480, "crowdIndex": 0.96}, {"file_name": "100660.jpg", "id": 100660, "height": 426, "width": 640, "crowdIndex": 0.77}, {"file_name": "100114.jpg", "id": 100114, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "117665.jpg", "id": 117665, "height": 755, "width": 1000, "crowdIndex": 0.35}, {"file_name": "108138.jpg", "id": 108138, "height": 427, "width": 640, "crowdIndex": 0.71}, {"file_name": "112262.jpg", "id": 112262, "height": 1000, "width": 744, "crowdIndex": 0.26}, {"file_name": "104514.jpg", "id": 104514, "height": 640, "width": 640, "crowdIndex": 0.78}, {"file_name": "116458.jpg", "id": 116458, "height": 533, "width": 800, "crowdIndex": 0.48}, {"file_name": "116300.jpg", "id": 116300, "height": 660, "width": 990, "crowdIndex": 0.92}, {"file_name": "116230.jpg", "id": 116230, "height": 552, "width": 950, "crowdIndex": 0.82}, {"file_name": "117159.jpg", "id": 117159, "height": 1000, "width": 667, "crowdIndex": 0.79}, {"file_name": "116773.jpg", "id": 116773, "height": 667, "width": 1000, "crowdIndex": 0.38}, {"file_name": "108202.jpg", "id": 108202, "height": 478, "width": 640, "crowdIndex": 1.51}, {"file_name": "106953.jpg", "id": 106953, "height": 640, "width": 427, "crowdIndex": 0.33}, {"file_name": "100039.jpg", "id": 100039, "height": 370, "width": 640, "crowdIndex": 1.24}, {"file_name": "116228.jpg", "id": 116228, "height": 1000, "width": 665, "crowdIndex": 0.71}, {"file_name": "114193.jpg", "id": 114193, "height": 687, "width": 950, "crowdIndex": 0.25}, {"file_name": "104879.jpg", "id": 104879, "height": 640, "width": 427, "crowdIndex": 0.19}, {"file_name": "100748.jpg", "id": 100748, "height": 500, "width": 375, "crowdIndex": 0.77}, {"file_name": "110761.jpg", "id": 110761, "height": 545, "width": 800, "crowdIndex": 0.69}, {"file_name": "104233.jpg", "id": 104233, "height": 423, "width": 640, "crowdIndex": 0.54}, {"file_name": "104628.jpg", "id": 104628, "height": 480, "width": 640, "crowdIndex": 0.09}, {"file_name": "110428.jpg", "id": 110428, "height": 750, "width": 500, "crowdIndex": 0.75}, {"file_name": "112209.jpg", "id": 112209, "height": 600, "width": 660, "crowdIndex": 0.9}, {"file_name": "112930.jpg", "id": 112930, "height": 1000, "width": 666, "crowdIndex": 0.48}, {"file_name": "118683.jpg", "id": 118683, "height": 1000, "width": 795, "crowdIndex": 0.93}, {"file_name": "116019.jpg", "id": 116019, "height": 795, "width": 530, "crowdIndex": 0.9}, {"file_name": "101178.jpg", "id": 101178, "height": 480, "width": 640, "crowdIndex": 0.2}, {"file_name": "111726.jpg", "id": 111726, "height": 710, "width": 1000, "crowdIndex": 0.34}, {"file_name": "116240.jpg", "id": 116240, "height": 628, "width": 940, "crowdIndex": 0.68}, {"file_name": "100462.jpg", "id": 100462, "height": 503, "width": 640, "crowdIndex": 0.45}, {"file_name": "117472.jpg", "id": 117472, "height": 253, "width": 400, "crowdIndex": 0.33}, {"file_name": "102551.jpg", "id": 102551, "height": 427, "width": 640, "crowdIndex": 0.32}, {"file_name": "111077.jpg", "id": 111077, "height": 628, "width": 675, "crowdIndex": 0.86}, {"file_name": "112868.jpg", "id": 112868, "height": 1000, "width": 636, "crowdIndex": 0.89}, {"file_name": "101365.jpg", "id": 101365, "height": 415, "width": 602, "crowdIndex": 0.59}, {"file_name": "106494.jpg", "id": 106494, "height": 300, "width": 400, "crowdIndex": 0.3}, {"file_name": "108965.jpg", "id": 108965, "height": 333, "width": 500, "crowdIndex": 1.04}, {"file_name": "113188.jpg", "id": 113188, "height": 650, "width": 531, "crowdIndex": 0.38}, {"file_name": "118226.jpg", "id": 118226, "height": 605, "width": 948, "crowdIndex": 0.6}, {"file_name": "101496.jpg", "id": 101496, "height": 500, "width": 381, "crowdIndex": 0.68}, {"file_name": "106076.jpg", "id": 106076, "height": 474, "width": 640, "crowdIndex": 0.67}, {"file_name": "114163.jpg", "id": 114163, "height": 634, "width": 950, "crowdIndex": 0.65}, {"file_name": "107466.jpg", "id": 107466, "height": 427, "width": 640, "crowdIndex": 0.14}, {"file_name": "117305.jpg", "id": 117305, "height": 768, "width": 521, "crowdIndex": 0.44}, {"file_name": "103705.jpg", "id": 103705, "height": 425, "width": 640, "crowdIndex": 0.79}, {"file_name": "108036.jpg", "id": 108036, "height": 427, "width": 640, "crowdIndex": 0.68}, {"file_name": "103384.jpg", "id": 103384, "height": 612, "width": 612, "crowdIndex": 0.18}, {"file_name": "106352.jpg", "id": 106352, "height": 425, "width": 640, "crowdIndex": 0.74}, {"file_name": "116601.jpg", "id": 116601, "height": 750, "width": 1000, "crowdIndex": 0.79}, {"file_name": "103057.jpg", "id": 103057, "height": 471, "width": 640, "crowdIndex": 0.22}, {"file_name": "111550.jpg", "id": 111550, "height": 900, "width": 841, "crowdIndex": 0.64}, {"file_name": "105134.jpg", "id": 105134, "height": 424, "width": 640, "crowdIndex": 0.46}, {"file_name": "114230.jpg", "id": 114230, "height": 631, "width": 950, "crowdIndex": 0.13}, {"file_name": "108565.jpg", "id": 108565, "height": 500, "width": 405, "crowdIndex": 0.52}, {"file_name": "104997.jpg", "id": 104997, "height": 418, "width": 640, "crowdIndex": 0.34}, {"file_name": "107086.jpg", "id": 107086, "height": 640, "width": 427, "crowdIndex": 0.7}, {"file_name": "104085.jpg", "id": 104085, "height": 428, "width": 640, "crowdIndex": 0.78}, {"file_name": "117340.jpg", "id": 117340, "height": 1000, "width": 667, "crowdIndex": 0.36}, {"file_name": "104497.jpg", "id": 104497, "height": 640, "width": 480, "crowdIndex": 0.7}, {"file_name": "107253.jpg", "id": 107253, "height": 479, "width": 640, "crowdIndex": 0.37}, {"file_name": "105346.jpg", "id": 105346, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "105881.jpg", "id": 105881, "height": 424, "width": 640, "crowdIndex": 0.0}, {"file_name": "107762.jpg", "id": 107762, "height": 640, "width": 478, "crowdIndex": 0.37}, {"file_name": "114554.jpg", "id": 114554, "height": 940, "width": 671, "crowdIndex": 0.39}, {"file_name": "107350.jpg", "id": 107350, "height": 378, "width": 640, "crowdIndex": 0.0}, {"file_name": "106220.jpg", "id": 106220, "height": 400, "width": 600, "crowdIndex": 0.72}, {"file_name": "109752.jpg", "id": 109752, "height": 900, "width": 599, "crowdIndex": 0.32}, {"file_name": "119053.jpg", "id": 119053, "height": 299, "width": 450, "crowdIndex": 0.61}, {"file_name": "110486.jpg", "id": 110486, "height": 635, "width": 950, "crowdIndex": 0.22}, {"file_name": "114934.jpg", "id": 114934, "height": 611, "width": 950, "crowdIndex": 0.14}, {"file_name": "105995.jpg", "id": 105995, "height": 500, "width": 375, "crowdIndex": 0.83}, {"file_name": "101061.jpg", "id": 101061, "height": 480, "width": 640, "crowdIndex": 0.46}, {"file_name": "103553.jpg", "id": 103553, "height": 480, "width": 640, "crowdIndex": 0.48}, {"file_name": "108503.jpg", "id": 108503, "height": 640, "width": 427, "crowdIndex": 0.45}, {"file_name": "109743.jpg", "id": 109743, "height": 800, "width": 495, "crowdIndex": 0.86}, {"file_name": "117239.jpg", "id": 117239, "height": 800, "width": 490, "crowdIndex": 0.2}, {"file_name": "103523.jpg", "id": 103523, "height": 360, "width": 640, "crowdIndex": 0.12}, {"file_name": "114808.jpg", "id": 114808, "height": 666, "width": 1000, "crowdIndex": 0.29}, {"file_name": "108579.jpg", "id": 108579, "height": 427, "width": 640, "crowdIndex": 0.18}, {"file_name": "103250.jpg", "id": 103250, "height": 480, "width": 640, "crowdIndex": 0.99}, {"file_name": "108207.jpg", "id": 108207, "height": 425, "width": 640, "crowdIndex": 0.1}, {"file_name": "115577.jpg", "id": 115577, "height": 855, "width": 940, "crowdIndex": 0.79}, {"file_name": "101306.jpg", "id": 101306, "height": 425, "width": 640, "crowdIndex": 0.57}, {"file_name": "112303.jpg", "id": 112303, "height": 534, "width": 800, "crowdIndex": 0.77}, {"file_name": "105362.jpg", "id": 105362, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "111930.jpg", "id": 111930, "height": 675, "width": 898, "crowdIndex": 0.36}, {"file_name": "107115.jpg", "id": 107115, "height": 480, "width": 640, "crowdIndex": 0.12}, {"file_name": "106275.jpg", "id": 106275, "height": 429, "width": 640, "crowdIndex": 0.8}, {"file_name": "102964.jpg", "id": 102964, "height": 428, "width": 640, "crowdIndex": 0.8}, {"file_name": "113978.jpg", "id": 113978, "height": 502, "width": 670, "crowdIndex": 0.29}, {"file_name": "101316.jpg", "id": 101316, "height": 480, "width": 640, "crowdIndex": 0.67}, {"file_name": "110804.jpg", "id": 110804, "height": 583, "width": 900, "crowdIndex": 0.08}, {"file_name": "114257.jpg", "id": 114257, "height": 768, "width": 525, "crowdIndex": 0.0}, {"file_name": "103861.jpg", "id": 103861, "height": 426, "width": 640, "crowdIndex": 0.21}, {"file_name": "102500.jpg", "id": 102500, "height": 361, "width": 640, "crowdIndex": 0.38}, {"file_name": "108106.jpg", "id": 108106, "height": 427, "width": 640, "crowdIndex": 0.64}, {"file_name": "111207.jpg", "id": 111207, "height": 689, "width": 939, "crowdIndex": 0.65}, {"file_name": "111161.jpg", "id": 111161, "height": 736, "width": 1000, "crowdIndex": 0.5}, {"file_name": "100534.jpg", "id": 100534, "height": 480, "width": 640, "crowdIndex": 0.39}, {"file_name": "108754.jpg", "id": 108754, "height": 640, "width": 469, "crowdIndex": 0.0}, {"file_name": "111446.jpg", "id": 111446, "height": 780, "width": 550, "crowdIndex": 0.74}, {"file_name": "103061.jpg", "id": 103061, "height": 480, "width": 640, "crowdIndex": 1.28}, {"file_name": "115897.jpg", "id": 115897, "height": 800, "width": 533, "crowdIndex": 0.52}, {"file_name": "108397.jpg", "id": 108397, "height": 277, "width": 640, "crowdIndex": 1.0}, {"file_name": "108212.jpg", "id": 108212, "height": 375, "width": 500, "crowdIndex": 1.31}, {"file_name": "108220.jpg", "id": 108220, "height": 428, "width": 640, "crowdIndex": 0.47}, {"file_name": "103570.jpg", "id": 103570, "height": 640, "width": 341, "crowdIndex": 0.71}, {"file_name": "106431.jpg", "id": 106431, "height": 434, "width": 640, "crowdIndex": 0.0}, {"file_name": "102246.jpg", "id": 102246, "height": 480, "width": 640, "crowdIndex": 0.74}, {"file_name": "108026.jpg", "id": 108026, "height": 427, "width": 640, "crowdIndex": 0.17}, {"file_name": "116292.jpg", "id": 116292, "height": 850, "width": 817, "crowdIndex": 0.1}, {"file_name": "118107.jpg", "id": 118107, "height": 687, "width": 1000, "crowdIndex": 0.68}, {"file_name": "117952.jpg", "id": 117952, "height": 600, "width": 1000, "crowdIndex": 0.43}, {"file_name": "114749.jpg", "id": 114749, "height": 940, "width": 626, "crowdIndex": 0.79}, {"file_name": "107569.jpg", "id": 107569, "height": 426, "width": 640, "crowdIndex": 0.69}, {"file_name": "115574.jpg", "id": 115574, "height": 633, "width": 950, "crowdIndex": 0.2}, {"file_name": "116103.jpg", "id": 116103, "height": 623, "width": 900, "crowdIndex": 0.74}, {"file_name": "112152.jpg", "id": 112152, "height": 633, "width": 950, "crowdIndex": 0.08}, {"file_name": "103703.jpg", "id": 103703, "height": 480, "width": 640, "crowdIndex": 0.34}, {"file_name": "104369.jpg", "id": 104369, "height": 640, "width": 427, "crowdIndex": 0.75}, {"file_name": "108089.jpg", "id": 108089, "height": 480, "width": 640, "crowdIndex": 0.46}, {"file_name": "115730.jpg", "id": 115730, "height": 620, "width": 800, "crowdIndex": 0.9}, {"file_name": "103594.jpg", "id": 103594, "height": 332, "width": 500, "crowdIndex": 0.59}, {"file_name": "113500.jpg", "id": 113500, "height": 775, "width": 950, "crowdIndex": 0.18}, {"file_name": "116062.jpg", "id": 116062, "height": 952, "width": 540, "crowdIndex": 0.0}, {"file_name": "116633.jpg", "id": 116633, "height": 1000, "width": 666, "crowdIndex": 0.11}, {"file_name": "118659.jpg", "id": 118659, "height": 399, "width": 600, "crowdIndex": 0.11}, {"file_name": "102393.jpg", "id": 102393, "height": 425, "width": 640, "crowdIndex": 1.4}, {"file_name": "107267.jpg", "id": 107267, "height": 480, "width": 640, "crowdIndex": 1.17}, {"file_name": "113820.jpg", "id": 113820, "height": 632, "width": 950, "crowdIndex": 0.93}, {"file_name": "111939.jpg", "id": 111939, "height": 665, "width": 950, "crowdIndex": 0.55}, {"file_name": "117864.jpg", "id": 117864, "height": 502, "width": 670, "crowdIndex": 0.67}, {"file_name": "112325.jpg", "id": 112325, "height": 750, "width": 550, "crowdIndex": 0.56}, {"file_name": "103994.jpg", "id": 103994, "height": 427, "width": 640, "crowdIndex": 0.57}, {"file_name": "118178.jpg", "id": 118178, "height": 600, "width": 900, "crowdIndex": 0.25}, {"file_name": "103894.jpg", "id": 103894, "height": 483, "width": 640, "crowdIndex": 0.44}, {"file_name": "111005.jpg", "id": 111005, "height": 951, "width": 540, "crowdIndex": 0.0}, {"file_name": "107374.jpg", "id": 107374, "height": 640, "width": 476, "crowdIndex": 0.0}, {"file_name": "104458.jpg", "id": 104458, "height": 480, "width": 640, "crowdIndex": 0.12}, {"file_name": "103248.jpg", "id": 103248, "height": 207, "width": 500, "crowdIndex": 0.71}, {"file_name": "103689.jpg", "id": 103689, "height": 640, "width": 480, "crowdIndex": 0.36}, {"file_name": "117014.jpg", "id": 117014, "height": 952, "width": 619, "crowdIndex": 0.75}, {"file_name": "119578.jpg", "id": 119578, "height": 606, "width": 950, "crowdIndex": 0.77}, {"file_name": "113276.jpg", "id": 113276, "height": 632, "width": 950, "crowdIndex": 0.04}, {"file_name": "107683.jpg", "id": 107683, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "101690.jpg", "id": 101690, "height": 427, "width": 640, "crowdIndex": 0.39}, {"file_name": "105217.jpg", "id": 105217, "height": 480, "width": 640, "crowdIndex": 0.52}, {"file_name": "110065.jpg", "id": 110065, "height": 666, "width": 1000, "crowdIndex": 0.25}, {"file_name": "116439.jpg", "id": 116439, "height": 533, "width": 800, "crowdIndex": 0.18}, {"file_name": "114579.jpg", "id": 114579, "height": 693, "width": 1000, "crowdIndex": 0.67}, {"file_name": "113612.jpg", "id": 113612, "height": 677, "width": 940, "crowdIndex": 0.5}, {"file_name": "100573.jpg", "id": 100573, "height": 500, "width": 375, "crowdIndex": 0.5}, {"file_name": "119503.jpg", "id": 119503, "height": 900, "width": 574, "crowdIndex": 0.61}, {"file_name": "119703.jpg", "id": 119703, "height": 800, "width": 708, "crowdIndex": 0.14}, {"file_name": "100281.jpg", "id": 100281, "height": 375, "width": 500, "crowdIndex": 0.36}, {"file_name": "103161.jpg", "id": 103161, "height": 640, "width": 560, "crowdIndex": 0.14}, {"file_name": "118814.jpg", "id": 118814, "height": 1000, "width": 781, "crowdIndex": 0.57}, {"file_name": "118629.jpg", "id": 118629, "height": 585, "width": 1000, "crowdIndex": 0.17}, {"file_name": "105787.jpg", "id": 105787, "height": 426, "width": 640, "crowdIndex": 0.48}, {"file_name": "111967.jpg", "id": 111967, "height": 768, "width": 682, "crowdIndex": 0.79}, {"file_name": "119155.jpg", "id": 119155, "height": 939, "width": 786, "crowdIndex": 1.6}, {"file_name": "111477.jpg", "id": 111477, "height": 576, "width": 768, "crowdIndex": 1.02}, {"file_name": "116341.jpg", "id": 116341, "height": 1000, "width": 665, "crowdIndex": 1.04}, {"file_name": "102337.jpg", "id": 102337, "height": 640, "width": 427, "crowdIndex": 0.0}, {"file_name": "114409.jpg", "id": 114409, "height": 740, "width": 940, "crowdIndex": 1.19}, {"file_name": "119168.jpg", "id": 119168, "height": 800, "width": 706, "crowdIndex": 0.24}, {"file_name": "115014.jpg", "id": 115014, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "117618.jpg", "id": 117618, "height": 626, "width": 940, "crowdIndex": 0.54}, {"file_name": "115748.jpg", "id": 115748, "height": 641, "width": 960, "crowdIndex": 0.65}, {"file_name": "104772.jpg", "id": 104772, "height": 427, "width": 640, "crowdIndex": 0.14}, {"file_name": "108116.jpg", "id": 108116, "height": 480, "width": 640, "crowdIndex": 0.18}, {"file_name": "119952.jpg", "id": 119952, "height": 948, "width": 632, "crowdIndex": 0.89}, {"file_name": "111859.jpg", "id": 111859, "height": 694, "width": 1000, "crowdIndex": 0.25}, {"file_name": "107049.jpg", "id": 107049, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "112931.jpg", "id": 112931, "height": 1000, "width": 688, "crowdIndex": 0.19}, {"file_name": "106602.jpg", "id": 106602, "height": 504, "width": 640, "crowdIndex": 0.32}, {"file_name": "103937.jpg", "id": 103937, "height": 480, "width": 640, "crowdIndex": 0.58}, {"file_name": "113314.jpg", "id": 113314, "height": 1000, "width": 903, "crowdIndex": 0.82}, {"file_name": "117351.jpg", "id": 117351, "height": 795, "width": 600, "crowdIndex": 0.79}, {"file_name": "102899.jpg", "id": 102899, "height": 640, "width": 383, "crowdIndex": 0.48}, {"file_name": "112131.jpg", "id": 112131, "height": 758, "width": 500, "crowdIndex": 0.25}, {"file_name": "111782.jpg", "id": 111782, "height": 664, "width": 940, "crowdIndex": 0.71}, {"file_name": "110743.jpg", "id": 110743, "height": 671, "width": 940, "crowdIndex": 0.0}, {"file_name": "112389.jpg", "id": 112389, "height": 600, "width": 883, "crowdIndex": 0.71}, {"file_name": "105529.jpg", "id": 105529, "height": 640, "width": 426, "crowdIndex": 0.35}, {"file_name": "100538.jpg", "id": 100538, "height": 425, "width": 640, "crowdIndex": 0.55}, {"file_name": "105506.jpg", "id": 105506, "height": 480, "width": 640, "crowdIndex": 0.51}, {"file_name": "112267.jpg", "id": 112267, "height": 1000, "width": 750, "crowdIndex": 0.64}, {"file_name": "114520.jpg", "id": 114520, "height": 517, "width": 690, "crowdIndex": 0.64}, {"file_name": "110918.jpg", "id": 110918, "height": 1000, "width": 891, "crowdIndex": 0.14}, {"file_name": "116764.jpg", "id": 116764, "height": 666, "width": 1000, "crowdIndex": 0.17}, {"file_name": "118842.jpg", "id": 118842, "height": 634, "width": 950, "crowdIndex": 0.68}, {"file_name": "119383.jpg", "id": 119383, "height": 900, "width": 597, "crowdIndex": 0.71}, {"file_name": "106478.jpg", "id": 106478, "height": 480, "width": 640, "crowdIndex": 0.1}, {"file_name": "106606.jpg", "id": 106606, "height": 375, "width": 500, "crowdIndex": 0.6}, {"file_name": "103616.jpg", "id": 103616, "height": 427, "width": 640, "crowdIndex": 0.08}, {"file_name": "112531.jpg", "id": 112531, "height": 717, "width": 950, "crowdIndex": 0.61}, {"file_name": "103606.jpg", "id": 103606, "height": 375, "width": 500, "crowdIndex": 0.36}, {"file_name": "119822.jpg", "id": 119822, "height": 600, "width": 950, "crowdIndex": 0.57}, {"file_name": "103191.jpg", "id": 103191, "height": 640, "width": 523, "crowdIndex": 0.53}, {"file_name": "105305.jpg", "id": 105305, "height": 480, "width": 640, "crowdIndex": 0.23}, {"file_name": "107995.jpg", "id": 107995, "height": 640, "width": 512, "crowdIndex": 0.39}, {"file_name": "116898.jpg", "id": 116898, "height": 626, "width": 940, "crowdIndex": 0.33}, {"file_name": "106527.jpg", "id": 106527, "height": 427, "width": 640, "crowdIndex": 0.3}, {"file_name": "118969.jpg", "id": 118969, "height": 601, "width": 900, "crowdIndex": 0.7}, {"file_name": "106889.jpg", "id": 106889, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "113725.jpg", "id": 113725, "height": 621, "width": 940, "crowdIndex": 0.75}, {"file_name": "111410.jpg", "id": 111410, "height": 900, "width": 748, "crowdIndex": 0.79}, {"file_name": "118646.jpg", "id": 118646, "height": 1000, "width": 667, "crowdIndex": 0.77}, {"file_name": "117845.jpg", "id": 117845, "height": 666, "width": 1000, "crowdIndex": 0.74}, {"file_name": "108415.jpg", "id": 108415, "height": 640, "width": 480, "crowdIndex": 0.77}, {"file_name": "109072.jpg", "id": 109072, "height": 825, "width": 550, "crowdIndex": 0.86}, {"file_name": "113385.jpg", "id": 113385, "height": 1000, "width": 656, "crowdIndex": 0.25}, {"file_name": "119246.jpg", "id": 119246, "height": 531, "width": 800, "crowdIndex": 0.57}, {"file_name": "102358.jpg", "id": 102358, "height": 375, "width": 500, "crowdIndex": 0.4}, {"file_name": "110720.jpg", "id": 110720, "height": 901, "width": 634, "crowdIndex": 0.61}, {"file_name": "117233.jpg", "id": 117233, "height": 1000, "width": 871, "crowdIndex": 0.75}, {"file_name": "109168.jpg", "id": 109168, "height": 778, "width": 550, "crowdIndex": 0.87}, {"file_name": "102294.jpg", "id": 102294, "height": 480, "width": 640, "crowdIndex": 0.6}, {"file_name": "113758.jpg", "id": 113758, "height": 750, "width": 1000, "crowdIndex": 0.14}, {"file_name": "102363.jpg", "id": 102363, "height": 421, "width": 640, "crowdIndex": 0.0}, {"file_name": "107184.jpg", "id": 107184, "height": 480, "width": 640, "crowdIndex": 0.17}, {"file_name": "116209.jpg", "id": 116209, "height": 634, "width": 950, "crowdIndex": 0.93}, {"file_name": "116620.jpg", "id": 116620, "height": 633, "width": 950, "crowdIndex": 0.48}, {"file_name": "110960.jpg", "id": 110960, "height": 841, "width": 590, "crowdIndex": 0.75}, {"file_name": "104129.jpg", "id": 104129, "height": 427, "width": 640, "crowdIndex": 0.32}, {"file_name": "117154.jpg", "id": 117154, "height": 1000, "width": 749, "crowdIndex": 0.72}, {"file_name": "118710.jpg", "id": 118710, "height": 533, "width": 800, "crowdIndex": 0.77}, {"file_name": "119893.jpg", "id": 119893, "height": 699, "width": 940, "crowdIndex": 0.73}, {"file_name": "107650.jpg", "id": 107650, "height": 640, "width": 427, "crowdIndex": 0.48}, {"file_name": "101035.jpg", "id": 101035, "height": 482, "width": 640, "crowdIndex": 0.3}, {"file_name": "115743.jpg", "id": 115743, "height": 640, "width": 960, "crowdIndex": 0.96}, {"file_name": "114375.jpg", "id": 114375, "height": 627, "width": 940, "crowdIndex": 0.98}, {"file_name": "115843.jpg", "id": 115843, "height": 800, "width": 533, "crowdIndex": 0.54}, {"file_name": "103549.jpg", "id": 103549, "height": 426, "width": 640, "crowdIndex": 0.25}, {"file_name": "105246.jpg", "id": 105246, "height": 640, "width": 426, "crowdIndex": 0.16}, {"file_name": "113583.jpg", "id": 113583, "height": 939, "width": 670, "crowdIndex": 0.82}, {"file_name": "119229.jpg", "id": 119229, "height": 948, "width": 712, "crowdIndex": 1.15}, {"file_name": "102293.jpg", "id": 102293, "height": 424, "width": 640, "crowdIndex": 0.69}, {"file_name": "112083.jpg", "id": 112083, "height": 600, "width": 1000, "crowdIndex": 0.89}, {"file_name": "116407.jpg", "id": 116407, "height": 1000, "width": 783, "crowdIndex": 0.62}, {"file_name": "119846.jpg", "id": 119846, "height": 600, "width": 907, "crowdIndex": 0.98}, {"file_name": "117688.jpg", "id": 117688, "height": 1000, "width": 870, "crowdIndex": 0.21}, {"file_name": "116597.jpg", "id": 116597, "height": 841, "width": 1000, "crowdIndex": 0.82}, {"file_name": "106566.jpg", "id": 106566, "height": 640, "width": 418, "crowdIndex": 0.69}, {"file_name": "105737.jpg", "id": 105737, "height": 427, "width": 640, "crowdIndex": 0.48}, {"file_name": "102683.jpg", "id": 102683, "height": 640, "width": 480, "crowdIndex": 0.36}, {"file_name": "100571.jpg", "id": 100571, "height": 432, "width": 300, "crowdIndex": 0.25}, {"file_name": "119409.jpg", "id": 119409, "height": 760, "width": 950, "crowdIndex": 1.14}, {"file_name": "117258.jpg", "id": 117258, "height": 600, "width": 900, "crowdIndex": 0.26}, {"file_name": "115584.jpg", "id": 115584, "height": 780, "width": 520, "crowdIndex": 0.32}, {"file_name": "101089.jpg", "id": 101089, "height": 640, "width": 480, "crowdIndex": 1.0}, {"file_name": "112738.jpg", "id": 112738, "height": 960, "width": 640, "crowdIndex": 0.79}, {"file_name": "119641.jpg", "id": 119641, "height": 900, "width": 594, "crowdIndex": 0.46}, {"file_name": "102761.jpg", "id": 102761, "height": 433, "width": 640, "crowdIndex": 0.27}, {"file_name": "109834.jpg", "id": 109834, "height": 533, "width": 800, "crowdIndex": 0.0}, {"file_name": "119292.jpg", "id": 119292, "height": 784, "width": 950, "crowdIndex": 0.89}, {"file_name": "115060.jpg", "id": 115060, "height": 722, "width": 1000, "crowdIndex": 0.54}, {"file_name": "106287.jpg", "id": 106287, "height": 426, "width": 640, "crowdIndex": 0.15}, {"file_name": "100631.jpg", "id": 100631, "height": 479, "width": 640, "crowdIndex": 0.56}, {"file_name": "111621.jpg", "id": 111621, "height": 1000, "width": 718, "crowdIndex": 0.51}, {"file_name": "109469.jpg", "id": 109469, "height": 651, "width": 500, "crowdIndex": 0.53}, {"file_name": "107809.jpg", "id": 107809, "height": 480, "width": 640, "crowdIndex": 0.79}, {"file_name": "104357.jpg", "id": 104357, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "110202.jpg", "id": 110202, "height": 633, "width": 950, "crowdIndex": 0.37}, {"file_name": "100503.jpg", "id": 100503, "height": 640, "width": 426, "crowdIndex": 0.63}, {"file_name": "106366.jpg", "id": 106366, "height": 416, "width": 640, "crowdIndex": 0.44}, {"file_name": "100601.jpg", "id": 100601, "height": 425, "width": 640, "crowdIndex": 0.92}, {"file_name": "105616.jpg", "id": 105616, "height": 428, "width": 640, "crowdIndex": 0.38}, {"file_name": "119812.jpg", "id": 119812, "height": 687, "width": 940, "crowdIndex": 0.71}, {"file_name": "109066.jpg", "id": 109066, "height": 657, "width": 1000, "crowdIndex": 0.51}, {"file_name": "103046.jpg", "id": 103046, "height": 456, "width": 640, "crowdIndex": 0.35}, {"file_name": "113952.jpg", "id": 113952, "height": 666, "width": 1000, "crowdIndex": 0.93}, {"file_name": "115059.jpg", "id": 115059, "height": 750, "width": 499, "crowdIndex": 0.88}, {"file_name": "100321.jpg", "id": 100321, "height": 366, "width": 640, "crowdIndex": 0.53}, {"file_name": "108037.jpg", "id": 108037, "height": 427, "width": 640, "crowdIndex": 0.21}, {"file_name": "116244.jpg", "id": 116244, "height": 626, "width": 940, "crowdIndex": 0.29}, {"file_name": "103142.jpg", "id": 103142, "height": 480, "width": 640, "crowdIndex": 0.94}, {"file_name": "102105.jpg", "id": 102105, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "107656.jpg", "id": 107656, "height": 480, "width": 640, "crowdIndex": 0.32}, {"file_name": "113837.jpg", "id": 113837, "height": 666, "width": 1000, "crowdIndex": 0.46}, {"file_name": "103625.jpg", "id": 103625, "height": 480, "width": 640, "crowdIndex": 0.17}, {"file_name": "117525.jpg", "id": 117525, "height": 608, "width": 1000, "crowdIndex": 1.19}, {"file_name": "114784.jpg", "id": 114784, "height": 666, "width": 1000, "crowdIndex": 0.38}, {"file_name": "109773.jpg", "id": 109773, "height": 533, "width": 800, "crowdIndex": 0.0}, {"file_name": "108961.jpg", "id": 108961, "height": 640, "width": 487, "crowdIndex": 0.54}, {"file_name": "117424.jpg", "id": 117424, "height": 524, "width": 700, "crowdIndex": 0.24}, {"file_name": "112092.jpg", "id": 112092, "height": 1000, "width": 723, "crowdIndex": 0.71}, {"file_name": "112576.jpg", "id": 112576, "height": 666, "width": 1000, "crowdIndex": 0.33}, {"file_name": "113817.jpg", "id": 113817, "height": 704, "width": 950, "crowdIndex": 0.46}, {"file_name": "105485.jpg", "id": 105485, "height": 389, "width": 640, "crowdIndex": 0.58}, {"file_name": "112912.jpg", "id": 112912, "height": 1000, "width": 795, "crowdIndex": 0.29}, {"file_name": "101486.jpg", "id": 101486, "height": 427, "width": 640, "crowdIndex": 0.24}, {"file_name": "106106.jpg", "id": 106106, "height": 427, "width": 640, "crowdIndex": 0.11}, {"file_name": "115657.jpg", "id": 115657, "height": 666, "width": 1000, "crowdIndex": 0.52}, {"file_name": "109775.jpg", "id": 109775, "height": 273, "width": 410, "crowdIndex": 0.0}, {"file_name": "101186.jpg", "id": 101186, "height": 480, "width": 640, "crowdIndex": 0.2}, {"file_name": "114624.jpg", "id": 114624, "height": 596, "width": 900, "crowdIndex": 0.87}, {"file_name": "115378.jpg", "id": 115378, "height": 1000, "width": 666, "crowdIndex": 0.79}, {"file_name": "107166.jpg", "id": 107166, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "107235.jpg", "id": 107235, "height": 640, "width": 427, "crowdIndex": 0.39}, {"file_name": "110589.jpg", "id": 110589, "height": 1000, "width": 721, "crowdIndex": 0.36}, {"file_name": "106416.jpg", "id": 106416, "height": 640, "width": 386, "crowdIndex": 0.82}, {"file_name": "108674.jpg", "id": 108674, "height": 640, "width": 428, "crowdIndex": 0.77}, {"file_name": "112642.jpg", "id": 112642, "height": 901, "width": 600, "crowdIndex": 0.83}, {"file_name": "108606.jpg", "id": 108606, "height": 640, "width": 461, "crowdIndex": 0.52}, {"file_name": "118286.jpg", "id": 118286, "height": 367, "width": 550, "crowdIndex": 0.84}, {"file_name": "115005.jpg", "id": 115005, "height": 799, "width": 600, "crowdIndex": 0.24}, {"file_name": "106211.jpg", "id": 106211, "height": 640, "width": 481, "crowdIndex": 0.11}, {"file_name": "104459.jpg", "id": 104459, "height": 640, "width": 640, "crowdIndex": 0.71}, {"file_name": "106077.jpg", "id": 106077, "height": 494, "width": 640, "crowdIndex": 0.99}, {"file_name": "112587.jpg", "id": 112587, "height": 608, "width": 950, "crowdIndex": 0.75}, {"file_name": "107718.jpg", "id": 107718, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "111675.jpg", "id": 111675, "height": 757, "width": 1000, "crowdIndex": 0.43}, {"file_name": "108808.jpg", "id": 108808, "height": 429, "width": 640, "crowdIndex": 0.0}, {"file_name": "116933.jpg", "id": 116933, "height": 633, "width": 950, "crowdIndex": 0.57}, {"file_name": "109398.jpg", "id": 109398, "height": 750, "width": 500, "crowdIndex": 0.27}, {"file_name": "112785.jpg", "id": 112785, "height": 1000, "width": 756, "crowdIndex": 0.69}, {"file_name": "112821.jpg", "id": 112821, "height": 633, "width": 950, "crowdIndex": 0.09}, {"file_name": "109725.jpg", "id": 109725, "height": 1000, "width": 667, "crowdIndex": 0.21}, {"file_name": "116506.jpg", "id": 116506, "height": 801, "width": 570, "crowdIndex": 0.0}, {"file_name": "107162.jpg", "id": 107162, "height": 425, "width": 640, "crowdIndex": 0.82}, {"file_name": "104203.jpg", "id": 104203, "height": 405, "width": 640, "crowdIndex": 0.0}, {"file_name": "117694.jpg", "id": 117694, "height": 1000, "width": 667, "crowdIndex": 0.18}, {"file_name": "101675.jpg", "id": 101675, "height": 426, "width": 640, "crowdIndex": 0.98}, {"file_name": "118564.jpg", "id": 118564, "height": 1000, "width": 992, "crowdIndex": 1.19}, {"file_name": "102160.jpg", "id": 102160, "height": 375, "width": 500, "crowdIndex": 0.22}, {"file_name": "101199.jpg", "id": 101199, "height": 359, "width": 640, "crowdIndex": 0.48}, {"file_name": "106631.jpg", "id": 106631, "height": 640, "width": 425, "crowdIndex": 0.65}, {"file_name": "104465.jpg", "id": 104465, "height": 427, "width": 640, "crowdIndex": 0.93}, {"file_name": "105944.jpg", "id": 105944, "height": 640, "width": 640, "crowdIndex": 0.25}, {"file_name": "103816.jpg", "id": 103816, "height": 335, "width": 465, "crowdIndex": 0.0}, {"file_name": "119743.jpg", "id": 119743, "height": 599, "width": 900, "crowdIndex": 1.57}, {"file_name": "115231.jpg", "id": 115231, "height": 940, "width": 634, "crowdIndex": 0.83}, {"file_name": "106256.jpg", "id": 106256, "height": 427, "width": 640, "crowdIndex": 1.02}, {"file_name": "113659.jpg", "id": 113659, "height": 580, "width": 729, "crowdIndex": 0.42}, {"file_name": "105752.jpg", "id": 105752, "height": 468, "width": 640, "crowdIndex": 0.17}, {"file_name": "104729.jpg", "id": 104729, "height": 640, "width": 423, "crowdIndex": 0.45}, {"file_name": "118190.jpg", "id": 118190, "height": 770, "width": 950, "crowdIndex": 0.6}, {"file_name": "106582.jpg", "id": 106582, "height": 612, "width": 612, "crowdIndex": 0.5}, {"file_name": "100419.jpg", "id": 100419, "height": 640, "width": 512, "crowdIndex": 0.57}, {"file_name": "114221.jpg", "id": 114221, "height": 603, "width": 881, "crowdIndex": 0.41}, {"file_name": "114558.jpg", "id": 114558, "height": 700, "width": 1000, "crowdIndex": 0.21}, {"file_name": "111554.jpg", "id": 111554, "height": 745, "width": 950, "crowdIndex": 0.61}, {"file_name": "119693.jpg", "id": 119693, "height": 846, "width": 940, "crowdIndex": 0.64}, {"file_name": "106849.jpg", "id": 106849, "height": 640, "width": 351, "crowdIndex": 0.1}, {"file_name": "115210.jpg", "id": 115210, "height": 700, "width": 548, "crowdIndex": 0.95}, {"file_name": "106508.jpg", "id": 106508, "height": 427, "width": 640, "crowdIndex": 0.62}, {"file_name": "105633.jpg", "id": 105633, "height": 428, "width": 640, "crowdIndex": 0.44}, {"file_name": "114237.jpg", "id": 114237, "height": 767, "width": 948, "crowdIndex": 0.49}, {"file_name": "106255.jpg", "id": 106255, "height": 579, "width": 640, "crowdIndex": 0.73}, {"file_name": "110722.jpg", "id": 110722, "height": 1000, "width": 726, "crowdIndex": 0.86}, {"file_name": "113209.jpg", "id": 113209, "height": 750, "width": 500, "crowdIndex": 0.73}, {"file_name": "111153.jpg", "id": 111153, "height": 811, "width": 950, "crowdIndex": 0.39}, {"file_name": "114091.jpg", "id": 114091, "height": 850, "width": 586, "crowdIndex": 1.31}, {"file_name": "115917.jpg", "id": 115917, "height": 350, "width": 750, "crowdIndex": 0.9}, {"file_name": "105596.jpg", "id": 105596, "height": 481, "width": 640, "crowdIndex": 0.44}, {"file_name": "108412.jpg", "id": 108412, "height": 427, "width": 640, "crowdIndex": 0.37}, {"file_name": "113622.jpg", "id": 113622, "height": 713, "width": 950, "crowdIndex": 0.66}, {"file_name": "109899.jpg", "id": 109899, "height": 879, "width": 550, "crowdIndex": 0.11}, {"file_name": "114904.jpg", "id": 114904, "height": 1000, "width": 700, "crowdIndex": 0.57}, {"file_name": "115460.jpg", "id": 115460, "height": 558, "width": 800, "crowdIndex": 0.74}, {"file_name": "111175.jpg", "id": 111175, "height": 633, "width": 950, "crowdIndex": 0.13}, {"file_name": "101978.jpg", "id": 101978, "height": 640, "width": 426, "crowdIndex": 0.45}, {"file_name": "109989.jpg", "id": 109989, "height": 709, "width": 950, "crowdIndex": 0.5}, {"file_name": "110269.jpg", "id": 110269, "height": 632, "width": 950, "crowdIndex": 0.43}, {"file_name": "114567.jpg", "id": 114567, "height": 1000, "width": 694, "crowdIndex": 0.6}, {"file_name": "100563.jpg", "id": 100563, "height": 480, "width": 640, "crowdIndex": 0.74}, {"file_name": "104097.jpg", "id": 104097, "height": 480, "width": 640, "crowdIndex": 0.26}, {"file_name": "106962.jpg", "id": 106962, "height": 480, "width": 640, "crowdIndex": 0.33}, {"file_name": "105234.jpg", "id": 105234, "height": 427, "width": 640, "crowdIndex": 0.36}, {"file_name": "101165.jpg", "id": 101165, "height": 427, "width": 640, "crowdIndex": 0.66}, {"file_name": "112214.jpg", "id": 112214, "height": 650, "width": 1000, "crowdIndex": 0.05}, {"file_name": "106660.jpg", "id": 106660, "height": 640, "width": 428, "crowdIndex": 0.24}, {"file_name": "118323.jpg", "id": 118323, "height": 666, "width": 1000, "crowdIndex": 0.45}, {"file_name": "114979.jpg", "id": 114979, "height": 900, "width": 753, "crowdIndex": 0.25}, {"file_name": "116168.jpg", "id": 116168, "height": 800, "width": 600, "crowdIndex": 0.0}, {"file_name": "118349.jpg", "id": 118349, "height": 740, "width": 555, "crowdIndex": 0.17}, {"file_name": "118354.jpg", "id": 118354, "height": 599, "width": 900, "crowdIndex": 0.26}, {"file_name": "103579.jpg", "id": 103579, "height": 427, "width": 640, "crowdIndex": 0.33}, {"file_name": "110637.jpg", "id": 110637, "height": 607, "width": 900, "crowdIndex": 0.79}, {"file_name": "117956.jpg", "id": 117956, "height": 666, "width": 1000, "crowdIndex": 1.25}, {"file_name": "100457.jpg", "id": 100457, "height": 427, "width": 640, "crowdIndex": 0.66}, {"file_name": "110500.jpg", "id": 110500, "height": 532, "width": 800, "crowdIndex": 0.48}, {"file_name": "110594.jpg", "id": 110594, "height": 750, "width": 750, "crowdIndex": 0.87}, {"file_name": "118801.jpg", "id": 118801, "height": 794, "width": 950, "crowdIndex": 0.86}, {"file_name": "103188.jpg", "id": 103188, "height": 425, "width": 640, "crowdIndex": 0.98}, {"file_name": "115575.jpg", "id": 115575, "height": 1000, "width": 666, "crowdIndex": 0.46}, {"file_name": "106619.jpg", "id": 106619, "height": 640, "width": 480, "crowdIndex": 0.51}, {"file_name": "110024.jpg", "id": 110024, "height": 352, "width": 514, "crowdIndex": 0.33}, {"file_name": "111059.jpg", "id": 111059, "height": 722, "width": 950, "crowdIndex": 0.86}, {"file_name": "100400.jpg", "id": 100400, "height": 480, "width": 640, "crowdIndex": 0.8}, {"file_name": "114197.jpg", "id": 114197, "height": 633, "width": 950, "crowdIndex": 0.8}, {"file_name": "115765.jpg", "id": 115765, "height": 1000, "width": 764, "crowdIndex": 0.93}, {"file_name": "102983.jpg", "id": 102983, "height": 640, "width": 480, "crowdIndex": 0.12}, {"file_name": "115136.jpg", "id": 115136, "height": 693, "width": 948, "crowdIndex": 0.4}, {"file_name": "115525.jpg", "id": 115525, "height": 900, "width": 675, "crowdIndex": 0.0}, {"file_name": "102604.jpg", "id": 102604, "height": 480, "width": 640, "crowdIndex": 0.35}, {"file_name": "103063.jpg", "id": 103063, "height": 640, "width": 480, "crowdIndex": 0.51}, {"file_name": "115318.jpg", "id": 115318, "height": 1000, "width": 666, "crowdIndex": 0.1}, {"file_name": "103222.jpg", "id": 103222, "height": 480, "width": 640, "crowdIndex": 0.88}, {"file_name": "102025.jpg", "id": 102025, "height": 500, "width": 333, "crowdIndex": 0.17}, {"file_name": "104350.jpg", "id": 104350, "height": 480, "width": 640, "crowdIndex": 0.32}, {"file_name": "107887.jpg", "id": 107887, "height": 500, "width": 333, "crowdIndex": 0.0}, {"file_name": "117711.jpg", "id": 117711, "height": 737, "width": 1000, "crowdIndex": 0.1}, {"file_name": "119555.jpg", "id": 119555, "height": 844, "width": 650, "crowdIndex": 0.18}, {"file_name": "101010.jpg", "id": 101010, "height": 500, "width": 333, "crowdIndex": 0.58}, {"file_name": "112287.jpg", "id": 112287, "height": 693, "width": 823, "crowdIndex": 0.18}, {"file_name": "108525.jpg", "id": 108525, "height": 398, "width": 640, "crowdIndex": 0.39}, {"file_name": "116280.jpg", "id": 116280, "height": 388, "width": 690, "crowdIndex": 0.0}, {"file_name": "106711.jpg", "id": 106711, "height": 300, "width": 440, "crowdIndex": 0.12}, {"file_name": "119608.jpg", "id": 119608, "height": 908, "width": 800, "crowdIndex": 1.24}, {"file_name": "115143.jpg", "id": 115143, "height": 633, "width": 950, "crowdIndex": 0.18}, {"file_name": "115358.jpg", "id": 115358, "height": 872, "width": 950, "crowdIndex": 0.57}, {"file_name": "118855.jpg", "id": 118855, "height": 600, "width": 900, "crowdIndex": 0.33}, {"file_name": "119748.jpg", "id": 119748, "height": 600, "width": 1000, "crowdIndex": 0.71}, {"file_name": "112880.jpg", "id": 112880, "height": 664, "width": 1000, "crowdIndex": 0.0}, {"file_name": "102006.jpg", "id": 102006, "height": 640, "width": 427, "crowdIndex": 0.42}, {"file_name": "111908.jpg", "id": 111908, "height": 831, "width": 950, "crowdIndex": 0.75}, {"file_name": "118872.jpg", "id": 118872, "height": 374, "width": 500, "crowdIndex": 0.36}, {"file_name": "104871.jpg", "id": 104871, "height": 254, "width": 640, "crowdIndex": 0.27}, {"file_name": "101761.jpg", "id": 101761, "height": 480, "width": 640, "crowdIndex": 0.08}, {"file_name": "104161.jpg", "id": 104161, "height": 559, "width": 640, "crowdIndex": 0.37}, {"file_name": "110102.jpg", "id": 110102, "height": 666, "width": 500, "crowdIndex": 0.69}, {"file_name": "115413.jpg", "id": 115413, "height": 727, "width": 950, "crowdIndex": 0.82}, {"file_name": "119843.jpg", "id": 119843, "height": 638, "width": 850, "crowdIndex": 0.75}, {"file_name": "111122.jpg", "id": 111122, "height": 1000, "width": 916, "crowdIndex": 0.11}, {"file_name": "103409.jpg", "id": 103409, "height": 480, "width": 640, "crowdIndex": 1.14}, {"file_name": "104160.jpg", "id": 104160, "height": 427, "width": 640, "crowdIndex": 0.29}, {"file_name": "108675.jpg", "id": 108675, "height": 426, "width": 640, "crowdIndex": 0.2}, {"file_name": "100615.jpg", "id": 100615, "height": 500, "width": 375, "crowdIndex": 0.46}, {"file_name": "106444.jpg", "id": 106444, "height": 299, "width": 640, "crowdIndex": 0.21}, {"file_name": "101807.jpg", "id": 101807, "height": 375, "width": 500, "crowdIndex": 0.22}, {"file_name": "110433.jpg", "id": 110433, "height": 722, "width": 950, "crowdIndex": 0.71}, {"file_name": "101214.jpg", "id": 101214, "height": 640, "width": 480, "crowdIndex": 0.33}, {"file_name": "115929.jpg", "id": 115929, "height": 709, "width": 915, "crowdIndex": 0.7}, {"file_name": "100600.jpg", "id": 100600, "height": 500, "width": 500, "crowdIndex": 1.07}, {"file_name": "114107.jpg", "id": 114107, "height": 633, "width": 950, "crowdIndex": 0.57}, {"file_name": "105825.jpg", "id": 105825, "height": 480, "width": 640, "crowdIndex": 0.72}, {"file_name": "102959.jpg", "id": 102959, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "101801.jpg", "id": 101801, "height": 511, "width": 640, "crowdIndex": 0.55}, {"file_name": "108597.jpg", "id": 108597, "height": 408, "width": 640, "crowdIndex": 0.81}, {"file_name": "114605.jpg", "id": 114605, "height": 1000, "width": 944, "crowdIndex": 1.2}, {"file_name": "115937.jpg", "id": 115937, "height": 679, "width": 1000, "crowdIndex": 1.48}, {"file_name": "118384.jpg", "id": 118384, "height": 1000, "width": 666, "crowdIndex": 0.38}, {"file_name": "109595.jpg", "id": 109595, "height": 788, "width": 550, "crowdIndex": 0.35}, {"file_name": "116179.jpg", "id": 116179, "height": 631, "width": 950, "crowdIndex": 0.67}, {"file_name": "111961.jpg", "id": 111961, "height": 636, "width": 950, "crowdIndex": 0.25}, {"file_name": "117189.jpg", "id": 117189, "height": 850, "width": 721, "crowdIndex": 1.31}, {"file_name": "102867.jpg", "id": 102867, "height": 481, "width": 640, "crowdIndex": 0.12}, {"file_name": "109961.jpg", "id": 109961, "height": 512, "width": 401, "crowdIndex": 0.79}, {"file_name": "112589.jpg", "id": 112589, "height": 767, "width": 1000, "crowdIndex": 0.72}, {"file_name": "116408.jpg", "id": 116408, "height": 533, "width": 800, "crowdIndex": 1.08}, {"file_name": "115303.jpg", "id": 115303, "height": 564, "width": 850, "crowdIndex": 0.31}, {"file_name": "113047.jpg", "id": 113047, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "103394.jpg", "id": 103394, "height": 640, "width": 640, "crowdIndex": 0.6}, {"file_name": "116694.jpg", "id": 116694, "height": 634, "width": 950, "crowdIndex": 0.22}, {"file_name": "100167.jpg", "id": 100167, "height": 640, "width": 480, "crowdIndex": 0.54}, {"file_name": "102178.jpg", "id": 102178, "height": 384, "width": 500, "crowdIndex": 0.0}, {"file_name": "107592.jpg", "id": 107592, "height": 480, "width": 640, "crowdIndex": 0.31}, {"file_name": "113563.jpg", "id": 113563, "height": 950, "width": 950, "crowdIndex": 0.87}, {"file_name": "112382.jpg", "id": 112382, "height": 772, "width": 810, "crowdIndex": 0.1}, {"file_name": "105215.jpg", "id": 105215, "height": 480, "width": 640, "crowdIndex": 0.13}, {"file_name": "105638.jpg", "id": 105638, "height": 427, "width": 640, "crowdIndex": 0.19}, {"file_name": "102203.jpg", "id": 102203, "height": 480, "width": 640, "crowdIndex": 0.83}, {"file_name": "103406.jpg", "id": 103406, "height": 640, "width": 427, "crowdIndex": 0.64}, {"file_name": "104533.jpg", "id": 104533, "height": 427, "width": 640, "crowdIndex": 0.1}, {"file_name": "102956.jpg", "id": 102956, "height": 480, "width": 640, "crowdIndex": 0.11}, {"file_name": "102327.jpg", "id": 102327, "height": 425, "width": 640, "crowdIndex": 0.5}, {"file_name": "117820.jpg", "id": 117820, "height": 640, "width": 426, "crowdIndex": 0.35}, {"file_name": "104626.jpg", "id": 104626, "height": 640, "width": 431, "crowdIndex": 0.15}, {"file_name": "116513.jpg", "id": 116513, "height": 1000, "width": 666, "crowdIndex": 0.79}, {"file_name": "118224.jpg", "id": 118224, "height": 713, "width": 950, "crowdIndex": 0.88}, {"file_name": "103504.jpg", "id": 103504, "height": 480, "width": 640, "crowdIndex": 0.26}, {"file_name": "115830.jpg", "id": 115830, "height": 747, "width": 950, "crowdIndex": 0.82}, {"file_name": "116369.jpg", "id": 116369, "height": 723, "width": 950, "crowdIndex": 0.55}, {"file_name": "110466.jpg", "id": 110466, "height": 633, "width": 950, "crowdIndex": 0.9}, {"file_name": "112724.jpg", "id": 112724, "height": 620, "width": 930, "crowdIndex": 0.58}, {"file_name": "104985.jpg", "id": 104985, "height": 425, "width": 640, "crowdIndex": 0.12}, {"file_name": "116960.jpg", "id": 116960, "height": 667, "width": 1000, "crowdIndex": 0.13}, {"file_name": "108114.jpg", "id": 108114, "height": 640, "width": 396, "crowdIndex": 0.62}, {"file_name": "109186.jpg", "id": 109186, "height": 825, "width": 550, "crowdIndex": 0.0}, {"file_name": "114323.jpg", "id": 114323, "height": 666, "width": 1000, "crowdIndex": 0.27}, {"file_name": "104747.jpg", "id": 104747, "height": 640, "width": 460, "crowdIndex": 1.27}, {"file_name": "112035.jpg", "id": 112035, "height": 750, "width": 500, "crowdIndex": 0.96}, {"file_name": "114994.jpg", "id": 114994, "height": 626, "width": 940, "crowdIndex": 1.43}, {"file_name": "118169.jpg", "id": 118169, "height": 768, "width": 512, "crowdIndex": 0.21}, {"file_name": "114930.jpg", "id": 114930, "height": 1000, "width": 667, "crowdIndex": 0.61}, {"file_name": "102128.jpg", "id": 102128, "height": 427, "width": 640, "crowdIndex": 0.46}, {"file_name": "119691.jpg", "id": 119691, "height": 940, "width": 626, "crowdIndex": 0.64}, {"file_name": "119300.jpg", "id": 119300, "height": 666, "width": 1000, "crowdIndex": 0.67}, {"file_name": "110613.jpg", "id": 110613, "height": 450, "width": 600, "crowdIndex": 0.0}, {"file_name": "115041.jpg", "id": 115041, "height": 600, "width": 797, "crowdIndex": 1.0}, {"file_name": "108882.jpg", "id": 108882, "height": 640, "width": 480, "crowdIndex": 0.0}, {"file_name": "106285.jpg", "id": 106285, "height": 434, "width": 640, "crowdIndex": 0.56}, {"file_name": "113455.jpg", "id": 113455, "height": 640, "width": 950, "crowdIndex": 0.1}, {"file_name": "118531.jpg", "id": 118531, "height": 1000, "width": 663, "crowdIndex": 0.42}, {"file_name": "114948.jpg", "id": 114948, "height": 900, "width": 569, "crowdIndex": 0.93}, {"file_name": "116157.jpg", "id": 116157, "height": 768, "width": 768, "crowdIndex": 0.48}, {"file_name": "117901.jpg", "id": 117901, "height": 750, "width": 501, "crowdIndex": 0.84}, {"file_name": "111343.jpg", "id": 111343, "height": 633, "width": 950, "crowdIndex": 0.0}, {"file_name": "113723.jpg", "id": 113723, "height": 608, "width": 939, "crowdIndex": 0.19}, {"file_name": "105869.jpg", "id": 105869, "height": 480, "width": 640, "crowdIndex": 0.51}, {"file_name": "112417.jpg", "id": 112417, "height": 600, "width": 950, "crowdIndex": 0.18}, {"file_name": "107720.jpg", "id": 107720, "height": 640, "width": 427, "crowdIndex": 0.61}, {"file_name": "113914.jpg", "id": 113914, "height": 535, "width": 795, "crowdIndex": 0.7}, {"file_name": "111238.jpg", "id": 111238, "height": 806, "width": 550, "crowdIndex": 0.29}, {"file_name": "102549.jpg", "id": 102549, "height": 400, "width": 500, "crowdIndex": 0.19}, {"file_name": "106911.jpg", "id": 106911, "height": 524, "width": 640, "crowdIndex": 0.76}, {"file_name": "110432.jpg", "id": 110432, "height": 614, "width": 930, "crowdIndex": 0.79}, {"file_name": "116598.jpg", "id": 116598, "height": 760, "width": 1000, "crowdIndex": 0.84}, {"file_name": "109577.jpg", "id": 109577, "height": 774, "width": 550, "crowdIndex": 0.71}, {"file_name": "106601.jpg", "id": 106601, "height": 609, "width": 640, "crowdIndex": 0.1}, {"file_name": "113809.jpg", "id": 113809, "height": 940, "width": 636, "crowdIndex": 0.81}, {"file_name": "118464.jpg", "id": 118464, "height": 1000, "width": 665, "crowdIndex": 0.65}, {"file_name": "105556.jpg", "id": 105556, "height": 496, "width": 640, "crowdIndex": 0.76}, {"file_name": "108498.jpg", "id": 108498, "height": 425, "width": 640, "crowdIndex": 0.29}, {"file_name": "106060.jpg", "id": 106060, "height": 640, "width": 438, "crowdIndex": 0.51}, {"file_name": "109059.jpg", "id": 109059, "height": 660, "width": 1000, "crowdIndex": 0.31}, {"file_name": "113504.jpg", "id": 113504, "height": 948, "width": 727, "crowdIndex": 0.57}, {"file_name": "113585.jpg", "id": 113585, "height": 800, "width": 600, "crowdIndex": 0.62}, {"file_name": "102227.jpg", "id": 102227, "height": 612, "width": 612, "crowdIndex": 1.83}, {"file_name": "110659.jpg", "id": 110659, "height": 666, "width": 1000, "crowdIndex": 0.93}, {"file_name": "106666.jpg", "id": 106666, "height": 427, "width": 640, "crowdIndex": 0.48}, {"file_name": "102139.jpg", "id": 102139, "height": 445, "width": 640, "crowdIndex": 0.18}, {"file_name": "114167.jpg", "id": 114167, "height": 1000, "width": 666, "crowdIndex": 0.5}, {"file_name": "106359.jpg", "id": 106359, "height": 640, "width": 253, "crowdIndex": 0.0}, {"file_name": "114929.jpg", "id": 114929, "height": 618, "width": 950, "crowdIndex": 0.1}, {"file_name": "104644.jpg", "id": 104644, "height": 480, "width": 640, "crowdIndex": 1.04}, {"file_name": "105741.jpg", "id": 105741, "height": 500, "width": 375, "crowdIndex": 0.61}, {"file_name": "108366.jpg", "id": 108366, "height": 640, "width": 427, "crowdIndex": 0.12}, {"file_name": "103160.jpg", "id": 103160, "height": 640, "width": 444, "crowdIndex": 0.77}, {"file_name": "116120.jpg", "id": 116120, "height": 1000, "width": 669, "crowdIndex": 0.71}, {"file_name": "118024.jpg", "id": 118024, "height": 533, "width": 800, "crowdIndex": 0.37}, {"file_name": "112795.jpg", "id": 112795, "height": 517, "width": 690, "crowdIndex": 0.0}, {"file_name": "108889.jpg", "id": 108889, "height": 425, "width": 640, "crowdIndex": 0.27}, {"file_name": "111090.jpg", "id": 111090, "height": 1000, "width": 666, "crowdIndex": 0.41}, {"file_name": "107169.jpg", "id": 107169, "height": 500, "width": 357, "crowdIndex": 0.81}, {"file_name": "109910.jpg", "id": 109910, "height": 800, "width": 499, "crowdIndex": 0.74}, {"file_name": "102379.jpg", "id": 102379, "height": 334, "width": 500, "crowdIndex": 0.14}, {"file_name": "109516.jpg", "id": 109516, "height": 676, "width": 570, "crowdIndex": 0.86}, {"file_name": "111414.jpg", "id": 111414, "height": 625, "width": 950, "crowdIndex": 0.6}, {"file_name": "108105.jpg", "id": 108105, "height": 416, "width": 640, "crowdIndex": 0.66}, {"file_name": "109791.jpg", "id": 109791, "height": 1000, "width": 796, "crowdIndex": 0.57}, {"file_name": "111067.jpg", "id": 111067, "height": 900, "width": 680, "crowdIndex": 0.97}, {"file_name": "107510.jpg", "id": 107510, "height": 341, "width": 500, "crowdIndex": 0.56}, {"file_name": "107869.jpg", "id": 107869, "height": 425, "width": 640, "crowdIndex": 0.35}, {"file_name": "101046.jpg", "id": 101046, "height": 427, "width": 640, "crowdIndex": 0.3}, {"file_name": "101404.jpg", "id": 101404, "height": 375, "width": 500, "crowdIndex": 0.53}, {"file_name": "116086.jpg", "id": 116086, "height": 796, "width": 950, "crowdIndex": 0.45}, {"file_name": "102319.jpg", "id": 102319, "height": 427, "width": 640, "crowdIndex": 0.76}, {"file_name": "100629.jpg", "id": 100629, "height": 454, "width": 640, "crowdIndex": 0.0}, {"file_name": "118186.jpg", "id": 118186, "height": 325, "width": 490, "crowdIndex": 0.14}, {"file_name": "117256.jpg", "id": 117256, "height": 901, "width": 940, "crowdIndex": 1.14}, {"file_name": "112549.jpg", "id": 112549, "height": 666, "width": 1000, "crowdIndex": 0.14}, {"file_name": "113999.jpg", "id": 113999, "height": 592, "width": 940, "crowdIndex": 0.43}, {"file_name": "104235.jpg", "id": 104235, "height": 640, "width": 427, "crowdIndex": 0.58}, {"file_name": "100967.jpg", "id": 100967, "height": 427, "width": 640, "crowdIndex": 1.02}, {"file_name": "105597.jpg", "id": 105597, "height": 640, "width": 425, "crowdIndex": 0.1}, {"file_name": "113030.jpg", "id": 113030, "height": 800, "width": 599, "crowdIndex": 0.25}, {"file_name": "109841.jpg", "id": 109841, "height": 421, "width": 748, "crowdIndex": 0.65}, {"file_name": "110679.jpg", "id": 110679, "height": 677, "width": 948, "crowdIndex": 0.82}, {"file_name": "117557.jpg", "id": 117557, "height": 628, "width": 900, "crowdIndex": 0.54}, {"file_name": "109935.jpg", "id": 109935, "height": 900, "width": 737, "crowdIndex": 0.82}, {"file_name": "114385.jpg", "id": 114385, "height": 1000, "width": 879, "crowdIndex": 0.5}, {"file_name": "118225.jpg", "id": 118225, "height": 625, "width": 950, "crowdIndex": 0.1}, {"file_name": "105691.jpg", "id": 105691, "height": 640, "width": 426, "crowdIndex": 0.0}, {"file_name": "102035.jpg", "id": 102035, "height": 480, "width": 640, "crowdIndex": 0.09}, {"file_name": "105039.jpg", "id": 105039, "height": 429, "width": 640, "crowdIndex": 0.46}, {"file_name": "111174.jpg", "id": 111174, "height": 830, "width": 634, "crowdIndex": 0.74}, {"file_name": "116700.jpg", "id": 116700, "height": 633, "width": 950, "crowdIndex": 0.95}, {"file_name": "105721.jpg", "id": 105721, "height": 424, "width": 640, "crowdIndex": 0.51}, {"file_name": "115293.jpg", "id": 115293, "height": 533, "width": 800, "crowdIndex": 0.62}, {"file_name": "106040.jpg", "id": 106040, "height": 612, "width": 612, "crowdIndex": 0.31}, {"file_name": "101633.jpg", "id": 101633, "height": 332, "width": 500, "crowdIndex": 0.37}, {"file_name": "107055.jpg", "id": 107055, "height": 427, "width": 640, "crowdIndex": 0.0}, {"file_name": "111885.jpg", "id": 111885, "height": 598, "width": 900, "crowdIndex": 0.39}, {"file_name": "118706.jpg", "id": 118706, "height": 529, "width": 800, "crowdIndex": 0.29}, {"file_name": "101929.jpg", "id": 101929, "height": 480, "width": 640, "crowdIndex": 0.33}, {"file_name": "114944.jpg", "id": 114944, "height": 900, "width": 600, "crowdIndex": 0.83}, {"file_name": "119308.jpg", "id": 119308, "height": 584, "width": 850, "crowdIndex": 0.86}, {"file_name": "117585.jpg", "id": 117585, "height": 900, "width": 600, "crowdIndex": 0.71}, {"file_name": "113895.jpg", "id": 113895, "height": 666, "width": 1000, "crowdIndex": 0.0}, {"file_name": "104001.jpg", "id": 104001, "height": 640, "width": 494, "crowdIndex": 0.61}, {"file_name": "111563.jpg", "id": 111563, "height": 920, "width": 613, "crowdIndex": 0.36}, {"file_name": "101455.jpg", "id": 101455, "height": 478, "width": 640, "crowdIndex": 0.66}, {"file_name": "110455.jpg", "id": 110455, "height": 689, "width": 500, "crowdIndex": 0.64}, {"file_name": "114399.jpg", "id": 114399, "height": 594, "width": 950, "crowdIndex": 0.0}, {"file_name": "105145.jpg", "id": 105145, "height": 427, "width": 640, "crowdIndex": 0.75}, {"file_name": "114322.jpg", "id": 114322, "height": 705, "width": 1000, "crowdIndex": 0.88}, {"file_name": "101397.jpg", "id": 101397, "height": 375, "width": 500, "crowdIndex": 0.2}, {"file_name": "109627.jpg", "id": 109627, "height": 750, "width": 500, "crowdIndex": 0.0}, {"file_name": "114234.jpg", "id": 114234, "height": 633, "width": 950, "crowdIndex": 0.75}, {"file_name": "109328.jpg", "id": 109328, "height": 749, "width": 550, "crowdIndex": 0.28}, {"file_name": "105806.jpg", "id": 105806, "height": 480, "width": 640, "crowdIndex": 0.0}, {"file_name": "115502.jpg", "id": 115502, "height": 940, "width": 626, "crowdIndex": 0.81}, {"file_name": "116113.jpg", "id": 116113, "height": 697, "width": 940, "crowdIndex": 0.25}, {"file_name": "118886.jpg", "id": 118886, "height": 1000, "width": 794, "crowdIndex": 0.39}, {"file_name": "116704.jpg", "id": 116704, "height": 900, "width": 617, "crowdIndex": 0.69}, {"file_name": "107323.jpg", "id": 107323, "height": 640, "width": 427, "crowdIndex": 0.6}, {"file_name": "111370.jpg", "id": 111370, "height": 948, "width": 632, "crowdIndex": 0.48}, {"file_name": "111160.jpg", "id": 111160, "height": 697, "width": 980, "crowdIndex": 0.58}, {"file_name": "108463.jpg", "id": 108463, "height": 640, "width": 480, "crowdIndex": 0.66}, {"file_name": "111221.jpg", "id": 111221, "height": 940, "width": 704, "crowdIndex": 0.69}, {"file_name": "103039.jpg", "id": 103039, "height": 427, "width": 640, "crowdIndex": 0.34}, {"file_name": "101470.jpg", "id": 101470, "height": 425, "width": 640, "crowdIndex": 0.3}, {"file_name": "103896.jpg", "id": 103896, "height": 549, "width": 640, "crowdIndex": 0.53}, {"file_name": "104042.jpg", "id": 104042, "height": 425, "width": 640, "crowdIndex": 0.25}, {"file_name": "107306.jpg", "id": 107306, "height": 640, "width": 359, "crowdIndex": 0.0}, {"file_name": "105108.jpg", "id": 105108, "height": 480, "width": 640, "crowdIndex": 0.2}, {"file_name": "100584.jpg", "id": 100584, "height": 361, "width": 640, "crowdIndex": 0.24}, {"file_name": "119527.jpg", "id": 119527, "height": 600, "width": 900, "crowdIndex": 0.1}, {"file_name": "104635.jpg", "id": 104635, "height": 441, "width": 640, "crowdIndex": 0.85}, {"file_name": "108214.jpg", "id": 108214, "height": 361, "width": 480, "crowdIndex": 0.42}, {"file_name": "111866.jpg", "id": 111866, "height": 633, "width": 950, "crowdIndex": 0.14}, {"file_name": "116311.jpg", "id": 116311, "height": 600, "width": 900, "crowdIndex": 0.17}, {"file_name": "112065.jpg", "id": 112065, "height": 823, "width": 551, "crowdIndex": 0.0}, {"file_name": "112259.jpg", "id": 112259, "height": 750, "width": 1000, "crowdIndex": 0.29}, {"file_name": "116528.jpg", "id": 116528, "height": 800, "width": 533, "crowdIndex": 1.19}, {"file_name": "112905.jpg", "id": 112905, "height": 633, "width": 950, "crowdIndex": 0.2}, {"file_name": "111894.jpg", "id": 111894, "height": 1000, "width": 684, "crowdIndex": 1.07}, {"file_name": "104008.jpg", "id": 104008, "height": 640, "width": 480, "crowdIndex": 0.4}, {"file_name": "101576.jpg", "id": 101576, "height": 375, "width": 500, "crowdIndex": 0.92}, {"file_name": "119365.jpg", "id": 119365, "height": 715, "width": 950, "crowdIndex": 0.32}, {"file_name": "115712.jpg", "id": 115712, "height": 532, "width": 800, "crowdIndex": 0.87}, {"file_name": "114158.jpg", "id": 114158, "height": 748, "width": 660, "crowdIndex": 1.48}, {"file_name": "110070.jpg", "id": 110070, "height": 666, "width": 1000, "crowdIndex": 0.11}, {"file_name": "105856.jpg", "id": 105856, "height": 612, "width": 612, "crowdIndex": 0.15}, {"file_name": "102478.jpg", "id": 102478, "height": 437, "width": 640, "crowdIndex": 0.53}, {"file_name": "109568.jpg", "id": 109568, "height": 641, "width": 550, "crowdIndex": 0.57}, {"file_name": "112702.jpg", "id": 112702, "height": 700, "width": 493, "crowdIndex": 0.46}, {"file_name": "115608.jpg", "id": 115608, "height": 548, "width": 800, "crowdIndex": 0.43}, {"file_name": "105828.jpg", "id": 105828, "height": 500, "width": 333, "crowdIndex": 0.6}, {"file_name": "113435.jpg", "id": 113435, "height": 800, "width": 533, "crowdIndex": 0.26}, {"file_name": "100853.jpg", "id": 100853, "height": 425, "width": 640, "crowdIndex": 0.69}, {"file_name": "112962.jpg", "id": 112962, "height": 1000, "width": 742, "crowdIndex": 0.29}, {"file_name": "104122.jpg", "id": 104122, "height": 332, "width": 500, "crowdIndex": 0.54}, {"file_name": "106888.jpg", "id": 106888, "height": 427, "width": 640, "crowdIndex": 0.19}, {"file_name": "107091.jpg", "id": 107091, "height": 413, "width": 640, "crowdIndex": 0.0}, {"file_name": "105921.jpg", "id": 105921, "height": 480, "width": 640, "crowdIndex": 0.31}, {"file_name": "105177.jpg", "id": 105177, "height": 480, "width": 640, "crowdIndex": 0.81}, {"file_name": "109883.jpg", "id": 109883, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "101449.jpg", "id": 101449, "height": 640, "width": 427, "crowdIndex": 0.29}, {"file_name": "116660.jpg", "id": 116660, "height": 670, "width": 950, "crowdIndex": 0.41}, {"file_name": "116138.jpg", "id": 116138, "height": 939, "width": 626, "crowdIndex": 0.0}, {"file_name": "109113.jpg", "id": 109113, "height": 800, "width": 516, "crowdIndex": 0.0}, {"file_name": "113043.jpg", "id": 113043, "height": 800, "width": 594, "crowdIndex": 0.46}, {"file_name": "116741.jpg", "id": 116741, "height": 900, "width": 600, "crowdIndex": 0.0}, {"file_name": "118167.jpg", "id": 118167, "height": 712, "width": 950, "crowdIndex": 0.21}, {"file_name": "104727.jpg", "id": 104727, "height": 640, "width": 424, "crowdIndex": 0.59}, {"file_name": "119034.jpg", "id": 119034, "height": 915, "width": 610, "crowdIndex": 0.9}, {"file_name": "116896.jpg", "id": 116896, "height": 1000, "width": 778, "crowdIndex": 0.32}, {"file_name": "113133.jpg", "id": 113133, "height": 954, "width": 690, "crowdIndex": 0.84}, {"file_name": "116746.jpg", "id": 116746, "height": 1000, "width": 663, "crowdIndex": 0.39}, {"file_name": "114793.jpg", "id": 114793, "height": 755, "width": 1000, "crowdIndex": 0.93}, {"file_name": "108885.jpg", "id": 108885, "height": 454, "width": 640, "crowdIndex": 0.39}, {"file_name": "107477.jpg", "id": 107477, "height": 427, "width": 640, "crowdIndex": 0.3}, {"file_name": "116158.jpg", "id": 116158, "height": 720, "width": 540, "crowdIndex": 0.0}, {"file_name": "112018.jpg", "id": 112018, "height": 716, "width": 500, "crowdIndex": 0.79}, {"file_name": "117457.jpg", "id": 117457, "height": 850, "width": 604, "crowdIndex": 0.66}, {"file_name": "104794.jpg", "id": 104794, "height": 640, "width": 480, "crowdIndex": 0.62}, {"file_name": "117982.jpg", "id": 117982, "height": 666, "width": 1000, "crowdIndex": 0.29}, {"file_name": "101018.jpg", "id": 101018, "height": 640, "width": 427, "crowdIndex": 0.66}, {"file_name": "108594.jpg", "id": 108594, "height": 375, "width": 500, "crowdIndex": 0.58}, {"file_name": "100471.jpg", "id": 100471, "height": 480, "width": 640, "crowdIndex": 0.23}, {"file_name": "105986.jpg", "id": 105986, "height": 640, "width": 427, "crowdIndex": 1.13}, {"file_name": "110305.jpg", "id": 110305, "height": 800, "width": 531, "crowdIndex": 0.29}, {"file_name": "115190.jpg", "id": 115190, "height": 1000, "width": 667, "crowdIndex": 1.0}, {"file_name": "119562.jpg", "id": 119562, "height": 458, "width": 690, "crowdIndex": 0.48}, {"file_name": "114064.jpg", "id": 114064, "height": 740, "width": 950, "crowdIndex": 1.29}, {"file_name": "110973.jpg", "id": 110973, "height": 900, "width": 701, "crowdIndex": 0.89}, {"file_name": "113246.jpg", "id": 113246, "height": 1000, "width": 799, "crowdIndex": 0.93}, {"file_name": "101515.jpg", "id": 101515, "height": 480, "width": 640, "crowdIndex": 0.42}, {"file_name": "108383.jpg", "id": 108383, "height": 476, "width": 640, "crowdIndex": 0.76}, {"file_name": "100842.jpg", "id": 100842, "height": 375, "width": 500, "crowdIndex": 0.83}, {"file_name": "109431.jpg", "id": 109431, "height": 879, "width": 600, "crowdIndex": 0.25}, {"file_name": "113609.jpg", "id": 113609, "height": 939, "width": 711, "crowdIndex": 0.59}, {"file_name": "114778.jpg", "id": 114778, "height": 850, "width": 649, "crowdIndex": 0.96}, {"file_name": "113852.jpg", "id": 113852, "height": 608, "width": 940, "crowdIndex": 0.25}, {"file_name": "115715.jpg", "id": 115715, "height": 900, "width": 637, "crowdIndex": 0.24}, {"file_name": "118353.jpg", "id": 118353, "height": 600, "width": 900, "crowdIndex": 0.11}, {"file_name": "106035.jpg", "id": 106035, "height": 426, "width": 640, "crowdIndex": 0.35}, {"file_name": "112843.jpg", "id": 112843, "height": 519, "width": 696, "crowdIndex": 0.89}, {"file_name": "104157.jpg", "id": 104157, "height": 500, "width": 333, "crowdIndex": 0.25}, {"file_name": "109523.jpg", "id": 109523, "height": 731, "width": 500, "crowdIndex": 0.43}, {"file_name": "116482.jpg", "id": 116482, "height": 607, "width": 887, "crowdIndex": 0.25}, {"file_name": "110429.jpg", "id": 110429, "height": 900, "width": 633, "crowdIndex": 0.32}, {"file_name": "113403.jpg", "id": 113403, "height": 633, "width": 950, "crowdIndex": 0.0}, {"file_name": "114863.jpg", "id": 114863, "height": 625, "width": 940, "crowdIndex": 0.33}, {"file_name": "100018.jpg", "id": 100018, "height": 427, "width": 640, "crowdIndex": 0.64}, {"file_name": "114776.jpg", "id": 114776, "height": 768, "width": 616, "crowdIndex": 0.26}, {"file_name": "116796.jpg", "id": 116796, "height": 640, "width": 960, "crowdIndex": 0.69}, {"file_name": "104427.jpg", "id": 104427, "height": 426, "width": 640, "crowdIndex": 0.12}, {"file_name": "116654.jpg", "id": 116654, "height": 727, "width": 940, "crowdIndex": 0.75}, {"file_name": "106502.jpg", "id": 106502, "height": 480, "width": 640, "crowdIndex": 0.57}, {"file_name": "114653.jpg", "id": 114653, "height": 1000, "width": 666, "crowdIndex": 0.82}, {"file_name": "100626.jpg", "id": 100626, "height": 427, "width": 640, "crowdIndex": 1.49}, {"file_name": "112305.jpg", "id": 112305, "height": 765, "width": 940, "crowdIndex": 0.64}, {"file_name": "113307.jpg", "id": 113307, "height": 670, "width": 1000, "crowdIndex": 0.26}, {"file_name": "110618.jpg", "id": 110618, "height": 769, "width": 520, "crowdIndex": 0.76}, {"file_name": "103404.jpg", "id": 103404, "height": 500, "width": 347, "crowdIndex": 0.61}, {"file_name": "104478.jpg", "id": 104478, "height": 480, "width": 640, "crowdIndex": 0.43}, {"file_name": "103382.jpg", "id": 103382, "height": 427, "width": 640, "crowdIndex": 0.48}, {"file_name": "115132.jpg", "id": 115132, "height": 632, "width": 950, "crowdIndex": 0.46}, {"file_name": "107899.jpg", "id": 107899, "height": 351, "width": 500, "crowdIndex": 0.29}, {"file_name": "106157.jpg", "id": 106157, "height": 380, "width": 500, "crowdIndex": 0.11}, {"file_name": "103976.jpg", "id": 103976, "height": 480, "width": 640, "crowdIndex": 0.73}, {"file_name": "108762.jpg", "id": 108762, "height": 500, "width": 361, "crowdIndex": 0.17}, {"file_name": "115663.jpg", "id": 115663, "height": 1000, "width": 945, "crowdIndex": 0.58}, {"file_name": "116868.jpg", "id": 116868, "height": 800, "width": 531, "crowdIndex": 0.56}, {"file_name": "119518.jpg", "id": 119518, "height": 1000, "width": 938, "crowdIndex": 0.3}, {"file_name": "113898.jpg", "id": 113898, "height": 1000, "width": 707, "crowdIndex": 0.21}, {"file_name": "102582.jpg", "id": 102582, "height": 500, "width": 332, "crowdIndex": 0.0}, {"file_name": "112863.jpg", "id": 112863, "height": 1000, "width": 784, "crowdIndex": 0.11}, {"file_name": "100613.jpg", "id": 100613, "height": 480, "width": 640, "crowdIndex": 1.02}, {"file_name": "104195.jpg", "id": 104195, "height": 425, "width": 640, "crowdIndex": 0.61}, {"file_name": "115634.jpg", "id": 115634, "height": 632, "width": 950, "crowdIndex": 0.45}, {"file_name": "111531.jpg", "id": 111531, "height": 665, "width": 1000, "crowdIndex": 1.0}, {"file_name": "100488.jpg", "id": 100488, "height": 427, "width": 640, "crowdIndex": 1.24}, {"file_name": "108869.jpg", "id": 108869, "height": 389, "width": 640, "crowdIndex": 0.33}, {"file_name": "118139.jpg", "id": 118139, "height": 667, "width": 1000, "crowdIndex": 0.75}, {"file_name": "117261.jpg", "id": 117261, "height": 827, "width": 900, "crowdIndex": 0.6}, {"file_name": "112433.jpg", "id": 112433, "height": 666, "width": 1000, "crowdIndex": 0.95}, {"file_name": "111768.jpg", "id": 111768, "height": 939, "width": 626, "crowdIndex": 0.71}, {"file_name": "113080.jpg", "id": 113080, "height": 1000, "width": 746, "crowdIndex": 0.43}, {"file_name": "106831.jpg", "id": 106831, "height": 427, "width": 640, "crowdIndex": 0.24}, {"file_name": "116596.jpg", "id": 116596, "height": 676, "width": 1000, "crowdIndex": 0.88}, {"file_name": "108659.jpg", "id": 108659, "height": 640, "width": 428, "crowdIndex": 0.0}, {"file_name": "114072.jpg", "id": 114072, "height": 1000, "width": 657, "crowdIndex": 0.82}, {"file_name": "104057.jpg", "id": 104057, "height": 427, "width": 640, "crowdIndex": 0.08}, {"file_name": "101454.jpg", "id": 101454, "height": 640, "width": 425, "crowdIndex": 0.0}, {"file_name": "117379.jpg", "id": 117379, "height": 569, "width": 867, "crowdIndex": 0.42}, {"file_name": "111540.jpg", "id": 111540, "height": 680, "width": 1000, "crowdIndex": 0.75}, {"file_name": "103676.jpg", "id": 103676, "height": 426, "width": 640, "crowdIndex": 0.0}, {"file_name": "118989.jpg", "id": 118989, "height": 1000, "width": 720, "crowdIndex": 0.88}, {"file_name": "117429.jpg", "id": 117429, "height": 939, "width": 807, "crowdIndex": 0.8}, {"file_name": "117767.jpg", "id": 117767, "height": 700, "width": 940, "crowdIndex": 1.34}, {"file_name": "113576.jpg", "id": 113576, "height": 633, "width": 950, "crowdIndex": 0.33}, {"file_name": "117009.jpg", "id": 117009, "height": 596, "width": 900, "crowdIndex": 0.32}, {"file_name": "113653.jpg", "id": 113653, "height": 300, "width": 400, "crowdIndex": 0.54}, {"file_name": "113905.jpg", "id": 113905, "height": 939, "width": 626, "crowdIndex": 0.9}, {"file_name": "105147.jpg", "id": 105147, "height": 385, "width": 640, "crowdIndex": 1.49}, {"file_name": "108370.jpg", "id": 108370, "height": 427, "width": 640, "crowdIndex": 0.56}, {"file_name": "100717.jpg", "id": 100717, "height": 640, "width": 640, "crowdIndex": 0.0}, {"file_name": "116931.jpg", "id": 116931, "height": 600, "width": 900, "crowdIndex": 0.39}, {"file_name": "118434.jpg", "id": 118434, "height": 627, "width": 940, "crowdIndex": 0.43}, {"file_name": "105568.jpg", "id": 105568, "height": 332, "width": 500, "crowdIndex": 0.12}, {"file_name": "115423.jpg", "id": 115423, "height": 800, "width": 549, "crowdIndex": 1.18}, {"file_name": "109126.jpg", "id": 109126, "height": 778, "width": 550, "crowdIndex": 0.5}, {"file_name": "106852.jpg", "id": 106852, "height": 426, "width": 640, "crowdIndex": 0.66}, {"file_name": "114867.jpg", "id": 114867, "height": 1000, "width": 781, "crowdIndex": 0.79}, {"file_name": "100888.jpg", "id": 100888, "height": 516, "width": 640, "crowdIndex": 0.33}, {"file_name": "115682.jpg", "id": 115682, "height": 666, "width": 1000, "crowdIndex": 0.11}, {"file_name": "106883.jpg", "id": 106883, "height": 480, "width": 640, "crowdIndex": 0.83}, {"file_name": "102533.jpg", "id": 102533, "height": 427, "width": 640, "crowdIndex": 0.87}, {"file_name": "101934.jpg", "id": 101934, "height": 640, "width": 428, "crowdIndex": 0.0}, {"file_name": "118031.jpg", "id": 118031, "height": 533, "width": 800, "crowdIndex": 0.66}, {"file_name": "104417.jpg", "id": 104417, "height": 426, "width": 640, "crowdIndex": 0.14}, {"file_name": "110297.jpg", "id": 110297, "height": 1000, "width": 667, "crowdIndex": 0.86}, {"file_name": "108262.jpg", "id": 108262, "height": 480, "width": 640, "crowdIndex": 0.95}, {"file_name": "119269.jpg", "id": 119269, "height": 684, "width": 1000, "crowdIndex": 0.11}, {"file_name": "117263.jpg", "id": 117263, "height": 517, "width": 690, "crowdIndex": 0.35}, {"file_name": "115780.jpg", "id": 115780, "height": 651, "width": 950, "crowdIndex": 0.73}, {"file_name": "108741.jpg", "id": 108741, "height": 480, "width": 640, "crowdIndex": 0.6}, {"file_name": "109010.jpg", "id": 109010, "height": 500, "width": 375, "crowdIndex": 0.22}, {"file_name": "118772.jpg", "id": 118772, "height": 900, "width": 600, "crowdIndex": 0.18}, {"file_name": "112130.jpg", "id": 112130, "height": 722, "width": 550, "crowdIndex": 0.54}, {"file_name": "101600.jpg", "id": 101600, "height": 480, "width": 640, "crowdIndex": 0.51}, {"file_name": "102530.jpg", "id": 102530, "height": 640, "width": 480, "crowdIndex": 0.6}, {"file_name": "106415.jpg", "id": 106415, "height": 429, "width": 640, "crowdIndex": 0.55}, {"file_name": "115180.jpg", "id": 115180, "height": 625, "width": 950, "crowdIndex": 0.32}, {"file_name": "107461.jpg", "id": 107461, "height": 640, "width": 480, "crowdIndex": 0.6}, {"file_name": "105947.jpg", "id": 105947, "height": 354, "width": 640, "crowdIndex": 0.39}, {"file_name": "110753.jpg", "id": 110753, "height": 667, "width": 1000, "crowdIndex": 0.0}, {"file_name": "116726.jpg", "id": 116726, "height": 856, "width": 950, "crowdIndex": 0.17}, {"file_name": "108109.jpg", "id": 108109, "height": 640, "width": 640, "crowdIndex": 1.03}, {"file_name": "112527.jpg", "id": 112527, "height": 500, "width": 949, "crowdIndex": 0.9}, {"file_name": "105639.jpg", "id": 105639, "height": 427, "width": 640, "crowdIndex": 0.17}, {"file_name": "109194.jpg", "id": 109194, "height": 733, "width": 550, "crowdIndex": 0.18}, {"file_name": "108272.jpg", "id": 108272, "height": 640, "width": 480, "crowdIndex": 0.41}, {"file_name": "117983.jpg", "id": 117983, "height": 736, "width": 500, "crowdIndex": 0.43}, {"file_name": "117171.jpg", "id": 117171, "height": 627, "width": 939, "crowdIndex": 0.76}, {"file_name": "111298.jpg", "id": 111298, "height": 569, "width": 911, "crowdIndex": 0.78}, {"file_name": "108877.jpg", "id": 108877, "height": 442, "width": 640, "crowdIndex": 0.13}, {"file_name": "111548.jpg", "id": 111548, "height": 900, "width": 869, "crowdIndex": 0.95}, {"file_name": "114136.jpg", "id": 114136, "height": 1000, "width": 664, "crowdIndex": 0.0}, {"file_name": "105370.jpg", "id": 105370, "height": 426, "width": 640, "crowdIndex": 0.5}, {"file_name": "102589.jpg", "id": 102589, "height": 640, "width": 480, "crowdIndex": 0.73}, {"file_name": "112472.jpg", "id": 112472, "height": 627, "width": 940, "crowdIndex": 0.49}, {"file_name": "110619.jpg", "id": 110619, "height": 626, "width": 940, "crowdIndex": 0.52}, {"file_name": "113110.jpg", "id": 113110, "height": 900, "width": 580, "crowdIndex": 0.46}, {"file_name": "109616.jpg", "id": 109616, "height": 924, "width": 550, "crowdIndex": 0.0}, {"file_name": "110014.jpg", "id": 110014, "height": 899, "width": 600, "crowdIndex": 0.0}, {"file_name": "102795.jpg", "id": 102795, "height": 331, "width": 500, "crowdIndex": 0.25}, {"file_name": "102362.jpg", "id": 102362, "height": 534, "width": 640, "crowdIndex": 0.29}, {"file_name": "111876.jpg", "id": 111876, "height": 802, "width": 550, "crowdIndex": 0.0}, {"file_name": "110332.jpg", "id": 110332, "height": 653, "width": 980, "crowdIndex": 0.05}, {"file_name": "102646.jpg", "id": 102646, "height": 640, "width": 480, "crowdIndex": 0.44}, {"file_name": "105071.jpg", "id": 105071, "height": 426, "width": 640, "crowdIndex": 0.83}, {"file_name": "119911.jpg", "id": 119911, "height": 632, "width": 940, "crowdIndex": 0.76}, {"file_name": "108586.jpg", "id": 108586, "height": 480, "width": 640, "crowdIndex": 0.1}, {"file_name": "105169.jpg", "id": 105169, "height": 640, "width": 424, "crowdIndex": 0.18}, {"file_name": "102290.jpg", "id": 102290, "height": 480, "width": 640, "crowdIndex": 0.2}, {"file_name": "107612.jpg", "id": 107612, "height": 359, "width": 640, "crowdIndex": 0.56}, {"file_name": "109772.jpg", "id": 109772, "height": 666, "width": 1000, "crowdIndex": 0.0}, {"file_name": "111910.jpg", "id": 111910, "height": 690, "width": 940, "crowdIndex": 0.25}, {"file_name": "109408.jpg", "id": 109408, "height": 734, "width": 500, "crowdIndex": 0.75}, {"file_name": "114544.jpg", "id": 114544, "height": 669, "width": 1000, "crowdIndex": 0.38}, {"file_name": "102261.jpg", "id": 102261, "height": 480, "width": 640, "crowdIndex": 0.73}, {"file_name": "107524.jpg", "id": 107524, "height": 411, "width": 500, "crowdIndex": 0.44}, {"file_name": "101293.jpg", "id": 101293, "height": 640, "width": 427, "crowdIndex": 0.19}, {"file_name": "118893.jpg", "id": 118893, "height": 625, "width": 950, "crowdIndex": 0.64}, {"file_name": "117268.jpg", "id": 117268, "height": 656, "width": 980, "crowdIndex": 0.89}, {"file_name": "102572.jpg", "id": 102572, "height": 480, "width": 640, "crowdIndex": 0.14}, {"file_name": "119217.jpg", "id": 119217, "height": 755, "width": 1000, "crowdIndex": 0.33}, {"file_name": "106917.jpg", "id": 106917, "height": 640, "width": 424, "crowdIndex": 0.0}, {"file_name": "110886.jpg", "id": 110886, "height": 1000, "width": 691, "crowdIndex": 0.57}, {"file_name": "103856.jpg", "id": 103856, "height": 500, "width": 373, "crowdIndex": 0.33}, {"file_name": "105833.jpg", "id": 105833, "height": 480, "width": 640, "crowdIndex": 0.29}, {"file_name": "116651.jpg", "id": 116651, "height": 939, "width": 626, "crowdIndex": 0.86}, {"file_name": "119783.jpg", "id": 119783, "height": 666, "width": 1000, "crowdIndex": 0.61}, {"file_name": "118393.jpg", "id": 118393, "height": 632, "width": 950, "crowdIndex": 0.18}, {"file_name": "119402.jpg", "id": 119402, "height": 626, "width": 940, "crowdIndex": 1.32}, {"file_name": "108100.jpg", "id": 108100, "height": 427, "width": 640, "crowdIndex": 0.9}, {"file_name": "103586.jpg", "id": 103586, "height": 640, "width": 529, "crowdIndex": 0.66}, {"file_name": "113253.jpg", "id": 113253, "height": 1000, "width": 706, "crowdIndex": 0.0}, {"file_name": "103224.jpg", "id": 103224, "height": 640, "width": 480, "crowdIndex": 0.15}, {"file_name": "100557.jpg", "id": 100557, "height": 334, "width": 500, "crowdIndex": 0.2}, {"file_name": "104391.jpg", "id": 104391, "height": 427, "width": 640, "crowdIndex": 0.46}, {"file_name": "105655.jpg", "id": 105655, "height": 427, "width": 640, "crowdIndex": 0.64}, {"file_name": "115925.jpg", "id": 115925, "height": 1000, "width": 664, "crowdIndex": 0.12}, {"file_name": "116470.jpg", "id": 116470, "height": 691, "width": 980, "crowdIndex": 0.57}, {"file_name": "101806.jpg", "id": 101806, "height": 424, "width": 640, "crowdIndex": 0.4}, {"file_name": "102134.jpg", "id": 102134, "height": 426, "width": 640, "crowdIndex": 0.56}, {"file_name": "101784.jpg", "id": 101784, "height": 480, "width": 640, "crowdIndex": 0.87}, {"file_name": "116390.jpg", "id": 116390, "height": 840, "width": 940, "crowdIndex": 0.57}, {"file_name": "119002.jpg", "id": 119002, "height": 625, "width": 950, "crowdIndex": 0.34}, {"file_name": "115553.jpg", "id": 115553, "height": 1000, "width": 927, "crowdIndex": 0.11}, {"file_name": "116192.jpg", "id": 116192, "height": 632, "width": 950, "crowdIndex": 0.86}, {"file_name": "112629.jpg", "id": 112629, "height": 533, "width": 800, "crowdIndex": 0.88}, {"file_name": "117135.jpg", "id": 117135, "height": 950, "width": 634, "crowdIndex": 0.88}, {"file_name": "102631.jpg", "id": 102631, "height": 427, "width": 640, "crowdIndex": 0.6}, {"file_name": "111350.jpg", "id": 111350, "height": 625, "width": 950, "crowdIndex": 0.0}, {"file_name": "114487.jpg", "id": 114487, "height": 635, "width": 950, "crowdIndex": 0.46}, {"file_name": "112672.jpg", "id": 112672, "height": 668, "width": 900, "crowdIndex": 0.52}, {"file_name": "112889.jpg", "id": 112889, "height": 1000, "width": 666, "crowdIndex": 0.0}, {"file_name": "114119.jpg", "id": 114119, "height": 682, "width": 950, "crowdIndex": 0.5}, {"file_name": "108491.jpg", "id": 108491, "height": 375, "width": 500, "crowdIndex": 0.6}, {"file_name": "106055.jpg", "id": 106055, "height": 640, "width": 489, "crowdIndex": 0.49}, {"file_name": "114410.jpg", "id": 114410, "height": 939, "width": 722, "crowdIndex": 0.5}, {"file_name": "110306.jpg", "id": 110306, "height": 1000, "width": 656, "crowdIndex": 0.93}, {"file_name": "103782.jpg", "id": 103782, "height": 640, "width": 426, "crowdIndex": 0.48}, {"file_name": "115918.jpg", "id": 115918, "height": 833, "width": 1000, "crowdIndex": 0.7}, {"file_name": "119171.jpg", "id": 119171, "height": 612, "width": 929, "crowdIndex": 0.45}, {"file_name": "104105.jpg", "id": 104105, "height": 640, "width": 427, "crowdIndex": 0.76}, {"file_name": "113108.jpg", "id": 113108, "height": 625, "width": 950, "crowdIndex": 0.75}, {"file_name": "113708.jpg", "id": 113708, "height": 666, "width": 1000, "crowdIndex": 0.78}, {"file_name": "102145.jpg", "id": 102145, "height": 480, "width": 640, "crowdIndex": 0.89}, {"file_name": "106890.jpg", "id": 106890, "height": 427, "width": 640, "crowdIndex": 0.3}, {"file_name": "105904.jpg", "id": 105904, "height": 425, "width": 640, "crowdIndex": 0.83}, {"file_name": "119867.jpg", "id": 119867, "height": 564, "width": 946, "crowdIndex": 0.28}, {"file_name": "110216.jpg", "id": 110216, "height": 620, "width": 930, "crowdIndex": 0.32}, {"file_name": "114235.jpg", "id": 114235, "height": 631, "width": 950, "crowdIndex": 0.11}, {"file_name": "117196.jpg", "id": 117196, "height": 689, "width": 1000, "crowdIndex": 0.82}, {"file_name": "113644.jpg", "id": 113644, "height": 666, "width": 1000, "crowdIndex": 0.0}, {"file_name": "107508.jpg", "id": 107508, "height": 640, "width": 457, "crowdIndex": 0.29}], "annotations": [{"num_keypoints": 12, "iscrowd": 0, "keypoints": [181, 164, 2, 212, 193, 2, 194, 222, 2, 221, 235, 2, 218, 256, 2, 227, 275, 1, 121, 235, 2, 144, 250, 2, 176, 283, 2, 165, 304, 2, 180, 344, 2, 138, 382, 2, 227, 142, 1, 205, 169, 1], "image_id": 101186, "bbox": [111.1, 134.5, 129.44, 271.82], "category_id": 1, "id": 100016}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [169, 127, 2, 80, 128, 2, 170, 223, 2, 80, 227, 2, 80, 224, 2, 158, 225, 2, 164, 298, 2, 96, 301, 2, 167, 422, 2, 83, 449, 2, 0, 0, 0, 0, 0, 0, 116, 31, 1, 122, 112, 1], "image_id": 101670, "bbox": [49.62, 5.39, 148.85, 468.14], "category_id": 1, "id": 100031}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [252, 230, 2, 185, 199, 2, 0, 0, 0, 104, 234, 2, 0, 0, 0, 184, 177, 2, 177, 372, 1, 112, 377, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 109, 1, 227, 190, 1], "image_id": 101928, "bbox": [76.59, 106.85, 206.8, 315.94], "category_id": 1, "id": 100037}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [435, 187, 2, 342, 138, 2, 453, 295, 2, 261, 204, 2, 389, 317, 2, 311, 272, 2, 379, 356, 1, 296, 336, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 61, 1, 394, 156, 1], "image_id": 101928, "bbox": [242.77, 49.9, 228.37, 307.05], "category_id": 1, "id": 100039}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [279, 149, 2, 268, 145, 2, 284, 205, 2, 227, 194, 2, 235, 195, 2, 191, 217, 2, 288, 247, 2, 269, 244, 2, 202, 285, 2, 205, 301, 2, 263, 354, 2, 215, 393, 1, 250, 76, 1, 263, 125, 1], "image_id": 101192, "bbox": [161.28, 71.33, 161.54, 339.03], "category_id": 1, "id": 100045}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [207, 1, 1, 0, 0, 0, 201, 29, 2, 0, 0, 0, 179, 36, 2, 182, 48, 2, 207, 60, 2, 185, 60, 2, 207, 100, 2, 175, 94, 2, 214, 138, 2, 175, 137, 2, 0, 0, 0, 0, 0, 0], "image_id": 101934, "bbox": [156.76, 1.44, 71.91, 149.57], "category_id": 1, "id": 100066}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 630, 153, 2, 0, 0, 0, 0, 0, 0, 565, 165, 2, 622, 210, 2, 521, 289, 2, 557, 340, 2, 464, 370, 2, 484, 419, 2, 0, 0, 0, 0, 0, 0], "image_id": 101600, "bbox": [441.17, 5.21, 198.47, 464.9], "category_id": 1, "id": 100070}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [383, 279, 2, 437, 278, 2, 365, 325, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 366, 2, 432, 366, 2, 389, 434, 2, 429, 434, 2, 385, 493, 2, 430, 491, 2, 400, 231, 1, 408, 264, 1], "image_id": 100501, "bbox": [356.98, 225.25, 100.13, 283.53], "category_id": 1, "id": 100071}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [417, 117, 2, 412, 118, 2, 427, 137, 2, 0, 0, 0, 411, 130, 2, 0, 0, 0, 416, 165, 2, 408, 165, 2, 423, 200, 2, 398, 198, 2, 427, 227, 2, 388, 221, 2, 398, 98, 1, 410, 113, 1], "image_id": 101186, "bbox": [382.48, 94.6, 63.63, 144.37], "category_id": 1, "id": 100073}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [598, 10, 2, 552, 4, 2, 558, 65, 2, 504, 38, 1, 507, 82, 2, 0, 0, 0, 540, 113, 2, 502, 105, 2, 521, 193, 2, 463, 168, 1, 508, 254, 1, 455, 248, 1, 0, 0, 0, 0, 0, 0], "image_id": 101600, "bbox": [470.29, 1.08, 139.15, 270.74], "category_id": 1, "id": 100101}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [627, 142, 2, 588, 132, 2, 626, 172, 2, 574, 152, 2, 618, 196, 2, 564, 176, 2, 603, 196, 2, 579, 190, 2, 596, 235, 2, 567, 231, 2, 589, 270, 2, 559, 268, 2, 615, 99, 1, 608, 128, 1], "image_id": 101186, "bbox": [544.99, 95.02, 93.19, 185.78], "category_id": 1, "id": 100119}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [241, 191, 2, 265, 184, 2, 237, 231, 2, 263, 243, 2, 202, 296, 2, 232, 277, 1, 273, 291, 2, 303, 284, 2, 272, 385, 2, 285, 368, 2, 292, 483, 2, 310, 406, 1, 213, 133, 1, 235, 177, 1], "image_id": 100069, "bbox": [188.76, 123.88, 139.22, 379.88], "category_id": 1, "id": 100130}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [500, 274, 2, 446, 271, 2, 506, 313, 2, 0, 0, 0, 515, 347, 2, 0, 0, 0, 485, 350, 2, 458, 349, 2, 479, 412, 2, 450, 412, 2, 476, 463, 2, 451, 462, 2, 469, 224, 1, 469, 261, 1], "image_id": 100501, "bbox": [435.09, 216.51, 88.39, 262.89], "category_id": 1, "id": 100132}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [555, 130, 2, 536, 128, 2, 562, 145, 2, 523, 138, 2, 548, 142, 2, 533, 137, 2, 548, 162, 2, 534, 161, 2, 546, 188, 2, 530, 184, 2, 547, 209, 2, 529, 208, 2, 546, 108, 1, 545, 124, 1], "image_id": 101186, "bbox": [516.15, 108.28, 47.96, 107.66], "category_id": 1, "id": 100137}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [326, 230, 2, 337, 231, 2, 316, 243, 2, 345, 247, 2, 307, 251, 2, 338, 251, 2, 326, 252, 2, 337, 253, 2, 320, 261, 2, 335, 267, 1, 318, 274, 2, 335, 283, 1, 330, 218, 1, 331, 227, 1], "image_id": 100501, "bbox": [304.76, 216.76, 46.01, 66.59], "category_id": 1, "id": 100144}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [153, 286, 2, 143, 252, 2, 167, 351, 1, 108, 300, 2, 194, 387, 2, 125, 352, 1, 69, 286, 2, 60, 282, 2, 101, 350, 1, 133, 337, 1, 32, 413, 1, 128, 413, 1, 193, 239, 1, 162, 269, 1], "image_id": 101192, "bbox": [33.59, 233.39, 178.42, 157.76], "category_id": 1, "id": 100154}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [626, 235, 2, 618, 236, 2, 629, 247, 2, 616, 246, 2, 626, 257, 2, 615, 255, 2, 624, 259, 2, 618, 259, 2, 622, 273, 2, 618, 273, 2, 623, 288, 2, 619, 287, 2, 621, 221, 1, 623, 231, 1], "image_id": 100501, "bbox": [611.53, 217.94, 21.13, 74.77], "category_id": 1, "id": 100162}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [293, 167, 2, 204, 168, 2, 307, 271, 2, 192, 253, 2, 227, 273, 2, 189, 317, 2, 279, 306, 2, 222, 307, 2, 299, 429, 2, 222, 443, 2, 0, 0, 0, 0, 0, 0, 256, 59, 1, 250, 146, 1], "image_id": 101670, "bbox": [181.21, 56.09, 142.39, 418.52], "category_id": 1, "id": 100227}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [516, 234, 2, 450, 224, 2, 544, 333, 2, 0, 0, 0, 463, 377, 2, 0, 0, 0, 503, 436, 2, 441, 416, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 110, 1, 480, 205, 1], "image_id": 101670, "bbox": [411.89, 82.16, 182.7, 388.11], "category_id": 1, "id": 100229}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [421, 125, 2, 325, 127, 2, 494, 184, 1, 0, 0, 0, 554, 204, 1, 0, 0, 0, 408, 341, 2, 330, 342, 2, 416, 472, 2, 355, 470, 1, 0, 0, 0, 0, 0, 0, 356, 22, 1, 368, 118, 1], "image_id": 101670, "bbox": [276.13, 19.24, 181.22, 456.27], "category_id": 1, "id": 100230}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 136, 1, 145, 143, 1], "image_id": 101190, "bbox": [136.37, 136.28, 17.94, 54.5], "category_id": 1, "id": 100237}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 138, 1, 164, 145, 1], "image_id": 101190, "bbox": [155.37, 137.14, 18.3, 50.58], "category_id": 1, "id": 100239}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [297, 159, 2, 271, 161, 2, 297, 173, 2, 0, 0, 0, 291, 183, 2, 0, 0, 0, 297, 186, 2, 279, 187, 2, 297, 213, 2, 0, 0, 0, 298, 239, 2, 0, 0, 0, 282, 138, 1, 283, 153, 1], "image_id": 101190, "bbox": [267.58, 134.28, 42.31, 113.74], "category_id": 1, "id": 100246}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [40, 158, 2, 10, 163, 2, 53, 186, 2, 8, 192, 2, 44, 218, 2, 0, 0, 0, 48, 211, 2, 27, 215, 2, 51, 259, 2, 43, 261, 2, 64, 298, 2, 51, 297, 2, 18, 119, 1, 22, 149, 1], "image_id": 101670, "bbox": [1.69, 122.64, 69.41, 192.3], "category_id": 1, "id": 100248}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [250, 153, 2, 216, 142, 2, 252, 200, 2, 0, 0, 0, 241, 237, 2, 0, 0, 0, 254, 237, 2, 217, 218, 2, 246, 282, 2, 176, 257, 1, 249, 364, 2, 209, 301, 1, 229, 93, 1, 233, 138, 1], "image_id": 101190, "bbox": [157.73, 87.36, 122.15, 317.4], "category_id": 1, "id": 100250}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 426, 147, 1, 426, 157, 1], "image_id": 101190, "bbox": [418.71, 146.7, 19.29, 15.32], "category_id": 1, "id": 100252}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 138, 1, 326, 149, 1], "image_id": 101190, "bbox": [321.03, 136.79, 29.34, 85.5], "category_id": 1, "id": 100254}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 146, 1, 207, 157, 1], "image_id": 101190, "bbox": [186.11, 144.14, 24.61, 41.73], "category_id": 1, "id": 100255}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 5, 2, 322, 27, 2, 295, 26, 1, 303, 95, 1, 273, 92, 1, 288, 153, 1, 255, 153, 2, 0, 0, 0, 0, 0, 0], "image_id": 101600, "bbox": [244.1, 0, 99.06, 159.21], "category_id": 1, "id": 100257}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [324, 159, 2, 305, 160, 2, 329, 171, 2, 298, 169, 1, 330, 189, 2, 0, 0, 0, 322, 181, 2, 311, 181, 2, 323, 201, 2, 307, 197, 1, 317, 220, 1, 0, 0, 0, 319, 143, 1, 316, 157, 1], "image_id": 101190, "bbox": [302.99, 140.69, 30.2, 92.02], "category_id": 1, "id": 100262}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 232, 1, 215, 241, 1], "image_id": 100501, "bbox": [206.57, 231.71, 22.56, 27.68], "category_id": 1, "id": 100265}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 195, 2, 201, 206, 2, 337, 191, 2, 145, 214, 2, 354, 139, 2, 136, 159, 2, 267, 331, 2, 228, 339, 2, 283, 437, 2, 234, 441, 2, 279, 517, 2, 224, 528, 2, 244, 134, 1, 240, 190, 1], "image_id": 101477, "bbox": [122.25, 106.43, 254.56, 461.66], "category_id": 1, "id": 100287}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [343, 202, 2, 297, 198, 2, 329, 273, 2, 284, 257, 2, 279, 307, 2, 269, 240, 2, 332, 328, 2, 311, 329, 2, 333, 459, 2, 318, 461, 2, 337, 562, 2, 324, 554, 2, 316, 118, 1, 324, 183, 1], "image_id": 100065, "bbox": [249.13, 107.52, 117.4, 488.23], "category_id": 1, "id": 100303}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [494, 262, 2, 431, 246, 2, 404, 279, 2, 343, 239, 2, 458, 215, 2, 263, 233, 2, 441, 425, 2, 408, 418, 2, 375, 287, 2, 339, 268, 2, 313, 427, 2, 270, 396, 2, 450, 151, 1, 459, 230, 1], "image_id": 101801, "bbox": [197.02, 141.27, 321.95, 332.23], "category_id": 1, "id": 100306}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [245, 149, 2, 280, 156, 2, 155, 181, 2, 240, 248, 2, 126, 205, 2, 165, 249, 2, 258, 345, 2, 288, 338, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 78, 1, 241, 137, 1], "image_id": 102411, "bbox": [118.29, 63.47, 194.27, 333.72], "category_id": 1, "id": 100319}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [227, 97, 2, 207, 91, 2, 224, 133, 2, 205, 135, 2, 180, 148, 2, 184, 128, 2, 215, 175, 2, 195, 172, 2, 221, 240, 2, 204, 237, 2, 223, 308, 2, 210, 305, 2, 216, 44, 1, 219, 81, 1], "image_id": 100065, "bbox": [159.76, 39.04, 93.55, 285.92], "category_id": 1, "id": 100321}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [388, 224, 2, 255, 226, 2, 431, 287, 2, 237, 334, 1, 0, 0, 0, 0, 0, 0, 374, 390, 1, 279, 393, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 118, 1, 319, 199, 1], "image_id": 100942, "bbox": [209.17, 89.47, 251.96, 302.34], "category_id": 1, "id": 100326}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 227, 179, 2, 0, 0, 0, 223, 203, 2, 0, 0, 0, 229, 217, 2, 0, 0, 0, 223, 225, 2, 0, 0, 0, 219, 255, 2, 0, 0, 0, 215, 284, 2, 239, 149, 1, 236, 167, 1], "image_id": 100942, "bbox": [202.84, 149.12, 70.26, 149.5], "category_id": 1, "id": 100328}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [295, 237, 2, 126, 237, 2, 0, 0, 0, 77, 357, 2, 0, 0, 0, 84, 423, 2, 267, 458, 1, 147, 460, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 84, 1, 212, 208, 1], "image_id": 101929, "bbox": [51.78, 67.63, 284.76, 410.96], "category_id": 1, "id": 100339}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [516, 273, 2, 331, 287, 2, 554, 396, 2, 289, 405, 1, 0, 0, 0, 248, 464, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 99, 1, 419, 237, 1], "image_id": 101929, "bbox": [234.62, 79.59, 366.99, 394.98], "category_id": 1, "id": 100345}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 166, 1, 104, 181, 1], "image_id": 100942, "bbox": [92.18, 166.55, 35.29, 61.36], "category_id": 1, "id": 100352}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [167, 77, 2, 210, 76, 1, 160, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 151, 1, 200, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 31, 1, 192, 59, 1], "image_id": 100065, "bbox": [154, 27.47, 54.3, 109.54], "category_id": 1, "id": 100409}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [418, 192, 2, 439, 187, 2, 421, 254, 2, 430, 229, 2, 378, 257, 2, 381, 232, 2, 419, 301, 2, 446, 301, 2, 395, 372, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 140, 1, 421, 179, 1], "image_id": 102411, "bbox": [345.35, 129.08, 131.72, 238.14], "category_id": 1, "id": 100421}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [358, 98, 2, 417, 100, 2, 345, 138, 1, 431, 134, 1, 0, 0, 0, 0, 0, 0, 376, 171, 2, 409, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 35, 1, 387, 73, 1], "image_id": 100065, "bbox": [337.22, 32.43, 90.4, 208.07], "category_id": 1, "id": 100457}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [141, 101, 2, 185, 93, 1, 132, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 157, 2, 185, 154, 1, 159, 208, 2, 0, 0, 0, 159, 257, 1, 0, 0, 0, 159, 56, 1, 159, 82, 1], "image_id": 100065, "bbox": [122.13, 54.83, 48.47, 188.51], "category_id": 1, "id": 100465}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [146, 93, 1, 175, 89, 1, 132, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 159, 1, 178, 156, 1, 160, 203, 1, 181, 201, 1, 161, 243, 1, 184, 242, 1, 158, 54, 1, 158, 82, 1], "image_id": 100065, "bbox": [121.89, 27.39, 50.08, 217.23], "category_id": 1, "id": 100472}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 243, 2, 313, 243, 2, 364, 262, 2, 296, 271, 2, 372, 277, 2, 314, 278, 2, 343, 282, 2, 317, 286, 2, 358, 304, 2, 314, 337, 2, 344, 333, 1, 315, 379, 2, 336, 217, 1, 330, 238, 1], "image_id": 102467, "bbox": [291.21, 205.68, 88.97, 180.93], "category_id": 1, "id": 100478}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [166, 191, 2, 253, 190, 2, 0, 0, 0, 274, 239, 2, 0, 0, 0, 288, 263, 2, 176, 316, 2, 248, 317, 2, 149, 409, 1, 285, 404, 2, 124, 497, 1, 317, 497, 2, 230, 117, 1, 214, 165, 1], "image_id": 101018, "bbox": [129.73, 97.3, 198.92, 429.55], "category_id": 1, "id": 100487}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 22, 2, 278, 22, 2, 308, 34, 2, 269, 35, 2, 305, 39, 2, 272, 39, 2, 296, 48, 2, 279, 48, 2, 303, 46, 2, 278, 45, 2, 285, 68, 2, 289, 69, 2, 289, 1, 1, 289, 18, 1], "image_id": 102160, "bbox": [266.16, 0.57, 46.59, 77.34], "category_id": 1, "id": 100499}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [573, 235, 2, 545, 230, 2, 578, 263, 2, 532, 261, 2, 583, 290, 2, 539, 296, 2, 553, 272, 2, 532, 272, 2, 560, 326, 1, 541, 314, 2, 551, 366, 1, 518, 340, 2, 572, 198, 1, 563, 228, 1], "image_id": 102467, "bbox": [510.48, 194.68, 87.32, 167.92], "category_id": 1, "id": 100501}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [65, 190, 2, 119, 197, 2, 36, 249, 2, 145, 262, 2, 84, 260, 2, 164, 230, 1, 59, 318, 2, 110, 327, 2, 90, 416, 2, 109, 426, 2, 102, 520, 2, 97, 532, 2, 121, 125, 1, 101, 176, 1], "image_id": 101018, "bbox": [15.82, 115.06, 166.83, 448.72], "category_id": 1, "id": 100502}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [354, 188, 2, 379, 187, 2, 347, 271, 2, 0, 0, 0, 294, 249, 1, 0, 0, 0, 350, 292, 2, 379, 283, 2, 328, 438, 2, 375, 438, 2, 338, 541, 2, 374, 535, 2, 343, 130, 1, 353, 176, 1], "image_id": 101018, "bbox": [290.76, 126.38, 123, 442.06], "category_id": 1, "id": 100505}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [273, 250, 2, 251, 248, 2, 279, 266, 2, 246, 265, 2, 283, 277, 2, 245, 283, 2, 272, 277, 2, 256, 275, 2, 270, 301, 2, 253, 299, 2, 271, 324, 2, 251, 326, 2, 267, 230, 1, 265, 246, 1], "image_id": 102467, "bbox": [241.66, 229.48, 44.48, 108.48], "category_id": 1, "id": 100510}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [524, 181, 2, 423, 166, 1, 524, 299, 2, 0, 0, 0, 504, 365, 2, 0, 0, 0, 504, 361, 2, 420, 347, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 68, 1, 471, 163, 1], "image_id": 101928, "bbox": [384.78, 48.94, 165.04, 360.79], "category_id": 1, "id": 100522}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100942, "bbox": [120.34, 288.27, 369.58, 136.73], "category_id": 1, "id": 100528}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [103, 250, 2, 195, 292, 2, 0, 0, 0, 178, 350, 2, 0, 0, 0, 0, 0, 0, 84, 368, 2, 145, 383, 2, 91, 272, 2, 196, 345, 2, 0, 0, 0, 0, 0, 0, 168, 204, 1, 151, 256, 1], "image_id": 101191, "bbox": [64.44, 198.13, 143.31, 198.13], "category_id": 1, "id": 100534}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 215, 1, 181, 224, 1], "image_id": 100501, "bbox": [164.23, 214.55, 30.5, 66.76], "category_id": 1, "id": 100539}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [388, 218, 2, 300, 218, 2, 410, 293, 2, 283, 285, 2, 400, 342, 2, 284, 329, 2, 366, 360, 2, 316, 360, 2, 363, 465, 2, 322, 465, 2, 0, 0, 0, 0, 0, 0, 334, 138, 1, 341, 209, 1], "image_id": 102105, "bbox": [266.82, 127.01, 156.89, 352.99], "category_id": 1, "id": 100547}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [25, 326, 2, 101, 322, 2, 10, 371, 2, 112, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 249, 1, 59, 307, 1], "image_id": 102160, "bbox": [1.69, 244.51, 119.09, 126.69], "category_id": 1, "id": 100550}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [83, 57, 2, 125, 70, 2, 52, 93, 2, 127, 126, 2, 85, 127, 2, 140, 174, 2, 89, 170, 2, 119, 172, 2, 83, 232, 2, 113, 237, 1, 76, 294, 2, 0, 0, 0, 116, 7, 1, 107, 49, 1], "image_id": 101191, "bbox": [46.45, 5.34, 104.17, 299.99], "category_id": 1, "id": 100578}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [312, 183, 2, 317, 181, 2, 311, 197, 2, 0, 0, 0, 305, 207, 2, 0, 0, 0, 309, 211, 2, 316, 209, 2, 308, 233, 2, 314, 235, 2, 313, 256, 2, 314, 251, 2, 309, 165, 1, 311, 177, 1], "image_id": 101735, "bbox": [295.78, 162.25, 25.84, 103.38], "category_id": 1, "id": 100579}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [180, 352, 2, 256, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 294, 1, 222, 342, 1], "image_id": 102160, "bbox": [140.32, 290.63, 122.2, 84.37], "category_id": 1, "id": 100580}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 23, 51, 2, 0, 0, 0, 6, 94, 2, 0, 0, 0, 27, 126, 2, 0, 139, 2, 24, 139, 2, 10, 217, 2, 48, 222, 2, 5, 282, 2, 24, 292, 2, 0, 0, 0, 15, 33, 1], "image_id": 101191, "bbox": [0, 0, 70.12, 304.5], "category_id": 1, "id": 100605}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 58, 201, 1, 0, 0, 0, 29, 213, 2, 0, 0, 0, 36, 223, 2, 0, 0, 0, 58, 238, 2, 0, 0, 0, 65, 263, 2, 0, 0, 0, 38, 311, 2, 65, 163, 1, 63, 191, 1], "image_id": 101018, "bbox": [22.63, 158.21, 66.97, 171.69], "category_id": 1, "id": 100608}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [272, 106, 2, 287, 102, 2, 270, 115, 2, 294, 117, 2, 0, 0, 0, 296, 126, 2, 276, 128, 2, 287, 128, 2, 278, 145, 2, 287, 144, 2, 277, 165, 2, 287, 164, 2, 277, 88, 1, 279, 97, 1], "image_id": 101018, "bbox": [265.98, 86.75, 32.83, 85.26], "category_id": 1, "id": 100622}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 210, 1, 30, 217, 1], "image_id": 100501, "bbox": [24.39, 211.57, 11.38, 25.14], "category_id": 1, "id": 100626}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 150, 1, 391, 161, 1], "image_id": 101190, "bbox": [382.19, 148.52, 20.07, 20.59], "category_id": 1, "id": 100628}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102160, "bbox": [291.11, 249.53, 43.58, 48.06], "category_id": 1, "id": 100638}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 120, 1, 12, 132, 1], "image_id": 101190, "bbox": [0, 118.89, 22.55, 39.43], "category_id": 1, "id": 100666}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 165, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100942, "bbox": [427.01, 93.79, 212.99, 220.38], "category_id": 1, "id": 100668}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [611, 153, 2, 621, 152, 2, 609, 170, 2, 0, 0, 0, 607, 185, 2, 0, 0, 0, 608, 193, 2, 618, 192, 2, 607, 213, 2, 614, 214, 2, 605, 235, 2, 613, 235, 2, 603, 117, 1, 611, 148, 1], "image_id": 102297, "bbox": [591.53, 131.39, 38.15, 111.54], "category_id": 1, "id": 100680}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [324, 298, 2, 406, 327, 1, 270, 347, 2, 0, 0, 0, 299, 361, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 236, 1, 376, 286, 1], "image_id": 102160, "bbox": [262.08, 229.21, 153.37, 140.73], "category_id": 1, "id": 100682}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [401, 189, 2, 416, 181, 2, 0, 0, 0, 426, 191, 2, 0, 0, 0, 425, 182, 1, 408, 209, 2, 421, 206, 2, 411, 234, 1, 420, 235, 1, 0, 0, 0, 0, 0, 0, 411, 161, 1, 410, 174, 1], "image_id": 100942, "bbox": [398.3, 157.05, 32.64, 79.18], "category_id": 1, "id": 100683}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [175, 66, 2, 205, 66, 2, 169, 108, 2, 203, 97, 2, 152, 99, 2, 167, 97, 2, 175, 135, 2, 197, 135, 2, 172, 184, 2, 185, 184, 2, 172, 237, 1, 183, 235, 1, 178, 20, 1, 183, 50, 1], "image_id": 101191, "bbox": [140.92, 12.43, 70.55, 205.25], "category_id": 1, "id": 100685}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101190, "bbox": [301.55, 145.32, 10.58, 11.55], "category_id": 1, "id": 100696}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [372, 338, 2, 451, 344, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 264, 1, 412, 319, 1], "image_id": 102160, "bbox": [358.11, 257.18, 104.73, 109.8], "category_id": 1, "id": 100703}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [30, 149, 2, 36, 150, 2, 47, 145, 2, 51, 150, 2, 55, 139, 1, 57, 139, 1, 38, 184, 2, 42, 184, 2, 38, 206, 2, 43, 209, 2, 32, 229, 2, 38, 232, 2, 32, 127, 1, 34, 143, 1], "image_id": 102297, "bbox": [22.7, 127.55, 32.43, 113.49], "category_id": 1, "id": 100709}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [239, 58, 2, 218, 60, 2, 0, 0, 0, 214, 84, 2, 0, 0, 0, 215, 112, 1, 234, 104, 1, 222, 103, 1, 233, 144, 2, 221, 142, 2, 228, 178, 2, 214, 181, 2, 233, 23, 1, 228, 48, 1], "image_id": 101191, "bbox": [205.48, 19.47, 39.81, 178.01], "category_id": 1, "id": 100726}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 142, 1, 93, 161, 1], "image_id": 102297, "bbox": [75.8, 143.52, 24.95, 74.16], "category_id": 1, "id": 100736}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [155, 94, 2, 177, 93, 2, 144, 113, 2, 186, 105, 1, 141, 113, 2, 182, 113, 2, 163, 118, 2, 173, 117, 2, 150, 133, 2, 179, 132, 1, 151, 152, 2, 181, 149, 2, 161, 76, 1, 164, 88, 1], "image_id": 101018, "bbox": [135.37, 74.67, 52.55, 87.68], "category_id": 1, "id": 100759}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 206, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 208, 2, 0, 0, 0, 175, 239, 1, 0, 0, 0, 0, 0, 0, 215, 175, 1, 209, 185, 1], "image_id": 100942, "bbox": [157.6, 171.64, 62.01, 57.83], "category_id": 1, "id": 100774}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [491, 227, 2, 0, 0, 0, 489, 265, 2, 0, 0, 0, 491, 295, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102160, "bbox": [475.51, 184.97, 24.49, 128.37], "category_id": 1, "id": 100777}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 10, 1, 575, 20, 1], "image_id": 101191, "bbox": [558.36, 9.26, 27.27, 72.16], "category_id": 1, "id": 100791}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [116, 285, 2, 201, 289, 2, 84, 316, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 372, 2, 178, 372, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 213, 1, 160, 260, 1], "image_id": 102160, "bbox": [81.56, 206.5, 138.73, 167.32], "category_id": 1, "id": 100808}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 83, 1, 263, 90, 1], "image_id": 101018, "bbox": [255.87, 83.9, 17.49, 27.03], "category_id": 1, "id": 100810}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 22, 1, 270, 44, 1], "image_id": 101191, "bbox": [243.68, 17.47, 36.3, 56.62], "category_id": 1, "id": 100825}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 65, 1, 518, 77, 1], "image_id": 101191, "bbox": [499.17, 59.63, 38.47, 42.32], "category_id": 1, "id": 100845}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [214, 27, 2, 193, 27, 2, 223, 36, 2, 189, 41, 1, 222, 42, 2, 199, 46, 2, 218, 46, 2, 206, 47, 2, 231, 47, 2, 214, 51, 2, 222, 70, 2, 218, 73, 2, 205, 9, 1, 204, 24, 1], "image_id": 102160, "bbox": [186.43, 9.7, 47.89, 69.05], "category_id": 1, "id": 100847}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [401, 59, 2, 432, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 154, 1, 425, 153, 2, 383, 206, 2, 414, 207, 2, 384, 266, 2, 420, 260, 1, 392, 5, 1, 405, 41, 1], "image_id": 101191, "bbox": [357.04, 0, 81.81, 284.15], "category_id": 1, "id": 100848}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 221, 1, 0, 0, 0], "image_id": 100942, "bbox": [84.01, 221.69, 22.03, 32.42], "category_id": 1, "id": 100857}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 628, 66, 2, 0, 0, 0, 609, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 162, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101191, "bbox": [586.01, 1.42, 53.99, 215.92], "category_id": 1, "id": 100900}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [258, 59, 1, 305, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 157, 2, 292, 160, 2, 260, 216, 1, 289, 219, 2, 0, 0, 0, 287, 277, 1, 298, 9, 1, 282, 43, 1], "image_id": 101191, "bbox": [245.94, 3.98, 78.08, 241.47], "category_id": 1, "id": 100903}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 80, 1, 233, 90, 1], "image_id": 101018, "bbox": [221.21, 80.4, 31.39, 28.13], "category_id": 1, "id": 100921}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [361, 182, 2, 348, 182, 1, 364, 194, 2, 0, 0, 0, 349, 195, 2, 0, 0, 0, 357, 204, 2, 347, 204, 2, 357, 218, 2, 349, 219, 2, 360, 234, 2, 354, 235, 2, 354, 168, 1, 355, 178, 1], "image_id": 101735, "bbox": [338.9, 170.02, 29.83, 72.3], "category_id": 1, "id": 100928}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 183, 1, 283, 189, 1], "image_id": 101735, "bbox": [273.1, 181.88, 21.67, 47.85], "category_id": 1, "id": 100937}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102160, "bbox": [309.55, 217.87, 61.26, 65.34], "category_id": 1, "id": 100940}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [206, 213, 2, 185, 216, 2, 214, 225, 2, 0, 0, 0, 211, 239, 2, 0, 0, 0, 204, 247, 2, 190, 248, 2, 202, 275, 1, 190, 276, 1, 0, 0, 0, 0, 0, 0, 196, 194, 1, 195, 209, 1], "image_id": 101735, "bbox": [176.07, 193.15, 44.49, 77.32], "category_id": 1, "id": 100941}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [262, 215, 2, 275, 214, 2, 270, 244, 2, 0, 0, 0, 261, 260, 2, 0, 0, 0, 265, 266, 2, 275, 265, 2, 265, 303, 2, 273, 299, 2, 268, 336, 2, 275, 328, 2, 259, 185, 1, 262, 206, 1], "image_id": 101735, "bbox": [243.54, 182.42, 39.16, 166.18], "category_id": 1, "id": 100968}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [76, 288, 2, 41, 292, 2, 95, 309, 2, 38, 327, 2, 82, 330, 1, 0, 0, 0, 76, 349, 1, 53, 351, 2, 56, 397, 2, 76, 392, 2, 0, 0, 0, 89, 421, 2, 51, 252, 1, 57, 280, 1], "image_id": 101735, "bbox": [32.64, 246.68, 68.99, 178.32], "category_id": 1, "id": 100973}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 196, 1], "image_id": 101735, "bbox": [110.62, 179.73, 29.19, 51.53], "category_id": 1, "id": 100983}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 79, 1, 220, 88, 1], "image_id": 101018, "bbox": [210.97, 77.32, 16.38, 21.25], "category_id": 1, "id": 100984}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101735, "bbox": [341.16, 174.08, 9.39, 11], "category_id": 1, "id": 100985}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 247, 1, 104, 258, 1], "image_id": 102467, "bbox": [94.04, 248.52, 10.55, 32.63], "category_id": 1, "id": 100988}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 107, 1, 593, 125, 1], "image_id": 101186, "bbox": [558.59, 104.91, 44.41, 64.07], "category_id": 1, "id": 100993}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [118, 14, 2, 105, 15, 2, 99, 31, 2, 0, 0, 0, 101, 9, 2, 0, 0, 0, 117, 60, 2, 103, 59, 2, 100, 90, 2, 111, 91, 2, 115, 122, 2, 119, 126, 2, 0, 0, 0, 111, 9, 1], "image_id": 101934, "bbox": [92.97, 0, 35.45, 141.25], "category_id": 1, "id": 101002}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [386, 226, 2, 347, 219, 2, 0, 0, 0, 0, 0, 0, 243, 327, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 372, 2, 157, 368, 2, 311, 390, 2, 0, 0, 0, 365, 128, 1, 370, 200, 1], "image_id": 101801, "bbox": [152.98, 105.57, 264.59, 301.53], "category_id": 1, "id": 101003}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [245, 256, 2, 285, 257, 2, 231, 289, 2, 287, 286, 2, 0, 0, 0, 0, 0, 0, 248, 299, 2, 274, 300, 2, 243, 350, 2, 265, 350, 2, 238, 384, 2, 267, 382, 2, 257, 209, 1, 263, 245, 1], "image_id": 101191, "bbox": [224.91, 191.77, 72.83, 200.39], "category_id": 1, "id": 101012}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 232, 1, 589, 241, 1], "image_id": 100501, "bbox": [574.75, 231.39, 24.35, 56.89], "category_id": 1, "id": 101023}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [155, 287, 1, 149, 253, 1, 164, 349, 1, 110, 302, 1, 196, 392, 1, 125, 350, 2, 0, 0, 0, 0, 0, 0, 93, 362, 1, 131, 327, 2, 0, 0, 0, 134, 414, 2, 0, 0, 0, 0, 0, 0], "image_id": 101192, "bbox": [107.87, 303.46, 76.22, 133.75], "category_id": 1, "id": 101039}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [110, 255, 2, 143, 251, 2, 104, 280, 2, 155, 276, 2, 101, 297, 2, 166, 298, 2, 121, 303, 2, 142, 303, 2, 121, 340, 2, 141, 340, 2, 123, 364, 2, 137, 376, 2, 121, 226, 1, 125, 242, 1], "image_id": 102467, "bbox": [96.51, 223.7, 78.99, 165.04], "category_id": 1, "id": 101048}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 49, 253, 1, 0, 0, 0, 60, 296, 1, 0, 0, 0, 62, 336, 1, 13, 351, 2, 48, 349, 2, 17, 400, 2, 42, 410, 2, 0, 0, 0, 0, 0, 0, 11, 201, 1, 14, 236, 1], "image_id": 102467, "bbox": [2.25, 195.27, 62.51, 231.73], "category_id": 1, "id": 101051}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 148, 1, 458, 156, 1], "image_id": 101735, "bbox": [447.01, 139.03, 21.89, 40.9], "category_id": 1, "id": 101053}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [43, 251, 1, 79, 250, 2, 0, 0, 0, 84, 274, 2, 0, 0, 0, 0, 0, 0, 47, 287, 1, 73, 286, 2, 0, 0, 0, 74, 333, 1, 0, 0, 0, 71, 377, 2, 59, 217, 1, 60, 239, 1], "image_id": 102467, "bbox": [48.49, 217.88, 38.54, 165.16], "category_id": 1, "id": 101073}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [107, 164, 2, 91, 164, 2, 106, 187, 2, 80, 180, 2, 97, 201, 2, 73, 192, 2, 117, 191, 2, 102, 196, 2, 108, 214, 2, 95, 218, 2, 118, 242, 2, 96, 242, 1, 92, 145, 1, 98, 160, 1], "image_id": 101190, "bbox": [71.33, 138.37, 63.8, 117.09], "category_id": 1, "id": 101074}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 83, 1, 195, 95, 1], "image_id": 101018, "bbox": [182.64, 80.67, 25.37, 39.21], "category_id": 1, "id": 101076}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 78, 1, 291, 84, 1], "image_id": 101018, "bbox": [285.34, 77.31, 14.99, 43.32], "category_id": 1, "id": 101080}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [374, 273, 1, 228, 246, 2, 0, 0, 0, 183, 353, 2, 0, 0, 0, 236, 337, 2, 313, 473, 2, 223, 461, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 149, 1, 306, 243, 1], "image_id": 102297, "bbox": [170.25, 137.51, 190.5, 338.13], "category_id": 1, "id": 101093}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [402, 0, 1, 376, 1, 1, 404, 19, 2, 366, 28, 2, 420, 31, 2, 0, 0, 0, 398, 40, 1, 379, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101934, "bbox": [361.75, 0.69, 66.25, 48.77], "category_id": 1, "id": 101097}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [248, 103, 1, 253, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 170, 2, 261, 167, 2, 251, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 70, 1, 245, 92, 1], "image_id": 100065, "bbox": [233.49, 68.57, 39.8, 137.29], "category_id": 1, "id": 101098}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 433, 1, 8, 539, 1], "image_id": 101192, "bbox": [1.58, 415.84, 80.8, 215.45], "category_id": 1, "id": 101103}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101934, "bbox": [72.1, 14.93, 28.91, 42.55], "category_id": 1, "id": 101104}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [548, 152, 2, 542, 150, 2, 544, 173, 2, 0, 0, 0, 527, 166, 2, 0, 0, 0, 552, 196, 2, 546, 192, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 126, 1, 543, 145, 1], "image_id": 101735, "bbox": [508.74, 118.02, 58.15, 162.7], "category_id": 1, "id": 101111}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 73, 1, 202, 80, 1], "image_id": 101018, "bbox": [196.91, 73.74, 11.65, 23.47], "category_id": 1, "id": 101114}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [156, 274, 2, 200, 269, 2, 153, 320, 2, 208, 313, 2, 129, 336, 2, 0, 0, 0, 173, 349, 2, 200, 339, 2, 156, 410, 2, 200, 406, 2, 0, 0, 0, 0, 0, 0, 169, 225, 1, 172, 258, 1], "image_id": 101735, "bbox": [112.28, 218.27, 108.09, 201.48], "category_id": 1, "id": 101115}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [412, 175, 2, 0, 0, 0, 402, 241, 2, 0, 0, 0, 396, 282, 1, 0, 0, 0, 412, 259, 2, 0, 0, 0, 401, 367, 2, 0, 0, 0, 385, 436, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100065, "bbox": [372.94, 115.36, 68.06, 350.81], "category_id": 1, "id": 101120}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [449, 257, 2, 359, 276, 2, 463, 374, 2, 0, 0, 0, 419, 453, 2, 0, 0, 0, 444, 472, 2, 380, 473, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 152, 1, 403, 231, 1], "image_id": 102297, "bbox": [340.17, 143.61, 171.28, 337.39], "category_id": 1, "id": 101122}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 244, 1, 85, 253, 1], "image_id": 102467, "bbox": [80.08, 243.75, 15.06, 68.3], "category_id": 1, "id": 101124}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [544, 194, 2, 564, 190, 2, 0, 0, 0, 593, 206, 2, 0, 0, 0, 585, 182, 2, 555, 242, 2, 574, 240, 2, 557, 281, 2, 571, 283, 2, 548, 321, 2, 575, 321, 2, 563, 158, 1, 560, 184, 1], "image_id": 102297, "bbox": [535.27, 168.18, 63.24, 167.96], "category_id": 1, "id": 101125}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102297, "bbox": [545.53, 144.06, 25.66, 16.11], "category_id": 1, "id": 101127}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102297, "bbox": [0, 152.05, 9.56, 69.16], "category_id": 1, "id": 101132}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [493, 150, 2, 512, 150, 2, 0, 0, 0, 517, 169, 2, 0, 0, 0, 527, 185, 1, 495, 185, 2, 510, 185, 2, 496, 212, 2, 509, 211, 2, 493, 236, 1, 506, 237, 2, 502, 128, 1, 502, 142, 1], "image_id": 102297, "bbox": [486.6, 128.48, 42.29, 116.81], "category_id": 1, "id": 101133}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102297, "bbox": [84.42, 225.32, 24.69, 49.37], "category_id": 1, "id": 101134}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [156, 184, 2, 146, 184, 2, 162, 194, 1, 141, 182, 2, 162, 189, 2, 151, 175, 2, 155, 210, 2, 147, 211, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 145, 1, 144, 163, 1], "image_id": 100942, "bbox": [132.03, 143.1, 44.65, 144.58], "category_id": 1, "id": 101137}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101190, "bbox": [15.05, 135.88, 10.64, 19.05], "category_id": 1, "id": 101143}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101934, "bbox": [415.37, 0, 12.63, 112.87], "category_id": 1, "id": 101171}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 137, 1, 507, 153, 1], "image_id": 101735, "bbox": [488.76, 131.02, 33.84, 56.49], "category_id": 1, "id": 101174}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 154, 1], "image_id": 101735, "bbox": [473.26, 135.94, 27.07, 49.21], "category_id": 1, "id": 101175}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101186, "bbox": [416.94, 96.33, 6.49, 18.56], "category_id": 1, "id": 101182}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101186, "bbox": [594.88, 282.14, 45.12, 41.46], "category_id": 1, "id": 101190}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [370, 45, 2, 342, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 76, 1, 340, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 12, 1, 354, 35, 1], "image_id": 101191, "bbox": [338.49, 6.3, 45.23, 50.45], "category_id": 1, "id": 101193}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 235, 1, 305, 245, 1], "image_id": 100501, "bbox": [286.61, 233.44, 24.57, 32.21], "category_id": 1, "id": 101194}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 169, 1, 189, 186, 1], "image_id": 100942, "bbox": [176.1, 151.25, 25.26, 129.65], "category_id": 1, "id": 101205}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100942, "bbox": [389.4, 161.91, 11.29, 27.82], "category_id": 1, "id": 101208}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 191, 1, 465, 203, 1], "image_id": 100942, "bbox": [450.23, 191.57, 21.15, 43.94], "category_id": 1, "id": 101214}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [23, 82, 2, 64, 80, 2, 9, 116, 2, 72, 121, 2, 22, 134, 2, 72, 151, 2, 31, 139, 2, 58, 139, 2, 29, 201, 1, 57, 201, 2, 32, 241, 2, 55, 242, 2, 35, 43, 1, 38, 66, 1], "image_id": 100065, "bbox": [1.55, 41.76, 76.27, 201.88], "category_id": 1, "id": 101231}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 10, 1], "image_id": 102160, "bbox": [349.19, 0, 35.61, 29.47], "category_id": 1, "id": 101236}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [278, 195, 2, 283, 201, 2, 0, 0, 0, 317, 199, 2, 0, 0, 0, 370, 171, 2, 266, 300, 2, 277, 308, 2, 261, 367, 2, 273, 381, 2, 0, 0, 0, 0, 0, 0, 311, 138, 1, 293, 179, 1], "image_id": 101675, "bbox": [238.3, 130.42, 169.3, 289.83], "category_id": 1, "id": 101269}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [102, 280, 2, 213, 262, 2, 76, 358, 2, 235, 328, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 415, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 180, 1, 154, 244, 1], "image_id": 101675, "bbox": [63.85, 167.93, 178.8, 253.6], "category_id": 1, "id": 101272}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [206, 166, 1, 240, 166, 2, 0, 0, 0, 274, 189, 2, 0, 0, 0, 306, 185, 2, 207, 228, 1, 229, 227, 2, 0, 0, 0, 292, 270, 2, 0, 0, 0, 229, 277, 2, 257, 128, 1, 245, 153, 1], "image_id": 102420, "bbox": [192.81, 122.65, 133.94, 197.31], "category_id": 1, "id": 101273}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [251, 194, 2, 222, 195, 2, 259, 208, 1, 214, 218, 2, 253, 218, 2, 226, 227, 2, 248, 242, 2, 229, 243, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 169, 1, 236, 190, 1], "image_id": 101675, "bbox": [208.18, 167.89, 52.26, 95.65], "category_id": 1, "id": 101318}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [381, 293, 2, 359, 289, 2, 351, 321, 2, 322, 314, 1, 350, 285, 2, 0, 0, 0, 334, 345, 1, 326, 338, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 247, 1, 366, 282, 1], "image_id": 102358, "bbox": [321.55, 245.19, 71.29, 105.49], "category_id": 1, "id": 101320}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [236, 286, 2, 304, 288, 2, 200, 320, 2, 0, 0, 0, 221, 278, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 219, 1, 263, 265, 1], "image_id": 102358, "bbox": [189.63, 217.04, 127.05, 157.78], "category_id": 1, "id": 101372}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [145, 186, 2, 149, 196, 2, 0, 0, 0, 176, 201, 2, 0, 0, 0, 194, 224, 2, 198, 134, 2, 206, 144, 2, 279, 148, 2, 278, 153, 2, 315, 184, 1, 312, 189, 1, 126, 226, 1, 137, 191, 1], "image_id": 102420, "bbox": [104.65, 118.88, 196.76, 127.86], "category_id": 1, "id": 101393}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [453, 169, 2, 409, 177, 2, 476, 173, 2, 0, 0, 0, 501, 183, 2, 0, 0, 0, 404, 129, 2, 380, 124, 2, 341, 142, 2, 323, 139, 2, 283, 183, 1, 267, 176, 1, 478, 159, 1, 449, 161, 1], "image_id": 102420, "bbox": [290.63, 117.79, 239.28, 81.13], "category_id": 1, "id": 101403}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [369, 158, 1, 331, 164, 1, 353, 194, 2, 0, 0, 0, 322, 204, 2, 0, 0, 0, 379, 225, 2, 343, 223, 2, 329, 234, 2, 299, 228, 1, 329, 300, 2, 0, 0, 0, 344, 115, 1, 350, 149, 1], "image_id": 102420, "bbox": [288.2, 111.68, 110.13, 209.97], "category_id": 1, "id": 101430}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [519, 276, 2, 500, 270, 2, 535, 289, 2, 0, 0, 0, 559, 308, 2, 0, 0, 0, 486, 241, 2, 470, 220, 2, 443, 234, 2, 425, 221, 2, 381, 268, 2, 376, 236, 1, 0, 0, 0, 519, 273, 1], "image_id": 102420, "bbox": [363.34, 217.69, 220.26, 106.02], "category_id": 1, "id": 101432}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [149, 270, 2, 120, 272, 2, 159, 298, 2, 104, 302, 2, 159, 311, 2, 0, 0, 0, 147, 320, 2, 121, 323, 2, 0, 0, 0, 152, 316, 2, 0, 0, 0, 0, 0, 0, 141, 250, 1, 136, 268, 1], "image_id": 102358, "bbox": [97.94, 243.64, 72.61, 107.47], "category_id": 1, "id": 101454}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [214, 273, 2, 181, 272, 2, 220, 284, 1, 166, 291, 1, 211, 270, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 241, 1, 197, 268, 1], "image_id": 102358, "bbox": [180.25, 237.9, 37.78, 74.82], "category_id": 1, "id": 101465}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [313, 278, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 243, 1, 295, 271, 1], "image_id": 102358, "bbox": [282.33, 240.12, 48.59, 90.6], "category_id": 1, "id": 101469}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 205, 1, 344, 218, 1], "image_id": 100949, "bbox": [335.9, 203.91, 24.47, 47.09], "category_id": 1, "id": 101507}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [366, 222, 2, 390, 219, 2, 359, 238, 2, 402, 238, 2, 362, 220, 2, 411, 249, 2, 368, 269, 2, 385, 267, 2, 370, 300, 2, 385, 300, 1, 0, 0, 0, 0, 0, 0, 372, 200, 1, 376, 212, 1], "image_id": 100949, "bbox": [353.34, 199.92, 68.37, 103.58], "category_id": 1, "id": 101510}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [152, 145, 1, 105, 152, 2, 209, 180, 2, 107, 204, 2, 0, 0, 0, 148, 198, 2, 154, 237, 1, 120, 240, 2, 160, 305, 1, 133, 313, 2, 141, 369, 2, 125, 385, 2, 121, 88, 1, 128, 133, 1], "image_id": 100571, "bbox": [84.37, 89.45, 132.14, 323.24], "category_id": 1, "id": 101518}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [208, 287, 2, 169, 288, 2, 210, 325, 2, 171, 320, 2, 182, 345, 2, 170, 338, 2, 207, 349, 2, 176, 348, 2, 169, 364, 2, 146, 364, 2, 192, 419, 2, 165, 421, 2, 174, 241, 1, 186, 276, 1], "image_id": 100573, "bbox": [130.49, 236.74, 90.65, 205.91], "category_id": 1, "id": 101523}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [230, 133, 2, 178, 118, 2, 213, 184, 2, 166, 166, 2, 224, 229, 2, 200, 119, 2, 201, 252, 2, 144, 234, 2, 163, 351, 2, 116, 335, 2, 132, 427, 2, 85, 420, 2, 217, 49, 1, 202, 109, 1], "image_id": 102218, "bbox": [34.59, 41.62, 212.66, 429.19], "category_id": 1, "id": 101524}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [110, 102, 1, 146, 118, 2, 77, 139, 2, 109, 159, 2, 0, 0, 0, 149, 152, 2, 73, 196, 2, 95, 201, 2, 53, 258, 2, 78, 264, 2, 33, 331, 2, 59, 337, 2, 175, 83, 1, 148, 103, 1], "image_id": 102218, "bbox": [23.73, 72.27, 158.56, 295.55], "category_id": 1, "id": 101525}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [102, 67, 2, 83, 92, 2, 0, 0, 0, 104, 111, 2, 122, 76, 2, 116, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 42, 1, 83, 69, 1], "image_id": 101199, "bbox": [57.17, 40.48, 82.47, 71.2], "category_id": 1, "id": 101536}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [164, 264, 2, 120, 267, 2, 181, 301, 1, 108, 307, 2, 205, 312, 1, 110, 328, 2, 158, 329, 1, 123, 330, 2, 132, 359, 2, 91, 337, 2, 101, 408, 2, 93, 395, 2, 143, 222, 1, 143, 260, 1], "image_id": 100573, "bbox": [58.6, 216.76, 118.19, 224.12], "category_id": 1, "id": 101542}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 30, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 43, 1, 27, 70, 1], "image_id": 102218, "bbox": [0.02, 34.64, 50.53, 161.54], "category_id": 1, "id": 101565}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 153, 1, 283, 162, 1], "image_id": 102217, "bbox": [274.46, 153.1, 18.36, 75.66], "category_id": 1, "id": 101567}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [363, 231, 2, 400, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 301, 2, 383, 303, 2, 382, 321, 2, 407, 311, 2, 383, 375, 2, 407, 358, 2, 387, 199, 1, 382, 225, 1], "image_id": 102217, "bbox": [348.5, 200.85, 76.04, 187.23], "category_id": 1, "id": 101570}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [480, 178, 2, 427, 178, 2, 493, 225, 2, 419, 220, 2, 449, 261, 1, 417, 247, 1, 467, 263, 1, 431, 265, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 122, 1, 453, 164, 1], "image_id": 101806, "bbox": [415.42, 123.87, 82.9, 135.29], "category_id": 1, "id": 101575}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [263, 158, 2, 258, 160, 2, 260, 172, 2, 0, 0, 0, 252, 181, 2, 0, 0, 0, 262, 185, 2, 256, 185, 2, 269, 203, 2, 251, 205, 2, 279, 219, 2, 244, 220, 2, 251, 150, 1, 258, 156, 1], "image_id": 102217, "bbox": [233.41, 144.22, 48.06, 83.39], "category_id": 1, "id": 101578}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [247, 165, 2, 196, 170, 2, 0, 0, 0, 183, 221, 2, 0, 0, 0, 189, 268, 1, 242, 263, 2, 208, 267, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 106, 1, 220, 151, 1], "image_id": 101806, "bbox": [173.24, 102.17, 89.97, 194.3], "category_id": 1, "id": 101586}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 449, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 151, 1, 0, 0, 0], "image_id": 102218, "bbox": [263.15, 113.72, 253.49, 366.28], "category_id": 1, "id": 101592}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101199, "bbox": [94.06, 50.56, 43.68, 24.84], "category_id": 1, "id": 101619}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [169, 168, 2, 110, 168, 2, 0, 0, 0, 93, 225, 2, 0, 0, 0, 95, 269, 2, 169, 257, 2, 124, 259, 2, 172, 323, 1, 126, 325, 1, 0, 0, 0, 0, 0, 0, 136, 110, 1, 140, 154, 1], "image_id": 101806, "bbox": [85.89, 105.06, 92.8, 215.29], "category_id": 1, "id": 101620}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 78, 165, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 203, 1, 82, 204, 2, 101, 235, 1, 87, 236, 2, 105, 273, 2, 87, 271, 2, 91, 137, 1, 88, 158, 1], "image_id": 100571, "bbox": [75.36, 135.17, 32.96, 148.74], "category_id": 1, "id": 101621}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [406, 179, 2, 349, 179, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 253, 2, 361, 253, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 119, 1, 375, 162, 1], "image_id": 101806, "bbox": [343.73, 114.03, 77.57, 179.83], "category_id": 1, "id": 101622}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [328, 152, 2, 272, 156, 2, 340, 205, 2, 262, 206, 2, 341, 247, 2, 262, 253, 2, 326, 269, 2, 285, 271, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 93, 1, 300, 140, 1], "image_id": 101806, "bbox": [254.4, 95.34, 94.33, 199.14], "category_id": 1, "id": 101623}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 11, 136, 2, 0, 0, 0, 32, 147, 2, 28, 164, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101199, "bbox": [0, 121.09, 47.6, 63.35], "category_id": 1, "id": 101625}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100573, "bbox": [185.78, 226.52, 7.57, 7.75], "category_id": 1, "id": 101632}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 120, 1, 0, 0, 0], "image_id": 100571, "bbox": [52.12, 120.25, 16.38, 71.05], "category_id": 1, "id": 101637}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [35, 168, 2, 8, 168, 2, 35, 195, 2, 30, 177, 2, 49, 213, 2, 45, 163, 2, 40, 221, 2, 24, 224, 2, 36, 258, 2, 24, 261, 2, 34, 290, 2, 23, 297, 2, 27, 133, 1, 23, 159, 1], "image_id": 100571, "bbox": [4.85, 130.03, 55.9, 188.24], "category_id": 1, "id": 101638}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [270, 118, 2, 273, 106, 2, 278, 159, 2, 0, 0, 0, 268, 187, 2, 0, 0, 0, 314, 147, 2, 321, 137, 2, 297, 204, 2, 0, 0, 0, 302, 256, 2, 0, 0, 0, 237, 96, 1, 262, 110, 1], "image_id": 101807, "bbox": [233.52, 87.74, 113.21, 180.58], "category_id": 1, "id": 101649}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 232, 1], "image_id": 102358, "bbox": [51.56, 226.69, 8.21, 22.77], "category_id": 1, "id": 101659}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [78, 207, 2, 6, 203, 2, 91, 248, 2, 0, 0, 0, 81, 264, 2, 0, 0, 0, 58, 289, 2, 22, 291, 2, 66, 344, 1, 36, 332, 2, 80, 404, 1, 60, 387, 2, 36, 150, 1, 38, 193, 1], "image_id": 101675, "bbox": [0, 141.68, 103.39, 272.83], "category_id": 1, "id": 101665}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 220, 1, 112, 227, 1], "image_id": 102358, "bbox": [108.02, 220.44, 9.23, 13.84], "category_id": 1, "id": 101703}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101199, "bbox": [28.88, 35.18, 28.48, 29.6], "category_id": 1, "id": 101708}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [423, 83, 2, 399, 82, 2, 429, 93, 2, 394, 96, 2, 422, 92, 2, 404, 88, 2, 420, 118, 2, 401, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 64, 1, 411, 79, 1], "image_id": 101807, "bbox": [389.07, 61.37, 44.61, 60.5], "category_id": 1, "id": 101733}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [134, 192, 1, 98, 197, 2, 0, 0, 0, 113, 244, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 161, 1, 114, 190, 1], "image_id": 101675, "bbox": [90.39, 157.1, 40.47, 94.55], "category_id": 1, "id": 101737}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 156, 1, 246, 175, 1], "image_id": 101675, "bbox": [237.41, 155.08, 24.89, 45], "category_id": 1, "id": 101787}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [41, 64, 2, 6, 65, 2, 50, 83, 2, 16, 89, 2, 30, 81, 2, 37, 89, 2, 40, 115, 2, 19, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 27, 1, 22, 55, 1], "image_id": 101807, "bbox": [0, 23.35, 57.2, 119.09], "category_id": 1, "id": 101789}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [82, 159, 2, 54, 163, 2, 94, 174, 2, 44, 184, 2, 91, 184, 1, 69, 188, 2, 87, 214, 2, 65, 217, 2, 92, 248, 1, 73, 251, 2, 99, 280, 1, 78, 277, 2, 65, 128, 1, 66, 152, 1], "image_id": 101806, "bbox": [38.11, 125.77, 59.08, 175.32], "category_id": 1, "id": 101845}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [418, 139, 2, 419, 137, 2, 413, 159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 178, 1, 423, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 127, 1, 413, 138, 1], "image_id": 101806, "bbox": [394.87, 120.45, 38.67, 57.59], "category_id": 1, "id": 101865}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [207, 178, 2, 198, 181, 2, 0, 0, 0, 195, 201, 2, 0, 0, 0, 210, 199, 2, 212, 216, 1, 205, 220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 159, 1, 204, 174, 1], "image_id": 101675, "bbox": [184.83, 156.98, 37.87, 87.37], "category_id": 1, "id": 101934}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 161, 1, 0, 0, 0], "image_id": 101675, "bbox": [259, 162.38, 9.98, 18.28], "category_id": 1, "id": 101967}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 149, 1, 9, 161, 1], "image_id": 101675, "bbox": [0, 148.59, 18.42, 36.79], "category_id": 1, "id": 101991}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [288, 77, 2, 268, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 54, 1, 282, 72, 1], "image_id": 101807, "bbox": [259.95, 52.88, 33.62, 47.32], "category_id": 1, "id": 102075}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 58, 1, 267, 66, 1], "image_id": 101807, "bbox": [259.56, 57.87, 14.32, 23.07], "category_id": 1, "id": 102104}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [209, 78, 2, 185, 77, 2, 219, 98, 2, 193, 90, 2, 201, 91, 2, 210, 87, 2, 208, 122, 2, 192, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 54, 1, 197, 73, 1], "image_id": 101807, "bbox": [178.65, 55.62, 43.82, 93.54], "category_id": 1, "id": 102111}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [135, 72, 2, 108, 73, 2, 146, 90, 2, 114, 94, 2, 125, 89, 2, 136, 92, 2, 136, 123, 2, 116, 123, 2, 134, 155, 1, 114, 156, 1, 0, 0, 0, 0, 0, 0, 124, 45, 1, 123, 66, 1], "image_id": 101807, "bbox": [97.18, 42.16, 53.41, 108.18], "category_id": 1, "id": 102118}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [254, 78, 2, 231, 77, 2, 0, 0, 0, 226, 100, 2, 0, 0, 0, 239, 98, 1, 253, 118, 1, 235, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 55, 1, 244, 73, 1], "image_id": 101807, "bbox": [223.1, 51.29, 40.42, 76.96], "category_id": 1, "id": 102123}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [450, 74, 2, 431, 71, 2, 460, 87, 2, 415, 81, 1, 450, 92, 2, 426, 73, 2, 443, 111, 1, 428, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 55, 1, 440, 69, 1], "image_id": 101807, "bbox": [419.83, 51.94, 45.23, 66.8], "category_id": 1, "id": 102124}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [479, 79, 2, 466, 79, 2, 472, 89, 2, 0, 0, 0, 464, 83, 2, 467, 93, 2, 473, 110, 2, 470, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 461, 61, 1, 470, 74, 1], "image_id": 101807, "bbox": [454.09, 57.46, 28.59, 54.98], "category_id": 1, "id": 102127}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 60, 1, 84, 67, 1], "image_id": 101807, "bbox": [74.35, 58.94, 22.01, 64.56], "category_id": 1, "id": 102132}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 60, 1, 384, 68, 1], "image_id": 101807, "bbox": [369.78, 60.93, 22.25, 59.45], "category_id": 1, "id": 102135}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [61, 295, 2, 51, 306, 2, 92, 308, 2, 73, 339, 2, 109, 315, 2, 100, 320, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 251, 1, 55, 292, 1], "image_id": 102358, "bbox": [31.39, 250.32, 96.53, 103.62], "category_id": 1, "id": 102149}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101199, "bbox": [44.99, 37.33, 15.78, 20.87], "category_id": 1, "id": 102194}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [51, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 42, 1, 0, 0, 0], "image_id": 101199, "bbox": [6.9, 36.96, 68.08, 51.91], "category_id": 1, "id": 102196}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 119, 1, 0, 0, 0], "image_id": 101806, "bbox": [414.46, 117.77, 21.64, 32.47], "category_id": 1, "id": 102230}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [570, 141, 2, 494, 145, 2, 587, 199, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 247, 2, 511, 249, 2, 555, 320, 2, 516, 321, 2, 550, 394, 2, 521, 382, 1, 527, 77, 1, 527, 128, 1], "image_id": 101806, "bbox": [478.44, 72.24, 120.39, 343.38], "category_id": 1, "id": 102235}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 149, 1, 259, 156, 1], "image_id": 102217, "bbox": [244, 149.23, 31.88, 75.18], "category_id": 1, "id": 102263}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 161, 1, 0, 0, 0], "image_id": 101675, "bbox": [215.42, 159.14, 22.24, 36.22], "category_id": 1, "id": 102285}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101807, "bbox": [291.29, 72.31, 11.35, 26.02], "category_id": 1, "id": 102295}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 186, 2, 0, 0, 0, 72, 225, 1, 0, 0, 0, 119, 281, 2, 0, 0, 0, 0, 0, 0], "image_id": 101199, "bbox": [1.37, 183.16, 139.86, 121.85], "category_id": 1, "id": 102300}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [406, 235, 2, 464, 239, 2, 368, 249, 2, 0, 0, 0, 352, 242, 2, 0, 0, 0, 421, 301, 2, 461, 301, 2, 435, 312, 2, 497, 311, 2, 431, 364, 2, 460, 371, 2, 433, 192, 1, 433, 224, 1], "image_id": 102217, "bbox": [344.99, 201.43, 162.68, 188.02], "category_id": 1, "id": 102339}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [53, 72, 2, 82, 74, 2, 0, 0, 0, 95, 117, 1, 0, 0, 0, 0, 0, 0, 36, 146, 2, 52, 154, 2, 15, 211, 2, 28, 220, 2, 0, 0, 0, 7, 292, 2, 88, 27, 1, 74, 56, 1], "image_id": 102218, "bbox": [0.27, 21.99, 103.66, 277.8], "category_id": 1, "id": 102341}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [24, 66, 2, 5, 93, 2, 63, 89, 2, 30, 114, 2, 91, 110, 2, 54, 130, 1, 71, 126, 1, 54, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 79, 1], "image_id": 101199, "bbox": [0.11, 44.47, 105, 102.51], "category_id": 1, "id": 102351}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100573, "bbox": [213.63, 234.6, 10.03, 25.16], "category_id": 1, "id": 102373}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100573, "bbox": [222.95, 232.54, 7.25, 26.15], "category_id": 1, "id": 102383}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [98, 378, 2, 77, 382, 2, 106, 394, 2, 76, 401, 2, 106, 409, 2, 80, 413, 2, 105, 415, 2, 85, 417, 2, 107, 444, 2, 88, 448, 2, 112, 471, 2, 86, 473, 2, 80, 358, 1, 87, 375, 1], "image_id": 102362, "bbox": [68.64, 354.73, 50.13, 125.33], "category_id": 1, "id": 102395}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [613, 54, 2, 600, 53, 2, 625, 158, 2, 601, 148, 2, 568, 167, 2, 563, 162, 2, 624, 211, 2, 634, 210, 2, 571, 328, 2, 639, 328, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 38, 1], "image_id": 100124, "bbox": [524.97, 0.3, 115.03, 427.7], "category_id": 1, "id": 102400}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [51, 260, 2, 99, 254, 2, 41, 301, 2, 119, 290, 2, 45, 333, 2, 97, 298, 2, 69, 346, 2, 105, 342, 2, 77, 404, 2, 108, 399, 2, 89, 464, 2, 119, 458, 2, 58, 208, 1, 67, 239, 1], "image_id": 101425, "bbox": [33.72, 203.71, 102.57, 281.23], "category_id": 1, "id": 102401}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [547, 241, 2, 555, 242, 2, 0, 0, 0, 554, 258, 2, 0, 0, 0, 558, 271, 2, 548, 267, 2, 556, 268, 2, 561, 288, 2, 551, 291, 2, 559, 311, 2, 551, 313, 2, 554, 224, 1, 552, 236, 1], "image_id": 102221, "bbox": [542.42, 223.26, 23.41, 94.44], "category_id": 1, "id": 102403}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 346, 1, 0, 0, 0], "image_id": 102362, "bbox": [90.33, 346.83, 17.07, 29.15], "category_id": 1, "id": 102417}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 15, 280, 2, 0, 0, 0, 29, 323, 2, 0, 0, 0, 40, 354, 2, 0, 0, 0, 15, 351, 2, 4, 408, 2, 28, 403, 2, 0, 0, 0, 33, 456, 2, 15, 245, 1, 4, 268, 1], "image_id": 101425, "bbox": [0, 240.18, 57.83, 231.62], "category_id": 1, "id": 102426}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [394, 567, 2, 417, 567, 2, 388, 590, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 601, 1, 415, 602, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 543, 1, 410, 558, 1], "image_id": 101744, "bbox": [386.86, 541.92, 45.84, 52.45], "category_id": 1, "id": 102448}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [59, 376, 2, 47, 378, 2, 0, 0, 0, 48, 398, 2, 0, 0, 0, 58, 413, 2, 66, 424, 2, 55, 425, 2, 64, 454, 2, 51, 453, 2, 63, 480, 2, 49, 482, 2, 53, 351, 1, 51, 370, 1], "image_id": 102362, "bbox": [37.07, 349.64, 45.7, 141.12], "category_id": 1, "id": 102449}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [474, 82, 2, 383, 79, 1, 484, 153, 1, 352, 123, 1, 407, 172, 1, 379, 152, 1, 453, 211, 2, 385, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100180, "bbox": [365.68, 77.23, 126.52, 171.45], "category_id": 1, "id": 102451}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [577, 251, 2, 566, 251, 2, 574, 265, 2, 0, 0, 0, 566, 258, 2, 0, 0, 0, 575, 277, 2, 567, 277, 2, 580, 300, 2, 571, 301, 2, 582, 322, 2, 573, 322, 2, 574, 230, 1, 574, 243, 1], "image_id": 102221, "bbox": [562.85, 228.92, 28.01, 101.06], "category_id": 1, "id": 102461}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [227, 280, 2, 265, 280, 2, 225, 311, 2, 272, 314, 2, 234, 327, 2, 276, 333, 1, 238, 331, 2, 259, 330, 2, 241, 372, 2, 259, 372, 2, 243, 410, 2, 257, 411, 2, 246, 251, 1, 246, 269, 1], "image_id": 102363, "bbox": [216.65, 251.5, 63.39, 162.72], "category_id": 1, "id": 102462}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 233, 1, 17, 240, 1], "image_id": 102221, "bbox": [4.86, 233.51, 22.23, 56.07], "category_id": 1, "id": 102465}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [227, 282, 2, 179, 302, 2, 247, 322, 1, 210, 343, 2, 0, 0, 0, 245, 356, 1, 221, 384, 2, 191, 385, 2, 214, 457, 2, 187, 464, 2, 206, 518, 2, 182, 521, 2, 193, 230, 1, 195, 279, 1], "image_id": 100503, "bbox": [161.2, 218.1, 110.27, 325.46], "category_id": 1, "id": 102474}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [32, 371, 1, 17, 377, 1, 36, 383, 1, 16, 401, 1, 0, 0, 0, 0, 0, 0, 30, 415, 2, 19, 417, 1, 27, 448, 2, 19, 449, 1, 0, 0, 0, 0, 0, 0, 18, 353, 1, 20, 370, 1], "image_id": 102362, "bbox": [6.55, 352.63, 36.34, 128.11], "category_id": 1, "id": 102481}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [604, 243, 2, 600, 244, 2, 606, 258, 2, 0, 0, 0, 600, 273, 2, 0, 0, 0, 606, 274, 2, 603, 274, 2, 608, 299, 1, 604, 300, 1, 611, 322, 2, 605, 323, 2, 592, 224, 1, 600, 237, 1], "image_id": 102221, "bbox": [587.88, 222.98, 32.87, 112.9], "category_id": 1, "id": 102493}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [11, 371, 2, 0, 0, 0, 19, 394, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 432, 2, 0, 0, 0, 10, 465, 2, 0, 0, 0, 14, 486, 2, 2, 487, 2, 0, 0, 0, -1, 366, 1], "image_id": 102362, "bbox": [0, 347.75, 23.89, 150.53], "category_id": 1, "id": 102509}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [230, 333, 1, 209, 333, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 367, 1, 213, 368, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 311, 1, 218, 326, 1], "image_id": 102362, "bbox": [199.51, 312.4, 30.45, 55.17], "category_id": 1, "id": 102540}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [550, 249, 2, 553, 246, 2, 546, 258, 2, 0, 0, 0, 540, 254, 1, 0, 0, 0, 551, 271, 2, 548, 270, 2, 551, 291, 2, 543, 293, 2, 554, 309, 2, 545, 307, 2, 546, 235, 1, 548, 244, 1], "image_id": 101945, "bbox": [539.01, 233.43, 23.29, 82.79], "category_id": 1, "id": 102557}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [520, 246, 2, 540, 248, 2, 515, 247, 2, 0, 0, 0, 519, 239, 2, 0, 0, 0, 526, 274, 2, 536, 275, 2, 528, 293, 2, 538, 294, 2, 530, 315, 2, 538, 313, 2, 532, 232, 1, 530, 243, 1], "image_id": 101945, "bbox": [511.32, 229.84, 32.52, 93.07], "category_id": 1, "id": 102562}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [169, 304, 1, 107, 304, 2, 167, 337, 1, 93, 328, 2, 151, 353, 2, 112, 359, 2, 156, 374, 2, 124, 376, 2, 155, 425, 2, 125, 431, 2, 147, 478, 2, 130, 483, 2, 146, 252, 1, 140, 293, 1], "image_id": 102524, "bbox": [73.94, 234.27, 103.68, 260.75], "category_id": 1, "id": 102569}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101873, "bbox": [479.82, 140.35, 20.18, 36.2], "category_id": 1, "id": 102581}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [432, 314, 2, 459, 291, 2, 452, 371, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 372, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 219, 1, 437, 284, 1], "image_id": 101873, "bbox": [395.27, 200.17, 104.73, 173.99], "category_id": 1, "id": 102588}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [493, 239, 2, 465, 228, 1, 496, 265, 2, 0, 0, 0, 496, 288, 1, 0, 0, 0, 494, 290, 1, 478, 287, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 193, 1, 478, 226, 1], "image_id": 101873, "bbox": [457.4, 187.56, 42.6, 86.07], "category_id": 1, "id": 102663}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [446, 175, 2, 428, 170, 2, 461, 186, 2, 424, 187, 2, 453, 205, 2, 423, 206, 1, 440, 207, 1, 427, 205, 1, 438, 237, 1, 426, 234, 1, 0, 0, 0, 0, 0, 0, 438, 149, 1, 436, 169, 1], "image_id": 101873, "bbox": [413.03, 142.96, 50.79, 65.56], "category_id": 1, "id": 102671}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 142, 1, 0, 0, 0], "image_id": 101873, "bbox": [460.45, 143.18, 26.37, 32.35], "category_id": 1, "id": 102672}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [347, 330, 2, 329, 329, 1, 353, 340, 1, 0, 0, 0, 346, 346, 2, 0, 0, 0, 345, 362, 2, 329, 362, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 305, 1, 338, 324, 1], "image_id": 102362, "bbox": [326.55, 305.28, 27.51, 63.44], "category_id": 1, "id": 102685}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [568, 296, 2, 580, 292, 2, 567, 314, 2, 0, 0, 0, 564, 329, 2, 0, 0, 0, 573, 331, 2, 580, 328, 2, 567, 359, 2, 577, 359, 2, 565, 384, 2, 577, 385, 2, 572, 271, 1, 573, 286, 1], "image_id": 101424, "bbox": [548.78, 270.2, 39.1, 129.31], "category_id": 1, "id": 102708}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [174, 364, 2, 144, 425, 1, 0, 0, 0, 0, 0, 0, 290, 411, 2, 268, 448, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 226, 1, 148, 359, 1], "image_id": 101206, "bbox": [43.24, 191.89, 303.79, 280], "category_id": 1, "id": 102719}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 196, 1, 0, 0, 0], "image_id": 101206, "bbox": [469.19, 186.49, 86.49, 102.7], "category_id": 1, "id": 102730}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 218, 1, 371, 231, 1], "image_id": 102221, "bbox": [353.17, 217.3, 34.93, 45.93], "category_id": 1, "id": 102740}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 165, 1, 124, 172, 1], "image_id": 102524, "bbox": [114.63, 164.99, 19.35, 50.51], "category_id": 1, "id": 102744}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [381, 80, 1, 482, 81, 2, 350, 118, 1, 491, 157, 2, 386, 161, 2, 420, 173, 2, 386, 215, 1, 439, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100180, "bbox": [348.58, 79, 150.23, 170.42], "category_id": 1, "id": 102773}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101425, "bbox": [22.36, 258.38, 14.16, 40.87], "category_id": 1, "id": 102779}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [180, 131, 2, 198, 120, 2, 175, 152, 1, 171, 141, 2, 173, 176, 1, 158, 166, 2, 184, 182, 2, 197, 171, 2, 230, 195, 2, 243, 182, 2, 250, 230, 2, 262, 223, 2, 210, 103, 1, 200, 120, 1], "image_id": 101293, "bbox": [157.38, 102.09, 115.35, 141.83], "category_id": 1, "id": 102787}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 306, 1, 204, 313, 1], "image_id": 101293, "bbox": [189.91, 305.04, 24.61, 62.91], "category_id": 1, "id": 102791}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101206, "bbox": [448.72, 266.43, 183.37, 209.26], "category_id": 1, "id": 102812}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [265, 471, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 456, 1], "image_id": 101206, "bbox": [241.62, 318.2, 216.81, 156.41], "category_id": 1, "id": 102817}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102221, "bbox": [583.21, 221.52, 6.86, 30.34], "category_id": 1, "id": 102822}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102221, "bbox": [629.35, 230.35, 10.65, 57.65], "category_id": 1, "id": 102826}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [546, 284, 2, 570, 283, 1, 536, 308, 2, 0, 0, 0, 531, 323, 2, 0, 0, 0, 551, 324, 2, 570, 322, 1, 552, 352, 2, 564, 350, 1, 556, 385, 2, 565, 380, 1, 556, 262, 1, 555, 277, 1], "image_id": 101424, "bbox": [523.36, 258.89, 45.1, 133.78], "category_id": 1, "id": 102831}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 310, 1, 232, 319, 1], "image_id": 101293, "bbox": [222.94, 309.87, 26.02, 54.93], "category_id": 1, "id": 102844}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [170, 232, 1, 44, 219, 1, 0, 0, 0, 14, 353, 1, 0, 0, 0, 62, 294, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 121, 1, 108, 209, 1], "image_id": 101206, "bbox": [1.83, 114.42, 156.79, 230.1], "category_id": 1, "id": 102851}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [509, 288, 2, 528, 288, 2, 505, 304, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 324, 2, 526, 324, 1, 513, 354, 2, 523, 354, 1, 515, 380, 2, 523, 380, 2, 516, 267, 1, 517, 278, 1], "image_id": 101424, "bbox": [500.89, 265.69, 31.13, 123.14], "category_id": 1, "id": 102856}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101424, "bbox": [610.07, 255.19, 11.02, 28.27], "category_id": 1, "id": 102871}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [489, 104, 1, 433, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, 42, 1, 0, 0, 0], "image_id": 101206, "bbox": [434.7, 36.67, 60.4, 75.51], "category_id": 1, "id": 102891}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [87, 364, 2, 0, 0, 0, 59, 391, 2, 0, 0, 0, 42, 387, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 322, 1, 86, 351, 1], "image_id": 101293, "bbox": [34.52, 314.53, 57.52, 89.17], "category_id": 1, "id": 102905}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [496, 253, 2, 308, 245, 2, 0, 0, 0, 285, 352, 1, 0, 0, 0, 357, 280, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 102, 1, 401, 226, 1], "image_id": 101206, "bbox": [265.05, 78.16, 256.06, 271.04], "category_id": 1, "id": 102908}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [630, 282, 2, 630, 275, 2, 629, 307, 2, 0, 0, 0, 623, 323, 2, 0, 0, 0, 627, 327, 2, 0, 0, 0, 625, 355, 2, 0, 0, 0, 629, 391, 2, 0, 0, 0, 622, 254, 1, 626, 271, 1], "image_id": 101424, "bbox": [610.68, 248.13, 29.32, 152.97], "category_id": 1, "id": 102916}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [149, 144, 2, 139, 127, 2, 0, 0, 0, 133, 154, 1, 0, 0, 0, 0, 0, 0, 144, 164, 1, 138, 162, 1, 172, 149, 1, 162, 139, 2, 160, 169, 1, 154, 163, 1, 161, 113, 1, 148, 129, 1], "image_id": 101293, "bbox": [125.26, 109.76, 52.25, 76.36], "category_id": 1, "id": 102917}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101424, "bbox": [550.77, 245.31, 19.09, 24.29], "category_id": 1, "id": 102921}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101424, "bbox": [530.79, 274.45, 9, 20.7], "category_id": 1, "id": 102928}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [221, 204, 2, 137, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 115, 1, 180, 183, 1], "image_id": 101206, "bbox": [148.85, 99.51, 80.9, 136.98], "category_id": 1, "id": 102932}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 377, 1, 257, 400, 1], "image_id": 101293, "bbox": [246.14, 376.99, 16.49, 42.03], "category_id": 1, "id": 102939}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [609, 298, 2, 603, 297, 2, 611, 320, 1, 0, 0, 0, 599, 329, 2, 0, 0, 0, 605, 343, 2, 603, 343, 2, 606, 371, 2, 604, 371, 2, 606, 391, 2, 604, 391, 2, 602, 268, 1, 604, 288, 1], "image_id": 101424, "bbox": [590.24, 271.12, 28.31, 128.47], "category_id": 1, "id": 102943}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 104, 1, 0, 0, 0], "image_id": 101206, "bbox": [207.1, 103.37, 62.56, 121.89], "category_id": 1, "id": 102950}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [269, 435, 2, 0, 0, 0, 243, 442, 2, 0, 0, 0, 245, 424, 2, 0, 0, 0, 267, 475, 2, 0, 0, 0, 239, 445, 2, 0, 0, 0, 243, 479, 2, 0, 0, 0, 263, 407, 1, 266, 427, 1], "image_id": 101293, "bbox": [224.27, 404.68, 52.86, 88.38], "category_id": 1, "id": 102978}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101424, "bbox": [597.18, 262.67, 14.89, 10.35], "category_id": 1, "id": 102987}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101424, "bbox": [500.71, 266.48, 6.8, 14.03], "category_id": 1, "id": 102989}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [306, 150, 1, 328, 151, 1, 289, 164, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 196, 1, 323, 197, 2, 297, 227, 2, 320, 230, 2, 289, 264, 2, 322, 267, 1, 0, 0, 0, 311, 147, 1], "image_id": 100503, "bbox": [282.68, 154.54, 50.8, 115.65], "category_id": 1, "id": 103054}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [288, 117, 2, 266, 143, 2, 302, 133, 2, 268, 164, 2, 283, 133, 2, 281, 178, 1, 319, 159, 2, 301, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 108, 1, 268, 121, 1], "image_id": 101293, "bbox": [239.75, 97.71, 88.79, 73.81], "category_id": 1, "id": 103062}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [455, 188, 1, 480, 191, 1, 440, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 155, 1, 462, 179, 1], "image_id": 101873, "bbox": [439.41, 153.78, 48.11, 58.31], "category_id": 1, "id": 103073}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [578, 90, 2, 499, 91, 2, 594, 172, 2, 0, 0, 0, 577, 227, 2, 0, 0, 0, 561, 226, 2, 502, 224, 1, 0, 0, 0, 515, 324, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 75, 1], "image_id": 100180, "bbox": [490.59, 73.68, 122.6, 168.49], "category_id": 1, "id": 103079}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [253, 336, 1, 227, 336, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 372, 1, 231, 373, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 311, 1, 241, 331, 1], "image_id": 102362, "bbox": [222.88, 308.43, 46.8, 63.49], "category_id": 1, "id": 103097}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [472, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101206, "bbox": [431.97, 104.43, 44.12, 121.69], "category_id": 1, "id": 103098}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 161, 443, 2, 0, 0, 0, 166, 476, 2, 180, 456, 2, 192, 471, 2, 180, 463, 2, 180, 471, 2, 203, 443, 2, 209, 477, 2, 201, 473, 2, 199, 493, 2, 162, 413, 1, 157, 434, 1], "image_id": 101293, "bbox": [156.1, 406.22, 57.83, 93.89], "category_id": 1, "id": 103104}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [637, 208, 2, 546, 184, 2, 634, 280, 1, 512, 249, 1, 586, 216, 2, 507, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 81, 1, 611, 178, 1], "image_id": 101206, "bbox": [487.11, 59.06, 152.89, 195.56], "category_id": 1, "id": 103106}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [250, 251, 2, 195, 247, 2, 266, 301, 2, 182, 295, 2, 247, 344, 2, 184, 337, 2, 238, 321, 2, 199, 317, 2, 235, 408, 2, 196, 406, 2, 240, 476, 2, 192, 484, 2, 213, 188, 1, 224, 234, 1], "image_id": 102524, "bbox": [152.56, 164.8, 124.98, 343.07], "category_id": 1, "id": 103107}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101873, "bbox": [456.07, 170.63, 43.93, 63.87], "category_id": 1, "id": 103120}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 356, 1, 117, 371, 1], "image_id": 102362, "bbox": [106.23, 352.64, 17.17, 59.06], "category_id": 1, "id": 103122}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 131, 379, 2, 0, 0, 0, 144, 393, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 414, 2, 0, 0, 0, 135, 443, 2, 127, 470, 2, 130, 473, 2, 129, 351, 1, 129, 370, 1], "image_id": 102362, "bbox": [117.61, 350.56, 32.08, 133.07], "category_id": 1, "id": 103126}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [166, 377, 2, 150, 376, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 354, 1, 159, 367, 1], "image_id": 102362, "bbox": [141.41, 350.68, 30.19, 118.55], "category_id": 1, "id": 103136}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [401, 588, 2, 437, 588, 2, 396, 611, 1, 446, 601, 2, 0, 0, 0, 0, 0, 0, 408, 634, 1, 435, 634, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 560, 1, 417, 581, 1], "image_id": 101744, "bbox": [397.73, 557.72, 57.41, 70.05], "category_id": 1, "id": 103157}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101206, "bbox": [594.31, 27.98, 45.69, 48.53], "category_id": 1, "id": 103192}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101206, "bbox": [191.29, 52.62, 37.74, 51.31], "category_id": 1, "id": 103216}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 308, 1, 216, 315, 1], "image_id": 101293, "bbox": [209.68, 306.78, 16.36, 56.67], "category_id": 1, "id": 103220}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [354, 249, 2, 294, 257, 2, 410, 246, 2, 283, 300, 1, 367, 254, 2, 249, 286, 1, 349, 330, 1, 304, 334, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 178, 1, 326, 240, 1], "image_id": 100180, "bbox": [234.64, 168.75, 191.87, 112.12], "category_id": 1, "id": 103227}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [369, 285, 2, 387, 284, 2, 360, 420, 2, 0, 0, 0, 297, 457, 2, 339, 299, 2, 347, 548, 2, 353, 550, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 141, 1, 389, 240, 1], "image_id": 100503, "bbox": [203.04, 124.21, 222.96, 515.33], "category_id": 1, "id": 103231}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [357, 213, 2, 286, 207, 2, 357, 269, 2, 274, 267, 2, 0, 0, 0, 0, 0, 0, 333, 307, 2, 294, 302, 2, 331, 390, 2, 286, 393, 2, 326, 467, 2, 278, 467, 2, 323, 131, 1, 323, 191, 1], "image_id": 102524, "bbox": [254.68, 119.23, 112.45, 380.36], "category_id": 1, "id": 103237}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100503, "bbox": [349.28, 243.16, 76.72, 49.35], "category_id": 1, "id": 103239}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 394, 351, 2, 0, 0, 0, 421, 389, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 405, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 334, 1, 399, 347, 1], "image_id": 101293, "bbox": [348.66, 321.71, 78.34, 71.82], "category_id": 1, "id": 103246}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [614, 237, 2, 620, 235, 2, 0, 0, 0, 623, 245, 2, 0, 0, 0, 628, 245, 2, 613, 263, 1, 620, 263, 2, 615, 284, 2, 619, 284, 2, 617, 303, 2, 621, 306, 2, 618, 217, 1, 616, 229, 1], "image_id": 102221, "bbox": [610.55, 216.47, 21.21, 108.67], "category_id": 1, "id": 103257}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 114, 1, 440, 129, 1], "image_id": 102221, "bbox": [425.48, 111.01, 27.92, 23.32], "category_id": 1, "id": 103258}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 216, 1, 418, 231, 1], "image_id": 102221, "bbox": [409.2, 215.42, 17.85, 30.04], "category_id": 1, "id": 103259}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [259, 262, 2, 387, 259, 1, 217, 359, 2, 424, 371, 2, 204, 407, 1, 0, 0, 0, 285, 464, 2, 376, 462, 2, 261, 563, 2, 358, 593, 2, 0, 0, 0, 0, 0, 0, 317, 151, 1, 317, 229, 1], "image_id": 101882, "bbox": [193.47, 141.45, 244.8, 458.7], "category_id": 1, "id": 103274}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [476, 124, 2, 408, 127, 2, 478, 183, 2, 413, 202, 2, 425, 205, 2, 385, 234, 2, 458, 246, 2, 471, 259, 2, 409, 325, 2, 443, 363, 2, 408, 441, 2, 509, 440, 2, 421, 33, 1, 434, 100, 1], "image_id": 102179, "bbox": [342.86, 23.18, 198.32, 449.4], "category_id": 1, "id": 103279}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [341, 173, 2, 412, 185, 2, 318, 220, 2, 0, 0, 0, 286, 223, 2, 0, 0, 0, 351, 277, 2, 401, 283, 2, 312, 327, 2, 401, 359, 2, 304, 417, 2, 393, 444, 2, 390, 122, 1, 382, 155, 1], "image_id": 101882, "bbox": [268.95, 139.96, 168.78, 337.56], "category_id": 1, "id": 103288}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [87, 351, 2, 62, 349, 2, 90, 377, 2, 55, 376, 2, 94, 373, 2, 74, 370, 2, 84, 392, 2, 72, 394, 2, 90, 417, 1, 72, 419, 1, 0, 0, 0, 0, 0, 0, 73, 323, 1, 73, 342, 1], "image_id": 102179, "bbox": [48.32, 311.8, 62.13, 102.4], "category_id": 1, "id": 103307}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [179, 189, 2, 221, 191, 2, 172, 214, 2, 230, 225, 2, 155, 203, 2, 0, 0, 0, 192, 254, 1, 220, 252, 1, 250, 223, 1, 263, 225, 2, 0, 0, 0, 278, 268, 2, 200, 150, 1, 200, 177, 1], "image_id": 100587, "bbox": [148.81, 146.81, 150.52, 129.6], "category_id": 1, "id": 103308}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [138, 221, 2, 118, 221, 2, 144, 229, 2, 109, 230, 2, 130, 234, 2, 119, 235, 1, 135, 245, 1, 120, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 201, 1, 128, 219, 1], "image_id": 102179, "bbox": [104.7, 196.75, 46.02, 46.02], "category_id": 1, "id": 103314}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [163, 191, 2, 185, 191, 2, 150, 197, 2, 195, 199, 2, 163, 207, 2, 188, 207, 2, 166, 226, 2, 183, 227, 2, 169, 253, 2, 181, 252, 2, 171, 281, 2, 179, 282, 2, 176, 173, 1, 175, 184, 1], "image_id": 102122, "bbox": [147.59, 170.52, 50.88, 118.2], "category_id": 1, "id": 103322}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [57, 208, 2, 33, 209, 1, 59, 228, 2, 31, 227, 2, 46, 239, 2, 35, 237, 2, 54, 233, 2, 39, 233, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 189, 1, 46, 207, 1], "image_id": 102179, "bbox": [30.08, 187.91, 37.74, 53.91], "category_id": 1, "id": 103326}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [127, 175, 2, 113, 177, 2, 0, 0, 0, 109, 191, 2, 0, 0, 0, 110, 202, 2, 126, 197, 2, 114, 198, 2, 125, 220, 2, 119, 221, 1, 122, 234, 1, 120, 239, 1, 118, 159, 1, 119, 171, 1], "image_id": 102122, "bbox": [106.35, 161.21, 30.28, 59.18], "category_id": 1, "id": 103327}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [359, 187, 2, 334, 188, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 159, 1, 344, 182, 1], "image_id": 100587, "bbox": [315.09, 158.62, 49.76, 46.95], "category_id": 1, "id": 103334}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [430, 150, 2, 392, 160, 2, 433, 176, 2, 393, 187, 2, 406, 184, 2, 410, 194, 2, 432, 200, 2, 410, 202, 2, 448, 209, 2, 395, 205, 2, 428, 241, 2, 413, 237, 2, 406, 126, 1, 408, 149, 1], "image_id": 100587, "bbox": [386.48, 122.72, 69.55, 137.56], "category_id": 1, "id": 103339}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [82, 182, 2, 79, 183, 2, 0, 0, 0, 69, 193, 2, 0, 0, 0, 74, 203, 2, 84, 208, 2, 79, 208, 2, 86, 232, 2, 75, 233, 2, 87, 251, 2, 68, 250, 2, 82, 167, 1, 81, 178, 1], "image_id": 102122, "bbox": [63.02, 166.3, 33.45, 93.94], "category_id": 1, "id": 103343}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [66, 174, 2, 50, 170, 2, 68, 188, 2, 42, 184, 2, 71, 200, 1, 57, 182, 2, 61, 202, 2, 51, 202, 2, 58, 224, 2, 52, 226, 2, 54, 250, 2, 60, 244, 2, 65, 156, 1, 60, 168, 1], "image_id": 102122, "bbox": [40.37, 152.87, 33.31, 103.97], "category_id": 1, "id": 103351}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 166, 1, 297, 171, 1], "image_id": 102122, "bbox": [287.01, 165.07, 19.84, 64.48], "category_id": 1, "id": 103353}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [632, 133, 2, 0, 0, 0, 613, 160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 225, 2, 0, 0, 0, 619, 311, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100587, "bbox": [611.97, 119.95, 27.31, 207.58], "category_id": 1, "id": 103360}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [361, 185, 2, 418, 182, 1, 349, 242, 2, 0, 0, 0, 348, 285, 2, 0, 0, 0, 375, 280, 2, 413, 279, 1, 381, 360, 2, 418, 357, 1, 386, 424, 2, 423, 427, 2, 393, 126, 1, 391, 165, 1], "image_id": 102179, "bbox": [331.23, 121.44, 117.71, 322.74], "category_id": 1, "id": 103365}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [185, 209, 1, 152, 217, 2, 204, 225, 1, 160, 248, 2, 233, 223, 1, 184, 245, 2, 204, 253, 2, 176, 264, 2, 248, 226, 1, 211, 241, 1, 245, 295, 1, 224, 300, 2, 163, 177, 1, 163, 205, 1], "image_id": 100587, "bbox": [137.38, 174.15, 118.32, 153.13], "category_id": 1, "id": 103382}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 28, 2, 404, 30, 2, 367, 57, 2, 402, 70, 2, 0, 0, 0, 0, 0, 0], "image_id": 102178, "bbox": [354.12, 0.1, 75.8, 78.76], "category_id": 1, "id": 103469}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 243, 2, 238, 212, 1, 292, 276, 2, 207, 244, 1, 283, 275, 2, 219, 221, 1, 235, 305, 2, 203, 289, 2, 222, 376, 2, 187, 346, 2, 208, 462, 2, 167, 415, 2, 307, 194, 1, 278, 218, 1], "image_id": 101953, "bbox": [110.74, 187.06, 205.66, 316.41], "category_id": 1, "id": 103480}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [528, 559, 2, 283, 455, 2, 0, 0, 0, 88, 503, 2, 0, 0, 0, 132, 326, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 69, 1, 427, 408, 1], "image_id": 102227, "bbox": [30.25, 30.63, 581.61, 581.37], "category_id": 1, "id": 103492}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [259, 316, 2, 191, 323, 2, 279, 347, 2, 188, 377, 2, 273, 378, 2, 226, 397, 2, 245, 400, 2, 194, 401, 2, 241, 463, 2, 191, 472, 2, 235, 542, 2, 204, 519, 2, 229, 271, 1, 226, 308, 1], "image_id": 102369, "bbox": [175.5, 264.46, 109.26, 294.12], "category_id": 1, "id": 103505}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [346, 55, 2, 333, 55, 2, 0, 0, 0, 334, 83, 2, 0, 0, 0, 341, 102, 2, 348, 100, 2, 336, 102, 2, 341, 136, 2, 335, 136, 2, 340, 162, 1, 335, 169, 1, 338, 29, 1, 337, 50, 1], "image_id": 100584, "bbox": [316.68, 26.33, 36.28, 128.95], "category_id": 1, "id": 103512}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 202, 1, 218, 215, 1], "image_id": 102227, "bbox": [198.39, 201.03, 39.41, 52.15], "category_id": 1, "id": 103519}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 46, 40, 2, 0, 0, 0, 71, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 199, 2, 0, 0, 0, 32, 297, 2, 0, 0, 0, 28, 358, 1, 0, 0, 0, 9, 11, 1], "image_id": 101686, "bbox": [0, 0, 88.77, 348.06], "category_id": 1, "id": 103523}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [374, 60, 2, 400, 59, 2, 365, 83, 2, 403, 81, 2, 0, 0, 0, 0, 0, 0, 376, 108, 2, 396, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 30, 1, 383, 49, 1], "image_id": 100584, "bbox": [358.69, 29.82, 49.55, 120.67], "category_id": 1, "id": 103546}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [320, 260, 2, 466, 257, 2, 301, 392, 2, 467, 348, 1, 294, 370, 2, 457, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 127, 1, 395, 222, 1], "image_id": 101306, "bbox": [275.68, 109.6, 221.11, 311.09], "category_id": 1, "id": 103558}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [47, 223, 2, 71, 224, 2, 45, 237, 2, 73, 240, 2, 0, 0, 0, 0, 0, 0, 52, 259, 2, 66, 261, 2, 47, 284, 2, 74, 283, 2, 37, 308, 2, 76, 303, 2, 60, 198, 1, 59, 215, 1], "image_id": 102227, "bbox": [31.31, 199.65, 59.83, 118.73], "category_id": 1, "id": 103564}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [523, 198, 2, 247, 157, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, 400, 2, 307, 402, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 21, 1, 361, 171, 1], "image_id": 101816, "bbox": [0.29, 1.48, 589.72, 426.52], "category_id": 1, "id": 103573}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [337, 283, 2, 161, 253, 1, 384, 431, 2, 44, 375, 2, 221, 393, 2, 100, 409, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 121, 1, 260, 242, 1], "image_id": 100386, "bbox": [35.6, 94.74, 368.89, 369.98], "category_id": 1, "id": 103579}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [423, 237, 2, 307, 220, 1, 446, 353, 2, 0, 0, 0, 360, 336, 2, 0, 0, 0, 399, 421, 2, 306, 418, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, 124, 1, 371, 207, 1], "image_id": 100018, "bbox": [296.21, 102.9, 171.18, 324.1], "category_id": 1, "id": 103582}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 11, 2, 362, 50, 1, 212, 145, 2, 274, 194, 1, 0, 0, 0, 0, 0, 0], "image_id": 102006, "bbox": [154.3, 0, 201.61, 191.08], "category_id": 1, "id": 103625}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [534, 298, 2, 352, 335, 1, 631, 393, 2, 0, 0, 0, 499, 431, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 176, 1, 435, 297, 1], "image_id": 100386, "bbox": [352.72, 163.96, 287.28, 307.41], "category_id": 1, "id": 103632}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [4, 364, 1, 134, 361, 2, 0, 0, 0, 178, 457, 2, 0, 0, 0, 169, 391, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 329, 1], "image_id": 101113, "bbox": [2.01, 282.95, 214.69, 190.05], "category_id": 1, "id": 103678}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [204, 60, 2, 180, 59, 2, 206, 73, 2, 179, 74, 2, 0, 0, 0, 187, 69, 2, 200, 92, 1, 184, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 36, 1, 191, 54, 1], "image_id": 100584, "bbox": [174.42, 35.3, 34.29, 58.05], "category_id": 1, "id": 103681}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [319, 133, 2, 251, 130, 2, 334, 180, 2, 0, 0, 0, 391, 205, 1, 0, 0, 0, 300, 242, 2, 262, 242, 1, 309, 332, 2, 0, 0, 0, 322, 426, 2, 0, 0, 0, 290, 55, 1, 281, 112, 1], "image_id": 101035, "bbox": [234.69, 46.97, 156.56, 400.48], "category_id": 1, "id": 103687}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [325, 168, 2, 393, 147, 1, 305, 260, 1, 0, 0, 0, 290, 323, 1, 0, 0, 0, 343, 309, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 71, 1, 337, 136, 1], "image_id": 101306, "bbox": [282.7, 61.12, 90.73, 202.48], "category_id": 1, "id": 103689}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [169, 239, 2, 93, 240, 2, 184, 277, 2, 132, 290, 2, 218, 305, 2, 158, 240, 2, 156, 350, 1, 103, 354, 2, 109, 427, 1, 161, 415, 1, 0, 0, 0, 0, 0, 0, 130, 133, 1, 130, 220, 1], "image_id": 100386, "bbox": [56.09, 116.31, 186.61, 363.51], "category_id": 1, "id": 103694}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [284, 258, 1, 35, 283, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 66, 1, 148, 230, 1], "image_id": 101816, "bbox": [0, 53.86, 281.81, 374.14], "category_id": 1, "id": 103697}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [299, 255, 2, 257, 204, 2, 293, 309, 2, 245, 136, 2, 275, 347, 2, 233, 80, 2, 249, 342, 2, 208, 327, 2, 252, 469, 2, 173, 438, 2, 253, 570, 2, 143, 529, 2, 329, 193, 1, 285, 221, 1], "image_id": 100243, "bbox": [129.44, 35.96, 212.85, 581.03], "category_id": 1, "id": 103702}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [204, 163, 2, 55, 155, 2, 287, 208, 2, 130, 196, 2, 330, 261, 2, 271, 198, 2, 220, 338, 1, 115, 359, 2, 372, 371, 1, 248, 409, 2, 340, 578, 1, 216, 604, 2, 143, 29, 1, 131, 141, 1], "image_id": 101881, "bbox": [1.44, 11.86, 393.7, 628.14], "category_id": 1, "id": 103716}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [345, 345, 2, 298, 330, 2, 325, 419, 2, 0, 0, 0, 271, 417, 2, 0, 0, 0, 334, 485, 2, 288, 472, 2, 327, 602, 2, 256, 571, 2, 0, 0, 0, 0, 0, 0, 314, 231, 1, 319, 311, 1], "image_id": 100393, "bbox": [218.52, 226.11, 165.5, 413.89], "category_id": 1, "id": 103740}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [68, 363, 2, 53, 366, 2, 68, 380, 2, 54, 385, 1, 53, 395, 2, 51, 397, 2, 70, 401, 2, 55, 401, 1, 71, 420, 2, 48, 420, 2, 85, 438, 2, 47, 442, 1, 57, 346, 1, 60, 360, 1], "image_id": 102369, "bbox": [32.02, 345.44, 56.97, 105.17], "category_id": 1, "id": 103753}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [413, 208, 2, 243, 214, 2, 419, 341, 2, 224, 333, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 59, 1, 330, 174, 1], "image_id": 100967, "bbox": [200.49, 53.74, 267.96, 366.27], "category_id": 1, "id": 103757}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [200, 177, 2, 51, 228, 2, 299, 239, 2, 56, 396, 2, 0, 0, 0, 176, 452, 2, 212, 406, 2, 143, 459, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 30, 1, 127, 175, 1], "image_id": 100888, "bbox": [1.21, 28.02, 368.57, 487], "category_id": 1, "id": 103758}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [179, 105, 2, 100, 105, 2, 180, 155, 1, 90, 154, 2, 180, 199, 1, 85, 199, 2, 155, 202, 2, 109, 203, 2, 154, 272, 2, 107, 272, 2, 155, 336, 2, 109, 340, 2, 134, 41, 1, 137, 88, 1], "image_id": 100774, "bbox": [77.65, 34.09, 111.97, 325.96], "category_id": 1, "id": 103759}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [43, 355, 2, 18, 356, 2, 53, 375, 1, 17, 377, 2, 61, 392, 1, 6, 390, 2, 38, 397, 2, 26, 397, 2, 23, 424, 2, 41, 425, 2, 15, 455, 2, 52, 454, 2, 25, 331, 1, 28, 350, 1], "image_id": 102369, "bbox": [2.88, 327.93, 56.22, 138.38], "category_id": 1, "id": 103767}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [157, 322, 1, 230, 325, 2, 0, 0, 0, 249, 356, 2, 0, 0, 0, 0, 0, 0, 166, 410, 1, 214, 412, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 265, 1, 193, 305, 1], "image_id": 101113, "bbox": [141.77, 265.78, 125.25, 214.14], "category_id": 1, "id": 103769}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [136, 37, 2, 229, 35, 1, 128, 116, 2, 0, 0, 0, 115, 174, 2, 0, 0, 0, 158, 171, 2, 215, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 16, 1], "image_id": 101686, "bbox": [96.6, 0, 114.42, 231.89], "category_id": 1, "id": 103783}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [298, 258, 2, 210, 238, 2, 277, 313, 2, 140, 314, 1, 235, 232, 2, 213, 343, 2, 245, 413, 2, 173, 389, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 163, 1, 265, 228, 1], "image_id": 100018, "bbox": [121.89, 148.02, 197.67, 278.86], "category_id": 1, "id": 103787}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 193, 2, 209, 198, 2, 282, 243, 1, 198, 252, 1, 273, 268, 1, 192, 206, 1, 256, 295, 1, 214, 295, 1, 266, 366, 2, 217, 372, 1, 260, 442, 1, 220, 446, 1, 244, 138, 1, 239, 184, 1], "image_id": 101953, "bbox": [190.05, 125.89, 101.45, 334.64], "category_id": 1, "id": 103811}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [288, 262, 2, 174, 280, 2, 0, 0, 0, 158, 351, 2, 0, 0, 0, 207, 398, 2, 293, 419, 1, 208, 426, 2, 266, 547, 1, 218, 553, 2, 254, 623, 2, 215, 629, 1, 230, 167, 1, 240, 247, 1], "image_id": 100393, "bbox": [143.18, 153.34, 158.92, 478.21], "category_id": 1, "id": 103820}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [311, 126, 2, 237, 125, 2, 327, 169, 2, 222, 163, 2, 315, 219, 2, 226, 208, 2, 296, 228, 2, 247, 225, 2, 297, 290, 2, 244, 292, 2, 294, 363, 2, 242, 356, 2, 275, 59, 1, 273, 108, 1], "image_id": 100774, "bbox": [214.83, 61.12, 128.54, 324.5], "category_id": 1, "id": 103841}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [149, 117, 2, 173, 115, 1, 134, 150, 2, 0, 0, 0, 120, 150, 2, 0, 0, 0, 141, 160, 2, 160, 151, 1, 96, 166, 2, 0, 0, 0, 78, 197, 1, 0, 0, 0, 152, 81, 1, 157, 107, 1], "image_id": 100584, "bbox": [80.32, 76.56, 93.5, 109.33], "category_id": 1, "id": 103866}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [548, 47, 2, 543, 48, 2, 548, 70, 2, 544, 73, 2, 560, 71, 2, 559, 79, 2, 548, 87, 2, 545, 90, 2, 551, 113, 2, 545, 112, 2, 537, 144, 2, 543, 146, 2, 556, 24, 1, 550, 39, 1], "image_id": 100584, "bbox": [531.22, 20.86, 38.73, 131.83], "category_id": 1, "id": 103870}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 107, 2, 309, 108, 2, 393, 162, 2, 303, 152, 1, 388, 215, 2, 310, 199, 1, 381, 214, 2, 328, 214, 1, 379, 286, 2, 320, 285, 2, 376, 352, 2, 313, 348, 2, 350, 50, 1, 350, 98, 1], "image_id": 100774, "bbox": [296.2, 47.51, 105.59, 322.15], "category_id": 1, "id": 103877}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [498, 122, 2, 467, 109, 2, 501, 150, 2, 434, 108, 2, 515, 171, 2, 432, 125, 2, 480, 161, 1, 459, 157, 1, 519, 165, 2, 517, 175, 2, 517, 208, 1, 540, 212, 1, 484, 83, 1, 484, 110, 1], "image_id": 100584, "bbox": [421.18, 81.1, 142.3, 140.54], "category_id": 1, "id": 103881}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [363, 190, 2, 312, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 313, 1, 366, 329, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 95, 1, 338, 174, 1], "image_id": 101881, "bbox": [299.76, 85.78, 99.53, 187.99], "category_id": 1, "id": 103883}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [444, 107, 2, 387, 108, 1, 460, 155, 1, 371, 151, 1, 446, 180, 2, 395, 178, 1, 439, 203, 2, 395, 201, 1, 434, 262, 2, 391, 268, 1, 432, 321, 2, 389, 319, 1, 415, 56, 1, 415, 98, 1], "image_id": 100774, "bbox": [390.76, 44.43, 72.53, 316.42], "category_id": 1, "id": 103890}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [514, 105, 2, 453, 101, 2, 518, 145, 2, 444, 145, 1, 520, 180, 2, 444, 185, 1, 505, 190, 2, 462, 194, 2, 498, 254, 2, 462, 255, 2, 500, 320, 2, 459, 319, 2, 489, 44, 1, 484, 87, 1], "image_id": 100774, "bbox": [443.64, 40.84, 84.98, 296.63], "category_id": 1, "id": 103905}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [600, 217, 2, 451, 209, 1, 620, 365, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 420, 1, 437, 414, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 63, 1, 514, 185, 1], "image_id": 100967, "bbox": [420.28, 55.36, 216.86, 362.71], "category_id": 1, "id": 103907}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [447, 279, 2, 362, 244, 1, 0, 0, 0, 318, 357, 2, 0, 0, 0, 244, 433, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 59, 1, 421, 209, 1], "image_id": 100888, "bbox": [202.67, 50.96, 371.57, 460.09], "category_id": 1, "id": 103911}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [182, 97, 2, 217, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 141, 1, 212, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 74, 1, 200, 89, 1], "image_id": 100584, "bbox": [174.39, 71.53, 52.51, 46.75], "category_id": 1, "id": 103947}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [475, 173, 2, 437, 172, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 124, 1, 460, 164, 1], "image_id": 100967, "bbox": [427.19, 119.55, 53.35, 77.99], "category_id": 1, "id": 103950}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 76, 1, 448, 97, 1], "image_id": 100584, "bbox": [429.18, 75.09, 32.6, 31.62], "category_id": 1, "id": 103967}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [517, 51, 2, 488, 53, 1, 521, 74, 2, 491, 77, 2, 505, 71, 2, 512, 71, 2, 511, 92, 2, 496, 92, 1, 510, 124, 1, 0, 0, 0, 508, 148, 1, 0, 0, 0, 506, 26, 1, 503, 46, 1], "image_id": 100584, "bbox": [485.43, 20.55, 39.29, 126.06], "category_id": 1, "id": 103975}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [40, 164, 2, 9, 168, 2, 52, 185, 2, 6, 191, 2, 41, 188, 2, 23, 191, 2, 40, 214, 2, 13, 217, 2, 40, 247, 1, 23, 250, 1, 0, 0, 0, 0, 0, 0, 34, 135, 1, 28, 161, 1], "image_id": 100967, "bbox": [0.73, 127.1, 59.14, 97.18], "category_id": 1, "id": 103993}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 103, 1, 252, 114, 1], "image_id": 101306, "bbox": [240.88, 103.9, 32.58, 52.3], "category_id": 1, "id": 104005}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [399, 35, 2, 382, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 130, 1, 410, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 26, 1], "image_id": 101686, "bbox": [368.27, 0, 65.74, 130.65], "category_id": 1, "id": 104042}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [446, 52, 2, 421, 55, 2, 0, 0, 0, 415, 73, 1, 444, 68, 2, 427, 80, 2, 442, 90, 1, 429, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 434, 26, 1, 433, 48, 1], "image_id": 101686, "bbox": [415.55, 22.83, 34.85, 67.2], "category_id": 1, "id": 104067}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [377, 322, 2, 490, 330, 2, 335, 399, 2, 0, 0, 0, 361, 443, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 298, 1], "image_id": 101113, "bbox": [326.83, 222.2, 217.89, 252.41], "category_id": 1, "id": 104070}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [612, 352, 2, 0, 0, 0, 597, 382, 2, 0, 0, 0, 597, 411, 1, 0, 0, 0, 614, 409, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, 314, 1, 627, 342, 1], "image_id": 101113, "bbox": [593.26, 304.18, 46.74, 168.27], "category_id": 1, "id": 104082}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [558, 404, 2, 530, 403, 2, 560, 422, 2, 524, 421, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 379, 1, 542, 400, 1], "image_id": 102179, "bbox": [520.41, 380.68, 43.57, 43.57], "category_id": 1, "id": 104126}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [92, 240, 2, 54, 242, 1, 0, 0, 0, 63, 318, 2, 0, 0, 0, 79, 384, 2, 96, 366, 2, 64, 374, 2, 0, 0, 0, 85, 461, 2, 0, 0, 0, 0, 0, 0, 80, 161, 1, 76, 224, 1], "image_id": 102305, "bbox": [26.85, 154.73, 100.94, 318.93], "category_id": 1, "id": 104127}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 434, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101214, "bbox": [369.4, 0.14, 110.6, 188.99], "category_id": 1, "id": 104149}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [133, 114, 2, 101, 116, 2, 151, 182, 2, 118, 195, 2, 159, 234, 2, 154, 235, 2, 135, 240, 2, 112, 243, 2, 119, 329, 2, 96, 337, 2, 0, 0, 0, 0, 0, 0, 135, 33, 1, 116, 91, 1], "image_id": 101690, "bbox": [52.09, 26.58, 120.99, 400.42], "category_id": 1, "id": 104156}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 162, 1, 2, 174, 1], "image_id": 102232, "bbox": [0.01, 161.36, 11.79, 57.75], "category_id": 1, "id": 104168}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [43, 238, 2, 105, 236, 2, 32, 270, 2, 122, 280, 2, 63, 253, 2, 157, 306, 2, 58, 317, 2, 92, 315, 2, 61, 383, 2, 107, 372, 2, 73, 438, 2, 114, 439, 2, 70, 190, 1, 70, 222, 1], "image_id": 101880, "bbox": [28.12, 188.39, 142.86, 265.32], "category_id": 1, "id": 104169}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [49, 98, 2, 19, 105, 2, 57, 122, 2, 26, 133, 2, 59, 132, 2, 51, 135, 2, 50, 130, 2, 34, 133, 2, 82, 134, 2, 50, 140, 2, 0, 0, 0, 54, 182, 2, 38, 73, 1, 36, 94, 1], "image_id": 100584, "bbox": [13.74, 70.79, 78.89, 121.12], "category_id": 1, "id": 104179}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [268, 179, 2, 190, 210, 2, 328, 276, 2, 278, 292, 2, 281, 247, 2, 275, 207, 2, 315, 394, 2, 243, 394, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239, 88, 1, 231, 172, 1], "image_id": 101218, "bbox": [169.71, 73.74, 165.72, 352.98], "category_id": 1, "id": 104194}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [502, 174, 2, 0, 0, 0, 506, 223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 256, 2, 483, 261, 1, 494, 355, 2, 467, 350, 2, 509, 417, 1, 471, 410, 1, 487, 125, 1, 493, 166, 1], "image_id": 102179, "bbox": [440.5, 125.12, 92.26, 319.42], "category_id": 1, "id": 104220}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 209, 1, 559, 231, 1], "image_id": 102179, "bbox": [531.57, 207.18, 51.49, 36.56], "category_id": 1, "id": 104229}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [544, 187, 2, 563, 186, 2, 536, 208, 2, 0, 0, 0, 529, 218, 1, 0, 0, 0, 543, 227, 2, 561, 227, 2, 544, 255, 2, 558, 257, 2, 546, 281, 2, 558, 282, 2, 548, 163, 1, 550, 178, 1], "image_id": 101035, "bbox": [528.99, 160.95, 49.3, 131.46], "category_id": 1, "id": 104240}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [446, 206, 2, 315, 202, 2, 442, 308, 2, 327, 293, 2, 357, 320, 2, 357, 213, 2, 419, 346, 2, 341, 345, 2, 437, 357, 2, 330, 353, 2, 456, 513, 2, 318, 501, 2, 382, 109, 1, 375, 192, 1], "image_id": 100717, "bbox": [274.7, 94.92, 197.03, 480.36], "category_id": 1, "id": 104276}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [237, 106, 2, 179, 108, 1, 0, 0, 0, 167, 158, 1, 0, 0, 0, 170, 197, 2, 224, 196, 1, 192, 197, 2, 220, 281, 2, 190, 279, 2, 226, 333, 2, 196, 334, 2, 210, 48, 1, 208, 93, 1], "image_id": 100774, "bbox": [158.9, 40.12, 96.46, 327.07], "category_id": 1, "id": 104279}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [142, 193, 2, 75, 197, 1, 0, 0, 0, 14, 255, 1, 0, 0, 0, 28, 244, 2, 136, 331, 2, 89, 334, 1, 126, 418, 2, 89, 418, 1, 0, 0, 0, 0, 0, 0, 110, 117, 1, 113, 178, 1], "image_id": 102305, "bbox": [16.22, 109.73, 140.54, 364.32], "category_id": 1, "id": 104307}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [262, 172, 1, 323, 174, 2, 0, 0, 0, 339, 244, 2, 0, 0, 0, 351, 300, 2, 268, 294, 1, 317, 292, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 103, 1, 287, 148, 1], "image_id": 101218, "bbox": [274.77, 101.6, 86.17, 203.92], "category_id": 1, "id": 104313}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [365, 169, 2, 324, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 238, 2, 335, 240, 1, 362, 284, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 119, 1, 343, 157, 1], "image_id": 101218, "bbox": [320.49, 112.27, 60.45, 127.62], "category_id": 1, "id": 104322}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [215, 208, 2, 150, 212, 2, 0, 0, 0, 0, 0, 0, 217, 232, 1, 0, 0, 0, 208, 307, 2, 168, 314, 2, 209, 398, 2, 174, 399, 2, 204, 472, 2, 184, 472, 2, 179, 139, 1, 179, 190, 1], "image_id": 102305, "bbox": [140.22, 119.73, 90.61, 360.27], "category_id": 1, "id": 104342}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 180, 1, 50, 191, 1], "image_id": 102232, "bbox": [39.74, 180.12, 17.36, 50.15], "category_id": 1, "id": 104347}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [310, 217, 2, 267, 214, 2, 331, 245, 2, 250, 219, 2, 320, 215, 2, 242, 250, 2, 292, 270, 2, 268, 269, 2, 292, 315, 2, 262, 315, 2, 284, 359, 2, 260, 330, 2, 298, 175, 1, 292, 211, 1], "image_id": 102478, "bbox": [218.01, 169.73, 119.81, 199.35], "category_id": 1, "id": 104355}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [89, 152, 1, 11, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101214, "bbox": [1.43, 0.86, 130.59, 499.37], "category_id": 1, "id": 104356}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [226, 145, 2, 213, 130, 2, 0, 0, 0, 200, 168, 2, 235, 216, 2, 222, 212, 2, 187, 244, 1, 173, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 98, 1, 222, 130, 1], "image_id": 101690, "bbox": [164.35, 87.52, 99.84, 165.23], "category_id": 1, "id": 104364}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [145, 223, 2, 175, 219, 2, 0, 0, 0, 203, 216, 2, 0, 0, 0, 214, 213, 2, 140, 284, 2, 164, 286, 1, 140, 344, 1, 164, 341, 1, 0, 0, 0, 0, 0, 0, 159, 185, 1, 160, 210, 1], "image_id": 101880, "bbox": [133.32, 182.41, 90.45, 112.36], "category_id": 1, "id": 104366}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [148, 270, 1, 10, 228, 2, 88, 391, 1, 0, 0, 0, 81, 383, 1, 10, 344, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 143, 1, 99, 228, 1], "image_id": 101946, "bbox": [1.02, 118.09, 195.45, 328.8], "category_id": 1, "id": 104381}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [343, 76, 2, 318, 70, 2, 346, 94, 2, 303, 79, 2, 353, 96, 1, 313, 81, 2, 339, 116, 2, 317, 114, 2, 349, 135, 2, 0, 0, 0, 374, 161, 2, 294, 164, 1, 326, 47, 1, 330, 67, 1], "image_id": 102232, "bbox": [292.18, 42.65, 90.76, 134.66], "category_id": 1, "id": 104382}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [200, 215, 1, 223, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 263, 1, 220, 262, 2, 202, 307, 2, 223, 307, 2, 202, 344, 1, 224, 344, 1, 226, 200, 1, 218, 213, 1], "image_id": 101880, "bbox": [196.4, 196.65, 37.9, 146.24], "category_id": 1, "id": 104386}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [417, 315, 2, 73, 349, 2, 511, 578, 2, 10, 549, 2, 413, 390, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 30, 1, 247, 263, 1], "image_id": 101686, "bbox": [0.87, 10.23, 532.13, 629.77], "category_id": 1, "id": 104396}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [433, 141, 2, 377, 141, 2, 438, 179, 2, 370, 183, 2, 431, 207, 2, 387, 217, 2, 416, 218, 2, 383, 221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 91, 1, 406, 132, 1], "image_id": 101690, "bbox": [354.07, 84.28, 90.2, 168.88], "category_id": 1, "id": 104411}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [361, 91, 2, 350, 88, 1, 367, 103, 2, 0, 0, 0, 362, 107, 2, 0, 0, 0, 356, 114, 2, 347, 111, 1, 350, 120, 1, 0, 0, 0, 367, 138, 2, 0, 0, 0, 350, 63, 1, 353, 82, 1], "image_id": 102232, "bbox": [343.77, 57.11, 31.51, 95.8], "category_id": 1, "id": 104426}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [364, 28, 2, 0, 0, 0, 383, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101686, "bbox": [295.45, 0, 108.29, 105.6], "category_id": 1, "id": 104427}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [319, 240, 2, 258, 212, 2, 0, 0, 0, 167, 249, 2, 314, 318, 1, 176, 298, 2, 235, 374, 2, 183, 344, 2, 191, 447, 1, 148, 440, 2, 0, 0, 0, 0, 0, 0, 318, 133, 1, 295, 222, 1], "image_id": 101946, "bbox": [76.18, 123.02, 269.16, 321.97], "category_id": 1, "id": 104438}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [493, 235, 2, 609, 232, 2, 467, 346, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, 411, 2, 582, 414, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 103, 1, 540, 197, 1], "image_id": 101306, "bbox": [454.67, 99.07, 185.33, 321.62], "category_id": 1, "id": 104444}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [98, 218, 2, 75, 217, 2, 97, 234, 2, 75, 233, 2, 86, 234, 2, 86, 237, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 198, 1, 86, 215, 1], "image_id": 102179, "bbox": [71.59, 191.95, 33.69, 46.79], "category_id": 1, "id": 104458}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [426, 253, 2, 395, 250, 2, 435, 283, 2, 0, 0, 0, 434, 311, 2, 0, 0, 0, 416, 318, 2, 404, 319, 2, 395, 369, 2, 418, 369, 2, 0, 0, 0, 0, 0, 0, 407, 215, 1, 407, 243, 1], "image_id": 102232, "bbox": [374.59, 210.78, 69.72, 174.7], "category_id": 1, "id": 104470}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [378, 75, 2, 0, 0, 0, 385, 97, 2, 0, 0, 0, 374, 109, 2, 0, 0, 0, 369, 110, 1, 0, 0, 0, 370, 130, 2, 0, 0, 0, 388, 163, 2, 0, 0, 0, 367, 43, 1, 366, 67, 1], "image_id": 102232, "bbox": [358.17, 39.3, 37.35, 135.48], "category_id": 1, "id": 104474}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, 197, 1, 496, 208, 1], "image_id": 102232, "bbox": [483.26, 196.34, 22.79, 58.9], "category_id": 1, "id": 104478}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 209, 1], "image_id": 102227, "bbox": [7.12, 204.52, 9.69, 15.26], "category_id": 1, "id": 104496}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [280, 198, 2, 0, 0, 0, 249, 230, 1, 0, 0, 0, 210, 195, 1, 0, 0, 0, 266, 293, 1, 272, 294, 2, 238, 340, 2, 265, 347, 2, 265, 391, 2, 252, 411, 2, 0, 0, 0, 252, 195, 1], "image_id": 102179, "bbox": [174.7, 157.2, 126.1, 265.69], "category_id": 1, "id": 104508}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [375, 80, 2, 223, 37, 2, 0, 0, 0, 120, 144, 2, 396, 239, 1, 204, 161, 2, 302, 321, 2, 174, 296, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 37, 1], "image_id": 100660, "bbox": [103.39, 0, 309.21, 421.21], "category_id": 1, "id": 104524}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [446, 197, 2, 416, 197, 1, 462, 217, 2, 0, 0, 0, 458, 220, 2, 421, 225, 2, 448, 238, 2, 429, 237, 2, 479, 242, 2, 425, 240, 2, 492, 283, 2, 414, 273, 2, 432, 166, 1, 430, 193, 1], "image_id": 100660, "bbox": [403.02, 160.67, 104.35, 148.38], "category_id": 1, "id": 104526}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 124, 2, 482, 129, 2, 522, 146, 2, 461, 168, 2, 533, 166, 2, 453, 205, 2, 502, 205, 2, 473, 204, 2, 502, 259, 2, 456, 256, 1, 494, 320, 2, 435, 300, 1, 520, 77, 1, 513, 118, 1], "image_id": 102478, "bbox": [442.52, 68.82, 97.04, 266.65], "category_id": 1, "id": 104537}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 218, 2, 329, 201, 2, 338, 233, 2, 301, 191, 1, 341, 200, 2, 325, 186, 2, 338, 256, 2, 319, 250, 2, 342, 303, 2, 330, 306, 2, 326, 324, 2, 329, 349, 2, 361, 170, 1, 349, 201, 1], "image_id": 102478, "bbox": [303.6, 163.82, 72.02, 211.37], "category_id": 1, "id": 104542}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [572, 273, 2, 523, 277, 2, 585, 309, 1, 518, 304, 2, 557, 326, 2, 520, 321, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 243, 1, 544, 270, 1], "image_id": 101486, "bbox": [509.27, 239.8, 83.52, 106.21], "category_id": 1, "id": 104544}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 158, 1, 530, 172, 1], "image_id": 102232, "bbox": [509.42, 156.3, 32.22, 92.29], "category_id": 1, "id": 104545}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [511, 201, 2, 453, 183, 2, 513, 272, 2, 0, 0, 0, 470, 263, 2, 0, 0, 0, 483, 320, 2, 444, 312, 2, 488, 426, 2, 444, 418, 2, 0, 0, 0, 0, 0, 0, 461, 111, 1, 471, 173, 1], "image_id": 102305, "bbox": [414.99, 103.33, 110.52, 372.73], "category_id": 1, "id": 104563}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [370, 175, 1, 293, 188, 2, 0, 0, 0, 290, 244, 1, 0, 0, 0, 0, 0, 0, 366, 284, 2, 323, 292, 2, 365, 387, 2, 326, 409, 2, 359, 455, 2, 334, 457, 2, 314, 123, 1, 329, 175, 1], "image_id": 102305, "bbox": [280.22, 119.21, 105.34, 360.79], "category_id": 1, "id": 104580}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [448, 262, 2, 404, 263, 2, 458, 296, 2, 389, 294, 2, 438, 330, 2, 400, 305, 2, 441, 312, 2, 416, 312, 2, 480, 306, 2, 423, 318, 2, 444, 341, 2, 453, 346, 1, 428, 223, 1, 426, 257, 1], "image_id": 100321, "bbox": [382.49, 215.6, 101.05, 138.68], "category_id": 1, "id": 104589}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [394, 260, 2, 350, 254, 2, 390, 296, 1, 345, 285, 2, 387, 312, 1, 354, 308, 1, 377, 321, 1, 352, 319, 1, 0, 0, 0, 333, 325, 2, 0, 0, 0, 0, 0, 0, 373, 208, 1, 373, 249, 1], "image_id": 100321, "bbox": [329.38, 202.29, 73.26, 134.57], "category_id": 1, "id": 104595}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [592, 236, 2, 553, 236, 2, 598, 264, 2, 0, 0, 0, 580, 228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 202, 1, 573, 232, 1], "image_id": 101486, "bbox": [540.3, 199.27, 66.21, 79.8], "category_id": 1, "id": 104599}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [249, 153, 2, 209, 151, 2, 264, 173, 2, 195, 188, 1, 0, 0, 0, 0, 0, 0, 242, 222, 2, 219, 224, 2, 235, 262, 1, 218, 256, 1, 226, 284, 2, 223, 306, 2, 236, 105, 1, 228, 140, 1], "image_id": 102478, "bbox": [183.08, 97.43, 96.41, 232.61], "category_id": 1, "id": 104602}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [416, 77, 2, 0, 0, 0, 430, 92, 2, 0, 0, 0, 424, 100, 2, 0, 0, 0, 407, 111, 2, 0, 0, 0, 404, 131, 1, 0, 0, 0, 431, 153, 2, 0, 0, 0, 408, 49, 1, 406, 70, 1], "image_id": 102232, "bbox": [394.64, 42.83, 55.83, 129.81], "category_id": 1, "id": 104603}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [453, 253, 2, 355, 224, 2, 426, 376, 2, 313, 297, 2, 351, 415, 2, 272, 367, 2, 357, 436, 2, 284, 386, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 114, 1, 415, 204, 1], "image_id": 101946, "bbox": [232.1, 96.71, 252.46, 349.16], "category_id": 1, "id": 104618}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [499, 140, 2, 464, 145, 2, 0, 0, 0, 454, 184, 2, 0, 0, 0, 460, 225, 2, 500, 211, 2, 474, 216, 2, 501, 266, 2, 475, 264, 2, 498, 310, 1, 472, 312, 1, 477, 98, 1, 478, 133, 1], "image_id": 101690, "bbox": [451.29, 94.14, 82.24, 195.13], "category_id": 1, "id": 104627}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [574, 327, 2, 472, 320, 2, 562, 426, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 200, 1, 525, 300, 1], "image_id": 101946, "bbox": [387.85, 185.27, 212.76, 262.64], "category_id": 1, "id": 104637}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [559, 189, 1, 524, 189, 2, 0, 0, 0, 540, 220, 2, 0, 0, 0, 578, 213, 1, 560, 258, 1, 529, 260, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, 141, 1, 547, 180, 1], "image_id": 100660, "bbox": [497.12, 135.99, 81.14, 154.81], "category_id": 1, "id": 104645}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102227, "bbox": [16.68, 204.04, 9.28, 13.58], "category_id": 1, "id": 104648}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [347, 169, 2, 295, 166, 2, 351, 201, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 232, 2, 302, 229, 1, 333, 268, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 125, 1, 320, 161, 1], "image_id": 100321, "bbox": [291.98, 121.73, 64.15, 157.09], "category_id": 1, "id": 104669}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [338, 131, 2, 298, 120, 1, 343, 167, 2, 286, 150, 2, 349, 201, 1, 295, 129, 1, 320, 181, 2, 299, 182, 1, 316, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 86, 1, 317, 118, 1], "image_id": 102478, "bbox": [278.24, 73.76, 71.3, 108.95], "category_id": 1, "id": 104685}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 506, 153, 2, 0, 0, 0, 511, 188, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 101, 1, 523, 139, 1], "image_id": 100660, "bbox": [495.88, 101.47, 45.95, 113.92], "category_id": 1, "id": 104697}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 266, 2, 279, 269, 2, 329, 291, 2, 264, 299, 1, 305, 311, 2, 288, 309, 2, 309, 321, 2, 286, 321, 2, 334, 298, 2, 264, 328, 2, 306, 338, 2, 315, 342, 2, 297, 220, 1, 295, 256, 1], "image_id": 100321, "bbox": [254.97, 209.73, 88.82, 148.05], "category_id": 1, "id": 104703}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [500, 111, 2, 539, 113, 2, 496, 152, 1, 552, 143, 2, 0, 0, 0, 535, 163, 2, 509, 176, 1, 525, 176, 2, 506, 222, 1, 519, 222, 2, 509, 278, 2, 517, 274, 2, 503, 81, 1, 513, 98, 1], "image_id": 101690, "bbox": [496.27, 76.12, 60.57, 207.99], "category_id": 1, "id": 104718}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [236, 212, 2, 268, 211, 2, 0, 0, 0, 281, 254, 2, 0, 0, 0, 289, 281, 2, 241, 276, 2, 269, 279, 2, 253, 333, 2, 267, 330, 2, 243, 382, 2, 255, 385, 2, 264, 179, 1, 257, 203, 1], "image_id": 101880, "bbox": [224.68, 175.9, 74.34, 222.39], "category_id": 1, "id": 104719}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [461, 190, 2, 409, 188, 1, 477, 226, 2, 405, 223, 1, 466, 228, 1, 433, 230, 1, 446, 254, 2, 413, 252, 1, 471, 259, 2, 436, 258, 2, 486, 328, 2, 426, 333, 2, 438, 138, 1, 433, 177, 1], "image_id": 100660, "bbox": [399.67, 133.25, 106.79, 222.93], "category_id": 1, "id": 104731}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [547, 110, 2, 559, 111, 2, 0, 0, 0, 559, 132, 2, 0, 0, 0, 565, 150, 2, 551, 154, 1, 559, 153, 2, 564, 184, 2, 549, 181, 2, 567, 212, 2, 527, 207, 1, 561, 85, 1, 558, 101, 1], "image_id": 101690, "bbox": [526.33, 83.94, 53.24, 138.34], "category_id": 1, "id": 104739}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [179, 143, 2, 156, 143, 2, 186, 166, 2, 150, 168, 2, 193, 187, 1, 145, 190, 1, 177, 190, 2, 159, 190, 2, 174, 222, 2, 163, 220, 2, 169, 254, 2, 162, 245, 2, 168, 112, 1, 168, 133, 1], "image_id": 102478, "bbox": [143.63, 108.33, 48.23, 157.15], "category_id": 1, "id": 104756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [151, 200, 2, 127, 201, 2, 159, 209, 2, 120, 211, 2, 156, 221, 2, 126, 222, 2, 147, 230, 2, 133, 232, 2, 147, 261, 2, 135, 261, 2, 142, 281, 2, 135, 278, 2, 140, 175, 1, 140, 195, 1], "image_id": 102478, "bbox": [116.24, 167.68, 49.47, 130.87], "category_id": 1, "id": 104760}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [286, 175, 2, 246, 176, 2, 280, 211, 2, 244, 207, 2, 275, 229, 2, 248, 229, 1, 276, 223, 2, 253, 222, 1, 264, 259, 2, 230, 245, 2, 0, 0, 0, 0, 0, 0, 267, 130, 1, 266, 167, 1], "image_id": 100321, "bbox": [224.68, 125.94, 68.57, 140.51], "category_id": 1, "id": 104765}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 229, 1, 595, 239, 1], "image_id": 102227, "bbox": [583.79, 228.22, 19.99, 52.31], "category_id": 1, "id": 104768}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [437, 189, 2, 382, 185, 2, 456, 248, 1, 0, 0, 0, 415, 243, 2, 0, 0, 0, 413, 290, 2, 387, 291, 2, 416, 412, 2, 404, 409, 2, 0, 0, 0, 0, 0, 0, 386, 131, 1, 396, 184, 1], "image_id": 102305, "bbox": [361.71, 127.65, 82.84, 351.58], "category_id": 1, "id": 104781}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 101, 1, 620, 112, 1], "image_id": 101690, "bbox": [597.67, 100.99, 28.65, 52.7], "category_id": 1, "id": 104785}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 97, 1, 592, 102, 1], "image_id": 102478, "bbox": [583.52, 97.31, 15.51, 33.75], "category_id": 1, "id": 104786}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [69, 165, 1, 74, 165, 2, 78, 189, 2, 0, 0, 0, 59, 199, 1, 0, 0, 0, 76, 232, 2, 79, 233, 2, 77, 287, 2, 80, 287, 2, 78, 325, 2, 82, 324, 2, 67, 131, 1, 67, 159, 1], "image_id": 100660, "bbox": [54.05, 125.89, 45.33, 215.03], "category_id": 1, "id": 104797}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [622, 147, 2, 527, 156, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, 328, 2, 535, 324, 2, 607, 460, 2, 539, 443, 2, 0, 0, 0, 0, 0, 0, 559, 61, 1, 571, 136, 1], "image_id": 102305, "bbox": [513, 58.99, 127, 420.13], "category_id": 1, "id": 104801}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [146, 115, 1, 108, 113, 1, 154, 175, 1, 115, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 54, 1, 146, 102, 1], "image_id": 101690, "bbox": [137.22, 44.81, 47.01, 109.38], "category_id": 1, "id": 104806}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [501, 234, 2, 458, 245, 2, 510, 265, 2, 461, 278, 1, 508, 288, 2, 487, 298, 1, 505, 293, 2, 478, 299, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 196, 1, 478, 231, 1], "image_id": 101486, "bbox": [450.54, 196.49, 68.39, 140.4], "category_id": 1, "id": 104809}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [292, 222, 2, 224, 227, 2, 306, 279, 2, 214, 295, 1, 317, 326, 2, 234, 260, 2, 283, 333, 2, 229, 332, 2, 273, 406, 2, 245, 406, 2, 273, 460, 2, 252, 461, 2, 252, 159, 1, 255, 213, 1], "image_id": 102305, "bbox": [210.23, 150.78, 110.27, 329.22], "category_id": 1, "id": 104822}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [155, 179, 2, 120, 179, 2, 160, 210, 2, 101, 205, 2, 0, 0, 0, 120, 225, 2, 152, 242, 1, 126, 242, 2, 151, 286, 1, 125, 284, 2, 157, 331, 1, 122, 332, 1, 140, 152, 1, 136, 169, 1], "image_id": 100660, "bbox": [99.56, 172.31, 66.05, 149.34], "category_id": 1, "id": 104844}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [202, 105, 2, 186, 107, 2, 210, 123, 2, 184, 121, 2, 200, 118, 2, 183, 129, 2, 203, 137, 2, 190, 139, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 86, 1, 195, 101, 1], "image_id": 102478, "bbox": [179.46, 84.45, 35.25, 76.99], "category_id": 1, "id": 104850}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [366, 231, 2, 393, 232, 2, 0, 0, 0, 403, 259, 2, 0, 0, 0, 409, 278, 2, 367, 283, 2, 383, 284, 2, 373, 318, 2, 387, 316, 2, 375, 349, 2, 388, 346, 2, 380, 202, 1, 377, 221, 1], "image_id": 101880, "bbox": [351.97, 199.45, 66.35, 169.4], "category_id": 1, "id": 104863}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [609, 120, 1, 626, 119, 2, 603, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101690, "bbox": [597.8, 68.13, 42.2, 160.24], "category_id": 1, "id": 104893}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 584, 230, 1, 585, 238, 1], "image_id": 102227, "bbox": [552.13, 230.23, 40.35, 50.78], "category_id": 1, "id": 104900}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [105, 287, 2, 74, 287, 2, 0, 0, 0, 74, 314, 1, 0, 0, 0, 69, 334, 1, 110, 329, 1, 83, 328, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 253, 1, 87, 282, 1], "image_id": 101486, "bbox": [66.21, 249.48, 40.3, 67.17], "category_id": 1, "id": 104916}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 233, 1, 550, 240, 1], "image_id": 102227, "bbox": [541.46, 233.72, 18.02, 40.47], "category_id": 1, "id": 104931}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [432, 61, 2, 389, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 426, 116, 1, 396, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 11, 1, 412, 47, 1], "image_id": 100321, "bbox": [385.74, 7.4, 53.46, 116.79], "category_id": 1, "id": 104938}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [18, 144, 2, 51, 142, 2, 4, 184, 2, 65, 180, 2, 0, 0, 0, 0, 0, 0, 21, 215, 2, 51, 211, 2, 16, 281, 2, 47, 278, 2, 14, 324, 2, 40, 324, 2, 20, 104, 1, 28, 134, 1], "image_id": 100660, "bbox": [0, 98.09, 71.6, 245.3], "category_id": 1, "id": 104950}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 92, 1, 126, 98, 1], "image_id": 102478, "bbox": [118.87, 90.82, 14.69, 42.56], "category_id": 1, "id": 104961}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [206, 228, 2, 184, 228, 1, 224, 244, 1, 0, 0, 0, 215, 226, 1, 0, 0, 0, 205, 278, 1, 189, 282, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 188, 1, 193, 216, 1], "image_id": 101880, "bbox": [176.49, 188.57, 34.57, 168.53], "category_id": 1, "id": 104984}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101486, "bbox": [406.41, 210.86, 39.25, 46.85], "category_id": 1, "id": 105007}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [194, 173, 2, 160, 174, 2, 198, 211, 2, 156, 211, 1, 181, 236, 2, 161, 235, 2, 186, 225, 2, 162, 224, 2, 185, 265, 1, 155, 265, 2, 0, 0, 0, 0, 0, 0, 170, 129, 1, 176, 165, 1], "image_id": 100321, "bbox": [151.68, 124.89, 55.23, 152.5], "category_id": 1, "id": 105011}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [287, 225, 2, 319, 228, 2, 0, 0, 0, 327, 247, 2, 0, 0, 0, 336, 262, 2, 283, 277, 1, 308, 280, 2, 289, 319, 2, 309, 319, 2, 294, 360, 2, 299, 365, 2, 304, 194, 1, 303, 214, 1], "image_id": 101880, "bbox": [273.55, 191.83, 69.59, 185.42], "category_id": 1, "id": 105012}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [109, 212, 2, 110, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 184, 1, 110, 204, 1], "image_id": 101880, "bbox": [93.79, 180.91, 41.81, 86.42], "category_id": 1, "id": 105016}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 87, 1, 0, 0, 0], "image_id": 101690, "bbox": [191, 84.28, 34.02, 55.15], "category_id": 1, "id": 105037}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [338, 229, 1, 363, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 272, 2, 359, 276, 1, 346, 313, 2, 364, 308, 1, 343, 337, 1, 361, 349, 1, 366, 199, 1, 357, 216, 1], "image_id": 101880, "bbox": [323.7, 196.05, 48.48, 131.64], "category_id": 1, "id": 105043}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [464, 136, 2, 438, 142, 2, 473, 160, 2, 440, 166, 2, 483, 166, 2, 467, 168, 2, 475, 186, 1, 456, 189, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 103, 1, 451, 129, 1], "image_id": 101486, "bbox": [427.59, 100.68, 60.74, 127.5], "category_id": 1, "id": 105054}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [496, 260, 2, 454, 257, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, 299, 2, 466, 298, 2, 506, 276, 2, 482, 288, 2, 496, 321, 2, 512, 337, 2, 472, 217, 1, 474, 253, 1], "image_id": 100321, "bbox": [450.69, 211.37, 81.9, 143.36], "category_id": 1, "id": 105081}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 264, 2, 515, 266, 2, 563, 294, 2, 518, 296, 2, 557, 322, 2, 539, 324, 2, 554, 320, 2, 526, 320, 2, 579, 317, 2, 508, 310, 2, 539, 338, 2, 558, 342, 2, 532, 219, 1, 537, 257, 1], "image_id": 100321, "bbox": [505.82, 211.38, 88, 139.82], "category_id": 1, "id": 105084}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [536, 174, 2, 493, 172, 2, 540, 207, 2, 489, 203, 2, 545, 225, 1, 492, 219, 2, 529, 223, 1, 502, 222, 2, 0, 0, 0, 506, 257, 2, 0, 0, 0, 0, 0, 0, 511, 133, 1, 513, 167, 1], "image_id": 100321, "bbox": [482.19, 128.16, 68.73, 139.35], "category_id": 1, "id": 105090}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [490, 175, 1, 447, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 482, 229, 1, 450, 229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 132, 1, 468, 166, 1], "image_id": 100321, "bbox": [445.43, 127.58, 43.66, 130.04], "category_id": 1, "id": 105097}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [495, 137, 2, 458, 134, 2, 499, 168, 1, 456, 173, 2, 501, 189, 2, 487, 190, 2, 493, 191, 2, 469, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 100, 1, 476, 127, 1], "image_id": 100660, "bbox": [448.56, 98.53, 57.13, 106.21], "category_id": 1, "id": 105107}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [360, 177, 2, 388, 182, 2, 358, 198, 1, 393, 203, 1, 358, 223, 1, 0, 0, 0, 368, 214, 1, 386, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 153, 1, 371, 170, 1], "image_id": 101035, "bbox": [352.18, 151.92, 43.85, 77.32], "category_id": 1, "id": 105116}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [438, 307, 2, 414, 318, 1, 454, 347, 2, 0, 0, 0, 492, 352, 2, 0, 0, 0, 418, 383, 1, 401, 397, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 257, 1, 430, 298, 1], "image_id": 101486, "bbox": [401.38, 252.85, 97.49, 108.89], "category_id": 1, "id": 105122}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 106, 1, 395, 118, 1], "image_id": 100660, "bbox": [387.74, 103.16, 34.71, 74.64], "category_id": 1, "id": 105125}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [332, 322, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101113, "bbox": [283.86, 281.38, 56.78, 54.38], "category_id": 1, "id": 105127}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 105, 1], "image_id": 102478, "bbox": [100.94, 99.93, 12.01, 14.14], "category_id": 1, "id": 105129}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [20, 261, 2, 0, 0, 0, 39, 281, 2, 0, 0, 0, 38, 308, 1, 0, 0, 0, 25, 307, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 260, 1], "image_id": 101486, "bbox": [0.96, 235.09, 45.1, 71.97], "category_id": 1, "id": 105145}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [396, 73, 2, 374, 71, 1, 405, 100, 2, 0, 0, 0, 395, 111, 2, 0, 0, 0, 390, 112, 2, 0, 0, 0, 392, 125, 2, 0, 0, 0, 417, 161, 2, 0, 0, 0, 379, 41, 1, 382, 65, 1], "image_id": 102232, "bbox": [374.5, 38.59, 52.91, 135.3], "category_id": 1, "id": 105159}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [265, 186, 1, 190, 210, 1, 0, 0, 0, 274, 293, 1, 286, 253, 1, 279, 208, 1, 0, 0, 0, 242, 375, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 19, 1, 15, 145, 1], "image_id": 101218, "bbox": [0, 4.29, 166.48, 422.71], "category_id": 1, "id": 105181}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 183, 2, 414, 185, 2, 461, 221, 2, 403, 226, 2, 462, 200, 2, 404, 259, 2, 449, 258, 2, 421, 259, 2, 455, 311, 2, 421, 310, 2, 463, 365, 2, 420, 359, 2, 439, 137, 1, 437, 172, 1], "image_id": 101218, "bbox": [391.44, 135.62, 86.2, 255.22], "category_id": 1, "id": 105206}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, 296, 1, 582, 299, 1, 583, 363, 1, 568, 367, 2, 601, 459, 2, 579, 457, 2, 0, 0, 0, 0, 0, 0], "image_id": 101113, "bbox": [544.15, 355.04, 60.69, 124.96], "category_id": 1, "id": 105217}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [556, 186, 2, 539, 180, 2, 554, 201, 2, 533, 189, 2, 548, 209, 2, 530, 196, 2, 547, 216, 2, 535, 216, 2, 547, 239, 2, 534, 238, 2, 550, 267, 1, 534, 261, 2, 548, 159, 1, 546, 176, 1], "image_id": 102232, "bbox": [524.87, 157.15, 38.73, 110.22], "category_id": 1, "id": 105221}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [392, 166, 1, 0, 0, 0, 400, 191, 1, 0, 0, 0, 384, 178, 2, 0, 0, 0, 380, 228, 2, 0, 0, 0, 383, 278, 2, 0, 0, 0, 387, 323, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101218, "bbox": [360.81, 132.37, 35.09, 211.21], "category_id": 1, "id": 105222}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102305, "bbox": [132.67, 149.93, 23.73, 30.2], "category_id": 1, "id": 105223}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [586, 172, 2, 568, 172, 2, 587, 187, 2, 565, 185, 1, 574, 184, 2, 571, 184, 2, 577, 201, 2, 571, 201, 2, 576, 221, 2, 572, 220, 2, 580, 248, 2, 566, 250, 2, 572, 154, 1, 576, 168, 1], "image_id": 102232, "bbox": [562.28, 152.91, 30.27, 103.49], "category_id": 1, "id": 105228}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [183, 216, 1, 101, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 386, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 107, 1, 146, 191, 1], "image_id": 101218, "bbox": [102.44, 98.71, 112.02, 324.56], "category_id": 1, "id": 105232}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101218, "bbox": [43.9, 105.48, 50.21, 80.72], "category_id": 1, "id": 105237}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 25, 169, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 303, 2, 0, 0, 0, 27, 358, 2, 0, 0, 0, 50, 429, 2, 0, 0, 0, 0, 0, 0, 64, 216, 1], "image_id": 102305, "bbox": [0, 153.24, 61.31, 313.51], "category_id": 1, "id": 105238}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [584, 318, 1, 613, 313, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 376, 2, 612, 371, 1, 592, 429, 2, 0, 0, 0, 595, 462, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101113, "bbox": [573.18, 311.14, 37.7, 120.12], "category_id": 1, "id": 105266}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [371, 330, 1, 0, 0, 0, 338, 417, 1, 0, 0, 0, 369, 450, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101113, "bbox": [255.57, 283.59, 129.93, 190.07], "category_id": 1, "id": 105279}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 197, 2, 246, 201, 2, 286, 218, 2, 258, 228, 1, 298, 230, 2, 290, 233, 2, 283, 233, 2, 265, 237, 1, 303, 233, 2, 292, 239, 2, 295, 273, 1, 292, 280, 2, 243, 170, 1, 251, 193, 1], "image_id": 100587, "bbox": [230.1, 165.91, 83.14, 132.39], "category_id": 1, "id": 105281}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [9, 220, 2, 36, 220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 274, 1, 26, 276, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 190, 1, 27, 209, 1], "image_id": 101880, "bbox": [2.34, 187.82, 43.58, 105.37], "category_id": 1, "id": 105285}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [328, 255, 2, 309, 186, 1, 295, 307, 1, 291, 135, 2, 0, 0, 0, 281, 73, 2, 259, 345, 1, 0, 0, 0, 202, 439, 1, 0, 0, 0, 276, 517, 2, 0, 0, 0, 371, 201, 1, 310, 216, 1], "image_id": 100243, "bbox": [198.03, 36.02, 198.02, 525.2], "category_id": 1, "id": 105311}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [359, 401, 2, 399, 416, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 410, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 339, 1, 384, 397, 1], "image_id": 101486, "bbox": [345.07, 330.7, 94.03, 96.3], "category_id": 1, "id": 105324}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 82, 455, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101113, "bbox": [0.47, 354.01, 112.06, 125.86], "category_id": 1, "id": 105349}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [417, 196, 1, 336, 156, 1, 0, 0, 0, 314, 94, 2, 0, 0, 0, 312, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 79, 1, 380, 154, 1], "image_id": 101946, "bbox": [291.1, 1.16, 134.84, 193.54], "category_id": 1, "id": 105370}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [191, 172, 2, 237, 168, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 263, 1, 236, 265, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 114, 1, 211, 152, 1], "image_id": 100967, "bbox": [170.92, 111.51, 77.24, 181.69], "category_id": 1, "id": 105386}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 89, 1, 162, 95, 1], "image_id": 102478, "bbox": [151.8, 90.58, 18.82, 45.62], "category_id": 1, "id": 105389}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [327, 350, 2, 79, 304, 2, 364, 567, 2, 47, 441, 2, 0, 0, 0, 4, 577, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 257, 1], "image_id": 101214, "bbox": [2.88, 0, 402.69, 629.93], "category_id": 1, "id": 105415}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 167, 1, 0, 0, 0], "image_id": 102305, "bbox": [276, 166.43, 15.99, 43.23], "category_id": 1, "id": 105421}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [594, 48, 2, 565, 50, 2, 594, 67, 2, 560, 68, 2, 591, 88, 2, 571, 56, 2, 586, 86, 2, 572, 85, 2, 592, 114, 2, 571, 115, 2, 562, 135, 2, 573, 145, 2, 579, 25, 1, 579, 44, 1], "image_id": 100584, "bbox": [553.48, 21.6, 47.23, 133.16], "category_id": 1, "id": 105433}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 86, 124, 2, 0, 0, 0, 70, 182, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 77, 1, 105, 111, 1], "image_id": 101946, "bbox": [42.27, 70.46, 72.45, 124.81], "category_id": 1, "id": 105462}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 373, 2, 556, 373, 2, 545, 421, 2, 566, 417, 2, 0, 0, 0, 0, 0, 0], "image_id": 101113, "bbox": [535.13, 336.79, 36.39, 96.83], "category_id": 1, "id": 105479}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [218, 369, 2, 199, 370, 2, 228, 390, 2, 193, 389, 2, 212, 395, 2, 202, 392, 2, 215, 401, 2, 205, 401, 2, 228, 398, 2, 193, 398, 2, 0, 0, 0, 0, 0, 0, 207, 353, 1, 208, 370, 1], "image_id": 102179, "bbox": [188.9, 350.57, 46.58, 63.61], "category_id": 1, "id": 105510}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [160, 282, 2, 38, 284, 2, 190, 360, 2, 11, 399, 2, 179, 408, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 147, 1, 105, 255, 1], "image_id": 100967, "bbox": [0, 136.01, 210.86, 289.94], "category_id": 1, "id": 105533}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 88, 1, 602, 93, 1], "image_id": 102478, "bbox": [594.85, 86.6, 13.16, 46.15], "category_id": 1, "id": 105625}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 53, 104, 2, 0, 0, 0, 77, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 70, 1, 67, 99, 1], "image_id": 101690, "bbox": [35.33, 68.83, 58.45, 84.55], "category_id": 1, "id": 105633}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 1, 0, 0, 0, 335, 114, 2, 411, 169, 2, 251, 218, 2, 341, 301, 2, 0, 0, 0, 0, 0, 0], "image_id": 102006, "bbox": [213.33, 2.5, 213.67, 355], "category_id": 1, "id": 105644}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [0, 0, 0, 631, 182, 2, 635, 194, 2, 625, 192, 2, 635, 178, 2, 630, 178, 2, 633, 220, 2, 627, 219, 1, 636, 255, 2, 627, 256, 2, 637, 278, 2, 631, 276, 2, 636, 164, 1, 0, 0, 0], "image_id": 102232, "bbox": [620.12, 160.72, 19.88, 125.23], "category_id": 1, "id": 105646}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [442, 172, 2, 404, 170, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 228, 1, 408, 228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 129, 1, 422, 165, 1], "image_id": 100321, "bbox": [400.3, 125.87, 51.18, 135.99], "category_id": 1, "id": 105657}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 235, 1, 571, 242, 1], "image_id": 102227, "bbox": [556, 233.82, 22.31, 35.97], "category_id": 1, "id": 105670}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 474, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102006, "bbox": [350.73, 381.37, 76.27, 166.56], "category_id": 1, "id": 105683}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [38, 209, 2, 19, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 251, 2, 36, 252, 2, 60, 286, 2, 49, 291, 2, 0, 0, 0, 0, 0, 0, 12, 189, 1, 28, 205, 1], "image_id": 101486, "bbox": [8.95, 186.75, 62.4, 116.5], "category_id": 1, "id": 105713}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 199, 1, 383, 217, 1], "image_id": 102122, "bbox": [368.87, 197.03, 39.2, 37.89], "category_id": 1, "id": 105717}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 41, 32, 1, 0, 0, 0, 70, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 174, 1, 0, 0, 0, 29, 249, 1, 0, 0, 0, 0, 0, 0, 64, 12, 1, 55, 42, 1], "image_id": 101686, "bbox": [43.63, 9.89, 57.57, 221.74], "category_id": 1, "id": 105727}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [557, 250, 1, 472, 221, 2, 627, 344, 2, 0, 0, 0, 607, 274, 2, 444, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 118, 1, 524, 219, 1], "image_id": 101946, "bbox": [446.22, 82.88, 193.78, 370.12], "category_id": 1, "id": 105746}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [313, 113, 2, 270, 113, 2, 321, 167, 2, 230, 141, 1, 321, 217, 2, 260, 164, 2, 305, 217, 2, 282, 216, 2, 302, 287, 2, 279, 289, 1, 0, 0, 0, 0, 0, 0, 294, 60, 1, 288, 103, 1], "image_id": 101690, "bbox": [240.53, 52.28, 89.52, 260.55], "category_id": 1, "id": 105756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 273, 2, 232, 271, 2, 266, 294, 2, 237, 297, 2, 262, 317, 2, 247, 322, 2, 263, 315, 2, 236, 314, 1, 278, 301, 1, 221, 305, 1, 245, 338, 1, 254, 338, 2, 252, 226, 1, 250, 265, 1], "image_id": 100321, "bbox": [225.86, 220.36, 50.48, 122.88], "category_id": 1, "id": 105767}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [293, 160, 1, 250, 161, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 116, 1, 271, 149, 1], "image_id": 100967, "bbox": [243.08, 113.63, 48.9, 59.92], "category_id": 1, "id": 105770}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101690, "bbox": [315.62, 81.11, 23.63, 43.11], "category_id": 1, "id": 105790}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 136, 1, 411, 143, 1], "image_id": 101486, "bbox": [405.73, 135.09, 20.81, 47.47], "category_id": 1, "id": 105795}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [367, 159, 2, 391, 147, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100967, "bbox": [362.24, 100.55, 54.47, 90.77], "category_id": 1, "id": 105797}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 429, 370, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 390, 1, 0, 0, 0, 0, 0, 0, 419, 307, 1, 425, 353, 1], "image_id": 101486, "bbox": [391.93, 303.68, 80.93, 123.32], "category_id": 1, "id": 105808}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101486, "bbox": [541.36, 358.86, 94.84, 68.14], "category_id": 1, "id": 105811}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [232, 320, 2, 184, 304, 1, 244, 342, 2, 195, 305, 1, 259, 354, 2, 212, 318, 2, 237, 360, 1, 189, 369, 2, 269, 378, 2, 202, 398, 2, 266, 413, 2, 0, 0, 0, 214, 270, 1, 205, 315, 1], "image_id": 100018, "bbox": [160, 261.39, 121.22, 165.61], "category_id": 1, "id": 105814}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 28, 2, 0, 0, 0, 214, 202, 2, 292, 184, 2, 0, 0, 0, 0, 0, 0], "image_id": 102128, "bbox": [95.96, 0, 330.08, 277.31], "category_id": 1, "id": 105842}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [524, 153, 2, 467, 153, 1, 540, 224, 2, 534, 182, 2, 556, 241, 2, 619, 164, 2, 494, 288, 2, 461, 291, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 517, 76, 1, 494, 139, 1], "image_id": 101046, "bbox": [416.44, 67.17, 223.56, 249.48], "category_id": 1, "id": 105859}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [335, 346, 2, 425, 346, 2, 295, 441, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 532, 2, 405, 536, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 232, 1, 391, 314, 1], "image_id": 100835, "bbox": [273.66, 230.17, 153.34, 409.83], "category_id": 1, "id": 105893}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [285, 276, 2, 305, 277, 2, 254, 321, 2, 272, 353, 2, 226, 287, 2, 208, 348, 2, 266, 413, 2, 282, 412, 2, 278, 493, 2, 294, 507, 1, 282, 577, 2, 304, 587, 2, 284, 215, 1, 289, 266, 1], "image_id": 100835, "bbox": [184.09, 218.97, 151.01, 398.38], "category_id": 1, "id": 105897}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 25, 49, 1, 140, 64, 1, 0, 0, 0, 0, 0, 0, 48, 111, 2, 126, 104, 2, 48, 266, 2, 112, 265, 2, 48, 381, 2, 108, 376, 2, 0, 0, 0, 0, 0, 0], "image_id": 102128, "bbox": [12.47, 1.92, 130.5, 419.32], "category_id": 1, "id": 105914}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [417, 260, 2, 381, 267, 2, 0, 0, 0, 372, 334, 1, 0, 0, 0, 0, 0, 0, 425, 356, 1, 399, 359, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 210, 1, 402, 250, 1], "image_id": 101046, "bbox": [359.68, 198.89, 76.43, 119.19], "category_id": 1, "id": 105932}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 239, 6, 2, 0, 0, 0, 193, 32, 2, 0, 0, 0, 175, 96, 2, 112, 94, 1, 175, 232, 1, 109, 230, 1, 190, 367, 2, 109, 365, 1, 0, 0, 0, 0, 0, 0], "image_id": 102128, "bbox": [129.54, 0, 120.9, 409.97], "category_id": 1, "id": 105934}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [278, 246, 2, 228, 247, 2, 296, 279, 2, 222, 275, 2, 0, 0, 0, 246, 263, 2, 270, 328, 1, 230, 325, 2, 310, 379, 1, 203, 382, 2, 315, 434, 1, 201, 443, 2, 256, 197, 1, 254, 237, 1], "image_id": 102071, "bbox": [178.7, 190.54, 123.99, 280.71], "category_id": 1, "id": 105945}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 25, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 153, 2, 0, 0, 0, 22, 266, 1, 0, 0, 0, 17, 386, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102128, "bbox": [0, 0, 45.1, 391.5], "category_id": 1, "id": 105953}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [173, 239, 2, 143, 237, 2, 185, 263, 2, 134, 263, 2, 170, 275, 2, 140, 273, 2, 169, 287, 2, 139, 283, 1, 185, 317, 2, 0, 0, 0, 198, 350, 1, 0, 0, 0, 159, 203, 1, 156, 230, 1], "image_id": 102071, "bbox": [126.13, 197.16, 70.63, 158.98], "category_id": 1, "id": 105987}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [335, 228, 2, 312, 228, 2, 343, 251, 2, 301, 241, 2, 324, 251, 2, 0, 0, 0, 329, 269, 2, 314, 268, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 201, 1, 324, 224, 1], "image_id": 102071, "bbox": [297.1, 196.74, 55.12, 95.41], "category_id": 1, "id": 105988}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [35, 288, 2, 32, 288, 2, 0, 0, 0, 59, 296, 2, 0, 0, 0, 0, 0, 0, 33, 337, 2, 30, 338, 2, 52, 379, 2, 36, 384, 2, 60, 415, 2, 23, 422, 2, 32, 256, 1, 29, 282, 1], "image_id": 102071, "bbox": [14.55, 256.42, 57.88, 175.07], "category_id": 1, "id": 105992}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [108, 223, 2, 75, 222, 2, 123, 252, 2, 59, 239, 2, 111, 270, 1, 79, 250, 2, 111, 280, 1, 77, 281, 2, 141, 325, 2, 53, 321, 2, 131, 373, 2, 57, 371, 2, 92, 187, 1, 92, 214, 1], "image_id": 102071, "bbox": [43.24, 177.31, 106.54, 222.35], "category_id": 1, "id": 105993}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [230, 225, 2, 204, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 279, 1, 211, 278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 191, 1, 214, 217, 1], "image_id": 102071, "bbox": [200.81, 185.76, 29.75, 67.47], "category_id": 1, "id": 105996}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101753, "bbox": [370.08, 93.3, 8.02, 15.24], "category_id": 1, "id": 106004}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 118, 1, 71, 124, 1], "image_id": 101753, "bbox": [60.82, 117.47, 20.02, 57.51], "category_id": 1, "id": 106024}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 135, 1, 108, 144, 1], "image_id": 101753, "bbox": [94.32, 132.37, 26.99, 64.4], "category_id": 1, "id": 106026}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [369, 197, 2, 400, 190, 2, 372, 225, 2, 412, 211, 2, 0, 0, 0, 0, 0, 0, 384, 241, 2, 403, 239, 2, 389, 272, 2, 405, 270, 2, 392, 304, 1, 407, 303, 2, 376, 168, 1, 380, 184, 1], "image_id": 101753, "bbox": [364.46, 166.52, 56.55, 143.48], "category_id": 1, "id": 106028}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 168, 2, 456, 180, 2, 467, 194, 2, 414, 208, 2, 417, 181, 2, 404, 178, 2, 522, 279, 2, 488, 283, 2, 533, 344, 2, 453, 351, 2, 572, 419, 2, 459, 419, 2, 481, 114, 1, 479, 165, 1], "image_id": 102242, "bbox": [386.58, 109.63, 202.95, 340.41], "category_id": 1, "id": 106046}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [46, 249, 2, 37, 250, 2, 0, 0, 0, 84, 297, 2, 58, 315, 2, 129, 276, 2, 29, 324, 2, 17, 328, 2, 104, 341, 2, 79, 347, 2, 41, 388, 2, 24, 395, 2, 56, 190, 1, 46, 234, 1], "image_id": 102242, "bbox": [1.57, 180.89, 169.03, 244.61], "category_id": 1, "id": 106059}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [33, 229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 609, 2, 114, 591, 2, 56, 633, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 29, 1, -7, 197, 1], "image_id": 101893, "bbox": [0, 0.21, 157.73, 639.63], "category_id": 1, "id": 106073}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [79, 234, 2, 29, 262, 2, 120, 260, 2, 66, 326, 2, 145, 282, 2, 125, 312, 2, 175, 319, 2, 146, 350, 2, 254, 324, 1, 242, 397, 2, 234, 381, 2, 0, 0, 0, 35, 176, 1, 47, 238, 1], "image_id": 102134, "bbox": [1.91, 157.96, 266.13, 260.38], "category_id": 1, "id": 106081}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [297, 218, 2, 316, 221, 2, 291, 231, 2, 320, 235, 2, 293, 243, 2, 320, 245, 2, 301, 251, 2, 312, 251, 2, 301, 267, 2, 311, 268, 2, 303, 288, 2, 310, 288, 2, 311, 198, 1, 308, 212, 1], "image_id": 101753, "bbox": [288.06, 194.52, 37.55, 100.49], "category_id": 1, "id": 106083}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [237, 182, 2, 203, 171, 2, 264, 210, 2, 201, 157, 2, 280, 189, 2, 241, 163, 2, 206, 240, 2, 201, 236, 2, 158, 303, 2, 210, 311, 2, 133, 349, 2, 255, 343, 2, 228, 137, 1, 222, 163, 1], "image_id": 100250, "bbox": [94.11, 132.38, 205.54, 242.43], "category_id": 1, "id": 106086}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [542, 108, 2, 496, 109, 2, 553, 146, 2, 485, 144, 2, 556, 174, 2, 481, 173, 2, 540, 174, 1, 505, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 75, 1, 522, 103, 1], "image_id": 101123, "bbox": [479.65, 67.24, 88.13, 122.11], "category_id": 1, "id": 106095}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [201, 277, 2, 212, 293, 2, 249, 308, 2, 245, 332, 2, 300, 315, 2, 304, 344, 2, 198, 406, 2, 204, 403, 2, 162, 493, 2, 210, 475, 2, 130, 564, 2, 195, 568, 2, 271, 221, 1, 221, 268, 1], "image_id": 101956, "bbox": [112.9, 193.8, 225.35, 397.34], "category_id": 1, "id": 106096}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 114, 2, 221, 110, 2, 294, 191, 2, 177, 199, 2, 307, 241, 2, 157, 269, 1, 263, 278, 1, 207, 272, 1, 274, 376, 2, 199, 386, 1, 271, 490, 2, 189, 490, 1, 311, 41, 1, 269, 94, 1], "image_id": 101956, "bbox": [150.13, 16.14, 191.25, 505.94], "category_id": 1, "id": 106100}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [84, 71, 2, 133, 94, 2, 50, 117, 2, 127, 158, 2, 0, 0, 0, 0, 0, 0, 56, 178, 2, 84, 192, 2, 23, 248, 2, 56, 270, 2, 0, 315, 1, 28, 338, 2, 152, 21, 1, 120, 66, 1], "image_id": 100783, "bbox": [0, 13.04, 162.52, 350.92], "category_id": 1, "id": 106102}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [275, 179, 2, 294, 186, 2, 269, 196, 2, 291, 207, 2, 0, 0, 0, 297, 223, 1, 275, 226, 2, 287, 228, 2, 0, 0, 0, 291, 252, 2, 0, 0, 0, 284, 281, 2, 301, 163, 1, 290, 176, 1], "image_id": 101753, "bbox": [263.33, 159.27, 43.95, 130.7], "category_id": 1, "id": 106103}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [113, 148, 2, 56, 152, 2, 130, 165, 2, 26, 188, 1, 149, 169, 2, 16, 216, 2, 100, 233, 1, 67, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 87, 1, 85, 141, 1], "image_id": 102134, "bbox": [0.96, 88.07, 168.48, 157], "category_id": 1, "id": 106114}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [190, 71, 2, 275, 72, 2, 164, 132, 1, 295, 124, 2, 0, 0, 0, 275, 156, 2, 209, 168, 2, 270, 166, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 12, 1, 225, 53, 1], "image_id": 101123, "bbox": [144.81, 9.84, 160.69, 177.21], "category_id": 1, "id": 106118}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [44, 328, 2, 123, 325, 1, 13, 412, 2, 0, 0, 0, 31, 461, 1, 0, 0, 0, 54, 471, 1, 122, 472, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 250, 1, 89, 300, 1], "image_id": 101887, "bbox": [4.33, 241.63, 114.14, 229.7], "category_id": 1, "id": 106132}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 122, 2, 306, 115, 2, 368, 183, 2, 290, 162, 2, 347, 218, 2, 251, 164, 2, 326, 229, 2, 301, 220, 2, 296, 291, 2, 324, 283, 2, 295, 362, 2, 343, 355, 2, 321, 52, 1, 324, 102, 1], "image_id": 100902, "bbox": [233.08, 47.3, 148.23, 351.08], "category_id": 1, "id": 106141}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [314, 309, 2, 246, 199, 2, 309, 393, 2, 156, 165, 2, 316, 461, 2, 273, 353, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 179, 1, 292, 234, 1], "image_id": 101893, "bbox": [135.8, 112.33, 327.95, 404.51], "category_id": 1, "id": 106143}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [377, 409, 2, 396, 394, 2, 305, 421, 2, 0, 0, 0, 254, 392, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 335, 1, 377, 388, 1], "image_id": 101316, "bbox": [228.01, 327.73, 184.19, 133.87], "category_id": 1, "id": 106149}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [146, 240, 2, 167, 238, 2, 132, 261, 2, 0, 0, 0, 123, 272, 2, 0, 0, 0, 152, 267, 2, 167, 267, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 219, 1, 152, 231, 1], "image_id": 101753, "bbox": [117.12, 214.09, 68.76, 83.87], "category_id": 1, "id": 106177}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [272, 175, 2, 242, 188, 2, 234, 210, 2, 216, 220, 2, 191, 224, 2, 177, 242, 2, 322, 211, 2, 283, 218, 2, 325, 286, 2, 259, 250, 2, 364, 251, 2, 262, 315, 2, 221, 138, 1, 252, 176, 1], "image_id": 101826, "bbox": [142.93, 128.48, 239.46, 199.8], "category_id": 1, "id": 106183}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 82, 2, 549, 83, 1, 571, 123, 2, 554, 113, 2, 539, 136, 2, 535, 129, 1, 561, 163, 2, 537, 163, 2, 556, 219, 2, 526, 213, 2, 568, 295, 2, 533, 285, 1, 548, 32, 1, 557, 68, 1], "image_id": 100902, "bbox": [516.51, 25.86, 70.24, 289.29], "category_id": 1, "id": 106184}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [221, 172, 2, 119, 200, 2, 264, 254, 2, 112, 285, 2, 290, 332, 2, 167, 323, 2, 215, 287, 2, 139, 304, 2, 327, 308, 2, 163, 372, 2, 231, 376, 2, 154, 400, 2, 152, 55, 1, 164, 163, 1], "image_id": 101891, "bbox": [79.46, 30.48, 262.31, 425.57], "category_id": 1, "id": 106227}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [159, 221, 2, 185, 217, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 261, 1, 186, 259, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 198, 1, 171, 210, 1], "image_id": 101753, "bbox": [154.04, 196.09, 39.73, 72.75], "category_id": 1, "id": 106250}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [373, 147, 2, 435, 201, 2, 308, 144, 2, 401, 275, 2, 256, 174, 2, 377, 257, 2, 294, 223, 2, 325, 256, 2, 386, 317, 2, 315, 362, 2, 0, 0, 0, 190, 365, 2, 461, 178, 1, 423, 175, 1], "image_id": 101365, "bbox": [165.25, 135.29, 310.27, 264.5], "category_id": 1, "id": 106261}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [422, 210, 2, 352, 209, 2, 400, 275, 2, 355, 307, 2, 446, 323, 2, 361, 383, 2, 375, 316, 2, 319, 317, 1, 430, 358, 2, 343, 366, 2, 0, 0, 0, 0, 0, 0, 415, 110, 1, 391, 199, 1], "image_id": 101891, "bbox": [285.84, 103.55, 204.95, 309.57], "category_id": 1, "id": 106270}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [568, 91, 2, 551, 91, 2, 574, 102, 2, 545, 101, 2, 581, 109, 1, 553, 106, 2, 565, 114, 1, 552, 115, 2, 570, 128, 1, 552, 130, 2, 575, 141, 2, 552, 145, 2, 559, 71, 1, 559, 87, 1], "image_id": 101827, "bbox": [540.23, 67.84, 44.6, 89.24], "category_id": 1, "id": 106281}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [75, 115, 2, 6, 80, 2, 84, 185, 2, 0, 0, 0, 86, 239, 2, 0, 0, 0, 8, 179, 2, 0, 0, 0, 11, 266, 2, 0, 0, 0, 7, 326, 1, 0, 0, 0, 77, 52, 1, 0, 0, 0], "image_id": 101826, "bbox": [0, 37.29, 104.02, 255.92], "category_id": 1, "id": 106284}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [636, 205, 2, 550, 193, 2, 630, 284, 2, 524, 260, 2, 582, 312, 2, 535, 300, 2, 594, 302, 2, 541, 286, 2, 618, 359, 2, 483, 310, 2, 0, 0, 0, 486, 394, 2, 588, 123, 1, 590, 189, 1], "image_id": 102134, "bbox": [447.06, 120.62, 192.94, 298.68], "category_id": 1, "id": 106290}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 49, 2, 356, 44, 2, 397, 116, 1, 351, 117, 2, 0, 0, 0, 0, 0, 0], "image_id": 101891, "bbox": [338.6, 0, 78.16, 132.17], "category_id": 1, "id": 106296}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 69, 2, 374, 59, 2, 431, 103, 2, 351, 76, 2, 444, 140, 2, 327, 85, 2, 405, 142, 2, 377, 139, 2, 412, 188, 2, 376, 180, 2, 431, 209, 2, 381, 240, 2, 390, 7, 1, 393, 51, 1], "image_id": 101826, "bbox": [312.05, 0.62, 144.42, 252.19], "category_id": 1, "id": 106299}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [531, 294, 2, 516, 300, 2, 0, 0, 0, 520, 321, 2, 0, 0, 0, 531, 334, 2, 533, 338, 2, 521, 341, 2, 530, 363, 2, 525, 362, 2, 518, 378, 2, 519, 388, 2, 523, 271, 1, 523, 289, 1], "image_id": 100836, "bbox": [506.26, 267.42, 37.96, 131.04], "category_id": 1, "id": 106330}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [288, 126, 2, 212, 124, 2, 309, 161, 1, 179, 162, 2, 339, 187, 1, 177, 180, 2, 272, 237, 2, 228, 236, 1, 277, 308, 1, 228, 305, 2, 264, 369, 1, 223, 369, 1, 256, 66, 1, 254, 113, 1], "image_id": 101365, "bbox": [167.11, 57.65, 141.12, 293.38], "category_id": 1, "id": 106337}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [18, 147, 2, 0, 0, 0, 31, 182, 2, 10, 172, 2, 0, 0, 0, 15, 147, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 183, 2, 0, 0, 0, 14, 235, 2, 8, 122, 1, 6, 144, 1], "image_id": 102242, "bbox": [0.35, 128.49, 38.33, 113.95], "category_id": 1, "id": 106344}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [291, 142, 2, 222, 122, 2, 317, 194, 2, 181, 81, 2, 283, 194, 2, 149, 38, 2, 267, 266, 2, 222, 255, 2, 265, 370, 2, 184, 315, 2, 287, 377, 2, 142, 412, 2, 273, 71, 1, 264, 123, 1], "image_id": 101496, "bbox": [110.36, 14.08, 225.23, 430.18], "category_id": 1, "id": 106349}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [223, 302, 2, 186, 318, 1, 237, 332, 2, 185, 342, 2, 211, 341, 2, 0, 0, 0, 232, 364, 2, 210, 368, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 276, 1, 202, 298, 1], "image_id": 101887, "bbox": [177.91, 272.22, 72.55, 102.76], "category_id": 1, "id": 106350}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [361, 212, 2, 0, 0, 0, 352, 188, 2, 0, 0, 0, 323, 153, 1, 0, 0, 0, 315, 279, 2, 297, 266, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 170, 1, 358, 202, 1], "image_id": 100783, "bbox": [286.63, 156.22, 101.28, 135.19], "category_id": 1, "id": 106357}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 96, 2, 500, 93, 2, 598, 80, 2, 449, 72, 2, 582, 36, 2, 445, 20, 2, 546, 210, 2, 496, 206, 2, 538, 292, 2, 468, 288, 2, 537, 375, 2, 451, 353, 2, 528, 45, 1, 526, 86, 1], "image_id": 101365, "bbox": [411.26, 1.87, 189.74, 396.31], "category_id": 1, "id": 106364}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [368, 128, 2, 322, 130, 2, 367, 156, 1, 320, 159, 2, 366, 182, 1, 318, 182, 1, 358, 175, 1, 330, 176, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 92, 1, 345, 122, 1], "image_id": 102134, "bbox": [309.09, 89.47, 68.45, 94.56], "category_id": 1, "id": 106368}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [428, 4, 2, 0, 0, 0, 433, 19, 2, 0, 0, 0, 433, 29, 2, 0, 0, 0, 446, 21, 2, 453, 19, 2, 432, 51, 2, 448, 51, 2, 438, 84, 2, 450, 81, 2, 0, 0, 0, 0, 0, 0], "image_id": 100902, "bbox": [407.67, 0, 53, 89.58], "category_id": 1, "id": 106384}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 92, 2, 2, 32, 4, 2, 80, 43, 2, 23, 36, 1, 76, 49, 1, 45, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101826, "bbox": [17.1, 0, 85.34, 61.01], "category_id": 1, "id": 106388}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 60, 1, 130, 71, 1], "image_id": 101123, "bbox": [113.08, 59.51, 33.67, 42.95], "category_id": 1, "id": 106400}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [239, 261, 1, 178, 245, 2, 277, 279, 1, 145, 236, 2, 316, 321, 2, 113, 222, 2, 204, 351, 2, 168, 337, 1, 144, 409, 1, 173, 376, 1, 130, 480, 2, 192, 408, 2, 217, 190, 1, 209, 237, 1], "image_id": 101496, "bbox": [81.32, 196.7, 259.34, 295.61], "category_id": 1, "id": 106403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 74, 2, 367, 83, 2, 437, 102, 2, 349, 115, 2, 461, 126, 2, 327, 136, 2, 412, 142, 2, 380, 143, 2, 429, 196, 2, 361, 181, 2, 454, 248, 2, 372, 242, 2, 382, 39, 1, 388, 72, 1], "image_id": 101627, "bbox": [313.8, 33.55, 167.73, 232.02], "category_id": 1, "id": 106412}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [61, 392, 2, 174, 411, 2, 34, 491, 2, 193, 500, 2, 72, 531, 2, 257, 500, 2, 62, 561, 2, 141, 565, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 301, 1, 129, 370, 1], "image_id": 101887, "bbox": [20.56, 296.8, 269.28, 342.96], "category_id": 1, "id": 106416}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 281, 1, 166, 289, 1], "image_id": 101316, "bbox": [152.87, 281.45, 32.42, 54.65], "category_id": 1, "id": 106426}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [59, 52, 2, 76, 61, 2, 42, 65, 2, 0, 0, 0, 41, 75, 2, 0, 0, 0, 47, 83, 2, 61, 88, 1, 41, 105, 2, 54, 109, 1, 32, 128, 2, 45, 132, 1, 80, 38, 1, 71, 51, 1], "image_id": 100783, "bbox": [26.07, 34.81, 59.03, 101.54], "category_id": 1, "id": 106427}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 271, 1, 181, 289, 1], "image_id": 101887, "bbox": [145.51, 270.19, 46.49, 51.82], "category_id": 1, "id": 106447}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [315, 139, 2, 291, 141, 2, 335, 142, 1, 275, 154, 2, 351, 141, 1, 278, 162, 2, 301, 176, 2, 285, 176, 2, 314, 204, 2, 274, 206, 2, 310, 236, 2, 256, 232, 2, 309, 118, 1, 305, 136, 1], "image_id": 101627, "bbox": [246.09, 120.12, 75.38, 121.54], "category_id": 1, "id": 106462}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [413, 156, 2, 367, 161, 2, 429, 185, 2, 351, 183, 2, 430, 211, 2, 363, 193, 2, 414, 224, 2, 381, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 112, 1, 388, 149, 1], "image_id": 102134, "bbox": [340.8, 106.73, 104.86, 126.4], "category_id": 1, "id": 106463}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [544, 82, 2, 530, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 532, 137, 1, 522, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 34, 1, 557, 69, 1], "image_id": 100902, "bbox": [513.59, 46.19, 57.42, 182.14], "category_id": 1, "id": 106469}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [137, 130, 2, 108, 129, 2, 147, 138, 2, 99, 139, 2, 160, 142, 2, 84, 143, 2, 133, 171, 2, 111, 166, 2, 143, 201, 2, 107, 196, 2, 153, 229, 2, 104, 218, 1, 122, 104, 1, 122, 125, 1], "image_id": 101627, "bbox": [72.68, 99.24, 99.94, 146.07], "category_id": 1, "id": 106477}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 636, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 107, 2, 0, 0, 0, 0, 0, 0, 630, 190, 2, 0, 0, 0, 623, 252, 2, 0, 0, 0, 629, 38, 1, 0, 0, 0], "image_id": 100902, "bbox": [591.19, 34.69, 48.81, 230.71], "category_id": 1, "id": 106479}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 90, 1], "image_id": 101123, "bbox": [55.08, 67.79, 24.49, 37.17], "category_id": 1, "id": 106498}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [224, 144, 2, 183, 146, 2, 233, 171, 1, 173, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 101, 1, 203, 135, 1], "image_id": 102134, "bbox": [168.49, 100.16, 67.07, 62.71], "category_id": 1, "id": 106539}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [494, 152, 2, 436, 155, 2, 495, 190, 1, 439, 189, 2, 485, 220, 1, 434, 201, 1, 476, 220, 1, 447, 220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 105, 1, 460, 146, 1], "image_id": 102134, "bbox": [428.87, 97.41, 79.46, 127.32], "category_id": 1, "id": 106558}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [109, 198, 2, 131, 200, 2, 100, 218, 2, 129, 215, 2, 97, 222, 2, 0, 0, 0, 109, 235, 2, 123, 236, 2, 108, 260, 1, 120, 259, 2, 109, 283, 1, 125, 278, 1, 119, 177, 1, 120, 190, 1], "image_id": 101753, "bbox": [94.18, 175.08, 41.73, 116.02], "category_id": 1, "id": 106572}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 70, 1, 37, 77, 1], "image_id": 101123, "bbox": [26.41, 69.5, 16.26, 24.15], "category_id": 1, "id": 106574}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, 138, 1], "image_id": 101827, "bbox": [458.44, 118.24, 21.46, 43.16], "category_id": 1, "id": 106583}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [66, 8, 2, 45, 7, 2, 53, 24, 2, 28, 23, 2, 40, 20, 2, 44, 17, 2, 79, 57, 2, 59, 59, 2, 69, 91, 2, 67, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 5, 1], "image_id": 100250, "bbox": [25.59, 0.11, 59.8, 94.41], "category_id": 1, "id": 106591}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 73, 1, 22, 83, 1], "image_id": 101123, "bbox": [16.48, 72.85, 15.61, 25.77], "category_id": 1, "id": 106608}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 125, 1, 342, 135, 1], "image_id": 101753, "bbox": [332.19, 124.9, 20.81, 59.64], "category_id": 1, "id": 106609}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 1], "image_id": 101123, "bbox": [0, 65.23, 21.82, 42.67], "category_id": 1, "id": 106612}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 107, 1, 186, 115, 1], "image_id": 101753, "bbox": [176.81, 106.45, 15.82, 48.57], "category_id": 1, "id": 106618}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [289, 91, 1, 311, 84, 2, 0, 0, 0, 324, 112, 2, 0, 0, 0, 0, 0, 0, 300, 141, 1, 316, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 53, 1, 295, 75, 1], "image_id": 101123, "bbox": [274.56, 47.69, 54.64, 85.38], "category_id": 1, "id": 106620}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [342, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 64, 1, 324, 88, 1], "image_id": 101123, "bbox": [312.49, 59.39, 39.37, 60.97], "category_id": 1, "id": 106623}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 51, 1, 337, 72, 1], "image_id": 101123, "bbox": [329.12, 48.35, 29.77, 56.94], "category_id": 1, "id": 106624}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 77, 1, 409, 87, 1], "image_id": 101123, "bbox": [399.08, 74.45, 28.78, 57.37], "category_id": 1, "id": 106625}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [590, 83, 2, 625, 83, 2, 579, 111, 2, 636, 107, 2, 592, 118, 2, 622, 114, 2, 596, 132, 2, 624, 132, 2, 600, 177, 1, 625, 176, 1, 0, 0, 0, 0, 0, 0, 603, 54, 1, 606, 73, 1], "image_id": 101123, "bbox": [573.1, 51.21, 66.9, 95.31], "category_id": 1, "id": 106629}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [417, 260, 2, 461, 250, 2, 381, 287, 2, 0, 0, 0, 370, 277, 2, 0, 0, 0, 461, 324, 1, 490, 321, 1, 398, 300, 2, 0, 0, 0, 436, 360, 2, 0, 0, 0, 421, 221, 1, 431, 245, 1], "image_id": 100250, "bbox": [363.24, 211.26, 111.07, 162.47], "category_id": 1, "id": 106643}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [579, 40, 2, 555, 38, 2, 584, 49, 2, 533, 43, 2, 569, 49, 2, 551, 47, 2, 577, 90, 1, 558, 88, 2, 570, 134, 2, 575, 133, 2, 0, 0, 0, 0, 0, 0, 564, 16, 1, 564, 36, 1], "image_id": 100250, "bbox": [528.14, 14.84, 67.18, 121.26], "category_id": 1, "id": 106644}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 32, 1, 50, 42, 1], "image_id": 100783, "bbox": [19.3, 30.45, 40.49, 53.1], "category_id": 1, "id": 106665}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 85, 1, 379, 94, 1], "image_id": 101049, "bbox": [363.36, 84.79, 22.4, 58.41], "category_id": 1, "id": 106686}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [49, 243, 2, 114, 252, 2, 35, 308, 2, 125, 322, 2, 0, 0, 0, 148, 368, 2, 50, 362, 2, 98, 365, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 168, 1, 87, 223, 1], "image_id": 102319, "bbox": [27.83, 161.2, 136.25, 261], "category_id": 1, "id": 106699}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [587, 92, 2, 551, 89, 1, 590, 111, 2, 542, 116, 1, 572, 102, 1, 548, 103, 1, 578, 133, 2, 557, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 56, 1, 571, 82, 1], "image_id": 101827, "bbox": [562.39, 52.47, 33.14, 99.38], "category_id": 1, "id": 106712}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [151, 162, 1, 204, 162, 2, 139, 190, 2, 221, 186, 2, 151, 217, 2, 209, 213, 2, 160, 220, 2, 194, 221, 2, 145, 269, 2, 205, 261, 2, 131, 320, 2, 215, 317, 2, 179, 127, 1, 177, 151, 1], "image_id": 102379, "bbox": [117.57, 124.31, 110.09, 205.2], "category_id": 1, "id": 106713}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [294, 272, 2, 256, 271, 2, 308, 301, 2, 251, 303, 2, 291, 309, 2, 241, 317, 2, 282, 331, 2, 262, 329, 2, 279, 365, 2, 261, 358, 2, 281, 396, 2, 261, 392, 2, 280, 232, 1, 277, 261, 1], "image_id": 101761, "bbox": [231.89, 227.56, 80.75, 189.21], "category_id": 1, "id": 106723}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [208, 13, 2, 182, 16, 2, 217, 23, 2, 178, 35, 2, 197, 23, 2, 193, 27, 2, 215, 59, 2, 198, 60, 2, 207, 104, 2, 202, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 11, 1], "image_id": 100250, "bbox": [172.92, 0.29, 55.14, 106.8], "category_id": 1, "id": 106728}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [600, 255, 2, 0, 0, 0, 571, 313, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 378, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 135, 1, 581, 195, 1], "image_id": 102319, "bbox": [557.5, 170.8, 82.5, 255.24], "category_id": 1, "id": 106732}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [53, 116, 2, 20, 119, 1, 56, 146, 2, 20, 139, 1, 42, 124, 2, 33, 118, 2, 47, 160, 2, 32, 158, 2, 59, 154, 2, 24, 159, 1, 58, 192, 1, 38, 195, 1, 40, 84, 1, 38, 113, 1], "image_id": 102242, "bbox": [20.13, 83.36, 46.43, 104.59], "category_id": 1, "id": 106739}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [361, 265, 2, 319, 259, 2, 370, 295, 2, 0, 0, 0, 353, 309, 2, 0, 0, 0, 348, 315, 2, 323, 308, 2, 348, 362, 2, 321, 363, 2, 350, 403, 2, 324, 401, 2, 335, 223, 1, 335, 252, 1], "image_id": 101761, "bbox": [302.06, 220.06, 72.77, 200.78], "category_id": 1, "id": 106771}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 140, 1, 493, 148, 1], "image_id": 101753, "bbox": [485.95, 137.89, 18.85, 43.99], "category_id": 1, "id": 106775}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [60, 209, 2, 44, 213, 2, 0, 0, 0, 41, 234, 2, 0, 0, 0, 57, 250, 2, 62, 242, 2, 53, 245, 2, 83, 269, 2, 51, 277, 2, 91, 290, 1, 52, 305, 2, 56, 189, 1, 53, 205, 1], "image_id": 101696, "bbox": [33.8, 188.39, 54.59, 123.76], "category_id": 1, "id": 106777}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [512, 68, 2, 475, 65, 2, 541, 77, 2, 476, 76, 2, 514, 78, 2, 503, 75, 2, 503, 143, 1, 474, 142, 1, 500, 186, 1, 472, 189, 1, 0, 0, 0, 0, 0, 0, 498, 33, 1, 494, 62, 1], "image_id": 102479, "bbox": [460.01, 30.74, 88.86, 155.12], "category_id": 1, "id": 106785}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [131, 72, 2, 120, 73, 2, 156, 94, 2, 0, 0, 0, 147, 139, 2, 0, 0, 0, 131, 140, 2, 118, 139, 2, 141, 199, 2, 125, 203, 2, 163, 249, 2, 142, 245, 2, 110, 35, 1, 120, 63, 1], "image_id": 101049, "bbox": [90.43, 30.96, 86.81, 252.44], "category_id": 1, "id": 106795}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [235, 152, 2, 214, 152, 2, 244, 168, 2, 212, 172, 2, 0, 0, 0, 218, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 131, 1, 224, 147, 1], "image_id": 101696, "bbox": [206.78, 131.15, 43.08, 64.14], "category_id": 1, "id": 106813}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [242, 181, 2, 220, 180, 2, 244, 195, 2, 221, 196, 2, 247, 200, 2, 229, 202, 2, 236, 206, 2, 226, 206, 2, 252, 206, 1, 223, 210, 2, 0, 0, 0, 225, 233, 2, 231, 158, 1, 231, 174, 1], "image_id": 101696, "bbox": [214.42, 158.27, 39.74, 81.56], "category_id": 1, "id": 106818}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [190, 179, 1, 118, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 103, 1, 154, 160, 1], "image_id": 102319, "bbox": [114.17, 98.73, 86.34, 147.91], "category_id": 1, "id": 106823}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 251, 1, 477, 260, 1], "image_id": 101761, "bbox": [463.68, 249.92, 20.31, 66.97], "category_id": 1, "id": 106859}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [305, 126, 2, 237, 135, 2, 324, 198, 2, 232, 231, 2, 373, 222, 2, 295, 271, 2, 323, 297, 2, 263, 308, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 51, 1, 268, 122, 1], "image_id": 101049, "bbox": [198.46, 35.5, 212.17, 318.66], "category_id": 1, "id": 106868}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [458, 40, 2, 413, 33, 2, 463, 76, 2, 407, 67, 2, 451, 35, 2, 426, 33, 2, 448, 105, 1, 415, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 4, 1, 437, 30, 1], "image_id": 102479, "bbox": [400.24, 0, 67.62, 80.71], "category_id": 1, "id": 106893}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [356, 74, 2, 335, 80, 2, 361, 81, 2, 335, 94, 2, 354, 78, 2, 346, 92, 2, 356, 113, 2, 343, 115, 2, 359, 134, 2, 343, 136, 2, 360, 153, 2, 344, 155, 2, 342, 54, 1, 343, 71, 1], "image_id": 101049, "bbox": [326.73, 53.24, 38.72, 105.69], "category_id": 1, "id": 106895}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [458, 31, 2, 438, 33, 2, 457, 39, 2, 424, 38, 2, 435, 44, 2, 411, 37, 2, 460, 78, 2, 452, 79, 2, 429, 80, 2, 458, 113, 2, 445, 115, 2, 0, 0, 0, 445, 8, 1, 448, 28, 1], "image_id": 100250, "bbox": [399.57, 5.43, 74.23, 121.48], "category_id": 1, "id": 106922}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [56, 21, 2, 37, 19, 2, 55, 35, 2, 30, 33, 2, 56, 43, 2, 32, 45, 2, 51, 47, 2, 37, 46, 2, 50, 68, 2, 34, 66, 2, 51, 86, 2, 26, 84, 2, 47, 3, 1, 46, 16, 1], "image_id": 102379, "bbox": [19.6, 5.55, 42.98, 86.71], "category_id": 1, "id": 106939}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [422, 201, 2, 367, 200, 1, 448, 257, 2, 0, 0, 0, 430, 226, 2, 0, 0, 0, 411, 286, 1, 370, 286, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 134, 1, 393, 188, 1], "image_id": 102319, "bbox": [368.28, 128.16, 87.61, 144.34], "category_id": 1, "id": 106943}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [355, 128, 2, 296, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 72, 1, 327, 115, 1], "image_id": 101365, "bbox": [296.34, 69.78, 72.59, 67.8], "category_id": 1, "id": 106958}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [435, 157, 1, 382, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 98, 1, 411, 139, 1], "image_id": 101365, "bbox": [377.54, 91.57, 71.16, 66.43], "category_id": 1, "id": 106983}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [488, 158, 1, 443, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101365, "bbox": [436.81, 92.37, 49.27, 60.26], "category_id": 1, "id": 107018}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [362, 34, 2, 349, 34, 2, 367, 45, 2, 344, 44, 2, 367, 53, 2, 344, 53, 2, 361, 51, 2, 349, 50, 2, 367, 58, 2, 343, 59, 2, 372, 75, 2, 338, 74, 2, 358, 22, 1, 357, 31, 1], "image_id": 102379, "bbox": [333.17, 22.98, 42.99, 58.62], "category_id": 1, "id": 107047}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [439, 92, 2, 461, 94, 2, 435, 110, 2, 465, 113, 2, 431, 123, 1, 461, 121, 2, 442, 125, 1, 458, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 71, 1, 450, 86, 1], "image_id": 101123, "bbox": [428.41, 69.97, 38.9, 59.03], "category_id": 1, "id": 107049}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 12, 1, 306, 20, 1], "image_id": 102379, "bbox": [292.34, 11.51, 22.2, 47.85], "category_id": 1, "id": 107062}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 160, 1, 258, 174, 1], "image_id": 101696, "bbox": [245.75, 157.68, 23.75, 41.26], "category_id": 1, "id": 107063}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [434, 81, 2, 410, 75, 2, 442, 100, 2, 388, 72, 2, 442, 115, 2, 396, 59, 2, 417, 115, 2, 403, 112, 2, 435, 129, 2, 380, 132, 2, 445, 162, 2, 347, 143, 2, 431, 57, 1, 422, 72, 1], "image_id": 102379, "bbox": [336.54, 49.97, 127.33, 120.38], "category_id": 1, "id": 107067}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [594, 155, 2, 0, 0, 0, 587, 188, 2, 0, 0, 0, 591, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101365, "bbox": [578.34, 92.32, 23.66, 130.73], "category_id": 1, "id": 107078}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [46, 87, 2, 14, 91, 2, 46, 129, 2, 0, 0, 0, 9, 137, 2, 0, 0, 0, 27, 153, 2, 12, 154, 2, 39, 205, 2, 25, 208, 2, 70, 248, 2, 58, 246, 2, 18, 43, 1, 28, 77, 1], "image_id": 101049, "bbox": [0, 39.53, 83.9, 233.96], "category_id": 1, "id": 107096}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [506, 200, 2, 534, 201, 2, 505, 215, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 231, 2, 530, 231, 2, 513, 257, 2, 526, 261, 1, 512, 277, 1, 526, 280, 2, 517, 179, 1, 519, 193, 1], "image_id": 101696, "bbox": [501.6, 176.39, 37.34, 113.48], "category_id": 1, "id": 107106}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [602, 206, 2, 550, 220, 2, 0, 0, 0, 543, 276, 2, 0, 0, 0, 554, 332, 2, 602, 341, 1, 556, 351, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 587, 135, 1, 585, 193, 1], "image_id": 102319, "bbox": [533.51, 130.5, 85.4, 296.5], "category_id": 1, "id": 107119}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, 5, 1, 427, 13, 1], "image_id": 102379, "bbox": [413.64, 2.66, 20.95, 30.72], "category_id": 1, "id": 107121}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 197, 1, 440, 202, 1], "image_id": 101696, "bbox": [428.58, 201.05, 23.21, 62.01], "category_id": 1, "id": 107145}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 4, 1, 398, 12, 1], "image_id": 102379, "bbox": [388.14, 3.24, 18.12, 24.21], "category_id": 1, "id": 107180}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [316, 218, 2, 384, 218, 2, 299, 279, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 314, 2, 379, 318, 1, 328, 394, 2, 379, 393, 1, 0, 0, 0, 0, 0, 0, 343, 146, 1, 346, 190, 1], "image_id": 102319, "bbox": [296.5, 134.34, 96.92, 287.86], "category_id": 1, "id": 107195}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 195, 1], "image_id": 101696, "bbox": [406.23, 198.28, 13.96, 61.04], "category_id": 1, "id": 107198}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, 205, 1, 623, 217, 1], "image_id": 101696, "bbox": [594.68, 205.48, 41.7, 61.16], "category_id": 1, "id": 107210}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [176, 239, 2, 225, 244, 2, 163, 310, 2, 237, 323, 2, 0, 0, 0, 260, 304, 2, 187, 367, 2, 236, 375, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 156, 1, 212, 211, 1], "image_id": 102319, "bbox": [154.84, 151.47, 124.76, 275.53], "category_id": 1, "id": 107244}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [26, 169, 2, 40, 177, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 294, 2, 27, 298, 1, 32, 391, 2, 40, 392, 1, 0, 0, 0, 0, 0, 0, 86, 137, 1, 61, 178, 1], "image_id": 102319, "bbox": [0.32, 127.04, 109.94, 298.18], "category_id": 1, "id": 107246}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 196, 1, 135, 202, 1], "image_id": 101696, "bbox": [127.26, 196.55, 16.12, 20.43], "category_id": 1, "id": 107248}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 8, 1], "image_id": 102379, "bbox": [241.22, 1.11, 23.01, 27.9], "category_id": 1, "id": 107254}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [413, 84, 2, 391, 86, 2, 415, 100, 2, 384, 102, 2, 427, 99, 1, 398, 115, 2, 409, 125, 2, 396, 124, 2, 416, 153, 2, 404, 155, 2, 412, 179, 2, 393, 183, 2, 413, 62, 1, 404, 79, 1], "image_id": 101049, "bbox": [381.2, 57.99, 45.78, 139.45], "category_id": 1, "id": 107263}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 57, 1, 472, 66, 1], "image_id": 101049, "bbox": [451.52, 52.7, 32.18, 103.15], "category_id": 1, "id": 107280}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 7, 1], "image_id": 102379, "bbox": [268.66, 0, 23.06, 32.02], "category_id": 1, "id": 107294}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 1], "image_id": 102379, "bbox": [63.8, 0, 32.27, 21.77], "category_id": 1, "id": 107329}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [251, 60, 1, 219, 62, 2, 0, 0, 0, 206, 82, 2, 0, 0, 0, 201, 100, 2, 245, 118, 1, 220, 121, 2, 242, 161, 1, 224, 162, 1, 0, 0, 0, 0, 0, 0, 253, 37, 1, 242, 58, 1], "image_id": 101049, "bbox": [191.77, 30.09, 67.88, 110.84], "category_id": 1, "id": 107376}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 75, 1, 580, 79, 1], "image_id": 101049, "bbox": [566.12, 73.53, 26.69, 48.09], "category_id": 1, "id": 107386}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 64, 1, 201, 74, 1], "image_id": 101049, "bbox": [169.8, 61.19, 41.54, 40.79], "category_id": 1, "id": 107390}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 64, 1, 531, 75, 1], "image_id": 101049, "bbox": [517.04, 63.17, 34.61, 83.25], "category_id": 1, "id": 107391}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 121, 1, 443, 124, 1], "image_id": 101761, "bbox": [440.94, 120.89, 5.16, 13.26], "category_id": 1, "id": 107398}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 205, 1, 603, 209, 1], "image_id": 101696, "bbox": [596.95, 204.75, 11.04, 19.48], "category_id": 1, "id": 107424}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [86, 55, 2, 106, 61, 2, 0, 0, 0, 115, 93, 1, 0, 0, 0, 0, 0, 0, 84, 121, 1, 98, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 17, 1, 101, 44, 1], "image_id": 102479, "bbox": [71.29, 13.47, 53.77, 113.62], "category_id": 1, "id": 107434}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 564, 267, 2, 598, 301, 2, 0, 0, 0, 569, 308, 2, 0, 0, 0, 0, 0, 0, 566, 327, 2, 592, 311, 2, 0, 0, 0, 592, 355, 1, 0, 0, 0, 595, 224, 1, 590, 266, 1], "image_id": 101365, "bbox": [552.09, 219.16, 49.91, 141.75], "category_id": 1, "id": 107460}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [190, 67, 2, 158, 61, 2, 0, 0, 0, 151, 91, 1, 0, 0, 0, 143, 112, 2, 175, 124, 2, 152, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 21, 1, 173, 52, 1], "image_id": 102479, "bbox": [138.07, 15.18, 64.55, 117.82], "category_id": 1, "id": 107464}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [229, 65, 2, 189, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 119, 2, 192, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 26, 1, 207, 58, 1], "image_id": 102479, "bbox": [188.68, 22.37, 52.93, 115.64], "category_id": 1, "id": 107468}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [267, 30, 2, 239, 26, 2, 267, 54, 2, 228, 50, 2, 268, 75, 1, 222, 70, 1, 260, 73, 2, 237, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 0, 1, 255, 18, 1], "image_id": 102479, "bbox": [223.8, 3.89, 48.65, 81.74], "category_id": 1, "id": 107495}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [302, 45, 2, 276, 44, 2, 305, 68, 2, 273, 66, 2, 284, 75, 2, 293, 77, 2, 292, 87, 2, 277, 86, 2, 290, 132, 1, 275, 132, 2, 0, 0, 0, 0, 0, 0, 294, 12, 1, 292, 37, 1], "image_id": 102479, "bbox": [263.69, 13.62, 46.71, 125.52], "category_id": 1, "id": 107512}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [617, 90, 2, 588, 89, 1, 639, 86, 1, 578, 83, 2, 624, 88, 2, 599, 85, 2, 607, 150, 1, 584, 148, 1, 610, 194, 1, 581, 191, 1, 594, 227, 1, 575, 229, 1, 605, 61, 1, 603, 82, 1], "image_id": 102479, "bbox": [571.97, 56.83, 68.03, 177.48], "category_id": 1, "id": 107525}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 26, 1, 317, 56, 1], "image_id": 102479, "bbox": [309.42, 20.43, 28.22, 52.55], "category_id": 1, "id": 107528}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 245, 2, 393, 266, 2, 450, 273, 2, 397, 298, 2, 423, 285, 2, 397, 327, 2, 435, 327, 2, 413, 327, 2, 421, 376, 2, 407, 372, 2, 435, 421, 2, 414, 405, 2, 392, 217, 1, 402, 247, 1], "image_id": 101761, "bbox": [385.08, 211.42, 73.35, 230.83], "category_id": 1, "id": 107552}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [29, 44, 2, 0, 0, 0, 55, 59, 2, 0, 0, 0, 36, 58, 2, 6, 58, 2, 22, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 14, 1, 8, 44, 1], "image_id": 102479, "bbox": [0.07, 7.46, 59.99, 179.78], "category_id": 1, "id": 107567}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 196, 1, 122, 202, 1], "image_id": 101696, "bbox": [112.88, 196.33, 17.95, 30.16], "category_id": 1, "id": 107574}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 280, 1, 0, 0, 0], "image_id": 101887, "bbox": [0, 271.38, 18.23, 135.9], "category_id": 1, "id": 107575}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [534, 79, 2, 498, 80, 2, 559, 90, 2, 468, 90, 2, 569, 90, 1, 469, 67, 2, 534, 143, 2, 506, 142, 2, 539, 189, 2, 498, 169, 2, 546, 226, 2, 502, 225, 2, 509, 57, 1, 513, 78, 1], "image_id": 101627, "bbox": [458.81, 41.86, 105.72, 202.19], "category_id": 1, "id": 107586}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [295, 168, 2, 216, 172, 2, 315, 217, 2, 203, 222, 2, 284, 234, 2, 201, 250, 2, 274, 279, 2, 223, 281, 2, 268, 379, 2, 229, 379, 1, 0, 0, 0, 0, 0, 0, 248, 79, 1, 250, 145, 1], "image_id": 102130, "bbox": [189.84, 69.03, 135.19, 349.49], "category_id": 1, "id": 107600}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [622, 48, 2, 603, 48, 2, 613, 56, 2, 590, 56, 2, 598, 47, 2, 0, 0, 0, 621, 104, 2, 604, 88, 2, 631, 139, 2, 583, 92, 2, 0, 0, 0, 587, 126, 2, 607, 24, 1, 611, 43, 1], "image_id": 100250, "bbox": [573.37, 22.16, 66.63, 120.15], "category_id": 1, "id": 107620}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [293, 138, 1, 251, 140, 2, 297, 168, 2, 243, 169, 1, 282, 198, 1, 255, 199, 1, 284, 188, 1, 260, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 98, 1, 271, 130, 1], "image_id": 102134, "bbox": [237.41, 93.82, 67.97, 82.32], "category_id": 1, "id": 107629}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 50, 348, 2, 0, 0, 0, 93, 479, 2, 0, 0, 0, 98, 556, 2, 0, 0, 0, 53, 570, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 219, 1, 9, 304, 1], "image_id": 100835, "bbox": [8.63, 209.98, 113.62, 421.39], "category_id": 1, "id": 107647}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 2, 1, 380, 11, 1], "image_id": 102379, "bbox": [366.48, 1.12, 23.35, 22.43], "category_id": 1, "id": 107658}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [610, 98, 1, 636, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 153, 2, 633, 153, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 67, 1, 632, 88, 1], "image_id": 101827, "bbox": [602.6, 64.29, 37.4, 94.04], "category_id": 1, "id": 107662}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [150, 75, 2, 157, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 103, 2, 160, 102, 1, 165, 124, 1, 156, 125, 1, 170, 148, 2, 157, 145, 2, 0, 0, 0, 146, 72, 1], "image_id": 101049, "bbox": [142.05, 58.85, 37.26, 98.99], "category_id": 1, "id": 107669}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [22, 1, 1, 0, 0, 0, 10, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 47, 2, 22, 47, 2, 26, 86, 2, 37, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100250, "bbox": [1.21, 1.3, 55.02, 90.14], "category_id": 1, "id": 107678}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 346, 356, 2, 0, 0, 0, 326, 360, 2, 0, 0, 0, 292, 365, 2, 331, 424, 1, 316, 410, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 351, 1], "image_id": 101316, "bbox": [269.03, 317.88, 111.99, 90.82], "category_id": 1, "id": 107683}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 275, 2, 316, 279, 1, 411, 349, 2, 299, 340, 2, 377, 353, 2, 300, 376, 2, 373, 371, 2, 323, 368, 2, 321, 444, 2, 271, 435, 2, 270, 538, 2, 277, 524, 2, 352, 186, 1, 352, 258, 1], "image_id": 102130, "bbox": [224.36, 179.54, 204.22, 402.69], "category_id": 1, "id": 107684}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [552, 187, 2, 496, 175, 2, 549, 234, 1, 465, 212, 2, 506, 263, 2, 430, 240, 1, 500, 257, 2, 470, 248, 2, 461, 302, 2, 413, 275, 2, 452, 347, 2, 427, 352, 2, 525, 122, 1, 523, 172, 1], "image_id": 102134, "bbox": [401.93, 110.6, 161.19, 264.81], "category_id": 1, "id": 107716}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [26, 91, 2, 0, 0, 0, 12, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 15, 1, 3, 69, 1], "image_id": 100783, "bbox": [0.65, 10.03, 33.77, 159.17], "category_id": 1, "id": 107718}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [55.49, 251.88, 5.65, 7.85], "category_id": 1, "id": 107720}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [428.94, 119.96, 8.54, 12.47], "category_id": 1, "id": 107744}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 6, 1, 415, 15, 1], "image_id": 102379, "bbox": [406.45, 6.51, 14.21, 15.75], "category_id": 1, "id": 107750}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 14, 1, 0, 0, 0], "image_id": 100250, "bbox": [405.21, 13.84, 24.97, 21.05], "category_id": 1, "id": 107755}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [369, 64, 2, 347, 63, 2, 386, 81, 2, 346, 79, 1, 375, 88, 2, 337, 86, 2, 356, 98, 2, 344, 96, 2, 340, 111, 2, 320, 109, 2, 0, 0, 0, 0, 0, 0, 353, 36, 1, 356, 57, 1], "image_id": 100250, "bbox": [312.25, 35.26, 76.68, 81.84], "category_id": 1, "id": 107766}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [398, 55, 2, 355, 44, 2, 0, 0, 0, 356, 75, 1, 0, 0, 0, 362, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 11, 1, 376, 41, 1], "image_id": 102479, "bbox": [347, 8.51, 58.16, 69.57], "category_id": 1, "id": 107788}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [283.78, 182.22, 5.41, 10.06], "category_id": 1, "id": 107790}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [211.26, 210.32, 3.72, 6.78], "category_id": 1, "id": 107796}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [158.78, 255.45, 3.81, 8.3], "category_id": 1, "id": 107804}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [202.79, 244.11, 5.15, 9.21], "category_id": 1, "id": 107811}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 46, 1], "image_id": 102479, "bbox": [83.46, 30.64, 44.05, 42.1], "category_id": 1, "id": 107846}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101887, "bbox": [45.56, 278.61, 15.91, 21.53], "category_id": 1, "id": 107864}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 119, 1, 264, 127, 1], "image_id": 101753, "bbox": [255.57, 119.23, 17.94, 47.26], "category_id": 1, "id": 107882}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [210.65, 245.26, 3.15, 7.25], "category_id": 1, "id": 107913}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 5, 1, 456, 13, 1], "image_id": 102379, "bbox": [431.97, 4.77, 31.55, 30.74], "category_id": 1, "id": 107932}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101696, "bbox": [577.25, 205.42, 4.22, 9.34], "category_id": 1, "id": 107950}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101761, "bbox": [434.68, 121.01, 6.07, 12.49], "category_id": 1, "id": 107961}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [202, 279, 1, 125, 283, 2, 220, 343, 2, 104, 352, 2, 218, 372, 2, 115, 376, 2, 200, 381, 2, 143, 383, 2, 226, 435, 2, 137, 441, 2, 173, 532, 2, 195, 537, 2, 157, 197, 1, 160, 262, 1], "image_id": 102130, "bbox": [84.78, 187.84, 161.25, 395.64], "category_id": 1, "id": 108003}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [169, 258, 1, 115, 258, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 373, 2, 131, 375, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 188, 1, 144, 241, 1], "image_id": 102319, "bbox": [123.53, 184.46, 58.09, 234.5], "category_id": 1, "id": 108007}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [90, 211, 2, 84, 212, 2, 92, 226, 2, 0, 0, 0, 78, 236, 2, 0, 0, 0, 89, 239, 2, 83, 237, 2, 90, 271, 2, 86, 270, 2, 95, 294, 2, 91, 291, 2, 82, 189, 1, 86, 205, 1], "image_id": 101696, "bbox": [69.84, 186.63, 32.6, 122.64], "category_id": 1, "id": 108013}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [473, 242, 2, 493, 235, 2, 503, 264, 2, 0, 0, 0, 495, 302, 2, 468, 261, 2, 530, 277, 2, 555, 274, 2, 475, 301, 2, 511, 304, 2, 461, 364, 2, 542, 356, 2, 463, 207, 1, 475, 229, 1], "image_id": 100250, "bbox": [430, 199.92, 142.96, 185.4], "category_id": 1, "id": 108015}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [535, 292, 2, 463, 288, 2, 532, 346, 2, 438, 326, 2, 500, 368, 2, 400, 344, 2, 533, 408, 2, 493, 406, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 212, 1, 495, 274, 1], "image_id": 100902, "bbox": [368.73, 197.33, 188.31, 228.9], "category_id": 1, "id": 108030}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 68, 2, 85, 261, 2, 53, 254, 2, 170, 407, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101365, "bbox": [2.16, 0, 163.84, 397.42], "category_id": 1, "id": 108036}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [287, 254, 2, 223, 253, 1, 297, 324, 1, 0, 0, 0, 319, 354, 2, 0, 0, 0, 281, 371, 2, 231, 372, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 181, 1, 256, 227, 1], "image_id": 102319, "bbox": [231.8, 178.56, 103.15, 248.44], "category_id": 1, "id": 108046}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101887, "bbox": [7.61, 287.99, 29.68, 56.79], "category_id": 1, "id": 108048}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [334, 167, 2, 250, 175, 2, 396, 170, 2, 245, 245, 2, 448, 157, 2, 272, 267, 2, 334, 306, 2, 283, 309, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 94, 1, 286, 163, 1], "image_id": 101046, "bbox": [221.78, 86.17, 265.9, 232.81], "category_id": 1, "id": 108053}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [360, 285, 2, 436, 290, 2, 351, 346, 2, 444, 351, 2, 0, 0, 0, 449, 405, 2, 376, 377, 2, 417, 378, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 214, 1, 399, 268, 1], "image_id": 102319, "bbox": [342.92, 211.31, 117.35, 215.39], "category_id": 1, "id": 108070}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [198, 360, 2, 88, 376, 1, 212, 437, 1, 60, 486, 1, 194, 502, 1, 119, 532, 1, 179, 524, 2, 111, 533, 1, 176, 622, 1, 113, 629, 1, 0, 0, 0, 0, 0, 0, 168, 268, 1, 150, 345, 1], "image_id": 101893, "bbox": [74.61, 209.91, 184.04, 430.09], "category_id": 1, "id": 108082}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [277, 176, 2, 214, 198, 2, 298, 223, 2, 211, 277, 1, 295, 288, 2, 276, 317, 1, 271, 305, 2, 231, 322, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 92, 1, 243, 175, 1], "image_id": 101633, "bbox": [188.97, 74.21, 120.8, 244.56], "category_id": 1, "id": 108112}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [394, 194, 2, 325, 178, 2, 410, 250, 2, 312, 230, 2, 411, 307, 2, 304, 275, 2, 360, 243, 2, 320, 234, 2, 346, 211, 2, 263, 293, 2, 337, 294, 2, 314, 285, 2, 365, 162, 1, 362, 177, 1], "image_id": 102435, "bbox": [251.4, 136.26, 197.67, 199.58], "category_id": 1, "id": 108121}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 540, 151, 2, 0, 0, 0, 543, 165, 2, 0, 0, 0, 547, 179, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 133, 1, 539, 144, 1], "image_id": 102435, "bbox": [527.33, 133.74, 27.61, 104.61], "category_id": 1, "id": 108134}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [318, 85, 1, 262, 95, 1, 337, 143, 2, 274, 163, 1, 343, 130, 2, 322, 136, 2, 325, 182, 2, 282, 192, 1, 333, 272, 2, 294, 278, 1, 0, 0, 0, 0, 0, 0, 288, 5, 1, 284, 72, 1], "image_id": 101633, "bbox": [248.44, 3.73, 102.21, 291.71], "category_id": 1, "id": 108141}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [462, 53, 2, 380, 51, 2, 493, 101, 2, 350, 101, 2, 466, 146, 2, 365, 140, 2, 437, 179, 2, 387, 178, 2, 438, 257, 1, 383, 257, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 36, 1], "image_id": 101633, "bbox": [341.66, 0, 157.4, 260.77], "category_id": 1, "id": 108144}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [106, 124, 2, 107, 134, 2, 94, 143, 2, 101, 153, 2, 72, 151, 2, 78, 160, 2, 120, 161, 2, 124, 161, 2, 89, 180, 2, 93, 191, 2, 88, 214, 2, 111, 212, 1, 97, 102, 1, 102, 121, 1], "image_id": 102435, "bbox": [65.5, 100.82, 65.54, 123.53], "category_id": 1, "id": 108162}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [440, 154, 2, 422, 155, 2, 445, 168, 2, 416, 168, 2, 0, 0, 0, 0, 0, 0, 438, 183, 2, 426, 184, 2, 439, 205, 2, 424, 206, 1, 434, 226, 1, 426, 227, 1, 430, 135, 1, 429, 149, 1], "image_id": 102435, "bbox": [409.18, 132.51, 43.45, 97.62], "category_id": 1, "id": 108171}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 172, 1, 481, 182, 1], "image_id": 102435, "bbox": [467.78, 170.84, 22.13, 63.97], "category_id": 1, "id": 108172}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [578, 162, 2, 589, 162, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 186, 2, 589, 185, 2, 578, 206, 2, 591, 204, 2, 577, 225, 2, 598, 228, 2, 586, 145, 1, 585, 154, 1], "image_id": 102435, "bbox": [569.61, 144.3, 32.2, 92.54], "category_id": 1, "id": 108180}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [205, 304, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 315, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101633, "bbox": [165.63, 211.76, 100.72, 116.39], "category_id": 1, "id": 108183}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 329, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101633, "bbox": [0.75, 273.81, 64.16, 53.71], "category_id": 1, "id": 108185}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [443, 133, 2, 332, 173, 2, 523, 278, 2, 298, 263, 2, 385, 321, 2, 195, 304, 2, 482, 402, 2, 373, 383, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 43, 1, 380, 126, 1], "image_id": 102246, "bbox": [124.56, 19.41, 421.34, 460.59], "category_id": 1, "id": 108187}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [205, 84, 2, 175, 84, 2, 213, 108, 2, 168, 104, 2, 205, 109, 2, 184, 102, 2, 204, 127, 2, 180, 128, 1, 211, 163, 2, 188, 165, 1, 209, 199, 1, 189, 199, 1, 197, 50, 1, 192, 73, 1], "image_id": 100144, "bbox": [162.06, 46.74, 60.57, 150.9], "category_id": 1, "id": 108188}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [408, 268, 2, 189, 252, 2, 438, 436, 2, 144, 360, 2, 418, 386, 2, 177, 399, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 71, 1, 305, 215, 1], "image_id": 100737, "bbox": [100.28, 56.26, 384.76, 423.74], "category_id": 1, "id": 108218}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 33, 2, 0, 0, 0, 328, 110, 1, 223, 8, 2, 303, 17, 2, 136, 3, 2, 293, 38, 2, 159, 129, 2, 288, 140, 2, 0, 0, 0, 0, 0, 0], "image_id": 102139, "bbox": [121.27, 0.5, 232.53, 186.42], "category_id": 1, "id": 108220}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [395, 338, 2, 159, 367, 2, 483, 429, 1, 0, 0, 0, 0, 0, 0, 293, 411, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 143, 1, 282, 324, 1], "image_id": 102145, "bbox": [88.45, 129.44, 377.53, 345.17], "category_id": 1, "id": 108222}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [419, 174, 2, 138, 173, 2, 0, 0, 0, 0, 0, 0, 450, 356, 2, 50, 343, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 25, 1, 274, 161, 1], "image_id": 100842, "bbox": [0.84, 5.96, 499.16, 364.88], "category_id": 1, "id": 108224}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [146, 133, 2, 113, 125, 2, 145, 161, 2, 119, 155, 2, 155, 158, 2, 145, 155, 2, 133, 177, 2, 112, 177, 2, 151, 169, 1, 125, 174, 2, 0, 0, 0, 0, 0, 0, 140, 101, 1, 132, 123, 1], "image_id": 100144, "bbox": [103.34, 96.03, 63.71, 137.36], "category_id": 1, "id": 108233}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [437, 274, 2, 221, 259, 2, 0, 0, 0, 0, 0, 0, 427, 290, 2, 219, 375, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 62, 1, 335, 235, 1], "image_id": 101964, "bbox": [142.97, 52.84, 349.28, 363.67], "category_id": 1, "id": 108263}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [220, 97, 2, 208, 97, 2, 218, 154, 2, 0, 0, 0, 198, 186, 1, 0, 0, 0, 219, 182, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 48, 1, 210, 86, 1], "image_id": 102246, "bbox": [187.87, 43.93, 52.11, 147.92], "category_id": 1, "id": 108265}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [433, 276, 2, 312, 226, 2, 0, 0, 0, 269, 331, 1, 299, 399, 2, 193, 246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 27, 1, 385, 219, 1], "image_id": 100843, "bbox": [113.23, 18.98, 455.39, 404.42], "category_id": 1, "id": 108280}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [187, 144, 2, 155, 134, 2, 189, 168, 2, 158, 163, 1, 189, 174, 2, 179, 145, 2, 174, 176, 1, 152, 174, 2, 197, 184, 2, 134, 183, 1, 190, 226, 1, 136, 225, 1, 182, 110, 1, 172, 134, 1], "image_id": 100144, "bbox": [139.95, 107.51, 64.99, 104.4], "category_id": 1, "id": 108282}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [505, 269, 2, 236, 274, 2, 0, 0, 0, 68, 312, 2, 0, 0, 0, 47, 238, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 7, 1, 346, 222, 1], "image_id": 102183, "bbox": [6.69, 3.93, 633.31, 350.54], "category_id": 1, "id": 108283}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [409, 163, 2, 318, 144, 2, 433, 234, 2, 279, 194, 2, 418, 285, 2, 260, 239, 2, 366, 277, 2, 303, 273, 2, 374, 360, 2, 269, 354, 2, 421, 403, 2, 289, 438, 2, 350, 83, 1, 365, 139, 1], "image_id": 100462, "bbox": [249.8, 68.98, 211.19, 398.54], "category_id": 1, "id": 108305}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [464, 126, 2, 359, 136, 2, 451, 211, 2, 367, 222, 2, 394, 269, 2, 375, 283, 2, 445, 268, 1, 390, 273, 2, 446, 405, 1, 395, 404, 1, 0, 0, 0, 0, 0, 0, 391, 43, 1, 407, 118, 1], "image_id": 102255, "bbox": [343.43, 28.09, 172.56, 392.79], "category_id": 1, "id": 108306}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [398, 313, 2, 374, 314, 2, 398, 334, 2, 0, 0, 0, 395, 356, 2, 0, 0, 0, 385, 361, 2, 370, 361, 2, 385, 391, 2, 367, 390, 2, 387, 426, 2, 368, 421, 2, 387, 276, 1, 388, 305, 1], "image_id": 102487, "bbox": [350.27, 272.43, 56.22, 167.21], "category_id": 1, "id": 108341}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [245, 215, 2, 166, 225, 2, 302, 253, 2, 137, 282, 2, 280, 278, 2, 139, 307, 2, 247, 346, 2, 198, 352, 2, 284, 441, 2, 208, 454, 2, 340, 527, 2, 227, 537, 2, 181, 141, 1, 195, 200, 1], "image_id": 100138, "bbox": [125.43, 112.57, 249.24, 467.94], "category_id": 1, "id": 108352}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [272, 231, 2, 124, 214, 2, 279, 366, 2, 0, 0, 0, 313, 461, 2, 278, 332, 2, 0, 0, 0, 0, 0, 0, 425, 467, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 75, 1, 223, 215, 1], "image_id": 101701, "bbox": [26.97, 45.3, 428.22, 429.31], "category_id": 1, "id": 108374}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [430, 17, 2, 326, 110, 2, 0, 0, 0, 315, 231, 2, 391, 221, 1, 0, 0, 0, 0, 0, 0, 366, 241, 2, 337, 287, 2, 239, 318, 2, 313, 606, 2, 167, 506, 2, 0, 0, 0, 373, 33, 1], "image_id": 102530, "bbox": [12.89, 0.27, 467.11, 639.73], "category_id": 1, "id": 108394}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [38, 210, 2, 100, 213, 2, 0, 0, 0, 146, 267, 2, 0, 0, 0, 0, 0, 0, 42, 343, 1, 95, 349, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 141, 1, 85, 190, 1], "image_id": 100737, "bbox": [21.52, 137.7, 145.3, 258.3], "category_id": 1, "id": 108402}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [155, 93, 1, 109, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 48, 1, 134, 88, 1], "image_id": 102255, "bbox": [105.55, 44.14, 40.3, 66.21], "category_id": 1, "id": 108405}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [320, 115, 2, 369, 111, 2, 319, 165, 2, 376, 158, 2, 299, 146, 2, 0, 0, 0, 333, 186, 1, 364, 184, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 57, 1, 340, 93, 1], "image_id": 101576, "bbox": [288.4, 47.65, 101.73, 211.04], "category_id": 1, "id": 108412}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [287, 296, 2, 132, 276, 1, 341, 407, 1, 101, 419, 1, 290, 389, 2, 78, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 90, 1, 221, 229, 1], "image_id": 102327, "bbox": [47.65, 73.33, 310.65, 346.86], "category_id": 1, "id": 108435}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 479, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100143, "bbox": [229.19, 315.68, 82.16, 158.91], "category_id": 1, "id": 108445}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [160, 115, 1, 142, 118, 1, 167, 156, 2, 136, 164, 2, 180, 158, 1, 147, 205, 2, 161, 204, 2, 142, 208, 2, 0, 0, 0, 158, 279, 1, 0, 0, 0, 0, 0, 0, 152, 30, 1, 145, 104, 1], "image_id": 102246, "bbox": [129.8, 60.62, 50.45, 217.37], "category_id": 1, "id": 108446}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [35, 25, 2, 133, 20, 2, 48, 104, 2, 165, 113, 2, 0, 0, 0, 0, 0, 0, 40, 158, 2, 123, 155, 2, 84, 295, 1, 131, 299, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 4, 1], "image_id": 100843, "bbox": [20.05, 0, 164.5, 244.3], "category_id": 1, "id": 108456}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [609, 237, 2, 478, 223, 2, 555, 400, 2, 415, 336, 2, 435, 331, 2, 391, 294, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 488, 27, 1, 531, 198, 1], "image_id": 100457, "bbox": [323.6, 1.07, 316.4, 421.25], "category_id": 1, "id": 108464}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 413, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100143, "bbox": [393.51, 309.73, 234.6, 163.24], "category_id": 1, "id": 108466}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [187, 282, 2, 111, 445, 2, 280, 380, 2, 0, 0, 0, 386, 368, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 44, 1, 148, 312, 1], "image_id": 100534, "bbox": [23.73, 44.22, 437.93, 435.78], "category_id": 1, "id": 108470}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [177, 270, 2, 130, 280, 2, 199, 244, 2, 104, 261, 2, 211, 213, 2, 91, 226, 2, 182, 347, 1, 155, 351, 1, 211, 360, 2, 145, 372, 2, 193, 377, 2, 199, 385, 2, 151, 219, 1, 154, 270, 1], "image_id": 101056, "bbox": [75.02, 183.7, 147.16, 213.79], "category_id": 1, "id": 108476}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 154, 174, 2, 0, 0, 0, 282, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 45, 1, 153, 142, 1], "image_id": 101964, "bbox": [98.83, 28.79, 189.99, 264.83], "category_id": 1, "id": 108481}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [540, 188, 2, 453, 168, 2, 546, 287, 2, 422, 231, 2, 479, 314, 2, 0, 0, 0, 503, 382, 2, 433, 364, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 480, 41, 1, 502, 140, 1], "image_id": 101056, "bbox": [397.38, 28.94, 201.28, 399.06], "category_id": 1, "id": 108486}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [53, 191, 2, 21, 183, 2, 53, 228, 2, 5, 217, 2, 51, 255, 2, 11, 246, 2, 39, 269, 2, 16, 266, 2, 27, 322, 2, 3, 317, 2, 11, 362, 2, 0, 0, 0, 50, 143, 1, 36, 175, 1], "image_id": 102487, "bbox": [0, 137.3, 64.87, 249.35], "category_id": 1, "id": 108508}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [98, 135, 2, 61, 136, 2, 105, 159, 2, 50, 161, 2, 90, 170, 2, 80, 170, 2, 93, 171, 2, 71, 170, 2, 111, 190, 1, 86, 185, 2, 79, 221, 2, 84, 229, 2, 87, 104, 1, 81, 130, 1], "image_id": 100144, "bbox": [46.74, 100.67, 59.69, 135.2], "category_id": 1, "id": 108512}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 291, 1, 339, 303, 1], "image_id": 100344, "bbox": [323.94, 287.53, 39.55, 42.48], "category_id": 1, "id": 108525}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [340, 40, 2, 354, 32, 2, 0, 0, 0, 375, 46, 2, 0, 0, 0, 408, 61, 2, 294, 61, 2, 298, 59, 2, 333, 78, 2, 338, 85, 2, 303, 116, 2, 302, 119, 2, 374, 37, 1, 347, 33, 1], "image_id": 100144, "bbox": [279.19, 21.55, 146.04, 124.56], "category_id": 1, "id": 108530}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [94, 225, 2, 42, 228, 2, 94, 263, 2, 31, 286, 2, 145, 251, 1, 34, 322, 2, 100, 325, 2, 65, 325, 2, 96, 388, 2, 70, 389, 2, 94, 449, 2, 75, 454, 2, 73, 178, 1, 69, 214, 1], "image_id": 102145, "bbox": [18.38, 170.81, 112.43, 295.14], "category_id": 1, "id": 108535}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 406, 275, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 91, 1, 461, 209, 1], "image_id": 102327, "bbox": [277.92, 71.63, 199.61, 345.73], "category_id": 1, "id": 108536}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [489, 256, 1, 397, 235, 2, 0, 0, 0, 0, 0, 0, 322, 300, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 84, 1, 444, 208, 1], "image_id": 101508, "bbox": [235.94, 32.52, 259.32, 305.02], "category_id": 1, "id": 108542}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 619, 61, 2, 0, 0, 0, 0, 0, 0, 581, 237, 2, 556, 210, 2, 0, 0, 0, 588, 207, 2, 592, 389, 2, 534, 314, 2, 591, 440, 2, 516, 381, 1, 0, 0, 0, 0, 0, 0], "image_id": 100143, "bbox": [470.29, 2.78, 169.35, 449.18], "category_id": 1, "id": 108552}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [118, 148, 2, 97, 155, 2, 132, 158, 2, 85, 174, 2, 132, 173, 2, 81, 189, 2, 126, 183, 2, 110, 186, 2, 137, 205, 2, 106, 214, 2, 137, 233, 2, 100, 240, 2, 105, 132, 1, 107, 146, 1], "image_id": 100138, "bbox": [76.22, 128, 66.16, 128], "category_id": 1, "id": 108585}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [408, 171, 2, 415, 171, 2, 401, 190, 2, 0, 0, 0, 371, 192, 1, 0, 0, 0, 408, 226, 2, 428, 225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 149, 1, 397, 166, 1], "image_id": 102139, "bbox": [371, 142, 65, 97], "category_id": 1, "id": 108593}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [422, 264, 2, 285, 195, 2, 388, 386, 2, 197, 296, 2, 361, 275, 2, 254, 244, 2, 311, 452, 2, 216, 408, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 100, 1, 366, 201, 1], "image_id": 100600, "bbox": [126.97, 80.9, 323.59, 413.48], "category_id": 1, "id": 108597}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [489, 247, 2, 438, 247, 2, 509, 352, 2, 0, 0, 0, 485, 431, 2, 0, 0, 0, 479, 413, 2, 446, 409, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 132, 1, 454, 213, 1], "image_id": 100737, "bbox": [400.52, 129.96, 125.13, 347.99], "category_id": 1, "id": 108598}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102327, "bbox": [1.91, 73.54, 121.29, 138.48], "category_id": 1, "id": 108601}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [90, 135, 2, 71, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 164, 1, 75, 166, 2, 95, 186, 2, 78, 187, 2, 100, 204, 2, 79, 204, 1, 79, 121, 1, 80, 134, 1], "image_id": 100138, "bbox": [59.71, 118.78, 44.13, 87.12], "category_id": 1, "id": 108603}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [470, 107, 2, 492, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, 73, 1, 487, 94, 1], "image_id": 101576, "bbox": [465.35, 74.36, 34.65, 65.6], "category_id": 1, "id": 108607}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 285, 9, 2, 211, 104, 2, 0, 0, 0, 154, 82, 1, 0, 0, 0, 236, 135, 2, 276, 136, 2, 238, 247, 1, 281, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100843, "bbox": [176.95, 2.4, 122.14, 231.78], "category_id": 1, "id": 108610}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [233, 126, 2, 184, 163, 2, 273, 145, 2, 184, 203, 2, 241, 174, 2, 0, 0, 0, 259, 213, 2, 222, 224, 2, 207, 195, 2, 178, 208, 2, 214, 262, 2, 221, 263, 2, 183, 108, 1, 201, 142, 1], "image_id": 102487, "bbox": [166.12, 91.71, 116.71, 215.4], "category_id": 1, "id": 108618}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [476, 36, 2, 435, 68, 2, 0, 0, 0, 489, 145, 2, 503, 139, 2, 539, 81, 2, 493, 166, 2, 469, 186, 2, 637, 166, 2, 628, 177, 2, 584, 280, 2, 554, 293, 2, 0, 0, 0, 455, 28, 1], "image_id": 100534, "bbox": [396.94, 0, 243.06, 327.91], "category_id": 1, "id": 108621}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [345, 332, 2, 209, 321, 2, 348, 430, 2, 201, 444, 2, 369, 435, 1, 239, 377, 2, 314, 508, 1, 236, 511, 1, 319, 556, 1, 240, 556, 1, 0, 0, 0, 0, 0, 0, 277, 195, 1, 277, 305, 1], "image_id": 100845, "bbox": [175.05, 180.49, 214.38, 277.51], "category_id": 1, "id": 108626}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 589, 210, 2, 0, 0, 0, 0, 0, 0, 598, 402, 2, 526, 333, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 139, 1], "image_id": 102327, "bbox": [469.69, 13.4, 168.29, 406.94], "category_id": 1, "id": 108658}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [230, 105, 2, 163, 101, 2, 0, 0, 0, 144, 179, 1, 0, 0, 0, 177, 231, 2, 215, 245, 2, 175, 245, 2, 211, 326, 1, 174, 324, 2, 204, 398, 1, 169, 398, 1, 209, 28, 1, 198, 90, 1], "image_id": 100845, "bbox": [141.26, 21.62, 100.9, 373.33], "category_id": 1, "id": 108664}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 102, 1, 48, 110, 1], "image_id": 100138, "bbox": [37.96, 103.3, 19.38, 47.51], "category_id": 1, "id": 108674}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [20, 142, 2, 0, 0, 0, 68, 214, 2, 0, 0, 0, 134, 215, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 38, 1, 0, 0, 0], "image_id": 100457, "bbox": [0.96, 0.96, 219.74, 421.24], "category_id": 1, "id": 108685}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [471, 182, 2, 477, 151, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 110, 1, 493, 138, 1], "image_id": 101576, "bbox": [462.6, 108, 37.4, 86.43], "category_id": 1, "id": 108691}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [203, 104, 2, 248, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 49, 1, 224, 87, 1], "image_id": 100737, "bbox": [199.21, 42.22, 46.95, 117], "category_id": 1, "id": 108694}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [549, 134, 2, 488, 133, 2, 486, 238, 2, 0, 0, 0, 411, 302, 2, 0, 0, 0, 564, 292, 2, 517, 291, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 35, 1, 504, 99, 1], "image_id": 102255, "bbox": [394.38, 22.07, 226.45, 400.13], "category_id": 1, "id": 108712}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [252, 153, 2, 153, 174, 2, 293, 249, 1, 0, 0, 0, 241, 288, 2, 0, 0, 0, 262, 343, 1, 186, 348, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 35, 1, 196, 132, 1], "image_id": 100457, "bbox": [127.57, 23.96, 178.72, 292.13], "category_id": 1, "id": 108715}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 53, 2, 403, 53, 2, 348, 110, 2, 401, 111, 2, 0, 0, 0, 0, 0, 0], "image_id": 100534, "bbox": [320.4, 1.43, 99.58, 129.58], "category_id": 1, "id": 108717}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [150, 165, 2, 132, 167, 2, 155, 184, 1, 0, 0, 0, 135, 182, 2, 0, 0, 0, 149, 204, 1, 135, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 143, 1, 138, 160, 1], "image_id": 101701, "bbox": [121.81, 142.54, 42.96, 43.27], "category_id": 1, "id": 108741}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [250, 74, 1, 289, 74, 2, 0, 0, 0, 303, 114, 2, 0, 0, 0, 0, 0, 0, 254, 142, 1, 282, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 29, 1, 273, 61, 1], "image_id": 101576, "bbox": [254.49, 23.65, 57.31, 116.29], "category_id": 1, "id": 108754}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [211, 130, 2, 137, 122, 2, 198, 203, 2, 122, 182, 2, 145, 258, 2, 113, 239, 2, 188, 241, 2, 141, 237, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 44, 1, 175, 112, 1], "image_id": 102255, "bbox": [84.44, 28.79, 149.69, 253.32], "category_id": 1, "id": 108762}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [520, 239, 2, 507, 239, 2, 406, 324, 2, 378, 345, 1, 343, 228, 2, 322, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 75, 1, 507, 200, 1], "image_id": 102327, "bbox": [294.16, 47.75, 303.71, 308.49], "category_id": 1, "id": 108765}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [287, 89, 1, 242, 90, 2, 0, 0, 0, 236, 130, 2, 0, 0, 0, 240, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 26, 1, 270, 80, 1], "image_id": 100737, "bbox": [227.71, 14.06, 66.63, 145.72], "category_id": 1, "id": 108771}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [364, 266, 2, 355, 273, 2, 349, 289, 2, 334, 300, 2, 337, 292, 2, 345, 295, 2, 349, 315, 2, 344, 314, 2, 339, 361, 2, 344, 362, 2, 337, 414, 2, 346, 413, 1, 350, 236, 1, 359, 258, 1], "image_id": 102487, "bbox": [321.89, 233.27, 46.36, 183.28], "category_id": 1, "id": 108774}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 16, 257, 2, 0, 0, 0, 28, 336, 2, 0, 0, 0, 36, 419, 2, 0, 0, 0, 8, 411, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100737, "bbox": [0, 224.36, 56.09, 236.22], "category_id": 1, "id": 108779}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [283, 124, 2, 272, 126, 2, 294, 139, 2, 0, 0, 0, 285, 153, 2, 0, 0, 0, 287, 162, 1, 275, 161, 1, 291, 182, 2, 0, 0, 0, 298, 211, 2, 0, 0, 0, 271, 106, 1, 278, 120, 1], "image_id": 100138, "bbox": [266.45, 99.26, 39.75, 122.12], "category_id": 1, "id": 108785}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 385, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 212, 2, 0, 0, 0, 403, 314, 2, 419, 409, 1, 387, 413, 1, 0, 0, 0, 410, 65, 1], "image_id": 100845, "bbox": [371.06, 5.75, 55.94, 398.38], "category_id": 1, "id": 108795}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [93, 121, 2, 74, 131, 2, 106, 142, 1, 0, 0, 0, 82, 146, 2, 0, 0, 0, 101, 165, 1, 78, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 99, 1, 85, 121, 1], "image_id": 101576, "bbox": [58.98, 94.67, 57.4, 55.01], "category_id": 1, "id": 108802}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [406, 208, 2, 291, 203, 2, 410, 331, 1, 293, 275, 1, 343, 232, 2, 278, 286, 1, 373, 423, 1, 291, 420, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 75, 1, 345, 188, 1], "image_id": 100457, "bbox": [266.27, 37.86, 169.44, 313.71], "category_id": 1, "id": 108807}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100457, "bbox": [587.84, 21.06, 51.7, 211.59], "category_id": 1, "id": 108815}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [111, 159, 2, 93, 160, 2, 123, 179, 1, 90, 178, 2, 134, 193, 1, 79, 192, 2, 108, 201, 2, 97, 200, 2, 96, 230, 2, 101, 231, 2, 112, 262, 2, 106, 265, 2, 99, 138, 1, 103, 154, 1], "image_id": 102139, "bbox": [66, 131, 57, 149], "category_id": 1, "id": 108818}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [271, 90, 2, 217, 90, 2, 282, 135, 2, 0, 0, 0, 239, 139, 2, 0, 0, 0, 254, 178, 2, 221, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 32, 1, 239, 71, 1], "image_id": 102255, "bbox": [212.06, 35.5, 78.68, 166.01], "category_id": 1, "id": 108820}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [209, 135, 2, 217, 134, 2, 207, 148, 2, 0, 0, 0, 205, 158, 2, 0, 0, 0, 210, 156, 2, 215, 155, 2, 208, 179, 2, 216, 180, 2, 206, 196, 2, 227, 190, 2, 203, 117, 1, 209, 129, 1], "image_id": 100462, "bbox": [194.5, 115.23, 40.19, 91.09], "category_id": 1, "id": 108823}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [356, 100, 2, 259, 102, 2, 370, 164, 2, 246, 167, 2, 345, 221, 2, 280, 219, 1, 334, 245, 2, 279, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 16, 1, 308, 79, 1], "image_id": 100845, "bbox": [234.43, 21.57, 153.88, 297.71], "category_id": 1, "id": 108824}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [128, 124, 2, 48, 126, 2, 150, 189, 2, 23, 191, 2, 146, 235, 2, 44, 247, 2, 116, 248, 2, 75, 248, 2, 114, 352, 2, 81, 356, 2, 122, 461, 1, 79, 452, 1, 87, 39, 1, 87, 107, 1], "image_id": 100845, "bbox": [15.82, 33.08, 146.7, 396.94], "category_id": 1, "id": 108829}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [256, 197, 2, 207, 200, 1, 244, 234, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 145, 1, 231, 187, 1], "image_id": 102255, "bbox": [212.95, 143.18, 63.52, 106.72], "category_id": 1, "id": 108847}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [17, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, -1, 91, 1], "image_id": 102255, "bbox": [0, 52.11, 29.13, 193.32], "category_id": 1, "id": 108848}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [119, 163, 2, 0, 0, 0, 93, 284, 2, 0, 0, 0, 70, 387, 2, 0, 0, 0, 11, 353, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 26, 1, 59, 123, 1], "image_id": 100600, "bbox": [0, 6.75, 145.25, 451.54], "category_id": 1, "id": 108856}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [460, 402, 2, 435, 392, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 370, 1, 449, 389, 1], "image_id": 100600, "bbox": [428.71, 369.52, 35.81, 74.96], "category_id": 1, "id": 108872}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 30, 2, 96, 30, 2, 132, 94, 1, 102, 92, 2, 0, 0, 0, 0, 0, 0], "image_id": 101961, "bbox": [76.47, 0.16, 63.57, 107.45], "category_id": 1, "id": 108878}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [551, 222, 1, 514, 218, 1, 571, 264, 1, 503, 259, 1, 529, 288, 2, 0, 0, 0, 538, 299, 2, 510, 297, 2, 534, 363, 2, 501, 352, 1, 529, 412, 2, 496, 404, 1, 528, 180, 1, 530, 215, 1], "image_id": 102145, "bbox": [495.63, 178.34, 63.01, 238.9], "category_id": 1, "id": 108880}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [371, 232, 1, 421, 228, 2, 0, 0, 0, 440, 316, 2, 0, 0, 0, 456, 359, 1, 380, 314, 1, 415, 314, 1, 385, 396, 1, 417, 400, 1, 0, 0, 0, 0, 0, 0, 417, 171, 1, 409, 209, 1], "image_id": 102145, "bbox": [368.65, 169.19, 94.05, 163.24], "category_id": 1, "id": 108886}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [480, 135, 2, 449, 137, 2, 493, 169, 2, 445, 173, 2, 473, 189, 2, 0, 0, 0, 489, 209, 2, 464, 211, 2, 518, 255, 1, 438, 244, 1, 0, 0, 0, 444, 308, 2, 454, 95, 1, 462, 127, 1], "image_id": 100462, "bbox": [419.72, 84.59, 102.5, 236.24], "category_id": 1, "id": 108889}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [451, 217, 2, 0, 0, 0, 478, 252, 2, 0, 0, 0, 452, 234, 2, 0, 0, 0, 452, 290, 2, 0, 0, 0, 455, 350, 1, 0, 0, 0, 457, 395, 1, 0, 0, 0, 421, 181, 1, 427, 212, 1], "image_id": 102145, "bbox": [429.54, 179.74, 54.18, 177.3], "category_id": 1, "id": 108912}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 474, 400, 2, 0, 0, 0, 456, 426, 2, 0, 0, 0, 455, 448, 2, 487, 467, 1, 463, 461, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, 394, 1], "image_id": 100600, "bbox": [451.82, 371.65, 48.03, 84.07], "category_id": 1, "id": 108914}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [153, 303, 2, 150, 302, 2, 145, 331, 2, 145, 326, 2, 123, 339, 2, 119, 316, 1, 146, 356, 1, 145, 353, 1, 134, 395, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 277, 1, 148, 297, 1], "image_id": 100600, "bbox": [94.67, 274.77, 73.19, 122.45], "category_id": 1, "id": 108916}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 213, 1], "image_id": 102145, "bbox": [96.56, 189.58, 31.06, 69.49], "category_id": 1, "id": 108918}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [6, 205, 2, 36, 207, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 261, 2, 29, 262, 1, 10, 322, 2, 32, 318, 1, 11, 362, 2, 32, 354, 1, 34, 173, 1, 27, 197, 1], "image_id": 102145, "bbox": [2.18, 169.88, 37.98, 210.87], "category_id": 1, "id": 108920}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [549, 112, 2, 533, 111, 2, 560, 171, 2, 0, 0, 0, 524, 208, 2, 0, 0, 0, 566, 228, 2, 547, 226, 2, 567, 309, 2, 514, 294, 2, 604, 381, 2, 558, 357, 2, 508, 57, 1, 536, 97, 1], "image_id": 100462, "bbox": [495.61, 45.98, 137.96, 377.34], "category_id": 1, "id": 108936}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 176, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100143, "bbox": [0.74, 120.51, 43.19, 99.07], "category_id": 1, "id": 108943}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [286, 104, 1, 133, 131, 2, 303, 201, 1, 114, 232, 2, 0, 0, 0, 170, 292, 2, 289, 295, 1, 178, 317, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 11, 1, 205, 96, 1], "image_id": 100601, "bbox": [95.51, 0.96, 221.57, 364.83], "category_id": 1, "id": 108945}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [291, 206, 2, 234, 192, 2, 0, 0, 0, 202, 251, 2, 0, 0, 0, 189, 304, 2, 274, 313, 2, 239, 307, 2, 264, 427, 2, 197, 411, 2, 0, 0, 0, 146, 421, 2, 299, 134, 1, 267, 181, 1], "image_id": 100595, "bbox": [126.81, 119.44, 195.24, 360.56], "category_id": 1, "id": 108947}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [112, 113, 2, 79, 108, 1, 114, 149, 2, 0, 0, 0, 108, 178, 2, 0, 0, 0, 90, 178, 2, 0, 0, 0, 78, 216, 2, 0, 0, 0, 78, 255, 2, 0, 0, 0, 92, 77, 1, 92, 104, 1], "image_id": 100595, "bbox": [45.41, 76.22, 80, 206.48], "category_id": 1, "id": 108954}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [248, 157, 2, 234, 154, 2, 255, 170, 2, 231, 169, 2, 261, 182, 2, 236, 181, 2, 240, 184, 1, 231, 185, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 137, 1, 242, 152, 1], "image_id": 100144, "bbox": [222.4, 137.55, 42.91, 61.2], "category_id": 1, "id": 108957}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 130, 1, 217, 146, 1], "image_id": 100144, "bbox": [194.7, 128.46, 46.11, 58.61], "category_id": 1, "id": 108969}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [377, 167, 2, 403, 171, 2, 364, 190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 220, 2, 389, 219, 2, 377, 276, 2, 388, 272, 2, 381, 316, 2, 388, 310, 2, 385, 135, 1, 388, 157, 1], "image_id": 100595, "bbox": [354.61, 132.45, 52.97, 194.54], "category_id": 1, "id": 108979}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [342, 141, 2, 267, 139, 2, 354, 195, 2, 255, 193, 2, 333, 236, 2, 282, 246, 2, 329, 256, 1, 280, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 72, 1, 303, 129, 1], "image_id": 100853, "bbox": [244.6, 67.8, 123.2, 205.34], "category_id": 1, "id": 108986}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [172, 103, 2, 34, 108, 2, 240, 185, 2, 39, 177, 2, 227, 261, 1, 0, 0, 0, 193, 260, 1, 125, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 53, 1, 102, 103, 1], "image_id": 100400, "bbox": [0, 22.17, 250.76, 212.02], "category_id": 1, "id": 109020}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 12, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100845, "bbox": [2.68, 29.2, 26.25, 250.28], "category_id": 1, "id": 109024}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 251, 1, 521, 282, 1], "image_id": 101701, "bbox": [507.74, 244.32, 41.75, 57.64], "category_id": 1, "id": 109030}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [456, 165, 2, 482, 166, 2, 0, 0, 0, 484, 195, 2, 0, 0, 0, 478, 216, 2, 456, 210, 1, 472, 214, 2, 449, 240, 2, 465, 243, 2, 444, 277, 2, 462, 277, 2, 463, 137, 1, 464, 153, 1], "image_id": 100595, "bbox": [437.64, 135.04, 55.4, 154.47], "category_id": 1, "id": 109031}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 96, 131, 2, 0, 0, 0, 102, 150, 2, 52, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100457, "bbox": [32.37, 100.72, 83.96, 72.89], "category_id": 1, "id": 109043}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [84, 91, 1, 0, 0, 0, 87, 166, 1, 0, 0, 0, 81, 218, 1, 0, 0, 0, 33, 216, 2, 0, 0, 0, 38, 307, 2, 0, 0, 0, 6, 364, 2, 0, 0, 0, 58, 13, 1, 43, 67, 1], "image_id": 100595, "bbox": [2.16, 1.08, 86.29, 418.52], "category_id": 1, "id": 109049}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [30, 75, 2, 45, 77, 2, 0, 0, 0, 40, 117, 2, 0, 0, 0, 45, 157, 2, 34, 161, 2, 30, 161, 2, 26, 213, 2, 16, 210, 2, 18, 271, 1, 0, 0, 0, 54, 44, 1, 41, 66, 1], "image_id": 101701, "bbox": [2.16, 37.75, 72.27, 216.81], "category_id": 1, "id": 109051}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [530, 108, 1, 506, 109, 2, 0, 0, 0, 501, 137, 2, 0, 0, 0, 0, 0, 0, 529, 156, 1, 509, 155, 1, 0, 0, 0, 516, 183, 2, 0, 0, 0, 518, 210, 1, 0, 0, 0, 519, 100, 1], "image_id": 100462, "bbox": [497.64, 102.6, 26.43, 98.64], "category_id": 1, "id": 109062}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 151, 1, 271, 167, 1], "image_id": 100144, "bbox": [259.82, 151.15, 29.56, 50.11], "category_id": 1, "id": 109071}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101385, "bbox": [446.05, 182.08, 33.95, 54.19], "category_id": 1, "id": 109079}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [105, 13, 2, 179, 17, 2, 0, 0, 0, 211, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100400, "bbox": [85.56, 0, 137.99, 105.8], "category_id": 1, "id": 109091}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [113, 112, 1, 32, 136, 2, 0, 0, 0, 27, 196, 2, 0, 0, 0, 0, 0, 0, 108, 254, 1, 55, 259, 2, 112, 345, 1, 77, 358, 1, 0, 0, 0, 0, 0, 0, 34, 65, 1, 70, 112, 1], "image_id": 100601, "bbox": [0, 45.61, 105.76, 294.51], "category_id": 1, "id": 109094}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [413, 311, 2, 356, 281, 2, 410, 381, 2, 308, 288, 2, 370, 368, 2, 274, 279, 2, 367, 401, 1, 331, 394, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 205, 1, 380, 288, 1], "image_id": 100400, "bbox": [249.17, 194.16, 175.82, 199.55], "category_id": 1, "id": 109099}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 400, 400, 2, 0, 0, 0, 373, 422, 2, 352, 425, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100600, "bbox": [349.84, 386.07, 65.49, 95.5], "category_id": 1, "id": 109110}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [182, 119, 2, 202, 154, 2, 190, 101, 2, 215, 160, 2, 192, 81, 2, 246, 174, 2, 183, 153, 2, 202, 172, 2, 126, 195, 2, 119, 227, 2, 167, 269, 2, 137, 271, 2, 144, 123, 1, 167, 133, 1], "image_id": 100344, "bbox": [108.85, 73.59, 153.72, 214.44], "category_id": 1, "id": 109122}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [162, 270, 2, 104, 241, 2, 163, 307, 1, 54, 240, 2, 140, 310, 1, 92, 208, 2, 106, 344, 1, 72, 325, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 200, 1, 135, 251, 1], "image_id": 100400, "bbox": [44.76, 182.45, 180.76, 125.76], "category_id": 1, "id": 109127}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100462, "bbox": [554.46, 81.5, 23.18, 23.18], "category_id": 1, "id": 109141}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 493, 417, 2, 0, 0, 0, 478, 439, 2, 0, 0, 0, 496, 435, 2, 496, 455, 2, 488, 454, 2, 493, 485, 2, 482, 485, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100600, "bbox": [473.03, 407.87, 26.97, 80.89], "category_id": 1, "id": 109151}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [249, 114, 2, 283, 103, 1, 242, 171, 2, 0, 0, 0, 237, 211, 2, 0, 0, 0, 250, 202, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 63, 1, 258, 99, 1], "image_id": 102246, "bbox": [229.66, 60.33, 49.8, 207.99], "category_id": 1, "id": 109162}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 106, 1, 63, 122, 1], "image_id": 100853, "bbox": [50.15, 107.65, 24.94, 48.26], "category_id": 1, "id": 109167}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [152, 110, 2, 98, 112, 2, 154, 148, 2, 99, 150, 2, 143, 182, 2, 110, 183, 2, 141, 195, 2, 114, 194, 2, 144, 245, 2, 116, 248, 2, 147, 312, 2, 120, 309, 2, 127, 60, 1, 125, 98, 1], "image_id": 100907, "bbox": [88.19, 58.29, 75.95, 274.67], "category_id": 1, "id": 109172}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [447, 136, 1, 297, 196, 2, 0, 0, 0, 304, 285, 1, 0, 0, 0, 321, 372, 2, 469, 339, 1, 373, 361, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 67, 1, 384, 131, 1], "image_id": 100601, "bbox": [282.7, 33.43, 194.83, 378.2], "category_id": 1, "id": 109179}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [576, 183, 2, 598, 190, 2, 569, 207, 2, 0, 0, 0, 561, 224, 2, 0, 0, 0, 567, 238, 2, 584, 242, 2, 554, 271, 2, 579, 273, 2, 549, 309, 2, 577, 315, 2, 586, 155, 1, 586, 173, 1], "image_id": 100595, "bbox": [532.73, 152.4, 75.9, 173.8], "category_id": 1, "id": 109190}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [378, 137, 2, 272, 163, 2, 387, 237, 2, 263, 236, 2, 372, 353, 2, 211, 332, 2, 359, 347, 2, 308, 347, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 64, 1, 316, 129, 1], "image_id": 100907, "bbox": [185.68, 45.97, 210.29, 416.11], "category_id": 1, "id": 109207}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [227, 321, 2, 193, 277, 2, 0, 0, 0, 161, 307, 2, 227, 324, 2, 138, 312, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 256, 1, 217, 287, 1], "image_id": 100400, "bbox": [111.68, 225.66, 182.55, 122.41], "category_id": 1, "id": 109224}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [78, 117, 2, 33, 117, 2, 83, 161, 2, 25, 160, 1, 84, 195, 2, 29, 194, 1, 68, 181, 2, 42, 180, 2, 68, 243, 2, 40, 243, 2, 64, 306, 2, 38, 311, 1, 55, 69, 1, 53, 106, 1], "image_id": 100907, "bbox": [24.36, 67.13, 64.64, 265.99], "category_id": 1, "id": 109233}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [419, 170, 2, 443, 171, 2, 0, 0, 0, 452, 189, 2, 0, 0, 0, 455, 209, 2, 420, 209, 2, 438, 211, 2, 422, 242, 2, 427, 241, 2, 420, 269, 2, 423, 269, 2, 432, 144, 1, 432, 161, 1], "image_id": 100595, "bbox": [407.73, 141.3, 53.93, 140.23], "category_id": 1, "id": 109237}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [618, 205, 2, 634, 207, 2, 607, 214, 1, 0, 0, 0, 609, 204, 2, 0, 0, 0, 613, 239, 2, 627, 240, 2, 612, 258, 2, 0, 0, 0, 618, 279, 2, 0, 0, 0, 621, 189, 1, 624, 200, 1], "image_id": 100595, "bbox": [605.78, 189.51, 33.14, 96.41], "category_id": 1, "id": 109249}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [596, 149, 2, 403, 176, 2, 623, 280, 1, 344, 260, 2, 536, 329, 2, 272, 327, 2, 613, 407, 2, 483, 412, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 41, 1, 503, 138, 1], "image_id": 100601, "bbox": [239.11, 11.89, 400.89, 412.85], "category_id": 1, "id": 109252}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102487, "bbox": [338.04, 262.16, 14.89, 21.5], "category_id": 1, "id": 109256}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [551, 315, 2, 445, 271, 2, 539, 393, 1, 387, 280, 2, 483, 403, 2, 381, 305, 2, 476, 423, 2, 427, 405, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 180, 1, 501, 286, 1], "image_id": 100400, "bbox": [350.85, 157.26, 223.86, 280.89], "category_id": 1, "id": 109271}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100601, "bbox": [352.96, 0, 67.76, 102.62], "category_id": 1, "id": 109279}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [22, 130, 2, 0, 0, 0, 28, 163, 2, 0, 0, 0, 19, 196, 2, 0, 0, 0, 13, 206, 2, 0, 0, 0, 9, 264, 2, 0, 0, 0, 4, 324, 1, 0, 0, 0, 1, 74, 1, 3, 114, 1], "image_id": 100907, "bbox": [0, 64.49, 39.55, 246.96], "category_id": 1, "id": 109298}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [458, 106, 2, 434, 100, 2, 410, 197, 2, 0, 0, 0, 347, 249, 2, 0, 0, 0, 480, 231, 2, 452, 224, 2, 457, 331, 1, 468, 321, 1, 0, 0, 0, 0, 0, 0, 423, 40, 1, 444, 97, 1], "image_id": 100853, "bbox": [306.24, 31.39, 207.05, 282.18], "category_id": 1, "id": 109303}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [155, 134, 2, 140, 131, 2, 156, 142, 2, 136, 143, 2, 151, 140, 2, 148, 140, 2, 153, 151, 2, 138, 151, 2, 145, 172, 2, 138, 173, 2, 143, 191, 2, 137, 191, 2, 155, 119, 1, 151, 129, 1], "image_id": 100595, "bbox": [126.36, 120.38, 35.31, 76.83], "category_id": 1, "id": 109305}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102487, "bbox": [328.7, 277.23, 17.17, 18.8], "category_id": 1, "id": 109306}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [565, 121, 2, 526, 121, 2, 573, 170, 2, 509, 172, 2, 555, 209, 2, 530, 208, 2, 556, 197, 2, 536, 196, 2, 557, 265, 1, 514, 262, 2, 0, 0, 0, 0, 0, 0, 550, 73, 1, 546, 112, 1], "image_id": 100853, "bbox": [504.97, 71.78, 75.66, 197.88], "category_id": 1, "id": 109308}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [540, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100601, "bbox": [458.38, 0.15, 117.4, 107.24], "category_id": 1, "id": 109316}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102487, "bbox": [312.02, 298.68, 15.68, 22.84], "category_id": 1, "id": 109320}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [309, 324, 2, 304, 323, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 349, 1, 303, 347, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 306, 1, 310, 318, 1], "image_id": 102487, "bbox": [292.6, 305.57, 21.19, 99.09], "category_id": 1, "id": 109322}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [163, 274, 2, 0, 0, 0, 175, 335, 2, 0, 0, 0, 136, 383, 2, 0, 0, 0, 245, 314, 1, 238, 315, 1, 170, 345, 2, 184, 351, 2, 112, 439, 2, 176, 427, 1, 97, 276, 1, 142, 272, 1], "image_id": 102530, "bbox": [70.47, 241.62, 209.98, 221.48], "category_id": 1, "id": 109339}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [137, 269, 2, 143, 273, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 288, 2, 128, 292, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 259, 1, 144, 268, 1], "image_id": 100600, "bbox": [111.82, 256.43, 45.58, 61.72], "category_id": 1, "id": 109348}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [295, 334, 2, 279, 333, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 359, 2, 280, 359, 2, 290, 376, 2, 278, 373, 2, 288, 389, 2, 278, 389, 2, 289, 318, 1, 288, 329, 1], "image_id": 102487, "bbox": [274.38, 317.71, 24.83, 76.24], "category_id": 1, "id": 109359}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [234, 137, 2, 192, 178, 2, 0, 0, 0, 229, 230, 2, 0, 0, 0, 278, 261, 2, 246, 237, 2, 207, 259, 2, 256, 297, 1, 220, 311, 1, 0, 0, 0, 0, 0, 0, 211, 91, 1, 213, 143, 1], "image_id": 100853, "bbox": [173.72, 84.64, 139.24, 216.63], "category_id": 1, "id": 109361}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 320, 1, 0, 0, 0], "image_id": 102487, "bbox": [271.24, 319.47, 9.66, 25.75], "category_id": 1, "id": 109366}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [521, 191, 2, 541, 194, 2, 513, 211, 2, 552, 217, 2, 507, 206, 1, 542, 228, 2, 520, 229, 2, 535, 230, 2, 515, 262, 2, 521, 261, 2, 530, 284, 2, 517, 287, 2, 530, 165, 1, 530, 185, 1], "image_id": 100595, "bbox": [505.95, 158.38, 50.81, 140.54], "category_id": 1, "id": 109370}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [393, 104, 2, 351, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 66, 1, 374, 94, 1], "image_id": 100907, "bbox": [349.12, 62.24, 48.88, 65.54], "category_id": 1, "id": 109372}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [398, 129, 2, 344, 117, 2, 381, 199, 2, 0, 0, 0, 346, 245, 1, 0, 0, 0, 392, 232, 1, 352, 231, 2, 387, 311, 1, 352, 305, 1, 0, 0, 0, 0, 0, 0, 359, 59, 1, 363, 109, 1], "image_id": 100853, "bbox": [333.31, 48.71, 79.27, 257.86], "category_id": 1, "id": 109391}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 62, 1, 346, 90, 1], "image_id": 100907, "bbox": [334.81, 58.88, 26.23, 50.82], "category_id": 1, "id": 109401}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [248, 127, 1, 206, 124, 2, 253, 172, 2, 192, 163, 2, 247, 206, 2, 187, 202, 2, 241, 211, 2, 207, 211, 2, 242, 267, 1, 210, 271, 2, 0, 0, 0, 219, 327, 1, 226, 72, 1, 228, 111, 1], "image_id": 100907, "bbox": [178.9, 70.07, 82.34, 232.32], "category_id": 1, "id": 109412}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100457, "bbox": [410.69, 0, 73.88, 39.34], "category_id": 1, "id": 109423}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [106, 130, 2, 129, 133, 2, 95, 160, 1, 126, 171, 2, 121, 166, 2, 154, 170, 2, 110, 190, 2, 133, 189, 2, 117, 235, 1, 129, 236, 1, 0, 0, 0, 0, 0, 0, 126, 97, 1, 120, 124, 1], "image_id": 100853, "bbox": [93.15, 94.83, 73.22, 144.11], "category_id": 1, "id": 109436}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 18, 153, 2, 0, 0, 0, 38, 190, 2, 0, 0, 0, 59, 174, 2, 0, 0, 0, 19, 244, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 102, 1, 8, 137, 1], "image_id": 100853, "bbox": [1.29, 96.74, 70.41, 171.66], "category_id": 1, "id": 109441}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 594, 271, 2, 0, 0, 0, 602, 424, 2, 0, 0, 0, 499, 332, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 588, 85, 1, 0, 0, 0], "image_id": 100400, "bbox": [426.07, 49.62, 213.93, 424.99], "category_id": 1, "id": 109454}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [625, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100400, "bbox": [517.75, 1.08, 122.25, 115.41], "category_id": 1, "id": 109457}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [43, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 83, 1, 27, 117, 1], "image_id": 100853, "bbox": [11.99, 79.54, 42.51, 90.23], "category_id": 1, "id": 109461}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 57, 1, 0, 0, 0], "image_id": 100907, "bbox": [8.47, 50.92, 30.29, 57.4], "category_id": 1, "id": 109474}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [102, 82, 2, 68, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 45, 1, 81, 76, 1], "image_id": 100907, "bbox": [67.01, 41.96, 41.46, 77.19], "category_id": 1, "id": 109477}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 351, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100601, "bbox": [0.7, 262.99, 140.63, 145.86], "category_id": 1, "id": 109482}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100853, "bbox": [35.7, 107.94, 30.42, 55.31], "category_id": 1, "id": 109484}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [386, 68, 2, 291, 65, 2, 404, 200, 1, 287, 152, 2, 301, 173, 2, 268, 156, 2, 356, 265, 1, 285, 254, 1, 343, 379, 1, 283, 369, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 53, 1], "image_id": 100400, "bbox": [229.29, 0, 200.39, 360.31], "category_id": 1, "id": 109490}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 327, 2, 248, 324, 1, 266, 334, 2, 250, 332, 2, 269, 347, 2, 247, 340, 1, 258, 350, 2, 250, 347, 2, 252, 372, 2, 248, 371, 2, 252, 381, 2, 244, 381, 2, 263, 312, 1, 261, 323, 1], "image_id": 102487, "bbox": [238.57, 312.33, 33.3, 79.59], "category_id": 1, "id": 109493}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [207, 86, 1, 163, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 146, 1, 170, 145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 49, 1, 184, 81, 1], "image_id": 100907, "bbox": [152.46, 46.96, 49.03, 248.63], "category_id": 1, "id": 109505}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [95, 136, 2, 79, 136, 2, 0, 0, 0, 90, 175, 2, 0, 0, 0, 99, 195, 2, 87, 178, 2, 76, 181, 2, 91, 210, 2, 82, 214, 2, 0, 0, 0, 0, 0, 0, 92, 105, 1, 89, 128, 1], "image_id": 100853, "bbox": [69.05, 98.15, 41.06, 141.23], "category_id": 1, "id": 109520}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100601, "bbox": [512.45, 4.39, 44.71, 54.21], "category_id": 1, "id": 109523}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [149, 131, 1, 168, 130, 2, 0, 0, 0, 178, 150, 2, 0, 0, 0, 0, 0, 0, 154, 169, 1, 167, 169, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 110, 1, 161, 124, 1], "image_id": 100853, "bbox": [153.23, 108.66, 28.3, 83.39], "category_id": 1, "id": 109527}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100907, "bbox": [142.64, 60.3, 15.49, 43.56], "category_id": 1, "id": 109583}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102139, "bbox": [491.48, 204.33, 11.76, 16.77], "category_id": 1, "id": 109620}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 146, 1, 478, 160, 1], "image_id": 102435, "bbox": [463.45, 144.68, 27.58, 53.04], "category_id": 1, "id": 109634}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100534, "bbox": [29.72, 0, 37.41, 42.83], "category_id": 1, "id": 109637}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [349, 168, 1, 273, 171, 2, 0, 0, 0, 253, 243, 2, 0, 0, 0, 266, 232, 2, 334, 273, 2, 279, 275, 2, 341, 399, 2, 302, 380, 2, 0, 0, 0, 0, 0, 0, 296, 78, 1, 312, 152, 1], "image_id": 102246, "bbox": [249.73, 78.32, 106.73, 401.37], "category_id": 1, "id": 109640}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101701, "bbox": [364.47, 215.87, 44.9, 36.23], "category_id": 1, "id": 109662}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [179, 136, 2, 166, 135, 2, 182, 144, 2, 162, 144, 2, 176, 145, 2, 168, 144, 2, 176, 160, 2, 167, 160, 2, 175, 173, 2, 168, 174, 2, 171, 188, 2, 167, 188, 2, 175, 123, 1, 173, 133, 1], "image_id": 100595, "bbox": [158.31, 122.48, 26.63, 72.35], "category_id": 1, "id": 109683}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101701, "bbox": [80.69, 172.33, 39.29, 37.79], "category_id": 1, "id": 109722}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100138, "bbox": [72.14, 108.88, 12.89, 11.53], "category_id": 1, "id": 109730}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [74, 159, 2, 102, 144, 2, 0, 0, 0, 89, 175, 2, 0, 0, 0, 102, 226, 2, 54, 286, 2, 94, 255, 2, 81, 379, 2, 171, 270, 2, 117, 478, 2, 146, 368, 2, 117, 126, 1, 96, 147, 1], "image_id": 100462, "bbox": [11.25, 121.16, 177.8, 373.59], "category_id": 1, "id": 109740}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [16, 323, 2, 0, 0, 0, 81, 418, 1, 0, 0, 0, 20, 453, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100845, "bbox": [0, 243.06, 82.7, 214.17], "category_id": 1, "id": 109747}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 6, 492, 2, 0, 0, 0, 113, 482, 2, 0, 0, 0, 8, 451, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100845, "bbox": [0, 441.03, 137.07, 198.97], "category_id": 1, "id": 109749}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [614, 309, 2, 485, 240, 1, 0, 0, 0, 468, 408, 2, 333, 425, 2, 324, 347, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 27, 1, 581, 226, 1], "image_id": 101508, "bbox": [174.97, 2.22, 465.03, 471.78], "category_id": 1, "id": 109757}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [259, 104, 1, 107, 106, 2, 0, 0, 0, 87, 222, 2, 0, 0, 0, 81, 303, 2, 224, 299, 1, 134, 301, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 88, 1], "image_id": 100601, "bbox": [65.09, 74.18, 98.59, 311.1], "category_id": 1, "id": 109758}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100595, "bbox": [397.16, 141.86, 23.46, 32.29], "category_id": 1, "id": 109759}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102246, "bbox": [373.09, 34.63, 55.79, 63.67], "category_id": 1, "id": 109768}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102435, "bbox": [556.53, 209.32, 14.5, 6.65], "category_id": 1, "id": 109771}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100457, "bbox": [533.01, 0.3, 72.57, 34.66], "category_id": 1, "id": 109787}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 568, 56, 2, 408, 9, 2, 470, 120, 2, 389, 97, 2, 495, 146, 1, 409, 127, 1, 462, 246, 1, 405, 228, 1, 0, 0, 0, 389, 279, 1, 0, 0, 0, 0, 0, 0], "image_id": 100143, "bbox": [365.58, 0, 271.76, 189.73], "category_id": 1, "id": 109788}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 153, 197, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 130, 1, 168, 175, 1], "image_id": 100138, "bbox": [135.81, 126.72, 37.33, 114.6], "category_id": 1, "id": 109789}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [218, 530, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 314, 1, 92, 499, 1], "image_id": 101385, "bbox": [1.47, 302.94, 218.68, 336.4], "category_id": 1, "id": 109790}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [600, 98, 2, 567, 99, 2, 613, 119, 2, 0, 0, 0, 609, 100, 2, 0, 0, 0, 594, 150, 2, 570, 151, 1, 594, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 71, 1, 582, 93, 1], "image_id": 100462, "bbox": [554.02, 67.86, 64.45, 134.82], "category_id": 1, "id": 109808}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 418, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 58, 1, 0, 0, 0], "image_id": 100457, "bbox": [346.06, 47.74, 79.18, 128.68], "category_id": 1, "id": 109815}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 238, 25, 2, 56, 94, 2, 283, 121, 1, 116, 159, 2, 210, 86, 2, 115, 129, 2, 255, 215, 2, 185, 249, 2, 276, 301, 2, 216, 336, 2, 0, 0, 0, 0, 0, 0], "image_id": 100143, "bbox": [0, 0, 306.34, 388.44], "category_id": 1, "id": 109841}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [286, 182, 2, 295, 177, 2, 268, 191, 2, 284, 168, 2, 252, 193, 2, 274, 162, 2, 297, 212, 2, 303, 209, 2, 269, 210, 2, 288, 210, 2, 251, 229, 2, 290, 242, 2, 281, 165, 1, 287, 175, 1], "image_id": 100852, "bbox": [241.84, 154.97, 63.5, 90.87], "category_id": 1, "id": 109854}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101633, "bbox": [304.68, 53.61, 35.87, 39.7], "category_id": 1, "id": 109858}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [122, 139, 1, 103, 140, 1, 129, 154, 1, 0, 0, 0, 131, 174, 2, 0, 0, 0, 117, 172, 1, 102, 173, 1, 120, 199, 2, 0, 0, 0, 122, 219, 2, 0, 0, 0, 109, 119, 1, 109, 134, 1], "image_id": 100462, "bbox": [102.06, 110.61, 34.1, 124.55], "category_id": 1, "id": 109859}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 2, 26, 43, 2, 11, 102, 2, 27, 83, 2, 0, 0, 0, 0, 0, 0], "image_id": 101961, "bbox": [0, 0, 47.27, 116.12], "category_id": 1, "id": 109867}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [156, 134, 2, 106, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100842, "bbox": [78.82, 71.41, 99.75, 83.24], "category_id": 1, "id": 109878}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 215, 1], "image_id": 101701, "bbox": [28.72, 195.95, 29.64, 53.22], "category_id": 1, "id": 109879}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [127, 113, 2, 30, 121, 2, 129, 187, 1, 33, 205, 2, 113, 256, 1, 77, 255, 2, 119, 258, 1, 37, 267, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 35, 1, 81, 101, 1], "image_id": 102255, "bbox": [9.49, 24.25, 129.68, 270.96], "category_id": 1, "id": 109898}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102255, "bbox": [109.49, 51.04, 8.88, 29.5], "category_id": 1, "id": 109904}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 587, 285, 1], "image_id": 101701, "bbox": [568.41, 265.09, 26.14, 49.23], "category_id": 1, "id": 109905}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [422, 56, 2, 451, 58, 2, 0, 0, 0, 456, 81, 2, 0, 0, 0, 0, 0, 0, 421, 92, 2, 440, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 37, 1, 439, 49, 1], "image_id": 100842, "bbox": [380.35, 41.71, 90.43, 107.63], "category_id": 1, "id": 109923}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 113, 1, 67, 126, 1], "image_id": 100138, "bbox": [55.24, 112.42, 18.9, 61.21], "category_id": 1, "id": 109950}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 144, 2, 50, 144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102183, "bbox": [2.1, 5.08, 254.55, 242.98], "category_id": 1, "id": 109951}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 21, 2, 0, 0, 0, 40, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100534, "bbox": [0.46, 0, 48.49, 83], "category_id": 1, "id": 109958}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [509, 66, 2, 547, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, 20, 1, 527, 54, 1], "image_id": 100737, "bbox": [503.35, 15.86, 59.55, 55.64], "category_id": 1, "id": 109961}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 155, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102327, "bbox": [347.2, 71.34, 86.95, 109.87], "category_id": 1, "id": 109965}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102327, "bbox": [0.43, 120.52, 112.11, 191.89], "category_id": 1, "id": 109970}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100138, "bbox": [25.57, 108.16, 21.68, 44.49], "category_id": 1, "id": 109972}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 90, 1, 240, 97, 1], "image_id": 100138, "bbox": [233.13, 87.92, 15.36, 59.83], "category_id": 1, "id": 109983}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101701, "bbox": [532.88, 267.63, 12.6, 20.6], "category_id": 1, "id": 109984}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [225, 101, 1, 197, 102, 2, 0, 0, 0, 190, 144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 65, 1, 226, 114, 1], "image_id": 100907, "bbox": [182.44, 61.75, 45.56, 106.04], "category_id": 1, "id": 109985}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [154, 134, 2, 133, 140, 1, 159, 162, 2, 0, 0, 0, 166, 186, 2, 0, 0, 0, 157, 174, 1, 142, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 111, 1, 140, 131, 1], "image_id": 100853, "bbox": [135.74, 108.98, 36.27, 105.72], "category_id": 1, "id": 109991}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 332, 609, 2, 0, 0, 0, 359, 479, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100845, "bbox": [306.7, 404.58, 120.3, 234.58], "category_id": 1, "id": 109999}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 132, 1], "image_id": 100595, "bbox": [193.97, 106.48, 36.36, 61.31], "category_id": 1, "id": 110022}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100601, "bbox": [427.69, 0, 37.76, 21.32], "category_id": 1, "id": 110024}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102327, "bbox": [327.44, 162.99, 36.07, 27.67], "category_id": 1, "id": 110029}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [324, 319, 1, 314, 317, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 346, 2, 314, 348, 2, 322, 383, 2, 314, 382, 2, 0, 0, 0, 0, 0, 0, 327, 296, 1, 327, 311, 1], "image_id": 102487, "bbox": [306.63, 295.59, 27.71, 111.36], "category_id": 1, "id": 110031}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100138, "bbox": [205.21, 100.27, 24.44, 81.46], "category_id": 1, "id": 110043}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 101, 1, 386, 118, 1], "image_id": 100462, "bbox": [381.87, 100.07, 22.86, 36.58], "category_id": 1, "id": 110054}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 301, 2, 64, 306, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100457, "bbox": [61.36, 250.56, 38.84, 94.01], "category_id": 1, "id": 110070}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [74, 147, 2, 9, 141, 2, 85, 207, 2, 0, 0, 0, 19, 195, 2, 36, 203, 1, 70, 248, 2, 6, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 138, 1], "image_id": 102246, "bbox": [0.33, 127.19, 94.11, 147.64], "category_id": 1, "id": 110073}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [252, 232, 1, 140, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 138, 1, 187, 214, 1], "image_id": 100737, "bbox": [94.9, 115.96, 159.11, 135.11], "category_id": 1, "id": 110097}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [36, 130, 2, 22, 132, 2, 44, 140, 1, 19, 143, 2, 46, 147, 1, 19, 150, 2, 35, 149, 2, 27, 150, 2, 37, 168, 2, 29, 170, 2, 39, 184, 2, 32, 184, 2, 29, 116, 1, 29, 126, 1], "image_id": 100138, "bbox": [16.74, 116.12, 29.51, 78.16], "category_id": 1, "id": 110111}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [195, 284, 1, 0, 0, 0, 176, 297, 2, 0, 0, 0, 183, 320, 2, 0, 0, 0, 184, 319, 2, 209, 327, 2, 170, 371, 2, 0, 0, 0, 154, 410, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100600, "bbox": [146.43, 271.45, 78.02, 152.96], "category_id": 1, "id": 110128}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [494, 271, 2, 429, 270, 2, 550, 345, 2, 416, 415, 2, 590, 346, 2, 555, 375, 2, 436, 422, 2, 412, 432, 2, 612, 369, 2, 619, 400, 2, 0, 0, 0, 0, 0, 0, 493, 148, 1, 459, 257, 1], "image_id": 101701, "bbox": [350.34, 132.16, 289.66, 340.36], "category_id": 1, "id": 110130}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [475, 333, 2, 317, 309, 2, 0, 0, 0, 241, 543, 2, 0, 0, 0, 201, 373, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 17, 1, 393, 273, 1], "image_id": 101385, "bbox": [145.03, 0.59, 334.97, 639.41], "category_id": 1, "id": 110143}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [312, 205, 2, 114, 255, 2, 383, 322, 2, 0, 0, 0, 286, 231, 2, 195, 270, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 31, 1, 205, 200, 1], "image_id": 101576, "bbox": [89.61, 19.48, 309.74, 350.65], "category_id": 1, "id": 110150}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 384, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101701, "bbox": [304.19, 364.64, 50.82, 57.75], "category_id": 1, "id": 110152}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 56, 1, 0, 0, 0], "image_id": 101576, "bbox": [407.93, 54.91, 23.2, 16.09], "category_id": 1, "id": 110153}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101576, "bbox": [349.97, 60.15, 44.35, 53.81], "category_id": 1, "id": 110157}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 315, 1, 375, 318, 1, 399, 334, 1, 368, 337, 1, 394, 354, 1, 364, 354, 1, 386, 357, 1, 372, 356, 1, 384, 391, 1, 367, 391, 1, 385, 431, 1, 369, 425, 1, 380, 220, 1, 383, 250, 1], "image_id": 102487, "bbox": [341.96, 218.74, 65.82, 203.27], "category_id": 1, "id": 110195}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [152, 163, 1, 0, 0, 0, 165, 180, 2, 0, 0, 0, 170, 198, 2, 0, 0, 0, 152, 201, 2, 167, 203, 2, 147, 235, 2, 165, 235, 2, 144, 261, 2, 166, 262, 1, 0, 0, 0, 0, 0, 0], "image_id": 102139, "bbox": [120.85, 120.03, 52.61, 152.34], "category_id": 1, "id": 110197}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101701, "bbox": [57.2, 207.52, 16.89, 20.88], "category_id": 1, "id": 110198}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 110, 1, 394, 130, 2, 430, 177, 2, 441, 190, 2, 463, 190, 2, 487, 199, 2, 373, 204, 1, 384, 216, 2, 457, 209, 2, 479, 221, 2, 431, 293, 2, 439, 305, 1, 419, 71, 1, 404, 113, 1], "image_id": 101576, "bbox": [372.22, 65.74, 127.78, 242.59], "category_id": 1, "id": 110202}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 165, 2, 210, 143, 2, 251, 229, 2, 147, 174, 2, 199, 218, 2, 167, 206, 2, 219, 256, 2, 177, 234, 2, 114, 301, 2, 70, 275, 2, 138, 381, 1, 100, 379, 2, 234, 78, 1, 243, 139, 1], "image_id": 100924, "bbox": [52.97, 70.81, 261.62, 321.08], "category_id": 1, "id": 110208}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 468, 179, 2, 0, 0, 0, 398, 301, 2, 0, 0, 0, 510, 312, 2, 600, 408, 1, 471, 395, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 13, 1, 554, 167, 1], "image_id": 101061, "bbox": [382.92, 11.54, 256.72, 355.95], "category_id": 1, "id": 110218}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [201, 101, 2, 144, 117, 2, 0, 0, 0, 123, 196, 2, 231, 193, 2, 203, 192, 2, 202, 276, 2, 169, 277, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 36, 1, 187, 97, 1], "image_id": 101397, "bbox": [111.29, 17.74, 150.81, 355.65], "category_id": 1, "id": 110223}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [8, 192, 2, 103, 271, 2, 0, 0, 0, 121, 392, 2, 0, 0, 0, 266, 405, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 100, 1, 69, 209, 1], "image_id": 100410, "bbox": [0, 94.79, 317.49, 327.61], "category_id": 1, "id": 110228}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [359, 289, 2, 173, 263, 2, 348, 412, 2, 106, 383, 2, 361, 398, 2, 110, 331, 2, 299, 471, 1, 175, 464, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 89, 1, 267, 245, 1], "image_id": 102447, "bbox": [25.89, 24.45, 368.18, 415.64], "category_id": 1, "id": 110245}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [508, 197, 2, 535, 181, 2, 510, 261, 2, 549, 230, 2, 471, 262, 2, 524, 245, 2, 493, 286, 2, 515, 274, 2, 486, 365, 1, 458, 329, 2, 0, 0, 0, 0, 0, 0, 521, 114, 1, 523, 169, 1], "image_id": 100039, "bbox": [442.34, 103.1, 117.23, 261.91], "category_id": 1, "id": 110247}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [574, 145, 2, 545, 137, 1, 603, 193, 2, 0, 0, 0, 570, 218, 2, 0, 0, 0, 550, 228, 1, 538, 201, 1, 534, 278, 2, 524, 267, 1, 525, 329, 2, 559, 301, 1, 563, 86, 1, 555, 129, 1], "image_id": 100039, "bbox": [498.88, 80.65, 112.24, 269.39], "category_id": 1, "id": 110266}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [598, 213, 2, 572, 156, 2, 494, 395, 2, 519, 306, 2, 387, 398, 2, 423, 336, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 4, 1, 569, 136, 1], "image_id": 101515, "bbox": [336.54, 0.75, 303.46, 469.21], "category_id": 1, "id": 110279}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [85, 205, 2, 51, 177, 2, 53, 336, 2, 0, 0, 0, 157, 324, 2, 73, 391, 2, 62, 475, 2, 35, 468, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 49, 1, 69, 151, 1], "image_id": 101515, "bbox": [0, 31.28, 232.99, 448.72], "category_id": 1, "id": 110280}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [479, 94, 2, 372, 120, 2, 513, 180, 2, 370, 186, 2, 496, 274, 1, 399, 253, 2, 486, 269, 1, 415, 259, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 15, 1, 417, 92, 1], "image_id": 101515, "bbox": [354.36, 6.55, 170.74, 295.3], "category_id": 1, "id": 110297}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [328, 147, 2, 369, 144, 2, 287, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 263, 1, 392, 256, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 108, 1, 334, 131, 1], "image_id": 101061, "bbox": [297.14, 95.06, 126.26, 150.2], "category_id": 1, "id": 110301}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [178, 187, 2, 148, 188, 2, 190, 224, 2, 133, 225, 2, 181, 250, 2, 166, 223, 2, 177, 251, 2, 152, 252, 2, 178, 302, 1, 157, 304, 2, 181, 345, 1, 158, 346, 1, 161, 147, 1, 159, 178, 1], "image_id": 100410, "bbox": [126.09, 144.88, 68.78, 164.3], "category_id": 1, "id": 110306}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [171, 219, 2, 75, 224, 2, 209, 309, 2, 105, 311, 2, 241, 283, 2, 187, 285, 2, 196, 327, 2, 150, 367, 2, 280, 349, 2, 288, 407, 2, 0, 0, 0, 0, 0, 0, 125, 125, 1, 122, 206, 1], "image_id": 100613, "bbox": [48.4, 111.65, 285.37, 367.89], "category_id": 1, "id": 110312}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [285, 213, 2, 136, 214, 2, 327, 333, 1, 81, 329, 1, 212, 324, 2, 144, 319, 2, 265, 384, 1, 149, 377, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 62, 1, 218, 188, 1], "image_id": 101061, "bbox": [82.86, 41.93, 267.84, 305.16], "category_id": 1, "id": 110318}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [449, 178, 2, 597, 198, 2, 0, 0, 0, 617, 318, 2, 0, 0, 0, 613, 409, 2, 473, 414, 2, 549, 423, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 62, 1, 526, 151, 1], "image_id": 100410, "bbox": [427.9, 55.05, 211.64, 369.16], "category_id": 1, "id": 110319}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [210, 225, 1, 150, 205, 2, 295, 197, 1, 140, 133, 2, 240, 157, 2, 200, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 150, 1, 190, 202, 1], "image_id": 102533, "bbox": [127.82, 125.58, 156.63, 98.97], "category_id": 1, "id": 110323}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [85, 107, 2, 112, 115, 2, 0, 0, 0, 123, 190, 1, 0, 0, 0, 0, 0, 0, 80, 222, 2, 113, 227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 44, 1, 104, 96, 1], "image_id": 100039, "bbox": [66.83, 32.22, 79.62, 206.69], "category_id": 1, "id": 110332}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100410, "bbox": [0.39, 149.68, 31.81, 38.36], "category_id": 1, "id": 110333}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [325, 171, 2, 248, 177, 2, 347, 209, 2, 268, 231, 1, 356, 219, 2, 314, 235, 1, 333, 234, 2, 300, 240, 1, 395, 250, 2, 357, 260, 2, 384, 342, 2, 354, 353, 1, 286, 107, 1, 286, 159, 1], "image_id": 100613, "bbox": [236.25, 97.33, 182.05, 267.18], "category_id": 1, "id": 110337}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100410, "bbox": [622.71, 183.62, 17.29, 24.59], "category_id": 1, "id": 110341}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [417, 216, 1, 336, 163, 2, 383, 257, 1, 306, 109, 2, 335, 252, 1, 358, 134, 2, 334, 302, 2, 284, 263, 2, 220, 390, 2, 152, 350, 2, 0, 0, 0, 103, 448, 1, 388, 99, 1, 373, 170, 1], "image_id": 100924, "bbox": [89.46, 83.6, 329.62, 356.73], "category_id": 1, "id": 110357}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [353, 222, 2, 259, 232, 1, 364, 294, 2, 0, 0, 0, 368, 355, 2, 0, 0, 0, 375, 350, 2, 302, 357, 1, 452, 389, 2, 369, 305, 2, 0, 0, 0, 506, 359, 2, 304, 147, 1, 301, 212, 1], "image_id": 102533, "bbox": [243.18, 131.28, 332.22, 287.22], "category_id": 1, "id": 110366}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [172, 14, 2, 215, 18, 2, 155, 59, 2, 218, 69, 1, 0, 0, 0, 0, 0, 0, 180, 109, 2, 199, 108, 1, 182, 162, 1, 200, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 3, 1], "image_id": 102447, "bbox": [148.56, 0, 75.51, 140.29], "category_id": 1, "id": 110368}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [443, 227, 2, 382, 234, 2, 463, 279, 2, 394, 295, 1, 399, 301, 1, 409, 228, 2, 451, 322, 1, 415, 332, 1, 502, 347, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 160, 1, 407, 216, 1], "image_id": 102533, "bbox": [369.43, 151.61, 178.47, 204.38], "category_id": 1, "id": 110371}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [464, 156, 2, 398, 163, 2, 462, 212, 2, 413, 216, 2, 475, 238, 2, 450, 248, 2, 437, 224, 2, 396, 224, 2, 506, 246, 2, 452, 272, 2, 468, 319, 2, 434, 342, 2, 434, 101, 1, 436, 145, 1], "image_id": 100613, "bbox": [380.1, 90.51, 135.32, 279.58], "category_id": 1, "id": 110382}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [522, 216, 2, 463, 217, 2, 540, 265, 2, 480, 278, 2, 554, 303, 2, 539, 315, 2, 534, 296, 2, 484, 301, 1, 592, 343, 2, 533, 346, 1, 0, 0, 0, 0, 0, 0, 487, 155, 1, 493, 209, 1], "image_id": 102533, "bbox": [460.43, 145.29, 174.82, 277.03], "category_id": 1, "id": 110394}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [623, 208, 1, 608, 210, 2, 0, 0, 0, 625, 236, 2, 0, 0, 0, 0, 0, 0, 631, 258, 2, 616, 266, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 278, 2, 617, 177, 1, 611, 200, 1], "image_id": 102533, "bbox": [595.78, 173.36, 43.68, 116.49], "category_id": 1, "id": 110399}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [55, 62, 2, 26, 75, 1, 57, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 40, 1, 40, 65, 1], "image_id": 102447, "bbox": [24.82, 36.92, 46.75, 63.85], "category_id": 1, "id": 110402}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 188, 1, 562, 218, 1], "image_id": 102533, "bbox": [543.06, 186.08, 24.41, 79.14], "category_id": 1, "id": 110404}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 23, 79, 2, 0, 0, 0, 41, 101, 1, 0, 0, 0, 33, 71, 1, 0, 0, 0, 20, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 38, 1, 7, 66, 1], "image_id": 102447, "bbox": [0, 33.69, 37.32, 107.8], "category_id": 1, "id": 110420}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 386, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102447, "bbox": [345.06, 160.5, 81.94, 449.57], "category_id": 1, "id": 110425}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [323, 303, 2, 249, 331, 1, 367, 366, 1, 273, 403, 1, 375, 388, 2, 326, 406, 2, 356, 394, 2, 319, 411, 2, 410, 442, 2, 368, 462, 2, 0, 0, 0, 0, 0, 0, 259, 247, 1, 282, 305, 1], "image_id": 100613, "bbox": [232.2, 235.42, 271.14, 244.53], "category_id": 1, "id": 110426}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [197, 357, 2, 222, 360, 2, 0, 0, 0, 243, 397, 2, 0, 0, 0, 251, 356, 2, 192, 448, 2, 215, 448, 2, 197, 537, 2, 223, 539, 2, 186, 614, 1, 223, 619, 2, 222, 308, 1, 214, 342, 1], "image_id": 100926, "bbox": [177.95, 302.7, 85.92, 337.3], "category_id": 1, "id": 110453}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [52, 280, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 138, 1, 27, 207, 1], "image_id": 100926, "bbox": [1.44, 113.15, 115.32, 209.01], "category_id": 1, "id": 110454}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [267, 373, 2, 234, 368, 1, 0, 0, 0, 248, 403, 1, 0, 0, 0, 294, 406, 2, 269, 455, 2, 244, 453, 2, 266, 521, 2, 256, 525, 2, 253, 584, 2, 239, 595, 2, 262, 314, 1, 250, 354, 1], "image_id": 100926, "bbox": [237.43, 308.88, 75.73, 320.19], "category_id": 1, "id": 110455}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100926, "bbox": [277.49, 351.97, 30.65, 43.89], "category_id": 1, "id": 110456}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [171, 382, 2, 133, 391, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 353, 1, 144, 380, 1], "image_id": 100926, "bbox": [118.62, 348.03, 64.02, 53.69], "category_id": 1, "id": 110457}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [400, 511, 2, 383, 516, 2, 406, 534, 2, 373, 549, 2, 407, 548, 2, 397, 561, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 474, 1, 385, 504, 1], "image_id": 100926, "bbox": [367.16, 472.9, 72.62, 111.43], "category_id": 1, "id": 110458}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [320, 401, 2, 306, 396, 2, 0, 0, 0, 331, 399, 2, 0, 0, 0, 341, 408, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 372, 1, 309, 394, 1], "image_id": 100926, "bbox": [297.75, 367.71, 51.4, 51.41], "category_id": 1, "id": 110460}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [425, 206, 2, 275, 227, 2, 530, 224, 2, 262, 277, 2, 562, 174, 2, 246, 316, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 123, 1, 342, 213, 1], "image_id": 101165, "bbox": [218.78, 107.47, 403.97, 313.77], "category_id": 1, "id": 110465}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [479, 239, 1, 414, 202, 2, 490, 335, 2, 357, 258, 1, 454, 373, 2, 346, 315, 2, 394, 376, 2, 361, 343, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 38, 1, 460, 195, 1], "image_id": 102261, "bbox": [305.26, 13.02, 234.07, 398.02], "category_id": 1, "id": 110471}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [304, 348, 2, 103, 342, 2, 346, 483, 2, 54, 517, 2, 374, 530, 2, 230, 498, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 122, 1, 206, 288, 1], "image_id": 100040, "bbox": [32.43, 106.09, 381.64, 441.51], "category_id": 1, "id": 110512}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [243, 257, 2, 121, 264, 2, 231, 346, 1, 87, 352, 1, 221, 427, 1, 141, 351, 2, 198, 399, 1, 124, 402, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 165, 1, 195, 249, 1], "image_id": 100108, "bbox": [68.67, 148.48, 199.46, 223.56], "category_id": 1, "id": 110549}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [361, 132, 2, 300, 146, 2, 369, 217, 2, 301, 215, 2, 348, 297, 2, 291, 303, 2, 399, 255, 2, 352, 256, 2, 392, 375, 2, 345, 370, 2, 0, 0, 0, 336, 471, 2, 304, 55, 1, 325, 121, 1], "image_id": 100471, "bbox": [280.63, 34.4, 152.78, 438.83], "category_id": 1, "id": 110563}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [116, 85, 2, 82, 85, 2, 110, 124, 2, 65, 125, 2, 134, 137, 1, 92, 155, 2, 113, 170, 2, 85, 169, 2, 103, 221, 2, 81, 222, 2, 91, 280, 2, 60, 281, 2, 98, 36, 1, 96, 74, 1], "image_id": 100038, "bbox": [51.78, 33.08, 81.97, 281.89], "category_id": 1, "id": 110577}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [564, 354, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 67, 1, 581, 297, 1], "image_id": 102261, "bbox": [465.98, 39.91, 174.02, 440.09], "category_id": 1, "id": 110589}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [170, 200, 2, 143, 203, 2, 173, 254, 2, 128, 279, 1, 191, 270, 2, 182, 285, 2, 174, 321, 2, 149, 326, 2, 168, 379, 2, 146, 413, 1, 155, 444, 2, 119, 493, 1, 157, 127, 1, 157, 182, 1], "image_id": 100748, "bbox": [107.87, 116.85, 107.86, 375.28], "category_id": 1, "id": 110599}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [122, 150, 2, 70, 155, 2, 233, 165, 2, 53, 187, 2, 255, 249, 2, 31, 205, 2, 197, 290, 2, 138, 300, 2, 168, 420, 2, 70, 419, 2, 220, 533, 2, 73, 580, 2, 70, 57, 1, 98, 129, 1], "image_id": 101449, "bbox": [14.04, 44.79, 256.74, 570.26], "category_id": 1, "id": 110604}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [196, 153, 2, 57, 160, 2, 251, 199, 2, 41, 334, 2, 396, 192, 2, 0, 0, 0, 151, 429, 2, 43, 448, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 26, 1, 140, 128, 1], "image_id": 101843, "bbox": [2.06, 13.9, 472.44, 438.47], "category_id": 1, "id": 110633}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [45, 256, 2, 57, 299, 2, 0, 0, 0, 68, 438, 2, 119, 293, 2, 131, 407, 2, 0, 0, 0, 79, 479, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 158, 1, 64, 252, 1], "image_id": 100748, "bbox": [10.11, 146.07, 153.93, 350.56], "category_id": 1, "id": 110640}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 503, 240, 2, 0, 0, 0, 390, 352, 2, 0, 0, 0, 269, 387, 2, 0, 0, 0, 569, 538, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 13, 1, 591, 190, 1], "image_id": 100040, "bbox": [226.99, 2.49, 411.57, 542.53], "category_id": 1, "id": 110645}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [169, 233, 2, 140, 231, 2, 180, 262, 2, 142, 260, 2, 194, 264, 2, 161, 248, 2, 164, 296, 2, 137, 296, 2, 165, 356, 2, 142, 360, 1, 172, 412, 2, 129, 416, 2, 156, 192, 1, 152, 224, 1], "image_id": 102263, "bbox": [120.31, 186.69, 85.58, 244.38], "category_id": 1, "id": 110653}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [350, 290, 2, 256, 294, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 410, 1, 263, 417, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 190, 1, 305, 274, 1], "image_id": 100108, "bbox": [208.81, 179.95, 147.69, 176.97], "category_id": 1, "id": 110685}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [386, 275, 1, 312, 277, 2, 0, 0, 0, 301, 323, 2, 0, 0, 0, 302, 355, 2, 377, 426, 1, 334, 428, 2, 379, 503, 1, 333, 506, 2, 0, 0, 0, 0, 0, 0, 343, 192, 1, 345, 256, 1], "image_id": 100411, "bbox": [274.49, 184.56, 102.58, 353.95], "category_id": 1, "id": 110688}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [420, 152, 2, 386, 148, 1, 430, 182, 2, 0, 0, 0, 410, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 113, 1, 404, 140, 1], "image_id": 100471, "bbox": [392.93, 108.91, 41.23, 89.09], "category_id": 1, "id": 110699}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [278, 292, 1, 193, 290, 1, 311, 326, 1, 0, 0, 0, 274, 358, 1, 0, 0, 0, 241, 346, 1, 207, 344, 2, 298, 370, 1, 212, 379, 2, 274, 402, 1, 205, 402, 1, 241, 230, 1, 237, 274, 1], "image_id": 101778, "bbox": [192.6, 221.05, 84.85, 184.09], "category_id": 1, "id": 110707}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [511, 278, 2, 389, 255, 2, 0, 0, 0, 343, 335, 2, 0, 0, 0, 260, 416, 2, 589, 464, 2, 535, 446, 2, 363, 460, 2, 328, 440, 2, 0, 0, 0, 0, 0, 0, 443, 87, 1, 450, 238, 1], "image_id": 101455, "bbox": [220.2, 71.97, 406.03, 406.03], "category_id": 1, "id": 110710}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [160, 199, 2, 211, 169, 2, 139, 232, 2, 231, 153, 2, 100, 239, 2, 237, 123, 2, 185, 251, 2, 211, 248, 2, 0, 0, 0, 232, 225, 2, 0, 0, 0, 239, 253, 2, 167, 143, 1, 180, 174, 1], "image_id": 101709, "bbox": [75.11, 93.08, 172.86, 180.47], "category_id": 1, "id": 110720}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [511, 226, 1, 419, 191, 1, 497, 324, 1, 391, 250, 1, 445, 384, 1, 350, 314, 1, 0, 0, 0, 363, 405, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 41, 1, 466, 195, 1], "image_id": 102261, "bbox": [188.53, 0.81, 348.9, 280.63], "category_id": 1, "id": 110725}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 364, 2, 181, 367, 2, 212, 392, 2, 187, 393, 2, 206, 375, 2, 196, 376, 2, 205, 408, 2, 192, 409, 2, 216, 424, 2, 201, 421, 2, 195, 424, 2, 182, 424, 2, 194, 331, 1, 194, 359, 1], "image_id": 102263, "bbox": [177.41, 326.95, 48.96, 102.95], "category_id": 1, "id": 110736}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [282, 193, 2, 250, 194, 2, 291, 214, 2, 247, 225, 2, 270, 222, 2, 247, 243, 2, 275, 246, 2, 255, 248, 2, 272, 276, 2, 252, 276, 2, 273, 307, 2, 250, 307, 2, 264, 156, 1, 264, 185, 1], "image_id": 100403, "bbox": [238.94, 152, 55.88, 164.76], "category_id": 1, "id": 110747}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [403, 274, 2, 214, 260, 2, 460, 461, 2, 234, 369, 2, 334, 555, 2, 130, 425, 2, 380, 574, 2, 241, 543, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 41, 1, 297, 225, 1], "image_id": 102266, "bbox": [64.72, 5.75, 414.2, 627.06], "category_id": 1, "id": 110748}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 363, 506, 2, 0, 0, 0, 287, 596, 2, 0, 0, 0, 178, 608, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 388, 1, 434, 510, 1], "image_id": 100411, "bbox": [94.92, 342.05, 385.08, 291.96], "category_id": 1, "id": 110751}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [366, 121, 2, 254, 110, 2, 395, 205, 2, 176, 184, 1, 355, 262, 2, 142, 216, 1, 354, 313, 2, 277, 304, 2, 414, 450, 2, 245, 380, 2, 0, 0, 0, 249, 530, 2, 314, 33, 1, 310, 113, 1], "image_id": 101449, "bbox": [211.89, 10.09, 214.78, 569.37], "category_id": 1, "id": 110754}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [455, 224, 2, 416, 272, 1, 482, 243, 2, 0, 0, 0, 482, 254, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 165, 1, 445, 225, 1], "image_id": 100284, "bbox": [400.09, 154.95, 97.87, 112.26], "category_id": 1, "id": 110762}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [296, 179, 2, 242, 179, 2, 317, 232, 2, 0, 0, 0, 299, 268, 2, 0, 0, 0, 297, 279, 2, 256, 281, 1, 310, 357, 1, 259, 356, 1, 0, 0, 0, 0, 0, 0, 261, 104, 1, 262, 167, 1], "image_id": 101774, "bbox": [231.33, 96.87, 110.85, 253.5], "category_id": 1, "id": 110764}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [519, 158, 2, 448, 149, 2, 541, 196, 1, 395, 165, 2, 0, 0, 0, 418, 184, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 100, 1, 482, 145, 1], "image_id": 101165, "bbox": [379.98, 92.12, 151.61, 102.67], "category_id": 1, "id": 110768}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [514, 169, 2, 438, 119, 2, 502, 251, 2, 370, 102, 2, 420, 211, 2, 308, 94, 2, 484, 261, 2, 422, 253, 2, 432, 398, 2, 448, 390, 2, 0, 0, 0, 0, 0, 0, 501, 70, 1, 484, 132, 1], "image_id": 100151, "bbox": [239.89, 55.65, 368.47, 371.35], "category_id": 1, "id": 110775}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [173, 256, 2, 102, 255, 2, 200, 334, 2, 108, 335, 2, 184, 399, 2, 169, 404, 2, 167, 389, 2, 101, 392, 2, 164, 524, 2, 117, 519, 2, 163, 627, 1, 120, 627, 2, 138, 173, 1, 135, 241, 1], "image_id": 102497, "bbox": [73.35, 169.71, 139.5, 461.66], "category_id": 1, "id": 110777}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [331, 162, 2, 217, 185, 2, 388, 159, 2, 163, 216, 2, 454, 144, 2, 123, 243, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 91, 1, 273, 164, 1], "image_id": 101388, "bbox": [84.82, 77.35, 428.93, 210.13], "category_id": 1, "id": 110808}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [399, 170, 2, 334, 187, 2, 389, 223, 2, 0, 0, 0, 339, 201, 2, 0, 0, 0, 409, 266, 2, 371, 273, 2, 398, 243, 2, 406, 322, 2, 445, 339, 2, 445, 405, 1, 340, 122, 1, 350, 175, 1], "image_id": 101840, "bbox": [303.99, 114.24, 188.56, 280.27], "category_id": 1, "id": 110821}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [394, 172, 1, 343, 193, 1, 389, 229, 1, 0, 0, 0, 339, 200, 1, 326, 180, 1, 415, 268, 1, 365, 276, 1, 398, 239, 1, 409, 317, 1, 0, 0, 0, 0, 0, 0, 304, 211, 1, 309, 257, 1], "image_id": 101840, "bbox": [204.68, 202.52, 149.91, 119.64], "category_id": 1, "id": 110828}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [130, 138, 2, 76, 144, 1, 152, 191, 2, 0, 0, 0, 137, 235, 2, 113, 240, 1, 132, 216, 2, 95, 223, 1, 183, 247, 2, 0, 0, 0, 150, 315, 1, 0, 0, 0, 99, 89, 1, 101, 128, 1], "image_id": 100281, "bbox": [94.24, 95, 100.43, 243.92], "category_id": 1, "id": 110831}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [462, 269, 2, 373, 261, 2, 492, 367, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 385, 1, 400, 379, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 173, 1, 413, 256, 1], "image_id": 100108, "bbox": [362.43, 156.4, 132.67, 208.18], "category_id": 1, "id": 110836}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [220, 312, 2, 16, 356, 2, 0, 0, 0, 0, 0, 0, 306, 454, 2, 46, 438, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 65, 1, 104, 277, 1], "image_id": 100473, "bbox": [0, 49.62, 424.99, 423.91], "category_id": 1, "id": 110875}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [220, 165, 1, 175, 162, 2, 0, 0, 0, 151, 182, 2, 0, 0, 0, 207, 188, 1, 223, 249, 1, 189, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 110, 1, 196, 158, 1], "image_id": 101165, "bbox": [140.06, 97.63, 88.82, 117.94], "category_id": 1, "id": 110890}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [229, 147, 2, 173, 144, 2, 0, 0, 0, 132, 226, 2, 0, 0, 0, 168, 261, 2, 224, 267, 2, 181, 265, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 66, 1, 208, 126, 1], "image_id": 101774, "bbox": [117.62, 63.57, 122.69, 318.5], "category_id": 1, "id": 110935}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [606, 280, 2, 505, 270, 2, 0, 0, 0, 0, 0, 0, 605, 471, 2, 0, 0, 0, 0, 0, 0, 514, 471, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 131, 1, 539, 252, 1], "image_id": 100108, "bbox": [465.98, 111.1, 174.02, 363.51], "category_id": 1, "id": 110946}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [612, 139, 2, 541, 139, 2, 0, 0, 0, 550, 175, 1, 0, 0, 0, 598, 194, 1, 611, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, 83, 1, 580, 129, 1], "image_id": 101165, "bbox": [525.87, 71.67, 102.41, 115.86], "category_id": 1, "id": 110953}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 258, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 104, 1, 288, 148, 1], "image_id": 101165, "bbox": [259.08, 101.71, 58.53, 110.35], "category_id": 1, "id": 110959}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [259, 175, 1, 211, 178, 2, 0, 0, 0, 206, 210, 2, 0, 0, 0, 223, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 125, 1, 233, 163, 1], "image_id": 100281, "bbox": [190.88, 125, 63.34, 199.32], "category_id": 1, "id": 110976}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [313, 187, 2, 267, 184, 2, 286, 213, 2, 251, 238, 2, 274, 254, 2, 258, 290, 2, 267, 212, 2, 223, 212, 2, 277, 297, 2, 257, 303, 2, 251, 348, 2, 276, 371, 2, 330, 126, 1, 300, 171, 1], "image_id": 100281, "bbox": [213.03, 111.94, 132.93, 263.06], "category_id": 1, "id": 110982}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 160, 2, 401, 160, 2, 451, 193, 2, 399, 192, 2, 439, 208, 2, 415, 212, 2, 436, 201, 2, 413, 200, 2, 457, 215, 2, 393, 222, 2, 417, 224, 2, 399, 255, 2, 420, 117, 1, 422, 150, 1], "image_id": 100281, "bbox": [382.62, 113.64, 82.96, 162.53], "category_id": 1, "id": 110995}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [32, 177, 2, 0, 0, 0, 41, 218, 2, 0, 0, 0, 5, 226, 2, 0, 0, 0, 23, 234, 2, 0, 0, 0, 48, 220, 2, 44, 255, 2, 40, 309, 1, 52, 328, 1, 0, 0, 0, 0, 0, 0], "image_id": 101165, "bbox": [0, 96.17, 63.01, 169.72], "category_id": 1, "id": 111006}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [308, 322, 2, 272, 322, 2, 317, 336, 2, 245, 347, 2, 313, 352, 2, 251, 375, 2, 258, 360, 2, 231, 349, 2, 253, 393, 2, 233, 388, 2, 254, 434, 2, 229, 432, 1, 293, 270, 1, 290, 317, 1], "image_id": 101778, "bbox": [220.38, 257.99, 104.38, 206.18], "category_id": 1, "id": 111019}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [183, 287, 2, 147, 292, 2, 197, 319, 1, 139, 333, 2, 211, 300, 2, 150, 350, 2, 186, 352, 2, 157, 357, 2, 184, 409, 2, 176, 424, 2, 166, 445, 2, 170, 468, 2, 174, 227, 1, 167, 278, 1], "image_id": 101778, "bbox": [123.32, 220.59, 95.34, 262.32], "category_id": 1, "id": 111033}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [433, 140, 2, 403, 141, 2, 440, 168, 2, 402, 167, 2, 421, 185, 2, 401, 192, 2, 432, 192, 2, 412, 193, 2, 434, 238, 2, 407, 237, 2, 435, 276, 2, 411, 276, 1, 415, 104, 1, 417, 132, 1], "image_id": 102500, "bbox": [394.81, 102.56, 54.3, 174.33], "category_id": 1, "id": 111075}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [564, 127, 2, 534, 131, 2, 581, 147, 2, 0, 0, 0, 574, 177, 2, 0, 0, 0, 556, 192, 2, 539, 191, 2, 560, 231, 2, 534, 231, 2, 560, 271, 2, 529, 273, 2, 544, 87, 1, 547, 117, 1], "image_id": 102500, "bbox": [517.78, 83.01, 70.65, 191.61], "category_id": 1, "id": 111093}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [219, 186, 2, 164, 188, 2, 232, 220, 2, 159, 229, 2, 235, 254, 1, 159, 259, 1, 215, 270, 2, 169, 267, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 134, 1, 196, 174, 1], "image_id": 100151, "bbox": [147.28, 147.31, 96.67, 129.58], "category_id": 1, "id": 111134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [168, 117, 2, 146, 111, 2, 159, 162, 2, 161, 156, 2, 171, 184, 2, 183, 166, 2, 163, 186, 2, 136, 181, 2, 157, 249, 2, 104, 240, 2, 131, 319, 2, 54, 304, 1, 159, 74, 1, 159, 108, 1], "image_id": 102500, "bbox": [42.8, 63.88, 151.03, 270.55], "category_id": 1, "id": 111135}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [157, 116, 1, 122, 117, 2, 0, 0, 0, 108, 146, 2, 0, 0, 0, 119, 154, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 74, 1, 141, 106, 1], "image_id": 102500, "bbox": [104.26, 71.41, 48.67, 214.79], "category_id": 1, "id": 111136}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [64, 147, 2, 128, 150, 2, 40, 207, 2, 109, 225, 1, 86, 233, 2, 65, 213, 2, 70, 248, 2, 106, 243, 2, 71, 327, 1, 107, 319, 1, 0, 0, 0, 0, 0, 0, 99, 87, 1, 97, 127, 1], "image_id": 101774, "bbox": [28.58, 81.56, 114.39, 242.16], "category_id": 1, "id": 111164}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [217, 133, 1, 0, 0, 0, 272, 185, 2, 0, 0, 0, 259, 186, 2, 241, 198, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 41, 1, 0, 0, 0], "image_id": 100204, "bbox": [156.69, 35.05, 124.64, 177.16], "category_id": 1, "id": 111169}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [371, 188, 2, 0, 0, 0, 349, 301, 1, 0, 0, 0, 289, 282, 2, 0, 0, 0, 350, 359, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 75, 1, 390, 158, 1], "image_id": 100204, "bbox": [270.38, 63.28, 172.59, 270.38], "category_id": 1, "id": 111177}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [547, 73, 2, 491, 70, 2, 564, 120, 2, 477, 117, 2, 561, 164, 2, 459, 151, 2, 526, 182, 1, 489, 178, 1, 534, 237, 1, 478, 236, 1, 539, 311, 1, 501, 304, 1, 511, 20, 1, 517, 62, 1], "image_id": 100403, "bbox": [447.11, 15.32, 131.16, 273.81], "category_id": 1, "id": 111190}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [505, 218, 2, 384, 230, 2, 497, 361, 2, 350, 385, 2, 555, 429, 1, 478, 457, 1, 461, 441, 1, 384, 450, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 74, 1, 463, 201, 1], "image_id": 100204, "bbox": [327.21, 46.85, 209.01, 403.6], "category_id": 1, "id": 111199}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 551, 180, 2, 0, 0, 0, 577, 298, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 519, 355, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 40, 1, 601, 146, 1], "image_id": 100204, "bbox": [509.89, 11.6, 102.11, 372.31], "category_id": 1, "id": 111200}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [532, 119, 2, 585, 107, 2, 505, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 37, 1, 542, 94, 1], "image_id": 100204, "bbox": [485.02, 27.68, 106.36, 137.95], "category_id": 1, "id": 111203}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [196, 107, 2, 149, 111, 2, 219, 138, 2, 136, 149, 2, 205, 158, 2, 170, 164, 2, 196, 186, 2, 161, 188, 2, 198, 243, 2, 154, 245, 2, 196, 304, 2, 152, 304, 2, 164, 59, 1, 168, 97, 1], "image_id": 100403, "bbox": [133.38, 52.84, 90.2, 261.96], "category_id": 1, "id": 111204}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [375, 335, 2, 429, 313, 2, 349, 340, 2, 0, 0, 0, 366, 305, 2, 0, 0, 0, 380, 395, 2, 424, 378, 1, 360, 354, 2, 0, 0, 0, 338, 388, 2, 0, 0, 0, 396, 250, 1, 400, 306, 1], "image_id": 100918, "bbox": [319.48, 239.73, 116.73, 186.07], "category_id": 1, "id": 111228}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 296, 234, 2, 0, 0, 0, 294, 278, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 297, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 203, 1, 301, 222, 1], "image_id": 100748, "bbox": [246.54, 203.28, 60.59, 104.79], "category_id": 1, "id": 111257}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [239, 101, 2, 186, 106, 2, 252, 170, 2, 151, 154, 2, 186, 148, 2, 148, 113, 2, 239, 216, 2, 200, 213, 2, 175, 274, 2, 131, 225, 2, 198, 386, 2, 156, 307, 2, 172, 37, 1, 202, 96, 1], "image_id": 100610, "bbox": [120.11, 28.26, 157.2, 364.74], "category_id": 1, "id": 111258}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 142, 82, 2, 0, 0, 0, 127, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 18, 1, 167, 65, 1], "image_id": 102393, "bbox": [112.7, 9.55, 85.95, 138.48], "category_id": 1, "id": 111264}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [455, 384, 2, 407, 385, 1, 472, 423, 2, 396, 426, 1, 460, 431, 2, 428, 428, 2, 448, 449, 2, 413, 449, 1, 474, 444, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 336, 1, 431, 375, 1], "image_id": 101911, "bbox": [413.56, 330.14, 76.72, 139.42], "category_id": 1, "id": 111271}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 64, 1, 136, 77, 1], "image_id": 102447, "bbox": [124.02, 59.35, 26.39, 25.29], "category_id": 1, "id": 111276}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [417, 157, 2, 382, 157, 2, 428, 193, 2, 368, 203, 2, 422, 157, 2, 391, 189, 2, 417, 206, 2, 392, 206, 2, 442, 243, 2, 412, 247, 2, 0, 0, 0, 0, 0, 0, 402, 114, 1, 400, 146, 1], "image_id": 100743, "bbox": [363.7, 109.01, 88.82, 209.77], "category_id": 1, "id": 111283}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [268, 156, 2, 224, 144, 2, 300, 182, 2, 0, 0, 0, 330, 204, 2, 0, 0, 0, 258, 222, 2, 228, 222, 2, 252, 267, 2, 197, 282, 1, 295, 331, 2, 202, 331, 1, 251, 112, 1, 244, 144, 1], "image_id": 100538, "bbox": [195.78, 96.38, 161.54, 262.75], "category_id": 1, "id": 111293}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 132, 1], "image_id": 101778, "bbox": [371.82, 127.69, 11.39, 30.22], "category_id": 1, "id": 111305}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 5, 2, 0, 0, 0, 101, 149, 2, 0, 0, 0, 45, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100610, "bbox": [0, 0, 139.54, 391.23], "category_id": 1, "id": 111312}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 215, 40, 2, 0, 0, 0, 234, 98, 1, 0, 0, 0, 278, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 120, 1, 237, 285, 2, 271, 215, 1, 269, 9, 1, 248, 34, 1], "image_id": 100610, "bbox": [207.54, 0, 101.56, 302.04], "category_id": 1, "id": 111324}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [275, 376, 2, 231, 377, 1, 277, 411, 2, 215, 412, 1, 257, 377, 2, 228, 376, 1, 267, 459, 2, 235, 458, 2, 281, 452, 2, 220, 445, 1, 295, 505, 1, 215, 513, 1, 0, 0, 0, 252, 371, 1], "image_id": 101911, "bbox": [230.48, 360.41, 72.01, 110.6], "category_id": 1, "id": 111329}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 85, 1, 352, 90, 1], "image_id": 100538, "bbox": [344.24, 80.51, 15.14, 42.79], "category_id": 1, "id": 111337}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [478, 205, 2, 378, 206, 2, 536, 264, 2, 398, 294, 2, 573, 243, 2, 480, 279, 2, 461, 413, 2, 387, 420, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 76, 1, 424, 172, 1], "image_id": 101784, "bbox": [347.35, 67.56, 259.68, 407.95], "category_id": 1, "id": 111342}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [362, 326, 2, 278, 334, 2, 442, 369, 2, 237, 401, 1, 378, 378, 2, 258, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 227, 1, 322, 328, 1], "image_id": 101065, "bbox": [240.11, 216.29, 214.38, 178.17], "category_id": 1, "id": 111343}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [386, 137, 2, 344, 145, 2, 0, 0, 0, 326, 189, 1, 0, 0, 0, 339, 215, 2, 382, 215, 1, 350, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 96, 1, 365, 133, 1], "image_id": 101784, "bbox": [321.05, 93.42, 73.05, 140.79], "category_id": 1, "id": 111370}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [251, 116, 2, 265, 115, 2, 0, 0, 0, 311, 191, 2, 303, 155, 2, 335, 158, 2, 262, 252, 2, 279, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 27, 1, 265, 88, 1], "image_id": 101065, "bbox": [205.81, 14.29, 169.6, 370.64], "category_id": 1, "id": 111376}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 153, 2, 285, 155, 2, 314, 162, 2, 292, 197, 2, 328, 171, 2, 314, 229, 2, 294, 214, 2, 265, 222, 1, 349, 244, 2, 327, 254, 2, 356, 314, 2, 330, 316, 2, 310, 112, 1, 298, 144, 1], "image_id": 100743, "bbox": [265.43, 99.95, 111.84, 229.42], "category_id": 1, "id": 111379}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [307, 71, 2, 329, 72, 2, 312, 46, 2, 344, 94, 2, 314, 28, 2, 347, 75, 2, 314, 114, 1, 333, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 46, 1, 319, 64, 1], "image_id": 100610, "bbox": [301.44, 11.58, 50.59, 143.18], "category_id": 1, "id": 111397}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [599, 335, 2, 522, 331, 2, 623, 372, 2, 484, 376, 2, 625, 352, 2, 503, 374, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 230, 1, 560, 319, 1], "image_id": 101065, "bbox": [474.5, 214.38, 165.5, 165.79], "category_id": 1, "id": 111398}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [104, 135, 2, 43, 140, 2, 95, 216, 2, 42, 221, 2, 114, 264, 2, 67, 292, 2, 111, 268, 2, 72, 285, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 46, 1, 74, 115, 1], "image_id": 100281, "bbox": [26.12, 39.61, 117.14, 329.49], "category_id": 1, "id": 111412}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [99, 161, 2, 55, 165, 2, 110, 195, 2, 37, 207, 2, 96, 219, 2, 67, 229, 2, 111, 223, 2, 74, 224, 2, 130, 260, 2, 108, 263, 2, 134, 331, 2, 110, 332, 2, 73, 113, 1, 75, 153, 1], "image_id": 100743, "bbox": [28.22, 107.45, 121.56, 243.13], "category_id": 1, "id": 111417}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [299, 156, 2, 248, 161, 2, 0, 0, 0, 307, 280, 2, 0, 0, 0, 366, 365, 1, 308, 279, 2, 270, 307, 1, 395, 297, 2, 388, 322, 2, 0, 0, 0, 0, 0, 0, 305, 62, 1, 277, 146, 1], "image_id": 102393, "bbox": [216.8, 50.33, 206.29, 305.61], "category_id": 1, "id": 111420}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [143, 111, 2, 99, 111, 2, 156, 141, 2, 90, 148, 1, 143, 158, 2, 119, 158, 2, 144, 186, 2, 110, 188, 1, 150, 256, 2, 0, 0, 0, 156, 327, 1, 0, 0, 0, 120, 63, 1, 122, 102, 1], "image_id": 100743, "bbox": [87.37, 61.32, 86.44, 266.97], "category_id": 1, "id": 111422}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [277, 116, 2, 239, 117, 2, 285, 152, 1, 227, 156, 1, 269, 166, 1, 0, 0, 0, 265, 180, 2, 242, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 70, 1, 258, 107, 1], "image_id": 100743, "bbox": [222.48, 64.25, 70.9, 251.35], "category_id": 1, "id": 111424}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [169, 250, 2, 46, 272, 2, 265, 321, 2, 73, 369, 2, 263, 229, 2, 103, 246, 2, 172, 457, 2, 80, 467, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 129, 1, 106, 238, 1], "image_id": 101784, "bbox": [21.57, 119.73, 262.12, 353.8], "category_id": 1, "id": 111430}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 100, 1, 227, 109, 1], "image_id": 101778, "bbox": [222.05, 99.62, 12.23, 42.73], "category_id": 1, "id": 111435}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [316, 184, 1, 263, 186, 1, 289, 213, 1, 0, 0, 0, 273, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100281, "bbox": [288.04, 210.41, 53.81, 83.71], "category_id": 1, "id": 111444}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [614, 167, 2, 546, 177, 2, 0, 0, 0, 543, 233, 2, 638, 215, 2, 588, 227, 1, 611, 277, 2, 562, 280, 2, 618, 340, 2, 565, 334, 2, 622, 407, 2, 562, 394, 2, 568, 106, 1, 578, 159, 1], "image_id": 101784, "bbox": [527.23, 101.07, 112.77, 334.29], "category_id": 1, "id": 111449}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [454, 229, 2, 440, 216, 2, 440, 261, 1, 428, 194, 2, 0, 0, 0, 408, 203, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 175, 1, 446, 219, 1], "image_id": 100918, "bbox": [398.12, 166.28, 76.15, 98.33], "category_id": 1, "id": 111479}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [210, 129, 2, 174, 129, 1, 223, 160, 2, 0, 0, 0, 207, 176, 2, 0, 0, 0, 205, 183, 2, 185, 180, 1, 216, 231, 2, 203, 225, 2, 175, 262, 2, 203, 276, 2, 190, 94, 1, 192, 122, 1], "image_id": 102500, "bbox": [168.66, 91.24, 57.84, 193.33], "category_id": 1, "id": 111486}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [353, 113, 2, 314, 110, 1, 383, 147, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 168, 2, 318, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 70, 1, 333, 103, 1], "image_id": 100743, "bbox": [319.82, 63.09, 72.89, 170.8], "category_id": 1, "id": 111488}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [337, 167, 2, 296, 170, 2, 361, 283, 2, 360, 302, 2, 409, 273, 1, 499, 282, 2, 302, 359, 2, 265, 381, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 48, 1, 319, 144, 1], "image_id": 100284, "bbox": [208.2, 39.82, 424.08, 380.9], "category_id": 1, "id": 111497}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [508, 108, 2, 473, 105, 2, 513, 154, 2, 459, 143, 2, 505, 166, 2, 450, 168, 2, 485, 187, 2, 467, 186, 2, 479, 230, 2, 460, 228, 2, 0, 0, 0, 0, 0, 0, 481, 66, 1, 488, 99, 1], "image_id": 100743, "bbox": [438.66, 56.03, 83.89, 206.14], "category_id": 1, "id": 111500}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [381, 83, 2, 407, 91, 2, 398, 110, 2, 0, 0, 0, 353, 167, 2, 0, 0, 0, 382, 186, 2, 409, 197, 2, 311, 199, 1, 366, 185, 2, 347, 274, 1, 379, 260, 1, 372, 29, 1, 375, 77, 1], "image_id": 100610, "bbox": [311.29, 19.99, 124.66, 195.16], "category_id": 1, "id": 111505}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [59, 216, 2, 26, 216, 2, 60, 241, 2, 16, 245, 2, 52, 237, 2, 27, 241, 2, 49, 254, 2, 28, 254, 2, 52, 250, 2, 35, 249, 2, 54, 292, 2, 31, 293, 2, 49, 196, 1, 43, 212, 1], "image_id": 101911, "bbox": [10.29, 186.92, 57.09, 113.7], "category_id": 1, "id": 111506}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 59, 1, 406, 74, 1], "image_id": 100610, "bbox": [401.13, 58.33, 22.72, 38.73], "category_id": 1, "id": 111507}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [594, 147, 2, 545, 143, 2, 593, 184, 2, 536, 169, 2, 583, 206, 2, 530, 180, 2, 571, 200, 2, 544, 195, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 565, 105, 1, 569, 137, 1], "image_id": 100743, "bbox": [477.67, 94.34, 128.18, 237.03], "category_id": 1, "id": 111511}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 113, 1], "image_id": 101778, "bbox": [161.87, 111.92, 10.63, 31.61], "category_id": 1, "id": 111513}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [476, 272, 2, 457, 268, 2, 467, 309, 2, 445, 299, 2, 431, 328, 2, 435, 324, 2, 463, 319, 2, 451, 317, 2, 457, 322, 2, 415, 320, 2, 417, 337, 2, 440, 338, 2, 459, 238, 1, 466, 271, 1], "image_id": 100743, "bbox": [391.78, 233.32, 102.72, 116.06], "category_id": 1, "id": 111533}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 111, 1, 87, 115, 1], "image_id": 101778, "bbox": [82.44, 110.68, 11.83, 27.95], "category_id": 1, "id": 111548}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [484, 131, 1, 455, 134, 2, 489, 149, 2, 456, 156, 2, 478, 153, 2, 473, 154, 2, 477, 157, 2, 465, 158, 2, 488, 158, 2, 474, 163, 2, 486, 174, 2, 473, 175, 2, 466, 105, 1, 468, 127, 1], "image_id": 101911, "bbox": [451.86, 102.77, 41.72, 77.65], "category_id": 1, "id": 111553}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [310, 415, 2, 371, 401, 2, 284, 474, 2, 369, 449, 2, 0, 0, 0, 0, 0, 0, 317, 547, 2, 361, 534, 2, 314, 626, 2, 356, 616, 2, 0, 0, 0, 0, 0, 0, 331, 331, 1, 337, 387, 1], "image_id": 100474, "bbox": [264.63, 324.79, 126.56, 307.78], "category_id": 1, "id": 111558}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [300, 153, 2, 290, 159, 2, 322, 191, 2, 287, 193, 1, 345, 172, 2, 0, 0, 0, 297, 220, 1, 290, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 108, 1, 303, 143, 1], "image_id": 101784, "bbox": [282.04, 104.56, 89.31, 130.05], "category_id": 1, "id": 111561}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [268, 200, 2, 235, 191, 2, 270, 215, 2, 227, 205, 2, 0, 0, 0, 231, 218, 1, 257, 230, 1, 241, 227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 161, 1, 252, 192, 1], "image_id": 100918, "bbox": [222.83, 152.88, 60.71, 86.07], "category_id": 1, "id": 111568}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 162, 2, 326, 154, 2, 403, 180, 2, 310, 207, 2, 431, 200, 2, 351, 217, 1, 336, 228, 2, 299, 222, 2, 364, 283, 2, 275, 281, 1, 394, 342, 1, 241, 314, 2, 365, 126, 1, 354, 154, 1], "image_id": 100538, "bbox": [220.53, 102.07, 227.89, 244.04], "category_id": 1, "id": 111572}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [50, 341, 2, 49, 347, 2, 0, 0, 0, 76, 370, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 408, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 301, 1, 51, 333, 1], "image_id": 100474, "bbox": [30.42, 295.97, 55.66, 103.83], "category_id": 1, "id": 111577}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 40, 2, 0, 0, 0, 441, 114, 2, 583, 124, 2, 494, 123, 1, 591, 245, 2, 516, 257, 1, 460, 242, 2, 522, 381, 1, 0, 0, 0, 0, 0, 0], "image_id": 100610, "bbox": [403.57, 0.88, 195.62, 290.79], "category_id": 1, "id": 111595}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [482, 163, 1, 401, 163, 2, 507, 220, 2, 358, 221, 2, 462, 204, 2, 389, 190, 2, 466, 291, 2, 406, 292, 2, 484, 371, 1, 404, 375, 1, 0, 0, 0, 0, 0, 0, 431, 81, 1, 433, 145, 1], "image_id": 101065, "bbox": [350.63, 76.22, 163.89, 304.9], "category_id": 1, "id": 111600}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 294, 48, 2, 197, 38, 2, 259, 73, 2, 190, 90, 2, 265, 98, 2, 205, 97, 2, 256, 199, 1, 208, 195, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100918, "bbox": [186.62, 0.2, 119.83, 229.32], "category_id": 1, "id": 111610}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [273, 155, 2, 224, 158, 2, 295, 214, 2, 211, 225, 2, 0, 0, 0, 245, 229, 1, 271, 234, 1, 240, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 105, 1, 244, 152, 1], "image_id": 101784, "bbox": [195.05, 93.64, 109.6, 137.34], "category_id": 1, "id": 111618}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [278, 38, 2, 213, 31, 2, 273, 79, 2, 0, 0, 0, 258, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 28, 1], "image_id": 100204, "bbox": [197.78, 0.06, 93.15, 89.57], "category_id": 1, "id": 111622}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [68, 425, 2, 135, 400, 2, 39, 478, 2, 0, 0, 0, 49, 429, 2, 0, 0, 0, 70, 580, 2, 115, 577, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 329, 1, 99, 391, 1], "image_id": 100474, "bbox": [27.39, 320.72, 123.96, 312.79], "category_id": 1, "id": 111628}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [562, 172, 2, 558, 164, 2, 549, 179, 1, 542, 155, 1, 530, 178, 1, 528, 150, 1, 553, 219, 1, 552, 219, 1, 546, 255, 1, 545, 251, 1, 540, 281, 1, 542, 272, 1, 0, 0, 0, 0, 0, 0], "image_id": 100918, "bbox": [517.42, 45.51, 120.56, 376.76], "category_id": 1, "id": 111642}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [359, 13, 1, 409, 18, 2, 0, 0, 0, 431, 60, 1, 0, 0, 0, 439, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 5, 1], "image_id": 100204, "bbox": [360.25, 0, 96.56, 56.79], "category_id": 1, "id": 111647}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101784, "bbox": [334.88, 120.61, 8.34, 18.61], "category_id": 1, "id": 111654}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [381, 124, 2, 370, 128, 2, 388, 143, 1, 380, 144, 1, 392, 135, 1, 385, 130, 2, 377, 157, 1, 367, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 94, 1, 375, 121, 1], "image_id": 100918, "bbox": [358, 88.72, 43.44, 71.49], "category_id": 1, "id": 111675}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 122, 1], "image_id": 101778, "bbox": [189.96, 118.91, 9.79, 14.57], "category_id": 1, "id": 111679}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [450, 121, 2, 414, 116, 2, 453, 151, 2, 405, 140, 2, 464, 178, 2, 413, 151, 2, 444, 171, 2, 416, 171, 2, 441, 213, 2, 423, 216, 2, 442, 260, 2, 404, 246, 2, 435, 80, 1, 432, 110, 1], "image_id": 100538, "bbox": [397.23, 77.23, 75.73, 194.73], "category_id": 1, "id": 111690}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [307, 153, 2, 321, 156, 2, 0, 0, 0, 344, 170, 2, 0, 0, 0, 344, 155, 2, 0, 0, 0, 323, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 119, 1, 317, 148, 1], "image_id": 100918, "bbox": [303.25, 115.07, 47.86, 80.47], "category_id": 1, "id": 111691}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [478, 169, 2, 506, 169, 2, 449, 200, 1, 481, 224, 1, 0, 0, 0, 510, 251, 1, 514, 283, 1, 494, 283, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 109, 1, 505, 151, 1], "image_id": 101784, "bbox": [463.93, 102.71, 76.96, 136.91], "category_id": 1, "id": 111704}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [31, 281, 2, 64, 279, 2, 27, 325, 2, 75, 321, 1, 33, 346, 2, 0, 0, 0, 38, 358, 2, 57, 356, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 240, 1, 57, 266, 1], "image_id": 100474, "bbox": [21.31, 236.43, 63.75, 148.72], "category_id": 1, "id": 111708}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [195, 233, 2, 163, 250, 2, 209, 247, 2, 158, 268, 2, 212, 233, 2, 171, 268, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 194, 1, 179, 236, 1], "image_id": 100918, "bbox": [152.92, 188.83, 65.1, 95.54], "category_id": 1, "id": 111729}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 24, 1, 262, 89, 1], "image_id": 101065, "bbox": [18.64, 25.31, 621.36, 362.32], "category_id": 1, "id": 111753}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [316, 119, 1, 291, 117, 2, 0, 0, 0, 278, 160, 2, 0, 0, 0, 294, 144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 90, 1, 311, 117, 1], "image_id": 100918, "bbox": [275.25, 85.46, 67.41, 110.94], "category_id": 1, "id": 111757}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 143, 1, 523, 151, 1], "image_id": 100610, "bbox": [506.57, 143.49, 32.87, 39.75], "category_id": 1, "id": 111760}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [104, 295, 2, 94, 294, 1, 97, 319, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 328, 1, 101, 327, 1, 117, 354, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 265, 1, 102, 286, 1], "image_id": 100474, "bbox": [82.48, 264.2, 41.05, 76.39], "category_id": 1, "id": 111762}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [119, 271, 2, 0, 0, 0, 118, 295, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 314, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 245, 1, 112, 262, 1], "image_id": 100474, "bbox": [100.21, 241.8, 34.26, 102.05], "category_id": 1, "id": 111766}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [171, 145, 2, 159, 159, 2, 155, 225, 2, 164, 247, 1, 220, 240, 2, 220, 254, 2, 190, 281, 1, 169, 293, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 100, 1, 182, 136, 1], "image_id": 101784, "bbox": [145.6, 80.63, 107.51, 184.42], "category_id": 1, "id": 111773}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [146, 272, 2, 140, 272, 2, 0, 0, 0, 136, 288, 2, 0, 0, 0, 138, 306, 2, 142, 308, 2, 141, 308, 2, 142, 337, 2, 140, 338, 2, 144, 359, 2, 141, 360, 2, 148, 252, 1, 142, 263, 1], "image_id": 100474, "bbox": [129.52, 249.59, 27.68, 117.21], "category_id": 1, "id": 111776}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100474, "bbox": [118.01, 243.93, 15.93, 33.11], "category_id": 1, "id": 111819}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [568, 120, 2, 539, 118, 2, 569, 151, 2, 527, 145, 2, 579, 178, 2, 516, 168, 2, 562, 170, 2, 541, 170, 2, 574, 231, 2, 553, 232, 2, 536, 265, 2, 545, 285, 2, 559, 84, 1, 556, 112, 1], "image_id": 100538, "bbox": [506.24, 79.39, 81.13, 211.14], "category_id": 1, "id": 111822}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 253, 1, 0, 0, 0], "image_id": 100474, "bbox": [20.61, 251.31, 22.51, 16.24], "category_id": 1, "id": 111850}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100474, "bbox": [5.54, 251.04, 15.44, 16.6], "category_id": 1, "id": 111896}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [128, 96, 2, 106, 94, 2, 129, 118, 2, 98, 115, 2, 134, 138, 2, 101, 138, 2, 122, 139, 2, 106, 136, 2, 120, 169, 2, 104, 165, 2, 119, 201, 2, 97, 199, 2, 119, 71, 1, 117, 90, 1], "image_id": 100538, "bbox": [91.9, 67.67, 47.7, 139.36], "category_id": 1, "id": 111902}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 5, 311, 2, 0, 0, 0, 12, 387, 2, 0, 0, 0, 20, 437, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 546, 2, 0, 0, 0, 3, 631, 2, 0, 0, 0, 0, 0, 0], "image_id": 100474, "bbox": [0, 239.74, 33.13, 399.82], "category_id": 1, "id": 111908}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [159, 350, 2, 230, 334, 2, 171, 398, 2, 238, 382, 2, 197, 451, 2, 0, 0, 0, 202, 434, 2, 241, 426, 2, 204, 522, 2, 231, 509, 2, 207, 597, 2, 249, 596, 2, 179, 293, 1, 189, 324, 1], "image_id": 100474, "bbox": [149.57, 291.72, 115.06, 329.34], "category_id": 1, "id": 111929}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 89, 1, 318, 96, 1], "image_id": 100538, "bbox": [306.87, 85.98, 18.81, 49.37], "category_id": 1, "id": 111932}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101778, "bbox": [429.49, 116.16, 12.49, 30.77], "category_id": 1, "id": 111994}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [361, 95, 2, 320, 97, 1, 368, 147, 1, 309, 154, 1, 369, 135, 1, 332, 145, 2, 352, 159, 2, 323, 159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 37, 1, 339, 85, 1], "image_id": 102393, "bbox": [316.27, 37.05, 61.15, 187.95], "category_id": 1, "id": 111997}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [57, 89, 2, 69, 89, 2, 49, 101, 2, 70, 100, 2, 50, 95, 1, 0, 0, 0, 57, 115, 2, 64, 114, 2, 62, 131, 2, 54, 128, 2, 67, 150, 2, 52, 149, 2, 60, 74, 1, 62, 84, 1], "image_id": 100538, "bbox": [43.74, 72.7, 28.7, 82.15], "category_id": 1, "id": 112018}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 88, 1, 142, 94, 1], "image_id": 100538, "bbox": [132.19, 86.52, 20.2, 51.06], "category_id": 1, "id": 112030}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [425, 147, 2, 385, 159, 2, 437, 179, 2, 385, 199, 2, 432, 187, 2, 419, 185, 1, 424, 231, 2, 398, 234, 2, 425, 273, 2, 404, 277, 1, 426, 340, 1, 406, 339, 1, 398, 99, 1, 402, 141, 1], "image_id": 102393, "bbox": [372.25, 94.55, 77.39, 198.69], "category_id": 1, "id": 112040}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 125, 124, 2, 0, 0, 0, 145, 143, 1, 0, 0, 0, 143, 119, 1, 0, 0, 0, 115, 166, 2, 0, 0, 0, 156, 167, 2, 0, 0, 0, 142, 207, 2, 0, 0, 0, 0, 0, 0], "image_id": 100610, "bbox": [108.1, 112.59, 51.64, 102.63], "category_id": 1, "id": 112044}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 201, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 286, 2, 0, 0, 0, 0, 0, 0, 7, 380, 2, 0, 0, 0, 0, 0, 0], "image_id": 100918, "bbox": [0.96, 85.79, 72.3, 336.43], "category_id": 1, "id": 112045}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 151, 2, 177, 140, 2, 202, 204, 2, 154, 178, 2, 224, 177, 2, 184, 209, 2, 175, 230, 2, 149, 229, 2, 204, 299, 2, 191, 290, 2, 169, 357, 2, 122, 326, 2, 209, 100, 1, 193, 139, 1], "image_id": 100538, "bbox": [106.26, 91.57, 130.46, 273.58], "category_id": 1, "id": 112050}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [477, 87, 2, 442, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 146, 2, 445, 144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 54, 1, 0, 0, 0], "image_id": 102393, "bbox": [429.73, 47.85, 74.52, 129.35], "category_id": 1, "id": 112051}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 279, 2, 185, 282, 1, 225, 310, 2, 180, 315, 1, 234, 320, 2, 221, 329, 2, 214, 325, 1, 196, 325, 1, 255, 321, 2, 196, 340, 1, 207, 344, 1, 250, 348, 2, 201, 240, 1, 198, 273, 1], "image_id": 100743, "bbox": [183.79, 233.94, 91.8, 121.27], "category_id": 1, "id": 112062}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 84, 1, 308, 89, 1], "image_id": 100538, "bbox": [301.64, 83.64, 13.38, 35.33], "category_id": 1, "id": 112065}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [227, 154, 2, 186, 154, 2, 246, 189, 2, 168, 191, 2, 229, 199, 2, 182, 168, 2, 223, 218, 2, 196, 218, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 104, 1, 205, 142, 1], "image_id": 100743, "bbox": [161.83, 95.4, 117.02, 238.44], "category_id": 1, "id": 112066}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [31, 146, 2, 73, 146, 1, 22, 172, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 210, 2, 66, 207, 2, 40, 258, 1, 71, 258, 1, 0, 0, 0, 0, 0, 0, 49, 113, 1, 50, 131, 1], "image_id": 101784, "bbox": [16.22, 109.73, 57.29, 134.05], "category_id": 1, "id": 112069}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 71, 1, 489, 80, 2, 579, 121, 1, 484, 128, 2, 544, 118, 1, 514, 168, 2, 555, 179, 2, 509, 181, 2, 551, 267, 2, 506, 265, 2, 547, 341, 1, 505, 339, 1, 526, 25, 1, 526, 63, 1], "image_id": 102393, "bbox": [476.69, 17.71, 106.25, 307.26], "category_id": 1, "id": 112075}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 112, 1, 474, 128, 1], "image_id": 101784, "bbox": [459.58, 107.34, 27.47, 72.96], "category_id": 1, "id": 112088}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [623, 54, 2, 557, 55, 2, 0, 0, 0, 535, 101, 2, 0, 0, 0, 571, 125, 2, 613, 151, 2, 566, 149, 2, 611, 228, 2, 569, 223, 1, 612, 303, 2, 573, 304, 1, 589, 5, 1, 587, 45, 1], "image_id": 102393, "bbox": [527.68, 0.63, 110.3, 319.47], "category_id": 1, "id": 112108}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [399, 91, 2, 371, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 45, 1, 384, 80, 1], "image_id": 102393, "bbox": [361.86, 41.93, 46.64, 130.37], "category_id": 1, "id": 112113}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102393, "bbox": [423.28, 37.99, 37.45, 57.74], "category_id": 1, "id": 112115}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 134, 1, 634, 143, 1], "image_id": 100538, "bbox": [615.08, 133.71, 24.92, 35.93], "category_id": 1, "id": 112123}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 594, 195, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 144, 1, 634, 197, 1], "image_id": 101165, "bbox": [587.84, 149.99, 52.16, 103.4], "category_id": 1, "id": 112127}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [173, 183, 2, 130, 204, 2, 0, 0, 0, 232, 303, 2, 0, 0, 0, 394, 351, 2, 197, 357, 2, 145, 383, 2, 0, 0, 0, 301, 400, 2, 0, 0, 0, 0, 0, 0, 214, 63, 1, 166, 163, 1], "image_id": 102393, "bbox": [0.96, 48.71, 466.06, 370.56], "category_id": 1, "id": 112131}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [560, 171, 2, 559, 157, 2, 545, 180, 2, 541, 157, 1, 528, 175, 2, 523, 149, 1, 554, 221, 2, 551, 219, 2, 546, 251, 2, 551, 251, 2, 540, 283, 2, 544, 276, 2, 560, 131, 1, 557, 161, 1], "image_id": 100918, "bbox": [516.36, 127.33, 64.7, 167.17], "category_id": 1, "id": 112135}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 178, 2, 328, 178, 2, 393, 182, 2, 337, 201, 2, 411, 207, 2, 315, 211, 1, 368, 231, 2, 353, 234, 2, 327, 270, 2, 379, 285, 1, 326, 327, 1, 431, 291, 2, 330, 138, 1, 339, 172, 1], "image_id": 100403, "bbox": [313.77, 133.38, 134.34, 179.43], "category_id": 1, "id": 112140}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [55, 149, 1, 125, 150, 1, 40, 207, 1, 119, 219, 1, 88, 233, 1, 69, 214, 1, 67, 252, 1, 123, 252, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101774, "bbox": [113.38, 108.77, 55.11, 215.35], "category_id": 1, "id": 112152}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [336, 181, 2, 447, 204, 2, 300, 248, 2, 455, 251, 2, 298, 288, 2, 0, 0, 0, 330, 319, 2, 401, 331, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 97, 1, 391, 157, 1], "image_id": 100039, "bbox": [2.49, 29.93, 614.45, 340.07], "category_id": 1, "id": 112159}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [301, 161, 2, 253, 162, 2, 305, 208, 2, 253, 217, 2, 317, 206, 2, 289, 191, 2, 301, 254, 2, 265, 255, 2, 307, 324, 2, 267, 328, 2, 0, 0, 0, 0, 0, 0, 288, 103, 1, 278, 149, 1], "image_id": 101397, "bbox": [237.46, 96.46, 96.52, 278.54], "category_id": 1, "id": 112160}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102447, "bbox": [363.19, 65.72, 46.15, 56.87], "category_id": 1, "id": 112181}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [554, 243, 2, 448, 213, 2, 606, 329, 2, 384, 260, 2, 474, 329, 2, 330, 249, 2, 414, 384, 2, 357, 347, 2, 329, 459, 2, 252, 428, 2, 0, 0, 0, 0, 0, 0, 509, 120, 1, 498, 208, 1], "image_id": 100924, "bbox": [212.49, 96, 414.21, 378.61], "category_id": 1, "id": 112188}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [593, 208, 2, 548, 224, 2, 633, 229, 2, 579, 275, 2, 589, 213, 2, 579, 223, 2, 611, 280, 2, 576, 287, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 168, 1, 572, 209, 1], "image_id": 100613, "bbox": [538.68, 161.44, 100.63, 136.18], "category_id": 1, "id": 112229}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 88, 237, 2, 0, 0, 0, 84, 294, 2, 0, 0, 0, 130, 306, 2, 0, 0, 0, 76, 307, 2, 0, 0, 0, 146, 351, 1, 0, 0, 0, 0, 0, 0, 106, 186, 1, 109, 227, 1], "image_id": 101397, "bbox": [75.18, 178.76, 61.25, 183.75], "category_id": 1, "id": 112239}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [200, 151, 2, 167, 153, 2, 203, 173, 2, 169, 177, 2, 191, 191, 1, 187, 188, 1, 194, 188, 1, 176, 190, 1, 202, 198, 2, 170, 201, 1, 205, 230, 1, 175, 230, 1, 180, 118, 1, 183, 144, 1], "image_id": 101911, "bbox": [160.32, 112.89, 48.1, 93.01], "category_id": 1, "id": 112240}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [330, 274, 2, 256, 261, 1, 362, 323, 2, 0, 0, 0, 363, 358, 2, 0, 0, 0, 336, 380, 1, 290, 393, 1, 430, 380, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 208, 1, 291, 266, 1], "image_id": 100613, "bbox": [264.75, 198.99, 114.36, 199.07], "category_id": 1, "id": 112247}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [627, 85, 2, 567, 88, 1, 626, 139, 2, 546, 133, 2, 590, 177, 2, 545, 165, 1, 614, 173, 2, 567, 172, 2, 597, 209, 2, 0, 0, 0, 612, 289, 1, 0, 0, 0, 591, 22, 1, 595, 75, 1], "image_id": 100151, "bbox": [537.35, 17.27, 101.71, 267.72], "category_id": 1, "id": 112253}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [332, 460, 2, 365, 462, 1, 0, 0, 0, 370, 500, 2, 0, 0, 0, 370, 523, 2, 328, 528, 2, 352, 532, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 420, 1, 347, 448, 1], "image_id": 100926, "bbox": [310.48, 427.45, 70.42, 180.65], "category_id": 1, "id": 112254}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100151, "bbox": [488.72, 21.86, 42.62, 33.64], "category_id": 1, "id": 112258}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [73, 407, 1, 46, 407, 1, 90, 476, 1, 71, 469, 1, 107, 462, 1, 136, 435, 1, 85, 532, 1, 57, 534, 1, 86, 619, 1, 58, 622, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100926, "bbox": [90.36, 327.68, 65.23, 280.75], "category_id": 1, "id": 112268}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 217, 1, 517, 222, 1], "image_id": 100610, "bbox": [501.52, 214.21, 50.7, 41.83], "category_id": 1, "id": 112269}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 22, 1, 408, 58, 1], "image_id": 102393, "bbox": [394.86, 15.6, 39.44, 81.11], "category_id": 1, "id": 112270}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 150, 1, 140, 174, 1], "image_id": 100410, "bbox": [130.34, 146.97, 25.7, 50.44], "category_id": 1, "id": 112271}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [367, 183, 2, 318, 177, 2, 0, 0, 0, 281, 196, 2, 353, 169, 2, 303, 165, 2, 348, 264, 2, 315, 261, 2, 335, 335, 2, 305, 331, 2, 322, 386, 2, 296, 387, 1, 346, 123, 1, 344, 168, 1], "image_id": 100748, "bbox": [269.66, 116.85, 105.34, 294.39], "category_id": 1, "id": 112281}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [29, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 178, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100281, "bbox": [0, 96.42, 38.84, 196.3], "category_id": 1, "id": 112283}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [423, 276, 2, 238, 298, 2, 444, 418, 2, 212, 469, 2, 376, 512, 2, 185, 559, 1, 416, 571, 2, 301, 587, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 116, 1, 326, 249, 1], "image_id": 102497, "bbox": [128.94, 101.69, 341.23, 536.74], "category_id": 1, "id": 112310}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [399, 104, 2, 344, 111, 2, 411, 148, 2, 338, 150, 1, 398, 183, 1, 0, 0, 0, 394, 187, 1, 359, 190, 1, 400, 240, 2, 0, 0, 0, 406, 303, 2, 371, 301, 1, 361, 55, 1, 370, 94, 1], "image_id": 100403, "bbox": [335.27, 50.61, 89.62, 266.74], "category_id": 1, "id": 112314}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [3, 176, 2, 87, 167, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 338, 1, 121, 327, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 166, 1], "image_id": 100204, "bbox": [0, 60.89, 124.45, 274.16], "category_id": 1, "id": 112327}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [225, 149, 2, 257, 149, 2, 224, 173, 2, 259, 168, 2, 232, 176, 2, 244, 184, 1, 0, 0, 0, 0, 0, 0, 231, 190, 1, 256, 190, 2, 235, 229, 1, 265, 223, 2, 235, 123, 1, 244, 138, 1], "image_id": 101911, "bbox": [222.65, 116.94, 53.62, 126.28], "category_id": 1, "id": 112334}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [517, 183, 2, 511, 197, 2, 551, 183, 2, 507, 228, 2, 566, 204, 2, 473, 227, 2, 536, 255, 2, 556, 256, 2, 495, 287, 2, 574, 299, 2, 499, 346, 2, 632, 322, 2, 499, 138, 1, 508, 174, 1], "image_id": 100403, "bbox": [455.4, 129.81, 184.6, 227.87], "category_id": 1, "id": 112337}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [144, 177, 1, 110, 181, 2, 0, 0, 0, 111, 241, 2, 0, 0, 0, 0, 0, 0, 161, 275, 1, 132, 279, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 121, 1, 126, 171, 1], "image_id": 100748, "bbox": [87.65, 114.81, 58.03, 276.55], "category_id": 1, "id": 112346}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [405, 252, 1, 350, 264, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 379, 2, 357, 378, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 181, 1, 380, 235, 1], "image_id": 100151, "bbox": [338.44, 171.85, 78.02, 245.66], "category_id": 1, "id": 112348}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102393, "bbox": [453.86, 87.67, 32.89, 207.23], "category_id": 1, "id": 112351}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [625, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100151, "bbox": [601.39, 0.53, 38.61, 76.1], "category_id": 1, "id": 112359}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [335, 191, 1, 328, 189, 2, 344, 220, 1, 0, 0, 0, 322, 226, 2, 0, 0, 0, 347, 241, 1, 342, 239, 1, 325, 286, 1, 320, 276, 2, 364, 281, 1, 310, 327, 1, 313, 151, 1, 326, 180, 1], "image_id": 100403, "bbox": [301.54, 144.44, 37.95, 139.17], "category_id": 1, "id": 112370}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [248, 118, 2, 213, 118, 2, 255, 147, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 175, 1, 219, 175, 1, 242, 221, 2, 213, 220, 1, 244, 268, 2, 208, 267, 2, 231, 77, 1, 230, 108, 1], "image_id": 102500, "bbox": [201.29, 75.52, 62.42, 204.02], "category_id": 1, "id": 112378}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 288, 1, 531, 295, 1], "image_id": 100610, "bbox": [510.28, 288.05, 27.79, 38.22], "category_id": 1, "id": 112398}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [258, 195, 2, 188, 192, 1, 263, 247, 1, 194, 246, 1, 0, 0, 0, 244, 259, 1, 245, 267, 1, 210, 267, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 132, 1, 223, 184, 1], "image_id": 101165, "bbox": [191.11, 118.76, 81.94, 142.85], "category_id": 1, "id": 112419}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [404, 154, 1, 412, 150, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 191, 1, 430, 189, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 146, 1], "image_id": 101061, "bbox": [389.91, 118.17, 46.03, 76.37], "category_id": 1, "id": 112421}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100151, "bbox": [552.03, 44.49, 25.24, 37.58], "category_id": 1, "id": 112441}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [479, 90, 1, 441, 90, 2, 0, 0, 0, 432, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 42, 1, 464, 77, 1], "image_id": 102393, "bbox": [430.59, 39.31, 50.94, 87.93], "category_id": 1, "id": 112444}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [286, 106, 1, 313, 107, 2, 0, 0, 0, 320, 129, 2, 0, 0, 0, 329, 141, 2, 284, 150, 1, 309, 150, 1, 294, 160, 1, 334, 153, 2, 0, 0, 0, 0, 0, 0, 305, 80, 1, 302, 103, 1], "image_id": 100610, "bbox": [297.16, 80.95, 46.66, 91.53], "category_id": 1, "id": 112455}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [600, 10, 2, 558, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 99, 1, 565, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100204, "bbox": [545.48, 0.09, 66.52, 74.33], "category_id": 1, "id": 112457}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [22, 137, 2, 0, 0, 0, 39, 159, 2, 0, 0, 0, 22, 144, 2, 0, 0, 0, 24, 207, 1, 2, 210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 115, 1, 13, 135, 1], "image_id": 101774, "bbox": [0, 112.31, 44.74, 171.08], "category_id": 1, "id": 112472}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101774, "bbox": [161.65, 112.18, 17.93, 16.43], "category_id": 1, "id": 112479}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101774, "bbox": [33.5, 111.55, 27.78, 40.56], "category_id": 1, "id": 112493}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [77, 37, 2, 107, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 159, 1, 0, 0, 0, 118, 229, 2, 0, 0, 0, 129, 314, 1, 0, 0, 0, 110, 19, 1], "image_id": 100918, "bbox": [66.12, 1.79, 77.29, 309.48], "category_id": 1, "id": 112496}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [191, 83, 2, 163, 83, 2, 192, 113, 2, 160, 110, 2, 163, 114, 2, 186, 112, 2, 187, 120, 1, 166, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 54, 1, 179, 76, 1], "image_id": 101911, "bbox": [150.87, 53.16, 49.17, 66.83], "category_id": 1, "id": 112542}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [372, 292, 2, 278, 334, 2, 343, 178, 2, 183, 329, 2, 330, 86, 2, 117, 284, 2, 416, 511, 2, 334, 518, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 237, 1, 314, 293, 1], "image_id": 101911, "bbox": [83.12, 28.26, 390.65, 603.43], "category_id": 1, "id": 112545}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [341, 189, 1, 300, 190, 1, 380, 276, 2, 281, 268, 2, 319, 308, 2, 235, 306, 1, 361, 321, 2, 318, 321, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 126, 1, 318, 184, 1], "image_id": 101843, "bbox": [245.91, 110.5, 164.76, 296.87], "category_id": 1, "id": 112550}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [591, 193, 2, 476, 198, 2, 607, 319, 2, 469, 277, 2, 559, 285, 2, 457, 284, 2, 560, 376, 2, 476, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 69, 1, 534, 167, 1], "image_id": 101843, "bbox": [430.51, 61.61, 195.05, 395.39], "category_id": 1, "id": 112552}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 95, 1, 521, 104, 1], "image_id": 100538, "bbox": [510.49, 94.37, 24.79, 76.44], "category_id": 1, "id": 112556}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [436, 314, 2, 447, 285, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 239, 1, 431, 289, 1], "image_id": 100918, "bbox": [407.2, 232.07, 52.03, 144.03], "category_id": 1, "id": 112561}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [386, 281, 2, 232, 319, 1, 447, 384, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 149, 1, 308, 275, 1], "image_id": 100473, "bbox": [231.9, 134.27, 274.28, 345.73], "category_id": 1, "id": 112570}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [80, 408, 2, 33, 403, 2, 83, 469, 2, 70, 462, 2, 100, 460, 2, 136, 441, 2, 79, 545, 2, 43, 547, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 316, 1, 55, 391, 1], "image_id": 100926, "bbox": [0, 316.56, 180.31, 322.94], "category_id": 1, "id": 112573}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [244, 277, 2, 155, 278, 2, 212, 364, 2, 128, 390, 2, 215, 434, 1, 212, 409, 2, 148, 430, 1, 80, 422, 2, 150, 557, 2, 83, 559, 2, 0, 0, 0, 0, 0, 0, 227, 153, 1, 207, 250, 1], "image_id": 100038, "bbox": [28.43, 136.47, 243.22, 503.13], "category_id": 1, "id": 112579}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [253, 305, 2, 201, 309, 2, 229, 373, 2, 205, 358, 2, 175, 400, 2, 180, 396, 2, 284, 403, 2, 247, 406, 2, 271, 460, 2, 226, 472, 2, 297, 549, 2, 235, 541, 2, 228, 219, 1, 226, 292, 1], "image_id": 101454, "bbox": [160.62, 208.32, 167.04, 370.41], "category_id": 1, "id": 112584}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [233, 329, 2, 102, 346, 2, 313, 499, 2, 130, 553, 1, 482, 542, 1, 316, 579, 2, 298, 565, 2, 196, 626, 2, 511, 597, 1, 512, 629, 2, 0, 0, 0, 0, 0, 0, 167, 104, 1, 153, 282, 1], "image_id": 100204, "bbox": [21.61, 84.27, 498.67, 555.73], "category_id": 1, "id": 112613}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 459, 397, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 352, 1, 479, 386, 1], "image_id": 101911, "bbox": [467.19, 346.64, 26.16, 122.87], "category_id": 1, "id": 112618}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [356, 46, 2, 320, 41, 2, 343, 95, 1, 290, 85, 1, 301, 87, 1, 313, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 33, 1], "image_id": 100204, "bbox": [290.16, 1.06, 88.07, 80.2], "category_id": 1, "id": 112631}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 254, 2, 298, 236, 2, 333, 361, 1, 259, 325, 2, 224, 390, 2, 196, 347, 2, 362, 393, 2, 331, 370, 1, 295, 376, 1, 208, 340, 2, 216, 362, 2, 255, 398, 1, 289, 134, 1, 316, 233, 1], "image_id": 101455, "bbox": [138.77, 121.04, 292.87, 310.39], "category_id": 1, "id": 112667}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [456, 355, 1, 0, 0, 0, 457, 465, 1, 0, 0, 0, 511, 386, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 242, 1, 409, 297, 1], "image_id": 100473, "bbox": [392.25, 212.63, 188.93, 256.9], "category_id": 1, "id": 112668}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [17, 216, 2, 0, 0, 0, 42, 262, 1, 0, 0, 0, 25, 285, 2, 0, 0, 0, 9, 290, 2, 0, 0, 0, 8, 356, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 208, 1], "image_id": 100151, "bbox": [0, 158.15, 41.12, 180.29], "category_id": 1, "id": 112681}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [3, 249, 2, 16, 249, 2, 10, 271, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 299, 2, 37, 296, 2, 3, 284, 2, 10, 280, 2, 22, 317, 2, 34, 312, 2, 0, 0, 0, 1, 246, 1], "image_id": 100403, "bbox": [0, 223.54, 45.45, 100.41], "category_id": 1, "id": 112684}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [251, 142, 2, 151, 159, 1, 269, 253, 2, 108, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 61, 1, 206, 142, 1], "image_id": 100615, "bbox": [91.42, 51.64, 195.26, 208.8], "category_id": 1, "id": 112711}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [51, 193, 2, 11, 205, 2, 115, 281, 2, 75, 414, 2, 146, 188, 2, 233, 329, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 26, 1, 26, 157, 1], "image_id": 100615, "bbox": [2.25, 6.74, 340.45, 492.14], "category_id": 1, "id": 112723}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [297, 130, 2, 217, 123, 2, 312, 188, 2, 197, 181, 2, 285, 213, 2, 202, 200, 2, 279, 220, 2, 226, 219, 1, 302, 249, 2, 221, 251, 2, 0, 0, 0, 0, 0, 0, 244, 70, 1, 252, 116, 1], "image_id": 102277, "bbox": [190.18, 51.46, 130.41, 232.41], "category_id": 1, "id": 112794}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [166, 272, 2, 224, 287, 2, 133, 305, 2, 232, 327, 2, 152, 332, 2, 224, 347, 2, 137, 356, 2, 174, 369, 2, 158, 354, 2, 247, 373, 2, 123, 409, 2, 215, 438, 2, 219, 243, 1, 200, 270, 1], "image_id": 102459, "bbox": [106.55, 233.67, 153.9, 220.63], "category_id": 1, "id": 112799}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [236, 162, 2, 168, 206, 2, 259, 191, 2, 221, 298, 2, 270, 247, 2, 258, 276, 2, 246, 329, 2, 189, 361, 2, 310, 447, 2, 168, 494, 2, 383, 548, 2, 76, 564, 2, 198, 103, 1, 191, 172, 1], "image_id": 100419, "bbox": [35.27, 81.96, 395.43, 524.24], "category_id": 1, "id": 112807}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [155, 172, 2, 104, 176, 2, 162, 207, 2, 89, 204, 2, 165, 204, 2, 112, 203, 2, 131, 214, 2, 101, 214, 2, 163, 222, 2, 115, 218, 2, 131, 258, 2, 86, 263, 2, 140, 142, 1, 133, 168, 1], "image_id": 101337, "bbox": [71.95, 135.44, 109.76, 139.64], "category_id": 1, "id": 112809}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [496, 154, 2, 302, 157, 2, 503, 285, 1, 263, 262, 1, 417, 184, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 9, 1, 401, 144, 1], "image_id": 100299, "bbox": [250.63, 1.45, 293.05, 368.23], "category_id": 1, "id": 112814}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [158, 282, 2, 114, 287, 2, 159, 326, 2, 111, 354, 1, 217, 340, 1, 172, 347, 2, 149, 357, 1, 110, 370, 1, 233, 367, 1, 214, 384, 1, 0, 0, 0, 0, 0, 0, 177, 203, 1, 136, 275, 1], "image_id": 102347, "bbox": [83.06, 181.29, 124.04, 175.82], "category_id": 1, "id": 112826}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 133, 2, 344, 158, 2, 434, 174, 2, 341, 207, 2, 426, 223, 2, 319, 248, 2, 445, 227, 2, 401, 238, 2, 417, 300, 2, 371, 290, 2, 449, 386, 1, 348, 360, 2, 317, 98, 1, 353, 128, 1], "image_id": 100291, "bbox": [299.87, 85.21, 165.84, 339.91], "category_id": 1, "id": 112828}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [154, 276, 1, 110, 288, 1, 159, 334, 1, 110, 356, 2, 198, 329, 1, 181, 344, 1, 156, 364, 2, 133, 369, 2, 232, 372, 1, 225, 388, 1, 301, 387, 1, 299, 399, 1, 169, 206, 1, 134, 265, 1], "image_id": 102347, "bbox": [1.08, 0, 406.65, 474.61], "category_id": 1, "id": 112836}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [190, 123, 2, 124, 131, 2, 227, 110, 1, 131, 186, 2, 215, 98, 2, 128, 131, 2, 166, 219, 2, 127, 216, 2, 142, 237, 2, 156, 169, 2, 0, 0, 0, 185, 252, 2, 161, 67, 1, 166, 118, 1], "image_id": 102277, "bbox": [91.24, 61.95, 132.25, 219.3], "category_id": 1, "id": 112850}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 204, 160, 2, 0, 0, 0, 192, 258, 1, 291, 257, 2, 285, 276, 2, 264, 285, 2, 253, 296, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 76, 1, 228, 129, 1], "image_id": 100626, "bbox": [164.45, 47.01, 170.89, 243.08], "category_id": 1, "id": 112863}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [235, 123, 2, 193, 129, 2, 244, 158, 2, 171, 175, 2, 241, 178, 2, 206, 176, 2, 192, 201, 2, 178, 202, 2, 236, 235, 2, 210, 256, 1, 0, 0, 0, 0, 0, 0, 240, 93, 1, 220, 120, 1], "image_id": 102459, "bbox": [160.72, 77.66, 98.16, 173.67], "category_id": 1, "id": 112895}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [494, 169, 2, 561, 162, 2, 476, 222, 2, 557, 221, 2, 462, 208, 2, 538, 211, 2, 496, 292, 2, 536, 293, 2, 465, 362, 2, 515, 373, 2, 464, 461, 2, 506, 461, 2, 512, 99, 1, 520, 140, 1], "image_id": 100291, "bbox": [412.24, 89.45, 165.59, 390.5], "category_id": 1, "id": 112919}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [160, 255, 2, 167, 260, 2, 0, 0, 0, 172, 273, 2, 0, 0, 0, 177, 269, 2, 162, 282, 2, 154, 281, 2, 169, 299, 2, 156, 299, 2, 168, 317, 1, 146, 316, 2, 170, 241, 1, 168, 251, 1], "image_id": 102155, "bbox": [137.71, 238.76, 61.31, 87.87], "category_id": 1, "id": 112935}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [169, 234, 2, 252, 238, 2, 158, 248, 2, 228, 209, 2, 194, 206, 2, 197, 182, 2, 173, 339, 1, 218, 343, 2, 207, 409, 1, 212, 418, 1, 245, 478, 2, 154, 479, 1, 231, 186, 1, 214, 226, 1], "image_id": 101658, "bbox": [153.77, 171.33, 142.8, 330.76], "category_id": 1, "id": 112958}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [290, 208, 2, 129, 259, 2, 366, 276, 2, 103, 386, 2, 315, 266, 2, 193, 356, 2, 299, 422, 1, 184, 445, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 50, 1, 213, 192, 1], "image_id": 101089, "bbox": [79.28, 23.78, 307.03, 399.28], "category_id": 1, "id": 112968}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [161, 304, 2, 176, 308, 2, 0, 0, 0, 185, 318, 2, 0, 0, 0, 0, 0, 0, 155, 323, 2, 165, 325, 2, 152, 317, 2, 180, 324, 2, 146, 338, 2, 175, 343, 2, 175, 292, 1, 171, 301, 1], "image_id": 102155, "bbox": [140.56, 291.61, 52.32, 58.23], "category_id": 1, "id": 112990}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 112, 2, 275, 108, 2, 336, 151, 2, 260, 140, 2, 336, 131, 2, 240, 139, 2, 304, 193, 2, 278, 188, 2, 292, 243, 2, 269, 243, 2, 284, 226, 2, 271, 299, 2, 292, 68, 1, 292, 101, 1], "image_id": 100998, "bbox": [213.45, 59.03, 132.46, 256.34], "category_id": 1, "id": 112994}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [632, 112, 2, 604, 105, 2, 634, 139, 2, 597, 119, 2, 621, 146, 2, 611, 99, 2, 617, 161, 1, 596, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 77, 1, 619, 101, 1], "image_id": 102509, "bbox": [589.89, 74.74, 49.69, 76.28], "category_id": 1, "id": 112997}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [199, 184, 2, 221, 182, 2, 208, 253, 2, 0, 0, 0, 165, 302, 2, 0, 0, 0, 212, 285, 2, 216, 285, 2, 216, 407, 2, 214, 413, 2, 242, 497, 2, 223, 496, 2, 170, 128, 1, 191, 175, 1], "image_id": 102025, "bbox": [138.48, 115.32, 114.93, 384.68], "category_id": 1, "id": 113000}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [230, 230, 2, 243, 237, 2, 286, 260, 2, 216, 274, 2, 327, 258, 2, 235, 324, 2, 184, 314, 2, 193, 319, 2, 308, 301, 2, 288, 294, 2, 0, 0, 0, 241, 363, 2, 287, 192, 1, 259, 229, 1], "image_id": 101003, "bbox": [170.76, 181.14, 201.8, 205.25], "category_id": 1, "id": 113008}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [246, 287, 2, 292, 289, 2, 0, 0, 0, 293, 349, 2, 0, 0, 0, 317, 388, 2, 239, 379, 1, 277, 382, 2, 0, 0, 0, 326, 336, 2, 0, 0, 0, 324, 392, 2, 282, 240, 1, 274, 273, 1], "image_id": 102459, "bbox": [236.22, 232.99, 118.66, 181.21], "category_id": 1, "id": 113029}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [147, 202, 2, 89, 201, 2, 169, 258, 1, 67, 256, 2, 145, 285, 2, 71, 300, 2, 132, 300, 2, 90, 299, 2, 129, 329, 2, 66, 369, 2, 137, 394, 2, 54, 441, 2, 122, 138, 1, 120, 189, 1], "image_id": 100419, "bbox": [48.55, 132.87, 107.34, 324.24], "category_id": 1, "id": 113041}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [267, 9, 2, 123, 7, 2, 300, 72, 2, 74, 93, 2, 326, 95, 2, 211, 109, 2, 244, 194, 1, 129, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 2, 1], "image_id": 101008, "bbox": [43.15, 0.62, 301.12, 129.44], "category_id": 1, "id": 113044}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [399, 225, 2, 300, 229, 1, 422, 299, 2, 299, 310, 1, 386, 217, 2, 394, 297, 2, 399, 415, 2, 319, 418, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 104, 1, 343, 205, 1], "image_id": 100167, "bbox": [287.28, 88.84, 156.39, 395.68], "category_id": 1, "id": 113052}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 101, 2, 343, 141, 2, 408, 150, 2, 381, 194, 2, 430, 195, 2, 417, 221, 2, 363, 197, 2, 330, 206, 2, 392, 267, 2, 319, 302, 2, 436, 378, 2, 206, 340, 2, 368, 62, 1, 354, 104, 1], "image_id": 102509, "bbox": [184.8, 49.97, 292.99, 341.82], "category_id": 1, "id": 113068}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [230, 141, 1, 209, 155, 1, 0, 0, 0, 0, 0, 0, 281, 258, 1, 280, 277, 1, 266, 267, 1, 257, 282, 1, 430, 292, 1, 432, 321, 1, 0, 0, 0, 0, 0, 0, 309, 75, 1, 231, 128, 1], "image_id": 100626, "bbox": [104.2, 40.73, 296.27, 317.49], "category_id": 1, "id": 113072}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 154, 1, 365, 168, 1], "image_id": 101003, "bbox": [346.57, 149.59, 41.57, 30.36], "category_id": 1, "id": 113085}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [563, 148, 2, 576, 147, 2, 553, 150, 2, 584, 148, 2, 547, 156, 2, 586, 156, 2, 564, 168, 2, 572, 169, 2, 552, 176, 2, 565, 173, 2, 548, 192, 2, 572, 184, 2, 564, 137, 1, 567, 144, 1], "image_id": 102155, "bbox": [539.64, 136.25, 48.59, 61.04], "category_id": 1, "id": 113087}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [510, 189, 2, 459, 164, 2, 396, 324, 2, 400, 212, 2, 390, 189, 2, 387, 175, 2, 479, 380, 2, 452, 313, 2, 300, 251, 2, 319, 214, 2, 161, 338, 2, 177, 298, 2, 422, 41, 1, 468, 155, 1], "image_id": 100629, "bbox": [71.1, 7.21, 488.53, 438.76], "category_id": 1, "id": 113095}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 23, 1, 632, 30, 1], "image_id": 102155, "bbox": [619.68, 22.62, 19.95, 50.38], "category_id": 1, "id": 113119}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 135, 2, 343, 152, 2, 285, 133, 2, 375, 142, 2, 270, 120, 2, 384, 114, 2, 336, 193, 2, 318, 198, 2, 368, 214, 2, 293, 241, 2, 386, 264, 2, 239, 248, 2, 338, 119, 1, 328, 140, 1], "image_id": 101337, "bbox": [224.3, 94.6, 182.13, 185.51], "category_id": 1, "id": 113130}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [99, 100, 1, 73, 101, 2, 0, 0, 0, 57, 115, 1, 0, 0, 0, 72, 135, 2, 94, 139, 1, 76, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 74, 1, 88, 98, 1], "image_id": 101337, "bbox": [56.45, 73.59, 39.6, 67.9], "category_id": 1, "id": 113170}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [62, 247, 2, 10, 248, 2, 111, 274, 2, 0, 0, 0, 164, 295, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 288, 2, 0, 0, 0, 0, 0, 0, 67, 185, 1, 45, 234, 1], "image_id": 102509, "bbox": [0, 176.41, 180.26, 207.25], "category_id": 1, "id": 113178}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [318, 572, 2, 382, 571, 2, 269, 595, 2, 355, 528, 2, 270, 534, 2, 329, 475, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 493, 1, 343, 551, 1], "image_id": 102337, "bbox": [260.05, 461.94, 156.02, 169.03], "category_id": 1, "id": 113192}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [588, 69, 2, 454, 59, 2, 578, 206, 1, 457, 190, 1, 571, 106, 2, 543, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101008, "bbox": [417.98, 0.9, 199.55, 181.57], "category_id": 1, "id": 113204}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [186, 163, 2, 185, 170, 2, 0, 0, 0, 191, 190, 2, 0, 0, 0, 207, 194, 2, 190, 209, 2, 176, 210, 2, 215, 211, 2, 172, 248, 2, 217, 248, 1, 0, 0, 0, 198, 149, 1, 190, 167, 1], "image_id": 101003, "bbox": [161.7, 146.02, 62.74, 116.47], "category_id": 1, "id": 113205}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [122, 383, 2, 152, 398, 2, 165, 416, 2, 123, 442, 2, 220, 405, 2, 134, 495, 2, 65, 494, 2, 94, 496, 2, 148, 442, 2, 177, 460, 2, 90, 509, 2, 157, 510, 2, 158, 331, 1, 139, 376, 1], "image_id": 101658, "bbox": [48.29, 320.59, 226.83, 215.11], "category_id": 1, "id": 113209}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [184, 91, 2, 166, 90, 2, 0, 0, 0, 156, 95, 2, 0, 0, 0, 143, 102, 1, 195, 119, 2, 184, 120, 1, 226, 119, 2, 207, 121, 2, 225, 151, 2, 206, 151, 1, 178, 66, 1, 176, 86, 1], "image_id": 101003, "bbox": [143.51, 62.98, 93.79, 89.53], "category_id": 1, "id": 113224}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [456, 113, 2, 428, 119, 2, 459, 124, 2, 404, 131, 1, 447, 107, 2, 418, 107, 2, 452, 165, 1, 431, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 90, 1, 440, 111, 1], "image_id": 102509, "bbox": [412.4, 86.37, 52.44, 70.68], "category_id": 1, "id": 113226}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102025, "bbox": [152.76, 189.38, 26.66, 39.98], "category_id": 1, "id": 113232}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [310, 51, 1, 280, 47, 2, 316, 76, 1, 266, 42, 2, 315, 93, 1, 292, 52, 2, 308, 107, 1, 284, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 22, 1, 293, 45, 1], "image_id": 101337, "bbox": [261.29, 20.28, 44.51, 104.8], "category_id": 1, "id": 113247}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [144, 410, 1, 48, 415, 2, 173, 502, 2, 0, 0, 0, 172, 573, 2, 39, 515, 2, 145, 571, 2, 47, 571, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 263, 1, 91, 394, 1], "image_id": 100932, "bbox": [5.75, 241.62, 184.09, 391.19], "category_id": 1, "id": 113249}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [521, 54, 2, 478, 55, 2, 541, 81, 2, 476, 82, 2, 511, 53, 2, 488, 56, 2, 522, 119, 2, 486, 119, 2, 536, 92, 2, 475, 93, 2, 534, 155, 2, 483, 152, 2, 498, 20, 1, 498, 53, 1], "image_id": 100418, "bbox": [460.56, 17.62, 94.17, 154.68], "category_id": 1, "id": 113263}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [586, 59, 2, 546, 64, 2, 603, 87, 2, 0, 0, 0, 603, 97, 2, 0, 0, 0, 585, 122, 2, 560, 126, 2, 605, 104, 2, 572, 139, 2, 608, 166, 2, 574, 190, 2, 565, 18, 1, 568, 49, 1], "image_id": 100418, "bbox": [534.71, 15.6, 92.33, 180.8], "category_id": 1, "id": 113267}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [99, 184, 2, 39, 189, 2, 0, 0, 0, 34, 413, 2, 294, 374, 2, 255, 417, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 128, 1], "image_id": 100626, "bbox": [0, 0.48, 417.38, 422.19], "category_id": 1, "id": 113278}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [577, 33, 2, 554, 32, 2, 578, 48, 2, 551, 48, 2, 0, 0, 0, 0, 0, 0, 569, 60, 2, 557, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 6, 1, 564, 25, 1], "image_id": 102509, "bbox": [546.6, 3.6, 34.5, 81.35], "category_id": 1, "id": 113279}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [241, 308, 1, 281, 310, 1, 0, 0, 0, 311, 331, 2, 0, 0, 0, 286, 292, 2, 254, 351, 1, 283, 361, 1, 320, 302, 2, 327, 321, 2, 0, 0, 0, 0, 0, 0, 270, 259, 1, 260, 296, 1], "image_id": 100217, "bbox": [242.49, 258.02, 99.98, 86.17], "category_id": 1, "id": 113280}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 58, 1, 341, 65, 1], "image_id": 100932, "bbox": [324.07, 58.98, 33.57, 42.32], "category_id": 1, "id": 113305}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [384, 313, 2, 435, 336, 2, 0, 0, 0, 467, 355, 2, 0, 0, 0, 0, 0, 0, 370, 397, 1, 407, 409, 2, 0, 0, 0, 457, 372, 1, 0, 0, 0, 450, 437, 1, 417, 273, 1, 410, 305, 1], "image_id": 100217, "bbox": [360.27, 268.58, 125.12, 158.57], "category_id": 1, "id": 113315}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [423, 129, 2, 449, 134, 2, 0, 0, 0, 453, 160, 2, 0, 0, 0, 464, 145, 1, 425, 186, 2, 442, 188, 2, 423, 218, 2, 438, 222, 2, 424, 258, 2, 434, 262, 2, 437, 95, 1, 435, 118, 1], "image_id": 100217, "bbox": [418.52, 93.84, 38.83, 181.22], "category_id": 1, "id": 113321}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [363, 13, 2, 441, 27, 2, 333, 76, 1, 455, 81, 1, 0, 0, 0, 0, 0, 0, 377, 111, 1, 425, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101008, "bbox": [326.29, 0.9, 124.95, 74.61], "category_id": 1, "id": 113324}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [24, 204, 2, 41, 202, 2, 9, 236, 2, 50, 223, 1, 13, 261, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 174, 1, 35, 196, 1], "image_id": 101010, "bbox": [6.02, 171.8, 46.79, 96.49], "category_id": 1, "id": 113335}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [305, 236, 1, 48, 182, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 429, 2, 80, 441, 1, 345, 482, 1, 60, 626, 1, 0, 0, 0, 0, 0, 0, 224, 19, 1, 185, 179, 1], "image_id": 100932, "bbox": [1.44, 3.6, 281.08, 514.6], "category_id": 1, "id": 113343}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [180, 125, 1, 146, 127, 2, 0, 0, 0, 138, 150, 2, 0, 0, 0, 154, 143, 2, 181, 170, 1, 155, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 89, 1, 163, 116, 1], "image_id": 102509, "bbox": [132.91, 84.65, 48.06, 80.71], "category_id": 1, "id": 113344}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [449, 49, 2, 417, 48, 2, 452, 75, 2, 419, 68, 2, 433, 78, 2, 441, 75, 2, 435, 90, 2, 411, 93, 2, 453, 85, 2, 411, 137, 2, 455, 134, 2, 0, 0, 0, 436, 17, 1, 435, 41, 1], "image_id": 101337, "bbox": [400.18, 15.72, 65.74, 132.2], "category_id": 1, "id": 113345}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 8, 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 97, 2, 36, 95, 2, 0, 0, 0, 0, 0, 0, 14, 148, 2, 8, 145, 2, 0, 0, 0, 0, 0, 0], "image_id": 101008, "bbox": [0, 0.54, 54.74, 164.37], "category_id": 1, "id": 113351}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [633, 113, 2, 603, 112, 2, 634, 138, 2, 601, 141, 2, 631, 149, 1, 619, 147, 1, 617, 145, 1, 590, 143, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 94, 1, 620, 110, 1], "image_id": 101337, "bbox": [578.82, 89.89, 61.18, 54.37], "category_id": 1, "id": 113359}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101010, "bbox": [120.87, 157.57, 23.61, 28.57], "category_id": 1, "id": 113362}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [121, 293, 2, 136, 300, 2, 0, 0, 0, 136, 313, 2, 0, 0, 0, 130, 319, 2, 111, 313, 1, 120, 318, 2, 127, 322, 2, 111, 334, 2, 128, 339, 2, 100, 348, 2, 134, 283, 1, 130, 291, 1], "image_id": 102155, "bbox": [94.57, 284.25, 47.02, 75.23], "category_id": 1, "id": 113387}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 72, 1, 310, 92, 1], "image_id": 101003, "bbox": [298.86, 71.54, 41.12, 30.46], "category_id": 1, "id": 113405}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [245, 252, 2, 170, 261, 2, 239, 327, 1, 0, 0, 0, 211, 263, 1, 0, 0, 0, 229, 351, 1, 172, 352, 1, 167, 344, 1, 133, 347, 1, 0, 0, 0, 0, 0, 0, 201, 178, 1, 206, 237, 1], "image_id": 101178, "bbox": [144.11, 170.77, 125.76, 131.83], "category_id": 1, "id": 113407}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [406, 228, 1, 333, 261, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 195, 1, 364, 234, 1], "image_id": 101178, "bbox": [324.73, 192.53, 107.58, 132.79], "category_id": 1, "id": 113412}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [81, 34, 1, 59, 34, 1, 84, 48, 2, 0, 0, 0, 87, 65, 2, 0, 0, 0, 77, 69, 2, 67, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 12, 1, 69, 30, 1], "image_id": 101003, "bbox": [59.46, 16.68, 28.54, 58.58], "category_id": 1, "id": 113420}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [442, 218, 2, 423, 218, 1, 0, 0, 0, 450, 251, 2, 0, 0, 0, 453, 220, 2, 440, 322, 2, 419, 322, 1, 434, 393, 2, 419, 393, 1, 433, 460, 2, 421, 472, 1, 436, 165, 1, 426, 203, 1], "image_id": 100167, "bbox": [407.85, 154.28, 68.36, 333.94], "category_id": 1, "id": 113421}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [332, 337, 2, 245, 344, 2, 0, 0, 0, 226, 403, 2, 0, 0, 0, 232, 438, 2, 333, 464, 1, 267, 467, 2, 393, 432, 2, 206, 458, 2, 0, 0, 0, 0, 0, 0, 305, 257, 1, 290, 323, 1], "image_id": 101178, "bbox": [186.83, 236.15, 226.88, 243.85], "category_id": 1, "id": 113453}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 99, 1, 558, 117, 1], "image_id": 100479, "bbox": [541.2, 98.09, 25.63, 23.7], "category_id": 1, "id": 113471}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 23, 1, 8, 30, 1], "image_id": 102155, "bbox": [0.2, 22.35, 16.67, 57.24], "category_id": 1, "id": 113482}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102509, "bbox": [527.87, 0.63, 21.89, 33.7], "category_id": 1, "id": 113505}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 148, 1, 307, 169, 1], "image_id": 101003, "bbox": [288.95, 146.57, 38.17, 35.23], "category_id": 1, "id": 113519}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [110, 217, 2, 174, 217, 2, 99, 254, 2, 178, 255, 2, 0, 0, 0, 0, 0, 0, 117, 278, 2, 154, 280, 2, 100, 323, 1, 195, 327, 2, 78, 382, 2, 194, 383, 2, 150, 170, 1, 145, 202, 1], "image_id": 100415, "bbox": [68.94, 166.7, 155.11, 237.46], "category_id": 1, "id": 113524}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [309, 141, 2, 386, 147, 2, 268, 175, 2, 0, 0, 0, 262, 156, 2, 277, 170, 2, 319, 246, 2, 370, 241, 2, 281, 330, 2, 426, 319, 2, 233, 408, 2, 473, 395, 2, 364, 83, 1, 352, 126, 1], "image_id": 100418, "bbox": [208.22, 75.26, 321.59, 351.74], "category_id": 1, "id": 113536}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [522, 123, 2, 492, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 94, 1, 507, 117, 1], "image_id": 100479, "bbox": [481.61, 94.58, 48.06, 39.88], "category_id": 1, "id": 113560}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [45, 568, 2, 190, 533, 2, 0, 0, 0, 248, 602, 2, 0, 0, 0, 218, 533, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 397, 1, 112, 492, 1], "image_id": 102453, "bbox": [17.51, 383.93, 249.2, 256.07], "category_id": 1, "id": 113590}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 181, 186, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 146, 1, 170, 174, 1], "image_id": 100415, "bbox": [161.1, 141.55, 35.01, 65.07], "category_id": 1, "id": 113593}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [538, 285, 2, 516, 284, 2, 531, 319, 1, 0, 0, 0, 505, 318, 2, 0, 0, 0, 533, 346, 1, 516, 345, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 253, 1, 527, 278, 1], "image_id": 100479, "bbox": [493.97, 248.7, 54.32, 71.97], "category_id": 1, "id": 113595}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100217, "bbox": [190.22, 0, 28.58, 40.91], "category_id": 1, "id": 113621}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 208, 2, 334, 192, 2, 333, 222, 2, 333, 180, 2, 327, 222, 2, 334, 171, 2, 322, 224, 2, 315, 219, 2, 321, 242, 2, 310, 236, 2, 318, 262, 2, 309, 255, 2, 346, 190, 1, 339, 200, 1], "image_id": 100805, "bbox": [301.54, 161.02, 49.77, 112.22], "category_id": 1, "id": 113637}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 71, 1, 432, 85, 1, 420, 79, 1, 433, 96, 2, 422, 94, 1, 427, 122, 2, 413, 118, 2, 426, 155, 2, 423, 147, 2, 433, 32, 1, 437, 53, 1], "image_id": 100932, "bbox": [408.16, 28.22, 29.84, 133.82], "category_id": 1, "id": 113643}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [598, 289, 2, 0, 0, 0, 547, 338, 2, 0, 0, 0, 465, 360, 2, 601, 333, 2, 632, 381, 2, 0, 0, 0, 501, 382, 1, 579, 364, 2, 0, 0, 0, 0, 0, 0, 609, 234, 1, 616, 278, 1], "image_id": 100479, "bbox": [416.25, 227.51, 223.75, 221.39], "category_id": 1, "id": 113644}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 122, 1], "image_id": 101337, "bbox": [351.42, 111.67, 21.68, 32.94], "category_id": 1, "id": 113647}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [251, 202, 2, 264, 192, 2, 234, 239, 2, 0, 0, 0, 207, 242, 2, 213, 243, 2, 255, 281, 2, 260, 281, 2, 243, 344, 2, 248, 343, 2, 245, 405, 2, 250, 406, 2, 246, 131, 1, 253, 177, 1], "image_id": 101525, "bbox": [184.45, 115.12, 112.16, 305], "category_id": 1, "id": 113662}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [198, 465, 2, 151, 460, 2, 209, 506, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 527, 1, 143, 522, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 417, 1, 171, 453, 1], "image_id": 102453, "bbox": [135.02, 415.5, 79.27, 94.28], "category_id": 1, "id": 113665}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [504, 119, 2, 442, 118, 2, 502, 170, 2, 400, 164, 2, 464, 161, 2, 429, 153, 2, 494, 193, 2, 451, 196, 2, 544, 263, 2, 437, 277, 2, 557, 338, 2, 389, 343, 2, 482, 70, 1, 473, 106, 1], "image_id": 101003, "bbox": [369.33, 55.78, 219.29, 307.78], "category_id": 1, "id": 113675}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [265, 585, 2, 211, 581, 2, 271, 625, 2, 201, 621, 2, 0, 0, 0, 180, 634, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 522, 1, 236, 567, 1], "image_id": 101978, "bbox": [158.55, 516.05, 120.7, 123.71], "category_id": 1, "id": 113676}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 187, 2, 191, 188, 2, 231, 223, 2, 177, 224, 2, 234, 256, 2, 166, 252, 2, 224, 251, 2, 199, 251, 2, 217, 311, 2, 212, 294, 2, 212, 353, 2, 206, 353, 2, 210, 145, 1, 210, 179, 1], "image_id": 100163, "bbox": [158.39, 141.25, 83.2, 231.96], "category_id": 1, "id": 113685}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [469, 293, 2, 443, 293, 1, 474, 321, 2, 0, 0, 0, 451, 316, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 256, 1, 455, 281, 1], "image_id": 100479, "bbox": [441.76, 250.98, 39.79, 84.67], "category_id": 1, "id": 113701}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 80, 1, 200, 87, 1], "image_id": 102155, "bbox": [187.29, 79.83, 34.74, 41.34], "category_id": 1, "id": 113707}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [42, 44, 1, 66, 52, 2, 0, 0, 0, 77, 81, 1, 0, 0, 0, 0, 0, 0, 22, 85, 2, 44, 89, 2, 33, 139, 2, 61, 140, 2, 10, 174, 2, 0, 0, 0, 67, 23, 1, 58, 41, 1], "image_id": 101337, "bbox": [1.43, 14.68, 92.39, 171.89], "category_id": 1, "id": 113708}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [417, 289, 2, 386, 302, 2, 419, 319, 1, 382, 321, 2, 403, 310, 1, 374, 313, 2, 433, 335, 1, 412, 338, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 267, 1, 400, 291, 1], "image_id": 100479, "bbox": [372.39, 263.45, 53.32, 58.78], "category_id": 1, "id": 113710}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [268, 265, 1, 240, 267, 2, 0, 0, 0, 231, 294, 2, 0, 0, 0, 227, 316, 2, 268, 322, 1, 247, 322, 1, 265, 364, 2, 251, 365, 1, 261, 405, 2, 252, 404, 2, 254, 238, 1, 256, 263, 1], "image_id": 100479, "bbox": [220.47, 236.81, 57.92, 180], "category_id": 1, "id": 113722}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [467, 91, 2, 442, 89, 1, 476, 104, 2, 433, 105, 2, 487, 129, 2, 434, 130, 2, 467, 120, 2, 447, 119, 2, 487, 132, 2, 451, 136, 1, 488, 164, 1, 449, 162, 1, 0, 0, 0, 0, 0, 0], "image_id": 101337, "bbox": [428.46, 65.11, 65.83, 81], "category_id": 1, "id": 113736}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [310, 38, 2, 253, 39, 2, 310, 117, 2, 240, 102, 2, 277, 174, 1, 220, 186, 2, 292, 190, 1, 255, 183, 1, 297, 285, 2, 254, 293, 1, 297, 376, 2, 261, 375, 1, 0, 0, 0, 279, 12, 1], "image_id": 101525, "bbox": [201.56, 2.9, 136.73, 410.17], "category_id": 1, "id": 113745}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [258, 68, 1, 201, 68, 2, 0, 0, 0, 166, 131, 2, 0, 0, 0, 236, 127, 1, 235, 193, 1, 187, 190, 2, 224, 283, 1, 203, 276, 2, 218, 380, 2, 134, 349, 2, 233, 4, 1, 222, 58, 1], "image_id": 101525, "bbox": [109.22, 0.4, 148.24, 396.61], "category_id": 1, "id": 113746}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [183, 530, 2, 162, 530, 2, 187, 546, 2, 158, 547, 2, 187, 555, 2, 154, 563, 1, 178, 567, 1, 162, 568, 1, 177, 591, 2, 162, 594, 2, 181, 606, 2, 166, 616, 1, 171, 504, 1, 172, 522, 1], "image_id": 101978, "bbox": [148.64, 503.24, 42.86, 125.94], "category_id": 1, "id": 113753}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 73, 1, 322, 78, 1], "image_id": 100932, "bbox": [312.03, 70.66, 15.59, 30.41], "category_id": 1, "id": 113766}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [211, 288, 2, 198, 291, 2, 217, 318, 2, 195, 316, 2, 198, 318, 2, 210, 318, 2, 235, 336, 1, 220, 335, 1, 0, 0, 0, 191, 353, 1, 0, 0, 0, 0, 0, 0, 195, 267, 1, 202, 287, 1], "image_id": 100479, "bbox": [186.53, 263.78, 40.29, 59.55], "category_id": 1, "id": 113767}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [178, 290, 2, 160, 291, 1, 185, 315, 2, 156, 310, 2, 162, 324, 2, 0, 0, 0, 181, 335, 2, 165, 335, 2, 171, 369, 2, 169, 376, 2, 0, 0, 0, 0, 0, 0, 167, 268, 1, 171, 287, 1], "image_id": 100479, "bbox": [143.39, 263.91, 49.74, 122.13], "category_id": 1, "id": 113785}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [127, 517, 1, 104, 517, 2, 132, 538, 2, 99, 535, 2, 133, 559, 2, 94, 557, 2, 119, 560, 2, 105, 559, 2, 117, 597, 2, 98, 581, 2, 112, 625, 2, 106, 606, 2, 114, 489, 1, 113, 509, 1], "image_id": 101978, "bbox": [88.19, 490.3, 50.29, 141.38], "category_id": 1, "id": 113791}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 492, 1], "image_id": 101978, "bbox": [191.36, 488.58, 8.08, 27.72], "category_id": 1, "id": 113796}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [37, 443, 2, 82, 446, 1, 25, 484, 2, 0, 0, 0, 16, 512, 2, 0, 0, 0, 36, 532, 2, 79, 533, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 401, 1, 60, 428, 1], "image_id": 102453, "bbox": [5.58, 397.94, 66.89, 187.37], "category_id": 1, "id": 113805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [76, 142, 2, 93, 142, 2, 83, 167, 2, 64, 168, 2, 57, 176, 2, 42, 152, 2, 71, 200, 2, 89, 203, 2, 56, 241, 2, 76, 243, 2, 56, 292, 2, 85, 297, 2, 81, 110, 1, 85, 135, 1], "image_id": 101525, "bbox": [30.66, 110.46, 74.21, 204.98], "category_id": 1, "id": 113815}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [428, 271, 2, 401, 274, 2, 437, 297, 2, 391, 290, 2, 410, 300, 2, 384, 298, 2, 421, 340, 2, 401, 344, 2, 423, 377, 2, 395, 384, 2, 437, 415, 2, 406, 416, 2, 408, 219, 1, 414, 264, 1], "image_id": 101525, "bbox": [372.26, 191.23, 85.96, 244.65], "category_id": 1, "id": 113823}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [586, 92, 1, 578, 94, 2, 0, 0, 0, 579, 106, 2, 0, 0, 0, 591, 104, 2, 595, 106, 2, 591, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, 77, 1, 580, 90, 1], "image_id": 101003, "bbox": [565.81, 75.4, 73.1, 67.37], "category_id": 1, "id": 113826}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [183, 431, 1, 213, 433, 2, 0, 0, 0, 214, 454, 2, 0, 0, 0, 0, 0, 0, 183, 469, 1, 205, 469, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 401, 1, 198, 419, 1], "image_id": 102453, "bbox": [185.09, 397.97, 36.13, 84.5], "category_id": 1, "id": 113842}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 490, 1, 209, 499, 1], "image_id": 101978, "bbox": [198.07, 488.96, 21.06, 64.44], "category_id": 1, "id": 113847}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 76, 1, 513, 90, 1], "image_id": 101003, "bbox": [504.03, 74.82, 22.58, 45.15], "category_id": 1, "id": 113866}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [293, 160, 2, 282, 161, 2, 292, 176, 2, 0, 0, 0, 280, 166, 2, 0, 0, 0, 303, 187, 2, 293, 187, 2, 309, 204, 2, 281, 197, 2, 321, 223, 2, 295, 212, 2, 286, 144, 1, 288, 156, 1], "image_id": 100415, "bbox": [272.94, 142.62, 53.32, 87.7], "category_id": 1, "id": 113871}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [231, 418, 2, 256, 420, 2, 225, 434, 2, 258, 435, 2, 0, 0, 0, 0, 0, 0, 237, 449, 2, 251, 448, 2, 236, 478, 2, 254, 478, 2, 237, 508, 2, 256, 506, 2, 245, 395, 1, 243, 408, 1], "image_id": 102453, "bbox": [220.87, 390.97, 46.57, 128.57], "category_id": 1, "id": 113875}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 184, 1, 378, 192, 1], "image_id": 101525, "bbox": [363.78, 179.33, 25.61, 58.4], "category_id": 1, "id": 113888}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 489, 1, 291, 493, 1], "image_id": 101978, "bbox": [286.86, 488.99, 10.59, 38.61], "category_id": 1, "id": 113889}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 232, 2, 388, 228, 2, 417, 259, 2, 357, 236, 2, 398, 256, 2, 377, 245, 2, 411, 306, 2, 384, 305, 2, 414, 355, 2, 375, 355, 2, 421, 393, 2, 364, 394, 2, 406, 197, 1, 400, 228, 1], "image_id": 100163, "bbox": [347.33, 189.84, 90.6, 227.6], "category_id": 1, "id": 113912}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [401, 184, 2, 381, 186, 2, 0, 0, 0, 378, 211, 2, 0, 0, 0, 0, 0, 0, 401, 224, 1, 383, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 157, 1, 391, 179, 1], "image_id": 100163, "bbox": [372.08, 154.94, 32.57, 68.45], "category_id": 1, "id": 113927}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 179, 2, 0, 0, 0, 637, 199, 2, 639, 188, 2, 624, 176, 2, 0, 0, 0, 602, 203, 2, 617, 236, 2, 571, 202, 2, 0, 0, 0, 0, 0, 0], "image_id": 100415, "bbox": [555.51, 150.23, 84.49, 101.41], "category_id": 1, "id": 113940}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [446, 290, 2, 425, 293, 2, 437, 315, 2, 426, 317, 2, 414, 313, 2, 404, 310, 2, 465, 335, 2, 443, 341, 2, 436, 371, 1, 460, 389, 1, 0, 0, 0, 0, 0, 0, 422, 266, 1, 433, 287, 1], "image_id": 100479, "bbox": [391.43, 261.76, 83.31, 93.93], "category_id": 1, "id": 113950}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 132, 1, 42, 137, 1], "image_id": 100415, "bbox": [36.72, 132.68, 7.97, 29.92], "category_id": 1, "id": 113956}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [476, 193, 2, 466, 195, 2, 478, 218, 2, 0, 0, 0, 456, 218, 2, 0, 0, 0, 475, 238, 2, 466, 237, 2, 470, 278, 2, 473, 280, 2, 476, 317, 2, 470, 316, 2, 468, 161, 1, 474, 186, 1], "image_id": 101525, "bbox": [446.34, 151.55, 46.14, 180.26], "category_id": 1, "id": 113986}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 488, 1, 328, 492, 1], "image_id": 101978, "bbox": [324.89, 488.65, 9.95, 28.93], "category_id": 1, "id": 114006}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 490, 1, 350, 494, 1], "image_id": 101978, "bbox": [346.99, 489.69, 6.46, 19.58], "category_id": 1, "id": 114008}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 490, 1, 368, 496, 1], "image_id": 101978, "bbox": [360.7, 490.75, 11.57, 31.21], "category_id": 1, "id": 114017}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [441, 192, 2, 414, 192, 1, 447, 214, 2, 0, 0, 0, 449, 237, 2, 0, 0, 0, 439, 226, 2, 422, 227, 1, 439, 262, 2, 419, 266, 1, 439, 297, 2, 421, 296, 1, 428, 161, 1, 428, 185, 1], "image_id": 100163, "bbox": [411.82, 160.1, 40.82, 146.95], "category_id": 1, "id": 114040}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 398, 1, 257, 408, 1], "image_id": 102453, "bbox": [252.82, 394.76, 22.51, 100.83], "category_id": 1, "id": 114062}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 130, 1, 23, 135, 1], "image_id": 100415, "bbox": [13.85, 130.82, 13.5, 30.55], "category_id": 1, "id": 114081}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 135, 1, 51, 139, 1], "image_id": 100415, "bbox": [48.88, 135.4, 8.29, 25.96], "category_id": 1, "id": 114094}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 136, 1, 46, 139, 1], "image_id": 100415, "bbox": [42.82, 134.58, 8.11, 26.79], "category_id": 1, "id": 114134}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 174, 1, 364, 184, 1], "image_id": 101525, "bbox": [349.99, 173.06, 22.58, 59.07], "category_id": 1, "id": 114136}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 245, 2, 0, 0, 0, 148, 314, 1, 180, 311, 1, 134, 336, 2, 229, 325, 2, 134, 358, 2, 189, 368, 1, 187, 205, 1, 146, 201, 1], "image_id": 100415, "bbox": [117.5, 199.65, 125.15, 191.1], "category_id": 1, "id": 114143}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101525, "bbox": [423.72, 174.79, 11.6, 17.09], "category_id": 1, "id": 114147}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 180, 1, 124, 188, 1], "image_id": 101525, "bbox": [108.29, 177.4, 28.21, 73], "category_id": 1, "id": 114179}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 165, 1, 381, 176, 1], "image_id": 101525, "bbox": [372.33, 164.35, 14.71, 24.95], "category_id": 1, "id": 114199}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 410, 2, 305, 409, 2, 278, 422, 2, 308, 423, 2, 288, 430, 2, 298, 430, 2, 288, 440, 2, 301, 441, 2, 289, 462, 2, 301, 462, 2, 290, 483, 2, 294, 475, 2, 294, 390, 1, 293, 401, 1], "image_id": 102453, "bbox": [276.96, 390.24, 35.43, 99.63], "category_id": 1, "id": 114218}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [421, 438, 2, 404, 438, 2, 0, 0, 0, 401, 450, 2, 0, 0, 0, 0, 0, 0, 419, 467, 2, 406, 466, 2, 417, 490, 2, 404, 484, 2, 416, 507, 2, 403, 498, 2, 414, 422, 1, 413, 435, 1], "image_id": 102453, "bbox": [398.45, 419.04, 27.09, 94.5], "category_id": 1, "id": 114219}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [443, 426, 2, 425, 425, 2, 447, 441, 1, 422, 441, 1, 446, 455, 1, 0, 0, 0, 439, 458, 2, 428, 458, 2, 437, 485, 2, 431, 484, 2, 435, 505, 2, 431, 505, 2, 437, 403, 1, 435, 418, 1], "image_id": 102453, "bbox": [420.7, 403.06, 32.68, 110.23], "category_id": 1, "id": 114233}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 394, 1, 383, 403, 1], "image_id": 102453, "bbox": [369.41, 394.19, 24.19, 38.7], "category_id": 1, "id": 114253}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 396, 1, 334, 405, 1], "image_id": 102453, "bbox": [322.19, 395.37, 24.28, 34.35], "category_id": 1, "id": 114259}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 131, 1, 0, 0, 0], "image_id": 101337, "bbox": [222.46, 127.59, 34.22, 20.68], "category_id": 1, "id": 114264}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101337, "bbox": [0, 99.31, 19.98, 53.19], "category_id": 1, "id": 114273}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [624, 189, 2, 603, 193, 2, 0, 0, 0, 605, 206, 2, 0, 0, 0, 619, 206, 2, 622, 222, 1, 606, 225, 2, 0, 0, 0, 609, 254, 2, 0, 0, 0, 609, 277, 2, 612, 164, 1, 612, 183, 1], "image_id": 100163, "bbox": [596.72, 162.1, 36.3, 127.01], "category_id": 1, "id": 114276}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 150, 1, 406, 171, 1], "image_id": 100163, "bbox": [404.49, 146.7, 17.26, 46.38], "category_id": 1, "id": 114282}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102509, "bbox": [621.24, 0, 18.76, 35.54], "category_id": 1, "id": 114285}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [106, 116, 2, 90, 117, 2, 108, 125, 2, 90, 127, 2, 108, 135, 2, 90, 137, 2, 102, 131, 2, 94, 131, 2, 106, 145, 2, 92, 144, 2, 113, 161, 2, 88, 161, 2, 99, 106, 1, 99, 115, 1], "image_id": 100805, "bbox": [82.96, 103.34, 40.61, 67.68], "category_id": 1, "id": 114294}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 16, 1], "image_id": 102509, "bbox": [445.65, 0, 36.93, 31.88], "category_id": 1, "id": 114297}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [539, 187, 2, 512, 186, 2, 540, 209, 2, 511, 205, 2, 520, 208, 2, 534, 207, 2, 530, 224, 2, 516, 224, 2, 528, 255, 2, 515, 254, 2, 527, 288, 2, 513, 284, 2, 522, 163, 1, 527, 183, 1], "image_id": 100163, "bbox": [501.76, 159.24, 47.46, 143.01], "category_id": 1, "id": 114298}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 503, 1, 223, 518, 1], "image_id": 101978, "bbox": [213.69, 501.84, 15.64, 62.18], "category_id": 1, "id": 114305}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 461, 85, 1, 460, 92, 1], "image_id": 100805, "bbox": [443.79, 82.35, 29.42, 53.67], "category_id": 1, "id": 114318}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 490, 1, 133, 495, 1], "image_id": 101978, "bbox": [127.15, 489.95, 13.16, 41.05], "category_id": 1, "id": 114324}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [638, 225, 2, 617, 227, 2, 0, 0, 0, 616, 243, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 630, 257, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 201, 1, 627, 222, 1], "image_id": 100163, "bbox": [609.63, 202.77, 30.37, 64.63], "category_id": 1, "id": 114326}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [55, 220, 2, 66, 227, 2, 0, 0, 0, 64, 253, 2, 0, 0, 0, 80, 272, 1, 70, 284, 1, 76, 284, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 187, 1, 66, 214, 1], "image_id": 100217, "bbox": [53.91, 181.85, 38.5, 81.7], "category_id": 1, "id": 114348}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [544, 65, 2, 528, 65, 2, 545, 75, 2, 526, 77, 2, 541, 80, 2, 529, 86, 2, 540, 89, 2, 530, 89, 2, 541, 104, 2, 528, 103, 2, 542, 117, 2, 527, 119, 2, 537, 50, 1, 536, 61, 1], "image_id": 100805, "bbox": [520.91, 48.22, 28.1, 79.06], "category_id": 1, "id": 114361}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 3, 1, 176, 11, 1], "image_id": 100805, "bbox": [163.67, 0.46, 26.25, 33.48], "category_id": 1, "id": 114362}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [336, 241, 2, 324, 244, 2, 345, 252, 2, 0, 0, 0, 335, 258, 1, 0, 0, 0, 338, 276, 2, 328, 277, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 224, 1, 329, 238, 1], "image_id": 100163, "bbox": [312.9, 222.24, 39.37, 79.27], "category_id": 1, "id": 114363}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 3, 1, 245, 15, 1], "image_id": 100805, "bbox": [232.94, 1.41, 26.33, 28.5], "category_id": 1, "id": 114379}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [86, 212, 1, 52, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 177, 1, 68, 206, 1], "image_id": 101010, "bbox": [41.26, 173.71, 51.99, 81.44], "category_id": 1, "id": 114384}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [99, 34, 2, 0, 0, 0, 226, 164, 1, 0, 0, 0, 306, 276, 1, 0, 0, 0, 150, 466, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 52, 1, 203, 213, 1], "image_id": 101089, "bbox": [0, 0, 355.9, 466.54], "category_id": 1, "id": 114393}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 169, 1, 149, 180, 1], "image_id": 101525, "bbox": [135.93, 164.45, 18.73, 87.43], "category_id": 1, "id": 114397}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [108, 163, 2, 125, 175, 2, 0, 0, 0, 83, 205, 2, 0, 0, 0, 107, 256, 2, 20, 237, 2, 33, 243, 2, 98, 263, 2, 113, 277, 2, 59, 359, 2, 81, 366, 2, 148, 131, 1, 130, 165, 1], "image_id": 101003, "bbox": [7.66, 121.28, 170.43, 268.43], "category_id": 1, "id": 114407}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102453, "bbox": [64.31, 374.83, 24.42, 26.08], "category_id": 1, "id": 114415}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [88, 262, 2, 114, 271, 2, 0, 0, 0, 0, 0, 0, 114, 259, 2, 143, 302, 1, 120, 301, 2, 131, 312, 1, 159, 282, 1, 178, 289, 1, 0, 0, 0, 0, 0, 0, 108, 232, 1, 102, 261, 1], "image_id": 100217, "bbox": [64.54, 224.39, 113.15, 141.62], "category_id": 1, "id": 114448}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [94, 142, 2, 84, 147, 2, 0, 0, 0, 84, 179, 2, 0, 0, 0, 114, 167, 1, 68, 190, 2, 46, 185, 2, 98, 206, 1, 45, 215, 2, 102, 253, 1, 13, 258, 2, 108, 119, 1, 95, 139, 1], "image_id": 101337, "bbox": [2.14, 112.96, 117.91, 161.5], "category_id": 1, "id": 114476}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 177, 242, 1, 0, 0, 0, 164, 274, 2, 0, 0, 0, 131, 273, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102025, "bbox": [109.73, 239.61, 67.49, 44.99], "category_id": 1, "id": 114499}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 492, 1, 301, 497, 1], "image_id": 101978, "bbox": [295.63, 492.23, 13.13, 34.88], "category_id": 1, "id": 114506}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [37, 276, 2, 0, 0, 0, 83, 301, 2, 0, 0, 0, 100, 292, 2, 0, 0, 0, 19, 360, 2, 0, 0, 0, 85, 349, 2, 11, 353, 2, 39, 416, 2, 0, 0, 0, 9, 209, 1, 6, 261, 1], "image_id": 100418, "bbox": [0, 196.71, 130.5, 225.49], "category_id": 1, "id": 114513}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [461, 68, 2, 399, 70, 2, 464, 120, 2, 404, 131, 2, 439, 75, 2, 441, 142, 2, 447, 150, 2, 400, 150, 2, 479, 151, 2, 415, 160, 2, 479, 255, 2, 406, 251, 2, 438, 26, 1, 431, 58, 1], "image_id": 100419, "bbox": [383.96, 10.83, 125.31, 258.67], "category_id": 1, "id": 114517}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [634, 86, 2, 622, 87, 2, 0, 0, 0, 628, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 636, 64, 1, 631, 84, 1], "image_id": 101003, "bbox": [612.42, 57.66, 27.58, 64.2], "category_id": 1, "id": 114537}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100998, "bbox": [0, 89.87, 18.41, 61.73], "category_id": 1, "id": 114562}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 240, 2, 293, 238, 2, 327, 261, 2, 279, 261, 2, 338, 277, 2, 283, 283, 2, 316, 284, 2, 294, 278, 2, 323, 320, 2, 309, 314, 2, 310, 360, 2, 291, 350, 2, 313, 210, 1, 312, 232, 1], "image_id": 101658, "bbox": [275.54, 204.02, 72.35, 163.93], "category_id": 1, "id": 114567}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [158, 297, 2, 138, 299, 2, 157, 309, 1, 137, 313, 2, 150, 321, 1, 144, 322, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 274, 1, 150, 292, 1], "image_id": 100479, "bbox": [131.57, 269.64, 30.6, 55.43], "category_id": 1, "id": 114577}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100805, "bbox": [196.98, 0, 27.85, 20.42], "category_id": 1, "id": 114580}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100167, "bbox": [380.51, 151.69, 35.14, 42.29], "category_id": 1, "id": 114585}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100805, "bbox": [368.77, 0.5, 25.63, 21.23], "category_id": 1, "id": 114602}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [384, 316, 2, 280, 304, 1, 375, 428, 2, 225, 403, 1, 288, 384, 2, 228, 352, 2, 337, 539, 2, 248, 520, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 164, 1, 327, 295, 1], "image_id": 100932, "bbox": [198.62, 147.55, 239.38, 492.45], "category_id": 1, "id": 114605}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 7, 1, 545, 17, 1], "image_id": 100217, "bbox": [522.63, 5.35, 33.7, 62.27], "category_id": 1, "id": 114610}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 29, 1, 49, 44, 1], "image_id": 100932, "bbox": [23.67, 27.41, 38.62, 43.71], "category_id": 1, "id": 114612}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 1, 1], "image_id": 100217, "bbox": [280.89, 2.37, 24.89, 39.11], "category_id": 1, "id": 114613}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [304, 190, 1, 262, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 149, 1, 285, 179, 1], "image_id": 101010, "bbox": [265.83, 145.46, 37.22, 83.06], "category_id": 1, "id": 114616}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [406, 66, 2, 392, 63, 2, 397, 79, 2, 387, 78, 2, 382, 85, 2, 380, 87, 2, 406, 97, 2, 396, 97, 2, 401, 129, 2, 389, 126, 2, 401, 152, 2, 407, 145, 2, 394, 40, 1, 398, 58, 1], "image_id": 100932, "bbox": [370.31, 37.54, 47.48, 120.9], "category_id": 1, "id": 114625}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [175, 394, 2, 177, 394, 2, 183, 400, 2, 186, 414, 2, 192, 405, 2, 201, 412, 2, 167, 419, 1, 168, 419, 2, 0, 0, 0, 200, 424, 2, 0, 0, 0, 207, 446, 2, 181, 376, 1, 176, 390, 1], "image_id": 100805, "bbox": [164.2, 375.17, 54.45, 77.94], "category_id": 1, "id": 114632}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 1, 1, 153, 12, 1], "image_id": 100805, "bbox": [140.87, 0.76, 29.7, 37.13], "category_id": 1, "id": 114636}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [213, 213, 2, 155, 183, 2, 202, 282, 2, 94, 217, 2, 254, 261, 2, 51, 276, 2, 148, 306, 2, 106, 300, 2, 156, 416, 2, 83, 412, 2, 0, 0, 0, 0, 0, 0, 246, 152, 1, 195, 185, 1], "image_id": 101010, "bbox": [0, 127.03, 291.96, 372.97], "category_id": 1, "id": 114638}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 6, 1], "image_id": 100805, "bbox": [255.14, 0, 30.31, 30.01], "category_id": 1, "id": 114641}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [319, 208, 2, 289, 203, 1, 324, 229, 2, 287, 224, 1, 326, 207, 1, 0, 0, 0, 318, 241, 2, 297, 244, 1, 327, 231, 2, 310, 231, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101010, "bbox": [295.25, 171.99, 37.75, 76.55], "category_id": 1, "id": 114642}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 83, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100419, "bbox": [0, 133.9, 76.71, 57.48], "category_id": 1, "id": 114643}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [262, 190, 1, 228, 189, 1, 272, 221, 2, 220, 220, 1, 0, 0, 0, 250, 227, 2, 253, 240, 2, 233, 240, 2, 259, 246, 2, 232, 247, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101010, "bbox": [216.31, 189.68, 67.71, 63.94], "category_id": 1, "id": 114649}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100805, "bbox": [459.27, 3.15, 24.84, 11.29], "category_id": 1, "id": 114658}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [289, 92, 2, 266, 89, 2, 0, 0, 0, 253, 94, 2, 0, 0, 0, 264, 100, 1, 293, 119, 2, 280, 120, 2, 296, 104, 2, 316, 111, 2, 321, 107, 2, 344, 121, 2, 279, 70, 1, 278, 86, 1], "image_id": 101003, "bbox": [250.79, 69.15, 99.93, 61.93], "category_id": 1, "id": 114688}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 168, 1], "image_id": 101525, "bbox": [13.17, 153.71, 28.62, 52.21], "category_id": 1, "id": 114700}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [97, 292, 1, 68, 295, 2, 110, 313, 1, 65, 318, 2, 95, 320, 2, 77, 317, 2, 110, 337, 1, 91, 338, 2, 119, 372, 2, 90, 359, 2, 125, 410, 1, 101, 398, 1, 75, 269, 1, 81, 287, 1], "image_id": 100479, "bbox": [60.08, 263.59, 71.14, 147.56], "category_id": 1, "id": 114711}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [162, 38, 1, 96, 28, 2, 0, 0, 0, 59, 63, 1, 0, 0, 0, 83, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 19, 1], "image_id": 100932, "bbox": [59.69, 0, 106.11, 154.2], "category_id": 1, "id": 114735}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [616, 19, 2, 580, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 60, 1, 597, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 17, 1], "image_id": 102509, "bbox": [570.32, 0, 67.32, 87.32], "category_id": 1, "id": 114756}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [344, 17, 2, 295, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 74, 1, 307, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101008, "bbox": [286.75, 0, 63.38, 73.77], "category_id": 1, "id": 114757}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 403, 1, 464, 411, 1], "image_id": 102453, "bbox": [453.75, 402.92, 16.5, 54.93], "category_id": 1, "id": 114758}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102509, "bbox": [481.89, 4.44, 33.52, 28.38], "category_id": 1, "id": 114761}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [9, 505, 2, 0, 0, 0, 15, 516, 2, 0, 0, 0, 11, 517, 2, 0, 0, 0, 6, 527, 2, 0, 0, 0, 9, 549, 2, 0, 0, 0, 7, 565, 2, 0, 0, 0, 5, 488, 1, 4, 502, 1], "image_id": 101978, "bbox": [0, 488.42, 17.76, 88.52], "category_id": 1, "id": 114762}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102509, "bbox": [486.59, 39.02, 15.25, 19.03], "category_id": 1, "id": 114767}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101008, "bbox": [55.32, 1.6, 24.34, 13.36], "category_id": 1, "id": 114781}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101008, "bbox": [35.06, 3.35, 43.5, 39.14], "category_id": 1, "id": 114784}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [410, 119, 2, 330, 120, 2, 453, 144, 2, 320, 173, 2, 0, 0, 0, 361, 200, 2, 391, 209, 2, 349, 206, 2, 436, 216, 2, 344, 200, 2, 414, 333, 2, 333, 326, 1, 370, 51, 1, 368, 106, 1], "image_id": 102277, "bbox": [307.8, 44.53, 192.2, 295.25], "category_id": 1, "id": 114801}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 632, 50, 2, 0, 0, 0, 614, 172, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101008, "bbox": [560.52, 6.31, 79.48, 203.79], "category_id": 1, "id": 114806}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 132, 2, 266, 134, 2, 395, 120, 2, 273, 176, 2, 345, 112, 2, 315, 141, 2, 332, 267, 2, 282, 262, 2, 356, 355, 2, 242, 345, 2, 404, 434, 2, 205, 436, 2, 290, 75, 1, 300, 122, 1], "image_id": 100479, "bbox": [179.24, 67.22, 251.18, 384.42], "category_id": 1, "id": 114808}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 54, 108, 2, 0, 0, 0, 24, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100932, "bbox": [1.79, 64.26, 93.57, 135.25], "category_id": 1, "id": 114810}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 616, 234, 2, 0, 0, 0, 618, 206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 407, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100291, "bbox": [602.18, 188.26, 37.82, 273.04], "category_id": 1, "id": 114829}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [624, 121, 2, 505, 164, 2, 637, 181, 2, 465, 239, 2, 530, 166, 2, 512, 237, 1, 627, 275, 2, 524, 287, 2, 542, 293, 2, 475, 337, 2, 0, 0, 0, 0, 0, 0, 516, 46, 1, 558, 130, 1], "image_id": 101178, "bbox": [457.63, 39.94, 182.37, 440.06], "category_id": 1, "id": 114830}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 118, 2, 308, 125, 1, 394, 146, 2, 305, 159, 1, 376, 163, 2, 329, 164, 2, 365, 197, 2, 334, 202, 2, 376, 247, 2, 362, 267, 2, 386, 260, 2, 392, 307, 2, 328, 86, 1, 333, 115, 1], "image_id": 100998, "bbox": [314.54, 79, 87.13, 237.48], "category_id": 1, "id": 114846}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 104, 2, 427, 105, 2, 447, 121, 2, 413, 126, 2, 458, 131, 2, 429, 134, 2, 452, 140, 2, 432, 141, 2, 453, 177, 2, 436, 181, 2, 452, 208, 2, 419, 188, 2, 440, 82, 1, 440, 101, 1], "image_id": 100998, "bbox": [407.91, 81.08, 60.07, 136.46], "category_id": 1, "id": 114855}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100167, "bbox": [2.45, 161.82, 63.35, 66.64], "category_id": 1, "id": 114885}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [348, 48, 2, 286, 47, 2, 370, 75, 2, 284, 78, 2, 372, 95, 2, 334, 104, 2, 345, 148, 2, 289, 147, 2, 373, 99, 2, 292, 103, 2, 374, 192, 2, 302, 193, 2, 320, 2, 1, 311, 42, 1], "image_id": 100419, "bbox": [259.16, 1.58, 158.03, 222.82], "category_id": 1, "id": 114890}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [445, 178, 2, 294, 165, 2, 500, 301, 2, 278, 294, 2, 482, 391, 2, 324, 172, 2, 446, 415, 2, 340, 426, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 25, 1, 354, 147, 1], "image_id": 100631, "bbox": [241.49, 11.55, 283.51, 467.45], "category_id": 1, "id": 114899}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [184, 169, 2, 238, 176, 2, 206, 214, 2, 278, 201, 2, 248, 242, 1, 261, 156, 2, 189, 268, 2, 234, 278, 2, 0, 0, 0, 297, 296, 2, 0, 0, 0, 273, 369, 2, 227, 108, 1, 216, 152, 1], "image_id": 100221, "bbox": [163.07, 94.76, 154.42, 305.62], "category_id": 1, "id": 114909}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [553, 203, 2, 352, 188, 2, 556, 367, 2, 293, 277, 2, 416, 463, 1, 188, 309, 2, 423, 444, 1, 292, 398, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, 21, 1, 439, 159, 1], "image_id": 102203, "bbox": [102.47, 15.85, 501.57, 445.48], "category_id": 1, "id": 114919}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [108, 186, 2, 162, 191, 2, 0, 0, 0, 193, 263, 2, 0, 0, 0, 0, 0, 0, 102, 297, 1, 146, 310, 1, 0, 0, 0, 231, 287, 1, 0, 0, 0, 0, 0, 0, 192, 133, 1, 154, 176, 1], "image_id": 102203, "bbox": [85.24, 124.37, 123.1, 178.55], "category_id": 1, "id": 114931}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [566, 230, 2, 496, 225, 2, 577, 300, 2, 480, 278, 1, 571, 353, 2, 484, 325, 1, 543, 331, 2, 506, 327, 1, 535, 414, 2, 492, 393, 1, 519, 473, 2, 479, 455, 1, 540, 157, 1, 534, 209, 1], "image_id": 100631, "bbox": [474.17, 153.52, 117.73, 324.99], "category_id": 1, "id": 114939}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [231, 176, 2, 191, 178, 1, 240, 214, 1, 0, 0, 0, 228, 178, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 122, 1, 211, 169, 1], "image_id": 102203, "bbox": [185.81, 115.69, 61.74, 105.39], "category_id": 1, "id": 114943}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [206, 174, 2, 167, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 100, 1, 177, 155, 1], "image_id": 100557, "bbox": [158.37, 93.07, 75.05, 108.08], "category_id": 1, "id": 114945}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [442, 127, 2, 468, 128, 2, 0, 0, 0, 479, 144, 2, 0, 0, 0, 0, 0, 0, 439, 163, 2, 454, 165, 2, 464, 163, 2, 479, 176, 2, 468, 187, 2, 474, 205, 2, 454, 107, 1, 454, 122, 1], "image_id": 100221, "bbox": [435.74, 110.11, 46, 108.65], "category_id": 1, "id": 114948}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [387, 132, 2, 0, 0, 0, 338, 260, 2, 0, 0, 0, 295, 268, 2, 340, 208, 1, 406, 296, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 28, 1, 404, 113, 1], "image_id": 100557, "bbox": [282.21, 14.26, 197.4, 311.48], "category_id": 1, "id": 114949}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [355, 180, 1, 321, 181, 2, 0, 0, 0, 305, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 129, 1, 0, 0, 0], "image_id": 102203, "bbox": [303.06, 127.01, 59.03, 79.98], "category_id": 1, "id": 114956}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [368, 181, 1, 320, 181, 2, 0, 0, 0, 301, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 61, 1, 339, 96, 1], "image_id": 102203, "bbox": [300.34, 58.53, 68.37, 136.74], "category_id": 1, "id": 114958}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [214, 219, 2, 252, 216, 2, 211, 256, 2, 260, 254, 1, 206, 284, 2, 0, 0, 0, 220, 282, 2, 247, 282, 2, 222, 328, 2, 248, 326, 2, 221, 378, 2, 251, 373, 2, 223, 180, 1, 228, 204, 1], "image_id": 100631, "bbox": [200.94, 177.41, 59.74, 207.46], "category_id": 1, "id": 114960}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [216, 217, 1, 182, 218, 2, 222, 247, 1, 170, 246, 2, 220, 280, 1, 167, 280, 2, 207, 279, 1, 185, 276, 2, 207, 317, 1, 182, 319, 2, 206, 359, 1, 179, 357, 2, 203, 178, 1, 200, 209, 1], "image_id": 100631, "bbox": [161.47, 175.65, 51.23, 188.77], "category_id": 1, "id": 114962}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [482, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100557, "bbox": [427.82, 8.26, 72.18, 110.33], "category_id": 1, "id": 114970}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [70, 194, 2, 116, 194, 2, 46, 236, 2, 129, 236, 2, 30, 270, 2, 134, 270, 2, 78, 262, 2, 108, 263, 2, 72, 314, 2, 100, 319, 2, 69, 381, 2, 107, 368, 2, 85, 144, 1, 89, 175, 1], "image_id": 100631, "bbox": [18.26, 138.12, 121.36, 262.05], "category_id": 1, "id": 114972}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 16, 202, 2, 0, 0, 0, 21, 215, 2, 0, 0, 0, 25, 223, 1, 0, 0, 0, 9, 230, 2, 0, 0, 0, 12, 255, 2, 0, 0, 0, 6, 270, 2, 7, 176, 1, 7, 192, 1], "image_id": 100631, "bbox": [0, 176.96, 27.15, 110.82], "category_id": 1, "id": 114979}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100557, "bbox": [330.28, 96.66, 34, 21.97], "category_id": 1, "id": 114991}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [145, 135, 1, 81, 126, 2, 173, 180, 2, 53, 191, 2, 190, 197, 2, 133, 184, 1, 103, 245, 1, 41, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 1, 96, 121, 1], "image_id": 100557, "bbox": [3, 46.53, 229.67, 255.2], "category_id": 1, "id": 114997}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [342, 255, 1, 275, 260, 2, 0, 0, 0, 308, 336, 1, 0, 0, 0, 0, 0, 0, 364, 376, 1, 324, 382, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 171, 1, 312, 247, 1], "image_id": 102290, "bbox": [239.35, 167.3, 103.18, 197.36], "category_id": 1, "id": 115007}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [498, 287, 2, 508, 281, 2, 479, 346, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101183, "bbox": [442.82, 232.72, 106.59, 153.56], "category_id": 1, "id": 115025}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [499, 196, 1, 368, 175, 2, 525, 349, 1, 316, 291, 2, 393, 321, 2, 272, 370, 2, 0, 0, 0, 328, 418, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 6, 1, 435, 142, 1], "image_id": 100488, "bbox": [235.09, 0.8, 280.19, 422.2], "category_id": 1, "id": 115028}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [156, 209, 2, 65, 208, 2, 180, 307, 2, 18, 318, 2, 187, 381, 1, 30, 397, 1, 152, 371, 2, 82, 372, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 85, 1, 105, 171, 1], "image_id": 101470, "bbox": [0, 75.39, 202.02, 345.91], "category_id": 1, "id": 115031}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [359, 207, 2, 237, 208, 2, 372, 283, 2, 215, 283, 2, 367, 360, 2, 215, 373, 2, 334, 382, 2, 264, 382, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 98, 1, 300, 177, 1], "image_id": 101470, "bbox": [197.25, 93.39, 191.54, 326.85], "category_id": 1, "id": 115039}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [121, 151, 2, 18, 210, 2, 103, 346, 2, 0, 0, 0, 274, 360, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 3, 1, 85, 131, 1], "image_id": 100635, "bbox": [0.84, 0.3, 362.34, 411.42], "category_id": 1, "id": 115053}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [411, 311, 2, 167, 309, 2, 0, 0, 0, 0, 0, 0, 459, 392, 2, 184, 387, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 54, 1, 294, 259, 1], "image_id": 101541, "bbox": [109.15, 31.69, 388.75, 391.62], "category_id": 1, "id": 115064}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [301, 55, 2, 142, 53, 2, 315, 195, 2, 122, 179, 2, 218, 292, 2, 117, 277, 2, 266, 313, 2, 167, 311, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 22, 1], "image_id": 100488, "bbox": [93.83, 0, 262.32, 427], "category_id": 1, "id": 115068}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [261, 122, 2, 226, 123, 2, 272, 146, 2, 210, 151, 2, 271, 155, 2, 223, 142, 2, 261, 168, 1, 232, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 89, 1, 243, 117, 1], "image_id": 101095, "bbox": [206.52, 86.94, 75.38, 72.68], "category_id": 1, "id": 115085}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [236, 200, 2, 202, 197, 2, 0, 0, 0, 80, 282, 2, 85, 308, 2, 70, 325, 2, 83, 295, 2, 31, 319, 1, 120, 400, 2, 96, 456, 2, 0, 0, 0, 0, 0, 0, 283, 92, 1, 232, 177, 1], "image_id": 102035, "bbox": [1.08, 63.31, 320.36, 408.81], "category_id": 1, "id": 115087}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [230, 221, 2, 160, 217, 2, 227, 319, 1, 164, 278, 1, 133, 298, 2, 99, 274, 2, 227, 378, 1, 166, 362, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 109, 1, 201, 202, 1], "image_id": 102294, "bbox": [40.81, 98.9, 231.94, 236.24], "category_id": 1, "id": 115119}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 62, 181, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 42, 1, 0, 0, 0], "image_id": 102035, "bbox": [0, 2.7, 232.43, 371.89], "category_id": 1, "id": 115126}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [361, 131, 2, 330, 131, 2, 369, 157, 1, 318, 154, 1, 0, 0, 0, 0, 0, 0, 354, 165, 1, 332, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 104, 1, 345, 127, 1], "image_id": 101095, "bbox": [317.54, 99.73, 56.63, 56.32], "category_id": 1, "id": 115135}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [147, 189, 1, 0, 0, 0, 183, 336, 1, 0, 0, 0, 276, 350, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100635, "bbox": [197.67, 0.71, 167.56, 334.16], "category_id": 1, "id": 115142}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [444, 128, 2, 412, 125, 2, 451, 147, 1, 406, 144, 1, 452, 164, 1, 404, 157, 1, 440, 174, 1, 415, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, 92, 1, 427, 117, 1], "image_id": 101095, "bbox": [397.2, 90.05, 56.87, 71.61], "category_id": 1, "id": 115143}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [240, 147, 2, 0, 0, 0, 309, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 51, 1, 193, 126, 1], "image_id": 101542, "bbox": [165.78, 46.32, 137.61, 180.95], "category_id": 1, "id": 115145}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [474, 111, 2, 446, 107, 2, 475, 143, 2, 434, 124, 2, 450, 142, 1, 414, 134, 2, 480, 154, 2, 459, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 81, 1, 457, 101, 1], "image_id": 101095, "bbox": [397.87, 73.13, 93.2, 94.45], "category_id": 1, "id": 115146}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [561, 237, 2, 436, 241, 2, 606, 325, 2, 397, 313, 2, 533, 296, 2, 430, 361, 2, 543, 408, 1, 463, 406, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 485, 127, 1, 498, 216, 1], "image_id": 101470, "bbox": [383.84, 123.96, 231.64, 293.86], "category_id": 1, "id": 115156}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [465, 49, 1, 359, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 44, 1], "image_id": 100635, "bbox": [350.62, 1.04, 92.56, 233.75], "category_id": 1, "id": 115165}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [133, 137, 2, 90, 139, 2, 134, 268, 1, 130, 237, 1, 199, 301, 1, 215, 250, 2, 146, 348, 1, 92, 350, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 8, 1, 110, 114, 1], "image_id": 101542, "bbox": [31.14, 4.4, 282.42, 341.48], "category_id": 1, "id": 115190}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 602, 306, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 40, 1, 618, 243, 1], "image_id": 102294, "bbox": [496.18, 15.85, 143.82, 457.35], "category_id": 1, "id": 115230}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [99, 199, 2, 87, 198, 2, 106, 213, 2, 95, 232, 2, 111, 214, 2, 115, 223, 2, 121, 249, 2, 116, 258, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 155, 1, 88, 187, 1], "image_id": 101095, "bbox": [73.37, 149.3, 56.21, 119.1], "category_id": 1, "id": 115233}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [344, 110, 2, 405, 109, 2, 336, 230, 2, 386, 221, 2, 275, 228, 2, 306, 227, 2, 362, 315, 2, 419, 314, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 28, 1, 340, 91, 1], "image_id": 101542, "bbox": [258.88, 16.18, 204.94, 380.76], "category_id": 1, "id": 115277}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [172, 284, 2, 77, 291, 2, 239, 374, 2, 127, 392, 2, 283, 329, 2, 230, 381, 2, 244, 456, 1, 171, 476, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 147, 1, 133, 253, 1], "image_id": 100114, "bbox": [33.59, 134.09, 306.64, 333.72], "category_id": 1, "id": 115433}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 113, 1, 615, 180, 2, 405, 206, 2, 607, 235, 2, 468, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 97, 1, 0, 0, 0], "image_id": 100635, "bbox": [359.3, 0.93, 280.7, 301.71], "category_id": 1, "id": 115458}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100635, "bbox": [556.94, 48.37, 82.65, 117.4], "category_id": 1, "id": 115464}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [530, 295, 1, 474, 294, 1, 0, 0, 0, 0, 0, 0, 524, 318, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101542, "bbox": [468.88, 234.16, 50.92, 78.98], "category_id": 1, "id": 115490}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [592, 170, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 256, 2, 633, 258, 2, 595, 342, 2, 632, 343, 2, 601, 425, 2, 0, 0, 0, 627, 103, 1, 625, 154, 1], "image_id": 102290, "bbox": [566.29, 104.63, 72.27, 355.95], "category_id": 1, "id": 115491}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [608, 246, 2, 465, 248, 2, 623, 321, 2, 448, 308, 2, 568, 380, 1, 458, 361, 1, 568, 395, 1, 496, 397, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 131, 1, 539, 225, 1], "image_id": 100494, "bbox": [426.74, 123.37, 213.26, 247.59], "category_id": 1, "id": 115504}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [58, 50, 2, 97, 44, 2, 31, 139, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 166, 1, 93, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 35, 1], "image_id": 100488, "bbox": [0, 0.11, 101.12, 172.59], "category_id": 1, "id": 115508}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [223, 193, 2, 175, 196, 2, 217, 227, 2, 143, 233, 2, 193, 242, 2, 166, 263, 2, 197, 234, 2, 170, 233, 2, 223, 245, 2, 136, 248, 2, 159, 275, 2, 194, 268, 2, 210, 162, 1, 200, 191, 1], "image_id": 101404, "bbox": [128.83, 157.55, 103.85, 127.9], "category_id": 1, "id": 115510}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [514, 143, 2, 591, 144, 2, 488, 182, 2, 608, 191, 2, 0, 0, 0, 0, 0, 0, 528, 231, 1, 580, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 90, 1, 554, 128, 1], "image_id": 100494, "bbox": [478.58, 82.23, 140.06, 140.29], "category_id": 1, "id": 115515}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [145, 143, 2, 123, 149, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 110, 1, 135, 141, 1], "image_id": 101095, "bbox": [112.43, 107.38, 51.45, 77.17], "category_id": 1, "id": 115527}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [167, 117, 2, 141, 117, 1, 174, 134, 2, 0, 0, 0, 156, 139, 2, 0, 0, 0, 169, 152, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 95, 1, 152, 112, 1], "image_id": 101095, "bbox": [135.3, 91.47, 44.78, 85.75], "category_id": 1, "id": 115534}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [476, 201, 1, 448, 195, 2, 463, 257, 1, 425, 245, 2, 417, 282, 2, 408, 266, 2, 442, 281, 2, 420, 264, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 132, 1, 463, 183, 1], "image_id": 100563, "bbox": [402.34, 128.36, 77.66, 174.74], "category_id": 1, "id": 115536}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [420, 228, 2, 453, 219, 2, 399, 280, 2, 0, 0, 0, 400, 233, 2, 0, 0, 0, 433, 302, 2, 426, 282, 2, 369, 296, 2, 386, 254, 2, 0, 0, 0, 380, 290, 2, 427, 177, 1, 432, 214, 1], "image_id": 101404, "bbox": [357.3, 170.22, 121.35, 166.02], "category_id": 1, "id": 115537}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101542, "bbox": [57.06, 81.41, 24.27, 50.24], "category_id": 1, "id": 115545}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [362, 132, 2, 333, 126, 2, 363, 161, 2, 332, 152, 2, 365, 169, 2, 338, 161, 2, 355, 166, 2, 339, 165, 2, 369, 180, 2, 346, 184, 2, 385, 212, 2, 352, 215, 2, 352, 96, 1, 346, 119, 1], "image_id": 101404, "bbox": [315.67, 93.19, 91.78, 140.57], "category_id": 1, "id": 115548}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [499, 233, 2, 475, 225, 1, 488, 332, 2, 0, 0, 0, 440, 300, 2, 0, 0, 0, 502, 350, 2, 482, 332, 2, 391, 342, 2, 378, 324, 1, 391, 451, 2, 323, 360, 1, 479, 159, 1, 490, 222, 1], "image_id": 100563, "bbox": [284.14, 150.74, 293.49, 329.26], "category_id": 1, "id": 115550}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [27, 207, 2, 45, 207, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 227, 2, 41, 227, 2, 35, 257, 1, 37, 258, 1, 35, 279, 1, 33, 278, 1, 41, 187, 1, 38, 201, 1], "image_id": 100631, "bbox": [17.34, 186.56, 32.12, 74.84], "category_id": 1, "id": 115555}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [59, 100, 2, 182, 68, 1, 58, 226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 39, 1], "image_id": 100488, "bbox": [30.71, 0, 143.93, 346.4], "category_id": 1, "id": 115566}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [110, 232, 2, 158, 241, 2, 0, 0, 0, 194, 286, 2, 170, 242, 2, 184, 242, 2, 122, 340, 1, 159, 344, 2, 194, 325, 2, 234, 333, 2, 172, 395, 2, 198, 403, 2, 155, 171, 1, 141, 217, 1], "image_id": 102293, "bbox": [93.25, 159.34, 156.25, 263.65], "category_id": 1, "id": 115580}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [427, 134, 2, 383, 134, 2, 430, 160, 2, 375, 157, 2, 414, 175, 2, 401, 175, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 94, 1, 401, 125, 1], "image_id": 101404, "bbox": [371.94, 95.49, 72.84, 88.4], "category_id": 1, "id": 115582}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 187, 1, 19, 197, 1], "image_id": 100631, "bbox": [13.36, 187.23, 12.4, 22.78], "category_id": 1, "id": 115596}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [368, 74, 1, 308, 64, 1, 371, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 150, 1, 316, 145, 1, 342, 208, 1, 318, 205, 1, 0, 0, 0, 0, 0, 0, 336, 14, 1, 334, 56, 1], "image_id": 100488, "bbox": [317.39, 13.39, 77.91, 144.54], "category_id": 1, "id": 115602}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [557, 239, 1, 408, 258, 2, 609, 295, 2, 369, 345, 2, 578, 342, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 95, 1, 488, 220, 1], "image_id": 100635, "bbox": [358.65, 75.89, 269.55, 306.03], "category_id": 1, "id": 115618}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 96, 1, 68, 111, 1], "image_id": 101095, "bbox": [53.36, 93.1, 35.87, 35.74], "category_id": 1, "id": 115623}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [278, 210, 2, 237, 209, 2, 292, 259, 2, 216, 258, 2, 306, 291, 1, 249, 268, 2, 279, 313, 2, 249, 315, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 158, 1, 255, 202, 1], "image_id": 101345, "bbox": [207.1, 152.09, 103.55, 175.82], "category_id": 1, "id": 115630}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [188, 108, 2, 258, 106, 2, 174, 168, 2, 270, 162, 2, 0, 0, 0, 0, 0, 0, 200, 227, 1, 257, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 58, 1, 223, 93, 1], "image_id": 100494, "bbox": [159.04, 55.29, 111.81, 168.68], "category_id": 1, "id": 115656}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 461, 129, 2, 0, 0, 0, 445, 161, 2, 0, 0, 0, 456, 168, 2, 0, 0, 0, 465, 190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 89, 1, 479, 119, 1], "image_id": 101404, "bbox": [441.5, 88.03, 58.5, 176.79], "category_id": 1, "id": 115659}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [548, 273, 2, 545, 274, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 337, 1, 553, 334, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 242, 1, 535, 267, 1], "image_id": 101542, "bbox": [511.25, 234, 58.43, 82.95], "category_id": 1, "id": 115668}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [380, 216, 2, 324, 219, 2, 392, 258, 2, 313, 254, 2, 368, 262, 2, 324, 268, 2, 368, 300, 2, 334, 302, 2, 373, 361, 1, 335, 361, 1, 0, 0, 0, 0, 0, 0, 330, 180, 1, 346, 208, 1], "image_id": 101345, "bbox": [306.73, 165.74, 93.63, 180.81], "category_id": 1, "id": 115683}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [285, 273, 2, 372, 262, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 186, 1, 330, 244, 1], "image_id": 102293, "bbox": [262.98, 167.69, 128.62, 127.68], "category_id": 1, "id": 115691}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [424, 226, 2, 480, 220, 2, 436, 274, 2, 0, 0, 0, 425, 309, 2, 0, 0, 0, 470, 313, 2, 517, 316, 2, 456, 403, 1, 520, 402, 1, 0, 0, 0, 0, 0, 0, 420, 186, 1, 441, 211, 1], "image_id": 101345, "bbox": [410.54, 178.09, 129.19, 210.7], "category_id": 1, "id": 115717}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 59, 1, 535, 83, 1], "image_id": 100494, "bbox": [511.58, 57.71, 45.52, 42.94], "category_id": 1, "id": 115722}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 98, 1, 98, 115, 1], "image_id": 101095, "bbox": [76.95, 93.71, 36.2, 44.43], "category_id": 1, "id": 115738}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [434, 167, 2, 410, 158, 2, 386, 220, 2, 370, 199, 2, 0, 0, 0, 389, 203, 2, 427, 243, 1, 407, 231, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 108, 1, 421, 155, 1], "image_id": 100563, "bbox": [367.57, 112.97, 82.16, 144.87], "category_id": 1, "id": 115741}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [486, 104, 2, 527, 99, 2, 487, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 151, 1, 518, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, 70, 1, 502, 90, 1], "image_id": 100494, "bbox": [478.82, 67.17, 54.69, 88.28], "category_id": 1, "id": 115743}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [389, 140, 2, 368, 143, 2, 369, 189, 2, 353, 180, 2, 0, 0, 0, 361, 175, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 100, 1, 380, 134, 1], "image_id": 100563, "bbox": [349.74, 97.51, 54.59, 96.44], "category_id": 1, "id": 115759}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [156, 315, 2, 241, 329, 2, 120, 403, 2, 248, 448, 2, 0, 0, 0, 0, 0, 0, 110, 455, 2, 164, 471, 2, 0, 0, 0, 298, 492, 2, 0, 0, 0, 0, 0, 0, 227, 226, 1, 208, 304, 1], "image_id": 102204, "bbox": [96.84, 217.88, 217.88, 289.36], "category_id": 1, "id": 115762}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 171, 1, 0, 0, 0], "image_id": 102293, "bbox": [440.19, 168.03, 18.27, 31.23], "category_id": 1, "id": 115763}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [421, 287, 1, 365, 283, 1, 0, 0, 0, 313, 335, 1, 0, 0, 0, 359, 356, 1, 416, 391, 1, 374, 392, 1, 410, 472, 1, 347, 468, 1, 0, 0, 0, 0, 0, 0, 400, 83, 1, 373, 125, 1], "image_id": 102204, "bbox": [262.84, 70.32, 168.31, 281.29], "category_id": 1, "id": 115770}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [584, 165, 2, 487, 167, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 77, 1, 529, 144, 1], "image_id": 102204, "bbox": [466.71, 63.23, 173.29, 201.21], "category_id": 1, "id": 115779}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [125, 191, 2, 76, 207, 2, 0, 0, 0, 72, 267, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 306, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 140, 1, 102, 191, 1], "image_id": 100563, "bbox": [56.22, 135.14, 77.83, 161.08], "category_id": 1, "id": 115790}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 170, 1, 388, 179, 1], "image_id": 102293, "bbox": [380.03, 171.67, 16.59, 15.35], "category_id": 1, "id": 115806}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [59, 154, 1, 52, 154, 1, 72, 213, 1, 75, 223, 2, 110, 216, 2, 108, 281, 1, 0, 0, 0, 80, 274, 1, 0, 0, 0, 118, 357, 1, 0, 0, 0, 117, 475, 1, 52, 77, 1, 46, 134, 1], "image_id": 102204, "bbox": [0, 70.32, 131.42, 432.3], "category_id": 1, "id": 115807}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [219, 187, 2, 241, 187, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 214, 1, 238, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 171, 1, 231, 180, 1], "image_id": 102293, "bbox": [211.42, 170.49, 37.49, 61.08], "category_id": 1, "id": 115818}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [277, 183, 2, 232, 202, 2, 287, 216, 2, 238, 228, 2, 272, 239, 2, 239, 242, 2, 268, 234, 2, 246, 234, 2, 262, 256, 2, 234, 250, 2, 236, 286, 2, 240, 297, 2, 249, 153, 1, 254, 182, 1], "image_id": 101404, "bbox": [204.39, 144.85, 85.3, 176.8], "category_id": 1, "id": 115819}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 96, 1, 118, 114, 1], "image_id": 101095, "bbox": [94.93, 94.87, 34.18, 68.27], "category_id": 1, "id": 115823}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [185, 224, 2, 103, 241, 2, 193, 289, 2, 102, 319, 2, 229, 317, 1, 159, 358, 2, 189, 317, 2, 128, 332, 2, 255, 370, 1, 202, 393, 1, 212, 467, 1, 0, 0, 0, 147, 146, 1, 147, 213, 1], "image_id": 100563, "bbox": [84.13, 141.3, 166.12, 333.31], "category_id": 1, "id": 115828}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102204, "bbox": [433.13, 236.65, 206.87, 177.34], "category_id": 1, "id": 115852}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101095, "bbox": [122.67, 85.66, 14.61, 20.1], "category_id": 1, "id": 115863}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [166, 202, 1, 192, 208, 1, 0, 0, 0, 217, 238, 2, 0, 0, 0, 220, 210, 2, 169, 260, 1, 196, 263, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 171, 1, 187, 194, 1], "image_id": 102293, "bbox": [174.71, 165.32, 60.06, 78.9], "category_id": 1, "id": 115873}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [73, 141, 2, 130, 122, 2, 74, 183, 1, 161, 165, 2, 0, 0, 0, 0, 0, 0, 108, 227, 1, 155, 209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 78, 1, 99, 112, 1], "image_id": 100494, "bbox": [68.27, 73.74, 114.35, 196.59], "category_id": 1, "id": 115876}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [159, 199, 2, 105, 200, 2, 164, 252, 2, 86, 258, 2, 170, 233, 2, 120, 246, 2, 157, 291, 2, 119, 291, 2, 154, 382, 2, 106, 379, 1, 142, 449, 1, 96, 453, 2, 134, 144, 1, 134, 188, 1], "image_id": 101345, "bbox": [81.32, 140.33, 98.26, 335.43], "category_id": 1, "id": 115894}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [219, 297, 2, 208, 275, 2, 222, 318, 2, 185, 255, 2, 235, 344, 1, 169, 278, 1, 183, 299, 2, 171, 295, 1, 186, 342, 2, 167, 345, 1, 178, 382, 2, 163, 389, 1, 0, 0, 0, 218, 283, 1], "image_id": 101345, "bbox": [167.79, 250.82, 58.68, 139.45], "category_id": 1, "id": 115899}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [166, 99, 2, 153, 103, 2, 176, 118, 1, 165, 117, 2, 177, 102, 2, 172, 103, 2, 182, 122, 1, 172, 128, 1, 214, 125, 2, 205, 127, 2, 218, 156, 2, 220, 155, 2, 156, 77, 1, 156, 95, 1], "image_id": 101404, "bbox": [147.03, 74.93, 90.27, 90], "category_id": 1, "id": 115914}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [186, 177, 2, 165, 191, 1, 0, 0, 0, 179, 234, 1, 0, 0, 0, 205, 239, 2, 215, 255, 2, 206, 265, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 130, 1, 170, 170, 1], "image_id": 100563, "bbox": [157.29, 126.26, 78.34, 154.86], "category_id": 1, "id": 115930}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [251, 146, 2, 223, 153, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 193, 1, 247, 200, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 109, 1, 237, 141, 1], "image_id": 100563, "bbox": [202.15, 105.67, 65.68, 103.65], "category_id": 1, "id": 115943}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [472, 404, 2, 574, 412, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 331, 1, 532, 394, 1], "image_id": 102204, "bbox": [317.02, 300.88, 308.96, 212.12], "category_id": 1, "id": 115958}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [37, 247, 2, 6, 252, 2, 61, 268, 2, 0, 0, 0, 47, 286, 2, 0, 0, 0, 33, 297, 2, 10, 308, 2, 35, 350, 2, 19, 363, 1, 36, 392, 1, 0, 0, 0, 12, 214, 1, 18, 240, 1], "image_id": 101345, "bbox": [0, 210.68, 70.2, 160.08], "category_id": 1, "id": 115962}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 20, 352, 2, 0, 0, 0, 4, 367, 2, 0, 0, 0, 32, 393, 2, 20, 402, 2, 125, 400, 2, 122, 360, 2, 0, 0, 0, 181, 439, 2, 0, 0, 0, 0, 0, 0], "image_id": 101345, "bbox": [0, 317.12, 223.28, 157.49], "category_id": 1, "id": 115967}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [600, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 83, 1, 588, 111, 1], "image_id": 100494, "bbox": [570.93, 74.84, 43.18, 82.53], "category_id": 1, "id": 115969}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [57, 191, 2, 6, 198, 2, 95, 280, 2, 0, 0, 0, 26, 252, 2, 0, 0, 0, 54, 298, 2, 21, 296, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 186, 1], "image_id": 100494, "bbox": [0, 118.33, 130.21, 201.06], "category_id": 1, "id": 115970}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 185, 1, 61, 208, 1], "image_id": 102293, "bbox": [43.51, 184.45, 38.58, 32.29], "category_id": 1, "id": 115972}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [34, 110, 2, 7, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 105, 1], "image_id": 100494, "bbox": [0.96, 76.76, 54.69, 54.7], "category_id": 1, "id": 115999}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [93, 232, 2, 116, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 182, 1, 110, 212, 1], "image_id": 102293, "bbox": [86.02, 178.39, 39.94, 91.98], "category_id": 1, "id": 116008}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 219, 1, 63, 234, 1], "image_id": 101345, "bbox": [60.35, 217.17, 19.01, 87.43], "category_id": 1, "id": 116011}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 115, 1, 0, 0, 0], "image_id": 101404, "bbox": [229.55, 112.79, 39.65, 40.67], "category_id": 1, "id": 116016}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [140, 96, 2, 170, 87, 2, 144, 116, 2, 179, 109, 2, 0, 0, 0, 0, 0, 0, 150, 132, 1, 168, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 64, 1, 155, 82, 1], "image_id": 100494, "bbox": [139.26, 62.35, 46.1, 75.68], "category_id": 1, "id": 116019}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [196, 88, 1, 185, 91, 2, 209, 96, 1, 0, 0, 0, 201, 85, 1, 0, 0, 0, 212, 110, 1, 202, 114, 2, 242, 109, 1, 225, 114, 1, 0, 0, 0, 229, 136, 1, 189, 71, 1, 190, 84, 1], "image_id": 101404, "bbox": [165.56, 69.39, 68.17, 68.46], "category_id": 1, "id": 116027}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [91, 115, 2, 61, 124, 2, 105, 133, 2, 76, 148, 2, 117, 145, 2, 72, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 92, 1, 74, 115, 1], "image_id": 101404, "bbox": [55.09, 88.69, 78.94, 107.16], "category_id": 1, "id": 116031}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [49, 127, 2, 28, 131, 2, 69, 149, 2, 52, 151, 2, 54, 156, 2, 50, 129, 2, 60, 164, 2, 42, 172, 1, 108, 163, 2, 102, 166, 2, 100, 203, 2, 88, 210, 2, 38, 96, 1, 37, 121, 1], "image_id": 101404, "bbox": [20.22, 94.38, 102.81, 125.56], "category_id": 1, "id": 116033}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [513, 228, 2, 552, 215, 2, 472, 292, 2, 0, 0, 0, 461, 243, 2, 483, 249, 2, 492, 333, 2, 0, 0, 0, 412, 328, 1, 452, 307, 2, 0, 0, 0, 0, 0, 0, 534, 154, 1, 535, 209, 1], "image_id": 102293, "bbox": [422.01, 153.01, 154.91, 206.54], "category_id": 1, "id": 116040}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 149, 1, 363, 160, 1], "image_id": 102293, "bbox": [354.67, 148.82, 21.37, 35.21], "category_id": 1, "id": 116052}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 156, 1, 89, 168, 1], "image_id": 102293, "bbox": [76.57, 156.32, 21.69, 26.22], "category_id": 1, "id": 116054}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [204, 163, 2, 181, 170, 1, 215, 185, 2, 200, 196, 1, 230, 207, 2, 227, 215, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 114, 1, 192, 151, 1], "image_id": 100563, "bbox": [183.95, 108.16, 61.51, 112.21], "category_id": 1, "id": 116084}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101183, "bbox": [387.12, 250.23, 12.44, 13.26], "category_id": 1, "id": 116087}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [315, 132, 2, 279, 136, 2, 318, 158, 2, 272, 163, 1, 293, 161, 2, 292, 151, 2, 315, 180, 2, 290, 180, 2, 320, 193, 2, 328, 176, 2, 324, 254, 1, 336, 228, 2, 294, 103, 1, 294, 126, 1], "image_id": 101404, "bbox": [266.95, 101.1, 93.68, 150.21], "category_id": 1, "id": 116104}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [542, 126, 1, 511, 123, 2, 536, 152, 2, 501, 137, 2, 527, 172, 2, 526, 125, 2, 527, 163, 2, 513, 162, 2, 528, 195, 2, 516, 194, 1, 0, 0, 0, 0, 0, 0, 531, 96, 1, 526, 119, 1], "image_id": 100563, "bbox": [493.71, 95.76, 49.49, 108.27], "category_id": 1, "id": 116117}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101345, "bbox": [175.26, 236.84, 22.23, 18.96], "category_id": 1, "id": 116118}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 87, 1, 307, 102, 1], "image_id": 100563, "bbox": [294.87, 84.12, 33.47, 40.46], "category_id": 1, "id": 116126}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 567, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101183, "bbox": [433.16, 10.21, 93.05, 30.35], "category_id": 1, "id": 116130}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 210, 1, 217, 231, 1], "image_id": 101345, "bbox": [179.45, 206.99, 42.39, 58.59], "category_id": 1, "id": 116152}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [57, 147, 2, 52, 150, 2, 0, 0, 0, 71, 234, 1, 104, 221, 1, 113, 296, 2, 82, 266, 2, 76, 268, 2, 0, 0, 0, 125, 348, 2, 0, 0, 0, 115, 457, 1, 54, 79, 1, 45, 134, 1], "image_id": 102204, "bbox": [36.48, 67.7, 99.29, 374.78], "category_id": 1, "id": 116153}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 170, 1, 212, 182, 1], "image_id": 102293, "bbox": [203.42, 169.17, 18.02, 28.17], "category_id": 1, "id": 116178}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 571, 35, 2, 0, 0, 0, 507, 204, 2, 0, 0, 0, 497, 326, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100488, "bbox": [464.72, 0, 175.28, 427], "category_id": 1, "id": 116179}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [572, 278, 2, 459, 277, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 162, 1, 516, 257, 1], "image_id": 100114, "bbox": [432.85, 159.41, 172.29, 121.03], "category_id": 1, "id": 116182}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [178, 129, 1, 162, 128, 2, 177, 145, 1, 162, 149, 2, 176, 159, 1, 167, 164, 2, 169, 148, 2, 158, 149, 2, 167, 171, 2, 157, 169, 2, 165, 195, 2, 158, 196, 2, 173, 111, 1, 170, 123, 1], "image_id": 100221, "bbox": [145.93, 107.44, 31.4, 101.24], "category_id": 1, "id": 116237}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [53, 61, 1, 0, 0, 0, 29, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 33, 1], "image_id": 100488, "bbox": [0.96, 37.42, 81.56, 389.58], "category_id": 1, "id": 116248}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [246, 393, 2, 171, 358, 2, 0, 0, 0, 125, 339, 2, 0, 0, 0, 122, 323, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 266, 1, 215, 364, 1], "image_id": 102294, "bbox": [97.03, 259.39, 178.04, 155.79], "category_id": 1, "id": 116255}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [476, 164, 2, 515, 168, 2, 0, 0, 0, 533, 228, 2, 0, 0, 0, 563, 181, 2, 478, 287, 2, 509, 294, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 96, 1, 508, 149, 1], "image_id": 102290, "bbox": [455.19, 86.09, 123.91, 347.53], "category_id": 1, "id": 116276}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 64, 1, 114, 83, 1], "image_id": 100494, "bbox": [102.86, 62.24, 39.09, 60.13], "category_id": 1, "id": 116300}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101183, "bbox": [501.09, 233.65, 31.78, 46.32], "category_id": 1, "id": 116313}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [49, 248, 1, 57, 251, 2, 0, 0, 0, 58, 285, 2, 0, 0, 0, 64, 300, 2, 45, 286, 1, 53, 288, 2, 52, 330, 2, 66, 334, 2, 48, 357, 2, 70, 356, 1, 58, 220, 1, 54, 240, 1], "image_id": 101345, "bbox": [41.79, 218.54, 35.14, 143.54], "category_id": 1, "id": 116355}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 157, 1, 254, 168, 1], "image_id": 102293, "bbox": [248.49, 156.66, 13.01, 24.84], "category_id": 1, "id": 116373}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 90, 1, 202, 103, 1], "image_id": 101095, "bbox": [189.08, 92.73, 33.43, 25], "category_id": 1, "id": 116376}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 74, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 71, 1, 0, 0, 0], "image_id": 101470, "bbox": [0, 70.53, 50.65, 91.95], "category_id": 1, "id": 116397}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100557, "bbox": [272.46, 105.24, 22.37, 16.51], "category_id": 1, "id": 116404}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [353, 88, 2, 328, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 104, 2, 349, 114, 1, 329, 113, 2, 0, 0, 0, 322, 113, 2, 0, 0, 0, 0, 0, 0, 343, 67, 1, 342, 84, 1], "image_id": 101404, "bbox": [316.62, 66.3, 38.32, 60.98], "category_id": 1, "id": 116420}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [202, 93, 2, 202, 87, 2, 216, 97, 2, 212, 91, 2, 223, 89, 2, 223, 87, 2, 206, 118, 2, 209, 114, 2, 224, 127, 2, 224, 105, 2, 235, 151, 2, 231, 124, 2, 195, 82, 1, 201, 87, 1], "image_id": 101470, "bbox": [191.29, 78.2, 50.45, 78.93], "category_id": 1, "id": 116422}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 66, 1, 276, 85, 1], "image_id": 100494, "bbox": [252.59, 65.13, 32.41, 27.53], "category_id": 1, "id": 116423}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [404, 255, 2, 321, 278, 2, 441, 324, 2, 328, 353, 2, 404, 354, 2, 389, 374, 2, 426, 377, 2, 374, 386, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 189, 1, 359, 254, 1], "image_id": 102290, "bbox": [303.61, 182.68, 165.33, 234.12], "category_id": 1, "id": 116473}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [637, 276, 2, 620, 258, 2, 629, 445, 2, 574, 377, 2, 430, 444, 2, 463, 309, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 58, 1, 634, 220, 1], "image_id": 101542, "bbox": [344.1, 33.66, 294.24, 440.11], "category_id": 1, "id": 116476}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [360, 185, 2, 262, 187, 2, 427, 265, 2, 198, 235, 2, 393, 265, 2, 209, 263, 2, 343, 349, 1, 271, 348, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 102, 1, 304, 179, 1], "image_id": 100494, "bbox": [173.26, 93.25, 276.31, 207.08], "category_id": 1, "id": 116481}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [517, 161, 2, 489, 158, 1, 523, 179, 1, 0, 0, 0, 511, 188, 1, 0, 0, 0, 513, 202, 1, 497, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 127, 1, 504, 157, 1], "image_id": 101095, "bbox": [483.16, 128.29, 37.25, 60.26], "category_id": 1, "id": 116487}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [506, 370, 2, 341, 404, 2, 552, 473, 2, 0, 0, 0, 565, 352, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 244, 1, 429, 367, 1], "image_id": 101183, "bbox": [322.87, 240.98, 274.4, 269.96], "category_id": 1, "id": 116492}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100635, "bbox": [0, 0.55, 43.68, 95.7], "category_id": 1, "id": 116495}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [436, 301, 2, 355, 291, 2, 479, 360, 1, 307, 333, 1, 441, 367, 1, 0, 0, 0, 422, 407, 1, 375, 400, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 210, 1, 393, 274, 1], "image_id": 102204, "bbox": [300.19, 206.91, 149.06, 147.9], "category_id": 1, "id": 116515}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100321, "bbox": [9, 7, 622, 358], "category_id": 1, "id": 116554}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 81, 1, 0, 0, 0], "image_id": 101404, "bbox": [83, 57, 354, 126], "category_id": 1, "id": 116568}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101123, "bbox": [39, 57, 600, 54], "category_id": 1, "id": 116577}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101095, "bbox": [19, 47, 620, 248], "category_id": 1, "id": 116609}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 82, 1, 432, 109, 1], "image_id": 100538, "bbox": [287, 79, 333, 89], "category_id": 1, "id": 116634}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 90, 1, 405, 131, 1], "image_id": 101690, "bbox": [343, 85, 120, 95], "category_id": 1, "id": 116655}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 165, 1, 232, 105, 1], "image_id": 101807, "bbox": [132, 53, 367, 114], "category_id": 1, "id": 116678}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 84, 1, 506, 116, 1], "image_id": 102478, "bbox": [93, 78, 503, 73], "category_id": 1, "id": 116689}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 67, 1], "image_id": 102232, "bbox": [362, 71, 43, 91], "category_id": 1, "id": 116692}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 127, 1, 251, 178, 1], "image_id": 101525, "bbox": [0, 69, 499, 238], "category_id": 1, "id": 116700}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 231, 1, 0, 0, 0], "image_id": 101735, "bbox": [0, 143, 453, 236], "category_id": 1, "id": 116703}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 185, 1, 325, 238, 1], "image_id": 102293, "bbox": [73, 149, 566, 97], "category_id": 1, "id": 116711}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102379, "bbox": [95, 0, 327, 31], "category_id": 1, "id": 116718}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 74, 1, 297, 119, 1], "image_id": 100479, "bbox": [1, 97, 638, 319], "category_id": 1, "id": 116750}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101753, "bbox": [1, 70, 598, 165], "category_id": 1, "id": 116763}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 396, 1, 110, 493, 1], "image_id": 102453, "bbox": [0, 388, 479, 140], "category_id": 1, "id": 116766}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 219, 1, 388, 258, 1], "image_id": 101761, "bbox": [22, 179, 480, 171], "category_id": 1, "id": 116772}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 105, 1, 199, 142, 1], "image_id": 102487, "bbox": [41, 65, 385, 383], "category_id": 1, "id": 116780}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 60, 1, 471, 95, 1], "image_id": 101003, "bbox": [1, 0, 638, 215], "category_id": 1, "id": 116792}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101978, "bbox": [9, 50, 416, 510], "category_id": 1, "id": 116803}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 24, 1, 396, 64, 1], "image_id": 101191, "bbox": [40, 5, 574, 244], "category_id": 1, "id": 116833}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 100918, "bbox": [285, 1, 334, 203], "category_id": 1, "id": 116848}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 101190, "bbox": [21, 130, 369, 28], "category_id": 1, "id": 116854}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 58, 1, 201, 76, 1], "image_id": 100494, "bbox": [175, 56, 33, 43], "category_id": 1, "id": 116874}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 227, 1, 142, 356, 1], "image_id": 101206, "bbox": [0, 0, 639, 479], "category_id": 1, "id": 116890}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [293, 163, 2, 269, 157, 2, 291, 187, 2, 249, 179, 2, 288, 208, 1, 0, 0, 0, 282, 208, 1, 263, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 136, 1, 282, 155, 1], "image_id": 107631, "bbox": [244.13, 130.03, 57.03, 81.46], "category_id": 1, "id": 116897}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [638, 248, 2, 0, 0, 0, 604, 312, 2, 0, 0, 0, 470, 332, 2, 0, 0, 0, 578, 376, 2, 0, 0, 0, 491, 238, 2, 0, 0, 0, 435, 400, 2, 0, 0, 0, 586, 161, 1, 601, 239, 1], "image_id": 107065, "bbox": [400.98, 152.3, 239.02, 274.1], "category_id": 1, "id": 116903}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [218, 127, 2, 143, 118, 2, 219, 188, 2, 134, 190, 2, 209, 206, 2, 209, 223, 1, 201, 235, 1, 149, 236, 2, 0, 0, 0, 147, 311, 2, 0, 0, 0, 0, 0, 0, 213, 41, 1, 187, 97, 1], "image_id": 106831, "bbox": [113.23, 13.67, 144.89, 407.81], "category_id": 1, "id": 116917}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [359, 72, 2, 234, 71, 2, 378, 178, 1, 195, 207, 2, 372, 222, 1, 238, 153, 2, 325, 254, 1, 242, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 61, 1], "image_id": 106606, "bbox": [176.12, 0.21, 193.82, 229.21], "category_id": 1, "id": 116919}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [285, 198, 2, 363, 194, 2, 249, 253, 1, 418, 216, 2, 0, 0, 0, 443, 189, 2, 285, 301, 1, 358, 301, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 129, 1, 324, 175, 1], "image_id": 108510, "bbox": [232.49, 123.93, 223.91, 146.73], "category_id": 1, "id": 116928}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [404, 409, 2, 198, 371, 2, 423, 598, 2, 157, 482, 2, 0, 0, 0, 151, 529, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 173, 1, 297, 339, 1], "image_id": 107049, "bbox": [88.59, 135.14, 376.29, 504.76], "category_id": 1, "id": 116946}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 358, 2, 0, 0, 0, 45, 338, 1, 228, 327, 1, 87, 48, 1, 204, 37, 1, 0, 0, 0, 0, 0, 0, 416, 239, 1, 0, 0, 0], "image_id": 105332, "bbox": [17.08, 194.22, 622.02, 201.35], "category_id": 1, "id": 116948}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [373, 112, 2, 372, 110, 2, 366, 136, 2, 0, 0, 0, 352, 158, 2, 0, 0, 0, 389, 157, 2, 396, 161, 2, 363, 195, 2, 411, 202, 2, 354, 230, 2, 436, 229, 2, 355, 90, 1, 367, 107, 1], "image_id": 105942, "bbox": [325.98, 61.79, 121.02, 190.82], "category_id": 1, "id": 116952}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [539, 144, 2, 524, 141, 2, 542, 207, 2, 509, 192, 2, 503, 249, 2, 463, 160, 2, 527, 247, 2, 540, 242, 2, 539, 330, 2, 544, 321, 2, 545, 419, 2, 549, 389, 2, 514, 69, 1, 526, 120, 1], "image_id": 105215, "bbox": [445.48, 63.71, 130.52, 381.85], "category_id": 1, "id": 116955}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [121, 272, 2, 161, 277, 2, 0, 0, 0, 222, 327, 2, 0, 0, 0, 221, 311, 2, 108, 376, 2, 136, 388, 2, 139, 460, 2, 169, 473, 2, 141, 522, 2, 169, 574, 2, 183, 223, 1, 158, 260, 1], "image_id": 106660, "bbox": [98.27, 214.9, 133.67, 373.42], "category_id": 1, "id": 116984}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [391, 171, 2, 351, 168, 2, 357, 315, 2, 344, 281, 2, 279, 259, 2, 286, 218, 2, 536, 260, 2, 483, 254, 2, 472, 433, 1, 521, 378, 1, 0, 0, 0, 0, 0, 0, 276, 117, 1, 354, 170, 1], "image_id": 105562, "bbox": [202.77, 82.8, 378.34, 397.2], "category_id": 1, "id": 116997}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [347, 118, 2, 260, 117, 2, 356, 192, 2, 205, 151, 2, 362, 242, 2, 165, 165, 2, 344, 231, 2, 286, 233, 2, 364, 281, 2, 346, 226, 2, 373, 393, 2, 425, 320, 2, 320, 39, 1, 304, 108, 1], "image_id": 104925, "bbox": [137.53, 33.53, 349.55, 385.85], "category_id": 1, "id": 116999}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [291, 132, 2, 259, 130, 2, 301, 171, 2, 250, 170, 2, 318, 196, 2, 274, 200, 2, 270, 215, 2, 247, 214, 2, 281, 260, 1, 252, 268, 2, 271, 332, 1, 220, 327, 2, 286, 86, 1, 278, 119, 1], "image_id": 107413, "bbox": [203.02, 71.03, 144.3, 292.78], "category_id": 1, "id": 117005}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 271, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [126.4, 203.93, 165.17, 165.17], "category_id": 1, "id": 117010}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [271, 180, 2, 245, 185, 2, 287, 200, 2, 245, 203, 2, 283, 216, 2, 232, 210, 1, 276, 223, 2, 258, 225, 1, 286, 250, 2, 0, 0, 0, 298, 282, 2, 0, 0, 0, 250, 154, 1, 258, 174, 1], "image_id": 107358, "bbox": [233.4, 154.31, 76.69, 146.8], "category_id": 1, "id": 117013}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 414, 132, 2, 0, 0, 0, 387, 158, 2, 0, 0, 0, 401, 189, 2, 0, 0, 0, 435, 225, 2, 0, 0, 0, 436, 277, 2, 0, 0, 0, 436, 315, 2, 0, 0, 0, 436, 121, 1], "image_id": 108262, "bbox": [379.69, 123.54, 85.58, 199.67], "category_id": 1, "id": 117018}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [509, 152, 2, 537, 154, 2, 489, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 211, 2, 529, 210, 2, 501, 255, 2, 521, 257, 2, 500, 302, 2, 522, 301, 2, 519, 122, 1, 522, 142, 1], "image_id": 106666, "bbox": [481.57, 119.29, 61.28, 192.44], "category_id": 1, "id": 117051}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 235, 2, 410, 237, 2, 343, 265, 2, 425, 276, 2, 341, 275, 2, 436, 272, 2, 367, 306, 2, 404, 306, 2, 357, 337, 2, 418, 335, 2, 358, 372, 2, 419, 373, 2, 387, 187, 1, 385, 223, 1], "image_id": 106287, "bbox": [333.82, 179.55, 108.76, 209.68], "category_id": 1, "id": 117055}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [275, 147, 2, 230, 144, 2, 0, 0, 0, 225, 188, 2, 283, 161, 1, 217, 166, 2, 268, 231, 2, 242, 231, 2, 271, 282, 2, 251, 278, 2, 0, 0, 0, 0, 0, 0, 246, 95, 1, 251, 133, 1], "image_id": 108280, "bbox": [208.56, 91.93, 77.29, 198.58], "category_id": 1, "id": 117071}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [280, 422, 2, 237, 426, 2, 312, 448, 2, 0, 0, 0, 289, 474, 1, 0, 0, 0, 270, 482, 1, 239, 479, 1, 270, 531, 2, 0, 0, 0, 277, 582, 2, 0, 0, 0, 254, 376, 1, 258, 410, 1], "image_id": 102959, "bbox": [224.74, 373.46, 88.44, 239.77], "category_id": 1, "id": 117092}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [150, 336, 2, 114, 335, 1, 161, 360, 2, 0, 0, 0, 150, 357, 1, 0, 0, 0, 144, 374, 2, 119, 373, 1, 150, 383, 2, 0, 0, 0, 158, 411, 2, 0, 0, 0, 128, 301, 1, 130, 327, 1], "image_id": 106582, "bbox": [117.28, 298.49, 50.33, 123.39], "category_id": 1, "id": 117108}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [168, 225, 2, 112, 219, 2, 188, 258, 2, 97, 259, 2, 215, 278, 1, 113, 282, 2, 162, 298, 2, 123, 300, 2, 211, 326, 1, 143, 340, 2, 195, 387, 1, 108, 373, 1, 151, 165, 1, 143, 211, 1], "image_id": 108597, "bbox": [87.23, 160.31, 153.98, 247.69], "category_id": 1, "id": 117109}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [409, 137, 2, 426, 132, 2, 402, 164, 2, 0, 0, 0, 388, 165, 2, 0, 0, 0, 410, 175, 1, 426, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 104, 1, 418, 125, 1], "image_id": 106988, "bbox": [385.27, 99.12, 50.4, 69.76], "category_id": 1, "id": 117113}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [524, 208, 2, 0, 0, 0, 429, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 113, 1, 0, 0, 0], "image_id": 105928, "bbox": [404.93, 95.28, 120.01, 174.06], "category_id": 1, "id": 117130}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [600, 160, 2, 600, 158, 2, 595, 198, 2, 0, 0, 0, 564, 192, 1, 0, 0, 0, 591, 243, 2, 584, 239, 2, 596, 293, 2, 585, 287, 2, 600, 340, 2, 586, 329, 2, 597, 115, 1, 597, 150, 1], "image_id": 105215, "bbox": [560.52, 105.29, 67.09, 249.81], "category_id": 1, "id": 117137}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [135, 143, 2, 173, 142, 2, 124, 173, 2, 183, 175, 2, 141, 181, 2, 164, 181, 2, 139, 205, 2, 169, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 111, 1, 154, 131, 1], "image_id": 104533, "bbox": [119.39, 109.97, 68.45, 107.63], "category_id": 1, "id": 117142}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 222, 2, 404, 222, 2, 386, 241, 2, 395, 239, 2, 378, 249, 2, 378, 235, 2, 394, 260, 2, 403, 259, 2, 384, 288, 2, 403, 289, 2, 386, 320, 2, 419, 313, 2, 402, 200, 1, 400, 216, 1], "image_id": 106987, "bbox": [370.05, 198.57, 56.8, 130.84], "category_id": 1, "id": 117154}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [128, 195, 2, 209, 192, 2, 118, 253, 2, 231, 267, 2, 145, 273, 2, 238, 306, 2, 141, 294, 2, 206, 296, 2, 92, 361, 1, 261, 376, 2, 83, 453, 2, 267, 467, 2, 165, 106, 1, 159, 167, 1], "image_id": 107952, "bbox": [65.15, 37.23, 238.51, 466.54], "category_id": 1, "id": 117174}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [162, 209, 2, 66, 258, 2, 242, 278, 2, 157, 322, 2, 299, 270, 2, 232, 265, 2, 273, 291, 2, 210, 351, 2, 444, 300, 2, 379, 373, 2, 445, 463, 2, 0, 0, 0, 76, 132, 1, 103, 211, 1], "image_id": 103142, "bbox": [36.13, 123.1, 477.93, 347.87], "category_id": 1, "id": 117193}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [71, 111, 2, 0, 0, 0, 143, 309, 2, 0, 0, 0, 225, 221, 2, 190, 371, 2, 134, 457, 2, 0, 0, 0, 386, 477, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 130, 1], "image_id": 104716, "bbox": [0, 1.55, 325.86, 473.79], "category_id": 1, "id": 117214}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 504, 43, 2, 463, 45, 2, 501, 74, 2, 494, 2, 2, 490, 92, 2, 459, 98, 2, 479, 133, 1, 460, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103523, "bbox": [437.25, 0.09, 81.89, 120.52], "category_id": 1, "id": 117217}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [46, 136, 2, 0, 0, 0, 85, 314, 2, 0, 0, 0, 122, 201, 2, 160, 351, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104596, "bbox": [1.03, 1.03, 278.71, 478.97], "category_id": 1, "id": 117218}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [224, 289, 2, 188, 290, 2, 232, 314, 2, 180, 313, 2, 217, 309, 2, 194, 312, 2, 213, 329, 1, 198, 328, 2, 228, 333, 1, 182, 324, 2, 225, 360, 1, 183, 358, 2, 204, 254, 1, 205, 281, 1], "image_id": 107638, "bbox": [174.63, 251.33, 61.66, 121.74], "category_id": 1, "id": 117225}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [298, 67, 2, 261, 68, 2, 310, 92, 2, 248, 98, 2, 288, 108, 1, 252, 89, 2, 296, 118, 1, 264, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 30, 1, 279, 61, 1], "image_id": 107363, "bbox": [245.58, 25.25, 70.99, 94.36], "category_id": 1, "id": 117234}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [224, 264, 1, 305, 266, 2, 203, 322, 2, 364, 326, 2, 0, 0, 0, 409, 315, 2, 227, 401, 2, 302, 401, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 194, 1, 275, 249, 1], "image_id": 104693, "bbox": [190.97, 189.94, 225.03, 283.87], "category_id": 1, "id": 117240}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [115, 177, 2, 10, 185, 2, 123, 245, 2, 31, 293, 2, 64, 304, 2, 92, 257, 2, 87, 288, 2, 26, 301, 2, 140, 293, 1, 47, 329, 2, 0, 0, 0, 0, 0, 0, 106, 73, 1, 68, 163, 1], "image_id": 105633, "bbox": [0, 60.58, 164.05, 362.93], "category_id": 1, "id": 117242}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [464, 179, 2, 420, 176, 2, 482, 207, 1, 415, 198, 2, 0, 0, 0, 435, 198, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 138, 1, 440, 170, 1], "image_id": 104389, "bbox": [405.36, 129.33, 72.57, 88.12], "category_id": 1, "id": 117244}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [269, 260, 2, 378, 243, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 365, 2, 386, 364, 2, 282, 411, 2, 381, 412, 2, 313, 421, 2, 386, 427, 2, 311, 176, 1, 317, 233, 1], "image_id": 107290, "bbox": [243.6, 168.07, 167.96, 310.93], "category_id": 1, "id": 117246}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 132, 2, 234, 119, 2, 370, 226, 2, 210, 176, 2, 350, 281, 2, 166, 155, 2, 299, 279, 2, 243, 276, 2, 295, 373, 2, 234, 379, 2, 312, 436, 2, 254, 471, 2, 276, 31, 1, 282, 100, 1], "image_id": 103504, "bbox": [148.65, 20.65, 235.35, 459.35], "category_id": 1, "id": 117252}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [547, 270, 1, 392, 280, 1, 578, 403, 1, 371, 397, 2, 480, 337, 1, 441, 336, 1, 546, 518, 2, 422, 523, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 128, 1, 497, 230, 1], "image_id": 106601, "bbox": [358.56, 114.55, 234.02, 484.46], "category_id": 1, "id": 117257}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [222, 305, 2, 227, 307, 2, 210, 325, 2, 227, 314, 2, 204, 339, 2, 238, 324, 2, 217, 342, 2, 222, 345, 2, 235, 371, 2, 241, 370, 2, 0, 0, 0, 221, 389, 2, 228, 278, 1, 226, 298, 1], "image_id": 107565, "bbox": [200.94, 274.06, 49.81, 118.74], "category_id": 1, "id": 117268}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [507, 245, 2, 531, 244, 2, 505, 259, 2, 537, 256, 2, 0, 0, 0, 0, 0, 0, 516, 276, 2, 530, 275, 2, 519, 297, 2, 531, 297, 2, 520, 322, 2, 531, 322, 2, 519, 225, 1, 519, 237, 1], "image_id": 106888, "bbox": [496.09, 215.61, 47.02, 114.18], "category_id": 1, "id": 117277}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 402, 20, 2, 316, 14, 2, 391, 85, 2, 318, 69, 2, 380, 86, 2, 333, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103523, "bbox": [302.56, 1.67, 115.69, 100.32], "category_id": 1, "id": 117280}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 194, 2, 274, 203, 2, 346, 235, 2, 270, 258, 2, 384, 226, 2, 297, 294, 2, 337, 303, 2, 287, 309, 2, 357, 374, 2, 281, 393, 2, 364, 473, 2, 227, 444, 2, 315, 116, 1, 309, 173, 1], "image_id": 105254, "bbox": [209.93, 111.92, 207.65, 370.81], "category_id": 1, "id": 117282}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [345, 43, 2, 302, 38, 2, 345, 84, 2, 284, 71, 2, 325, 111, 2, 282, 101, 2, 354, 54, 2, 327, 55, 2, 353, 100, 2, 323, 97, 2, 352, 139, 1, 0, 0, 0, 317, 36, 1, 321, 39, 1], "image_id": 107363, "bbox": [277.28, 20.25, 94.27, 102.58], "category_id": 1, "id": 117288}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [295, 153, 2, 264, 149, 2, 0, 0, 0, 249, 186, 2, 0, 0, 0, 275, 187, 2, 294, 218, 2, 269, 222, 2, 0, 0, 0, 306, 219, 2, 0, 0, 0, 317, 282, 2, 285, 106, 1, 278, 143, 1], "image_id": 106890, "bbox": [234.87, 100.85, 106.43, 195.81], "category_id": 1, "id": 117289}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [258, 298, 2, 224, 297, 1, 286, 335, 2, 209, 338, 2, 265, 341, 2, 199, 307, 1, 259, 383, 2, 232, 382, 2, 265, 456, 2, 241, 453, 2, 269, 513, 2, 250, 501, 2, 228, 247, 1, 241, 286, 1], "image_id": 106660, "bbox": [192.25, 236.02, 101.36, 305.46], "category_id": 1, "id": 117292}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [219, 129, 2, 138, 135, 2, 0, 0, 0, 130, 222, 2, 279, 181, 1, 204, 220, 2, 231, 233, 1, 173, 238, 2, 298, 269, 2, 254, 306, 2, 290, 407, 2, 0, 0, 0, 177, 41, 1, 177, 110, 1], "image_id": 108242, "bbox": [98.83, 37.42, 239.89, 389.58], "category_id": 1, "id": 117293}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [513, 266, 2, 524, 254, 2, 503, 276, 2, 515, 288, 2, 477, 277, 2, 480, 304, 2, 528, 322, 2, 541, 321, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 227, 1, 520, 251, 1], "image_id": 104161, "bbox": [455.49, 221.47, 105.05, 110.43], "category_id": 1, "id": 117300}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [295, 216, 2, 270, 222, 2, 310, 225, 2, 263, 236, 2, 328, 223, 1, 273, 254, 2, 296, 248, 1, 281, 254, 2, 0, 0, 0, 302, 262, 2, 0, 0, 0, 0, 0, 0, 282, 195, 1, 281, 213, 1], "image_id": 104465, "bbox": [257.65, 191.68, 70.33, 123.22], "category_id": 1, "id": 117301}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [115, 165, 2, 107, 161, 2, 105, 224, 2, 93, 189, 2, 60, 231, 2, 79, 168, 2, 124, 269, 2, 110, 264, 2, 126, 335, 2, 69, 336, 2, 151, 418, 2, 63, 421, 2, 87, 106, 1, 102, 147, 1], "image_id": 106609, "bbox": [23.21, 96.61, 141.26, 343.07], "category_id": 1, "id": 117307}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [196, 98, 2, 258, 101, 2, 191, 183, 2, 0, 0, 0, 172, 263, 2, 0, 0, 0, 199, 304, 2, 258, 309, 2, 196, 407, 2, 270, 413, 2, 0, 0, 0, 0, 0, 0, 184, 7, 1, 202, 70, 1], "image_id": 107028, "bbox": [153.17, 0, 143.46, 469.21], "category_id": 1, "id": 117310}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [224, 142, 2, 197, 145, 2, 229, 154, 2, 213, 169, 2, 233, 165, 2, 226, 145, 2, 227, 203, 2, 205, 207, 2, 233, 245, 2, 206, 250, 2, 244, 287, 1, 208, 294, 1, 211, 110, 1, 210, 138, 1], "image_id": 105890, "bbox": [188.25, 108.7, 63, 180.75], "category_id": 1, "id": 117315}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [545, 262, 2, 498, 258, 2, 0, 0, 0, 406, 433, 2, 230, 390, 2, 232, 374, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 32, 1, 515, 210, 1], "image_id": 106133, "bbox": [96.76, 1.04, 543.24, 456.76], "category_id": 1, "id": 117323}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [388, 175, 2, 252, 170, 2, 503, 235, 2, 169, 251, 2, 443, 222, 2, 229, 222, 2, 373, 327, 1, 268, 324, 1, 430, 420, 2, 217, 428, 2, 0, 0, 0, 0, 0, 0, 348, 47, 1, 319, 156, 1], "image_id": 102862, "bbox": [139.79, 33.98, 384.43, 398.02], "category_id": 1, "id": 117348}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [303, 166, 2, 313, 165, 2, 0, 0, 0, 337, 196, 2, 0, 0, 0, 370, 211, 2, 270, 232, 2, 289, 231, 2, 0, 0, 0, 342, 245, 2, 0, 0, 0, 302, 275, 2, 326, 111, 1, 312, 155, 1], "image_id": 102821, "bbox": [257.6, 100.19, 143.12, 210.3], "category_id": 1, "id": 117356}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [148, 154, 2, 31, 209, 2, 0, 0, 0, 3, 379, 2, 233, 316, 2, 96, 455, 2, 197, 393, 2, 130, 430, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 4, 1, 90, 145, 1], "image_id": 105475, "bbox": [2.15, 0, 278.75, 473.49], "category_id": 1, "id": 117364}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 290, 14, 2, 127, 15, 2, 255, 19, 2, 119, 86, 2, 238, 102, 2, 176, 109, 2, 247, 242, 2, 199, 251, 2, 262, 363, 2, 231, 311, 2, 0, 0, 0, 0, 0, 0], "image_id": 106527, "bbox": [109.14, 0.19, 192.44, 418.38], "category_id": 1, "id": 117371}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [595, 228, 1, 612, 229, 2, 593, 236, 1, 617, 236, 2, 0, 0, 0, 0, 0, 0, 599, 250, 2, 609, 249, 2, 601, 263, 2, 607, 266, 2, 601, 281, 2, 603, 284, 2, 605, 214, 1, 604, 223, 1], "image_id": 104923, "bbox": [594.39, 213.98, 24.91, 75.27], "category_id": 1, "id": 117395}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [147, 221, 1, 212, 217, 2, 0, 0, 0, 257, 271, 1, 0, 0, 0, 0, 0, 0, 151, 330, 1, 210, 330, 1, 156, 411, 2, 224, 408, 2, 121, 440, 2, 201, 440, 2, 209, 153, 1, 191, 195, 1], "image_id": 107290, "bbox": [63.51, 153.31, 205.59, 320.38], "category_id": 1, "id": 117413}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [336, 139, 2, 193, 146, 2, 369, 243, 1, 171, 237, 2, 363, 143, 2, 217, 267, 2, 302, 374, 1, 206, 342, 2, 302, 528, 1, 185, 521, 2, 0, 0, 0, 0, 0, 0, 257, 13, 1, 257, 113, 1], "image_id": 107872, "bbox": [126.56, 1.44, 257.44, 629.93], "category_id": 1, "id": 117416}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 164, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [284.83, 59.89, 214.05, 242.69], "category_id": 1, "id": 117435}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [394, 220, 1, 458, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 313, 2, 476, 296, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 154, 1, 407, 191, 1], "image_id": 108510, "bbox": [368.74, 141.97, 148, 175.33], "category_id": 1, "id": 117441}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [575, 304, 2, 547, 301, 2, 580, 322, 2, 0, 0, 0, 583, 338, 1, 547, 318, 2, 569, 350, 2, 549, 347, 2, 565, 381, 2, 544, 375, 2, 563, 415, 2, 537, 414, 2, 565, 275, 1, 561, 296, 1], "image_id": 107631, "bbox": [532.15, 273.28, 59.89, 150.74], "category_id": 1, "id": 117463}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [321, 178, 1, 365, 175, 2, 0, 0, 0, 349, 139, 2, 0, 0, 0, 362, 119, 2, 329, 274, 1, 359, 271, 1, 0, 0, 0, 365, 324, 2, 0, 0, 0, 0, 0, 0, 344, 133, 1, 342, 168, 1], "image_id": 103606, "bbox": [324.66, 112.5, 67.96, 256.71], "category_id": 1, "id": 117475}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 394, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106601, "bbox": [517.72, 338.01, 121.25, 88.56], "category_id": 1, "id": 117480}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [481, 316, 2, 461, 311, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 250, 1, 461, 297, 1], "image_id": 108089, "bbox": [422.57, 244.8, 81.9, 98.62], "category_id": 1, "id": 117484}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 237, 2, 410, 238, 2, 388, 256, 2, 416, 256, 2, 388, 271, 2, 413, 272, 2, 396, 272, 2, 408, 271, 2, 397, 293, 2, 410, 292, 2, 400, 322, 2, 412, 319, 2, 401, 218, 1, 401, 230, 1], "image_id": 106888, "bbox": [384.19, 214.67, 32.97, 113.95], "category_id": 1, "id": 117487}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [364, 143, 2, 335, 142, 2, 369, 182, 2, 325, 171, 1, 328, 203, 2, 309, 184, 1, 374, 189, 2, 350, 194, 2, 343, 205, 2, 330, 226, 2, 414, 227, 2, 393, 227, 2, 341, 113, 1, 352, 138, 1], "image_id": 108066, "bbox": [307.05, 109.14, 121.64, 130.04], "category_id": 1, "id": 117545}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [460, 130, 2, 400, 101, 2, 477, 186, 2, 336, 81, 2, 446, 242, 2, 280, 71, 2, 442, 261, 2, 395, 247, 2, 472, 321, 2, 0, 0, 0, 554, 308, 2, 0, 0, 0, 475, 23, 1, 441, 105, 1], "image_id": 103553, "bbox": [232.99, 5.39, 365.66, 371.06], "category_id": 1, "id": 117547}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [398, 119, 2, 313, 117, 2, 415, 178, 2, 0, 0, 0, 447, 129, 2, 0, 0, 0, 377, 261, 2, 324, 259, 1, 380, 367, 2, 325, 359, 2, 0, 0, 0, 0, 0, 0, 384, 35, 1, 363, 99, 1], "image_id": 103176, "bbox": [291.7, 30.71, 162.17, 396.29], "category_id": 1, "id": 117554}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [286, 295, 1, 296, 295, 1, 0, 0, 0, 317, 317, 2, 0, 0, 0, 338, 317, 2, 285, 330, 1, 294, 333, 1, 0, 0, 0, 332, 341, 2, 0, 0, 0, 330, 377, 1, 304, 275, 1, 298, 291, 1], "image_id": 106212, "bbox": [286.97, 271.81, 60.3, 101.64], "category_id": 1, "id": 117558}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [492, 167, 2, 527, 170, 2, 472, 205, 2, 0, 0, 0, 455, 204, 2, 0, 0, 0, 491, 229, 2, 522, 227, 2, 497, 300, 2, 516, 298, 2, 500, 358, 2, 517, 353, 2, 486, 127, 1, 498, 158, 1], "image_id": 108026, "bbox": [439.53, 121.21, 95.42, 252.54], "category_id": 1, "id": 117570}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [281, 205, 2, 309, 197, 2, 269, 239, 2, 0, 0, 0, 259, 228, 2, 0, 0, 0, 301, 280, 2, 316, 276, 2, 297, 325, 2, 309, 322, 2, 293, 372, 2, 307, 368, 2, 285, 166, 1, 293, 193, 1], "image_id": 107913, "bbox": [250.01, 163.4, 80.8, 217.13], "category_id": 1, "id": 117584}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 179, 2, 481, 179, 2, 481, 229, 2, 490, 234, 2, 444, 215, 2, 452, 233, 2, 483, 282, 2, 495, 281, 2, 472, 366, 2, 498, 364, 1, 472, 453, 2, 509, 450, 1, 451, 127, 1, 464, 165, 1], "image_id": 107028, "bbox": [432.53, 120.51, 91.6, 337.86], "category_id": 1, "id": 117590}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [173, 165, 2, 292, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 49, 1, 232, 125, 1], "image_id": 102862, "bbox": [156.91, 41.76, 139.48, 132.7], "category_id": 1, "id": 117600}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [232, 214, 2, 356, 212, 2, 208, 367, 2, 334, 334, 2, 195, 289, 1, 262, 284, 2, 300, 447, 2, 351, 431, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 82, 1, 291, 177, 1], "image_id": 102868, "bbox": [177.86, 72.86, 201.43, 387.85], "category_id": 1, "id": 117628}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [496, 263, 2, 542, 246, 2, 475, 347, 2, 506, 290, 2, 436, 320, 2, 456, 248, 2, 517, 408, 2, 563, 384, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 142, 1, 524, 227, 1], "image_id": 102868, "bbox": [404.32, 137.84, 182.71, 335.13], "category_id": 1, "id": 117635}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [463, 163, 2, 0, 0, 0, 477, 230, 2, 0, 0, 0, 482, 274, 2, 418, 220, 1, 460, 269, 2, 412, 269, 1, 483, 360, 2, 411, 360, 2, 503, 447, 2, 393, 446, 2, 0, 0, 0, 426, 148, 1], "image_id": 105254, "bbox": [380.49, 151.57, 162.75, 331.21], "category_id": 1, "id": 117636}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [346, 193, 2, 373, 192, 2, 323, 205, 2, 381, 213, 2, 0, 0, 0, 0, 0, 0, 352, 243, 1, 374, 241, 2, 355, 276, 1, 373, 276, 2, 357, 310, 1, 373, 310, 2, 348, 171, 1, 355, 185, 1], "image_id": 107913, "bbox": [316.65, 168.59, 69.93, 148.67], "category_id": 1, "id": 117642}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 56, 2, 0, 0, 0, 612, 90, 2, 627, 233, 1, 580, 227, 1, 590, 299, 2, 553, 318, 1, 0, 0, 0, 0, 0, 0], "image_id": 107253, "bbox": [518.83, 1.97, 117.33, 384.28], "category_id": 1, "id": 117645}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [290, 295, 2, 329, 290, 2, 248, 338, 2, 0, 0, 0, 240, 304, 2, 0, 0, 0, 290, 401, 2, 328, 391, 1, 186, 408, 2, 0, 0, 0, 224, 496, 2, 0, 0, 0, 277, 228, 1, 291, 275, 1], "image_id": 106878, "bbox": [167.89, 216.68, 185.11, 311.39], "category_id": 1, "id": 117648}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [167, 198, 2, 155, 198, 2, 0, 0, 0, 153, 206, 2, 173, 215, 2, 175, 200, 2, 167, 240, 2, 156, 240, 2, 172, 263, 2, 160, 272, 2, 170, 287, 2, 157, 299, 2, 159, 170, 1, 158, 192, 1], "image_id": 105890, "bbox": [137.69, 169.12, 47.14, 137.69], "category_id": 1, "id": 117664}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [609, 299, 2, 584, 297, 2, 610, 321, 2, 585, 313, 2, 599, 313, 2, 588, 299, 2, 601, 342, 2, 586, 339, 2, 593, 374, 2, 586, 368, 1, 587, 402, 2, 585, 393, 2, 595, 274, 1, 596, 292, 1], "image_id": 107631, "bbox": [578.28, 271.77, 42.87, 141.64], "category_id": 1, "id": 117666}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [295, 117, 1, 236, 119, 2, 315, 138, 1, 231, 153, 2, 337, 147, 1, 252, 161, 2, 275, 178, 1, 246, 179, 2, 0, 0, 0, 244, 218, 2, 0, 0, 0, 234, 278, 2, 260, 70, 1, 262, 109, 1], "image_id": 103021, "bbox": [218.1, 68.58, 137.41, 244.31], "category_id": 1, "id": 117680}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [575, 212, 2, 587, 233, 2, 462, 204, 2, 558, 308, 2, 359, 206, 2, 502, 269, 2, 602, 407, 2, 576, 407, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 103, 1, 570, 188, 1], "image_id": 104645, "bbox": [312.11, 90.4, 326.1, 385.08], "category_id": 1, "id": 117682}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 213, 2, 254, 224, 2, 285, 259, 2, 279, 270, 2, 328, 253, 2, 337, 239, 2, 272, 335, 2, 261, 337, 2, 270, 409, 2, 262, 418, 2, 265, 459, 2, 260, 477, 1, 243, 144, 1, 257, 199, 1], "image_id": 108490, "bbox": [222.2, 132.67, 149.93, 340.86], "category_id": 1, "id": 117683}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [418, 22, 2, 436, 22, 2, 427, 91, 2, 0, 0, 0, 368, 122, 2, 0, 0, 0, 435, 183, 2, 447, 184, 2, 406, 283, 2, 441, 269, 2, 406, 370, 2, 446, 347, 2, 0, 0, 0, 415, 12, 1], "image_id": 108594, "bbox": [333.8, 0, 142.1, 375], "category_id": 1, "id": 117693}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [316, 93, 2, 285, 90, 2, 0, 0, 0, 303, 135, 2, 0, 0, 0, 341, 150, 2, 313, 170, 2, 290, 171, 2, 0, 0, 0, 319, 225, 2, 0, 0, 0, 278, 300, 2, 301, 31, 1, 299, 77, 1], "image_id": 105362, "bbox": [268.58, 23.73, 116.5, 295.55], "category_id": 1, "id": 117702}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [467, 33, 2, 453, 77, 2, 0, 0, 0, 473, 153, 2, 0, 0, 0, 499, 204, 2, 384, 55, 2, 365, 92, 2, 365, 158, 2, 400, 179, 2, 358, 226, 1, 384, 249, 1, 511, 46, 1, 470, 63, 1], "image_id": 103320, "bbox": [345.44, 15.19, 183.27, 224.54], "category_id": 1, "id": 117710}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [262, 295, 2, 278, 292, 2, 0, 0, 0, 298, 300, 1, 0, 0, 0, 287, 287, 1, 257, 333, 2, 269, 334, 2, 0, 0, 0, 308, 333, 1, 0, 0, 0, 308, 367, 2, 280, 273, 1, 275, 288, 1], "image_id": 106212, "bbox": [251.33, 271.49, 64.71, 106.79], "category_id": 1, "id": 117744}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [472, 227, 2, 472, 220, 2, 449, 249, 2, 0, 0, 0, 437, 240, 2, 0, 0, 0, 432, 271, 2, 433, 260, 2, 378, 277, 2, 383, 259, 2, 378, 321, 1, 0, 0, 0, 466, 182, 1, 478, 209, 1], "image_id": 105215, "bbox": [372.07, 182.58, 117.68, 102], "category_id": 1, "id": 117745}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [288, 136, 2, 261, 136, 2, 301, 162, 2, 261, 167, 1, 0, 0, 0, 271, 178, 2, 283, 186, 1, 263, 186, 2, 0, 0, 0, 259, 221, 2, 0, 0, 0, 249, 261, 2, 281, 104, 1, 275, 131, 1], "image_id": 103021, "bbox": [246.2, 98.58, 60.59, 175.03], "category_id": 1, "id": 117748}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [136, 192, 2, 115, 189, 2, 144, 211, 2, 126, 213, 2, 152, 224, 1, 135, 233, 2, 97, 212, 2, 90, 212, 2, 0, 0, 0, 111, 226, 2, 0, 0, 0, 106, 259, 2, 136, 170, 1, 127, 187, 1], "image_id": 108372, "bbox": [84.17, 167.21, 65.58, 103.32], "category_id": 1, "id": 117753}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 182, 2, 315, 185, 2, 386, 219, 2, 322, 225, 2, 384, 256, 2, 307, 207, 2, 354, 264, 2, 326, 266, 2, 326, 335, 2, 353, 341, 2, 313, 411, 2, 375, 399, 2, 332, 132, 1, 336, 175, 1], "image_id": 108441, "bbox": [289.93, 124.63, 101.26, 317.39], "category_id": 1, "id": 117777}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 303, 1], "image_id": 104161, "bbox": [491.17, 302.63, 15.55, 41.25], "category_id": 1, "id": 117778}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [264, 20, 2, 241, 22, 2, 0, 0, 0, 219, 46, 2, 0, 0, 0, 242, 69, 2, 260, 102, 2, 250, 103, 2, 260, 143, 1, 251, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 11, 1], "image_id": 107213, "bbox": [213.22, 0.54, 64.33, 117.38], "category_id": 1, "id": 117791}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [343, 163, 2, 252, 137, 2, 298, 284, 2, 259, 200, 2, 168, 295, 2, 190, 203, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, 13, 1, 293, 130, 1], "image_id": 106711, "bbox": [103.15, 2.02, 271.01, 293.94], "category_id": 1, "id": 117813}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [97, 389, 2, 108, 389, 2, 95, 404, 1, 106, 404, 2, 0, 0, 0, 116, 412, 2, 99, 413, 2, 105, 412, 2, 100, 435, 2, 105, 436, 2, 100, 454, 2, 102, 457, 2, 111, 378, 1, 106, 386, 1], "image_id": 105342, "bbox": [90.22, 378.2, 28.4, 83.02], "category_id": 1, "id": 117818}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 342, 57, 2, 339, 159, 2, 306, 113, 2, 275, 131, 2, 261, 115, 2, 368, 196, 2, 331, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 0, 1, 377, 64, 1], "image_id": 106494, "bbox": [225.83, 0, 174.17, 210.13], "category_id": 1, "id": 117831}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [450, 269, 2, 411, 257, 2, 437, 310, 1, 0, 0, 0, 398, 297, 2, 0, 0, 0, 398, 310, 1, 379, 302, 1, 345, 262, 2, 300, 278, 2, 314, 323, 2, 300, 320, 2, 431, 218, 1, 433, 255, 1], "image_id": 105227, "bbox": [275.33, 213.65, 185.78, 134.03], "category_id": 1, "id": 117837}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [390, 214, 1, 309, 226, 2, 364, 236, 2, 273, 275, 2, 319, 246, 2, 328, 235, 2, 381, 311, 1, 338, 313, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 169, 1, 344, 215, 1], "image_id": 105928, "bbox": [259.66, 152.22, 110.03, 132.14], "category_id": 1, "id": 117844}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [440, 139, 2, 448, 139, 2, 430, 165, 2, 0, 0, 0, 418, 152, 1, 0, 0, 0, 433, 182, 2, 442, 182, 2, 396, 203, 2, 393, 205, 2, 403, 248, 2, 414, 243, 1, 436, 109, 1, 440, 131, 1], "image_id": 106988, "bbox": [388.01, 105.05, 71.17, 171.13], "category_id": 1, "id": 117848}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 275, 2, 473, 270, 2, 443, 292, 2, 443, 283, 2, 459, 267, 2, 456, 294, 2, 497, 328, 2, 485, 311, 2, 449, 301, 2, 439, 293, 2, 453, 348, 2, 439, 334, 2, 474, 244, 1, 475, 268, 1], "image_id": 103606, "bbox": [419.02, 242.73, 80.98, 114.28], "category_id": 1, "id": 117853}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 131, 2, 271, 132, 2, 306, 148, 2, 264, 153, 2, 313, 162, 2, 257, 169, 2, 296, 175, 2, 279, 176, 2, 299, 200, 2, 280, 199, 2, 301, 225, 2, 290, 224, 2, 274, 102, 1, 281, 124, 1], "image_id": 102549, "bbox": [250.04, 96.35, 70.74, 145.32], "category_id": 1, "id": 117860}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 22, 2, 3, 22, 2, 90, 116, 1, 51, 112, 1, 121, 182, 1, 79, 171, 1, 0, 0, 0, 0, 0, 0], "image_id": 103523, "bbox": [0, 0.05, 92.88, 132.89], "category_id": 1, "id": 117865}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 155, 1, 59, 164, 1], "image_id": 108372, "bbox": [45.9, 155.15, 35.53, 63.25], "category_id": 1, "id": 117875}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [211, 62, 2, 166, 48, 2, 217, 114, 2, 165, 89, 2, 177, 109, 1, 153, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 6, 1, 184, 46, 1], "image_id": 106494, "bbox": [134.55, 0.24, 97.37, 121.48], "category_id": 1, "id": 117912}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [289, 189, 2, 245, 189, 2, 316, 181, 2, 218, 197, 1, 333, 162, 2, 0, 0, 0, 265, 245, 2, 240, 243, 2, 248, 262, 1, 0, 0, 0, 234, 291, 2, 0, 0, 0, 265, 146, 1, 265, 185, 1], "image_id": 104233, "bbox": [218.5, 135.89, 126.88, 173.69], "category_id": 1, "id": 117913}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [336, 242, 2, 200, 239, 2, 0, 0, 0, 157, 335, 2, 0, 0, 0, 0, 0, 0, 317, 420, 2, 204, 418, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 109, 1, 273, 210, 1], "image_id": 105087, "bbox": [128.29, 93.83, 219.25, 332.02], "category_id": 1, "id": 117921}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [275, 222, 2, 224, 212, 2, 231, 326, 1, 165, 267, 1, 115, 293, 2, 180, 237, 2, 222, 374, 1, 179, 357, 1, 31, 348, 1, 42, 332, 1, 0, 0, 0, 0, 0, 0, 234, 102, 1, 249, 193, 1], "image_id": 107388, "bbox": [38.01, 93.75, 269.42, 251.69], "category_id": 1, "id": 117932}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [253, 121, 2, 236, 123, 2, 262, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 153, 2, 244, 153, 2, 252, 171, 1, 243, 172, 2, 250, 189, 2, 242, 190, 2, 241, 105, 1, 244, 122, 1], "image_id": 102549, "bbox": [233.42, 102.4, 29.83, 93.87], "category_id": 1, "id": 117942}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [111, 109, 2, 98, 114, 2, 121, 106, 2, 85, 127, 2, 126, 111, 2, 97, 139, 2, 112, 147, 2, 101, 149, 2, 131, 158, 2, 103, 175, 2, 128, 191, 2, 103, 203, 2, 105, 87, 1, 105, 107, 1], "image_id": 103816, "bbox": [82.62, 84.17, 67.29, 128.27], "category_id": 1, "id": 117955}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [110, 152, 2, 168, 162, 2, 0, 0, 0, 164, 275, 2, 0, 0, 0, 249, 246, 2, 94, 334, 2, 146, 347, 2, 80, 470, 2, 193, 474, 1, 0, 0, 0, 0, 0, 0, 156, 37, 1, 144, 130, 1], "image_id": 104644, "bbox": [55.01, 28.04, 242.7, 446.57], "category_id": 1, "id": 117956}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [313, 242, 2, 402, 238, 2, 0, 0, 0, 424, 312, 2, 0, 0, 0, 418, 374, 2, 327, 377, 2, 399, 377, 2, 323, 464, 2, 371, 468, 2, 0, 0, 0, 0, 0, 0, 342, 167, 1, 352, 213, 1], "image_id": 104693, "bbox": [304.76, 173.42, 136.06, 300.41], "category_id": 1, "id": 117971}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [369, 178, 2, 308, 154, 2, 370, 228, 2, 259, 173, 2, 333, 241, 2, 279, 175, 2, 348, 269, 2, 306, 256, 2, 343, 323, 2, 313, 325, 2, 343, 389, 2, 317, 370, 2, 336, 112, 1, 336, 158, 1], "image_id": 103628, "bbox": [245.27, 108, 140.7, 310.87], "category_id": 1, "id": 117973}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [572, 163, 2, 0, 0, 0, 566, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 238, 1, 521, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, 107, 1, 547, 152, 1], "image_id": 105254, "bbox": [537.87, 99.87, 50.99, 99.43], "category_id": 1, "id": 117977}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107631, "bbox": [401.36, 263.53, 16.48, 40.28], "category_id": 1, "id": 117980}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [241, 81, 2, 189, 85, 2, 253, 120, 2, 179, 135, 2, 260, 160, 2, 206, 132, 2, 241, 169, 2, 205, 170, 2, 246, 229, 2, 214, 232, 2, 255, 285, 2, 218, 285, 2, 209, 22, 1, 209, 68, 1], "image_id": 108066, "bbox": [172.75, 15.17, 97.76, 289.04], "category_id": 1, "id": 117981}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 146, 2, 306, 141, 2, 322, 160, 2, 303, 163, 1, 320, 177, 1, 300, 185, 1, 308, 157, 2, 296, 156, 2, 308, 188, 1, 291, 190, 1, 306, 213, 2, 287, 219, 1, 329, 132, 1, 319, 141, 1], "image_id": 108562, "bbox": [286.24, 128.7, 50.69, 96.04], "category_id": 1, "id": 117992}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [147, 110, 1, 221, 89, 2, 0, 0, 0, 287, 94, 2, 0, 0, 0, 341, 23, 2, 156, 252, 1, 211, 255, 1, 157, 390, 1, 234, 395, 2, 0, 0, 0, 0, 0, 0, 191, 31, 1, 191, 85, 1], "image_id": 104644, "bbox": [107.62, 1.72, 266.91, 473.54], "category_id": 1, "id": 117998}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [212, 4, 2, 189, 3, 2, 184, 116, 2, 0, 0, 0, 137, 154, 1, 0, 0, 0, 249, 199, 2, 227, 185, 2, 89, 202, 1, 0, 0, 0, 162, 307, 2, 134, 335, 2, 0, 0, 0, 0, 0, 0], "image_id": 108243, "bbox": [72.27, 1.08, 238.38, 400.18], "category_id": 1, "id": 118002}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [359, 412, 2, 171, 392, 2, 280, 609, 2, 124, 544, 2, 222, 457, 2, 75, 441, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 258, 1, 282, 355, 1], "image_id": 108328, "bbox": [28.64, 202.02, 451.36, 429.53], "category_id": 1, "id": 118030}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [273, 132, 2, 204, 130, 2, 278, 185, 2, 153, 167, 2, 291, 164, 2, 167, 127, 2, 269, 231, 2, 229, 233, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 47, 1, 237, 115, 1], "image_id": 105633, "bbox": [145.81, 40.74, 154.78, 229.55], "category_id": 1, "id": 118034}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [476, 495, 2, 424, 416, 2, 354, 631, 2, 362, 473, 2, 277, 492, 2, 311, 436, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 254, 1, 454, 425, 1], "image_id": 104794, "bbox": [235.22, 226.16, 241.87, 406.61], "category_id": 1, "id": 118036}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [218, 126, 2, 171, 133, 2, 238, 166, 2, 177, 154, 2, 231, 171, 2, 188, 165, 2, 223, 198, 1, 190, 198, 1, 249, 230, 1, 138, 229, 2, 279, 294, 1, 113, 294, 2, 189, 72, 1, 191, 119, 1], "image_id": 107700, "bbox": [89.24, 64.53, 170.8, 259.08], "category_id": 1, "id": 118045}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [174, 105, 2, 219, 100, 2, 174, 154, 2, 274, 84, 2, 214, 173, 2, 310, 50, 2, 161, 196, 2, 196, 208, 2, 128, 271, 2, 189, 287, 2, 86, 332, 2, 183, 354, 2, 206, 44, 1, 197, 90, 1], "image_id": 108214, "bbox": [71.23, 40.96, 259.01, 320.04], "category_id": 1, "id": 118046}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [548, 178, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 221, 1, 0, 0, 0, 545, 261, 2, 0, 0, 0, 548, 293, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106666, "bbox": [538.92, 153.91, 20.81, 152.62], "category_id": 1, "id": 118055}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [33, 198, 2, 12, 195, 2, 48, 227, 2, 18, 229, 2, 56, 203, 2, 50, 242, 2, 16, 237, 2, 0, 0, 0, 61, 240, 2, 37, 249, 2, 58, 286, 2, 46, 291, 1, 49, 167, 1, 28, 187, 1], "image_id": 108214, "bbox": [1.01, 157.27, 76.05, 150.71], "category_id": 1, "id": 118059}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [109, 297, 2, 207, 282, 2, 0, 0, 0, 277, 245, 2, 0, 0, 0, 255, 220, 2, 0, 0, 0, 0, 0, 0, 251, 327, 2, 0, 0, 0, 316, 368, 2, 0, 0, 0, 182, 151, 1, 170, 255, 1], "image_id": 108212, "bbox": [85.26, 139.28, 337.08, 235.11], "category_id": 1, "id": 118062}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [144, 118, 2, 110, 118, 2, 151, 148, 2, 124, 147, 2, 147, 170, 2, 152, 154, 2, 135, 182, 2, 105, 181, 2, 0, 0, 0, 142, 215, 2, 0, 0, 0, 140, 268, 1, 137, 84, 1, 129, 113, 1], "image_id": 107413, "bbox": [95.62, 76.13, 69.49, 169.58], "category_id": 1, "id": 118079}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [424, 173, 2, 341, 184, 2, 469, 235, 2, 321, 222, 2, 430, 299, 1, 338, 271, 1, 422, 300, 1, 368, 297, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 96, 1, 375, 162, 1], "image_id": 106962, "bbox": [310.68, 89.51, 170.14, 207.26], "category_id": 1, "id": 118090}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [90, 334, 2, 142, 342, 2, 126, 305, 2, 170, 350, 2, 162, 337, 2, 0, 0, 0, 84, 336, 2, 126, 343, 2, 81, 277, 2, 140, 305, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104608, "bbox": [64.54, 272.56, 121.11, 85.85], "category_id": 1, "id": 118091}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [156, 131, 1, 108, 127, 2, 118, 143, 1, 60, 141, 2, 74, 108, 2, 43, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 68, 1, 132, 115, 1], "image_id": 105254, "bbox": [30.1, 63.75, 128.41, 95.14], "category_id": 1, "id": 118100}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [196, 173, 2, 190, 175, 2, 0, 0, 0, 182, 209, 1, 0, 0, 0, 191, 248, 1, 205, 241, 2, 199, 243, 2, 200, 293, 2, 198, 298, 2, 188, 337, 2, 190, 342, 2, 207, 137, 1, 195, 164, 1], "image_id": 107565, "bbox": [174.35, 134.1, 47.35, 220.63], "category_id": 1, "id": 118107}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [157, 246, 2, 179, 246, 2, 0, 0, 0, 201, 242, 2, 0, 0, 0, 218, 232, 2, 153, 289, 2, 170, 290, 2, 156, 322, 1, 172, 323, 2, 156, 353, 1, 179, 354, 2, 175, 221, 1, 169, 237, 1], "image_id": 104067, "bbox": [145.56, 220.58, 81.82, 143.83], "category_id": 1, "id": 118113}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [506, 170, 2, 487, 171, 2, 518, 216, 2, 477, 222, 2, 478, 199, 2, 423, 237, 1, 499, 252, 2, 486, 248, 2, 468, 334, 2, 513, 333, 2, 442, 414, 2, 549, 414, 2, 485, 113, 1, 495, 154, 1], "image_id": 108441, "bbox": [410.65, 100.5, 151.7, 327.22], "category_id": 1, "id": 118129}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [273, 115, 2, 181, 154, 2, 316, 191, 2, 245, 232, 2, 314, 183, 2, 259, 187, 2, 349, 205, 2, 305, 237, 2, 399, 189, 2, 396, 253, 1, 487, 316, 2, 481, 318, 2, 202, 57, 1, 220, 121, 1], "image_id": 103142, "bbox": [174.74, 48.54, 378.61, 333.3], "category_id": 1, "id": 118138}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [355, 216, 2, 339, 198, 2, 401, 234, 2, 402, 191, 2, 395, 186, 2, 427, 156, 2, 0, 0, 0, 324, 314, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 157, 1, 339, 196, 1], "image_id": 107510, "bbox": [282.89, 125.85, 159.03, 209.49], "category_id": 1, "id": 118145}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 154, 1, 27, 162, 1], "image_id": 108372, "bbox": [15.13, 152.22, 26.78, 56.79], "category_id": 1, "id": 118150}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [56, 201, 2, 14, 190, 2, 59, 235, 2, 0, 0, 0, 53, 266, 1, 0, 0, 0, 36, 255, 2, 13, 250, 2, 31, 292, 2, 7, 258, 2, 20, 354, 2, 0, 0, 0, 46, 164, 1, 37, 189, 1], "image_id": 105335, "bbox": [0, 155.83, 66.89, 216.8], "category_id": 1, "id": 118173}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [541, 152, 2, 471, 154, 2, 568, 194, 1, 446, 204, 2, 573, 228, 1, 460, 228, 1, 537, 252, 1, 489, 253, 1, 565, 286, 1, 463, 308, 1, 0, 0, 0, 0, 0, 0, 498, 97, 1, 502, 142, 1], "image_id": 103807, "bbox": [431, 70, 160, 164], "category_id": 1, "id": 118180}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [373, 205, 2, 416, 209, 2, 358, 230, 2, 417, 236, 2, 375, 216, 2, 429, 267, 2, 385, 260, 2, 407, 260, 2, 380, 311, 2, 408, 308, 2, 382, 357, 2, 407, 354, 2, 391, 171, 1, 394, 195, 1], "image_id": 107565, "bbox": [353.91, 168.31, 89.33, 194.97], "category_id": 1, "id": 118190}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [228, 132, 2, 186, 168, 2, 234, 103, 2, 160, 181, 2, 206, 76, 2, 128, 195, 2, 268, 214, 2, 234, 226, 2, 217, 197, 2, 185, 189, 2, 279, 279, 2, 185, 264, 2, 169, 126, 1, 203, 148, 1], "image_id": 105691, "bbox": [105.61, 42.16, 192.96, 261.72], "category_id": 1, "id": 118199}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [217, 251, 2, 132, 262, 2, 226, 333, 2, 113, 377, 1, 74, 250, 2, 0, 0, 0, 202, 527, 1, 145, 513, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 84, 1, 179, 223, 1], "image_id": 103072, "bbox": [27.28, 71.53, 241.36, 335.75], "category_id": 1, "id": 118211}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [489, 233, 2, 542, 198, 2, 493, 385, 2, 520, 329, 2, 385, 326, 2, 435, 337, 2, 504, 437, 2, 538, 414, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, 61, 1, 504, 184, 1], "image_id": 108262, "bbox": [302.88, 43.58, 280.31, 436.42], "category_id": 1, "id": 118221}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [59, 192, 2, 138, 193, 2, 15, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 319, 2, 150, 318, 2, 91, 460, 2, 137, 460, 2, 0, 0, 0, 0, 0, 0, 104, 116, 1, 98, 175, 1], "image_id": 102604, "bbox": [6.46, 108.83, 162.51, 364.84], "category_id": 1, "id": 118226}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 101, 2, 350, 100, 2, 374, 128, 1, 326, 108, 2, 361, 145, 1, 318, 84, 2, 363, 162, 1, 351, 161, 2, 361, 199, 2, 347, 197, 2, 368, 246, 1, 356, 239, 2, 339, 62, 1, 355, 93, 1], "image_id": 108594, "bbox": [315.27, 59.44, 63.15, 197.86], "category_id": 1, "id": 118230}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [284, 163, 2, 305, 163, 2, 271, 182, 1, 315, 185, 1, 274, 195, 1, 0, 0, 0, 285, 208, 2, 299, 208, 2, 295, 260, 1, 302, 256, 1, 292, 302, 2, 283, 288, 2, 299, 135, 1, 296, 156, 1], "image_id": 108441, "bbox": [262.09, 131.08, 55.67, 180.74], "category_id": 1, "id": 118245}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [79, 334, 2, 67, 333, 2, 83, 347, 1, 66, 345, 2, 81, 335, 2, 73, 335, 2, 73, 356, 2, 63, 356, 2, 78, 377, 2, 63, 375, 2, 84, 397, 2, 61, 394, 2, 78, 322, 1, 74, 331, 1], "image_id": 106372, "bbox": [55.46, 317.33, 33.96, 88.08], "category_id": 1, "id": 118269}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [378, 126, 2, 0, 0, 0, 399, 161, 2, 0, 0, 0, 362, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 276, 1, 0, 0, 0, 345, 85, 1, 350, 117, 1], "image_id": 103504, "bbox": [341.31, 81.53, 63.24, 235.62], "category_id": 1, "id": 118274}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [222, 279, 2, 183, 319, 2, 0, 0, 0, 208, 380, 1, 0, 0, 0, 250, 417, 2, 287, 356, 2, 275, 399, 2, 357, 377, 2, 396, 403, 2, 0, 0, 0, 389, 472, 1, 187, 230, 1, 199, 290, 1], "image_id": 105562, "bbox": [154.25, 216.81, 257.79, 231.91], "category_id": 1, "id": 118305}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [319, 191, 2, 314, 194, 2, 0, 0, 0, 318, 211, 2, 0, 0, 0, 332, 214, 2, 319, 228, 2, 313, 230, 2, 319, 253, 2, 312, 254, 2, 318, 274, 2, 304, 277, 2, 317, 173, 1, 315, 188, 1], "image_id": 107350, "bbox": [297.48, 171.5, 41.77, 115], "category_id": 1, "id": 118308}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [245, 121, 2, 198, 120, 1, 257, 166, 2, 0, 0, 0, 233, 192, 1, 0, 0, 0, 240, 199, 1, 0, 0, 0, 279, 223, 2, 0, 0, 0, 296, 294, 2, 0, 0, 0, 227, 66, 1, 221, 110, 1], "image_id": 107700, "bbox": [206.02, 60.15, 105.42, 265.42], "category_id": 1, "id": 118320}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [456, 382, 2, 395, 357, 2, 406, 474, 2, 371, 415, 2, 317, 461, 2, 354, 481, 2, 451, 513, 2, 401, 490, 2, 374, 571, 1, 331, 529, 1, 0, 0, 0, 0, 0, 0, 382, 294, 1, 418, 357, 1], "image_id": 106854, "bbox": [314.26, 278.31, 165.74, 301.35], "category_id": 1, "id": 118323}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [455, 84, 2, 397, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 222, 1, 398, 223, 1, 454, 290, 2, 367, 294, 1, 475, 389, 2, 317, 393, 1, 455, 14, 1, 428, 70, 1], "image_id": 103176, "bbox": [403.41, 0, 122.06, 414.09], "category_id": 1, "id": 118324}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 100, 2, 295, 100, 2, 325, 119, 2, 292, 117, 2, 311, 131, 2, 291, 131, 2, 312, 135, 2, 299, 136, 2, 314, 166, 1, 300, 166, 1, 314, 191, 1, 301, 190, 1, 306, 79, 1, 307, 96, 1], "image_id": 103816, "bbox": [287.81, 76.49, 40.59, 90.75], "category_id": 1, "id": 118328}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [385, 115, 2, 356, 115, 2, 388, 134, 2, 0, 0, 0, 378, 152, 2, 0, 0, 0, 378, 160, 2, 358, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 82, 1, 370, 104, 1], "image_id": 103628, "bbox": [350.11, 80.35, 42.28, 90.04], "category_id": 1, "id": 118336}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [565, 123, 2, 513, 135, 2, 575, 154, 2, 524, 167, 2, 574, 161, 2, 544, 163, 2, 0, 0, 0, 528, 184, 2, 0, 0, 0, 495, 213, 2, 0, 0, 0, 472, 260, 2, 529, 71, 1, 536, 121, 1], "image_id": 107700, "bbox": [448.02, 63.14, 138.51, 219.71], "category_id": 1, "id": 118337}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [476, 222, 1, 432, 215, 1, 446, 282, 1, 400, 217, 1, 376, 293, 1, 367, 225, 1, 394, 293, 1, 372, 274, 2, 277, 317, 2, 288, 239, 2, 267, 391, 1, 247, 311, 1, 451, 148, 1, 451, 206, 1], "image_id": 107065, "bbox": [249.16, 147.61, 240.52, 206.49], "category_id": 1, "id": 118359}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [307, 150, 2, 292, 157, 1, 329, 181, 2, 291, 208, 2, 354, 180, 2, 328, 207, 2, 312, 229, 2, 299, 234, 2, 302, 291, 1, 293, 301, 1, 0, 0, 0, 0, 0, 0, 306, 102, 1, 300, 144, 1], "image_id": 108490, "bbox": [281.53, 96, 93.84, 147.78], "category_id": 1, "id": 118363}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [32, 129, 2, 0, 0, 0, 58, 234, 2, 0, 0, 0, 9, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107872, "bbox": [0, 92.04, 73.35, 291.96], "category_id": 1, "id": 118366}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 579, 344, 2, 0, 0, 0, 553, 344, 1, 0, 0, 0, 580, 335, 2, 620, 436, 2, 584, 433, 2, 0, 0, 0, 607, 385, 2, 627, 470, 2, 0, 0, 0, 611, 294, 1, 614, 344, 1], "image_id": 102868, "bbox": [568.65, 285.95, 71.35, 189.19], "category_id": 1, "id": 118373}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [123, 232, 2, 70, 221, 1, 65, 374, 2, 23, 299, 2, 0, 0, 0, 0, 0, 0, 115, 466, 1, 84, 459, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 101, 1, 96, 200, 1], "image_id": 103072, "bbox": [0, 81.85, 142.79, 327.21], "category_id": 1, "id": 118396}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 197, 2, 387, 195, 1, 388, 212, 2, 380, 212, 2, 381, 205, 2, 374, 215, 2, 387, 220, 1, 384, 219, 2, 379, 230, 2, 373, 229, 2, 381, 247, 1, 375, 247, 1, 392, 180, 1, 393, 193, 1], "image_id": 106987, "bbox": [361.54, 176.58, 47.2, 77.74], "category_id": 1, "id": 118402}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [445, 186, 2, 418, 188, 2, 463, 196, 2, 416, 207, 2, 458, 196, 2, 437, 199, 2, 443, 232, 2, 426, 232, 2, 443, 267, 1, 427, 267, 1, 0, 0, 0, 0, 0, 0, 431, 161, 1, 431, 181, 1], "image_id": 108026, "bbox": [409.49, 155.41, 56.13, 96.46], "category_id": 1, "id": 118410}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [496, 122, 2, 449, 122, 2, 512, 158, 2, 439, 160, 2, 477, 161, 2, 0, 0, 0, 476, 198, 2, 444, 197, 2, 475, 271, 2, 433, 263, 2, 473, 335, 2, 448, 321, 2, 459, 68, 1, 470, 107, 1], "image_id": 103504, "bbox": [423.97, 66.24, 95.73, 284.77], "category_id": 1, "id": 118413}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [357, 149, 2, 286, 147, 2, 377, 177, 2, 272, 169, 2, 385, 193, 1, 263, 189, 2, 347, 232, 1, 299, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 89, 1, 319, 135, 1], "image_id": 103807, "bbox": [250, 76.25, 141, 138], "category_id": 1, "id": 118418}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 168, 1, 209, 186, 1], "image_id": 107358, "bbox": [192.38, 162.3, 35.3, 29.11], "category_id": 1, "id": 118433}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [277, 160, 2, 226, 157, 2, 303, 190, 2, 205, 193, 2, 322, 216, 2, 204, 227, 1, 270, 221, 2, 240, 225, 1, 295, 201, 2, 227, 238, 2, 308, 243, 2, 248, 265, 2, 253, 95, 1, 253, 149, 1], "image_id": 108242, "bbox": [193.22, 89.61, 157.87, 198.65], "category_id": 1, "id": 118435}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [192, 188, 1, 131, 171, 2, 0, 0, 0, 116, 219, 2, 0, 0, 0, 105, 251, 2, 164, 232, 1, 129, 226, 2, 169, 277, 1, 118, 286, 2, 0, 0, 0, 101, 354, 2, 177, 143, 1, 167, 166, 1], "image_id": 105335, "bbox": [87.99, 126.82, 120.2, 274.07], "category_id": 1, "id": 118438}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [223, 184, 1, 195, 186, 2, 0, 0, 0, 199, 261, 2, 0, 0, 0, 244, 258, 2, 237, 286, 2, 211, 291, 2, 247, 404, 2, 223, 393, 2, 0, 0, 0, 0, 0, 0, 217, 114, 1, 202, 171, 1], "image_id": 104233, "bbox": [167.3, 105.51, 102.66, 311.79], "category_id": 1, "id": 118447}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [292, 129, 2, 245, 150, 2, 283, 182, 2, 228, 209, 2, 288, 223, 2, 0, 0, 0, 0, 0, 0, 155, 129, 2, 0, 0, 0, 199, 223, 2, 0, 0, 0, 131, 308, 1, 506, 38, 1, 463, 56, 1], "image_id": 103320, "bbox": [133.19, 0.64, 499.19, 239.91], "category_id": 1, "id": 118450}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [516, 223, 2, 539, 220, 2, 486, 266, 2, 0, 0, 0, 450, 262, 1, 460, 256, 2, 515, 324, 2, 543, 327, 2, 481, 381, 2, 522, 388, 2, 475, 468, 1, 528, 466, 2, 499, 173, 1, 512, 212, 1], "image_id": 102604, "bbox": [452.63, 164.81, 105.24, 315.19], "category_id": 1, "id": 118461}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 254, 6, 2, 194, 9, 2, 229, 11, 2, 220, 19, 2, 242, 28, 1, 207, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106494, "bbox": [189.62, 0.51, 68.39, 31.83], "category_id": 1, "id": 118463}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [568, 259, 2, 536, 270, 2, 591, 309, 2, 554, 324, 2, 632, 304, 1, 594, 347, 1, 0, 0, 0, 551, 350, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 203, 1, 550, 259, 1], "image_id": 107290, "bbox": [484.82, 201.24, 138.48, 164.05], "category_id": 1, "id": 118475}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [370, 170, 2, 342, 180, 2, 364, 262, 2, 0, 0, 0, 291, 290, 2, 0, 0, 0, 395, 296, 2, 359, 296, 2, 416, 421, 2, 343, 419, 2, 0, 0, 0, 0, 0, 0, 306, 86, 1, 341, 146, 1], "image_id": 104645, "bbox": [265.64, 80.38, 203.96, 394.19], "category_id": 1, "id": 118492}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [37, 335, 2, 27, 336, 2, 50, 341, 2, 31, 346, 2, 50, 335, 2, 41, 337, 2, 36, 358, 2, 29, 359, 2, 35, 378, 2, 31, 379, 2, 34, 401, 2, 29, 402, 2, 36, 318, 1, 34, 331, 1], "image_id": 106372, "bbox": [23.98, 318, 33.57, 89.65], "category_id": 1, "id": 118493}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [627, 383, 2, 0, 0, 0, 570, 466, 2, 0, 0, 0, 509, 399, 2, 561, 354, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 234, 1, 625, 339, 1], "image_id": 104350, "bbox": [468.11, 220, 171.89, 255.14], "category_id": 1, "id": 118495}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [608, 162, 2, 541, 150, 2, 593, 215, 2, 525, 199, 2, 539, 226, 2, 510, 221, 2, 574, 261, 1, 534, 258, 1, 0, 0, 0, 530, 321, 1, 0, 0, 0, 523, 369, 2, 579, 97, 1, 576, 145, 1], "image_id": 103628, "bbox": [492.6, 88.61, 124.82, 312.52], "category_id": 1, "id": 118513}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 379, 61, 2, 0, 0, 0, 311, 5, 2, 0, 0, 0, 320, 170, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108243, "bbox": [288, 0, 134.83, 220.04], "category_id": 1, "id": 118522}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 634, 442, 2, 0, 0, 0, 564, 296, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106987, "bbox": [491.87, 232.99, 145.61, 230.83], "category_id": 1, "id": 118526}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [594, 173, 2, 634, 175, 2, 498, 177, 1, 586, 273, 2, 443, 156, 1, 553, 221, 1, 576, 323, 2, 554, 297, 2, 475, 387, 2, 487, 338, 2, 599, 372, 2, 592, 349, 2, 624, 110, 1, 610, 168, 1], "image_id": 103000, "bbox": [461.86, 98.34, 176.53, 311.94], "category_id": 1, "id": 118543}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [570, 55, 2, 494, 44, 2, 590, 124, 2, 465, 100, 2, 564, 163, 2, 460, 148, 2, 536, 147, 2, 492, 143, 2, 547, 170, 2, 421, 189, 2, 532, 284, 2, 429, 293, 1, 0, 0, 0, 533, 32, 1], "image_id": 108243, "bbox": [411.75, 0.56, 191.22, 328.49], "category_id": 1, "id": 118553}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [359, 129, 1, 0, 0, 0, 391, 182, 2, 0, 0, 0, 366, 217, 1, 0, 0, 0, 355, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 69, 1, 331, 117, 1], "image_id": 106502, "bbox": [318.35, 65.72, 87.41, 154.17], "category_id": 1, "id": 118560}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [340, 170, 2, 302, 165, 2, 345, 215, 2, 257, 187, 2, 351, 235, 2, 272, 221, 2, 318, 247, 1, 284, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 121, 1, 324, 160, 1], "image_id": 104350, "bbox": [249.72, 105.94, 117.87, 143.41], "category_id": 1, "id": 118568}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [335, 295, 2, 232, 281, 2, 358, 375, 1, 168, 294, 2, 330, 352, 2, 124, 231, 2, 298, 422, 1, 229, 411, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 185, 1, 280, 271, 1], "image_id": 104794, "bbox": [60.28, 182.48, 294.36, 246.55], "category_id": 1, "id": 118588}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 200, 2, 331, 241, 2, 409, 159, 2, 375, 247, 2, 406, 107, 1, 413, 186, 2, 456, 228, 2, 441, 269, 2, 427, 160, 2, 515, 188, 2, 489, 181, 2, 547, 305, 2, 267, 197, 1, 329, 226, 1], "image_id": 107656, "bbox": [257.65, 76.96, 372.41, 270.46], "category_id": 1, "id": 118603}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [608, 174, 2, 0, 0, 0, 590, 202, 2, 0, 0, 0, 574, 187, 1, 0, 0, 0, 597, 237, 2, 0, 0, 0, 603, 271, 2, 0, 0, 0, 607, 323, 1, 0, 0, 0, 601, 136, 1, 602, 161, 1], "image_id": 106666, "bbox": [568.05, 133.62, 58.54, 189.03], "category_id": 1, "id": 118608}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [247, 191, 2, 194, 176, 2, 246, 245, 2, 163, 218, 2, 239, 285, 2, 147, 263, 2, 222, 240, 2, 189, 231, 2, 206, 306, 2, 177, 263, 2, 189, 371, 2, 151, 334, 2, 234, 137, 1, 223, 178, 1], "image_id": 105335, "bbox": [127.87, 124.12, 127.99, 290.19], "category_id": 1, "id": 118618}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [222, 260, 2, 178, 271, 2, 210, 306, 2, 169, 302, 2, 203, 355, 2, 175, 309, 2, 210, 337, 2, 200, 322, 2, 150, 338, 1, 152, 332, 1, 0, 0, 0, 0, 0, 0, 200, 222, 1, 197, 260, 1], "image_id": 104608, "bbox": [160.1, 215.14, 80.35, 142.75], "category_id": 1, "id": 118643}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [508, 287, 2, 480, 274, 2, 534, 327, 1, 0, 0, 0, 493, 320, 2, 447, 290, 1, 454, 332, 2, 430, 325, 2, 372, 325, 2, 367, 353, 2, 331, 405, 1, 360, 427, 1, 491, 236, 1, 499, 272, 1], "image_id": 105227, "bbox": [336.49, 229.02, 195.53, 173.57], "category_id": 1, "id": 118644}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [176, 241, 2, 171, 242, 2, 189, 246, 2, 183, 252, 2, 182, 247, 2, 193, 247, 2, 171, 262, 2, 167, 264, 2, 190, 254, 2, 188, 256, 2, 187, 272, 1, 184, 273, 1, 176, 229, 1, 173, 239, 1], "image_id": 108026, "bbox": [156.4, 225.89, 40.32, 46.91], "category_id": 1, "id": 118649}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [576, 315, 2, 557, 257, 2, 0, 0, 0, 0, 0, 0, 438, 423, 2, 490, 343, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 102, 1, 568, 235, 1], "image_id": 106962, "bbox": [401.99, 91.83, 237.29, 381.4], "category_id": 1, "id": 118658}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [72, 182, 1, 45, 180, 2, 68, 199, 1, 41, 201, 2, 57, 188, 2, 40, 194, 2, 61, 217, 1, 50, 217, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 156, 1, 57, 175, 1], "image_id": 106666, "bbox": [33.58, 153.37, 37.43, 71.96], "category_id": 1, "id": 118661}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 52, 23, 2, 32, 20, 2, 52, 100, 2, 0, 0, 0, 61, 88, 2, 13, 85, 2, 43, 246, 2, 6, 253, 2, 36, 378, 2, 2, 383, 2, 0, 0, 0, 0, 0, 0], "image_id": 106527, "bbox": [0, 0.48, 90.4, 411.61], "category_id": 1, "id": 118664}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 433, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 312, 2, 467, 308, 2, 441, 431, 2, 451, 427, 2, 0, 0, 0, 0, 0, 0, 414, 148, 1, 412, 192, 1], "image_id": 102604, "bbox": [417.44, 140.22, 60.4, 339.78], "category_id": 1, "id": 118666}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [80, 362, 2, 62, 361, 2, 87, 375, 2, 57, 376, 2, 94, 389, 1, 61, 386, 2, 78, 388, 2, 64, 388, 2, 77, 410, 2, 67, 412, 2, 78, 432, 2, 67, 430, 2, 72, 341, 1, 72, 356, 1], "image_id": 107638, "bbox": [55.45, 339.39, 33.76, 102.7], "category_id": 1, "id": 118708}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 263, 142, 2, 0, 0, 0, 267, 196, 2, 0, 0, 0, 288, 221, 1, 248, 228, 1, 264, 229, 1, 266, 308, 2, 259, 309, 2, 273, 357, 2, 260, 374, 1, 248, 75, 1, 248, 116, 1], "image_id": 104644, "bbox": [232.55, 70.43, 83.96, 333.93], "category_id": 1, "id": 118720}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [260, 191, 2, 220, 201, 2, 279, 259, 2, 221, 290, 1, 311, 310, 2, 266, 318, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 79, 1, 226, 188, 1], "image_id": 105475, "bbox": [180.2, 65.65, 162.62, 347.09], "category_id": 1, "id": 118730}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [352, 246, 2, 372, 246, 2, 346, 263, 2, 374, 263, 2, 0, 0, 0, 0, 0, 0, 354, 277, 2, 369, 276, 2, 357, 305, 2, 370, 304, 2, 358, 332, 2, 371, 329, 2, 364, 226, 1, 363, 239, 1], "image_id": 106888, "bbox": [341.55, 222.72, 37.22, 113.47], "category_id": 1, "id": 118734}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [205, 143, 2, 163, 139, 2, 209, 171, 2, 149, 163, 2, 208, 189, 2, 156, 179, 2, 185, 198, 2, 160, 194, 2, 203, 236, 2, 156, 228, 2, 197, 280, 1, 139, 280, 2, 194, 104, 1, 187, 132, 1], "image_id": 103443, "bbox": [124.73, 86.66, 91.62, 201.92], "category_id": 1, "id": 118747}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 138, 1, 214, 158, 1], "image_id": 104533, "bbox": [199.98, 136.45, 34.01, 45.87], "category_id": 1, "id": 118765}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [592, 137, 2, 560, 137, 2, 600, 162, 2, 551, 161, 2, 597, 161, 2, 541, 174, 2, 582, 183, 2, 564, 182, 2, 577, 224, 2, 562, 222, 2, 572, 260, 2, 560, 260, 2, 575, 105, 1, 575, 130, 1], "image_id": 103504, "bbox": [534.55, 103, 71.71, 176.55], "category_id": 1, "id": 118778}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [265, 331, 2, 287, 338, 2, 0, 0, 0, 293, 367, 2, 0, 0, 0, 294, 380, 2, 247, 355, 2, 262, 356, 2, 254, 386, 2, 271, 384, 1, 0, 0, 0, 0, 0, 0, 282, 313, 1, 277, 328, 1], "image_id": 107565, "bbox": [243.6, 307.02, 54.83, 83.76], "category_id": 1, "id": 118785}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [520, 325, 2, 526, 297, 2, 520, 357, 2, 521, 328, 2, 500, 369, 2, 504, 343, 2, 556, 358, 2, 559, 349, 2, 527, 392, 2, 527, 381, 2, 0, 0, 0, 520, 418, 2, 494, 284, 1, 514, 305, 1], "image_id": 102761, "bbox": [470.31, 275.55, 111.64, 157.45], "category_id": 1, "id": 118786}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [616, 188, 2, 598, 171, 2, 621, 224, 2, 0, 0, 0, 601, 255, 2, 578, 214, 2, 606, 255, 2, 586, 244, 2, 594, 293, 2, 571, 279, 2, 609, 338, 2, 598, 311, 2, 575, 145, 1, 599, 171, 1], "image_id": 102761, "bbox": [558.52, 133.99, 73.95, 227.69], "category_id": 1, "id": 118803}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 12, 2, 37, 21, 2, 108, 15, 2, 69, 18, 2, 99, 97, 2, 64, 94, 2, 85, 157, 2, 30, 152, 2, 0, 0, 0, 0, 0, 0], "image_id": 103320, "bbox": [19.19, 0.96, 115.15, 186.15], "category_id": 1, "id": 118813}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [423, 108, 2, 407, 111, 2, 386, 172, 2, 371, 165, 2, 361, 125, 2, 354, 129, 2, 426, 212, 1, 401, 210, 2, 365, 262, 2, 331, 225, 2, 433, 278, 1, 371, 275, 2, 392, 60, 1, 404, 100, 1], "image_id": 104716, "bbox": [326.03, 54.94, 144.39, 225.78], "category_id": 1, "id": 118816}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [434, 131, 2, 378, 137, 2, 434, 194, 2, 378, 216, 2, 450, 243, 2, 395, 271, 1, 421, 214, 2, 382, 219, 2, 475, 261, 2, 450, 264, 2, 469, 358, 2, 433, 369, 1, 398, 50, 1, 403, 110, 1], "image_id": 104925, "bbox": [361.82, 41.64, 144.54, 373.31], "category_id": 1, "id": 118818}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 33, 1, 407, 36, 2, 0, 0, 0, 409, 115, 1, 0, 0, 0, 418, 170, 2, 0, 0, 0, 0, 0, 0], "image_id": 103320, "bbox": [382.86, 0, 87.32, 196.71], "category_id": 1, "id": 118823}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 57, 1, 0, 0, 0, 106, 92, 2, 0, 0, 0, 113, 213, 1, 0, 0, 0, 117, 309, 2, 56, 291, 1, 0, 0, 0, 0, 0, 0], "image_id": 106527, "bbox": [69.5, 0.96, 68.87, 334.88], "category_id": 1, "id": 118830}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [443, 249, 2, 269, 284, 2, 499, 447, 2, 240, 429, 2, 426, 338, 2, 289, 337, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 55, 1, 353, 231, 1], "image_id": 104189, "bbox": [204.94, 35.6, 324.68, 439.01], "category_id": 1, "id": 118832}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [77, 48, 2, 131, 49, 2, 62, 86, 2, 137, 88, 2, 55, 128, 2, 0, 0, 0, 81, 131, 2, 120, 129, 2, 83, 193, 2, 113, 192, 1, 92, 260, 2, 108, 255, 2, 101, 4, 1, 101, 32, 1], "image_id": 103176, "bbox": [45.53, 0, 101.91, 272.09], "category_id": 1, "id": 118850}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [96, 99, 2, 66, 102, 1, 112, 146, 2, 83, 142, 2, 151, 116, 1, 115, 110, 1, 81, 193, 2, 67, 189, 2, 79, 258, 2, 68, 251, 2, 72, 320, 2, 60, 326, 2, 116, 60, 1, 91, 89, 1], "image_id": 106758, "bbox": [35.4, 50.68, 122.28, 293.64], "category_id": 1, "id": 118881}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [234, 321, 2, 169, 328, 2, 256, 383, 2, 217, 423, 2, 306, 362, 2, 287, 401, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 220, 1, 203, 296, 1], "image_id": 106831, "bbox": [145.85, 212.06, 192.87, 214.94], "category_id": 1, "id": 118889}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [241, 162, 2, 238, 163, 2, 0, 0, 0, 233, 188, 2, 0, 0, 0, 254, 184, 2, 240, 202, 2, 235, 199, 2, 252, 245, 2, 247, 243, 1, 253, 276, 1, 217, 261, 1, 244, 133, 1, 240, 154, 1], "image_id": 108441, "bbox": [210.81, 130.81, 49.73, 118.92], "category_id": 1, "id": 118898}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [628, 123, 2, 600, 122, 2, 635, 142, 2, 591, 142, 1, 639, 165, 2, 0, 0, 0, 623, 164, 2, 606, 165, 2, 618, 189, 2, 605, 195, 2, 617, 227, 2, 609, 227, 2, 610, 94, 1, 612, 114, 1], "image_id": 103504, "bbox": [593.94, 92.26, 45.78, 145.99], "category_id": 1, "id": 118907}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 358, 2, 0, 0, 0, 69, 346, 2, 255, 340, 1, 88, 40, 2, 201, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105332, "bbox": [0, 14.38, 300.22, 381.13], "category_id": 1, "id": 118911}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [278, 231, 2, 314, 231, 2, 264, 257, 2, 325, 264, 2, 0, 0, 0, 0, 0, 0, 282, 282, 2, 310, 282, 2, 252, 315, 2, 0, 0, 0, 250, 363, 2, 0, 0, 0, 295, 196, 1, 295, 219, 1], "image_id": 105802, "bbox": [236.11, 195.31, 116.95, 177.54], "category_id": 1, "id": 118922}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [401, 183, 2, 405, 187, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 226, 2, 384, 230, 2, 0, 0, 0, 403, 249, 2, 0, 0, 0, 377, 285, 2, 0, 0, 0, 405, 178, 1], "image_id": 108372, "bbox": [362.74, 158.66, 46.26, 150.36], "category_id": 1, "id": 118925}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [46, 245, 2, 138, 243, 2, 0, 0, 0, 154, 307, 2, 0, 0, 0, 146, 332, 2, 57, 385, 2, 137, 383, 2, 30, 400, 2, 188, 398, 2, 0, 0, 0, 0, 0, 0, 93, 144, 1, 95, 218, 1], "image_id": 106287, "bbox": [24.28, 142.7, 171.44, 278.48], "category_id": 1, "id": 118928}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [268, 103, 2, 197, 73, 2, 257, 173, 2, 151, 134, 2, 0, 0, 0, 161, 205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 26, 1, 239, 74, 1], "image_id": 104350, "bbox": [136.31, 7.11, 165.3, 212.8], "category_id": 1, "id": 118943}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [184, 47, 2, 168, 34, 2, 194, 93, 2, 0, 0, 0, 190, 121, 2, 0, 0, 0, 183, 119, 2, 173, 117, 2, 195, 160, 2, 169, 157, 2, 220, 202, 2, 176, 198, 2, 155, 8, 1, 171, 34, 1], "image_id": 102761, "bbox": [145.96, 4.57, 88.54, 217.96], "category_id": 1, "id": 118952}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [25, 192, 2, 58, 191, 2, 14, 215, 2, 65, 208, 2, 16, 240, 2, 70, 235, 2, 34, 243, 2, 53, 243, 2, 39, 271, 2, 51, 272, 1, 47, 304, 2, 52, 298, 2, 37, 162, 1, 38, 180, 1], "image_id": 102831, "bbox": [10.63, 162.31, 62.7, 160.96], "category_id": 1, "id": 118954}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 191, 2, 0, 0, 0, 483, 229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104596, "bbox": [413.61, 51.52, 226.39, 217.69], "category_id": 1, "id": 118956}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [486, 305, 1, 419, 323, 2, 519, 361, 2, 404, 400, 2, 523, 382, 2, 452, 340, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 311, 1], "image_id": 106831, "bbox": [388.62, 243.57, 149.69, 177.51], "category_id": 1, "id": 118960}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 251, 1, 600, 259, 1], "image_id": 106212, "bbox": [587.53, 251.04, 31.27, 56.2], "category_id": 1, "id": 118963}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 89, 228, 2, 0, 0, 0, 83, 272, 2, 0, 0, 0, 95, 307, 2, 0, 0, 0, 102, 295, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 182, 1, 108, 216, 1], "image_id": 108597, "bbox": [71.99, 179.94, 57.97, 172.11], "category_id": 1, "id": 118967}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [320, 251, 2, 348, 223, 2, 295, 293, 2, 300, 248, 2, 272, 284, 1, 288, 245, 2, 337, 315, 1, 362, 311, 1, 258, 309, 2, 301, 293, 2, 284, 375, 2, 319, 348, 1, 325, 185, 1, 328, 224, 1], "image_id": 105215, "bbox": [248.16, 176.69, 139.32, 225.31], "category_id": 1, "id": 118969}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 7, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 207, 2, 120, 203, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108243, "bbox": [1.08, 1.08, 146.7, 254.56], "category_id": 1, "id": 118970}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [348, 244, 2, 381, 247, 2, 335, 269, 2, 384, 274, 2, 349, 274, 2, 0, 0, 0, 349, 289, 2, 377, 291, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 216, 1, 364, 235, 1], "image_id": 105802, "bbox": [330.91, 214.51, 55.57, 91.21], "category_id": 1, "id": 118974}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [13, 364, 2, 0, 0, 0, 17, 374, 2, 0, 0, 0, 22, 387, 1, 0, 0, 0, 13, 392, 2, 5, 392, 2, 14, 414, 2, 5, 415, 2, 10, 428, 2, 6, 434, 2, 2, 348, 1, 5, 362, 1], "image_id": 107638, "bbox": [0, 348.19, 19.73, 90.97], "category_id": 1, "id": 118992}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [278, 214, 1, 254, 226, 2, 311, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 194, 1, 262, 215, 1], "image_id": 104465, "bbox": [245.59, 187.03, 58.18, 125.44], "category_id": 1, "id": 118995}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 339, 184, 2, 0, 0, 0, 349, 199, 2, 0, 0, 0, 0, 0, 0, 333, 202, 2, 329, 204, 2, 347, 212, 2, 350, 215, 2, 337, 237, 2, 347, 240, 1, 347, 166, 1, 343, 179, 1], "image_id": 108372, "bbox": [320.22, 165.5, 34.25, 84.11], "category_id": 1, "id": 119009}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 62, 227, 2, 0, 0, 0, 67, 276, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 330, 2, 0, 0, 0, 86, 383, 2, 99, 185, 1, 86, 211, 1], "image_id": 108597, "bbox": [41.13, 177.92, 63.23, 230.08], "category_id": 1, "id": 119019}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 175, 2, 301, 142, 2, 379, 238, 2, 260, 195, 2, 366, 263, 2, 260, 227, 2, 330, 227, 2, 286, 202, 2, 301, 319, 2, 288, 241, 2, 276, 401, 2, 241, 329, 2, 364, 117, 1, 346, 156, 1], "image_id": 105335, "bbox": [228.73, 95.61, 164.38, 350.65], "category_id": 1, "id": 119020}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [548, 80, 2, 518, 83, 2, 556, 103, 2, 513, 108, 2, 556, 125, 2, 509, 126, 2, 539, 132, 2, 525, 134, 2, 536, 160, 2, 528, 167, 2, 543, 200, 2, 535, 204, 2, 527, 51, 1, 531, 74, 1], "image_id": 106527, "bbox": [504.72, 47.02, 55.66, 166.96], "category_id": 1, "id": 119040}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [87, 304, 2, 111, 353, 2, 0, 0, 0, 0, 0, 0, 175, 462, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 157, 1, 98, 301, 1], "image_id": 106962, "bbox": [0, 141.3, 240.54, 333.31], "category_id": 1, "id": 119051}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [335, 128, 2, 267, 129, 2, 363, 151, 2, 240, 152, 2, 354, 172, 2, 208, 175, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 62, 1, 298, 118, 1], "image_id": 106502, "bbox": [193.41, 59.87, 190.75, 136.02], "category_id": 1, "id": 119053}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [321, 254, 2, 336, 254, 2, 319, 266, 2, 339, 265, 2, 0, 0, 0, 0, 0, 0, 323, 279, 1, 334, 279, 2, 324, 299, 2, 333, 298, 2, 324, 319, 2, 332, 317, 2, 330, 238, 1, 328, 247, 1], "image_id": 106888, "bbox": [317.42, 236.77, 25.19, 85.81], "category_id": 1, "id": 119065}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [217, 304, 2, 244, 292, 1, 207, 355, 2, 221, 336, 2, 167, 381, 2, 182, 346, 2, 219, 400, 1, 235, 393, 1, 157, 469, 2, 0, 0, 0, 134, 573, 2, 0, 0, 0, 217, 230, 1, 223, 279, 1], "image_id": 106878, "bbox": [86.29, 216.09, 174.02, 382.56], "category_id": 1, "id": 119080}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [135, 149, 2, 133, 155, 2, 0, 0, 0, 133, 183, 2, 0, 0, 0, 145, 205, 2, 134, 203, 2, 129, 203, 2, 146, 245, 2, 117, 246, 2, 158, 282, 2, 95, 277, 2, 141, 121, 1, 135, 144, 1], "image_id": 108441, "bbox": [84.74, 119.8, 92.45, 170.65], "category_id": 1, "id": 119081}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [466, 39, 2, 394, 26, 2, 472, 98, 2, 370, 79, 2, 422, 102, 2, 374, 101, 2, 412, 142, 2, 374, 135, 1, 380, 196, 2, 374, 196, 2, 394, 284, 2, 384, 285, 2, 0, 0, 0, 427, 21, 1], "image_id": 108105, "bbox": [358.42, 0.4, 123.73, 304.24], "category_id": 1, "id": 119090}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 563, 244, 2, 0, 0, 0, 577, 294, 2, 0, 0, 0, 588, 340, 1, 0, 0, 0, 545, 339, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 231, 1], "image_id": 107952, "bbox": [522.48, 183.56, 80.13, 168.26], "category_id": 1, "id": 119091}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [8, 323, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 369, 2, 0, 0, 0, 14, 408, 2, 0, 0, 0, 26, 445, 2, 0, 0, 0, 0, 0, 0, 0, 313, 1], "image_id": 104161, "bbox": [0, 278.99, 33.15, 178.14], "category_id": 1, "id": 119119}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 3, 226, 2, 0, 0, 0, 56, 310, 2, 0, 0, 0, 53, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105890, "bbox": [0, 163.88, 75.58, 163.13], "category_id": 1, "id": 119125}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 320, 14, 2, 228, 20, 1, 325, 56, 2, 237, 65, 2, 307, 69, 1, 262, 71, 1, 317, 125, 2, 270, 131, 2, 315, 185, 2, 280, 193, 1, 0, 0, 0, 0, 0, 0], "image_id": 103553, "bbox": [222.04, 0.67, 124.58, 206.35], "category_id": 1, "id": 119130}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [476, 71, 2, 423, 99, 2, 488, 143, 2, 420, 183, 2, 530, 175, 2, 499, 196, 2, 464, 191, 2, 417, 221, 1, 569, 200, 2, 515, 236, 2, 522, 291, 1, 477, 342, 1, 529, 38, 1, 460, 66, 1], "image_id": 103142, "bbox": [374.29, 12.94, 210.34, 276.14], "category_id": 1, "id": 119139}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [54, 275, 2, 119, 277, 2, 0, 0, 0, 132, 325, 2, 0, 0, 0, 0, 0, 0, 64, 363, 1, 107, 365, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 209, 1, 89, 259, 1], "image_id": 105215, "bbox": [39, 208.52, 106.04, 126.68], "category_id": 1, "id": 119146}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [26, 299, 2, 47, 300, 2, 0, 0, 0, 53, 317, 2, 0, 0, 0, 57, 331, 2, 28, 332, 2, 43, 333, 2, 31, 353, 2, 47, 353, 2, 28, 380, 1, 33, 370, 2, 45, 280, 1, 39, 293, 1], "image_id": 104161, "bbox": [16.82, 277.23, 42.04, 109.31], "category_id": 1, "id": 119164}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [140, 310, 1, 116, 314, 2, 142, 323, 1, 117, 335, 2, 140, 327, 2, 134, 337, 2, 139, 344, 2, 127, 351, 2, 139, 338, 2, 145, 346, 1, 133, 368, 1, 0, 0, 0, 127, 292, 1, 128, 308, 1], "image_id": 106878, "bbox": [109.06, 291.45, 36.61, 68.07], "category_id": 1, "id": 119190}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [176, 250, 2, 191, 246, 2, 172, 273, 2, 212, 268, 2, 0, 0, 0, 213, 290, 2, 177, 288, 2, 192, 287, 2, 0, 0, 0, 227, 321, 2, 0, 0, 0, 237, 357, 2, 188, 226, 1, 185, 242, 1], "image_id": 105802, "bbox": [167.26, 224.95, 77.37, 146.23], "category_id": 1, "id": 119192}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 280, 1, 622, 300, 1], "image_id": 106831, "bbox": [602.84, 279.16, 35.46, 39.65], "category_id": 1, "id": 119214}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 285, 1, 84, 305, 1], "image_id": 106878, "bbox": [61.43, 287.16, 35.05, 38.82], "category_id": 1, "id": 119228}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [148, 99, 2, 182, 86, 2, 126, 124, 2, 0, 0, 0, 104, 134, 2, 0, 0, 0, 169, 172, 2, 193, 156, 1, 123, 162, 2, 0, 0, 0, 135, 222, 2, 0, 0, 0, 147, 62, 1, 159, 84, 1], "image_id": 106742, "bbox": [89.9, 60.96, 116.71, 170.08], "category_id": 1, "id": 119239}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [127, 137, 2, 96, 151, 2, 148, 172, 2, 83, 182, 2, 0, 0, 0, 116, 192, 2, 141, 210, 2, 115, 214, 2, 150, 256, 1, 117, 262, 2, 148, 291, 1, 108, 298, 1, 107, 103, 1, 108, 134, 1], "image_id": 105890, "bbox": [76.33, 101.02, 74.83, 172.86], "category_id": 1, "id": 119258}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 171, 1, 448, 192, 1], "image_id": 107913, "bbox": [421.65, 169.68, 42.25, 33.81], "category_id": 1, "id": 119264}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [132, 279, 2, 34, 291, 2, 161, 344, 2, 32, 370, 2, 117, 339, 2, 52, 432, 1, 118, 388, 2, 63, 390, 1, 118, 456, 1, 54, 456, 1, 0, 0, 0, 0, 0, 0, 79, 206, 1, 79, 273, 1], "image_id": 104794, "bbox": [16.03, 206.1, 151.01, 196.06], "category_id": 1, "id": 119267}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [370, 24, 2, 297, 18, 2, 395, 121, 1, 267, 100, 2, 356, 91, 1, 228, 129, 1, 370, 184, 1, 299, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 4, 1], "image_id": 104596, "bbox": [239.5, 0, 144.33, 128.26], "category_id": 1, "id": 119276}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [234, 122, 1, 205, 125, 2, 244, 162, 2, 0, 0, 0, 232, 180, 1, 0, 0, 0, 226, 175, 1, 208, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 86, 1, 215, 115, 1], "image_id": 103443, "bbox": [196.57, 68.67, 53.32, 104.26], "category_id": 1, "id": 119281}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [599, 165, 1, 578, 163, 2, 0, 0, 0, 571, 187, 1, 0, 0, 0, 0, 0, 0, 596, 210, 1, 580, 211, 1, 595, 251, 1, 584, 246, 1, 592, 284, 2, 584, 285, 2, 598, 135, 1, 591, 157, 1], "image_id": 106666, "bbox": [568.04, 132.5, 34.66, 169.47], "category_id": 1, "id": 119286}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [610, 220, 2, 0, 0, 0, 596, 266, 2, 0, 0, 0, 573, 295, 2, 0, 0, 0, 598, 297, 1, 619, 298, 1, 592, 358, 2, 609, 358, 2, 590, 412, 2, 608, 407, 2, 616, 167, 1, 616, 204, 1], "image_id": 107913, "bbox": [559.99, 158.45, 80.01, 270.52], "category_id": 1, "id": 119294}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [246, 245, 2, 262, 244, 2, 242, 265, 2, 0, 0, 0, 241, 284, 2, 0, 0, 0, 248, 280, 2, 261, 279, 1, 241, 297, 1, 259, 300, 2, 0, 0, 0, 259, 326, 2, 254, 227, 1, 254, 240, 1], "image_id": 106888, "bbox": [237.12, 226.96, 31.05, 108.64], "category_id": 1, "id": 119300}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [34, 28, 2, 0, 0, 0, 45, 92, 1, 0, 0, 0, 31, 98, 1, 15, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108105, "bbox": [0, 0.43, 53.76, 106.37], "category_id": 1, "id": 119301}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [460, 337, 1, 405, 341, 2, 0, 0, 0, 393, 384, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 346, 1, 413, 355, 2, 0, 0, 0, 409, 437, 2, 440, 285, 1, 435, 326, 1], "image_id": 107028, "bbox": [386.16, 278.29, 72.27, 186.61], "category_id": 1, "id": 119314}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 18, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 234, 2, 18, 234, 1, 3, 265, 2, 16, 262, 2, 4, 286, 2, 17, 285, 2, 0, 168, 1, 4, 185, 1], "image_id": 102831, "bbox": [0, 166.6, 23.97, 137.51], "category_id": 1, "id": 119322}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [207, 242, 2, 223, 243, 2, 202, 255, 2, 225, 254, 2, 208, 261, 2, 224, 261, 2, 210, 262, 2, 221, 262, 2, 211, 283, 2, 223, 284, 2, 209, 301, 2, 228, 301, 2, 217, 228, 1, 216, 237, 1], "image_id": 106888, "bbox": [201.26, 226.67, 30.59, 82.39], "category_id": 1, "id": 119329}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [563, 179, 2, 0, 0, 0, 569, 192, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 206, 1, 0, 0, 0, 561, 228, 1, 0, 0, 0, 563, 269, 1, 561, 272, 1, 563, 156, 1, 562, 172, 1], "image_id": 106666, "bbox": [555.67, 154.92, 25.57, 124.14], "category_id": 1, "id": 119330}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [368, 135, 2, 309, 129, 2, 349, 186, 2, 326, 189, 2, 329, 206, 2, 339, 161, 2, 335, 202, 2, 303, 203, 2, 352, 204, 2, 332, 212, 2, 0, 0, 0, 0, 0, 0, 353, 69, 1, 339, 123, 1], "image_id": 105633, "bbox": [271.4, 62.14, 108.02, 183.9], "category_id": 1, "id": 119344}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 164, 1, 23, 175, 1], "image_id": 102831, "bbox": [11.79, 163.66, 19.03, 26.1], "category_id": 1, "id": 119364}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [171, 61, 1, 130, 60, 2, 177, 92, 1, 124, 91, 2, 0, 0, 0, 137, 111, 2, 166, 110, 1, 139, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 20, 1, 152, 49, 1], "image_id": 103443, "bbox": [121.26, 3.85, 57.38, 117.32], "category_id": 1, "id": 119383}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [276, 144, 1, 208, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 80, 1, 0, 0, 0], "image_id": 105254, "bbox": [216.22, 73.72, 65.33, 57.59], "category_id": 1, "id": 119384}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [330, 308, 2, 308, 336, 2, 371, 307, 2, 328, 376, 2, 0, 0, 0, 360, 391, 2, 412, 337, 2, 406, 366, 2, 408, 293, 2, 373, 345, 2, 441, 319, 2, 422, 323, 2, 253, 297, 1, 311, 318, 1], "image_id": 107656, "bbox": [245.73, 275.44, 207.53, 134.96], "category_id": 1, "id": 119386}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [368, 169, 2, 393, 165, 2, 331, 179, 2, 0, 0, 0, 349, 152, 2, 0, 0, 0, 365, 246, 2, 386, 238, 2, 346, 302, 2, 375, 288, 2, 346, 370, 2, 376, 344, 1, 376, 127, 1, 381, 160, 1], "image_id": 106742, "bbox": [322.77, 118.14, 92.49, 271.1], "category_id": 1, "id": 119399}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 236, 1, 197, 246, 1], "image_id": 106888, "bbox": [190.94, 235.77, 16.32, 72.09], "category_id": 1, "id": 119402}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [253, 150, 1, 214, 156, 2, 0, 0, 0, 203, 180, 2, 0, 0, 0, 197, 208, 2, 249, 196, 1, 224, 199, 2, 0, 0, 0, 237, 216, 2, 0, 0, 0, 236, 270, 2, 234, 112, 1, 237, 145, 1], "image_id": 106890, "bbox": [191.12, 101.6, 67.42, 184.38], "category_id": 1, "id": 119410}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [482, 221, 2, 337, 217, 2, 510, 336, 2, 0, 0, 0, 505, 382, 2, 0, 0, 0, 456, 409, 2, 365, 407, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 395, 88, 1, 406, 181, 1], "image_id": 105087, "bbox": [322.99, 79.66, 213.21, 347.34], "category_id": 1, "id": 119422}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [297, 102, 2, 232, 72, 2, 0, 0, 0, 190, 125, 2, 0, 0, 0, 187, 183, 2, 263, 193, 2, 223, 194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 30, 1, 272, 74, 1], "image_id": 102821, "bbox": [172.89, 20.04, 205.1, 216.92], "category_id": 1, "id": 119448}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 197, 248, 2, 0, 0, 0, 162, 273, 2, 0, 0, 0, 187, 258, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 206, 1, 0, 0, 0], "image_id": 105928, "bbox": [157.58, 200.04, 50.98, 80.51], "category_id": 1, "id": 119451}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [473, 207, 2, 387, 223, 2, 515, 240, 2, 371, 266, 2, 513, 231, 2, 373, 285, 2, 479, 334, 2, 434, 336, 2, 468, 415, 2, 472, 424, 2, 0, 0, 0, 0, 0, 0, 424, 136, 1, 426, 199, 1], "image_id": 106478, "bbox": [355.96, 135.91, 179.05, 299.87], "category_id": 1, "id": 119455}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [280, 183, 2, 300, 192, 2, 0, 0, 0, 297, 220, 2, 0, 0, 0, 310, 203, 2, 242, 207, 1, 243, 210, 1, 0, 0, 0, 280, 224, 1, 0, 0, 0, 0, 0, 0, 318, 160, 1, 298, 183, 1], "image_id": 108212, "bbox": [237.2, 151.02, 94.88, 72.95], "category_id": 1, "id": 119466}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [491, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 141, 1, 489, 148, 1, 455, 148, 2, 478, 224, 1, 453, 220, 1, 472, 287, 1, 442, 290, 2, 470, 3, 1, 468, 42, 1], "image_id": 108105, "bbox": [426.28, 1.87, 82.27, 301.95], "category_id": 1, "id": 119482}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [510, 107, 2, 608, 111, 2, 487, 203, 2, 614, 198, 2, 462, 273, 2, 0, 0, 0, 528, 281, 2, 586, 278, 2, 512, 412, 2, 578, 410, 2, 0, 0, 0, 0, 0, 0, 557, 4, 1, 554, 70, 1], "image_id": 104644, "bbox": [449.8, 0, 182.29, 474.61], "category_id": 1, "id": 119484}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [220, 180, 2, 209, 108, 2, 248, 241, 2, 270, 92, 2, 313, 192, 2, 382, 66, 2, 128, 319, 2, 144, 318, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 134, 1], "image_id": 107510, "bbox": [93.49, 49.04, 334.1, 286.6], "category_id": 1, "id": 119492}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [329, 360, 1, 432, 360, 1, 315, 428, 2, 0, 0, 0, 329, 463, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 271, 1, 384, 333, 1], "image_id": 108089, "bbox": [306.62, 266.04, 117.32, 185.84], "category_id": 1, "id": 119493}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [211, 204, 2, 173, 182, 2, 285, 238, 2, 227, 161, 2, 269, 177, 2, 315, 126, 2, 318, 392, 2, 259, 408, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 106, 1, 181, 161, 1], "image_id": 106478, "bbox": [145.62, 96, 239.46, 334.38], "category_id": 1, "id": 119510}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 222, 101, 1, 0, 0, 0, 251, 109, 1, 0, 0, 0, 286, 113, 1, 225, 182, 2, 216, 182, 2, 0, 0, 0, 211, 232, 2, 0, 0, 0, 206, 283, 1, 246, 82, 1, 228, 100, 1], "image_id": 106758, "bbox": [204.66, 73.31, 52.23, 225.33], "category_id": 1, "id": 119532}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [219, 196, 2, 142, 222, 2, 349, 184, 2, 342, 377, 2, 480, 169, 2, 332, 195, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 13, 1, 181, 173, 1], "image_id": 107193, "bbox": [72.44, 1.73, 489.9, 419.38], "category_id": 1, "id": 119543}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [216, 302, 2, 169, 306, 2, 0, 0, 0, 152, 347, 2, 0, 0, 0, 183, 390, 2, 202, 376, 2, 175, 391, 2, 0, 0, 0, 230, 402, 1, 0, 0, 0, 0, 0, 0, 203, 244, 1, 197, 292, 1], "image_id": 106854, "bbox": [145.65, 237.26, 84.08, 166.25], "category_id": 1, "id": 119572}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [107, 169, 2, 89, 169, 2, 119, 191, 2, 95, 198, 2, 135, 194, 1, 116, 207, 2, 113, 215, 2, 95, 218, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 142, 1, 97, 163, 1], "image_id": 104533, "bbox": [73.69, 140.36, 57.77, 95.86], "category_id": 1, "id": 119577}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [579, 222, 2, 594, 223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 247, 2, 592, 248, 2, 581, 261, 2, 590, 262, 2, 580, 277, 2, 589, 281, 2, 587, 208, 1, 586, 217, 1], "image_id": 104923, "bbox": [570.99, 208.56, 26.36, 76.15], "category_id": 1, "id": 119590}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 185, 245, 2, 0, 0, 0, 184, 261, 2, 0, 0, 0, 192, 270, 2, 180, 277, 2, 186, 278, 2, 181, 295, 2, 185, 297, 2, 179, 316, 1, 183, 318, 1, 186, 232, 1, 183, 241, 1], "image_id": 106888, "bbox": [171.21, 230.77, 23, 90.07], "category_id": 1, "id": 119594}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [341, 199, 2, 431, 207, 2, 293, 254, 2, 0, 0, 0, 283, 230, 2, 0, 0, 0, 353, 352, 2, 419, 350, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 109, 1, 383, 176, 1], "image_id": 102604, "bbox": [276.76, 101.08, 164.32, 372.97], "category_id": 1, "id": 119606}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [25, 342, 2, 20, 348, 2, 32, 351, 2, 0, 0, 0, 19, 354, 2, 0, 0, 0, 41, 350, 2, 36, 358, 2, 48, 369, 2, 38, 373, 1, 52, 396, 2, 0, 0, 0, 10, 339, 1, 20, 343, 1], "image_id": 107638, "bbox": [7.1, 334.08, 49.1, 67.54], "category_id": 1, "id": 119607}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [483, 289, 2, 492, 289, 2, 477, 308, 2, 0, 0, 0, 472, 320, 1, 0, 0, 0, 483, 311, 2, 493, 310, 2, 483, 337, 1, 493, 336, 1, 0, 0, 0, 0, 0, 0, 485, 273, 1, 487, 285, 1], "image_id": 104608, "bbox": [471.65, 272.85, 27.24, 66.17], "category_id": 1, "id": 119613}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [379, 178, 1, 392, 177, 2, 369, 192, 1, 400, 197, 2, 0, 0, 0, 0, 0, 0, 380, 212, 1, 392, 213, 2, 382, 243, 1, 395, 241, 2, 383, 264, 2, 397, 264, 2, 386, 160, 1, 385, 173, 1], "image_id": 107913, "bbox": [371.75, 159.88, 32.44, 109.49], "category_id": 1, "id": 119614}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [579, 158, 2, 483, 173, 1, 0, 0, 0, 472, 267, 1, 597, 141, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, 43, 1, 532, 138, 1], "image_id": 107193, "bbox": [451.74, 38.62, 186.57, 210.27], "category_id": 1, "id": 119615}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [267, 122, 2, 233, 123, 2, 0, 0, 0, 257, 159, 2, 0, 0, 0, 292, 148, 1, 256, 194, 2, 223, 197, 1, 283, 185, 1, 253, 188, 2, 0, 0, 0, 0, 0, 0, 268, 80, 1, 254, 115, 1], "image_id": 108324, "bbox": [225.08, 68.81, 59.91, 148.05], "category_id": 1, "id": 119620}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 247, 1, 572, 253, 1], "image_id": 106212, "bbox": [561.81, 246.8, 25.98, 51.95], "category_id": 1, "id": 119622}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [56, 261, 2, 61, 261, 2, 0, 0, 0, 67, 286, 2, 0, 0, 0, 92, 282, 2, 50, 302, 2, 57, 304, 2, 0, 0, 0, 96, 311, 2, 0, 0, 0, 88, 350, 2, 72, 237, 1, 64, 257, 1], "image_id": 104067, "bbox": [41.57, 230.74, 69.29, 136.17], "category_id": 1, "id": 119623}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [191, 112, 1, 164, 108, 1, 215, 152, 2, 178, 149, 2, 219, 122, 1, 196, 127, 1, 188, 208, 2, 170, 208, 2, 187, 258, 1, 170, 257, 1, 177, 308, 2, 163, 311, 2, 212, 88, 1, 185, 104, 1], "image_id": 106758, "bbox": [135.16, 74.5, 98.14, 242.47], "category_id": 1, "id": 119630}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [509, 99, 2, 427, 89, 2, 507, 161, 2, 417, 158, 2, 455, 174, 2, 422, 143, 2, 477, 188, 2, 432, 182, 2, 469, 238, 2, 433, 217, 2, 0, 0, 0, 0, 0, 0, 469, 6, 1, 467, 73, 1], "image_id": 105633, "bbox": [402.03, 1.92, 132.73, 268.35], "category_id": 1, "id": 119634}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [435, 92, 2, 428, 95, 2, 433, 106, 2, 0, 0, 0, 423, 110, 2, 0, 0, 0, 434, 123, 2, 430, 124, 2, 431, 151, 2, 427, 152, 1, 432, 190, 2, 435, 189, 2, 424, 76, 1, 431, 89, 1], "image_id": 106527, "bbox": [415.49, 70.85, 30.7, 134.33], "category_id": 1, "id": 119639}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 470, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105562, "bbox": [0, 394.79, 120.81, 77.66], "category_id": 1, "id": 119648}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 639, 362, 1, 617, 288, 2, 501, 334, 2, 520, 249, 2, 0, 0, 0, 0, 0, 0, 562, 391, 2, 577, 316, 2, 0, 0, 0, 0, 0, 0, 578, 69, 1, 630, 177, 1], "image_id": 105633, "bbox": [437.57, 50.84, 201.08, 371.51], "category_id": 1, "id": 119653}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [90, 215, 2, 79, 216, 2, 0, 0, 0, 74, 229, 2, 0, 0, 0, 0, 0, 0, 91, 244, 1, 82, 243, 2, 0, 0, 0, 83, 263, 2, 0, 0, 0, 77, 284, 2, 87, 201, 1, 85, 212, 1], "image_id": 106987, "bbox": [71.19, 202.79, 21.57, 88.45], "category_id": 1, "id": 119666}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [522, 310, 2, 506, 310, 2, 517, 329, 2, 497, 326, 2, 509, 339, 2, 482, 340, 2, 522, 345, 2, 513, 345, 2, 517, 326, 2, 495, 329, 2, 499, 347, 2, 482, 344, 1, 503, 287, 1, 512, 308, 1], "image_id": 104608, "bbox": [467.86, 279.93, 68.22, 74.59], "category_id": 1, "id": 119667}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 65, 2, 284, 70, 2, 325, 100, 2, 262, 111, 2, 331, 143, 2, 251, 148, 2, 320, 136, 2, 295, 142, 2, 314, 195, 2, 286, 198, 2, 311, 243, 2, 282, 254, 2, 308, 27, 1, 304, 55, 1], "image_id": 102761, "bbox": [237.2, 15.05, 105.66, 261.58], "category_id": 1, "id": 119675}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105254, "bbox": [84.81, 59.4, 46.99, 69.91], "category_id": 1, "id": 119692}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 120, 2, 310, 117, 1, 383, 139, 2, 295, 141, 1, 359, 140, 2, 312, 145, 2, 342, 188, 2, 310, 185, 2, 334, 250, 2, 308, 250, 2, 340, 297, 2, 303, 295, 1, 332, 65, 1, 330, 110, 1], "image_id": 108105, "bbox": [306.62, 61.7, 84.14, 241.19], "category_id": 1, "id": 119693}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [313, 122, 1, 270, 121, 1, 321, 148, 2, 264, 150, 1, 332, 127, 1, 269, 178, 2, 304, 195, 2, 280, 195, 2, 298, 236, 1, 281, 237, 1, 290, 276, 2, 279, 276, 2, 295, 93, 1, 293, 118, 1], "image_id": 106758, "bbox": [265.75, 85.48, 73.81, 202.51], "category_id": 1, "id": 119696}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 282, 1, 418, 286, 1], "image_id": 107638, "bbox": [412.83, 282.99, 12.1, 26.57], "category_id": 1, "id": 119697}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [132, 343, 2, 81, 353, 2, 145, 392, 2, 84, 436, 1, 147, 433, 2, 127, 392, 2, 134, 435, 2, 103, 460, 1, 202, 466, 1, 188, 511, 1, 0, 0, 0, 0, 0, 0, 112, 276, 1, 108, 340, 1], "image_id": 106854, "bbox": [67.6, 268.7, 92.04, 251.69], "category_id": 1, "id": 119700}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [289, 209, 2, 388, 204, 2, 252, 311, 2, 0, 0, 0, 261, 232, 1, 0, 0, 0, 298, 381, 2, 389, 370, 2, 213, 382, 1, 0, 0, 0, 268, 485, 1, 0, 0, 0, 295, 103, 1, 321, 177, 1], "image_id": 108324, "bbox": [209.34, 89.91, 197.03, 350.92], "category_id": 1, "id": 119701}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [336, 179, 2, 273, 164, 2, 339, 231, 2, 248, 215, 2, 307, 211, 1, 243, 192, 2, 305, 276, 1, 263, 267, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 103, 1, 299, 156, 1], "image_id": 104794, "bbox": [235.15, 100.97, 118.34, 166.48], "category_id": 1, "id": 119732}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 20, 1, 325, 20, 2, 345, 51, 2, 326, 52, 2, 0, 0, 0, 0, 0, 0], "image_id": 107413, "bbox": [316.82, 3.36, 30.69, 57.08], "category_id": 1, "id": 119736}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105254, "bbox": [15.44, 82.74, 33.93, 53.99], "category_id": 1, "id": 119742}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [161, 298, 2, 156, 302, 2, 189, 321, 2, 165, 324, 2, 203, 338, 2, 203, 342, 2, 165, 355, 1, 162, 361, 1, 224, 355, 2, 237, 369, 2, 0, 0, 0, 0, 0, 0, 161, 255, 1, 160, 286, 1], "image_id": 108089, "bbox": [153.04, 250.71, 98.36, 137.44], "category_id": 1, "id": 119743}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 626, 141, 2, 0, 0, 0, 632, 186, 2, 624, 170, 2, 604, 162, 2, 0, 0, 0, 623, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 73, 1, 0, 0, 0], "image_id": 105254, "bbox": [584.05, 62.22, 55.95, 132.58], "category_id": 1, "id": 119750}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [251, 19, 2, 185, 20, 2, 256, 79, 2, 167, 84, 2, 275, 101, 2, 186, 105, 2, 233, 125, 1, 184, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 8, 1], "image_id": 108105, "bbox": [154.25, 0.93, 143.96, 123.4], "category_id": 1, "id": 119767}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 231, 1, 136, 238, 1], "image_id": 106888, "bbox": [128.05, 230.69, 14.64, 48.49], "category_id": 1, "id": 119783}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 28, 1, 342, 47, 1], "image_id": 103176, "bbox": [322.41, 27.57, 26.74, 75.59], "category_id": 1, "id": 119789}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 226, 1, 123, 243, 1], "image_id": 104067, "bbox": [108.27, 223.65, 38.02, 48.2], "category_id": 1, "id": 119810}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [299, 46, 2, 244, 45, 1, 320, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 122, 2, 244, 121, 2, 278, 193, 2, 249, 192, 1, 269, 284, 1, 249, 282, 1, 0, 0, 0, 266, 35, 1], "image_id": 108105, "bbox": [240.5, 0, 91.02, 280.76], "category_id": 1, "id": 119833}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [557, 228, 2, 476, 218, 1, 0, 0, 0, 435, 265, 2, 0, 0, 0, 398, 294, 1, 472, 329, 1, 424, 307, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 127, 1, 522, 204, 1], "image_id": 107065, "bbox": [393.23, 121.07, 179.18, 192.74], "category_id": 1, "id": 119837}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 434, 167, 1, 433, 179, 1], "image_id": 107913, "bbox": [413.8, 163.86, 25.7, 38.02], "category_id": 1, "id": 119838}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 283, 1, 406, 288, 1], "image_id": 107638, "bbox": [400.22, 283.01, 11.52, 27.36], "category_id": 1, "id": 119857}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [632, 34, 2, 586, 31, 2, 0, 0, 0, 557, 79, 2, 0, 0, 0, 555, 107, 2, 602, 139, 2, 567, 137, 2, 619, 226, 1, 577, 227, 2, 627, 294, 1, 573, 290, 2, 0, 0, 0, 608, 20, 1], "image_id": 108105, "bbox": [542.85, 0.56, 97.01, 302.21], "category_id": 1, "id": 119871}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 210, 1, 121, 221, 1], "image_id": 106987, "bbox": [109.35, 210.22, 21.95, 68.01], "category_id": 1, "id": 119880}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108089, "bbox": [262.34, 231.18, 24.19, 35.56], "category_id": 1, "id": 119886}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [348, 232, 2, 393, 232, 2, 350, 257, 2, 401, 261, 1, 345, 288, 2, 0, 0, 0, 366, 288, 1, 396, 287, 1, 348, 352, 1, 387, 351, 1, 0, 0, 0, 0, 0, 0, 355, 186, 1, 363, 217, 1], "image_id": 108089, "bbox": [330.21, 183.07, 70.5, 150.05], "category_id": 1, "id": 119894}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [577, 292, 2, 552, 289, 1, 582, 307, 2, 0, 0, 0, 578, 314, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 268, 1, 563, 286, 1], "image_id": 106831, "bbox": [552.69, 266.24, 33.28, 57.11], "category_id": 1, "id": 119911}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [336, 336, 2, 272, 344, 1, 356, 374, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 384, 1, 283, 387, 1, 297, 390, 1, 0, 0, 0, 0, 0, 0, 325, 350, 1, 301, 288, 1, 300, 327, 1], "image_id": 107028, "bbox": [294.06, 287.97, 69.01, 111.45], "category_id": 1, "id": 119920}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [325, 131, 1, 385, 140, 2, 0, 0, 0, 404, 186, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 218, 1, 0, 0, 0, 420, 215, 2, 0, 0, 0, 386, 290, 1, 364, 84, 1, 358, 118, 1], "image_id": 108324, "bbox": [339.21, 76.94, 86.44, 182.49], "category_id": 1, "id": 119927}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [3, 245, 2, 0, 0, 0, 0, 0, 0, 14, 323, 2, 0, 0, 0, 68, 299, 2, 53, 408, 1, 45, 412, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 134, 1, -1, 202, 1], "image_id": 103628, "bbox": [1.91, 116.24, 96.23, 297.28], "category_id": 1, "id": 119938}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [550, 315, 2, 506, 321, 1, 567, 331, 1, 0, 0, 0, 562, 342, 2, 0, 0, 0, 546, 356, 2, 519, 357, 1, 0, 0, 0, 521, 336, 1, 0, 0, 0, 552, 377, 1, 525, 278, 1, 526, 313, 1], "image_id": 107028, "bbox": [515.53, 277.65, 49.81, 90.71], "category_id": 1, "id": 119947}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [416, 126, 2, 381, 126, 2, 420, 156, 2, 0, 0, 0, 395, 163, 1, 0, 0, 0, 408, 185, 1, 383, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 395, 80, 1, 397, 118, 1], "image_id": 108324, "bbox": [376.06, 76.73, 49.94, 87.12], "category_id": 1, "id": 119950}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [601, 214, 1, 588, 208, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 281, 1, 567, 277, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 163, 1, 614, 202, 1], "image_id": 107913, "bbox": [557.97, 156.24, 62.57, 121.32], "category_id": 1, "id": 119953}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [160, 27, 2, 106, 26, 2, 168, 70, 1, 101, 57, 1, 157, 65, 2, 119, 28, 2, 151, 99, 1, 119, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 21, 1], "image_id": 108105, "bbox": [95.33, 0, 70.77, 136.01], "category_id": 1, "id": 119973}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [152, 277, 2, 123, 275, 2, 0, 0, 0, 92, 332, 2, 0, 0, 0, 88, 399, 2, 143, 382, 1, 119, 379, 1, 173, 488, 1, 154, 474, 2, 141, 572, 1, 100, 561, 2, 167, 218, 1, 144, 262, 1], "image_id": 106619, "bbox": [73.02, 209.99, 127.43, 398.03], "category_id": 1, "id": 119977}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 318, 256, 2, 0, 0, 0, 326, 288, 2, 0, 0, 0, 333, 323, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 248, 1], "image_id": 107952, "bbox": [300.09, 201.52, 43.87, 145.61], "category_id": 1, "id": 119981}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 112, 185, 2, 0, 0, 0, 93, 223, 2, 0, 0, 0, 89, 247, 2, 0, 0, 0, 102, 236, 2, 0, 0, 0, 98, 271, 2, 0, 0, 0, 88, 318, 2, 0, 0, 0, 0, 0, 0], "image_id": 105335, "bbox": [71.74, 179.36, 47.55, 169.27], "category_id": 1, "id": 119986}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 622, 36, 2, 0, 0, 0, 630, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 91, 2, 0, 0, 0, 628, 135, 2, 0, 0, 0, 624, 180, 2, 0, 0, 0, 627, 33, 1], "image_id": 103176, "bbox": [613.75, 33.36, 26.25, 171.85], "category_id": 1, "id": 119990}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [26, 140, 2, 70, 141, 2, 18, 178, 2, 84, 185, 2, 0, 0, 0, 101, 199, 2, 48, 225, 2, 78, 230, 2, 77, 274, 2, 74, 286, 2, 90, 329, 2, 49, 356, 2, 58, 86, 1, 52, 120, 1], "image_id": 102761, "bbox": [4.87, 74.92, 111.89, 286.08], "category_id": 1, "id": 119995}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [100, 205, 1, 63, 195, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 243, 2, 62, 241, 1, 0, 0, 0, 53, 283, 2, 0, 0, 0, 41, 321, 2, 89, 169, 1, 81, 196, 1], "image_id": 105335, "bbox": [30.41, 158.51, 75.58, 193.67], "category_id": 1, "id": 120002}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [402, 228, 2, 0, 0, 0, 358, 267, 2, 0, 0, 0, 309, 232, 2, 0, 0, 0, 349, 280, 1, 0, 0, 0, 243, 230, 2, 262, 265, 1, 216, 232, 2, 0, 0, 0, 402, 177, 1, 406, 219, 1], "image_id": 107065, "bbox": [206.86, 171.69, 222.05, 109.53], "category_id": 1, "id": 120038}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [81, 96, 2, 41, 102, 2, 90, 118, 2, 44, 129, 2, 94, 139, 2, 52, 148, 2, 80, 144, 2, 62, 147, 2, 87, 179, 2, 68, 183, 2, 91, 211, 1, 74, 215, 2, 55, 69, 1, 59, 92, 1], "image_id": 103628, "bbox": [39.15, 73.05, 68.76, 149.93], "category_id": 1, "id": 120064}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [52, 36, 2, 12, 35, 1, 65, 83, 2, 18, 77, 1, 23, 81, 1, 64, 79, 2, 46, 124, 2, 15, 124, 2, 46, 214, 2, 13, 214, 2, 39, 274, 2, 12, 275, 2, 0, 0, 0, 27, 24, 1], "image_id": 108105, "bbox": [0, 1.41, 74.95, 296.07], "category_id": 1, "id": 120085}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [89, 177, 2, 16, 187, 2, 0, 0, 0, 50, 184, 2, 0, 0, 0, 92, 143, 2, 136, 229, 1, 92, 237, 2, 199, 251, 1, 186, 263, 1, 0, 0, 0, 0, 0, 0, 179, 152, 1, 168, 254, 1], "image_id": 108212, "bbox": [0.34, 113.39, 422.3, 261.61], "category_id": 1, "id": 120088}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [405, 96, 2, 369, 94, 2, 387, 125, 2, 369, 127, 2, 379, 100, 2, 345, 130, 2, 389, 174, 2, 379, 173, 2, 391, 219, 2, 383, 216, 2, 399, 263, 2, 390, 256, 2, 377, 53, 1, 383, 84, 1], "image_id": 102761, "bbox": [326.04, 49.72, 85.64, 237.16], "category_id": 1, "id": 120104}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 79, 1, 381, 92, 1], "image_id": 106527, "bbox": [369.66, 77.18, 33.41, 52.2], "category_id": 1, "id": 120158}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 186, 167, 2, 0, 0, 0, 196, 174, 2, 0, 0, 0, 0, 0, 0, 196, 208, 2, 185, 207, 2, 188, 235, 2, 195, 232, 2, 184, 260, 2, 190, 258, 2, 194, 165, 1, 192, 176, 1], "image_id": 108372, "bbox": [178.76, 160.81, 23.92, 109.79], "category_id": 1, "id": 120217}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [294, 238, 2, 220, 233, 2, 270, 396, 2, 204, 340, 2, 146, 344, 2, 142, 326, 2, 243, 427, 2, 182, 390, 2, 52, 350, 2, 25, 329, 2, 0, 0, 0, 0, 0, 0, 248, 88, 1, 254, 203, 1], "image_id": 105456, "bbox": [2.04, 78.25, 329.23, 405.6], "category_id": 1, "id": 120220}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [193, 126, 2, 162, 128, 2, 206, 170, 1, 150, 122, 2, 196, 155, 2, 178, 114, 2, 191, 181, 1, 162, 182, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 82, 1, 176, 112, 1], "image_id": 107388, "bbox": [105.35, 80.67, 98.82, 115.28], "category_id": 1, "id": 120225}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 317, 1, 429, 325, 1], "image_id": 104161, "bbox": [422.14, 318.94, 14.09, 50.97], "category_id": 1, "id": 120234}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [188, 132, 2, 201, 130, 2, 192, 152, 2, 0, 0, 0, 188, 169, 2, 0, 0, 0, 196, 170, 2, 206, 166, 2, 198, 194, 2, 206, 192, 2, 199, 221, 2, 207, 217, 2, 184, 105, 1, 190, 122, 1], "image_id": 103807, "bbox": [178.31, 103.49, 36.12, 121.99], "category_id": 1, "id": 120242}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 207, 2, 327, 209, 2, 393, 252, 2, 328, 246, 2, 364, 278, 2, 318, 275, 2, 364, 287, 2, 341, 280, 2, 328, 339, 2, 291, 318, 2, 372, 309, 2, 331, 309, 2, 357, 152, 1, 350, 199, 1], "image_id": 108280, "bbox": [275.49, 148.96, 124.13, 208.02], "category_id": 1, "id": 120248}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 316, 1, 200, 329, 1], "image_id": 106582, "bbox": [184.84, 315.35, 33.94, 31.85], "category_id": 1, "id": 120273}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [139, 138, 1, 70, 134, 2, 149, 167, 1, 55, 168, 2, 128, 166, 1, 83, 166, 1, 126, 204, 1, 78, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 82, 1, 104, 126, 1], "image_id": 103807, "bbox": [43.78, 65.22, 119.73, 112.73], "category_id": 1, "id": 120297}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [592, 123, 2, 602, 115, 1, 593, 141, 2, 0, 0, 0, 578, 137, 1, 0, 0, 0, 593, 159, 2, 0, 0, 0, 594, 178, 2, 0, 0, 0, 595, 209, 2, 0, 0, 0, 588, 99, 1, 592, 113, 1], "image_id": 106609, "bbox": [580.39, 96.57, 26.65, 119.55], "category_id": 1, "id": 120355}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 230, 1], "image_id": 107358, "bbox": [360.05, 224.54, 13.25, 34.64], "category_id": 1, "id": 120356}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105346, "bbox": [88.48, 341.8, 11.07, 18.24], "category_id": 1, "id": 120362}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [90, 27, 2, 103, 40, 2, 0, 0, 0, 106, 98, 2, 0, 0, 0, 131, 143, 1, 86, 141, 2, 96, 150, 2, 95, 199, 1, 102, 199, 1, 97, 273, 1, 105, 273, 1, 0, 0, 0, 112, 19, 1], "image_id": 107213, "bbox": [55.14, 0, 112.43, 249.73], "category_id": 1, "id": 120370}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 98, 1, 424, 114, 1], "image_id": 106609, "bbox": [414.92, 96.59, 22.92, 18.43], "category_id": 1, "id": 120374}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [230, 214, 2, 185, 230, 2, 0, 0, 0, 163, 311, 2, 250, 275, 2, 239, 306, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 147, 1, 207, 204, 1], "image_id": 104350, "bbox": [147.86, 136.95, 120, 187.5], "category_id": 1, "id": 120381}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [372, 19, 2, 358, 20, 1, 373, 34, 2, 0, 0, 0, 363, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 5, 1, 366, 15, 1], "image_id": 107213, "bbox": [353.78, 4.64, 30.66, 74.34], "category_id": 1, "id": 120394}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [63, 413, 2, 0, 0, 0, 90, 473, 2, 10, 608, 2, 142, 460, 2, 122, 596, 2, 117, 543, 2, 78, 613, 2, 212, 526, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 320, 1, 22, 421, 1], "image_id": 106854, "bbox": [0, 303.42, 184.5, 328.65], "category_id": 1, "id": 120400}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 115, 1, 369, 135, 1], "image_id": 103807, "bbox": [355.52, 113.36, 36.96, 57.65], "category_id": 1, "id": 120406}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [436, 291, 2, 442, 274, 2, 428, 365, 2, 418, 334, 2, 368, 380, 2, 363, 341, 2, 448, 391, 2, 429, 355, 2, 354, 407, 2, 372, 331, 2, 0, 0, 0, 375, 382, 2, 420, 219, 1, 427, 269, 1], "image_id": 108280, "bbox": [327.51, 211.26, 153.25, 214.11], "category_id": 1, "id": 120423}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [356, 402, 1, 385, 399, 2, 0, 0, 0, 391, 421, 2, 0, 0, 0, 0, 0, 0, 364, 437, 1, 379, 437, 2, 370, 466, 2, 383, 464, 2, 370, 495, 2, 378, 490, 1, 367, 373, 1, 368, 389, 1], "image_id": 108606, "bbox": [358.3, 372.16, 35.11, 134.23], "category_id": 1, "id": 120431}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107631, "bbox": [438.8, 224.07, 14.2, 19.99], "category_id": 1, "id": 120435}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 613, 20, 1], "image_id": 108243, "bbox": [614.79, 7.43, 25.21, 240.64], "category_id": 1, "id": 120440}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 1, 406, 0, 1, 416, 43, 2, 404, 42, 2, 0, 0, 0, 0, 0, 0], "image_id": 107413, "bbox": [391.77, 0, 43.08, 50.01], "category_id": 1, "id": 120449}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [172, 126, 1, 145, 128, 2, 173, 150, 1, 133, 150, 2, 166, 160, 1, 143, 163, 2, 159, 163, 1, 139, 162, 2, 171, 193, 1, 150, 194, 1, 149, 221, 1, 130, 220, 1, 162, 90, 1, 159, 116, 1], "image_id": 103443, "bbox": [124.41, 80.55, 60.55, 134.02], "category_id": 1, "id": 120459}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 95, 1, 352, 110, 1], "image_id": 106609, "bbox": [338.86, 95.61, 23.6, 26.84], "category_id": 1, "id": 120463}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 107, 1, 295, 122, 1], "image_id": 106609, "bbox": [283.74, 106.36, 25.43, 24.9], "category_id": 1, "id": 120498}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 96, 1, 0, 0, 0], "image_id": 106609, "bbox": [257.39, 96.51, 28.13, 28.12], "category_id": 1, "id": 120527}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 8, 2, 109, 14, 2, 152, 44, 2, 126, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103523, "bbox": [100.3, 0, 78.89, 60.81], "category_id": 1, "id": 120540}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [424, 136, 2, 432, 132, 2, 432, 163, 2, 0, 0, 0, 440, 179, 2, 0, 0, 0, 425, 184, 2, 432, 178, 2, 415, 217, 1, 432, 218, 2, 403, 252, 1, 435, 249, 1, 419, 111, 1, 425, 129, 1], "image_id": 103807, "bbox": [407.21, 108.4, 37.16, 133.54], "category_id": 1, "id": 120551}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 76, 1, 257, 83, 1], "image_id": 106609, "bbox": [246.17, 76.59, 17.34, 29.8], "category_id": 1, "id": 120582}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 313, 1, 300, 323, 1], "image_id": 106582, "bbox": [279.29, 315.15, 35.91, 47.93], "category_id": 1, "id": 120584}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 2, 2, 0, 0, 0, 431, 46, 2, 418, 29, 2, 0, 0, 0, 0, 0, 0], "image_id": 103523, "bbox": [411, 0.02, 31.44, 69.06], "category_id": 1, "id": 120616}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103523, "bbox": [251.41, 0.68, 47.84, 29.15], "category_id": 1, "id": 120638}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 25, 363, 2, 0, 0, 0, 24, 372, 2, 0, 0, 0, 29, 377, 2, 22, 385, 2, 23, 382, 2, 17, 400, 2, 32, 397, 1, 10, 414, 2, 33, 413, 1, 24, 351, 1, 23, 358, 1], "image_id": 105346, "bbox": [5.12, 349.44, 28.7, 69.18], "category_id": 1, "id": 120645}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [138, 21, 2, 149, 18, 2, 0, 0, 0, 150, 37, 2, 0, 0, 0, 168, 52, 2, 142, 55, 2, 148, 55, 2, 147, 88, 1, 152, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 10, 1], "image_id": 106606, "bbox": [134.45, 0.83, 39.16, 98.37], "category_id": 1, "id": 120656}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [208, 206, 2, 158, 182, 2, 202, 318, 1, 123, 136, 2, 120, 292, 2, 114, 86, 2, 180, 331, 1, 137, 306, 1, 20, 290, 2, 33, 287, 2, 0, 0, 0, 0, 0, 0, 165, 110, 1, 183, 188, 1], "image_id": 105456, "bbox": [0, 42.88, 226.33, 298.5], "category_id": 1, "id": 120681}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105633, "bbox": [90.32, 38.85, 61.31, 47.96], "category_id": 1, "id": 120690}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 571, 151, 1, 611, 248, 2, 548, 218, 2, 534, 256, 1, 510, 198, 2, 0, 0, 0, 609, 221, 2, 0, 0, 0, 525, 239, 1, 0, 0, 0, 522, 342, 1, 0, 0, 0, 0, 0, 0], "image_id": 105633, "bbox": [490.9, 167.21, 120.88, 161.17], "category_id": 1, "id": 120700}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [47, 60, 1, 0, 0, 0, 130, 132, 2, 0, 0, 0, 98, 140, 2, 17, 162, 2, 61, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 42, 1], "image_id": 106606, "bbox": [0, 1.27, 141.89, 193.41], "category_id": 1, "id": 120714}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 7, 2, 395, 10, 2, 371, 34, 2, 396, 43, 2, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [361.98, 0, 52.76, 54.48], "category_id": 1, "id": 120717}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [390, 146, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 121, 1, 390, 141, 1], "image_id": 103807, "bbox": [378.02, 119.37, 30.05, 67.05], "category_id": 1, "id": 120731}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 225, 1, 407, 229, 1], "image_id": 107358, "bbox": [402.14, 225.17, 12.36, 20.41], "category_id": 1, "id": 120752}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 230, 1], "image_id": 107358, "bbox": [371.62, 225.66, 8.29, 32.27], "category_id": 1, "id": 120754}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 103, 1, 154, 119, 1], "image_id": 103807, "bbox": [143.1, 102.14, 22.43, 46.3], "category_id": 1, "id": 120767}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [31, 249, 2, 0, 0, 0, 106, 289, 2, 0, 0, 0, 174, 326, 2, 58, 405, 1, 109, 387, 1, 72, 426, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 1, 8, 251, 1], "image_id": 104350, "bbox": [0.88, 175.28, 208.93, 175.13], "category_id": 1, "id": 120768}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 102, 1, 46, 111, 1], "image_id": 103807, "bbox": [31.56, 102.1, 23.38, 51.36], "category_id": 1, "id": 120773}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 293, 1, 186, 308, 1], "image_id": 106878, "bbox": [157.18, 287.55, 45.2, 57.6], "category_id": 1, "id": 120775}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 238, 1, 58, 244, 1], "image_id": 107358, "bbox": [49.35, 238.77, 15.75, 45.6], "category_id": 1, "id": 120782}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 10, 1, 415, 24, 1], "image_id": 107213, "bbox": [382.92, 10, 44.67, 47.56], "category_id": 1, "id": 120809}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [636, 16, 2, 615, 14, 2, 0, 0, 0, 0, 0, 0, 630, 85, 1, 0, 0, 0, 623, 85, 1, 607, 79, 2, 622, 132, 2, 604, 129, 2, 622, 176, 2, 600, 168, 2, 0, 0, 0, 627, 6, 1], "image_id": 107213, "bbox": [578.72, 1.01, 61.28, 191.87], "category_id": 1, "id": 120827}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [233, 131, 2, 250, 129, 2, 231, 149, 2, 0, 0, 0, 224, 147, 1, 0, 0, 0, 235, 167, 2, 248, 166, 2, 236, 195, 2, 246, 194, 2, 236, 222, 2, 244, 222, 2, 232, 106, 1, 236, 122, 1], "image_id": 103807, "bbox": [224.19, 105.17, 34.28, 125.32], "category_id": 1, "id": 120833}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 637, 106, 1, 0, 0, 0], "image_id": 103504, "bbox": [625.26, 103.78, 14.74, 124.19], "category_id": 1, "id": 120834}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103807, "bbox": [252.13, 99.5, 18.53, 21.82], "category_id": 1, "id": 120835}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [196, 229, 2, 202, 229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 193, 1, 200, 218, 1], "image_id": 104871, "bbox": [182.65, 188.36, 62.79, 65.64], "category_id": 1, "id": 120880}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [408, 283, 2, 321, 265, 2, 448, 350, 2, 338, 337, 2, 413, 383, 2, 299, 357, 2, 361, 390, 2, 307, 371, 2, 0, 0, 0, 239, 408, 2, 0, 0, 0, 0, 0, 0, 348, 145, 1, 364, 259, 1], "image_id": 104195, "bbox": [226.35, 129.89, 241.63, 289.38], "category_id": 1, "id": 120890}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 126, 2, 297, 126, 2, 389, 182, 2, 280, 182, 2, 383, 220, 2, 270, 222, 2, 359, 240, 2, 313, 240, 2, 359, 340, 1, 325, 340, 1, 362, 409, 1, 328, 411, 1, 317, 58, 1, 332, 111, 1], "image_id": 103998, "bbox": [255.84, 62.4, 144.45, 252.07], "category_id": 1, "id": 120895}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [125, 109, 2, 149, 112, 2, 116, 163, 2, 167, 163, 2, 78, 169, 2, 0, 0, 0, 129, 184, 2, 146, 184, 2, 121, 275, 2, 143, 274, 2, 0, 0, 0, 0, 0, 0, 127, 62, 1, 129, 95, 1], "image_id": 108165, "bbox": [48.94, 48.94, 123.78, 293.62], "category_id": 1, "id": 120906}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [263, 160, 2, 208, 158, 2, 276, 225, 2, 217, 196, 2, 224, 257, 2, 217, 248, 2, 316, 209, 2, 260, 209, 2, 371, 298, 2, 208, 287, 2, 443, 394, 2, 157, 391, 2, 204, 100, 1, 229, 141, 1], "image_id": 105821, "bbox": [121.86, 85.4, 339.68, 332.96], "category_id": 1, "id": 120921}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [26, 109, 1, 128, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 9, 1, 74, 89, 1], "image_id": 108380, "bbox": [7.41, 1.2, 117.01, 114.64], "category_id": 1, "id": 120929}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [93, 290, 2, 65, 285, 2, 102, 308, 2, 51, 305, 2, 108, 331, 2, 46, 325, 2, 86, 335, 2, 65, 331, 2, 85, 363, 2, 64, 362, 2, 86, 396, 2, 64, 388, 2, 82, 253, 1, 80, 276, 1], "image_id": 105856, "bbox": [37.89, 248.55, 83.42, 163.31], "category_id": 1, "id": 120946}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 170, 2, 246, 181, 2, 327, 196, 2, 248, 230, 2, 363, 213, 2, 227, 267, 1, 300, 248, 2, 280, 257, 2, 255, 277, 2, 273, 314, 2, 204, 321, 2, 300, 369, 2, 248, 117, 1, 263, 165, 1], "image_id": 103689, "bbox": [165.31, 107.62, 229.62, 272.32], "category_id": 1, "id": 120951}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [458, 277, 2, 305, 314, 2, 563, 246, 2, 356, 424, 1, 543, 302, 2, 350, 353, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 148, 1, 378, 286, 1], "image_id": 104438, "bbox": [288.43, 118.39, 300.27, 265.83], "category_id": 1, "id": 120952}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [203, 112, 2, 176, 109, 2, 164, 152, 2, 0, 0, 0, 132, 153, 1, 0, 0, 0, 212, 225, 2, 172, 225, 2, 192, 291, 2, 169, 291, 2, 187, 359, 2, 208, 346, 2, 180, 45, 1, 188, 95, 1], "image_id": 104133, "bbox": [144.92, 34.41, 96.28, 354.71], "category_id": 1, "id": 120968}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [475, 200, 2, 429, 200, 2, 511, 212, 2, 402, 211, 2, 531, 236, 2, 386, 236, 2, 477, 239, 2, 448, 239, 2, 473, 259, 2, 421, 259, 2, 484, 320, 2, 425, 314, 2, 443, 169, 1, 449, 193, 1], "image_id": 104427, "bbox": [380.15, 161.37, 165.24, 171.93], "category_id": 1, "id": 120973}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [243, 231, 2, 222, 220, 2, 229, 254, 2, 201, 239, 2, 245, 254, 2, 191, 261, 2, 219, 291, 2, 205, 287, 2, 208, 331, 2, 181, 332, 2, 193, 365, 2, 141, 388, 2, 248, 189, 1, 238, 211, 1], "image_id": 105430, "bbox": [133.27, 183.93, 126.78, 217.79], "category_id": 1, "id": 120982}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [477, 132, 2, 463, 130, 2, 533, 197, 2, 507, 194, 2, 515, 257, 2, 501, 238, 2, 555, 225, 2, 539, 223, 2, 493, 315, 2, 500, 292, 2, 536, 403, 2, 541, 369, 2, 404, 122, 1, 458, 132, 1], "image_id": 103258, "bbox": [399.1, 90.68, 188.32, 343.46], "category_id": 1, "id": 120997}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [270, 154, 2, 119, 152, 2, 391, 119, 2, 88, 275, 2, 369, 165, 2, 169, 197, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 64, 1, 208, 128, 1], "image_id": 102631, "bbox": [29.75, 35.57, 409.72, 384.78], "category_id": 1, "id": 121011}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [222, 195, 2, 139, 190, 2, 238, 220, 2, 95, 200, 2, 195, 175, 2, 138, 159, 2, 205, 322, 2, 150, 323, 2, 263, 449, 2, 160, 433, 2, 282, 542, 2, 129, 546, 2, 202, 116, 1, 184, 181, 1], "image_id": 104727, "bbox": [86.29, 100.84, 235.87, 487.55], "category_id": 1, "id": 121013}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 430, 2, 361, 439, 2, 394, 456, 2, 357, 471, 2, 390, 483, 2, 357, 504, 2, 388, 483, 2, 370, 484, 2, 375, 534, 2, 379, 539, 2, 359, 576, 2, 384, 589, 2, 374, 393, 1, 374, 423, 1], "image_id": 104045, "bbox": [349, 386.62, 53.06, 220.93], "category_id": 1, "id": 121016}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 194, 2, 232, 201, 2, 329, 216, 1, 229, 240, 2, 305, 216, 2, 263, 217, 2, 286, 264, 2, 249, 266, 2, 294, 275, 2, 230, 279, 2, 283, 345, 2, 246, 348, 2, 251, 160, 1, 256, 190, 1], "image_id": 107184, "bbox": [213.16, 150.3, 111.19, 221.54], "category_id": 1, "id": 121019}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [276, 143, 2, 256, 136, 2, 262, 225, 2, 233, 219, 2, 264, 282, 2, 295, 276, 2, 222, 254, 2, 196, 257, 2, 254, 392, 2, 245, 395, 2, 230, 498, 2, 230, 502, 2, 282, 58, 1, 275, 123, 1], "image_id": 103063, "bbox": [166.83, 41.8, 152.45, 513.44], "category_id": 1, "id": 121024}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [270, 232, 2, 207, 227, 2, 271, 276, 2, 171, 273, 2, 279, 327, 2, 190, 295, 2, 239, 339, 2, 193, 341, 2, 254, 393, 2, 169, 406, 2, 219, 451, 2, 140, 463, 2, 244, 164, 1, 239, 218, 1], "image_id": 104879, "bbox": [123.41, 156.58, 167.89, 340.09], "category_id": 1, "id": 121025}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [365, 155, 2, 286, 160, 2, 378, 221, 2, 281, 227, 2, 361, 188, 2, 319, 190, 2, 355, 284, 2, 303, 284, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 95, 1, 329, 145, 1], "image_id": 106031, "bbox": [270.59, 83.19, 118.99, 265.79], "category_id": 1, "id": 121047}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [236, 170, 2, 148, 181, 2, 308, 301, 2, 196, 323, 2, 342, 226, 2, 297, 245, 2, 264, 382, 2, 202, 400, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 28, 1, 187, 139, 1], "image_id": 105217, "bbox": [110.85, 16.27, 264.76, 452.02], "category_id": 1, "id": 121054}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [324, 190, 2, 361, 240, 2, 400, 182, 2, 428, 253, 2, 445, 172, 2, 473, 224, 2, 213, 279, 2, 238, 324, 2, 138, 311, 2, 162, 368, 2, 99, 350, 2, 87, 391, 2, 367, 164, 1, 346, 206, 1], "image_id": 107651, "bbox": [18.74, 150.63, 484.32, 275.32], "category_id": 1, "id": 121056}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [267, 268, 2, 164, 269, 2, 293, 362, 1, 116, 360, 2, 265, 309, 2, 153, 334, 2, 255, 414, 1, 181, 416, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 165, 1, 215, 254, 1], "image_id": 104959, "bbox": [105.62, 142.7, 203.37, 233.7], "category_id": 1, "id": 121058}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [201, 532, 2, 192, 520, 2, 203, 545, 2, 212, 525, 2, 220, 533, 2, 218, 497, 2, 197, 587, 2, 185, 587, 2, 208, 629, 2, 197, 628, 2, 0, 0, 0, 0, 0, 0, 193, 483, 1, 192, 511, 1], "image_id": 108086, "bbox": [159.38, 480.51, 73.99, 159.49], "category_id": 1, "id": 121070}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [370, 211, 2, 220, 212, 2, 341, 150, 2, 120, 264, 2, 254, 73, 2, 45, 224, 2, 373, 463, 2, 284, 466, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 310, 94, 1, 292, 209, 1], "image_id": 102858, "bbox": [0.26, 26.97, 417.18, 447.64], "category_id": 1, "id": 121080}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [200, 172, 2, 141, 172, 2, 195, 221, 2, 139, 223, 2, 194, 265, 2, 155, 192, 2, 174, 263, 2, 132, 262, 2, 168, 348, 2, 126, 343, 2, 165, 421, 2, 77, 390, 2, 179, 109, 1, 171, 156, 1], "image_id": 105021, "bbox": [57.86, 98.14, 151.33, 352.33], "category_id": 1, "id": 121085}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 386, 1, 417, 398, 1], "image_id": 104045, "bbox": [407.61, 385.67, 17.49, 93.29], "category_id": 1, "id": 121104}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [175, 144, 2, 190, 174, 2, 222, 156, 2, 226, 205, 2, 250, 180, 2, 258, 196, 2, 159, 223, 2, 172, 228, 2, 216, 262, 2, 182, 293, 2, 230, 314, 2, 132, 305, 2, 205, 125, 1, 194, 153, 1], "image_id": 103676, "bbox": [103.39, 109.13, 170.4, 243.16], "category_id": 1, "id": 121108}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [308, 172, 2, 222, 221, 2, 352, 185, 2, 174, 261, 2, 364, 215, 2, 123, 250, 2, 295, 331, 2, 219, 328, 2, 325, 437, 2, 173, 453, 2, 325, 574, 2, 207, 510, 2, 254, 133, 1, 261, 182, 1], "image_id": 104173, "bbox": [86.29, 129.2, 304.9, 496.18], "category_id": 1, "id": 121125}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [297, 185, 2, 327, 184, 2, 286, 199, 2, 340, 195, 2, 267, 207, 2, 355, 199, 2, 301, 238, 2, 320, 238, 2, 298, 259, 2, 320, 261, 2, 293, 289, 2, 319, 290, 2, 313, 160, 1, 311, 175, 1], "image_id": 105615, "bbox": [257.28, 155.69, 107.83, 146.49], "category_id": 1, "id": 121129}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [491, 205, 2, 460, 204, 2, 500, 226, 2, 450, 223, 2, 485, 241, 2, 449, 242, 2, 489, 241, 1, 466, 241, 2, 495, 277, 2, 456, 277, 2, 499, 316, 2, 451, 314, 2, 472, 177, 1, 475, 198, 1], "image_id": 105888, "bbox": [444.85, 175.34, 64.82, 151.04], "category_id": 1, "id": 121143}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [241, 120, 2, 279, 129, 2, 274, 163, 2, 274, 189, 2, 267, 224, 2, 211, 199, 2, 295, 240, 2, 334, 246, 2, 222, 322, 2, 371, 333, 2, 302, 391, 2, 429, 404, 2, 223, 57, 1, 238, 105, 1], "image_id": 106852, "bbox": [183.8, 51.69, 266.13, 368.57], "category_id": 1, "id": 121144}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [406, 166, 2, 419, 148, 2, 311, 290, 2, 321, 187, 2, 260, 226, 2, 255, 148, 2, 370, 362, 2, 0, 0, 0, 357, 503, 2, 0, 0, 0, 362, 620, 1, 0, 0, 0, 399, 9, 1, 407, 113, 1], "image_id": 107150, "bbox": [207.61, 3, 256.28, 634.27], "category_id": 1, "id": 121145}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [437, 241, 2, 343, 238, 2, 415, 301, 1, 334, 301, 2, 379, 227, 2, 318, 352, 2, 395, 374, 2, 328, 369, 2, 319, 410, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 153, 1, 386, 223, 1], "image_id": 107526, "bbox": [302.99, 143.43, 150.06, 278.95], "category_id": 1, "id": 121154}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [192, 140, 2, 281, 129, 2, 160, 197, 2, 251, 183, 2, 105, 196, 2, 183, 161, 2, 233, 294, 2, 286, 273, 2, 108, 272, 2, 181, 246, 1, 24, 352, 2, 0, 0, 0, 232, 44, 1, 237, 99, 1], "image_id": 104995, "bbox": [0, 34.67, 323.39, 338.52], "category_id": 1, "id": 121158}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [342, 241, 2, 132, 237, 2, 429, 339, 2, 89, 417, 2, 368, 367, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 38, 1, 259, 190, 1], "image_id": 104249, "bbox": [38.83, 20.49, 419.6, 458.43], "category_id": 1, "id": 121160}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [379, 137, 2, 301, 132, 2, 419, 152, 2, 255, 189, 2, 449, 130, 2, 232, 210, 2, 346, 276, 2, 304, 269, 2, 325, 355, 2, 365, 325, 2, 0, 0, 0, 434, 270, 2, 338, 67, 1, 338, 123, 1], "image_id": 107718, "bbox": [201.05, 51.81, 283.39, 368.6], "category_id": 1, "id": 121163}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [513, 386, 2, 260, 341, 2, 0, 0, 0, 0, 0, 0, 279, 413, 2, 191, 409, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 46, 1, 374, 311, 1], "image_id": 105692, "bbox": [141.3, 29.12, 415.28, 450.88], "category_id": 1, "id": 121171}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [412, 114, 2, 385, 145, 2, 486, 132, 2, 361, 207, 2, 501, 196, 2, 304, 185, 1, 473, 214, 2, 455, 223, 2, 434, 334, 2, 422, 304, 2, 540, 353, 2, 480, 387, 2, 370, 59, 1, 393, 112, 1], "image_id": 106852, "bbox": [328.79, 52.51, 234.44, 350.71], "category_id": 1, "id": 121183}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [367, 245, 2, 464, 244, 2, 286, 412, 2, 408, 408, 2, 254, 355, 2, 293, 326, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 138, 1, 366, 219, 1], "image_id": 104985, "bbox": [211.4, 114.71, 345.94, 310.29], "category_id": 1, "id": 121185}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [149, 413, 2, 0, 0, 0, 236, 568, 2, 0, 0, 0, 226, 358, 2, 58, 535, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 236, 1, 65, 415, 1], "image_id": 102581, "bbox": [0, 218.9, 321.26, 421.1], "category_id": 1, "id": 121187}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [608, 297, 2, 550, 289, 2, 575, 353, 2, 516, 359, 2, 508, 297, 2, 476, 323, 2, 539, 416, 1, 507, 404, 2, 415, 452, 1, 407, 413, 1, 371, 551, 1, 0, 0, 0, 568, 215, 1, 579, 281, 1], "image_id": 106040, "bbox": [439.31, 211.02, 172.69, 259.72], "category_id": 1, "id": 121189}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [349, 22, 2, 354, 37, 2, 358, 67, 2, 364, 58, 2, 351, 96, 2, 369, 87, 1, 410, 34, 2, 405, 59, 2, 373, 52, 2, 369, 61, 2, 408, 88, 2, 380, 75, 2, 309, 24, 1, 340, 26, 1], "image_id": 104871, "bbox": [303.77, 4.86, 122.42, 116.13], "category_id": 1, "id": 121198}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [544, 191, 2, 396, 204, 2, 567, 291, 2, 378, 296, 2, 565, 392, 2, 367, 389, 2, 520, 356, 2, 422, 360, 2, 514, 504, 2, 424, 504, 2, 0, 0, 0, 0, 0, 0, 449, 77, 1, 461, 165, 1], "image_id": 106437, "bbox": [347.92, 55.98, 253.42, 584.02], "category_id": 1, "id": 121205}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 143, 244, 2, 0, 0, 0, 251, 299, 2, 174, 360, 2, 370, 276, 2, 125, 407, 2, 84, 407, 2, 107, 571, 2, 158, 570, 2, 0, 0, 0, 0, 0, 0, 162, 142, 1, 158, 223, 1], "image_id": 105383, "bbox": [44.58, 135.29, 394.07, 497.61], "category_id": 1, "id": 121208}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [552, 117, 2, 454, 119, 2, 609, 227, 2, 415, 213, 2, 0, 0, 0, 432, 254, 2, 551, 289, 2, 479, 289, 2, 560, 340, 2, 459, 338, 2, 0, 0, 0, 0, 0, 0, 495, 12, 1, 503, 109, 1], "image_id": 108380, "bbox": [395.5, 0, 237.71, 456.14], "category_id": 1, "id": 121218}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [440, 87, 2, 394, 86, 2, 459, 127, 2, 383, 128, 2, 0, 0, 0, 0, 0, 0, 431, 169, 2, 401, 168, 2, 435, 225, 2, 404, 226, 2, 442, 283, 2, 404, 283, 2, 416, 25, 1, 416, 68, 1], "image_id": 105821, "bbox": [374.95, 23.86, 93.5, 282.41], "category_id": 1, "id": 121223}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [383, 116, 2, 386, 112, 2, 388, 141, 2, 0, 0, 0, 372, 152, 2, 0, 0, 0, 392, 153, 2, 395, 150, 2, 374, 193, 2, 367, 193, 2, 388, 230, 2, 378, 229, 2, 380, 87, 1, 384, 107, 1], "image_id": 108446, "bbox": [345.04, 85.03, 66.71, 165.57], "category_id": 1, "id": 121253}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [439, 228, 2, 261, 228, 2, 532, 365, 1, 181, 351, 1, 411, 314, 2, 204, 319, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 76, 1, 346, 202, 1], "image_id": 105370, "bbox": [193.12, 11.36, 335.12, 337.39], "category_id": 1, "id": 121273}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 352, 354, 2, 0, 0, 0, 353, 498, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 569, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 322, 1], "image_id": 105943, "bbox": [297.81, 189.26, 129.19, 450.74], "category_id": 1, "id": 121278}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [137, 309, 1, 0, 0, 0, 221, 443, 1, 0, 0, 0, 0, 0, 0, 146, 473, 1, 156, 608, 1, 14, 625, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 172, 1, 60, 299, 1], "image_id": 107461, "bbox": [1.44, 141.22, 166.14, 368.4], "category_id": 1, "id": 121279}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 183, 1, 152, 195, 1], "image_id": 103861, "bbox": [140.09, 183.16, 27.46, 44.46], "category_id": 1, "id": 121285}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [537, 177, 2, 606, 179, 2, 516, 230, 2, 626, 248, 2, 508, 294, 2, 623, 306, 2, 548, 297, 2, 591, 299, 2, 575, 379, 2, 586, 389, 2, 0, 0, 0, 0, 0, 0, 569, 102, 1, 572, 147, 1], "image_id": 104702, "bbox": [498.57, 96.62, 135.27, 317.89], "category_id": 1, "id": 121292}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [182, 160, 2, 90, 222, 2, 257, 174, 2, 134, 318, 2, 308, 227, 2, 111, 314, 2, 170, 291, 2, 138, 297, 2, 204, 390, 2, 217, 342, 2, 136, 460, 2, 231, 466, 2, 86, 107, 1, 126, 176, 1], "image_id": 108114, "bbox": [54.25, 76.67, 287.17, 442.16], "category_id": 1, "id": 121297}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 216, 2, 341, 237, 2, 326, 179, 2, 329, 232, 2, 330, 144, 2, 322, 221, 2, 298, 310, 2, 313, 313, 2, 265, 356, 2, 296, 356, 2, 300, 407, 2, 336, 398, 2, 353, 194, 1, 335, 217, 1], "image_id": 105833, "bbox": [258.03, 118.58, 109.29, 313.91], "category_id": 1, "id": 121300}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 269, 2, 154, 271, 2, 221, 322, 2, 132, 321, 2, 210, 347, 2, 164, 355, 2, 191, 345, 2, 147, 346, 2, 234, 420, 2, 108, 420, 2, 251, 497, 2, 68, 495, 2, 187, 214, 1, 183, 261, 1], "image_id": 107176, "bbox": [46.13, 216.94, 229.19, 312.79], "category_id": 1, "id": 121301}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [201, 491, 2, 73, 463, 2, 179, 583, 2, 43, 576, 2, 0, 0, 0, 0, 0, 0, 133, 633, 2, 17, 605, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 340, 1, 142, 463, 1], "image_id": 106565, "bbox": [1.05, 202.36, 255.8, 437.64], "category_id": 1, "id": 121304}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [197, 183, 2, 153, 199, 2, 236, 207, 2, 149, 231, 2, 271, 233, 2, 139, 239, 2, 209, 264, 2, 176, 271, 2, 227, 316, 2, 178, 331, 2, 239, 369, 2, 171, 380, 2, 175, 146, 1, 171, 181, 1], "image_id": 106035, "bbox": [125.8, 136.37, 167.73, 267.8], "category_id": 1, "id": 121306}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [374, 362, 2, 497, 357, 1, 363, 460, 2, 509, 450, 2, 0, 0, 0, 0, 0, 0, 412, 501, 2, 475, 499, 2, 425, 617, 2, 476, 616, 2, 0, 0, 0, 0, 0, 0, 432, 250, 1, 432, 321, 1], "image_id": 104402, "bbox": [348.04, 238.74, 172.59, 394.07], "category_id": 1, "id": 121316}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [193, 428, 2, 226, 425, 2, 177, 446, 2, 207, 445, 2, 205, 443, 2, 179, 448, 2, 199, 480, 2, 223, 479, 2, 184, 446, 2, 208, 446, 2, 189, 477, 2, 213, 474, 2, 202, 398, 1, 208, 419, 1], "image_id": 106849, "bbox": [174.28, 395.3, 59.06, 88.39], "category_id": 1, "id": 121322}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 143, 2, 497, 136, 2, 571, 199, 2, 453, 146, 1, 572, 240, 2, 455, 92, 2, 541, 241, 2, 508, 238, 2, 539, 311, 2, 486, 305, 2, 535, 388, 2, 476, 384, 2, 532, 83, 1, 527, 130, 1], "image_id": 106617, "bbox": [443.35, 70.58, 140.41, 332.32], "category_id": 1, "id": 121339}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [228, 179, 2, 327, 169, 2, 161, 219, 2, 331, 147, 2, 117, 180, 2, 276, 130, 2, 249, 311, 2, 298, 304, 2, 177, 434, 2, 299, 448, 2, 138, 560, 2, 374, 542, 2, 265, 57, 1, 269, 137, 1], "image_id": 107086, "bbox": [64.72, 31.64, 358.11, 569.53], "category_id": 1, "id": 121344}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 371, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102620, "bbox": [0, 124.08, 373.39, 302.92], "category_id": 1, "id": 121346}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 133, 2, 289, 134, 2, 326, 157, 2, 292, 169, 2, 337, 168, 2, 323, 172, 2, 313, 173, 2, 295, 183, 2, 349, 181, 2, 337, 188, 2, 377, 197, 2, 369, 218, 1, 323, 102, 1, 308, 126, 1], "image_id": 103258, "bbox": [275.88, 95.94, 126.75, 117.16], "category_id": 1, "id": 121359}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 474, 119, 1, 22, 54, 2, 0, 0, 0, 0, 0, 0, 360, 223, 1, 150, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106248, "bbox": [1.44, 1.2, 473.17, 168.27], "category_id": 1, "id": 121365}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [259, 177, 2, 182, 135, 2, 303, 239, 2, 143, 181, 2, 356, 298, 2, 128, 174, 2, 217, 267, 2, 169, 254, 2, 307, 339, 2, 243, 253, 2, 241, 332, 2, 170, 341, 2, 249, 94, 1, 218, 147, 1], "image_id": 107231, "bbox": [113.65, 75.29, 255, 290.34], "category_id": 1, "id": 121368}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 227, 2, 224, 225, 2, 398, 285, 2, 136, 266, 2, 471, 331, 2, 71, 292, 2, 336, 356, 2, 271, 360, 2, 308, 456, 2, 232, 458, 2, 297, 559, 2, 233, 531, 2, 253, 146, 1, 273, 213, 1], "image_id": 107995, "bbox": [24.34, 136.16, 487.66, 479.64], "category_id": 1, "id": 121389}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [471, 312, 2, 204, 268, 2, 0, 0, 0, 199, 420, 2, 401, 398, 2, 158, 389, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, 18, 1, 341, 285, 1], "image_id": 107055, "bbox": [106.51, 0, 418.36, 422.2], "category_id": 1, "id": 121401}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [331, 155, 2, 416, 154, 2, 313, 221, 2, 437, 219, 2, 300, 251, 2, 399, 213, 2, 350, 287, 2, 401, 284, 2, 358, 380, 2, 390, 372, 2, 0, 0, 0, 0, 0, 0, 372, 78, 1, 369, 129, 1], "image_id": 103441, "bbox": [293.62, 73.59, 154.49, 347.36], "category_id": 1, "id": 121406}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [395, 201, 2, 244, 201, 2, 0, 0, 0, 0, 0, 0, 392, 248, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 55, 1, 319, 163, 1], "image_id": 106444, "bbox": [208.29, 41.55, 253.98, 253.31], "category_id": 1, "id": 121418}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [106, 190, 2, 125, 198, 2, 0, 0, 0, 215, 258, 2, 155, 294, 2, 284, 250, 2, 91, 341, 2, 102, 347, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 145, 1, 149, 187, 1], "image_id": 107939, "bbox": [56.61, 121.86, 277.31, 299.38], "category_id": 1, "id": 121432}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [190, 488, 2, 197, 463, 2, 106, 469, 2, 118, 410, 2, 71, 402, 2, 183, 380, 2, 0, 0, 0, 2, 436, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 447, 1, 208, 466, 1], "image_id": 107205, "bbox": [0, 337.15, 364.48, 223.85], "category_id": 1, "id": 121464}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 129, 2, 373, 147, 2, 419, 144, 2, 383, 201, 2, 405, 164, 2, 390, 190, 2, 431, 204, 2, 402, 213, 2, 463, 282, 2, 380, 292, 2, 482, 344, 2, 335, 334, 2, 370, 98, 1, 381, 130, 1], "image_id": 104726, "bbox": [309.92, 85.56, 183.48, 285.2], "category_id": 1, "id": 121470}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [203, 128, 2, 108, 131, 2, 205, 174, 2, 92, 204, 2, 209, 182, 2, 93, 262, 2, 175, 242, 2, 122, 245, 2, 190, 359, 2, 123, 360, 2, 206, 466, 2, 123, 459, 2, 154, 35, 1, 154, 104, 1], "image_id": 107430, "bbox": [74.16, 30.15, 164.04, 465.17], "category_id": 1, "id": 121492}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [408, 131, 2, 337, 130, 2, 475, 147, 2, 279, 158, 2, 538, 167, 2, 229, 182, 2, 408, 226, 2, 380, 239, 2, 459, 309, 2, 390, 327, 2, 556, 291, 2, 486, 345, 2, 352, 61, 1, 371, 110, 1], "image_id": 107813, "bbox": [201.51, 33.58, 418.36, 358.88], "category_id": 1, "id": 121509}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [147, 304, 2, 183, 277, 2, 114, 366, 2, 202, 239, 2, 64, 363, 2, 223, 223, 2, 176, 371, 2, 200, 353, 2, 197, 461, 2, 217, 442, 2, 235, 532, 2, 238, 514, 2, 172, 254, 1, 161, 287, 1], "image_id": 108503, "bbox": [40.53, 216.03, 223.17, 365.78], "category_id": 1, "id": 121511}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [172, 110, 2, 166, 114, 1, 216, 134, 2, 161, 52, 2, 247, 135, 2, 137, 94, 1, 262, 150, 2, 260, 161, 2, 329, 99, 2, 356, 107, 2, 343, 193, 2, 376, 200, 2, 161, 46, 1, 169, 96, 1], "image_id": 108001, "bbox": [120.51, 42.13, 275.84, 172.49], "category_id": 1, "id": 121513}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 71, 1], "image_id": 104780, "bbox": [305.33, 62.58, 11.28, 24.37], "category_id": 1, "id": 121531}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [514, 258, 2, 428, 254, 1, 488, 281, 2, 455, 285, 2, 462, 288, 2, 433, 285, 2, 448, 287, 2, 447, 307, 2, 396, 321, 2, 407, 293, 2, 389, 402, 2, 395, 369, 2, 491, 213, 1, 496, 247, 1], "image_id": 107111, "bbox": [360.9, 209.65, 158.92, 212.52], "category_id": 1, "id": 121560}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [149, 130, 2, 231, 123, 2, 0, 0, 0, 300, 221, 2, 0, 0, 0, 365, 264, 2, 111, 313, 2, 186, 318, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 31, 1, 204, 97, 1], "image_id": 106202, "bbox": [85.6, 23.33, 319.58, 403.67], "category_id": 1, "id": 121561}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [312, 63, 2, 295, 58, 2, 0, 0, 0, 284, 72, 2, 0, 0, 0, 294, 71, 2, 312, 96, 2, 295, 94, 1, 330, 93, 2, 313, 100, 2, 356, 122, 2, 307, 140, 2, 307, 34, 1, 305, 56, 1], "image_id": 103372, "bbox": [280.49, 36.56, 85.65, 114.71], "category_id": 1, "id": 121564}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [322, 227, 2, 135, 230, 2, 385, 368, 2, 132, 394, 2, 465, 329, 2, 118, 373, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 72, 1, 228, 191, 1], "image_id": 107869, "bbox": [57.3, 52.53, 468.94, 365.78], "category_id": 1, "id": 121582}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 213, 1, 182, 214, 2, 324, 213, 1, 121, 220, 1, 368, 189, 1, 75, 224, 1, 252, 336, 1, 202, 336, 2, 247, 443, 2, 207, 440, 2, 240, 528, 2, 220, 509, 2, 216, 133, 1, 216, 204, 1], "image_id": 106761, "bbox": [166.19, 122.73, 117.3, 452.01], "category_id": 1, "id": 121605}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 280, 2, 320, 196, 2, 317, 362, 1, 293, 162, 2, 359, 370, 1, 293, 109, 2, 253, 348, 2, 194, 315, 2, 301, 424, 2, 127, 437, 2, 308, 542, 2, 53, 480, 2, 400, 168, 1, 360, 226, 1], "image_id": 103586, "bbox": [26, 66.09, 408.85, 524.43], "category_id": 1, "id": 121606}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [400, 191, 1, 295, 185, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 370, 2, 301, 372, 1, 367, 531, 2, 294, 513, 2, 0, 0, 0, 0, 0, 0, 357, 103, 1, 350, 167, 1], "image_id": 106437, "bbox": [248.25, 83.4, 162.15, 546.72], "category_id": 1, "id": 121609}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [585, 226, 2, 373, 261, 2, 0, 0, 0, 241, 243, 2, 0, 0, 0, 142, 140, 2, 624, 547, 1, 465, 550, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 58, 1, 461, 214, 1], "image_id": 103264, "bbox": [87.73, 43.15, 540.76, 501.93], "category_id": 1, "id": 121610}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [405, 154, 2, 462, 154, 2, 378, 221, 2, 489, 239, 2, 364, 265, 2, 448, 263, 2, 414, 266, 2, 470, 260, 2, 393, 361, 2, 453, 363, 2, 374, 437, 2, 444, 447, 2, 423, 103, 1, 430, 140, 1], "image_id": 103894, "bbox": [341.9, 100.76, 164.98, 376.63], "category_id": 1, "id": 121614}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [159, 308, 2, 315, 370, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 100, 1, 279, 278, 1], "image_id": 102867, "bbox": [79.81, 68.07, 350.5, 405.51], "category_id": 1, "id": 121647}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [212, 262, 2, 157, 263, 1, 0, 0, 0, 0, 0, 0, 230, 391, 2, 172, 406, 1, 220, 392, 2, 175, 392, 1, 216, 503, 2, 171, 509, 1, 226, 623, 2, 0, 0, 0, 0, 0, 0, 176, 236, 1], "image_id": 105383, "bbox": [166.21, 222.26, 108.93, 417.74], "category_id": 1, "id": 121657}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [184, 364, 2, 157, 350, 2, 182, 406, 2, 159, 366, 2, 219, 403, 2, 172, 380, 2, 164, 455, 2, 137, 455, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 293, 1, 174, 343, 1], "image_id": 106911, "bbox": [114.54, 290.49, 131.51, 233.51], "category_id": 1, "id": 121713}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [546, 337, 2, 382, 300, 2, 0, 0, 0, 340, 348, 2, 0, 0, 0, 233, 349, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 141, 1, 441, 296, 1], "image_id": 103799, "bbox": [165.52, 120.58, 474.48, 306.27], "category_id": 1, "id": 121716}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [304, 85, 2, 216, 96, 2, 320, 155, 2, 0, 0, 0, 297, 146, 2, 0, 0, 0, 285, 189, 2, 251, 190, 1, 277, 298, 2, 246, 229, 2, 267, 385, 2, 228, 335, 2, 248, 22, 1, 256, 81, 1], "image_id": 103269, "bbox": [198.87, 10.43, 133.86, 398.42], "category_id": 1, "id": 121730}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [298, 141, 2, 267, 139, 2, 313, 204, 2, 277, 173, 2, 273, 242, 2, 253, 212, 2, 330, 215, 2, 307, 215, 2, 339, 284, 1, 310, 280, 1, 0, 0, 0, 0, 0, 0, 229, 102, 1, 274, 130, 1], "image_id": 107166, "bbox": [210.47, 83.04, 169.66, 226.58], "category_id": 1, "id": 121733}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [326, 160, 2, 212, 150, 2, 0, 0, 0, 0, 0, 0, 378, 218, 2, 70, 242, 1, 296, 392, 2, 226, 398, 2, 281, 527, 2, 206, 536, 2, 0, 0, 0, 0, 0, 0, 311, 20, 1, 276, 127, 1], "image_id": 104008, "bbox": [192.72, 2.88, 232.99, 552.27], "category_id": 1, "id": 121746}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [385, 305, 2, 262, 306, 2, 442, 386, 2, 186, 368, 1, 347, 381, 2, 242, 377, 2, 369, 456, 1, 289, 458, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 183, 1, 320, 295, 1], "image_id": 105327, "bbox": [191.16, 177.41, 277.81, 239.3], "category_id": 1, "id": 121750}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 342, 35, 2, 209, 36, 2, 321, 31, 2, 205, 53, 2, 324, 88, 1, 242, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108586, "bbox": [191.74, 0, 157.46, 65.05], "category_id": 1, "id": 121761}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [449, 315, 2, 292, 283, 2, 425, 407, 1, 201, 416, 2, 258, 391, 2, 244, 319, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 151, 1, 367, 272, 1], "image_id": 104458, "bbox": [147.78, 130.19, 339.77, 313.88], "category_id": 1, "id": 121777}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [359, 166, 2, 304, 171, 2, 365, 213, 1, 281, 202, 2, 321, 213, 2, 296, 219, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 128, 1, 332, 164, 1], "image_id": 103222, "bbox": [272.2, 121.48, 104.03, 105.96], "category_id": 1, "id": 121784}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [66, 162, 2, 95, 166, 2, 0, 0, 0, 136, 236, 2, 146, 216, 2, 145, 219, 2, 74, 282, 2, 96, 286, 2, 69, 371, 2, 130, 379, 2, 44, 453, 2, 150, 462, 2, 93, 92, 1, 82, 140, 1], "image_id": 103937, "bbox": [20.49, 86.29, 169.35, 386.16], "category_id": 1, "id": 121786}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [218, 128, 2, 170, 128, 2, 208, 170, 2, 0, 0, 0, 172, 155, 2, 0, 0, 0, 202, 216, 1, 172, 207, 1, 180, 290, 2, 165, 269, 2, 0, 0, 0, 175, 316, 2, 188, 69, 1, 192, 113, 1], "image_id": 108491, "bbox": [145.79, 64.89, 86.79, 305.05], "category_id": 1, "id": 121806}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [146, 199, 2, 91, 225, 2, 177, 210, 2, 68, 299, 2, 195, 218, 2, 146, 340, 2, 201, 416, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 109, 1, 125, 185, 1], "image_id": 106352, "bbox": [36.29, 98.37, 230.17, 320.9], "category_id": 1, "id": 121812}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [122, 286, 2, 199, 271, 2, 0, 0, 0, 212, 358, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 118, 1, 148, 237, 1], "image_id": 108040, "bbox": [59.06, 115.69, 170.69, 244.31], "category_id": 1, "id": 121815}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [234, 123, 2, 175, 122, 2, 250, 185, 1, 156, 185, 2, 258, 235, 2, 172, 249, 2, 232, 235, 2, 175, 234, 2, 215, 325, 2, 190, 331, 2, 208, 406, 2, 193, 412, 2, 211, 48, 1, 208, 106, 1], "image_id": 106602, "bbox": [143.03, 41.43, 122.59, 407.52], "category_id": 1, "id": 121816}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 204, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107119, "bbox": [0.96, 149.34, 112.96, 105.3], "category_id": 1, "id": 121817}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [434, 134, 2, 402, 155, 2, 436, 158, 2, 404, 171, 2, 421, 173, 2, 409, 181, 2, 454, 203, 2, 433, 206, 2, 433, 244, 2, 437, 256, 2, 436, 295, 2, 467, 280, 2, 397, 120, 1, 414, 142, 1], "image_id": 106483, "bbox": [381.55, 112.4, 92.17, 191.53], "category_id": 1, "id": 121823}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 17, 10, 2, 0, 0, 0, 77, 164, 2, 0, 0, 0, 156, 85, 2, 0, 0, 0, 23, 281, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107887, "bbox": [0, 0.36, 187.21, 486.89], "category_id": 1, "id": 121824}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [207, 282, 2, 106, 276, 2, 228, 350, 2, 111, 336, 2, 192, 304, 2, 152, 283, 2, 182, 453, 2, 114, 450, 2, 175, 615, 2, 114, 586, 2, 0, 0, 0, 0, 0, 0, 168, 182, 1, 158, 260, 1], "image_id": 104001, "bbox": [54.77, 169.37, 191.72, 462.7], "category_id": 1, "id": 121850}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [92, 189, 1, 130, 188, 2, 0, 0, 0, 164, 197, 2, 0, 0, 0, 178, 194, 2, 98, 266, 2, 107, 268, 2, 154, 309, 2, 88, 336, 1, 148, 372, 2, 24, 351, 2, 116, 150, 1, 114, 178, 1], "image_id": 105888, "bbox": [2.12, 148.73, 188.07, 245.28], "category_id": 1, "id": 121903}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [184, 228, 2, 268, 225, 2, 212, 187, 2, 271, 170, 2, 245, 154, 2, 245, 143, 2, 210, 338, 2, 242, 355, 2, 311, 450, 2, 205, 466, 2, 0, 0, 0, 0, 0, 0, 218, 163, 1, 230, 214, 1], "image_id": 106087, "bbox": [151.98, 126.7, 208.55, 347.23], "category_id": 1, "id": 121911}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [352, 123, 2, 380, 143, 2, 351, 137, 2, 374, 158, 2, 366, 145, 2, 369, 148, 2, 341, 167, 2, 362, 173, 2, 322, 202, 2, 367, 211, 2, 305, 233, 2, 391, 234, 2, 368, 105, 1, 368, 121, 1], "image_id": 105947, "bbox": [296.98, 103.79, 109.09, 139.47], "category_id": 1, "id": 121915}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [362, 205, 2, 231, 213, 1, 408, 298, 1, 190, 319, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 66, 1, 302, 198, 1], "image_id": 103524, "bbox": [254.59, 59.19, 169.46, 240], "category_id": 1, "id": 121916}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [172, 245, 2, 87, 244, 2, 187, 322, 2, 59, 328, 2, 189, 388, 2, 111, 389, 2, 161, 381, 2, 111, 383, 2, 168, 491, 2, 114, 505, 2, 171, 552, 2, 113, 596, 2, 132, 142, 1, 125, 219, 1], "image_id": 106761, "bbox": [57.79, 123.88, 153.14, 507.09], "category_id": 1, "id": 121929}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 158, 2, 349, 147, 2, 248, 168, 2, 400, 121, 2, 202, 170, 2, 438, 96, 1, 318, 239, 2, 304, 244, 2, 363, 308, 2, 287, 327, 2, 319, 370, 2, 216, 386, 2, 315, 96, 1, 317, 137, 1], "image_id": 102651, "bbox": [178.94, 75.64, 297.33, 356.01], "category_id": 1, "id": 121931}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [256, 168, 2, 236, 172, 2, 244, 194, 2, 220, 210, 2, 258, 212, 2, 240, 227, 2, 234, 220, 2, 215, 222, 2, 244, 278, 2, 229, 277, 2, 226, 311, 2, 231, 323, 2, 260, 136, 1, 247, 164, 1], "image_id": 103115, "bbox": [201.66, 129.23, 70.55, 199.56], "category_id": 1, "id": 121939}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [122, 263, 2, 57, 273, 2, 168, 294, 2, 90, 358, 2, 202, 296, 2, 168, 394, 2, 108, 327, 2, 51, 357, 2, 174, 328, 2, 108, 387, 2, 257, 399, 2, 215, 445, 2, 110, 189, 1, 91, 248, 1], "image_id": 103258, "bbox": [0, 173.62, 325.94, 300.38], "category_id": 1, "id": 121961}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [613, 315, 2, 535, 301, 2, 0, 0, 0, 449, 362, 2, 0, 0, 0, 407, 277, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 96, 1, 585, 254, 1], "image_id": 107526, "bbox": [357.66, 74.23, 282.34, 349.95], "category_id": 1, "id": 121962}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [279, 225, 2, 234, 222, 2, 286, 251, 2, 220, 251, 2, 281, 271, 2, 230, 278, 2, 273, 292, 2, 241, 293, 2, 277, 330, 2, 242, 329, 1, 277, 372, 1, 235, 371, 1, 256, 184, 1, 256, 213, 1], "image_id": 108114, "bbox": [209.98, 192.72, 84.85, 151.01], "category_id": 1, "id": 121963}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [199, 134, 2, 134, 103, 2, 233, 170, 2, 95, 108, 2, 272, 199, 2, 78, 150, 2, 170, 181, 2, 129, 168, 2, 187, 197, 2, 100, 222, 2, 157, 247, 2, 139, 194, 2, 178, 78, 1, 161, 112, 1], "image_id": 103894, "bbox": [56.32, 60.59, 221.42, 221.43], "category_id": 1, "id": 121964}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [255, 272, 2, 191, 288, 2, 281, 352, 2, 183, 353, 1, 217, 358, 2, 141, 361, 1, 290, 373, 2, 242, 387, 2, 233, 487, 2, 276, 490, 2, 212, 604, 2, 310, 601, 2, 206, 201, 1, 222, 262, 1], "image_id": 105432, "bbox": [167.21, 190.99, 174.41, 436.76], "category_id": 1, "id": 121991}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [332, 122, 2, 275, 125, 2, 347, 180, 2, 256, 167, 1, 326, 231, 2, 267, 199, 2, 313, 232, 2, 285, 231, 2, 313, 312, 2, 288, 314, 1, 320, 388, 1, 0, 0, 0, 296, 64, 1, 301, 109, 1], "image_id": 105432, "bbox": [261.75, 55.85, 99.24, 330.79], "category_id": 1, "id": 122006}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 161, 2, 249, 147, 2, 304, 219, 2, 300, 217, 2, 259, 225, 2, 309, 156, 2, 286, 251, 2, 233, 246, 2, 316, 275, 2, 327, 244, 2, 323, 416, 2, 392, 365, 2, 320, 68, 1, 269, 127, 1], "image_id": 102793, "bbox": [199.13, 45.03, 262.65, 401.5], "category_id": 1, "id": 122014}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [359, 189, 2, 345, 184, 2, 365, 213, 2, 337, 190, 2, 353, 208, 2, 338, 202, 2, 374, 221, 2, 364, 217, 2, 357, 259, 2, 341, 238, 2, 371, 292, 2, 343, 257, 2, 336, 165, 1, 345, 181, 1], "image_id": 104129, "bbox": [329.13, 163.19, 57.57, 140.09], "category_id": 1, "id": 122019}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [226, 171, 2, 153, 207, 2, 246, 189, 2, 121, 267, 2, 282, 223, 2, 156, 312, 2, 232, 299, 2, 189, 329, 2, 282, 333, 2, 228, 400, 2, 326, 391, 2, 261, 495, 2, 219, 137, 1, 184, 184, 1], "image_id": 107235, "bbox": [98.55, 111.4, 289.02, 420.5], "category_id": 1, "id": 122022}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 103, 2, 416, 118, 2, 304, 82, 1, 473, 127, 2, 272, 46, 2, 500, 99, 2, 351, 210, 2, 399, 218, 2, 384, 304, 2, 422, 294, 2, 437, 370, 2, 393, 353, 1, 401, 63, 1, 393, 101, 1], "image_id": 105039, "bbox": [238.2, 17.78, 286.53, 365.49], "category_id": 1, "id": 122037}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [300, 178, 2, 247, 118, 2, 0, 0, 0, 291, 61, 2, 0, 0, 0, 0, 0, 0, 254, 243, 2, 230, 174, 2, 0, 0, 0, 418, 230, 2, 0, 0, 0, 0, 0, 0, 320, 105, 1, 276, 143, 1], "image_id": 104391, "bbox": [153.87, 51.45, 292.36, 209.65], "category_id": 1, "id": 122038}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [425, 99, 2, 579, 109, 2, 404, 246, 2, 593, 249, 2, 373, 322, 2, 523, 272, 2, 443, 348, 2, 548, 352, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 50, 1], "image_id": 106911, "bbox": [357.97, 0, 265.9, 524], "category_id": 1, "id": 122048}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [252, 299, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 444, 1, 69, 448, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 260, 57, 1, 148, 269, 1], "image_id": 102983, "bbox": [1.44, 11.2, 417.52, 619.77], "category_id": 1, "id": 122072}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105822, "bbox": [185.53, 326.83, 134.83, 146.7], "category_id": 1, "id": 122076}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [533, 6, 2, 493, 7, 2, 556, 44, 2, 507, 41, 2, 525, 39, 2, 533, 30, 2, 502, 76, 2, 473, 73, 1, 514, 135, 2, 473, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 2, 1], "image_id": 106087, "bbox": [452.91, 0.81, 108.35, 152.78], "category_id": 1, "id": 122089}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 341, 47, 2, 27, 175, 2, 424, 154, 2, 32, 359, 2, 291, 374, 2, 106, 387, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103143, "bbox": [2.02, 0.1, 532.72, 450.45], "category_id": 1, "id": 122099}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [111, 414, 2, 236, 400, 2, 114, 504, 2, 265, 484, 2, 0, 0, 0, 0, 0, 0, 127, 604, 2, 219, 597, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 258, 1, 174, 371, 1], "image_id": 103400, "bbox": [63.14, 255.59, 225.29, 383.14], "category_id": 1, "id": 122103}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [208, 246, 2, 68, 256, 2, 207, 357, 2, 31, 393, 2, 0, 0, 0, 122, 349, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 106, 1, 138, 220, 1], "image_id": 108370, "bbox": [19.19, 87.38, 214.94, 334.89], "category_id": 1, "id": 122105}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [376, 230, 2, 334, 199, 2, 0, 0, 0, 287, 208, 2, 0, 0, 0, 235, 209, 2, 333, 292, 2, 301, 284, 2, 321, 376, 2, 284, 366, 2, 0, 0, 0, 0, 0, 0, 372, 164, 1, 354, 199, 1], "image_id": 107111, "bbox": [201.54, 154.85, 191.98, 264.58], "category_id": 1, "id": 122110}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [359, 220, 2, 174, 219, 2, 405, 366, 2, 121, 364, 2, 387, 445, 2, 89, 424, 2, 341, 467, 2, 173, 453, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 21, 1, 266, 196, 1], "image_id": 104116, "bbox": [64.72, 7.19, 365.3, 490.43], "category_id": 1, "id": 122135}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [386, 323, 2, 99, 354, 2, 0, 0, 0, 105, 583, 2, 439, 504, 2, 156, 362, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 93, 1, 229, 289, 1], "image_id": 105573, "bbox": [12.89, 1.57, 466.75, 628.55], "category_id": 1, "id": 122136}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [283, 204, 2, 121, 217, 2, 361, 338, 2, 39, 336, 2, 434, 351, 2, 88, 339, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 32, 1, 208, 168, 1], "image_id": 103280, "bbox": [15.71, 22.11, 476.42, 439.78], "category_id": 1, "id": 122162}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [478, 187, 2, 412, 193, 2, 469, 242, 2, 423, 230, 2, 494, 248, 2, 458, 174, 2, 482, 313, 2, 439, 321, 2, 464, 414, 2, 442, 415, 2, 0, 0, 0, 0, 0, 0, 451, 111, 1, 446, 173, 1], "image_id": 105305, "bbox": [393.71, 103.37, 113.26, 368.9], "category_id": 1, "id": 122167}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 243, 2, 317, 239, 2, 417, 319, 2, 300, 311, 2, 420, 371, 2, 280, 363, 2, 379, 371, 2, 327, 363, 2, 385, 459, 2, 341, 479, 2, 411, 581, 2, 357, 584, 2, 350, 155, 1, 353, 216, 1], "image_id": 103667, "bbox": [262.86, 144.02, 171.43, 477.15], "category_id": 1, "id": 122175}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [480, 198, 1, 239, 243, 2, 550, 300, 1, 156, 453, 2, 342, 422, 1, 118, 334, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 157, 1], "image_id": 103976, "bbox": [21.57, 0, 367.82, 467.81], "category_id": 1, "id": 122206}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [157, 194, 2, 72, 198, 2, 209, 239, 2, 14, 246, 2, 197, 287, 2, 34, 295, 2, 141, 323, 2, 87, 322, 2, 138, 442, 2, 84, 442, 2, 141, 538, 2, 78, 531, 2, 106, 140, 1, 110, 189, 1], "image_id": 105116, "bbox": [0, 126.56, 228.67, 461.66], "category_id": 1, "id": 122210}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [158, 172, 2, 63, 183, 2, 228, 198, 2, 6, 264, 2, 309, 196, 2, 5, 344, 2, 53, 316, 2, 26, 317, 2, 191, 383, 2, 170, 324, 2, 51, 429, 2, 65, 431, 2, 121, 69, 1, 111, 152, 1], "image_id": 104235, "bbox": [0, 44.58, 392.63, 425.71], "category_id": 1, "id": 122235}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [197, 268, 2, 60, 240, 2, 134, 353, 1, 0, 0, 0, 0, 0, 0, 20, 314, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 124, 1, 127, 230, 1], "image_id": 104458, "bbox": [0, 109.61, 234.05, 264.25], "category_id": 1, "id": 122249}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [152, 206, 2, 49, 212, 2, 0, 0, 0, 19, 355, 2, 0, 0, 0, 122, 450, 1, 0, 0, 0, 50, 442, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 49, 1, 98, 172, 1], "image_id": 102867, "bbox": [0, 32.58, 176.34, 448.42], "category_id": 1, "id": 122251}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [508, 153, 2, 393, 152, 2, 530, 300, 2, 370, 271, 2, 423, 271, 2, 469, 257, 2, 588, 278, 2, 480, 271, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 97, 1, 440, 138, 1], "image_id": 108138, "bbox": [351.2, 30.41, 273.47, 298.42], "category_id": 1, "id": 122252}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [59, 39, 2, 7, 45, 1, 122, 84, 2, 0, 0, 0, 93, 10, 2, 0, 0, 0, 68, 172, 2, 31, 191, 1, 192, 195, 2, 149, 212, 2, 216, 319, 1, 177, 358, 1, 0, 0, 0, 0, 0, 0], "image_id": 104954, "bbox": [30.86, 0, 190.79, 261.64], "category_id": 1, "id": 122280}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [261, 233, 2, 214, 233, 2, 266, 272, 2, 207, 269, 2, 255, 305, 2, 209, 307, 2, 248, 280, 1, 222, 280, 1, 274, 309, 1, 194, 300, 1, 0, 0, 0, 0, 0, 0, 234, 202, 1, 237, 227, 1], "image_id": 106820, "bbox": [199.19, 191.39, 72.79, 126.54], "category_id": 1, "id": 122281}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [188, 108, 2, 135, 140, 2, 215, 110, 2, 166, 160, 2, 260, 71, 2, 210, 178, 2, 143, 246, 2, 111, 239, 2, 114, 355, 2, 127, 311, 2, 46, 401, 2, 136, 423, 2, 162, 60, 1, 159, 116, 1], "image_id": 105311, "bbox": [33.71, 38.2, 286.51, 435.96], "category_id": 1, "id": 122306}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [262, 125, 2, 220, 124, 2, 295, 163, 2, 261, 179, 2, 265, 155, 2, 286, 170, 2, 274, 240, 2, 243, 245, 2, 273, 314, 2, 246, 325, 2, 0, 0, 0, 0, 0, 0, 230, 69, 1, 238, 116, 1], "image_id": 107899, "bbox": [201.63, 66.48, 99.91, 284.52], "category_id": 1, "id": 122323}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [115, 150, 2, 76, 147, 2, 0, 0, 0, 61, 204, 2, 0, 0, 0, 112, 179, 2, 105, 251, 2, 78, 252, 2, 75, 331, 2, 115, 332, 2, 0, 0, 0, 0, 0, 0, 109, 87, 1, 95, 137, 1], "image_id": 107899, "bbox": [45.54, 82.53, 83.24, 268.47], "category_id": 1, "id": 122328}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [356, 122, 1, 423, 124, 2, 0, 0, 0, 440, 176, 2, 0, 0, 0, 470, 197, 1, 363, 222, 1, 412, 222, 2, 0, 0, 0, 453, 216, 2, 0, 0, 0, 0, 0, 0, 394, 64, 1, 394, 112, 1], "image_id": 103345, "bbox": [346.43, 55.28, 120.92, 179.45], "category_id": 1, "id": 122329}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [169, 72, 1, 103, 82, 1, 205, 88, 2, 77, 111, 1, 232, 110, 2, 120, 143, 1, 179, 175, 1, 139, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 18, 1, 132, 67, 1], "image_id": 104133, "bbox": [68.71, 13.04, 174.91, 133.73], "category_id": 1, "id": 122332}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [263, 103, 2, 206, 104, 2, 295, 142, 2, 212, 129, 2, 298, 165, 2, 208, 169, 2, 287, 193, 1, 249, 196, 2, 329, 242, 1, 241, 262, 2, 407, 290, 1, 259, 335, 2, 224, 45, 1, 226, 93, 1], "image_id": 104717, "bbox": [183.05, 35.2, 253.23, 320.57], "category_id": 1, "id": 122345}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [63, 176, 2, 113, 171, 2, 0, 0, 0, 162, 214, 2, 0, 0, 0, 177, 208, 2, 96, 275, 2, 144, 272, 2, 119, 355, 1, 162, 352, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 153, 1], "image_id": 103998, "bbox": [48.47, 123.08, 169.18, 185.34], "category_id": 1, "id": 122351}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 54, 313, 2, 14, 522, 2, 81, 332, 2, 148, 553, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 200, 1, 0, 0, 0], "image_id": 104718, "bbox": [0, 168.27, 244.49, 432.9], "category_id": 1, "id": 122373}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [297, 194, 2, 234, 180, 2, 312, 320, 2, 148, 286, 2, 366, 406, 2, 101, 357, 2, 253, 387, 2, 201, 385, 2, 205, 592, 2, 286, 587, 2, 0, 0, 0, 0, 0, 0, 296, 57, 1, 260, 153, 1], "image_id": 103394, "bbox": [48.79, 34.61, 363.05, 596.95], "category_id": 1, "id": 122392}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [412, 229, 2, 384, 221, 2, 423, 254, 2, 0, 0, 0, 416, 278, 2, 399, 246, 2, 421, 220, 2, 405, 219, 2, 414, 251, 2, 400, 254, 2, 414, 283, 2, 409, 281, 2, 387, 231, 1, 398, 225, 1], "image_id": 105615, "bbox": [379.63, 206.03, 54.13, 90.74], "category_id": 1, "id": 122423}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [426, 304, 2, 217, 317, 2, 465, 475, 1, 203, 473, 1, 390, 412, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 141, 1, 323, 280, 1], "image_id": 107809, "bbox": [165.03, 114.41, 314.97, 358.11], "category_id": 1, "id": 122446}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [219, 222, 2, 127, 228, 2, 0, 0, 0, 98, 325, 2, 0, 0, 0, 149, 381, 2, 229, 430, 2, 163, 440, 2, 271, 501, 2, 159, 551, 2, 221, 598, 2, 0, 0, 0, 206, 107, 1, 183, 190, 1], "image_id": 105651, "bbox": [76.22, 87.73, 218.61, 542.2], "category_id": 1, "id": 122473}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [379, 171, 2, 225, 187, 2, 405, 280, 2, 224, 290, 2, 429, 377, 2, 222, 389, 2, 349, 345, 2, 265, 344, 2, 374, 493, 2, 281, 496, 2, 0, 0, 0, 0, 0, 0, 275, 37, 1, 297, 141, 1], "image_id": 106772, "bbox": [198.04, 20.8, 280.88, 548.81], "category_id": 1, "id": 122481}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [352, 176, 2, 379, 290, 2, 351, 137, 2, 410, 332, 2, 351, 104, 2, 442, 355, 2, 496, 147, 2, 530, 219, 2, 571, 122, 2, 601, 212, 2, 633, 159, 2, 0, 0, 0, 246, 283, 1, 347, 244, 1], "image_id": 103061, "bbox": [222.2, 83.06, 417.8, 304.18], "category_id": 1, "id": 122491}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [400, 263, 2, 365, 247, 1, 395, 296, 2, 347, 284, 2, 392, 307, 2, 359, 318, 2, 379, 311, 2, 347, 307, 2, 379, 340, 2, 342, 342, 2, 352, 394, 2, 309, 398, 2, 409, 215, 1, 390, 245, 1], "image_id": 108383, "bbox": [289.66, 212.06, 124.32, 203.84], "category_id": 1, "id": 122503}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [339, 275, 2, 221, 290, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 491, 2, 250, 491, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 97, 1, 284, 237, 1], "image_id": 105579, "bbox": [172.58, 100.43, 254.42, 532.14], "category_id": 1, "id": 122504}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [491, 181, 2, 355, 178, 1, 557, 347, 2, 270, 330, 2, 434, 245, 2, 294, 244, 2, 447, 398, 2, 344, 376, 1, 0, 0, 0, 189, 414, 2, 0, 0, 0, 0, 0, 0, 407, 26, 1, 423, 159, 1], "image_id": 104195, "bbox": [173.82, 18.15, 416.4, 402.07], "category_id": 1, "id": 122513}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [283, 131, 2, 238, 119, 2, 288, 173, 2, 216, 175, 2, 280, 173, 2, 247, 144, 2, 260, 214, 2, 226, 205, 2, 238, 292, 2, 198, 293, 2, 0, 0, 0, 0, 0, 0, 260, 64, 1, 256, 111, 1], "image_id": 102795, "bbox": [174.05, 58.95, 122.73, 269.26], "category_id": 1, "id": 122514}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [153, 234, 2, 134, 233, 2, 157, 254, 2, 125, 244, 2, 157, 264, 2, 133, 246, 2, 150, 262, 2, 136, 261, 2, 147, 284, 2, 134, 284, 2, 148, 306, 2, 134, 303, 2, 146, 216, 1, 145, 230, 1], "image_id": 103928, "bbox": [122.67, 215.35, 38.24, 98.98], "category_id": 1, "id": 122518}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [500, 319, 2, 481, 295, 2, 446, 405, 2, 433, 339, 2, 368, 376, 2, 379, 334, 2, 438, 439, 2, 425, 406, 2, 317, 451, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 209, 1, 494, 287, 1], "image_id": 107342, "bbox": [310, 203.51, 243.27, 266.95], "category_id": 1, "id": 122527}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [183, 103, 1, 198, 107, 2, 0, 0, 0, 228, 125, 2, 0, 0, 0, 218, 99, 2, 194, 186, 2, 207, 186, 2, 203, 214, 2, 223, 216, 2, 201, 269, 1, 229, 266, 2, 193, 73, 1, 193, 99, 1], "image_id": 103998, "bbox": [162.16, 64.49, 88.2, 217.16], "category_id": 1, "id": 122529}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [355, 359, 2, 168, 356, 2, 399, 444, 2, 129, 437, 2, 454, 517, 2, 128, 505, 2, 293, 558, 2, 196, 552, 2, 379, 574, 2, 81, 537, 2, 0, 0, 0, 0, 0, 0, 242, 165, 1, 246, 340, 1], "image_id": 102997, "bbox": [66.16, 118.29, 413.84, 516.32], "category_id": 1, "id": 122531}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [109, 256, 2, 170, 246, 2, 77, 314, 2, 211, 238, 2, 82, 307, 2, 248, 206, 2, 113, 360, 2, 155, 360, 2, 115, 430, 2, 152, 439, 2, 100, 500, 2, 133, 507, 2, 150, 196, 1, 142, 233, 1], "image_id": 102870, "bbox": [61.54, 182.71, 212.42, 355.75], "category_id": 1, "id": 122562}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [463, 236, 1, 424, 236, 2, 0, 0, 0, 406, 262, 2, 0, 0, 0, 411, 292, 2, 454, 305, 2, 424, 305, 2, 455, 345, 2, 419, 355, 2, 445, 390, 2, 418, 391, 2, 441, 193, 1, 441, 224, 1], "image_id": 102581, "bbox": [397.34, 193.69, 74.01, 207.8], "category_id": 1, "id": 122601}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [273, 111, 2, 290, 117, 2, 263, 115, 2, 295, 137, 2, 260, 102, 2, 301, 144, 2, 273, 140, 2, 287, 142, 2, 276, 156, 2, 283, 155, 2, 278, 170, 2, 283, 171, 1, 288, 94, 1, 285, 106, 1], "image_id": 102778, "bbox": [256.62, 89.16, 47.49, 84.23], "category_id": 1, "id": 122604}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [633, 274, 2, 523, 247, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 345, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 183, 1], "image_id": 104802, "bbox": [251.54, 0, 388.46, 419.24], "category_id": 1, "id": 122607}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [273, 337, 2, 313, 333, 2, 317, 407, 2, 319, 418, 2, 371, 348, 2, 338, 408, 2, 239, 470, 2, 280, 470, 2, 0, 0, 0, 370, 471, 2, 0, 0, 0, 0, 0, 0, 318, 290, 1, 306, 320, 1], "image_id": 105754, "bbox": [220.02, 286.36, 169.16, 200.11], "category_id": 1, "id": 122621}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [219, 92, 2, 131, 92, 2, 230, 99, 2, 83, 120, 2, 166, 58, 2, 74, 72, 2, 219, 221, 2, 167, 216, 2, 218, 367, 2, 248, 312, 2, 85, 418, 2, 311, 454, 2, 183, 26, 1, 180, 79, 1], "image_id": 108565, "bbox": [43.72, 14.7, 326.24, 469.74], "category_id": 1, "id": 122634}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [268, 369, 2, 78, 349, 2, 309, 509, 2, 0, 0, 0, 251, 564, 2, 97, 537, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 175, 1, 177, 314, 1], "image_id": 103629, "bbox": [0, 155.43, 338.47, 484.57], "category_id": 1, "id": 122637}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [590, 83, 2, 547, 79, 2, 594, 126, 2, 526, 98, 2, 563, 136, 2, 524, 103, 2, 579, 171, 2, 553, 169, 2, 576, 231, 1, 551, 224, 1, 0, 0, 0, 0, 0, 0, 558, 36, 1, 568, 71, 1], "image_id": 103998, "bbox": [512.09, 27.5, 102.42, 187.77], "category_id": 1, "id": 122641}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 159, 2, 307, 148, 2, 318, 176, 2, 279, 137, 2, 298, 163, 2, 291, 146, 2, 338, 203, 2, 313, 208, 2, 365, 236, 2, 300, 238, 2, 402, 265, 2, 287, 277, 2, 332, 129, 1, 322, 151, 1], "image_id": 106106, "bbox": [270.59, 123.78, 149.69, 166.96], "category_id": 1, "id": 122649}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [233, 283, 2, 145, 292, 2, 0, 0, 0, 132, 358, 2, 0, 0, 0, 136, 405, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 202, 1, 190, 266, 1], "image_id": 103570, "bbox": [113.85, 189.7, 137.96, 448.33], "category_id": 1, "id": 122654}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [242, 253, 2, 19, 259, 2, 297, 444, 2, 0, 0, 0, 234, 451, 2, 58, 467, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 34, 1, 148, 208, 1], "image_id": 104594, "bbox": [2.15, 14.06, 313.55, 462.63], "category_id": 1, "id": 122660}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [358, 128, 2, 426, 147, 2, 310, 155, 2, 443, 217, 2, 299, 220, 2, 445, 263, 2, 333, 251, 2, 372, 258, 2, 321, 343, 1, 371, 361, 2, 0, 0, 0, 0, 0, 0, 404, 90, 1, 392, 123, 1], "image_id": 107953, "bbox": [293.72, 85.95, 164.8, 306.05], "category_id": 1, "id": 122664}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [353, 229, 2, 289, 197, 2, 298, 357, 2, 223, 243, 2, 203, 337, 2, 191, 260, 2, 272, 382, 2, 217, 354, 2, 88, 352, 2, 105, 407, 2, 43, 463, 2, 83, 553, 2, 323, 104, 1, 327, 188, 1], "image_id": 107325, "bbox": [0, 81.61, 361, 557.27], "category_id": 1, "id": 122665}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [197, 263, 2, 152, 260, 2, 206, 300, 2, 157, 296, 2, 213, 336, 1, 167, 333, 2, 217, 307, 2, 180, 307, 2, 221, 359, 1, 167, 347, 2, 228, 419, 1, 157, 415, 2, 166, 219, 1, 171, 251, 1], "image_id": 105293, "bbox": [128.02, 218.11, 95.66, 213.17], "category_id": 1, "id": 122666}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 115, 2, 290, 115, 2, 315, 127, 2, 283, 129, 2, 317, 141, 2, 283, 142, 2, 306, 143, 2, 294, 143, 2, 309, 166, 2, 294, 164, 2, 311, 188, 2, 297, 188, 2, 302, 94, 1, 301, 108, 1], "image_id": 103676, "bbox": [279.35, 94.02, 40.42, 99.17], "category_id": 1, "id": 122669}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [401, 409, 2, 185, 374, 2, 442, 617, 2, 208, 512, 2, 0, 0, 0, 286, 331, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 162, 1, 291, 327, 1], "image_id": 104459, "bbox": [154.63, 137.59, 312.13, 493.96], "category_id": 1, "id": 122670}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [237, 136, 2, 159, 143, 1, 280, 217, 2, 179, 254, 1, 321, 274, 1, 302, 293, 2, 257, 341, 2, 196, 343, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 17, 1, 183, 110, 1], "image_id": 103777, "bbox": [160.26, 3.95, 188.09, 417.44], "category_id": 1, "id": 122672}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [166, 176, 2, 193, 170, 2, 157, 200, 2, 213, 175, 2, 145, 200, 2, 229, 158, 2, 176, 217, 2, 191, 215, 2, 171, 245, 2, 190, 248, 2, 174, 271, 2, 189, 280, 2, 175, 146, 1, 177, 163, 1], "image_id": 108323, "bbox": [141.14, 141.99, 98.5, 142.04], "category_id": 1, "id": 122684}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [188, 81, 2, 118, 94, 2, 215, 97, 2, 106, 112, 2, 245, 122, 2, 108, 154, 2, 174, 172, 2, 147, 174, 2, 174, 227, 2, 149, 227, 2, 174, 286, 2, 144, 304, 2, 151, 45, 1, 151, 81, 1], "image_id": 105568, "bbox": [93.68, 41.03, 176.87, 283.29], "category_id": 1, "id": 122693}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [225, 171, 2, 179, 181, 1, 238, 196, 2, 0, 0, 0, 200, 210, 1, 189, 170, 1, 232, 276, 1, 188, 276, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 126, 1, 199, 165, 1], "image_id": 106031, "bbox": [174.17, 121.39, 79.56, 156.33], "category_id": 1, "id": 122695}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [333, 180, 2, 223, 184, 2, 411, 193, 2, 284, 228, 2, 376, 163, 2, 351, 202, 2, 277, 332, 2, 223, 318, 2, 303, 442, 2, 163, 428, 2, 324, 552, 2, 46, 531, 2, 262, 101, 1, 269, 173, 1], "image_id": 105716, "bbox": [12.45, 86.12, 408.56, 505.01], "category_id": 1, "id": 122698}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [462, 171, 2, 315, 184, 2, 491, 292, 2, 260, 289, 1, 488, 406, 2, 189, 262, 1, 424, 404, 2, 335, 404, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 34, 1, 375, 142, 1], "image_id": 104085, "bbox": [150.04, 24.71, 371.25, 397.23], "category_id": 1, "id": 122701}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [256, 215, 1, 281, 213, 2, 250, 238, 2, 290, 226, 2, 0, 0, 0, 299, 233, 2, 261, 251, 2, 279, 249, 2, 260, 270, 2, 283, 267, 2, 257, 293, 2, 284, 292, 2, 267, 188, 1, 267, 205, 1], "image_id": 102679, "bbox": [242.22, 186.24, 65.33, 116.44], "category_id": 1, "id": 122710}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 212, 2, 386, 225, 2, 400, 262, 2, 385, 266, 2, 367, 280, 2, 361, 282, 2, 439, 260, 2, 409, 275, 2, 450, 285, 2, 370, 287, 2, 457, 345, 2, 317, 320, 2, 390, 181, 1, 398, 217, 1], "image_id": 107292, "bbox": [257.82, 175.98, 214.93, 197.61], "category_id": 1, "id": 122714}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106761, "bbox": [0, 210.75, 57.9, 120.37], "category_id": 1, "id": 122738}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 212, 2, 346, 205, 2, 321, 233, 1, 353, 228, 2, 313, 252, 2, 355, 249, 2, 332, 241, 2, 344, 240, 2, 336, 281, 2, 346, 281, 2, 337, 315, 2, 348, 313, 2, 329, 187, 1, 333, 199, 1], "image_id": 103971, "bbox": [308.17, 185.8, 49.09, 143.94], "category_id": 1, "id": 122754}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 175, 2, 226, 209, 1, 329, 200, 2, 202, 273, 2, 371, 200, 2, 197, 236, 2, 274, 341, 2, 258, 304, 2, 295, 432, 2, 235, 401, 2, 254, 532, 2, 237, 298, 2, 239, 101, 1, 247, 167, 1], "image_id": 108112, "bbox": [183.97, 93.02, 231.26, 491.56], "category_id": 1, "id": 122756}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [524, 239, 2, 419, 234, 2, 597, 260, 2, 339, 240, 1, 0, 0, 0, 305, 185, 2, 536, 319, 2, 454, 331, 2, 547, 346, 2, 492, 370, 2, 541, 406, 2, 565, 431, 1, 463, 156, 1, 469, 223, 1], "image_id": 103873, "bbox": [270.8, 148.22, 368.95, 292.47], "category_id": 1, "id": 122759}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 274, 2, 371, 254, 2, 371, 291, 2, 356, 260, 2, 358, 288, 2, 349, 277, 2, 369, 296, 2, 356, 290, 2, 367, 328, 2, 339, 317, 2, 400, 337, 2, 325, 341, 2, 367, 250, 1, 372, 261, 1], "image_id": 104451, "bbox": [312.33, 244.04, 96.54, 108.21], "category_id": 1, "id": 122773}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [94, 160, 2, 234, 230, 2, 0, 0, 0, 212, 324, 2, 0, 0, 0, 0, 0, 0, 51, 388, 2, 132, 388, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 111, 1, 178, 178, 1], "image_id": 108498, "bbox": [13.37, 90.73, 263.6, 329.49], "category_id": 1, "id": 122779}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [241, 267, 1, 177, 290, 2, 223, 329, 2, 161, 371, 1, 239, 383, 2, 0, 0, 0, 206, 360, 2, 182, 367, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 236, 1, 208, 280, 1], "image_id": 107939, "bbox": [137.52, 213.5, 130.8, 198.11], "category_id": 1, "id": 122784}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 602, 151, 2, 0, 0, 0, 578, 195, 2, 0, 0, 0, 582, 209, 2, 0, 0, 0, 608, 266, 2, 0, 0, 0, 611, 368, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106437, "bbox": [570.31, 99.86, 43.69, 180.92], "category_id": 1, "id": 122785}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [343, 171, 2, 293, 163, 2, 342, 225, 1, 284, 212, 1, 312, 208, 2, 277, 197, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 109, 1, 316, 155, 1], "image_id": 107466, "bbox": [269.99, 102.55, 82.33, 125.42], "category_id": 1, "id": 122787}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [392, 132, 2, 326, 133, 2, 378, 272, 2, 309, 192, 2, 285, 247, 2, 234, 187, 1, 371, 314, 1, 320, 290, 2, 372, 440, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 9, 1, 364, 111, 1], "image_id": 107405, "bbox": [228.85, 0, 207.64, 321.61], "category_id": 1, "id": 122800}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [401, 243, 2, 372, 246, 2, 414, 269, 2, 361, 271, 2, 418, 290, 2, 362, 291, 2, 400, 294, 2, 378, 295, 2, 408, 327, 2, 379, 328, 2, 413, 361, 2, 380, 364, 2, 377, 216, 1, 382, 238, 1], "image_id": 105529, "bbox": [357.1, 213.65, 68.56, 166.86], "category_id": 1, "id": 122802}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [506, 171, 2, 386, 96, 2, 529, 215, 2, 338, 30, 2, 572, 258, 2, 0, 0, 0, 378, 311, 2, 338, 270, 2, 361, 216, 2, 207, 259, 2, 236, 307, 2, 130, 349, 2, 489, 65, 1, 451, 127, 1], "image_id": 103384, "bbox": [49.73, 5.87, 562.27, 413.07], "category_id": 1, "id": 122823}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [152, 222, 2, 163, 226, 2, 178, 247, 2, 185, 248, 1, 177, 250, 2, 174, 245, 2, 162, 270, 2, 172, 268, 2, 170, 316, 2, 188, 311, 2, 173, 359, 2, 193, 362, 2, 158, 187, 1, 155, 214, 1], "image_id": 107929, "bbox": [142.38, 177.98, 71.19, 187.68], "category_id": 1, "id": 122831}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [314, 205, 2, 331, 192, 2, 309, 225, 2, 346, 189, 1, 324, 231, 2, 0, 0, 0, 335, 228, 2, 345, 221, 2, 351, 249, 2, 365, 238, 2, 0, 0, 0, 0, 0, 0, 313, 179, 1, 319, 191, 1], "image_id": 104871, "bbox": [303.77, 173.34, 82.95, 77.23], "category_id": 1, "id": 122834}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [340, 302, 2, 286, 293, 2, 327, 341, 2, 0, 0, 0, 306, 332, 2, 0, 0, 0, 326, 387, 2, 282, 377, 2, 296, 454, 2, 298, 414, 2, 262, 428, 1, 271, 509, 2, 316, 249, 1, 309, 289, 1], "image_id": 102569, "bbox": [257.72, 232.08, 95.93, 296.38], "category_id": 1, "id": 122838}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [349, 258, 2, 323, 255, 2, 0, 0, 0, 313, 276, 2, 0, 0, 0, 320, 298, 1, 347, 302, 2, 327, 302, 2, 345, 337, 2, 327, 336, 2, 343, 365, 2, 329, 366, 2, 338, 225, 1, 337, 247, 1], "image_id": 102581, "bbox": [306.34, 216.73, 48.9, 174.02], "category_id": 1, "id": 122849}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [164, 146, 2, 193, 135, 2, 160, 198, 2, 0, 0, 0, 145, 244, 2, 0, 0, 0, 161, 231, 2, 193, 230, 2, 154, 296, 1, 190, 290, 1, 0, 0, 0, 0, 0, 0, 159, 89, 1, 175, 126, 1], "image_id": 107325, "bbox": [135.19, 82.98, 66.16, 199.91], "category_id": 1, "id": 122856}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 15, 2, 500, 25, 2, 380, 55, 1, 469, 51, 2, 428, 54, 2, 496, 122, 2, 420, 124, 1, 515, 190, 1, 430, 195, 1, 0, 0, 0, 0, 0, 0], "image_id": 106852, "bbox": [375.49, 0.09, 151.53, 203.95], "category_id": 1, "id": 122860}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [131, 273, 2, 136, 272, 2, 0, 0, 0, 142, 283, 2, 0, 0, 0, 147, 296, 2, 135, 301, 2, 140, 300, 2, 134, 320, 2, 139, 322, 2, 133, 340, 2, 137, 341, 2, 142, 252, 1, 141, 263, 1], "image_id": 105856, "bbox": [127.15, 249.92, 23.75, 101.33], "category_id": 1, "id": 122861}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [189, 141, 2, 147, 165, 2, 0, 0, 0, 121, 284, 2, 0, 0, 0, 161, 387, 2, 216, 369, 2, 186, 375, 2, 194, 470, 2, 149, 498, 2, 183, 552, 2, 131, 616, 2, 173, 17, 1, 173, 117, 1], "image_id": 107150, "bbox": [99.68, 14.09, 144.47, 615.44], "category_id": 1, "id": 122873}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [439, 152, 2, 171, 171, 1, 473, 342, 2, 107, 334, 2, 0, 0, 0, 189, 335, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 124, 1], "image_id": 106281, "bbox": [87.71, 0, 419.29, 420.98], "category_id": 1, "id": 122875}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 121, 2, 325, 131, 2, 305, 133, 2, 287, 163, 2, 257, 144, 2, 236, 159, 2, 341, 204, 2, 315, 205, 2, 293, 275, 2, 333, 287, 2, 239, 331, 2, 394, 314, 2, 332, 86, 1, 343, 117, 1], "image_id": 108269, "bbox": [189.08, 77.96, 232.49, 272.76], "category_id": 1, "id": 122880}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [386, 137, 2, 249, 138, 2, 379, 191, 2, 222, 220, 2, 373, 245, 2, 199, 270, 2, 317, 294, 2, 244, 296, 2, 338, 398, 2, 191, 385, 2, 291, 520, 2, 60, 418, 2, 323, 57, 1, 323, 120, 1], "image_id": 107374, "bbox": [17.26, 46.02, 381.12, 535.01], "category_id": 1, "id": 122888}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [297, 96, 1, 273, 95, 1, 304, 106, 1, 0, 0, 0, 292, 91, 2, 0, 0, 0, 297, 127, 2, 278, 129, 2, 303, 137, 2, 295, 128, 2, 308, 177, 2, 320, 153, 2, 282, 69, 1, 282, 91, 1], "image_id": 104103, "bbox": [274.85, 66.93, 55.54, 118.22], "category_id": 1, "id": 122890}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [254, 77, 2, 233, 111, 2, 315, 103, 2, 0, 0, 0, 225, 139, 2, 0, 0, 0, 239, 288, 2, 222, 287, 1, 214, 433, 2, 196, 437, 2, 227, 611, 2, 206, 600, 2, 173, 45, 1, 229, 81, 1], "image_id": 106909, "bbox": [145.26, 20.23, 188.4, 612.67], "category_id": 1, "id": 122892}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 418, 275, 2, 0, 0, 0, 419, 308, 2, 0, 0, 0, 441, 317, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 231, 1, 424, 266, 1], "image_id": 105573, "bbox": [401.75, 229.2, 41.59, 83.39], "category_id": 1, "id": 122895}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [80, 159, 2, 50, 150, 2, 73, 200, 2, 5, 172, 1, 91, 204, 2, 38, 191, 2, 36, 247, 2, 14, 241, 2, 29, 317, 2, 3, 310, 2, 0, 0, 0, 0, 0, 0, 77, 90, 1, 68, 138, 1], "image_id": 102651, "bbox": [1.03, 85.95, 113.99, 301.93], "category_id": 1, "id": 122901}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [321, 104, 2, 306, 108, 2, 326, 122, 2, 0, 0, 0, 310, 122, 2, 0, 0, 0, 320, 154, 2, 302, 149, 2, 308, 186, 2, 290, 173, 2, 309, 217, 1, 301, 170, 2, 302, 87, 1, 310, 102, 1], "image_id": 103594, "bbox": [285.01, 78.19, 48.05, 147.61], "category_id": 1, "id": 122905}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [264, 269, 2, 227, 256, 1, 263, 302, 2, 212, 291, 2, 259, 332, 1, 217, 336, 2, 245, 334, 2, 214, 329, 2, 232, 401, 2, 207, 395, 2, 221, 459, 2, 198, 456, 2, 260, 217, 1, 249, 252, 1], "image_id": 102913, "bbox": [183.78, 221.41, 88.65, 250.81], "category_id": 1, "id": 122926}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [199, 354, 2, 179, 352, 2, 203, 372, 2, 174, 371, 1, 201, 389, 2, 175, 392, 1, 194, 394, 2, 182, 395, 2, 193, 414, 2, 184, 414, 2, 193, 438, 2, 187, 436, 2, 187, 330, 1, 187, 348, 1], "image_id": 107983, "bbox": [173.73, 328.24, 33.39, 118.02], "category_id": 1, "id": 122932}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [241, 207, 2, 18, 233, 2, 291, 372, 2, 8, 406, 2, 0, 0, 0, 177, 367, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 24, 1, 120, 186, 1], "image_id": 106369, "bbox": [0, 4.87, 330.52, 416.49], "category_id": 1, "id": 122936}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [123, 275, 2, 263, 302, 2, 0, 0, 0, 286, 490, 2, 0, 0, 0, 287, 571, 2, 72, 589, 2, 194, 617, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 110, 1, 223, 236, 1], "image_id": 107762, "bbox": [34.44, 83.23, 289.86, 549.6], "category_id": 1, "id": 122940}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [293, 123, 2, 389, 189, 2, 295, 275, 2, 407, 319, 2, 177, 178, 2, 0, 0, 0, 369, 452, 2, 413, 449, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 30, 1, 322, 132, 1], "image_id": 108424, "bbox": [98.38, 14.59, 375.13, 459.46], "category_id": 1, "id": 122942}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [245, 270, 2, 145, 245, 1, 272, 379, 2, 222, 415, 2, 367, 390, 2, 295, 286, 2, 182, 474, 1, 0, 0, 0, 414, 481, 2, 401, 500, 2, 0, 0, 0, 0, 0, 0, 233, 77, 1, 194, 209, 1], "image_id": 105812, "bbox": [142.38, 53.21, 290.52, 530.7], "category_id": 1, "id": 122944}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [163, 114, 2, 58, 163, 2, 202, 184, 2, 115, 271, 2, 239, 168, 2, 197, 274, 2, 146, 261, 2, 73, 286, 2, 157, 398, 1, 94, 411, 1, 0, 0, 0, 0, 0, 0, 98, 34, 1, 104, 118, 1], "image_id": 106516, "bbox": [20.71, 0.21, 248.09, 397.22], "category_id": 1, "id": 122953}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [97, 302, 2, 47, 301, 2, 108, 336, 2, 37, 337, 2, 86, 335, 2, 50, 336, 2, 88, 369, 2, 56, 372, 2, 97, 400, 2, 44, 402, 2, 0, 0, 0, 0, 0, 0, 75, 254, 1, 72, 294, 1], "image_id": 105387, "bbox": [32.42, 252.83, 84.36, 155.47], "category_id": 1, "id": 122961}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [149, 231, 2, 115, 234, 2, 160, 258, 2, 113, 275, 2, 162, 287, 2, 124, 307, 2, 146, 301, 2, 120, 301, 2, 147, 359, 1, 125, 360, 1, 145, 403, 1, 129, 406, 1, 139, 194, 1, 133, 225, 1], "image_id": 103856, "bbox": [101.73, 188.42, 67.16, 184.49], "category_id": 1, "id": 122971}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [509, 241, 2, 453, 224, 2, 503, 341, 2, 456, 282, 2, 412, 312, 2, 400, 285, 2, 0, 0, 0, 608, 227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 160, 1, 459, 216, 1], "image_id": 107122, "bbox": [355.21, 123.46, 284.79, 238.25], "category_id": 1, "id": 122992}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 128, 2, 427, 127, 2, 475, 142, 2, 409, 134, 2, 487, 148, 2, 390, 138, 2, 460, 168, 2, 437, 168, 1, 440, 191, 1, 423, 192, 1, 454, 216, 1, 430, 219, 1, 447, 102, 1, 443, 123, 1], "image_id": 104427, "bbox": [373.01, 95.65, 124.16, 86.72], "category_id": 1, "id": 123001}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [510, 139, 2, 419, 140, 2, 520, 221, 1, 363, 172, 2, 0, 0, 0, 335, 157, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 58, 1, 464, 133, 1], "image_id": 106202, "bbox": [290.09, 52.77, 247.97, 139.78], "category_id": 1, "id": 123019}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 16, 320, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 357, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 138, 1, 41, 268, 1], "image_id": 103705, "bbox": [0, 124.63, 295.78, 298.65], "category_id": 1, "id": 123034}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [313, 263, 2, 191, 262, 2, 335, 294, 2, 166, 309, 2, 302, 232, 2, 171, 344, 2, 262, 399, 2, 192, 391, 2, 247, 493, 2, 169, 487, 2, 231, 537, 2, 169, 528, 2, 256, 149, 1, 249, 245, 1], "image_id": 102683, "bbox": [149.72, 124.64, 209.14, 459.23], "category_id": 1, "id": 123063}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [344, 148, 2, 313, 145, 1, 353, 172, 2, 0, 0, 0, 349, 184, 2, 0, 0, 0, 334, 192, 2, 313, 190, 2, 353, 202, 2, 301, 177, 1, 322, 228, 2, 299, 216, 1, 327, 112, 1, 328, 138, 1], "image_id": 105869, "bbox": [302.25, 111.54, 57.99, 120.46], "category_id": 1, "id": 123065}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 262, 253, 2, 0, 0, 0, 266, 281, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 224, 1, 245, 237, 1], "image_id": 102581, "bbox": [224.19, 225.15, 53.42, 74.57], "category_id": 1, "id": 123067}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 242, 2, 249, 251, 2, 381, 312, 2, 231, 325, 2, 402, 367, 2, 270, 384, 1, 296, 390, 1, 236, 379, 2, 307, 498, 2, 228, 488, 2, 288, 619, 2, 227, 620, 2, 296, 156, 1, 293, 221, 1], "image_id": 105246, "bbox": [188.4, 139.51, 237.6, 500.49], "category_id": 1, "id": 123069}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [197, 221, 2, 162, 241, 2, 241, 229, 2, 140, 283, 1, 257, 239, 2, 193, 291, 1, 256, 261, 2, 234, 279, 2, 325, 251, 2, 302, 276, 2, 381, 291, 2, 360, 320, 2, 162, 177, 1, 174, 221, 1], "image_id": 103258, "bbox": [144.86, 167.98, 270.56, 194.92], "category_id": 1, "id": 123070}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [407, 225, 2, 349, 232, 2, 415, 344, 2, 339, 355, 1, 450, 449, 2, 396, 443, 1, 380, 420, 1, 342, 422, 1, 352, 589, 2, 415, 579, 2, 0, 0, 0, 0, 0, 0, 398, 96, 1, 375, 192, 1], "image_id": 103394, "bbox": [290.61, 81.69, 180.9, 558.31], "category_id": 1, "id": 123071}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [376, 188, 2, 345, 192, 2, 375, 214, 2, 344, 213, 2, 364, 221, 2, 352, 218, 2, 373, 227, 2, 358, 229, 2, 378, 263, 2, 355, 263, 2, 375, 291, 2, 353, 297, 2, 356, 165, 1, 358, 185, 1], "image_id": 105582, "bbox": [341.01, 159.52, 41.79, 151.66], "category_id": 1, "id": 123098}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [175, 144, 2, 109, 107, 2, 152, 215, 2, 129, 251, 2, 189, 301, 2, 273, 269, 2, 143, 359, 2, 94, 371, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 15, 1, 160, 98, 1], "image_id": 103046, "bbox": [5.12, 6.15, 290, 449.85], "category_id": 1, "id": 123101}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [368, 257, 2, 255, 258, 2, 394, 347, 2, 236, 341, 2, 343, 386, 1, 224, 366, 2, 361, 401, 1, 263, 400, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 131, 1, 309, 221, 1], "image_id": 105904, "bbox": [188.15, 117.47, 214.88, 286.52], "category_id": 1, "id": 123105}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [226, 279, 1, 237, 280, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 301, 2, 236, 301, 2, 230, 325, 2, 227, 325, 2, 231, 345, 2, 226, 345, 2, 235, 264, 1, 233, 275, 1], "image_id": 105856, "bbox": [221.18, 264.15, 27.98, 85.77], "category_id": 1, "id": 123107}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [99, 161, 2, 222, 158, 2, 68, 273, 2, 248, 274, 2, 62, 352, 2, 275, 342, 2, 105, 359, 2, 176, 360, 2, 121, 491, 1, 187, 492, 1, 0, 0, 0, 0, 0, 0, 171, 42, 1, 164, 120, 1], "image_id": 107684, "bbox": [49.44, 29.21, 240.45, 453.94], "category_id": 1, "id": 123108}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [347, 371, 2, 248, 365, 2, 381, 429, 2, 218, 412, 2, 396, 454, 2, 202, 426, 2, 308, 483, 1, 254, 478, 1, 292, 514, 1, 189, 514, 1, 281, 533, 1, 150, 522, 1, 285, 250, 1, 290, 347, 1], "image_id": 108415, "bbox": [166.83, 235.87, 264.63, 250.24], "category_id": 1, "id": 123110}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [245, 196, 2, 65, 201, 2, 294, 339, 2, 15, 363, 2, 292, 216, 2, 39, 313, 2, 222, 468, 2, 100, 475, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 38, 1, 152, 163, 1], "image_id": 105937, "bbox": [1.13, 18.58, 324.32, 472.97], "category_id": 1, "id": 123121}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [320, 132, 2, 281, 141, 2, 328, 180, 2, 272, 176, 1, 306, 214, 2, 274, 211, 1, 311, 219, 2, 280, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 79, 1, 304, 122, 1], "image_id": 107953, "bbox": [267.35, 76.68, 70.04, 156.71], "category_id": 1, "id": 123126}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 128, 2, 202, 137, 2, 303, 173, 2, 184, 187, 2, 262, 157, 2, 227, 180, 2, 270, 250, 2, 225, 264, 2, 281, 347, 2, 230, 356, 2, 269, 424, 2, 196, 424, 2, 231, 57, 1, 229, 115, 1], "image_id": 104733, "bbox": [168.63, 40.05, 193.92, 417.36], "category_id": 1, "id": 123134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 296, 2, 362, 301, 2, 417, 353, 2, 355, 346, 2, 359, 368, 2, 353, 370, 2, 418, 368, 2, 375, 371, 2, 399, 375, 2, 337, 375, 2, 377, 435, 2, 341, 429, 2, 376, 252, 1, 385, 293, 1], "image_id": 105716, "bbox": [329.72, 249.57, 94.28, 193.7], "category_id": 1, "id": 123143}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [243, 114, 2, 0, 0, 0, 223, 93, 2, 0, 0, 0, 214, 64, 2, 210, 182, 2, 221, 197, 2, 232, 199, 2, 205, 264, 1, 238, 256, 2, 0, 0, 0, 254, 309, 2, 258, 76, 1, 240, 106, 1], "image_id": 107176, "bbox": [194.16, 40.27, 80.54, 284.76], "category_id": 1, "id": 123148}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [463, 238, 2, 275, 241, 2, 511, 295, 2, 172, 260, 2, 404, 253, 2, 235, 246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 39, 1, 356, 223, 1], "image_id": 108142, "bbox": [161.8, 3.06, 378.6, 330.06], "category_id": 1, "id": 123168}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [83, 172, 2, 110, 168, 2, 80, 195, 2, 115, 192, 2, 0, 0, 0, 0, 0, 0, 91, 209, 2, 107, 209, 2, 92, 244, 2, 116, 245, 2, 96, 275, 2, 122, 276, 2, 93, 144, 1, 94, 161, 1], "image_id": 106035, "bbox": [74.67, 141.68, 64.14, 145.51], "category_id": 1, "id": 123185}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [111, 211, 2, 0, 0, 0, 226, 316, 2, 0, 0, 0, 341, 314, 2, 324, 370, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 224, 1], "image_id": 108001, "bbox": [1.69, 1.54, 498.31, 357.31], "category_id": 1, "id": 123193}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [326, 221, 2, 197, 197, 2, 0, 0, 0, 276, 353, 2, 0, 0, 0, 390, 405, 2, 297, 431, 2, 215, 427, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 46, 1, 281, 156, 1], "image_id": 106285, "bbox": [145.64, 25.41, 309.86, 407.61], "category_id": 1, "id": 123207}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [20, 66, 2, 0, 0, 0, 56, 187, 2, 0, 0, 0, 36, 256, 2, 26, 96, 2, 0, 0, 0, 0, 0, 0, 82, 228, 1, 0, 0, 0, 88, 387, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104954, "bbox": [1.79, 1.2, 71.37, 346.81], "category_id": 1, "id": 123220}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 96, 2, 415, 99, 2, 402, 116, 2, 424, 122, 2, 397, 133, 2, 419, 138, 2, 402, 142, 2, 410, 144, 2, 402, 178, 2, 408, 178, 2, 403, 205, 2, 409, 205, 2, 397, 71, 1, 406, 86, 1], "image_id": 104165, "bbox": [385.01, 67.02, 44.83, 149.67], "category_id": 1, "id": 123225}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [417, 332, 2, 95, 337, 2, 0, 0, 0, 68, 603, 2, 429, 556, 2, 51, 519, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 353, 1], "image_id": 104344, "bbox": [12.89, 0.14, 467.11, 628.54], "category_id": 1, "id": 123232}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [478, 222, 1, 419, 222, 2, 448, 291, 2, 387, 254, 2, 377, 300, 2, 350, 232, 2, 461, 331, 1, 436, 331, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 158, 1, 443, 213, 1], "image_id": 107342, "bbox": [327.97, 153.01, 133.13, 177.23], "category_id": 1, "id": 123245}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [447, 151, 2, 451, 153, 2, 0, 0, 0, 466, 194, 2, 0, 0, 0, 501, 213, 2, 463, 225, 2, 463, 227, 2, 473, 296, 1, 460, 298, 1, 477, 344, 2, 455, 348, 2, 457, 111, 1, 453, 141, 1], "image_id": 104203, "bbox": [436.01, 101.25, 83.92, 266.35], "category_id": 1, "id": 123247}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 599, 15, 2, 550, 13, 2, 580, 29, 2, 553, 21, 2, 589, 41, 2, 567, 42, 2, 588, 84, 2, 572, 77, 2, 590, 131, 2, 576, 125, 2, 0, 0, 0, 0, 0, 0], "image_id": 107813, "bbox": [543.39, 0.84, 64.88, 142.33], "category_id": 1, "id": 123251}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [219, 216, 2, 118, 222, 2, 233, 303, 2, 105, 301, 2, 223, 253, 2, 159, 251, 2, 189, 381, 2, 114, 370, 2, 186, 458, 2, 113, 455, 2, 180, 532, 2, 113, 539, 2, 174, 104, 1, 166, 198, 1], "image_id": 104008, "bbox": [64.72, 69.03, 192.72, 560.9], "category_id": 1, "id": 123255}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [267, 343, 2, 246, 345, 2, 308, 425, 2, 226, 468, 2, 332, 372, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 237, 1, 271, 316, 1], "image_id": 102903, "bbox": [204.68, 226.31, 148.47, 279.64], "category_id": 1, "id": 123257}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [311, 145, 2, 243, 130, 2, 317, 207, 2, 219, 174, 2, 263, 226, 2, 180, 207, 2, 308, 247, 2, 274, 234, 2, 290, 305, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 52, 1, 274, 113, 1], "image_id": 104137, "bbox": [153.4, 40.01, 191.83, 263.76], "category_id": 1, "id": 123278}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [57, 268, 2, 59, 264, 2, 69, 272, 2, 0, 0, 0, 60, 278, 2, 0, 0, 0, 79, 286, 2, 83, 285, 2, 59, 305, 2, 64, 307, 2, 62, 328, 2, 72, 325, 2, 39, 267, 1, 53, 267, 1], "image_id": 106999, "bbox": [38.32, 257.67, 50.8, 79.02], "category_id": 1, "id": 123290}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [351, 240, 2, 312, 241, 2, 373, 264, 2, 305, 272, 2, 355, 279, 2, 298, 304, 2, 347, 304, 2, 315, 304, 2, 341, 350, 2, 320, 353, 2, 343, 402, 1, 322, 404, 1, 329, 203, 1, 332, 233, 1], "image_id": 108114, "bbox": [292.02, 200.19, 92.65, 186.55], "category_id": 1, "id": 123292}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [512, 168, 2, 527, 160, 2, 522, 191, 2, 523, 188, 2, 522, 208, 2, 509, 185, 1, 545, 198, 2, 563, 195, 2, 512, 204, 2, 557, 205, 2, 506, 236, 2, 580, 235, 2, 509, 146, 1, 516, 160, 1], "image_id": 105947, "bbox": [489.63, 141.35, 97.21, 108.24], "category_id": 1, "id": 123300}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [374, 180, 2, 357, 190, 2, 390, 183, 2, 358, 205, 2, 383, 191, 2, 364, 206, 2, 388, 206, 2, 374, 214, 2, 409, 211, 2, 381, 230, 2, 432, 228, 2, 401, 253, 1, 355, 172, 1, 364, 184, 1], "image_id": 104871, "bbox": [351.9, 167.79, 98.78, 84.9], "category_id": 1, "id": 123335}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 247, 1, 401, 258, 1], "image_id": 104451, "bbox": [383.65, 247.2, 30.25, 56.49], "category_id": 1, "id": 123343}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 181, 106, 2, 26, 137, 1, 211, 229, 1, 141, 182, 1, 155, 274, 2, 92, 284, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105639, "bbox": [0, 0, 406.85, 426.04], "category_id": 1, "id": 123346}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [218, 118, 2, 173, 115, 2, 230, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 207, 1, 179, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 57, 1, 193, 103, 1], "image_id": 105432, "bbox": [165.67, 44.43, 78.08, 164.37], "category_id": 1, "id": 123386}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [276, 212, 2, 237, 202, 1, 276, 255, 2, 235, 250, 2, 285, 284, 2, 243, 283, 2, 274, 292, 2, 251, 292, 2, 267, 347, 2, 249, 346, 2, 254, 414, 1, 215, 400, 1, 264, 157, 1, 256, 191, 1], "image_id": 104727, "bbox": [228.99, 153.4, 65.05, 247.92], "category_id": 1, "id": 123393}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 48, 1, 0, 0, 0], "image_id": 102867, "bbox": [366.42, 39.55, 58.63, 57.29], "category_id": 1, "id": 123394}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [408, 185, 2, 351, 172, 2, 401, 251, 2, 315, 202, 2, 354, 277, 2, 317, 254, 2, 428, 279, 2, 384, 271, 2, 435, 360, 2, 362, 338, 2, 504, 382, 2, 0, 0, 0, 372, 123, 1, 379, 164, 1], "image_id": 106539, "bbox": [299.64, 108.18, 230.71, 317.82], "category_id": 1, "id": 123396}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [237, 328, 1, 289, 352, 2, 224, 355, 1, 293, 391, 1, 0, 0, 0, 0, 0, 0, 239, 418, 2, 267, 419, 2, 244, 473, 2, 272, 460, 2, 244, 535, 2, 266, 518, 1, 267, 290, 1, 261, 324, 1], "image_id": 105949, "bbox": [231.43, 284.02, 74.28, 261.43], "category_id": 1, "id": 123424}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [347, 190, 2, 306, 187, 2, 346, 232, 2, 308, 232, 1, 352, 274, 1, 315, 274, 1, 313, 216, 2, 289, 216, 2, 353, 196, 2, 299, 257, 1, 334, 256, 1, 0, 0, 0, 343, 156, 1, 328, 186, 1], "image_id": 107292, "bbox": [269.98, 151.27, 90.24, 94.8], "category_id": 1, "id": 123425}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [440, 215, 2, 368, 203, 2, 473, 298, 2, 410, 272, 2, 444, 340, 2, 466, 258, 2, 422, 323, 2, 376, 325, 2, 514, 325, 2, 412, 326, 2, 0, 0, 0, 0, 0, 0, 414, 138, 1, 403, 197, 1], "image_id": 105721, "bbox": [323.5, 128.73, 211.52, 295.27], "category_id": 1, "id": 123429}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 569, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 225, 1, 0, 0, 0, 553, 408, 2, 0, 0, 0, 0, 0, 0], "image_id": 105370, "bbox": [397.28, 238.37, 242.72, 186.67], "category_id": 1, "id": 123441}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [205, 163, 2, 197, 164, 2, 0, 0, 0, 192, 179, 2, 0, 0, 0, 203, 183, 2, 206, 187, 2, 199, 188, 2, 206, 210, 2, 197, 211, 2, 204, 232, 2, 188, 231, 2, 201, 144, 1, 200, 158, 1], "image_id": 102679, "bbox": [183.04, 143.37, 34.13, 97.5], "category_id": 1, "id": 123445}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [280, 109, 2, 402, 177, 2, 338, 137, 2, 427, 264, 2, 466, 147, 2, 479, 176, 2, 200, 355, 2, 277, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 32, 1, 360, 106, 1], "image_id": 105737, "bbox": [164.8, 14.79, 360.73, 412.21], "category_id": 1, "id": 123447}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [57, 316, 2, 0, 0, 0, 95, 356, 1, 27, 449, 2, 54, 414, 2, 74, 392, 1, 44, 585, 1, 13, 603, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 199, 1, 13, 310, 1], "image_id": 107762, "bbox": [1.65, 170.23, 83.5, 469.77], "category_id": 1, "id": 123466}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [327, 123, 2, 184, 185, 2, 385, 218, 2, 214, 282, 2, 433, 290, 2, 313, 239, 2, 373, 311, 1, 292, 319, 2, 490, 301, 2, 181, 336, 2, 0, 0, 0, 389, 394, 1, 245, 57, 1, 252, 123, 1], "image_id": 105108, "bbox": [150.03, 24.34, 366.82, 398.97], "category_id": 1, "id": 123467}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [251, 187, 2, 202, 212, 2, 282, 214, 2, 170, 241, 2, 294, 241, 2, 114, 202, 2, 296, 351, 2, 241, 359, 2, 330, 456, 2, 192, 435, 2, 358, 519, 2, 195, 531, 2, 204, 130, 1, 225, 189, 1], "image_id": 106631, "bbox": [90.33, 116.47, 294.15, 457.35], "category_id": 1, "id": 123468}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 35, 169, 2, 0, 0, 0, 25, 235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102797, "bbox": [0, 94.92, 67.96, 173.66], "category_id": 1, "id": 123471}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [165, 352, 1, 305, 338, 2, 170, 458, 2, 329, 424, 2, 0, 0, 0, 0, 0, 0, 217, 571, 2, 320, 562, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 291, 1], "image_id": 102773, "bbox": [160, 237.84, 200.36, 387.75], "category_id": 1, "id": 123472}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [227, 318, 2, 355, 280, 2, 0, 0, 0, 221, 391, 2, 148, 449, 2, 169, 276, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 166, 1, 292, 275, 1], "image_id": 107488, "bbox": [127.63, 180.64, 298.49, 269.67], "category_id": 1, "id": 123480}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 206, 17, 2, 0, 0, 0, 236, 203, 2, 68, 140, 2, 47, 244, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103524, "bbox": [0.81, 0.67, 322.79, 351.11], "category_id": 1, "id": 123489}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [186, 208, 2, 147, 219, 2, 196, 238, 2, 150, 258, 1, 214, 235, 1, 195, 258, 1, 198, 263, 1, 172, 273, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 163, 1, 161, 199, 1], "image_id": 103705, "bbox": [140.04, 158.75, 151.06, 137.67], "category_id": 1, "id": 123491}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 124, 2, 458, 126, 2, 553, 254, 2, 439, 258, 1, 0, 0, 0, 0, 0, 0], "image_id": 105108, "bbox": [413.12, 3.06, 204.95, 292.31], "category_id": 1, "id": 123492}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 449, 37, 2, 287, 34, 2, 426, 63, 2, 323, 116, 2, 402, 95, 1, 317, 96, 2, 399, 205, 1, 314, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104989, "bbox": [272.9, 0.9, 198.47, 147.77], "category_id": 1, "id": 123495}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [522, 254, 2, 425, 253, 2, 537, 351, 2, 387, 307, 1, 0, 0, 0, 0, 0, 0, 515, 385, 1, 442, 383, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, 158, 1, 476, 238, 1], "image_id": 105904, "bbox": [401.12, 147.08, 155.68, 217.75], "category_id": 1, "id": 123522}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [69, 213, 2, 0, 0, 0, 159, 427, 2, 14, 420, 2, 252, 525, 1, 149, 197, 2, 117, 562, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105812, "bbox": [0, 4.31, 337.98, 628.5], "category_id": 1, "id": 123529}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [306, 437, 2, 335, 437, 2, 302, 462, 2, 341, 462, 2, 307, 479, 2, 0, 0, 0, 316, 485, 2, 340, 481, 2, 323, 524, 2, 332, 517, 2, 332, 565, 2, 335, 549, 1, 316, 404, 1, 318, 426, 1], "image_id": 108086, "bbox": [294.55, 403.02, 50.27, 176.7], "category_id": 1, "id": 123535}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [582, 393, 2, 0, 0, 0, 583, 439, 2, 0, 0, 0, 558, 420, 1, 0, 0, 0, 585, 478, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 356, 1, 574, 385, 1], "image_id": 106911, "bbox": [574.91, 350.99, 35.05, 172.63], "category_id": 1, "id": 123538}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 357, 100, 2, 0, 0, 0, 368, 142, 1, 0, 0, 0, 405, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 50, 1, 354, 84, 1], "image_id": 103998, "bbox": [345.19, 46.47, 85.34, 99.57], "category_id": 1, "id": 123559}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 574, 11, 2, 0, 0, 0, 560, 77, 2, 0, 0, 0, 513, 139, 2, 0, 0, 0, 630, 113, 2, 0, 0, 0, 622, 245, 2, 0, 0, 0, 625, 357, 2, 0, 0, 0, 0, 0, 0], "image_id": 106513, "bbox": [509.52, 0.96, 130.48, 386.7], "category_id": 1, "id": 123565}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [375, 310, 2, 101, 266, 2, 0, 0, 0, 0, 0, 0, 597, 420, 2, 207, 357, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 39, 1, 237, 254, 1], "image_id": 105572, "bbox": [1.91, 3.92, 614.63, 417.38], "category_id": 1, "id": 123572}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [326, 290, 2, 227, 284, 1, 339, 348, 2, 216, 330, 2, 342, 403, 2, 196, 376, 2, 302, 383, 2, 236, 380, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 186, 1, 275, 267, 1], "image_id": 106516, "bbox": [168.27, 106.43, 194.16, 302.02], "category_id": 1, "id": 123576}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [376, 284, 2, 406, 260, 2, 413, 379, 2, 341, 278, 2, 378, 450, 2, 298, 269, 2, 420, 435, 2, 444, 413, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 143, 1, 378, 239, 1], "image_id": 104638, "bbox": [267.51, 128.36, 243.77, 344.09], "category_id": 1, "id": 123579}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [221, 235, 2, 194, 234, 2, 232, 260, 2, 194, 264, 2, 234, 266, 2, 217, 271, 2, 228, 278, 2, 204, 280, 2, 259, 277, 2, 231, 286, 2, 262, 327, 2, 252, 330, 2, 208, 196, 1, 206, 225, 1], "image_id": 103994, "bbox": [182.85, 191.93, 100.03, 155.69], "category_id": 1, "id": 123586}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [539, 312, 2, 392, 279, 2, 0, 0, 0, 0, 0, 0, 375, 408, 2, 347, 396, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, 100, 1, 452, 248, 1], "image_id": 106369, "bbox": [287.87, 91.16, 287.86, 330.08], "category_id": 1, "id": 123593}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 492, 9, 2, 0, 0, 0, 487, 29, 2, 0, 0, 0, 501, 31, 2, 514, 29, 2, 500, 48, 2, 511, 47, 2, 517, 85, 2, 519, 72, 2, 0, 0, 0, 0, 0, 0], "image_id": 108130, "bbox": [480.85, 0, 48.25, 99.11], "category_id": 1, "id": 123609}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [152, 264, 2, 114, 280, 2, 171, 300, 2, 96, 326, 1, 170, 330, 2, 148, 323, 2, 164, 323, 2, 139, 335, 1, 201, 370, 2, 179, 362, 2, 165, 388, 1, 185, 404, 2, 134, 222, 1, 131, 268, 1], "image_id": 105305, "bbox": [86.75, 219.51, 132.63, 197.01], "category_id": 1, "id": 123624}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [163, 173, 1, 97, 262, 2, 252, 225, 2, 229, 336, 2, 291, 298, 2, 334, 290, 2, 192, 377, 2, 121, 397, 2, 336, 416, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 71, 1, 119, 195, 1], "image_id": 106861, "bbox": [33.58, 58.53, 360.8, 356], "category_id": 1, "id": 123625}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [458, 62, 2, 468, 70, 2, 0, 0, 0, 471, 97, 2, 0, 0, 0, 0, 0, 0, 451, 107, 2, 463, 112, 2, 461, 133, 2, 465, 136, 2, 445, 158, 2, 456, 163, 1, 476, 44, 1, 467, 61, 1], "image_id": 108525, "bbox": [438.96, 41.14, 45.69, 131.15], "category_id": 1, "id": 123628}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [333, 157, 2, 366, 139, 2, 251, 189, 2, 326, 210, 2, 151, 202, 2, 275, 188, 2, 380, 310, 2, 415, 300, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 64, 1, 331, 133, 1], "image_id": 108491, "bbox": [90.17, 57.36, 348.03, 312.64], "category_id": 1, "id": 123637}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [602, 188, 2, 557, 193, 2, 611, 221, 2, 553, 230, 2, 623, 247, 2, 551, 264, 2, 598, 259, 2, 569, 260, 2, 590, 316, 2, 578, 319, 2, 573, 374, 2, 580, 372, 2, 580, 141, 1, 580, 178, 1], "image_id": 104514, "bbox": [545.25, 139.2, 88.53, 254.38], "category_id": 1, "id": 123638}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 60, 209, 2, 0, 0, 0, 44, 422, 1, 0, 0, 0, 256, 341, 2, 0, 0, 0, 0, 0, 0, 272, 317, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 69, 1, 137, 158, 1], "image_id": 106275, "bbox": [0.96, 26.03, 368.27, 395.26], "category_id": 1, "id": 123651}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [454, 148, 2, 381, 159, 2, 488, 219, 2, 428, 250, 2, 530, 288, 2, 501, 301, 2, 390, 253, 2, 335, 264, 2, 498, 275, 2, 421, 297, 2, 0, 0, 0, 366, 384, 1, 444, 89, 1, 418, 146, 1], "image_id": 104995, "bbox": [312.75, 73.26, 251.7, 290.21], "category_id": 1, "id": 123652}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [423, 146, 2, 375, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 55, 1, 0, 0, 0], "image_id": 106437, "bbox": [355.75, 47.11, 75.12, 124.79], "category_id": 1, "id": 123653}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [191, 288, 2, 225, 315, 2, 139, 321, 2, 235, 381, 2, 104, 338, 2, 270, 422, 2, 194, 417, 2, 157, 423, 2, 243, 465, 2, 149, 491, 2, 246, 555, 2, 96, 528, 2, 242, 250, 1, 221, 287, 1], "image_id": 104521, "bbox": [61.33, 237.36, 240.11, 346.63], "category_id": 1, "id": 123671}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [235, 11, 2, 72, 11, 2, 316, 90, 2, 1, 118, 1, 200, 123, 1, 0, 0, 0, 226, 217, 1, 97, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108659, "bbox": [0, 0, 348.83, 128.29], "category_id": 1, "id": 123687}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [354, 177, 2, 213, 180, 2, 459, 262, 2, 131, 273, 2, 502, 321, 2, 210, 146, 2, 348, 373, 1, 237, 376, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 29, 1, 283, 159, 1], "image_id": 106572, "bbox": [103.17, 19.2, 460.43, 388.79], "category_id": 1, "id": 123695}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [599, 77, 2, 611, 84, 2, 554, 145, 2, 580, 153, 2, 493, 165, 2, 554, 173, 2, 606, 214, 2, 618, 220, 2, 481, 183, 1, 618, 333, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 59, 1], "image_id": 106017, "bbox": [470.29, 1.83, 167.19, 339.77], "category_id": 1, "id": 123699}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [294, 135, 2, 254, 155, 2, 328, 137, 2, 242, 182, 2, 353, 149, 2, 219, 213, 2, 308, 170, 2, 284, 179, 2, 289, 198, 2, 271, 206, 2, 336, 229, 2, 311, 237, 2, 260, 122, 1, 269, 140, 1], "image_id": 104427, "bbox": [205.82, 112, 155.08, 143.6], "category_id": 1, "id": 123707}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [546, 290, 2, 499, 229, 2, 344, 385, 2, 516, 356, 2, 179, 348, 2, 433, 310, 2, 502, 475, 2, 467, 428, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 63, 1, 511, 206, 1], "image_id": 107405, "bbox": [115.5, 36.82, 486.66, 456.39], "category_id": 1, "id": 123715}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 476, 261, 2, 0, 0, 0, 438, 345, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106516, "bbox": [416.8, 243.58, 63.2, 173.76], "category_id": 1, "id": 123716}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [501, 344, 2, 617, 299, 2, 305, 411, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 81, 1, 522, 290, 1], "image_id": 105752, "bbox": [60.08, 0, 579.92, 468], "category_id": 1, "id": 123723}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [174, 204, 2, 82, 206, 2, 156, 257, 2, 39, 249, 2, 142, 172, 2, 70, 187, 2, 149, 396, 2, 81, 395, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 89, 1, 132, 181, 1], "image_id": 104195, "bbox": [10.46, 61.89, 197.76, 358.45], "category_id": 1, "id": 123736}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [564, 349, 1, 504, 351, 1, 559, 427, 2, 0, 0, 0, 554, 461, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 237, 1, 545, 314, 1], "image_id": 107329, "bbox": [494.97, 217.6, 133.61, 262.4], "category_id": 1, "id": 123747}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 65, 9, 2, 178, 60, 2, 80, 81, 1, 0, 0, 0, 0, 0, 0, 164, 86, 1, 101, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108586, "bbox": [51.89, 0.54, 135.14, 77.84], "category_id": 1, "id": 123752}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [203, 567, 2, 2, 546, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 285, 1, 78, 469, 1], "image_id": 104459, "bbox": [32.17, 278.77, 243.38, 361.23], "category_id": 1, "id": 123767}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [434, 291, 2, 196, 325, 2, 0, 0, 0, 0, 0, 0, 482, 389, 2, 239, 459, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 26, 1, 333, 280, 1], "image_id": 107267, "bbox": [71.19, 8.63, 510.2, 465.98], "category_id": 1, "id": 123769}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [196, 193, 2, 215, 193, 2, 190, 209, 2, 219, 210, 2, 180, 217, 2, 220, 221, 2, 203, 225, 2, 214, 225, 2, 202, 249, 2, 202, 245, 2, 209, 279, 2, 209, 269, 2, 202, 170, 1, 204, 185, 1], "image_id": 108323, "bbox": [174.48, 167.43, 49.4, 119.48], "category_id": 1, "id": 123774}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [109, 312, 2, 309, 306, 2, 87, 433, 2, 349, 451, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 132, 1, 210, 246, 1], "image_id": 105822, "bbox": [65.8, 121.89, 310.65, 357.03], "category_id": 1, "id": 123775}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [281, 160, 2, 269, 164, 1, 284, 213, 2, 304, 209, 2, 268, 254, 2, 269, 224, 1, 304, 260, 2, 290, 262, 2, 305, 330, 2, 297, 330, 2, 306, 401, 2, 293, 389, 2, 258, 112, 1, 276, 145, 1], "image_id": 107002, "bbox": [244.19, 107.41, 87.02, 313.03], "category_id": 1, "id": 123777}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [302, 137, 2, 280, 136, 2, 309, 147, 2, 273, 149, 2, 292, 151, 2, 286, 149, 2, 298, 168, 2, 283, 167, 2, 300, 195, 2, 278, 196, 2, 304, 219, 2, 278, 219, 2, 293, 114, 1, 292, 131, 1], "image_id": 105021, "bbox": [269.4, 111.17, 42.72, 122.42], "category_id": 1, "id": 123789}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [520, 245, 2, 0, 0, 0, 526, 287, 2, 0, 0, 0, 486, 293, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 196, 1, 491, 242, 1], "image_id": 104249, "bbox": [475.38, 192.39, 65.39, 111.1], "category_id": 1, "id": 123791}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 196, 2, 307, 193, 2, 259, 236, 1, 320, 229, 2, 276, 241, 2, 323, 247, 2, 279, 261, 2, 308, 259, 2, 294, 323, 2, 316, 306, 2, 310, 373, 2, 320, 337, 2, 285, 158, 1, 287, 184, 1], "image_id": 103579, "bbox": [253.71, 154.25, 88.08, 228.82], "category_id": 1, "id": 123793}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [236, 218, 2, 218, 209, 2, 0, 0, 0, 198, 255, 2, 0, 0, 0, 227, 277, 2, 251, 278, 2, 231, 267, 2, 299, 261, 2, 320, 233, 2, 315, 298, 1, 379, 289, 1, 240, 163, 1, 228, 200, 1], "image_id": 107292, "bbox": [182.61, 160.09, 195.31, 155.29], "category_id": 1, "id": 123805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [348, 68, 2, 322, 58, 2, 361, 87, 2, 317, 64, 2, 357, 82, 2, 315, 70, 2, 349, 97, 2, 332, 98, 1, 368, 105, 2, 334, 112, 1, 369, 141, 1, 339, 138, 2, 337, 37, 1, 335, 58, 1], "image_id": 103372, "bbox": [311.18, 33.64, 67.17, 113.24], "category_id": 1, "id": 123824}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [355, 295, 2, 93, 297, 2, 402, 518, 2, 40, 536, 1, 306, 410, 2, 109, 414, 2, 302, 579, 1, 136, 575, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 108, 1, 218, 294, 1], "image_id": 107323, "bbox": [28.7, 75.1, 397.49, 479.28], "category_id": 1, "id": 123832}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 588, 421, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, 167, 1, 0, 0, 0], "image_id": 105822, "bbox": [565.24, 144.32, 74.76, 335.65], "category_id": 1, "id": 123839}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [175, 363, 2, 0, 0, 0, 127, 481, 2, 0, 0, 0, 57, 560, 2, 0, 0, 0, 68, 502, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 167, 1, 79, 353, 1], "image_id": 107306, "bbox": [0, 136.39, 228.48, 503.61], "category_id": 1, "id": 123858}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104459, "bbox": [0, 255.35, 73.68, 375.62], "category_id": 1, "id": 123859}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [349, 353, 1, 274, 333, 2, 0, 0, 0, 279, 415, 2, 0, 0, 0, 267, 469, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 223, 1, 309, 323, 1], "image_id": 103191, "bbox": [251.69, 212.85, 73.34, 251.69], "category_id": 1, "id": 123868}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 606, 33, 2, 0, 0, 0, 569, 161, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 204, 2, 0, 0, 0, 575, 354, 1, 0, 0, 0, 0, 0, 0], "image_id": 105370, "bbox": [510.43, 0, 128.57, 293.59], "category_id": 1, "id": 123872}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 232, 2, 197, 232, 2, 213, 241, 2, 195, 242, 2, 213, 252, 2, 195, 253, 2, 211, 254, 2, 199, 254, 2, 212, 271, 2, 200, 271, 2, 212, 280, 2, 201, 286, 2, 204, 217, 1, 203, 230, 1], "image_id": 106359, "bbox": [189.38, 217.9, 25.68, 79.83], "category_id": 1, "id": 123893}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 65, 1, 123, 71, 1], "image_id": 104780, "bbox": [117.59, 67.3, 16.3, 50.42], "category_id": 1, "id": 123902}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [220, 175, 2, 246, 165, 2, 213, 197, 2, 0, 0, 0, 213, 177, 1, 0, 0, 0, 233, 207, 2, 247, 204, 2, 246, 237, 2, 277, 221, 2, 237, 266, 2, 303, 258, 2, 230, 144, 1, 231, 160, 1], "image_id": 103616, "bbox": [205.82, 140.01, 115.41, 149.06], "category_id": 1, "id": 123906}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [187, 178, 1, 95, 185, 2, 0, 0, 0, 100, 271, 1, 0, 0, 0, 144, 248, 2, 166, 291, 1, 119, 296, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 73, 1, 137, 153, 1], "image_id": 105822, "bbox": [88.45, 65.8, 96, 224.36], "category_id": 1, "id": 123918}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [237, 293, 2, 289, 269, 2, 56, 411, 1, 181, 348, 2, 0, 0, 0, 84, 277, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 80, 1, 209, 256, 1], "image_id": 103404, "bbox": [16.85, 49.44, 304.5, 330.34], "category_id": 1, "id": 123924}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 134, 2, 446, 93, 2, 414, 155, 2, 429, 57, 2, 416, 113, 2, 404, 50, 2, 419, 196, 2, 392, 170, 2, 401, 269, 2, 342, 203, 2, 413, 324, 2, 296, 252, 2, 461, 72, 1, 457, 108, 1], "image_id": 105568, "bbox": [262.77, 38.03, 223.32, 290.31], "category_id": 1, "id": 123928}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [363, 313, 2, 255, 262, 2, 394, 408, 2, 214, 178, 2, 0, 0, 0, 275, 159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 170, 1, 314, 259, 1], "image_id": 108220, "bbox": [193.32, 134.65, 220.25, 286.62], "category_id": 1, "id": 123933}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [188, 241, 2, 203, 240, 2, 183, 249, 2, 207, 247, 2, 178, 260, 2, 209, 259, 2, 189, 264, 2, 200, 264, 2, 185, 280, 2, 199, 283, 2, 180, 301, 2, 199, 301, 2, 195, 225, 1, 195, 236, 1], "image_id": 102730, "bbox": [173.51, 222.41, 38.63, 85.71], "category_id": 1, "id": 123942}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [604, 130, 2, 533, 143, 2, 636, 200, 2, 516, 203, 2, 556, 224, 2, 468, 247, 2, 559, 263, 2, 510, 247, 2, 540, 369, 2, 493, 342, 2, 547, 468, 2, 490, 413, 2, 541, 66, 1, 568, 117, 1], "image_id": 105754, "bbox": [436.72, 50.86, 202.33, 431.19], "category_id": 1, "id": 123946}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102997, "bbox": [324.3, 24.56, 155.7, 363.05], "category_id": 1, "id": 123959}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 126, 2, 269, 126, 2, 368, 187, 2, 262, 191, 2, 333, 235, 2, 313, 245, 2, 344, 271, 2, 290, 272, 2, 339, 347, 2, 283, 349, 2, 330, 416, 2, 273, 422, 2, 306, 52, 1, 312, 111, 1], "image_id": 106602, "bbox": [244.53, 45.39, 127.44, 413.99], "category_id": 1, "id": 123967}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [618, 493, 1, 502, 493, 2, 0, 0, 0, 484, 457, 2, 580, 311, 2, 545, 326, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 302, 1], "image_id": 104459, "bbox": [447.99, 254.3, 164.5, 381.4], "category_id": 1, "id": 123975}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [515, 396, 2, 269, 346, 2, 0, 0, 0, 0, 0, 0, 389, 397, 2, 6, 445, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 117, 1, 408, 305, 1], "image_id": 103976, "bbox": [1.08, 77.66, 574.92, 401.26], "category_id": 1, "id": 123978}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [293, 12, 2, 263, 13, 2, 295, 42, 2, 261, 40, 2, 305, 66, 2, 276, 46, 2, 290, 50, 2, 267, 55, 2, 291, 57, 2, 286, 48, 2, 304, 73, 2, 308, 60, 2, 0, 0, 0, 277, 7, 1], "image_id": 104726, "bbox": [250.87, 0, 81.38, 80.62], "category_id": 1, "id": 123986}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 54, 2, 252, 66, 2, 197, 218, 2, 251, 223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104438, "bbox": [127, 2.28, 181.88, 248.61], "category_id": 1, "id": 123988}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 144, 2, 307, 149, 2, 362, 170, 2, 303, 178, 2, 377, 192, 2, 305, 204, 2, 345, 187, 1, 319, 192, 1, 378, 205, 2, 321, 211, 1, 384, 240, 1, 324, 246, 1, 327, 105, 1, 324, 138, 1], "image_id": 104372, "bbox": [295.25, 105.73, 96.82, 111.26], "category_id": 1, "id": 124022}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 295, 270, 2, 0, 0, 0, 299, 382, 2, 0, 0, 0, 345, 296, 2, 0, 0, 0, 335, 460, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 113, 1, 363, 222, 1], "image_id": 105943, "bbox": [265.33, 94.3, 141.38, 487.71], "category_id": 1, "id": 124030}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [358, 198, 2, 404, 203, 2, 339, 264, 1, 453, 296, 1, 0, 0, 0, 451, 219, 2, 353, 351, 2, 396, 352, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 119, 1, 401, 180, 1], "image_id": 103777, "bbox": [309.43, 110.37, 160.02, 313.29], "category_id": 1, "id": 124033}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [465, 142, 2, 472, 130, 2, 459, 176, 2, 437, 173, 2, 420, 202, 2, 394, 192, 2, 543, 242, 2, 541, 227, 2, 462, 302, 2, 448, 288, 2, 563, 334, 2, 478, 393, 2, 432, 80, 1, 454, 124, 1], "image_id": 105638, "bbox": [357.76, 69.24, 230.81, 338.53], "category_id": 1, "id": 124040}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [149, 90, 2, 0, 0, 0, 16, 231, 2, 0, 0, 0, 124, 342, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107205, "bbox": [0, 2.94, 483.04, 354.38], "category_id": 1, "id": 124061}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [328, 245, 2, 288, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 342, 1, 296, 342, 1, 313, 386, 1, 290, 390, 1, 309, 437, 1, 293, 438, 1, 308, 185, 1, 309, 229, 1], "image_id": 106631, "bbox": [286.23, 180.12, 48.32, 173.47], "category_id": 1, "id": 124085}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [375, 208, 2, 193, 214, 2, 442, 401, 1, 149, 374, 2, 443, 357, 2, 266, 357, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 49, 1, 282, 179, 1], "image_id": 105298, "bbox": [110.35, 19.19, 376.14, 403.01], "category_id": 1, "id": 124114}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [274, 268, 2, 341, 266, 2, 267, 334, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 395, 2, 363, 388, 2, 218, 332, 2, 0, 0, 0, 228, 444, 2, 0, 0, 0, 279, 210, 1, 297, 251, 1], "image_id": 105177, "bbox": [190.92, 183.37, 203.87, 281.53], "category_id": 1, "id": 124117}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [196, 191, 2, 147, 187, 2, 200, 212, 2, 149, 238, 2, 197, 219, 2, 206, 239, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 132, 1, 169, 178, 1], "image_id": 103222, "bbox": [111.35, 126.49, 124.33, 124.32], "category_id": 1, "id": 124132}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [375, 128, 2, 332, 117, 2, 369, 217, 2, 0, 0, 0, 333, 267, 2, 0, 0, 0, 371, 226, 2, 335, 209, 1, 375, 321, 1, 334, 315, 1, 0, 0, 0, 0, 0, 0, 347, 53, 1, 352, 114, 1], "image_id": 105264, "bbox": [319.68, 40.96, 97.79, 227.14], "category_id": 1, "id": 124143}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [394, 320, 2, 385, 324, 2, 0, 0, 0, 423, 387, 2, 0, 0, 0, 474, 342, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 227, 1, 387, 290, 1], "image_id": 108106, "bbox": [349.28, 212.73, 142.97, 208.22], "category_id": 1, "id": 124149}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [174, 137, 2, 87, 138, 2, 181, 217, 2, 120, 229, 2, 183, 274, 2, 144, 160, 2, 161, 260, 2, 100, 267, 2, 236, 297, 2, 176, 320, 2, 258, 424, 2, 145, 432, 2, 136, 52, 1, 130, 126, 1], "image_id": 102793, "bbox": [67.81, 36.6, 265.88, 442.4], "category_id": 1, "id": 124157}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [507, 165, 2, 0, 0, 0, 481, 186, 2, 0, 0, 0, 453, 201, 2, 0, 0, 0, 563, 185, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 154, 1, 502, 163, 1], "image_id": 104542, "bbox": [432.6, 147.09, 149.11, 69.85], "category_id": 1, "id": 124161}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [163, 364, 2, 335, 365, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 252, 1, 265, 336, 1], "image_id": 108498, "bbox": [119.11, 235.89, 264.69, 189.11], "category_id": 1, "id": 124165}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 140, 2, 358, 139, 2, 459, 172, 2, 310, 176, 2, 489, 186, 2, 275, 218, 2, 370, 232, 2, 328, 233, 2, 396, 288, 2, 306, 306, 2, 348, 352, 2, 236, 325, 2, 399, 77, 1, 385, 123, 1], "image_id": 104717, "bbox": [213.89, 66.6, 310.32, 315.1], "category_id": 1, "id": 124173}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 224, 2, 315, 229, 2, 366, 223, 2, 291, 233, 2, 383, 220, 2, 268, 234, 2, 349, 263, 2, 331, 269, 2, 350, 306, 2, 341, 306, 2, 334, 334, 2, 322, 338, 2, 325, 193, 1, 328, 217, 1], "image_id": 105430, "bbox": [255.19, 189.96, 150.24, 169.02], "category_id": 1, "id": 124174}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [140, 165, 2, 93, 173, 2, 175, 199, 2, 82, 208, 2, 194, 236, 2, 64, 223, 2, 147, 245, 2, 113, 245, 2, 138, 314, 2, 101, 314, 2, 144, 368, 2, 108, 358, 2, 108, 94, 1, 117, 155, 1], "image_id": 103862, "bbox": [36.04, 82.21, 189.19, 314.19], "category_id": 1, "id": 124182}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [430, 273, 2, 209, 273, 2, 553, 256, 2, 82, 255, 2, 504, 174, 2, 108, 167, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 85, 1, 303, 239, 1], "image_id": 103250, "bbox": [56.09, 47.13, 539.33, 426.07], "category_id": 1, "id": 124185}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 558, 8, 2, 0, 0, 0, 540, 17, 2, 0, 0, 0, 556, 20, 2, 542, 21, 2, 560, 46, 2, 541, 45, 2, 567, 72, 2, 547, 73, 2, 0, 0, 0, 0, 0, 0], "image_id": 108130, "bbox": [524.58, 0, 44.28, 79.46], "category_id": 1, "id": 124186}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [573, 254, 2, 524, 241, 2, 555, 313, 2, 498, 289, 2, 0, 0, 0, 529, 305, 2, 554, 331, 1, 518, 316, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 154, 1, 553, 218, 1], "image_id": 107466, "bbox": [488.55, 149.07, 116.37, 189.45], "category_id": 1, "id": 124199}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [125, 350, 2, 95, 352, 2, 123, 390, 2, 95, 399, 2, 136, 412, 2, 126, 415, 2, 102, 392, 2, 65, 395, 2, 135, 417, 2, 98, 417, 2, 128, 475, 2, 93, 478, 2, 123, 307, 1, 112, 343, 1], "image_id": 104369, "bbox": [47.57, 299.1, 106.66, 209.01], "category_id": 1, "id": 124210}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [187, 164, 2, 284, 170, 2, 0, 0, 0, 381, 242, 2, 0, 0, 0, 499, 266, 2, 0, 0, 0, 151, 422, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 43, 1, 257, 135, 1], "image_id": 103188, "bbox": [109.83, 29.61, 467.02, 369.6], "category_id": 1, "id": 124212}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [137, 51, 2, 109, 52, 2, 151, 72, 2, 114, 74, 2, 157, 91, 2, 119, 90, 2, 161, 71, 2, 136, 74, 2, 168, 97, 2, 124, 98, 2, 174, 135, 2, 115, 135, 2, 116, 34, 1, 121, 47, 1], "image_id": 104808, "bbox": [102.48, 24.77, 83.33, 127.26], "category_id": 1, "id": 124213}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [263, 274, 2, 318, 245, 2, 0, 0, 0, 362, 210, 2, 0, 0, 0, 348, 178, 2, 364, 342, 2, 376, 299, 1, 446, 318, 1, 457, 266, 1, 481, 355, 2, 563, 254, 2, 282, 202, 1, 285, 245, 1], "image_id": 103894, "bbox": [251.81, 159.55, 332.13, 212.74], "category_id": 1, "id": 124224}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 385, 2, 271, 390, 2, 355, 435, 2, 238, 424, 1, 327, 427, 2, 257, 421, 1, 330, 452, 2, 288, 453, 1, 361, 458, 2, 298, 460, 2, 365, 566, 2, 287, 564, 2, 299, 329, 1, 303, 374, 1], "image_id": 105651, "bbox": [257.16, 320.36, 125.68, 290.38], "category_id": 1, "id": 124226}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 73, 2, 0, 0, 0, 0, 0, 0, 82, 212, 2, 197, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108142, "bbox": [1.08, 1.2, 257.22, 276.59], "category_id": 1, "id": 124235}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [128, 92, 2, 35, 83, 2, 141, 153, 2, 25, 147, 2, 113, 181, 2, 60, 177, 2, 95, 208, 2, 36, 207, 2, 118, 305, 1, 19, 313, 2, 143, 391, 1, 1, 389, 1, 73, 6, 1, 75, 67, 1], "image_id": 103394, "bbox": [0, 3.82, 160.36, 398.03], "category_id": 1, "id": 124236}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [337, 72, 2, 123, 146, 2, 500, 221, 2, 109, 382, 1, 339, 271, 2, 0, 0, 0, 257, 328, 2, 143, 394, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 10, 1, 240, 90, 1], "image_id": 108489, "bbox": [53.93, 0, 475.69, 355.96], "category_id": 1, "id": 124238}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [203, 250, 1, 107, 262, 1, 0, 0, 0, 154, 309, 2, 0, 0, 0, 230, 306, 1, 210, 441, 1, 141, 448, 2, 254, 569, 2, 101, 537, 2, 0, 0, 0, 0, 0, 0, 108, 173, 1, 134, 242, 1], "image_id": 104173, "bbox": [66.16, 163.68, 231.55, 468.85], "category_id": 1, "id": 124249}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [246, 241, 2, 230, 261, 2, 0, 0, 0, 266, 354, 2, 0, 0, 0, 0, 0, 0, 254, 374, 2, 246, 395, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 162, 1, 236, 223, 1], "image_id": 102906, "bbox": [180.1, 144.95, 144.84, 276.35], "category_id": 1, "id": 124251}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [468, 200, 2, 323, 198, 1, 492, 329, 2, 0, 0, 0, 433, 404, 1, 0, 0, 0, 446, 413, 1, 331, 407, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 56, 1, 394, 166, 1], "image_id": 105298, "bbox": [355.2, 41.28, 176.16, 333.17], "category_id": 1, "id": 124264}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [390, 217, 2, 408, 229, 2, 375, 216, 2, 408, 243, 2, 370, 227, 2, 405, 255, 2, 389, 234, 2, 401, 238, 2, 378, 235, 2, 396, 244, 2, 379, 256, 2, 396, 260, 2, 406, 215, 1, 401, 220, 1], "image_id": 103861, "bbox": [362.05, 213.27, 48.58, 50.99], "category_id": 1, "id": 124319}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [155, 210, 2, 153, 196, 2, 185, 221, 2, 187, 186, 2, 217, 224, 2, 198, 158, 2, 162, 251, 2, 151, 257, 2, 169, 311, 2, 161, 311, 2, 158, 360, 2, 138, 359, 2, 136, 174, 1, 152, 192, 1], "image_id": 107607, "bbox": [122.11, 140.76, 122.12, 244.22], "category_id": 1, "id": 124324}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [113, 425, 2, 151, 428, 2, 0, 0, 0, 169, 442, 2, 0, 0, 0, 154, 442, 2, 111, 480, 2, 139, 481, 1, 0, 0, 0, 160, 449, 2, 0, 0, 0, 168, 481, 2, 142, 396, 1, 135, 416, 1], "image_id": 106849, "bbox": [106.69, 395.15, 74.49, 93.9], "category_id": 1, "id": 124340}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [416, 278, 2, 365, 280, 2, 411, 318, 2, 362, 314, 2, 388, 333, 2, 370, 330, 2, 401, 336, 1, 375, 337, 2, 394, 344, 1, 356, 344, 2, 390, 388, 1, 358, 390, 1, 386, 233, 1, 388, 267, 1], "image_id": 108112, "bbox": [340.71, 224.85, 86.29, 155.94], "category_id": 1, "id": 124342}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 203, 2, 458, 198, 1, 435, 237, 2, 488, 234, 2, 424, 273, 2, 473, 271, 2, 462, 276, 2, 448, 281, 2, 478, 337, 2, 440, 332, 2, 532, 365, 2, 437, 395, 2, 422, 165, 1, 431, 191, 1], "image_id": 103579, "bbox": [408.77, 158.33, 138.17, 243.72], "category_id": 1, "id": 124363}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [499, 172, 2, 476, 174, 2, 511, 182, 2, 467, 187, 2, 514, 194, 2, 458, 197, 2, 503, 200, 2, 484, 201, 2, 503, 224, 1, 481, 223, 1, 0, 0, 0, 0, 0, 0, 480, 160, 1, 484, 170, 1], "image_id": 105615, "bbox": [453.89, 151.35, 64.15, 67.93], "category_id": 1, "id": 124372}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [258, 238, 2, 234, 240, 2, 275, 241, 2, 252, 214, 2, 303, 234, 2, 261, 178, 2, 245, 315, 2, 218, 328, 2, 278, 349, 2, 217, 391, 2, 242, 350, 2, 0, 0, 0, 233, 203, 1, 241, 231, 1], "image_id": 104160, "bbox": [200.04, 154.84, 125.02, 266.39], "category_id": 1, "id": 124376}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [309, 255, 2, 183, 266, 2, 327, 357, 1, 162, 365, 2, 339, 259, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 141, 1, 252, 237, 1], "image_id": 104085, "bbox": [143.63, 135.44, 184.12, 288.22], "category_id": 1, "id": 124383}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [292, 173, 2, 279, 178, 2, 0, 0, 0, 263, 209, 2, 305, 227, 2, 272, 219, 2, 304, 234, 2, 286, 239, 2, 350, 238, 2, 282, 304, 2, 312, 252, 2, 281, 356, 1, 304, 140, 1, 294, 166, 1], "image_id": 105869, "bbox": [260.29, 133.64, 96.67, 203.94], "category_id": 1, "id": 124406}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [192, 150, 2, 58, 152, 2, 247, 233, 2, 9, 277, 2, 300, 335, 2, 95, 328, 2, 171, 383, 1, 68, 383, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 48, 1, 127, 126, 1], "image_id": 104138, "bbox": [0, 0.78, 333, 492.14], "category_id": 1, "id": 124407}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [284, 351, 2, 235, 350, 2, 308, 363, 2, 225, 363, 1, 281, 367, 2, 263, 375, 2, 280, 425, 2, 249, 425, 2, 301, 372, 2, 235, 373, 2, 290, 426, 2, 255, 426, 2, 250, 312, 1, 256, 346, 1], "image_id": 108114, "bbox": [232.07, 304.14, 82.16, 131.18], "category_id": 1, "id": 124419}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [561, 208, 2, 533, 188, 2, 576, 321, 2, 541, 285, 2, 486, 330, 2, 503, 303, 2, 633, 349, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 122, 1, 530, 169, 1], "image_id": 106352, "bbox": [439.28, 82.16, 200.72, 336.55], "category_id": 1, "id": 124430}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [87, 247, 2, 96, 266, 2, 0, 0, 0, 96, 281, 2, 0, 0, 0, 112, 286, 2, 77, 276, 2, 85, 283, 2, 105, 268, 1, 111, 277, 1, 0, 0, 0, 0, 0, 0, 101, 240, 1, 94, 251, 1], "image_id": 103861, "bbox": [75.38, 235.57, 50.95, 55.95], "category_id": 1, "id": 124436}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 306, 558, 1, 0, 0, 0, 209, 389, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 102, 1, 446, 302, 1], "image_id": 104000, "bbox": [227.24, 90.61, 283.76, 537.88], "category_id": 1, "id": 124442}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [353, 285, 1, 230, 299, 2, 0, 0, 0, 206, 440, 1, 0, 0, 0, 193, 418, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 96, 1, 288, 237, 1], "image_id": 105579, "bbox": [174.48, 80.93, 163.1, 559.07], "category_id": 1, "id": 124443}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [82, 267, 2, 62, 272, 2, 94, 237, 2, 74, 306, 1, 102, 211, 2, 106, 321, 1, 87, 329, 1, 68, 332, 2, 88, 390, 2, 67, 393, 2, 87, 433, 2, 59, 437, 2, 71, 230, 1, 67, 259, 1], "image_id": 102870, "bbox": [44.27, 186.16, 70.01, 272.15], "category_id": 1, "id": 124446}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [338, 296, 2, 343, 297, 2, 0, 0, 0, 346, 315, 2, 0, 0, 0, 349, 332, 2, 337, 329, 2, 343, 329, 2, 340, 353, 2, 350, 353, 2, 329, 374, 2, 343, 376, 2, 347, 274, 1, 344, 290, 1], "image_id": 105806, "bbox": [325, 273.24, 32.23, 111.15], "category_id": 1, "id": 124457}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [191, 53, 2, 181, 59, 2, 0, 0, 0, 212, 136, 2, 0, 0, 0, 225, 176, 2, 173, 130, 2, 131, 119, 2, 214, 170, 2, 178, 173, 2, 188, 206, 2, 124, 218, 2, 244, 30, 1, 206, 53, 1], "image_id": 107239, "bbox": [102.7, 20.54, 149.19, 236.76], "category_id": 1, "id": 124460}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [289, 183, 2, 309, 150, 2, 335, 294, 2, 0, 0, 0, 236, 301, 2, 252, 283, 2, 417, 303, 2, 395, 291, 2, 288, 465, 2, 283, 429, 2, 463, 511, 2, 326, 604, 2, 229, 65, 1, 277, 141, 1], "image_id": 103161, "bbox": [176.9, 47.46, 340.85, 583.91], "category_id": 1, "id": 124488}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [533, 107, 2, 493, 111, 2, 535, 134, 2, 486, 137, 2, 512, 139, 2, 477, 167, 2, 512, 165, 2, 492, 165, 2, 515, 208, 2, 499, 203, 2, 514, 241, 2, 504, 245, 1, 513, 73, 1, 512, 101, 1], "image_id": 104325, "bbox": [471.08, 69.17, 71.95, 187.52], "category_id": 1, "id": 124499}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [194, 108, 2, 254, 132, 2, 154, 147, 2, 259, 205, 2, 121, 189, 2, 261, 236, 2, 147, 190, 2, 167, 210, 2, 211, 246, 2, 183, 315, 2, 158, 325, 2, 111, 280, 2, 266, 74, 1, 234, 113, 1], "image_id": 105538, "bbox": [68.13, 65.25, 208.22, 289.78], "category_id": 1, "id": 124509}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [97, 156, 2, 218, 159, 2, 60, 268, 2, 321, 181, 2, 30, 351, 2, 352, 105, 2, 91, 317, 2, 174, 328, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 52, 1, 165, 132, 1], "image_id": 105721, "bbox": [3.81, 25.73, 370.64, 393.51], "category_id": 1, "id": 124512}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [169, 326, 2, 121, 327, 2, 201, 336, 2, 96, 352, 1, 176, 363, 2, 115, 373, 2, 160, 402, 2, 128, 403, 2, 165, 454, 1, 127, 455, 2, 176, 514, 1, 129, 517, 1, 141, 269, 1, 143, 309, 1], "image_id": 108112, "bbox": [103.06, 266.43, 104.12, 213.69], "category_id": 1, "id": 124531}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 508, 441, 2, 249, 440, 2, 634, 248, 2, 71, 299, 2, 482, 177, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103061, "bbox": [0, 120.92, 638.99, 359.08], "category_id": 1, "id": 124551}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [99, 201, 2, 19, 203, 2, 117, 242, 2, 0, 0, 0, 119, 304, 2, 0, 0, 0, 82, 282, 2, 17, 284, 2, 116, 336, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 164, 1, 65, 196, 1], "image_id": 105737, "bbox": [0, 151.78, 168.9, 274.52], "category_id": 1, "id": 124562}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [411, 69, 2, 387, 136, 2, 0, 0, 0, 0, 0, 0, 400, 112, 2, 0, 0, 0, 425, 237, 1, 391, 249, 2, 0, 0, 0, 379, 311, 2, 0, 0, 0, 407, 396, 2, 351, 57, 1, 393, 90, 1], "image_id": 107235, "bbox": [330.53, 32, 96.47, 384.66], "category_id": 1, "id": 124577}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [242, 422, 2, 147, 387, 2, 238, 539, 2, 148, 469, 2, 132, 553, 2, 99, 476, 2, 223, 602, 2, 162, 590, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 290, 1, 199, 388, 1], "image_id": 102799, "bbox": [54.84, 253.33, 223.48, 386.67], "category_id": 1, "id": 124597}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [144, 178, 2, 123, 193, 2, 163, 183, 2, 113, 205, 2, 156, 188, 2, 99, 211, 2, 151, 221, 2, 136, 225, 2, 155, 248, 2, 127, 255, 2, 169, 274, 2, 140, 294, 2, 116, 161, 1, 126, 181, 1], "image_id": 104702, "bbox": [87.98, 158.27, 87, 139.9], "category_id": 1, "id": 124663}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [406, 251, 2, 358, 265, 2, 406, 261, 2, 344, 298, 2, 400, 270, 2, 315, 304, 2, 403, 334, 2, 368, 332, 2, 397, 409, 2, 363, 402, 2, 0, 0, 0, 0, 0, 0, 379, 200, 1, 379, 247, 1], "image_id": 103785, "bbox": [291.36, 187.39, 126.01, 270.73], "category_id": 1, "id": 124685}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [193, 130, 2, 153, 121, 2, 198, 172, 2, 166, 191, 2, 199, 194, 2, 174, 246, 2, 188, 220, 2, 156, 220, 2, 180, 319, 1, 171, 321, 2, 0, 0, 0, 0, 0, 0, 173, 61, 1, 170, 112, 1], "image_id": 107899, "bbox": [138.11, 55.73, 67.73, 294], "category_id": 1, "id": 124697}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 29, 2, 112, 28, 2, 127, 70, 2, 132, 68, 2, 0, 0, 0, 0, 0, 0], "image_id": 103161, "bbox": [106.8, 0, 39.37, 94.27], "category_id": 1, "id": 124703}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [351, 185, 2, 314, 185, 1, 366, 213, 2, 0, 0, 0, 366, 248, 2, 0, 0, 0, 349, 254, 2, 319, 257, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 135, 1, 332, 171, 1], "image_id": 106631, "bbox": [309, 129.72, 63.35, 138.34], "category_id": 1, "id": 124704}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [138, 239, 2, 87, 243, 2, 156, 270, 2, 108, 295, 2, 181, 262, 1, 159, 276, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 194, 1, 119, 230, 1], "image_id": 107342, "bbox": [62.84, 182.95, 118.67, 142.48], "category_id": 1, "id": 124705}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 233, 2, 235, 230, 2, 323, 307, 2, 213, 305, 2, 324, 363, 2, 215, 359, 2, 289, 345, 2, 243, 344, 2, 294, 452, 2, 243, 446, 2, 281, 526, 2, 248, 526, 2, 273, 144, 1, 266, 206, 1], "image_id": 105169, "bbox": [200.56, 137, 135.59, 439.25], "category_id": 1, "id": 124707}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [180, 170, 2, 107, 157, 2, 0, 0, 0, 91, 215, 2, 0, 0, 0, 0, 0, 0, 159, 265, 1, 124, 265, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 99, 1, 146, 150, 1], "image_id": 106031, "bbox": [81.56, 93.88, 110.25, 149.59], "category_id": 1, "id": 124730}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [334, 215, 2, 260, 234, 2, 414, 254, 1, 0, 0, 0, 352, 208, 2, 0, 0, 0, 359, 376, 1, 308, 360, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 128, 1, 294, 211, 1], "image_id": 103799, "bbox": [243.86, 115.42, 146.51, 306.52], "category_id": 1, "id": 124745}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [182, 157, 2, 162, 156, 1, 187, 174, 2, 0, 0, 0, 178, 170, 2, 0, 0, 0, 177, 187, 2, 164, 187, 2, 178, 224, 2, 162, 220, 2, 176, 246, 2, 165, 248, 2, 171, 134, 1, 169, 151, 1], "image_id": 105615, "bbox": [158.11, 130.88, 36.86, 130.48], "category_id": 1, "id": 124749}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [146, 43, 2, 152, 51, 2, 0, 0, 0, 196, 132, 2, 0, 0, 0, 252, 104, 2, 134, 158, 2, 132, 160, 2, 262, 180, 2, 247, 163, 2, 247, 258, 1, 222, 253, 1, 0, 0, 0, 179, 34, 1], "image_id": 104954, "bbox": [95.35, 2.53, 183.48, 231.15], "category_id": 1, "id": 124761}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [575, 543, 2, 559, 547, 2, 580, 558, 2, 558, 561, 2, 580, 569, 2, 558, 577, 2, 574, 576, 2, 563, 578, 2, 574, 590, 2, 565, 589, 2, 0, 0, 0, 568, 602, 2, 559, 528, 1, 565, 541, 1], "image_id": 103384, "bbox": [553.67, 527.06, 36.76, 78.95], "category_id": 1, "id": 124793}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [201, 327, 2, 289, 402, 2, 0, 0, 0, 359, 374, 2, 0, 0, 0, 377, 329, 2, 329, 347, 1, 376, 415, 1, 394, 339, 2, 450, 403, 2, 0, 0, 0, 472, 450, 2, 0, 0, 0, 0, 0, 0], "image_id": 108489, "bbox": [2.15, 273.49, 521.98, 201.25], "category_id": 1, "id": 124820}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [416, 119, 2, 385, 119, 2, 413, 192, 2, 365, 170, 1, 350, 198, 2, 0, 0, 0, 407, 230, 2, 386, 231, 2, 416, 340, 2, 391, 336, 2, 411, 437, 2, 421, 428, 2, 384, 36, 1, 396, 98, 1], "image_id": 106602, "bbox": [306.98, 32.41, 144.72, 425.88], "category_id": 1, "id": 124823}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [397, 178, 2, 412, 182, 2, 363, 236, 2, 422, 267, 2, 377, 290, 2, 459, 315, 2, 278, 152, 2, 279, 168, 2, 174, 158, 2, 186, 230, 2, 149, 68, 2, 87, 265, 2, 457, 132, 1, 419, 170, 1], "image_id": 103844, "bbox": [50.06, 36.51, 453.87, 314.9], "category_id": 1, "id": 124827}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [544, 235, 2, 454, 228, 2, 537, 375, 2, 0, 0, 0, 506, 479, 1, 0, 0, 0, 508, 436, 2, 444, 416, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 119, 1, 500, 216, 1], "image_id": 104086, "bbox": [393.71, 105.71, 184.45, 366.74], "category_id": 1, "id": 124843}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 196, 1, 242, 205, 1], "image_id": 103862, "bbox": [231.61, 193.9, 24.05, 74.13], "category_id": 1, "id": 124846}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [620, 186, 2, 621, 192, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 323, 1, 549, 334, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 162, 1], "image_id": 106572, "bbox": [523.83, 75.52, 113.28, 202.37], "category_id": 1, "id": 124859}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [169, 200, 1, 63, 201, 2, 0, 0, 0, 29, 307, 2, 0, 0, 0, 26, 400, 2, 144, 363, 2, 78, 364, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 79, 1, 112, 176, 1], "image_id": 104157, "bbox": [4.49, 70.79, 193.26, 429.21], "category_id": 1, "id": 124883}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [359, 260, 2, 279, 241, 1, 392, 336, 2, 0, 0, 0, 349, 303, 2, 0, 0, 0, 316, 409, 2, 256, 393, 1, 305, 479, 2, 240, 465, 1, 300, 581, 2, 230, 562, 2, 334, 168, 1, 321, 237, 1], "image_id": 103201, "bbox": [183.93, 161.72, 223.67, 472.44], "category_id": 1, "id": 124919}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [432, 284, 2, 410, 279, 2, 448, 344, 2, 412, 340, 2, 381, 357, 2, 368, 334, 1, 435, 381, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 235, 1, 416, 275, 1], "image_id": 105177, "bbox": [367.58, 218.21, 118.78, 189.09], "category_id": 1, "id": 124931}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 305, 422, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 400, 1], "image_id": 106352, "bbox": [267.91, 326.7, 83.85, 91.55], "category_id": 1, "id": 124936}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [89, 370, 2, 174, 287, 2, 0, 0, 0, 296, 261, 2, 0, 0, 0, 401, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 204, 1, 129, 288, 1], "image_id": 104391, "bbox": [38.21, 172.04, 428.91, 254.96], "category_id": 1, "id": 124990}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 326, 123, 2, 0, 0, 0, 378, 175, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 288, 2, 0, 0, 0, 322, 384, 1, 0, 0, 0, 0, 0, 0, 392, 74, 1, 345, 111, 1], "image_id": 105986, "bbox": [272.25, 61.8, 154.66, 330.02], "category_id": 1, "id": 125000}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [358, 168, 2, 220, 135, 2, 367, 296, 2, 60, 155, 1, 241, 237, 2, 81, 132, 2, 316, 375, 2, 235, 361, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 35, 1, 278, 135, 1], "image_id": 105937, "bbox": [41.67, 22.52, 358.33, 477.48], "category_id": 1, "id": 125009}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 5, 1], "image_id": 105947, "bbox": [258.16, 0.06, 22.74, 29.13], "category_id": 1, "id": 125010}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [337, 260, 2, 200, 254, 2, 325, 396, 2, 128, 337, 2, 253, 425, 2, 60, 438, 2, 343, 431, 1, 237, 429, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 117, 1, 267, 233, 1], "image_id": 103406, "bbox": [0, 96.36, 386.88, 391.19], "category_id": 1, "id": 125035}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [173, 285, 2, 124, 277, 2, 176, 316, 1, 101, 301, 2, 0, 0, 0, 106, 339, 1, 157, 340, 1, 120, 334, 2, 124, 363, 2, 74, 347, 1, 86, 352, 1, 0, 0, 0, 156, 240, 1, 149, 277, 1], "image_id": 105387, "bbox": [93.77, 234.78, 89.45, 141.53], "category_id": 1, "id": 125036}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [186, 280, 2, 79, 274, 2, 198, 359, 2, 57, 353, 2, 212, 306, 2, 24, 303, 2, 159, 436, 1, 87, 437, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 258, 1], "image_id": 108424, "bbox": [0, 142.25, 245.24, 286.55], "category_id": 1, "id": 125041}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [200, 96, 2, 214, 90, 2, 192, 180, 1, 267, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 42, 1, 196, 83, 1], "image_id": 107235, "bbox": [142.7, 20.66, 134.06, 122.52], "category_id": 1, "id": 125054}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [478, 77, 2, 493, 81, 2, 474, 97, 2, 491, 103, 2, 0, 0, 0, 491, 122, 2, 477, 123, 2, 489, 124, 2, 474, 148, 2, 491, 148, 2, 456, 163, 2, 488, 177, 2, 498, 54, 1, 489, 72, 1], "image_id": 108525, "bbox": [448.06, 50.49, 57.54, 132.84], "category_id": 1, "id": 125063}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [285, 258, 2, 298, 253, 2, 280, 285, 2, 0, 0, 0, 274, 302, 1, 0, 0, 0, 289, 301, 2, 301, 300, 2, 290, 334, 2, 298, 329, 2, 290, 362, 2, 297, 356, 2, 282, 232, 1, 287, 248, 1], "image_id": 102581, "bbox": [273.38, 231.1, 33.34, 140.14], "category_id": 1, "id": 125075}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [209, 309, 2, 182, 306, 2, 210, 345, 2, 172, 338, 2, 183, 361, 2, 177, 362, 2, 201, 355, 2, 180, 352, 2, 203, 369, 2, 138, 339, 2, 151, 381, 2, 176, 378, 2, 193, 263, 1, 197, 298, 1], "image_id": 105387, "bbox": [120.54, 267.93, 96.86, 126.99], "category_id": 1, "id": 125077}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [316, 157, 2, 168, 172, 2, 358, 271, 2, 80, 241, 2, 276, 280, 2, 102, 287, 2, 308, 358, 2, 206, 368, 1, 321, 483, 2, 206, 504, 1, 0, 0, 0, 0, 0, 0, 183, 49, 1, 231, 141, 1], "image_id": 102799, "bbox": [44.58, 20.13, 349.49, 618.43], "category_id": 1, "id": 125093}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [32, 329, 1, 0, 0, 0, 12, 346, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 373, 2, 0, 0, 0, 15, 360, 2, 0, 0, 0, 21, 393, 2, 0, 0, 0, 0, 0, 0, 47, 320, 1], "image_id": 108114, "bbox": [5.51, 326.06, 62.5, 79.53], "category_id": 1, "id": 125115}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [69, 66, 2, 50, 65, 2, 78, 87, 2, 52, 81, 2, 65, 83, 2, 73, 81, 2, 68, 97, 2, 50, 96, 2, 81, 98, 2, 58, 97, 2, 90, 133, 2, 57, 133, 2, 61, 40, 1, 58, 60, 1], "image_id": 104727, "bbox": [40.77, 37.37, 51.99, 102.24], "category_id": 1, "id": 125120}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [232, 130, 2, 126, 148, 2, 284, 173, 2, 159, 209, 2, 327, 180, 2, 207, 234, 2, 181, 313, 2, 130, 285, 2, 145, 419, 2, 137, 387, 2, 57, 459, 2, 67, 500, 2, 160, 49, 1, 171, 127, 1], "image_id": 107508, "bbox": [21.43, 35.45, 355.71, 505.72], "category_id": 1, "id": 125127}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 13, 1, 480, 25, 1], "image_id": 105947, "bbox": [467.09, 13.48, 29.27, 36.47], "category_id": 1, "id": 125131}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 52, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108586, "bbox": [0, 0.1, 59.06, 78.39], "category_id": 1, "id": 125133}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [222, 72, 2, 203, 72, 2, 236, 81, 2, 187, 85, 1, 248, 82, 2, 0, 0, 0, 220, 101, 2, 208, 102, 2, 238, 109, 2, 210, 134, 1, 224, 132, 2, 208, 166, 2, 216, 46, 1, 212, 64, 1], "image_id": 103594, "bbox": [184.43, 43.83, 75.69, 135.47], "category_id": 1, "id": 125139}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [287, 192, 1, 249, 227, 2, 331, 193, 1, 224, 261, 2, 298, 193, 1, 183, 237, 2, 308, 289, 2, 273, 291, 2, 352, 368, 2, 236, 348, 2, 360, 411, 2, 197, 420, 1, 241, 160, 1, 258, 202, 1], "image_id": 108037, "bbox": [168.3, 151.47, 225.04, 268.32], "category_id": 1, "id": 125147}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [504, 115, 2, 465, 116, 2, 515, 147, 2, 460, 149, 2, 0, 0, 0, 455, 172, 2, 501, 177, 1, 478, 177, 2, 508, 223, 1, 482, 224, 1, 0, 0, 0, 484, 266, 1, 482, 77, 1, 484, 105, 1], "image_id": 104542, "bbox": [449.01, 74.09, 72.97, 150.2], "category_id": 1, "id": 125172}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 255, 2, 277, 250, 2, 331, 297, 2, 244, 261, 1, 317, 311, 2, 217, 270, 1, 302, 340, 2, 279, 338, 2, 308, 404, 2, 264, 397, 2, 304, 463, 2, 258, 460, 2, 294, 207, 1, 294, 247, 1], "image_id": 102913, "bbox": [243.85, 204.47, 95.1, 275.53], "category_id": 1, "id": 125173}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 516, 237, 2, 0, 0, 0, 477, 371, 2, 0, 0, 0, 569, 403, 2, 0, 0, 0, 544, 477, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 55, 1, 599, 204, 1], "image_id": 105327, "bbox": [460.38, 43.42, 148.86, 390.08], "category_id": 1, "id": 125182}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [181, 207, 2, 159, 216, 2, 207, 208, 1, 149, 233, 2, 211, 216, 1, 173, 237, 1, 164, 231, 2, 145, 237, 2, 194, 224, 2, 171, 249, 1, 197, 246, 2, 152, 270, 2, 69, 193, 1, 65, 211, 1], "image_id": 103616, "bbox": [39.43, 182.24, 173.11, 137.53], "category_id": 1, "id": 125193}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [194, 269, 2, 209, 273, 2, 0, 0, 0, 210, 287, 2, 0, 0, 0, 209, 300, 2, 194, 300, 2, 203, 303, 2, 195, 321, 2, 203, 321, 2, 197, 340, 2, 204, 341, 2, 205, 253, 1, 202, 265, 1], "image_id": 105856, "bbox": [185.72, 251.27, 32.85, 97.96], "category_id": 1, "id": 125205}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [400, 251, 2, 363, 252, 2, 0, 0, 0, 360, 271, 2, 0, 0, 0, 0, 0, 0, 392, 295, 2, 373, 294, 2, 387, 333, 2, 373, 326, 2, 383, 367, 2, 375, 361, 2, 382, 219, 1, 380, 242, 1], "image_id": 102581, "bbox": [356.16, 215.54, 47.9, 165.31], "category_id": 1, "id": 125207}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [317, 115, 2, 319, 84, 2, 285, 126, 2, 304, 69, 2, 267, 109, 2, 290, 52, 2, 287, 135, 2, 290, 150, 1, 279, 97, 2, 261, 110, 2, 241, 95, 2, 221, 124, 2, 339, 89, 1, 325, 99, 1], "image_id": 105529, "bbox": [201.05, 39.73, 152.39, 112.25], "category_id": 1, "id": 125208}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [274, 284, 2, 190, 280, 2, 297, 347, 2, 161, 336, 2, 319, 399, 2, 162, 399, 2, 241, 319, 2, 196, 314, 2, 271, 378, 2, 143, 367, 2, 238, 365, 2, 115, 387, 2, 239, 235, 1, 233, 270, 1], "image_id": 103844, "bbox": [64.56, 214.17, 306.39, 220.31], "category_id": 1, "id": 125212}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 229, 2, 294, 223, 2, 397, 258, 2, 269, 217, 2, 410, 287, 2, 268, 176, 2, 335, 306, 2, 297, 305, 2, 384, 328, 2, 246, 357, 2, 397, 407, 2, 186, 369, 2, 345, 173, 1, 332, 212, 1], "image_id": 102572, "bbox": [151.35, 154.05, 281.08, 272.44], "category_id": 1, "id": 125232}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [327, 105, 2, 254, 102, 2, 0, 0, 0, 231, 169, 2, 342, 146, 2, 283, 128, 2, 323, 257, 1, 265, 262, 2, 297, 372, 2, 253, 370, 2, 279, 461, 2, 233, 479, 1, 329, 20, 1, 293, 82, 1], "image_id": 107150, "bbox": [214.29, 4.31, 142.38, 465.98], "category_id": 1, "id": 125237}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 110, 72, 2, 0, 0, 0, 96, 118, 1, 0, 0, 0, 119, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 10, 1, 138, 53, 1], "image_id": 107508, "bbox": [95.35, 5.78, 63.57, 140.13], "category_id": 1, "id": 125246}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 162, 2, 303, 155, 2, 341, 251, 2, 278, 252, 2, 303, 316, 2, 262, 320, 2, 326, 334, 2, 299, 321, 2, 287, 456, 2, 312, 463, 2, 289, 603, 2, 327, 593, 2, 302, 57, 1, 318, 125, 1], "image_id": 105708, "bbox": [217.69, 41.42, 181.16, 593.81], "category_id": 1, "id": 125260}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [58, 233, 2, 88, 233, 2, 55, 258, 2, 96, 257, 2, 52, 280, 2, 98, 276, 2, 65, 280, 2, 85, 280, 2, 68, 315, 2, 85, 315, 2, 0, 0, 0, 0, 0, 0, 71, 195, 1, 74, 221, 1], "image_id": 102679, "bbox": [45.77, 193.47, 58.21, 133.51], "category_id": 1, "id": 125264}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [468, 149, 2, 521, 145, 2, 434, 100, 2, 494, 94, 2, 431, 62, 2, 467, 62, 2, 476, 255, 2, 513, 260, 2, 435, 312, 2, 488, 332, 2, 401, 389, 2, 466, 414, 2, 492, 92, 1, 489, 132, 1], "image_id": 102651, "bbox": [369.31, 21.41, 157.84, 429.14], "category_id": 1, "id": 125265}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [222, 95, 2, 307, 73, 2, 144, 112, 2, 0, 0, 0, 57, 111, 2, 0, 0, 0, 243, 229, 1, 322, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 1, 1, 254, 59, 1], "image_id": 108380, "bbox": [8.23, 3.95, 350.97, 124.53], "category_id": 1, "id": 125272}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [141, 138, 2, 75, 125, 2, 150, 207, 1, 57, 140, 2, 115, 242, 2, 42, 151, 2, 131, 226, 2, 87, 211, 2, 103, 268, 2, 35, 218, 2, 110, 343, 1, 98, 275, 2, 76, 76, 1, 103, 125, 1], "image_id": 103193, "bbox": [12.91, 63.31, 156.96, 250.85], "category_id": 1, "id": 125277}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [175, 304, 2, 60, 308, 2, 185, 417, 2, 38, 411, 2, 226, 347, 2, 42, 424, 2, 175, 480, 2, 96, 485, 2, 178, 617, 2, 100, 619, 1, 0, 0, 0, 0, 0, 0, 134, 176, 1, 127, 278, 1], "image_id": 105943, "bbox": [15.86, 159.28, 245.04, 474.23], "category_id": 1, "id": 125302}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 405, 357, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 407, 2, 0, 0, 0, 402, 481, 2, 0, 0, 0, 386, 548, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103201, "bbox": [369.3, 319.89, 57.7, 257.04], "category_id": 1, "id": 125303}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 435, 274, 2, 0, 0, 0, 442, 246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104116, "bbox": [424.75, 198.03, 53.1, 91.84], "category_id": 1, "id": 125304}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [13, 86, 2, 71, 97, 2, 0, 0, 0, 85, 140, 2, 0, 0, 0, 112, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 45, 1, 48, 80, 1], "image_id": 103406, "bbox": [11.51, 43.15, 133.75, 212.85], "category_id": 1, "id": 125330}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [376, 247, 2, 410, 248, 2, 357, 271, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 307, 2, 400, 306, 2, 372, 346, 2, 392, 348, 2, 370, 385, 2, 388, 387, 2, 392, 213, 1, 392, 233, 1], "image_id": 102903, "bbox": [348.59, 234.66, 72.8, 163.13], "category_id": 1, "id": 125347}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [203, 108, 2, 168, 106, 2, 204, 140, 2, 158, 140, 2, 203, 165, 2, 155, 168, 2, 188, 150, 2, 164, 151, 2, 207, 185, 1, 150, 185, 2, 211, 226, 1, 133, 225, 2, 190, 81, 1, 187, 103, 1], "image_id": 107176, "bbox": [120.58, 77.03, 91.49, 169.13], "category_id": 1, "id": 125354}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [463, 129, 2, 427, 119, 1, 418, 198, 2, 0, 0, 0, 343, 260, 1, 0, 0, 0, 479, 229, 2, 443, 223, 2, 452, 340, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 35, 1, 444, 98, 1], "image_id": 105264, "bbox": [288.61, 21.19, 239.17, 317.66], "category_id": 1, "id": 125366}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [118, 201, 2, 69, 202, 1, 138, 224, 2, 0, 0, 0, 123, 242, 2, 0, 0, 0, 108, 270, 2, 76, 270, 1, 115, 292, 2, 69, 292, 1, 109, 352, 2, 72, 352, 1, 92, 155, 1, 94, 193, 1], "image_id": 107184, "bbox": [82.26, 152.36, 61.77, 218.55], "category_id": 1, "id": 125383}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [305, 133, 2, 227, 129, 2, 290, 217, 2, 237, 207, 2, 231, 206, 2, 220, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 52, 1, 262, 118, 1], "image_id": 107687, "bbox": [203.93, 25.28, 129.78, 196.35], "category_id": 1, "id": 125397}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 248, 1, 337, 257, 1], "image_id": 104451, "bbox": [320.42, 248.57, 28.38, 56.21], "category_id": 1, "id": 125398}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [69, 191, 2, 85, 205, 2, 0, 0, 0, 95, 261, 2, 0, 0, 0, 135, 265, 2, 16, 263, 2, 27, 268, 2, 61, 295, 2, 81, 305, 2, 40, 359, 2, 63, 372, 2, 104, 169, 1, 82, 196, 1], "image_id": 106107, "bbox": [0, 160.06, 165.37, 241.36], "category_id": 1, "id": 125401}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [200, 171, 2, 207, 166, 2, 197, 195, 2, 193, 152, 2, 186, 192, 2, 176, 136, 2, 200, 211, 2, 209, 207, 2, 172, 186, 2, 196, 190, 2, 152, 193, 2, 196, 226, 2, 190, 154, 1, 198, 166, 1], "image_id": 105881, "bbox": [141.11, 128.51, 75.56, 104.95], "category_id": 1, "id": 125404}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [475, 146, 2, 426, 153, 1, 483, 183, 2, 417, 196, 1, 458, 213, 2, 433, 213, 2, 469, 230, 2, 435, 232, 1, 469, 280, 1, 437, 282, 1, 0, 0, 0, 0, 0, 0, 438, 103, 1, 444, 143, 1], "image_id": 106861, "bbox": [419.32, 98.83, 76.77, 175.6], "category_id": 1, "id": 125408}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [80, 213, 2, 157, 211, 2, 78, 310, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 364, 2, 152, 363, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 119, 1, 112, 183, 1], "image_id": 104085, "bbox": [37.63, 106.29, 139.21, 315.13], "category_id": 1, "id": 125411}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [305, 220, 2, 406, 217, 2, 299, 310, 2, 410, 303, 2, 346, 335, 2, 418, 375, 2, 336, 383, 2, 393, 378, 2, 339, 490, 2, 415, 491, 2, 341, 625, 2, 0, 0, 0, 360, 98, 1, 357, 174, 1], "image_id": 103912, "bbox": [277.57, 86.39, 148.43, 540.76], "category_id": 1, "id": 125413}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 216, 1, 296, 234, 1], "image_id": 102581, "bbox": [282.88, 214.76, 28.68, 88.13], "category_id": 1, "id": 125415}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [361, 10, 2, 399, 21, 2, 354, 111, 2, 0, 0, 0, 329, 196, 2, 0, 0, 0, 376, 198, 2, 420, 202, 2, 351, 328, 2, 413, 352, 2, 334, 470, 2, 408, 474, 2, 0, 0, 0, 368, 8, 1], "image_id": 107002, "bbox": [254.58, 6.49, 203.92, 497.47], "category_id": 1, "id": 125435}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [303, 70, 2, 272, 69, 2, 306, 89, 1, 264, 84, 2, 0, 0, 0, 264, 101, 2, 291, 95, 2, 276, 96, 2, 291, 104, 2, 275, 104, 2, 290, 135, 1, 278, 135, 2, 288, 44, 1, 288, 62, 1], "image_id": 103594, "bbox": [258.45, 40.03, 52.3, 95.73], "category_id": 1, "id": 125445}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 253, 2, 189, 263, 2, 286, 330, 2, 188, 335, 2, 232, 324, 2, 168, 307, 2, 230, 402, 2, 175, 399, 2, 214, 507, 2, 147, 490, 2, 200, 635, 1, 138, 632, 1, 205, 172, 1, 221, 238, 1], "image_id": 105976, "bbox": [120.81, 162.61, 191.28, 468.86], "category_id": 1, "id": 125447}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [48, 145, 2, 134, 114, 2, 0, 0, 0, 228, 235, 2, 0, 0, 0, 331, 266, 2, 59, 334, 2, 148, 337, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 5, 1, 112, 85, 1], "image_id": 103777, "bbox": [0, 0.67, 443.39, 422.23], "category_id": 1, "id": 125448}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [70, 274, 2, 42, 276, 1, 62, 296, 2, 40, 295, 2, 51, 279, 2, 47, 279, 2, 70, 333, 2, 50, 333, 2, 71, 369, 2, 48, 372, 2, 70, 411, 2, 39, 412, 2, 50, 250, 1, 56, 269, 1], "image_id": 105529, "bbox": [31.75, 251.74, 61.22, 169.9], "category_id": 1, "id": 125452}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [396, 151, 2, 341, 146, 2, 402, 189, 2, 320, 192, 2, 359, 172, 2, 329, 179, 2, 370, 234, 2, 334, 228, 2, 336, 330, 2, 337, 328, 2, 292, 380, 2, 339, 392, 2, 362, 86, 1, 362, 134, 1], "image_id": 107184, "bbox": [280, 80.54, 126.49, 337.3], "category_id": 1, "id": 125464}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [237, 142, 2, 144, 155, 2, 248, 214, 2, 139, 247, 2, 248, 260, 2, 167, 290, 1, 229, 271, 2, 182, 272, 2, 233, 355, 1, 187, 351, 1, 0, 0, 0, 0, 0, 0, 187, 60, 1, 193, 129, 1], "image_id": 105234, "bbox": [119.21, 49.42, 146.31, 278.42], "category_id": 1, "id": 125466}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [335, 108, 2, 279, 99, 2, 296, 167, 1, 236, 156, 1, 281, 116, 2, 253, 126, 2, 330, 204, 1, 290, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 32, 1, 306, 94, 1], "image_id": 107119, "bbox": [232.49, 21.01, 132.41, 181.65], "category_id": 1, "id": 125473}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 132, 255, 1, 0, 0, 0, 0, 0, 0, 125, 237, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 202, 1, 0, 0, 0], "image_id": 103222, "bbox": [91.68, 196.49, 49.93, 59.32], "category_id": 1, "id": 125484}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [70, 161, 2, 50, 173, 2, 78, 212, 2, 39, 239, 2, 101, 226, 2, 94, 245, 2, 67, 258, 2, 49, 261, 2, 66, 321, 2, 51, 334, 2, 61, 365, 2, 54, 394, 1, 101, 100, 1, 65, 146, 1], "image_id": 104137, "bbox": [21.48, 81.51, 105.64, 345.08], "category_id": 1, "id": 125485}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [341, 270, 2, 307, 273, 2, 318, 305, 2, 0, 0, 0, 285, 299, 2, 0, 0, 0, 343, 376, 2, 298, 381, 2, 331, 464, 2, 297, 465, 2, 362, 519, 2, 334, 549, 2, 301, 208, 1, 323, 255, 1], "image_id": 104879, "bbox": [278.82, 199.38, 107.92, 368.28], "category_id": 1, "id": 125497}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [386, 227, 2, 256, 220, 2, 409, 340, 2, 230, 300, 2, 297, 376, 2, 227, 344, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 65, 1, 323, 193, 1], "image_id": 103345, "bbox": [197.54, 46.48, 227.56, 368.93], "category_id": 1, "id": 125510}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107239, "bbox": [604.25, 352.24, 7.29, 9.72], "category_id": 1, "id": 125515}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 247, 2, 476, 248, 2, 435, 270, 2, 486, 272, 2, 451, 279, 2, 473, 281, 2, 453, 296, 2, 474, 295, 2, 453, 334, 2, 475, 333, 2, 452, 371, 2, 490, 371, 2, 462, 215, 1, 461, 236, 1], "image_id": 102730, "bbox": [429.9, 211.15, 67.57, 163.85], "category_id": 1, "id": 125522}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 211, 2, 289, 186, 2, 374, 308, 2, 258, 261, 2, 288, 305, 2, 219, 286, 2, 344, 365, 2, 281, 351, 2, 315, 464, 2, 282, 434, 2, 312, 529, 2, 279, 500, 2, 260, 60, 1, 323, 178, 1], "image_id": 104357, "bbox": [181.83, 28.77, 224.79, 544.08], "category_id": 1, "id": 125538}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [600, 208, 1, 521, 209, 2, 0, 0, 0, 521, 264, 2, 0, 0, 0, 549, 321, 2, 584, 314, 1, 534, 304, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 130, 1, 560, 192, 1], "image_id": 103222, "bbox": [485.72, 125.65, 109.19, 211.79], "category_id": 1, "id": 125543}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [105, 176, 2, 90, 175, 2, 134, 217, 2, 82, 212, 2, 98, 240, 2, 53, 216, 1, 126, 252, 2, 116, 242, 2, 67, 255, 1, 60, 245, 1, 101, 309, 2, 91, 297, 2, 79, 128, 1, 97, 162, 1], "image_id": 107568, "bbox": [66.72, 120.86, 93.19, 224.46], "category_id": 1, "id": 125546}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [463, 201, 2, 350, 198, 1, 472, 300, 2, 346, 314, 2, 478, 396, 2, 361, 410, 1, 451, 391, 2, 375, 391, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 80, 1, 405, 171, 1], "image_id": 102867, "bbox": [324.26, 66.79, 171.39, 414.21], "category_id": 1, "id": 125553}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [43, 116, 2, 63, 116, 2, 37, 128, 2, 68, 129, 2, 37, 137, 2, 68, 137, 2, 45, 147, 2, 57, 148, 2, 42, 164, 2, 55, 165, 2, 42, 183, 2, 53, 182, 2, 55, 96, 1, 54, 107, 1], "image_id": 103594, "bbox": [28.29, 94.47, 44.86, 97.1], "category_id": 1, "id": 125577}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [306, 215, 2, 289, 199, 2, 213, 308, 2, 218, 248, 2, 105, 286, 2, 102, 270, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 98, 1, 297, 175, 1], "image_id": 104122, "bbox": [44.67, 87.5, 346.2, 243.86], "category_id": 1, "id": 125580}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [95, 47, 2, 80, 42, 2, 95, 89, 1, 68, 81, 2, 76, 75, 2, 50, 69, 2, 82, 113, 1, 69, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 2, 1, 86, 35, 1], "image_id": 104137, "bbox": [35.96, 4.89, 72.9, 101.85], "category_id": 1, "id": 125605}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 117, 2, 0, 0, 0, 508, 208, 2, 630, 262, 1, 543, 232, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103524, "bbox": [490.84, 6.3, 149.16, 310.43], "category_id": 1, "id": 125607}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [281, 201, 2, 268, 199, 2, 0, 0, 0, 268, 209, 2, 0, 0, 0, 272, 224, 2, 281, 227, 2, 269, 227, 2, 283, 247, 2, 265, 248, 2, 287, 265, 2, 262, 268, 2, 278, 183, 1, 276, 195, 1], "image_id": 103862, "bbox": [259.45, 182.28, 39.95, 95.35], "category_id": 1, "id": 125613}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [208, 194, 2, 119, 189, 2, 209, 277, 1, 104, 270, 2, 214, 344, 1, 98, 335, 2, 188, 311, 2, 124, 310, 2, 180, 436, 2, 122, 436, 2, 183, 540, 2, 107, 540, 2, 172, 95, 1, 164, 169, 1], "image_id": 105169, "bbox": [76.22, 83.42, 143.82, 497.61], "category_id": 1, "id": 125627}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [351, 144, 2, 262, 156, 1, 353, 170, 1, 253, 258, 1, 317, 179, 2, 288, 218, 2, 337, 266, 1, 278, 272, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, 57, 1, 303, 136, 1], "image_id": 105822, "bbox": [255.32, 47.03, 102.38, 225.12], "category_id": 1, "id": 125631}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 344, 2, 96, 349, 2, 83, 317, 1, 0, 0, 0, 0, 0, 0, 118, 364, 2, 81, 363, 2, 116, 413, 2, 99, 415, 2, 0, 0, 0, 0, 0, 0], "image_id": 108114, "bbox": [58.24, 312.29, 73.81, 118.48], "category_id": 1, "id": 125644}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [25, 157, 2, 99, 159, 2, 2, 217, 1, 121, 226, 2, 0, 0, 0, 131, 265, 2, 25, 259, 2, 66, 257, 2, 37, 355, 2, 80, 357, 2, 38, 416, 2, 0, 0, 0, 73, 92, 1, 66, 138, 1], "image_id": 105888, "bbox": [0.96, 90.2, 146.81, 331.04], "category_id": 1, "id": 125647}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [268, 253, 2, 148, 226, 2, 303, 360, 2, 116, 317, 2, 276, 372, 2, 231, 317, 2, 215, 398, 1, 136, 394, 2, 202, 528, 1, 131, 530, 1, 0, 0, 0, 0, 0, 0, 229, 177, 1, 211, 232, 1], "image_id": 108272, "bbox": [57.26, 147.14, 259.17, 391.88], "category_id": 1, "id": 125649}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [489, 277, 2, 440, 271, 2, 495, 354, 2, 427, 321, 2, 442, 359, 2, 412, 340, 2, 460, 375, 1, 418, 364, 2, 413, 403, 1, 369, 379, 1, 0, 0, 0, 0, 0, 0, 464, 202, 1, 463, 260, 1], "image_id": 106040, "bbox": [408, 190.91, 117.16, 184.7], "category_id": 1, "id": 125651}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [384, 107, 1, 350, 111, 2, 0, 0, 0, 346, 136, 2, 0, 0, 0, 343, 162, 2, 373, 157, 1, 352, 157, 2, 371, 199, 1, 353, 200, 1, 371, 239, 1, 351, 239, 2, 364, 82, 1, 365, 103, 1], "image_id": 108446, "bbox": [339.81, 79.44, 34.78, 165.05], "category_id": 1, "id": 125653}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [322, 425, 2, 242, 355, 2, 209, 553, 2, 0, 0, 0, 94, 485, 1, 0, 0, 0, 0, 0, 0, 45, 606, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 212, 1, 294, 345, 1], "image_id": 107828, "bbox": [2.72, 174.72, 401.9, 464.5], "category_id": 1, "id": 125684}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [383, 271, 1, 336, 271, 1, 383, 314, 2, 0, 0, 0, 387, 344, 1, 0, 0, 0, 370, 345, 2, 344, 345, 2, 369, 403, 2, 336, 405, 2, 369, 463, 2, 332, 462, 2, 359, 228, 1, 359, 264, 1], "image_id": 102913, "bbox": [322.89, 228.35, 70.43, 241.63], "category_id": 1, "id": 125695}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [412, 158, 2, 294, 158, 2, 414, 239, 2, 255, 230, 2, 393, 153, 2, 267, 286, 2, 388, 345, 2, 310, 346, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 49, 1, 352, 137, 1], "image_id": 107683, "bbox": [240.97, 32.53, 205.31, 389.41], "category_id": 1, "id": 125701}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [220, 232, 2, 74, 245, 2, 278, 342, 2, 66, 359, 2, 331, 367, 2, 253, 376, 2, 0, 0, 0, 0, 0, 0, 524, 436, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 88, 1, 151, 214, 1], "image_id": 103207, "bbox": [19.42, 53.93, 543.64, 420.68], "category_id": 1, "id": 125723}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [140, 178, 2, 135, 181, 2, 0, 0, 0, 133, 202, 2, 0, 0, 0, 150, 210, 2, 142, 218, 2, 138, 219, 2, 134, 249, 2, 149, 247, 2, 131, 278, 2, 157, 278, 2, 145, 158, 1, 139, 174, 1], "image_id": 105752, "bbox": [123.52, 156.11, 50.16, 129.49], "category_id": 1, "id": 125730}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [154, 268, 2, 111, 270, 2, 158, 306, 1, 113, 308, 1, 0, 0, 0, 0, 0, 0, 146, 309, 1, 123, 309, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 219, 1, 132, 257, 1], "image_id": 104372, "bbox": [97.51, 221.29, 64.19, 86.7], "category_id": 1, "id": 125748}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [53, 106, 2, 98, 106, 2, 42, 135, 2, 103, 138, 2, 0, 0, 0, 0, 0, 0, 55, 177, 2, 81, 177, 2, 52, 203, 2, 72, 214, 2, 45, 253, 2, 61, 270, 2, 76, 67, 1, 73, 96, 1], "image_id": 102795, "bbox": [26.91, 63.97, 83.77, 220.76], "category_id": 1, "id": 125758}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [295, 228, 2, 282, 239, 2, 315, 277, 2, 286, 308, 1, 336, 317, 2, 330, 282, 2, 321, 369, 2, 311, 379, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 164, 1, 281, 217, 1], "image_id": 102906, "bbox": [265.27, 161.81, 95.08, 263.19], "category_id": 1, "id": 125760}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [270, 157, 2, 240, 160, 1, 280, 194, 2, 0, 0, 0, 261, 220, 2, 0, 0, 0, 277, 214, 2, 252, 213, 1, 256, 260, 2, 0, 0, 0, 241, 318, 1, 0, 0, 0, 245, 113, 1, 254, 148, 1], "image_id": 106539, "bbox": [230.9, 105.44, 67.05, 163.79], "category_id": 1, "id": 125766}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [308, 264, 2, 266, 266, 2, 321, 297, 2, 260, 307, 1, 322, 304, 2, 284, 310, 2, 320, 319, 2, 287, 323, 2, 363, 327, 2, 292, 335, 2, 0, 0, 0, 0, 0, 0, 283, 218, 1, 285, 252, 1], "image_id": 108565, "bbox": [263.84, 215.31, 112.85, 124.31], "category_id": 1, "id": 125768}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 373, 21, 2, 261, 16, 2, 359, 27, 2, 279, 33, 2, 343, 102, 2, 290, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108207, "bbox": [251.18, 0.96, 129.89, 164.26], "category_id": 1, "id": 125775}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [481, 349, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 120, 1, 485, 292, 1], "image_id": 106571, "bbox": [162.01, 113.59, 469.84, 312.41], "category_id": 1, "id": 125815}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [272, 241, 2, 263, 243, 2, 0, 0, 0, 266, 267, 2, 0, 0, 0, 285, 260, 2, 281, 286, 2, 267, 288, 2, 312, 297, 2, 293, 301, 2, 299, 334, 2, 279, 340, 2, 273, 208, 1, 269, 234, 1], "image_id": 106508, "bbox": [249.48, 206.3, 71.11, 148.73], "category_id": 1, "id": 125825}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [263, 226, 1, 236, 230, 2, 257, 260, 2, 230, 257, 2, 273, 252, 2, 247, 242, 2, 268, 269, 2, 245, 270, 1, 296, 281, 2, 297, 262, 2, 292, 323, 2, 318, 298, 2, 256, 196, 1, 249, 222, 1], "image_id": 103994, "bbox": [228.59, 191.02, 119.26, 148.53], "category_id": 1, "id": 125830}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [179, 181, 2, 161, 181, 2, 183, 197, 2, 0, 0, 0, 173, 199, 2, 0, 0, 0, 175, 211, 2, 164, 212, 2, 172, 231, 2, 167, 232, 2, 177, 259, 2, 167, 260, 2, 169, 163, 1, 170, 176, 1], "image_id": 105752, "bbox": [155.88, 160.07, 30.52, 108.71], "category_id": 1, "id": 125844}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 231, 2, 48, 217, 2, 76, 235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 377, 2, 0, 0, 0, 0, 0, 0, 1, 67, 1, 0, 0, 0], "image_id": 107166, "bbox": [2.15, 62.39, 103.08, 417.61], "category_id": 1, "id": 125851}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [373, 330, 2, 395, 323, 2, 403, 305, 2, 392, 316, 2, 420, 328, 1, 396, 303, 2, 338, 309, 2, 355, 305, 2, 315, 276, 2, 342, 275, 2, 288, 309, 1, 334, 300, 2, 407, 333, 1, 391, 326, 1], "image_id": 108525, "bbox": [286.2, 269.21, 136.84, 77.81], "category_id": 1, "id": 125852}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [321, 242, 1, 289, 248, 1, 327, 267, 1, 277, 280, 1, 297, 258, 1, 271, 298, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 183, 1, 302, 230, 1], "image_id": 107840, "bbox": [0, 100.71, 364.72, 377.29], "category_id": 1, "id": 125855}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [317, 255, 2, 302, 255, 2, 323, 260, 2, 293, 263, 1, 314, 263, 2, 301, 262, 2, 315, 280, 2, 307, 280, 2, 316, 304, 1, 304, 305, 1, 0, 0, 0, 0, 0, 0, 307, 243, 1, 308, 253, 1], "image_id": 104451, "bbox": [294.04, 242.59, 31.62, 59.22], "category_id": 1, "id": 125875}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [273, 133, 2, 267, 130, 2, 283, 243, 2, 261, 230, 2, 215, 263, 2, 217, 277, 2, 267, 287, 2, 250, 294, 2, 232, 429, 2, 262, 445, 2, 251, 583, 2, 359, 542, 2, 248, 37, 1, 256, 113, 1], "image_id": 106416, "bbox": [183.27, 28.77, 202.73, 591.32], "category_id": 1, "id": 125891}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [477, 190, 2, 423, 185, 2, 0, 0, 0, 392, 231, 1, 0, 0, 0, 420, 230, 2, 452, 273, 1, 418, 269, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 126, 1, 448, 181, 1], "image_id": 104116, "bbox": [391.99, 120.42, 88.01, 125.97], "category_id": 1, "id": 125896}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [399, 210, 2, 369, 213, 2, 391, 223, 2, 369, 250, 2, 372, 221, 2, 0, 0, 0, 405, 260, 2, 374, 257, 2, 378, 262, 2, 349, 252, 2, 419, 291, 2, 360, 293, 2, 382, 173, 1, 383, 204, 1], "image_id": 106483, "bbox": [335.14, 167.85, 91.99, 134.23], "category_id": 1, "id": 125901}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [543, 234, 2, 565, 234, 2, 526, 252, 1, 565, 252, 1, 503, 259, 1, 560, 265, 1, 535, 260, 1, 549, 260, 1, 496, 264, 1, 513, 262, 1, 503, 292, 2, 521, 291, 2, 552, 208, 1, 553, 226, 1], "image_id": 107607, "bbox": [487.69, 205.86, 80.1, 96.56], "category_id": 1, "id": 125910}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [153, 147, 2, 126, 148, 1, 157, 182, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 204, 1, 131, 201, 1, 112, 216, 1, 96, 211, 1, 135, 245, 1, 124, 245, 1, 126, 109, 1, 139, 139, 1], "image_id": 107568, "bbox": [113.78, 100.22, 48.71, 99.47], "category_id": 1, "id": 125911}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [216, 128, 2, 149, 154, 2, 240, 180, 2, 178, 208, 2, 257, 223, 2, 222, 250, 2, 207, 235, 2, 175, 243, 2, 204, 324, 2, 147, 318, 2, 196, 395, 2, 113, 357, 2, 149, 77, 1, 180, 124, 1], "image_id": 105754, "bbox": [97.39, 64.19, 179.92, 348.78], "category_id": 1, "id": 125919}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 150, 2, 371, 172, 2, 389, 170, 2, 365, 181, 2, 381, 187, 2, 372, 190, 2, 418, 209, 2, 399, 213, 2, 403, 250, 2, 397, 258, 2, 394, 288, 2, 427, 283, 2, 365, 138, 1, 379, 157, 1], "image_id": 106484, "bbox": [348.21, 129.49, 92.98, 181.3], "category_id": 1, "id": 125929}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 320, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 144, 1, 0, 0, 0], "image_id": 103777, "bbox": [320.03, 138.17, 55.87, 107.29], "category_id": 1, "id": 125940}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [274, 39, 2, 213, 37, 1, 281, 98, 1, 185, 114, 1, 290, 103, 1, 246, 129, 2, 241, 128, 2, 215, 136, 1, 331, 142, 2, 325, 159, 2, 321, 221, 1, 323, 222, 1, 0, 0, 0, 247, 27, 1], "image_id": 104954, "bbox": [199.34, 0, 146.11, 182.93], "category_id": 1, "id": 125963}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [39, 332, 1, 61, 332, 2, 36, 357, 2, 72, 356, 1, 0, 0, 0, 0, 0, 0, 42, 379, 2, 58, 380, 2, 60, 419, 2, 49, 425, 2, 65, 452, 2, 39, 459, 2, 53, 298, 1, 52, 322, 1], "image_id": 105949, "bbox": [26.82, 295.59, 55.74, 181.21], "category_id": 1, "id": 125969}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [171, 119, 2, 134, 117, 2, 178, 154, 2, 118, 135, 2, 182, 151, 2, 149, 131, 2, 161, 187, 2, 130, 184, 2, 166, 238, 2, 125, 249, 2, 153, 292, 2, 99, 237, 2, 154, 78, 1, 154, 109, 1], "image_id": 104057, "bbox": [75.8, 73.25, 115.15, 240.76], "category_id": 1, "id": 125974}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [118, 6, 2, 88, 3, 2, 107, 29, 2, 70, 25, 2, 80, 26, 2, 96, 21, 2, 107, 59, 2, 85, 58, 2, 116, 108, 1, 85, 112, 2, 115, 143, 1, 82, 146, 2, 0, 0, 0, 102, 2, 1], "image_id": 105568, "bbox": [68.64, 0, 57.45, 149.84], "category_id": 1, "id": 125989}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [404, 157, 2, 285, 160, 2, 493, 205, 2, 188, 190, 2, 478, 283, 2, 97, 241, 2, 421, 209, 2, 0, 0, 0, 429, 268, 2, 0, 0, 0, 437, 259, 2, 388, 235, 2, 320, 232, 1, 338, 170, 1], "image_id": 106017, "bbox": [25.4, 108.43, 491.27, 252], "category_id": 1, "id": 125993}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [257, 175, 2, 148, 183, 2, 281, 282, 2, 0, 0, 0, 312, 366, 2, 172, 348, 2, 264, 375, 2, 191, 378, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 54, 1, 197, 139, 1], "image_id": 106995, "bbox": [131.03, 30.47, 214.32, 418.48], "category_id": 1, "id": 126000}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [352, 182, 1, 400, 167, 1, 343, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 236, 2, 438, 233, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 138, 1, 366, 160, 1], "image_id": 106202, "bbox": [335.14, 122.86, 105.22, 159.2], "category_id": 1, "id": 126023}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [35, 21, 2, 56, 22, 2, 0, 0, 0, 62, 43, 2, 0, 0, 0, 59, 54, 2, 34, 45, 2, 48, 46, 2, 34, 70, 2, 53, 68, 1, 0, 0, 0, 0, 0, 0, 45, 13, 1, 46, 20, 1], "image_id": 104137, "bbox": [27.26, 14.57, 37.51, 57.89], "category_id": 1, "id": 126033}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 427, 9, 2, 305, 2, 2, 386, 4, 2, 345, 16, 2, 393, 60, 2, 340, 56, 2, 386, 138, 2, 335, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103161, "bbox": [296.11, 0.52, 144.72, 160.5], "category_id": 1, "id": 126047}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [248, 264, 2, 100, 279, 2, 273, 408, 2, 85, 426, 2, 305, 523, 2, 148, 351, 2, 253, 530, 2, 166, 528, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 118, 1, 175, 241, 1], "image_id": 104729, "bbox": [57.4, 100.63, 269.33, 539.37], "category_id": 1, "id": 126049}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [310, 278, 2, 264, 272, 2, 322, 334, 2, 252, 337, 1, 316, 351, 2, 301, 335, 2, 293, 354, 2, 262, 353, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 224, 1, 288, 264, 1], "image_id": 103629, "bbox": [224.2, 209.92, 125.2, 189.05], "category_id": 1, "id": 126055}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [248, 170, 2, 194, 167, 1, 263, 205, 2, 0, 0, 0, 255, 217, 2, 0, 0, 0, 236, 246, 2, 203, 245, 1, 242, 302, 2, 208, 305, 2, 234, 343, 1, 201, 336, 1, 220, 121, 1, 222, 160, 1], "image_id": 106539, "bbox": [197.42, 115.76, 72.43, 220.02], "category_id": 1, "id": 126071}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 38, 1, 0, 0, 0, 256, 44, 2, 232, 41, 2, 237, 159, 2, 231, 159, 2, 348, 215, 2, 265, 256, 2, 0, 0, 0, 0, 0, 0], "image_id": 104477, "bbox": [204.94, 1.08, 173.67, 291.23], "category_id": 1, "id": 126076}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [328, 429, 1, 356, 425, 2, 0, 0, 0, 370, 450, 2, 0, 0, 0, 357, 470, 2, 338, 478, 1, 361, 478, 2, 341, 515, 2, 362, 509, 2, 348, 556, 2, 360, 550, 2, 334, 399, 1, 339, 416, 1], "image_id": 108086, "bbox": [323.86, 397.02, 54.52, 172.64], "category_id": 1, "id": 126081}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 46, 2, 464, 54, 2, 0, 0, 0, 0, 0, 0], "image_id": 105621, "bbox": [424.71, 0, 64.08, 68.73], "category_id": 1, "id": 126085}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [300, 86, 2, 281, 86, 2, 308, 109, 2, 271, 109, 2, 301, 119, 2, 290, 120, 2, 301, 131, 2, 284, 131, 2, 299, 167, 2, 279, 167, 2, 300, 195, 2, 277, 193, 2, 290, 63, 1, 288, 82, 1], "image_id": 108446, "bbox": [267.28, 60.11, 45.87, 144.61], "category_id": 1, "id": 126105}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106202, "bbox": [518.26, 95.38, 40.44, 85.42], "category_id": 1, "id": 126106}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [460, 253, 2, 446, 255, 2, 0, 0, 0, 440, 275, 1, 0, 0, 0, 452, 286, 2, 455, 295, 2, 445, 296, 2, 463, 319, 2, 441, 322, 2, 465, 350, 2, 412, 329, 2, 456, 229, 1, 453, 248, 1], "image_id": 104160, "bbox": [403.7, 230.53, 82.99, 125.6], "category_id": 1, "id": 126107}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [387, 156, 1, 304, 155, 2, 419, 233, 1, 294, 239, 1, 432, 313, 1, 0, 0, 0, 375, 311, 1, 314, 310, 1, 374, 419, 2, 324, 425, 1, 371, 548, 2, 324, 538, 2, 328, 61, 1, 344, 137, 1], "image_id": 105813, "bbox": [286.13, 51.34, 144.88, 533.89], "category_id": 1, "id": 126114}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 418, 1, 113, 424, 1], "image_id": 108086, "bbox": [107.36, 417.57, 13.35, 42.56], "category_id": 1, "id": 126159}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 247, 1, 191, 260, 1], "image_id": 105856, "bbox": [177.65, 246.84, 22.06, 94.89], "category_id": 1, "id": 126164}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [339, 162, 2, 382, 157, 2, 329, 191, 2, 0, 0, 0, 319, 214, 1, 0, 0, 0, 349, 213, 2, 377, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 109, 1, 359, 152, 1], "image_id": 106416, "bbox": [320.81, 100.82, 65.19, 126.1], "category_id": 1, "id": 126184}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [188, 94, 2, 211, 136, 2, 0, 0, 0, 189, 197, 2, 0, 0, 0, 0, 0, 0, 148, 181, 2, 114, 172, 2, 203, 246, 2, 108, 280, 2, 150, 348, 2, 9, 318, 2, 252, 74, 1, 215, 103, 1], "image_id": 106540, "bbox": [0, 56.48, 269.93, 326.4], "category_id": 1, "id": 126190}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [606, 118, 2, 537, 119, 2, 616, 176, 2, 532, 172, 2, 615, 194, 2, 566, 141, 2, 601, 227, 2, 562, 230, 2, 604, 303, 2, 566, 312, 1, 0, 0, 0, 0, 0, 0, 557, 61, 1, 571, 106, 1], "image_id": 106861, "bbox": [520.29, 52.41, 104.82, 275.05], "category_id": 1, "id": 126215}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [431, 193, 2, 379, 187, 2, 450, 247, 1, 385, 248, 2, 0, 0, 0, 377, 291, 1, 423, 309, 2, 387, 312, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 123, 1, 401, 176, 1], "image_id": 108040, "bbox": [365.69, 128.6, 82.89, 226.73], "category_id": 1, "id": 126222}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [409, 240, 2, 325, 256, 2, 447, 317, 2, 346, 351, 2, 464, 285, 2, 421, 288, 2, 489, 334, 2, 442, 369, 2, 627, 379, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 140, 1, 358, 223, 1], "image_id": 103207, "bbox": [294.05, 119.46, 344.87, 350.27], "category_id": 1, "id": 126228}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [451, 147, 1, 0, 0, 0, 481, 169, 2, 0, 0, 0, 468, 189, 2, 0, 0, 0, 462, 186, 1, 0, 0, 0, 469, 229, 2, 0, 0, 0, 494, 278, 2, 0, 0, 0, 394, 121, 1, 418, 143, 1], "image_id": 106483, "bbox": [397.52, 111.28, 109.02, 184.49], "category_id": 1, "id": 126234}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [251, 105, 2, 163, 120, 2, 282, 156, 1, 157, 175, 2, 282, 220, 1, 166, 237, 2, 254, 236, 1, 199, 242, 2, 264, 308, 1, 206, 314, 2, 264, 376, 2, 219, 413, 2, 190, 43, 1, 199, 94, 1], "image_id": 107592, "bbox": [141.64, 28.21, 155.13, 419.3], "category_id": 1, "id": 126241}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 3, 1, 297, 124, 1], "image_id": 107323, "bbox": [241.62, 2.88, 156.76, 312.09], "category_id": 1, "id": 126256}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [226, 249, 2, 187, 249, 2, 259, 287, 2, 193, 317, 2, 233, 242, 2, 213, 377, 2, 247, 373, 2, 225, 375, 2, 252, 467, 2, 219, 468, 2, 213, 562, 2, 220, 568, 2, 226, 178, 1, 206, 231, 1], "image_id": 103912, "bbox": [174.36, 172.78, 93.96, 414.23], "category_id": 1, "id": 126266}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [162, 122, 2, 132, 122, 2, 166, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 270, 1, 132, 269, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 59, 1, 144, 107, 1], "image_id": 107235, "bbox": [89.49, 41.15, 95.17, 203.44], "category_id": 1, "id": 126267}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [7, 250, 2, 49, 252, 2, 0, 0, 0, 85, 275, 2, 0, 0, 0, 97, 271, 2, 0, 0, 0, 14, 310, 2, 54, 308, 1, 71, 327, 2, 44, 366, 2, 91, 369, 2, 38, 205, 1, 35, 237, 1], "image_id": 107086, "bbox": [0, 197.15, 114.4, 189.38], "category_id": 1, "id": 126274}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [320, 183, 2, 306, 184, 2, 324, 197, 2, 305, 207, 2, 0, 0, 0, 308, 225, 2, 320, 224, 2, 311, 223, 2, 320, 255, 2, 314, 256, 2, 311, 284, 2, 305, 285, 1, 316, 160, 1, 314, 177, 1], "image_id": 105752, "bbox": [298.97, 156.09, 29.58, 128.88], "category_id": 1, "id": 126282}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [348, 231, 2, 268, 234, 1, 0, 0, 0, 126, 270, 1, 408, 189, 1, 143, 240, 1, 344, 386, 2, 277, 389, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 95, 1, 302, 204, 1], "image_id": 104086, "bbox": [235.15, 80.9, 131.59, 390.47], "category_id": 1, "id": 126302}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [484, 190, 2, 377, 185, 2, 490, 271, 2, 369, 275, 2, 401, 252, 2, 460, 258, 2, 463, 308, 2, 394, 308, 2, 529, 374, 2, 393, 370, 2, 0, 0, 0, 0, 0, 0, 456, 144, 1, 439, 176, 1], "image_id": 102797, "bbox": [346.25, 119.73, 213.57, 354.88], "category_id": 1, "id": 126303}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [401, 358, 2, 358, 358, 2, 0, 0, 0, 357, 391, 2, 0, 0, 0, 0, 0, 0, 406, 399, 2, 365, 407, 2, 410, 355, 2, 384, 380, 2, 417, 416, 2, 380, 432, 2, 382, 313, 1, 385, 351, 1], "image_id": 105651, "bbox": [348.75, 304.92, 86.77, 153.46], "category_id": 1, "id": 126325}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 145, 2, 0, 0, 0, 445, 260, 2, 0, 0, 0, 442, 339, 2, 0, 0, 0, 0, 0, 0], "image_id": 104733, "bbox": [430, 35.83, 55.86, 328.83], "category_id": 1, "id": 126333}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [391, 261, 2, 358, 261, 2, 0, 0, 0, 372, 294, 2, 388, 293, 2, 393, 300, 2, 374, 318, 1, 352, 316, 1, 402, 323, 1, 368, 325, 1, 0, 0, 0, 0, 0, 0, 376, 215, 1, 376, 251, 1], "image_id": 108565, "bbox": [346.86, 213.44, 51.18, 102.96], "category_id": 1, "id": 126339}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [627, 266, 2, 594, 253, 2, 0, 0, 0, 559, 279, 2, 0, 0, 0, 511, 299, 2, 598, 366, 2, 561, 342, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 173, 1, 621, 243, 1], "image_id": 103222, "bbox": [2.16, 145.41, 637.84, 270.27], "category_id": 1, "id": 126342}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [49, 167, 2, 0, 0, 0, 71, 219, 1, 0, 0, 0, 44, 265, 2, 0, 0, 0, 39, 274, 2, 0, 0, 0, 39, 346, 2, 0, 0, 0, 42, 411, 2, 0, 0, 0, 12, 101, 1, 12, 155, 1], "image_id": 105432, "bbox": [4.3, 101.79, 64.42, 347.92], "category_id": 1, "id": 126345}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [30, 359, 2, 130, 363, 2, 0, 0, 0, 213, 389, 2, 0, 0, 0, 286, 311, 2, 60, 556, 2, 147, 553, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 240, 1, 99, 313, 1], "image_id": 102773, "bbox": [18.7, 262.75, 309.21, 363.87], "category_id": 1, "id": 126357}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [321, 336, 2, 225, 334, 2, 368, 410, 1, 176, 422, 1, 346, 419, 2, 197, 415, 1, 310, 480, 2, 233, 480, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 198, 1, 263, 308, 1], "image_id": 102899, "bbox": [146.7, 194.16, 230.11, 425.71], "category_id": 1, "id": 126368}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [546, 212, 2, 408, 146, 2, 473, 406, 2, 376, 300, 1, 302, 403, 2, 284, 333, 1, 482, 419, 2, 394, 319, 1, 286, 468, 2, 216, 268, 1, 0, 0, 0, 13, 335, 1, 336, 27, 1, 461, 127, 1], "image_id": 106030, "bbox": [7.52, 0.1, 608.86, 474.73], "category_id": 1, "id": 126374}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [551, 55, 1, 0, 0, 0, 617, 48, 2, 0, 0, 0, 0, 0, 0, 460, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 21, 1, 0, 0, 0], "image_id": 104594, "bbox": [429.3, 0.75, 210.7, 165.03], "category_id": 1, "id": 126394}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [414, 156, 2, 0, 0, 0, 452, 178, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 205, 1, 433, 206, 1, 451, 237, 2, 420, 232, 1, 461, 279, 2, 405, 270, 1, 394, 138, 1, 403, 160, 1], "image_id": 106484, "bbox": [385.1, 130.3, 86.9, 169.17], "category_id": 1, "id": 126400}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [446, 18, 2, 425, 17, 2, 453, 38, 2, 0, 0, 0, 433, 35, 2, 0, 0, 0, 434, 62, 2, 418, 59, 1, 429, 91, 2, 413, 86, 1, 426, 119, 2, 0, 0, 0, 0, 0, 0, 435, 11, 1], "image_id": 104008, "bbox": [416.3, 0.71, 38.94, 121.97], "category_id": 1, "id": 126405}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [196, 103, 2, 181, 111, 2, 191, 127, 2, 178, 132, 2, 177, 144, 2, 167, 144, 2, 199, 155, 2, 0, 0, 0, 193, 191, 1, 0, 0, 0, 193, 221, 1, 0, 0, 0, 174, 83, 1, 185, 98, 1], "image_id": 103689, "bbox": [157.8, 81.3, 53.74, 109.53], "category_id": 1, "id": 126420}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [335, 196, 2, 280, 216, 2, 374, 212, 2, 280, 283, 2, 423, 190, 1, 299, 327, 2, 317, 341, 2, 266, 338, 2, 338, 444, 2, 202, 432, 2, 356, 555, 2, 146, 418, 2, 299, 134, 1, 292, 193, 1], "image_id": 104514, "bbox": [104.99, 105.99, 349.48, 493.3], "category_id": 1, "id": 126437}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [296, 204, 2, 271, 201, 2, 313, 189, 2, 260, 187, 2, 316, 166, 2, 244, 167, 2, 293, 236, 2, 280, 243, 2, 299, 219, 2, 268, 247, 2, 315, 255, 2, 283, 283, 1, 284, 185, 1, 284, 199, 1], "image_id": 106917, "bbox": [228.78, 151.02, 100.93, 133.04], "category_id": 1, "id": 126438}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 91, 2, 294, 87, 2, 222, 318, 2, 276, 324, 2, 0, 0, 0, 0, 0, 0], "image_id": 105621, "bbox": [117.07, 0, 250.44, 355.03], "category_id": 1, "id": 126447}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 224, 176, 2, 0, 0, 0, 210, 210, 2, 0, 0, 0, 246, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 118, 1, 252, 158, 1], "image_id": 107267, "bbox": [204.79, 108.08, 66.09, 141.94], "category_id": 1, "id": 126455}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [336, 133, 2, 388, 134, 2, 325, 168, 2, 401, 162, 2, 325, 197, 2, 399, 199, 2, 348, 216, 2, 375, 214, 2, 345, 266, 2, 382, 258, 2, 342, 300, 2, 377, 299, 2, 365, 81, 1, 360, 116, 1], "image_id": 104417, "bbox": [316.4, 77.29, 95.3, 254.45], "category_id": 1, "id": 126457}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [430, 279, 2, 0, 0, 0, 433, 318, 2, 0, 0, 0, 421, 359, 2, 0, 0, 0, 416, 348, 2, 421, 347, 2, 416, 409, 2, 421, 409, 2, 428, 473, 2, 428, 467, 2, 413, 234, 1, 420, 268, 1], "image_id": 102913, "bbox": [393.65, 227.78, 52.03, 252.03], "category_id": 1, "id": 126470}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [177, 266, 2, 180, 268, 2, 206, 266, 2, 152, 300, 2, 255, 274, 2, 160, 347, 2, 129, 330, 2, 130, 335, 2, 192, 303, 2, 206, 322, 2, 142, 364, 1, 149, 376, 2, 208, 227, 1, 186, 261, 1], "image_id": 106107, "bbox": [109.01, 223.24, 180.2, 165.92], "category_id": 1, "id": 126471}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [42, 399, 2, 67, 402, 2, 35, 418, 1, 67, 420, 2, 0, 0, 0, 0, 0, 0, 42, 443, 2, 57, 444, 1, 36, 466, 2, 0, 0, 0, 34, 492, 2, 0, 0, 0, 56, 378, 1, 55, 392, 1], "image_id": 104045, "bbox": [22.99, 376.15, 49.6, 121.65], "category_id": 1, "id": 126473}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [266, 227, 2, 249, 229, 2, 267, 244, 2, 249, 241, 1, 259, 253, 2, 0, 0, 0, 268, 257, 2, 253, 257, 1, 273, 277, 2, 246, 275, 1, 290, 297, 2, 237, 303, 1, 255, 209, 1, 256, 224, 1], "image_id": 104521, "bbox": [246.1, 208.24, 51.31, 102.62], "category_id": 1, "id": 126509}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [49, 90, 2, 2, 93, 1, 65, 124, 2, 0, 0, 0, 75, 108, 2, 0, 0, 0, 55, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 1, 26, 73, 1], "image_id": 105432, "bbox": [6.39, 26.6, 85.64, 148.82], "category_id": 1, "id": 126545}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [313, 222, 2, 280, 222, 2, 334, 234, 2, 255, 232, 2, 305, 230, 2, 287, 232, 1, 310, 252, 2, 284, 252, 1, 0, 0, 0, 0, 0, 0, 299, 272, 2, 0, 0, 0, 294, 195, 1, 295, 217, 1], "image_id": 105305, "bbox": [250.76, 192.89, 88.47, 86.22], "category_id": 1, "id": 126553}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 168, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105639, "bbox": [2.74, 28.35, 257.71, 219.32], "category_id": 1, "id": 126560}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [395, 183, 1, 489, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 283, 1, 475, 282, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 92, 1, 445, 155, 1], "image_id": 106572, "bbox": [387.48, 79.82, 116.45, 140.67], "category_id": 1, "id": 126571}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 403, 144, 2, 0, 0, 0, 315, 186, 2, 0, 0, 0, 333, 204, 2, 0, 0, 0, 459, 342, 2, 0, 0, 0, 469, 474, 2, 0, 0, 0, 0, 0, 0, 420, 23, 1, 445, 100, 1], "image_id": 105813, "bbox": [309.26, 4.43, 169.74, 529.76], "category_id": 1, "id": 126591}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 296, 146, 2, 0, 0, 0, 196, 249, 2, 0, 0, 0, 265, 233, 2, 144, 241, 1, 274, 417, 1, 162, 426, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107650, "bbox": [100.22, 1.57, 259.15, 337.9], "category_id": 1, "id": 126599}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [248, 195, 2, 222, 184, 2, 233, 234, 2, 214, 229, 2, 213, 200, 2, 195, 208, 2, 250, 274, 2, 219, 274, 2, 236, 341, 2, 222, 338, 2, 269, 404, 2, 225, 386, 2, 236, 126, 1, 236, 173, 1], "image_id": 105387, "bbox": [177.98, 123.72, 110.02, 312.8], "category_id": 1, "id": 126605}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [457, 241, 1, 341, 256, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 401, 1, 365, 405, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 130, 1, 398, 221, 1], "image_id": 104086, "bbox": [354.47, 116.01, 90.77, 363.99], "category_id": 1, "id": 126614}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 138, 2, 315, 137, 2, 248, 178, 2, 326, 175, 1, 247, 198, 2, 335, 202, 1, 264, 198, 2, 304, 199, 2, 267, 266, 2, 298, 263, 2, 263, 309, 2, 305, 309, 2, 292, 85, 1, 288, 122, 1], "image_id": 104417, "bbox": [234, 79.75, 94.91, 249.14], "category_id": 1, "id": 126615}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [307, 243, 1, 291, 246, 2, 0, 0, 0, 291, 267, 2, 0, 0, 0, 311, 275, 2, 301, 288, 2, 285, 290, 2, 306, 321, 2, 284, 328, 2, 290, 347, 1, 277, 355, 1, 300, 215, 1, 299, 237, 1], "image_id": 104160, "bbox": [273.2, 211.33, 44.15, 155.26], "category_id": 1, "id": 126619}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [304, 116, 2, 260, 117, 2, 306, 132, 2, 246, 138, 2, 306, 143, 2, 271, 154, 2, 284, 150, 2, 253, 148, 2, 316, 170, 2, 264, 169, 1, 308, 205, 2, 237, 207, 2, 288, 78, 1, 284, 106, 1], "image_id": 102572, "bbox": [228.42, 78.89, 93.15, 141.95], "category_id": 1, "id": 126628}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [123, 128, 2, 80, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 83, 1, 102, 118, 1], "image_id": 104372, "bbox": [84.31, 81.44, 39.88, 77.29], "category_id": 1, "id": 126661}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 223, 1, 219, 232, 1], "image_id": 106359, "bbox": [214.07, 221.88, 20.29, 69.49], "category_id": 1, "id": 126669}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [174, 162, 2, 173, 159, 2, 167, 206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 209, 1, 167, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 115, 1, 171, 147, 1], "image_id": 107568, "bbox": [148.4, 111.56, 37.89, 98.46], "category_id": 1, "id": 126671}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 346, 9, 2, 0, 0, 0, 344, 34, 2, 0, 0, 0, 325, 26, 2, 302, 26, 2, 332, 72, 1, 300, 76, 2, 343, 121, 2, 295, 123, 2, 0, 0, 0, 0, 0, 0], "image_id": 106513, "bbox": [279.33, 0, 72.67, 133.15], "category_id": 1, "id": 126704}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [154, 82, 2, 74, 78, 2, 180, 169, 2, 0, 0, 0, 155, 253, 2, 0, 0, 0, 115, 234, 2, 61, 232, 2, 110, 351, 1, 45, 358, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 61, 1], "image_id": 103670, "bbox": [18.54, 0, 174.44, 351.4], "category_id": 1, "id": 126751}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [40, 85, 2, 0, 0, 0, 62, 116, 2, 0, 0, 0, 26, 121, 2, 0, 0, 0, 39, 164, 2, 5, 163, 2, 34, 218, 2, 2, 205, 2, 29, 258, 2, 6, 272, 2, 0, 31, 1, 8, 72, 1], "image_id": 106540, "bbox": [0, 32.59, 70.7, 257.08], "category_id": 1, "id": 126754}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [122, 215, 2, 100, 217, 2, 144, 251, 2, 0, 0, 0, 102, 272, 1, 0, 0, 0, 161, 279, 2, 135, 276, 1, 103, 315, 1, 90, 307, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107086, "bbox": [69.95, 168.24, 123.35, 166.05], "category_id": 1, "id": 126760}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 606, 7, 1], "image_id": 102651, "bbox": [599.73, 0, 17.29, 14.69], "category_id": 1, "id": 126778}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [337, 378, 2, 0, 430, 1, 0, 0, 0, 0, 0, 0, 393, 568, 2, 65, 603, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 93, 1, 173, 349, 1], "image_id": 107383, "bbox": [0, 37.36, 465.32, 602.64], "category_id": 1, "id": 126782}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 419, 1, 85, 426, 1], "image_id": 108086, "bbox": [79.75, 421.2, 11.09, 40.37], "category_id": 1, "id": 126790}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 313, 134, 2, 0, 0, 0, 307, 194, 1, 336, 200, 1, 334, 218, 2, 377, 260, 2, 332, 266, 1, 368, 363, 2, 321, 367, 1, 0, 0, 0, 317, 449, 1, 332, 58, 1, 344, 114, 1], "image_id": 106416, "bbox": [302.36, 52.84, 83.64, 368.69], "category_id": 1, "id": 126798}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [472, 216, 1, 301, 248, 2, 0, 0, 0, 311, 378, 2, 0, 0, 0, 363, 352, 1, 0, 0, 0, 362, 387, 2, 0, 0, 0, 367, 389, 2, 0, 0, 0, 0, 0, 0, 349, 132, 1, 361, 216, 1], "image_id": 106275, "bbox": [285.59, 95.84, 130.81, 333.16], "category_id": 1, "id": 126803}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [258, 285, 2, 267, 284, 2, 251, 295, 2, 0, 0, 0, 247, 293, 2, 0, 0, 0, 255, 307, 2, 263, 307, 2, 257, 330, 2, 260, 327, 2, 258, 343, 2, 262, 342, 2, 259, 270, 1, 260, 279, 1], "image_id": 105856, "bbox": [243.72, 267.72, 28.21, 79.9], "category_id": 1, "id": 126818}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [79, 333, 2, 33, 332, 2, 105, 363, 2, 6, 356, 2, 97, 394, 2, 14, 394, 1, 73, 411, 2, 41, 412, 2, 77, 456, 2, 45, 459, 2, 76, 514, 2, 43, 516, 1, 52, 283, 1, 54, 320, 1], "image_id": 108112, "bbox": [0, 280.76, 118.84, 263.45], "category_id": 1, "id": 126820}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [251, 233, 2, 245, 231, 2, 248, 262, 2, 239, 254, 2, 231, 261, 2, 230, 257, 2, 255, 273, 2, 247, 272, 2, 213, 279, 1, 212, 275, 1, 0, 0, 0, 0, 0, 0, 239, 207, 1, 247, 227, 1], "image_id": 105177, "bbox": [228.43, 203.53, 39.14, 75.88], "category_id": 1, "id": 126830}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 132, 2, 345, 135, 2, 392, 168, 2, 328, 183, 2, 358, 165, 2, 338, 167, 2, 398, 207, 2, 354, 214, 2, 434, 249, 2, 340, 264, 2, 455, 313, 2, 307, 316, 2, 384, 97, 1, 372, 130, 1], "image_id": 106107, "bbox": [284.47, 87.67, 197.19, 259.73], "category_id": 1, "id": 126844}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [404, 214, 2, 380, 206, 1, 417, 229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 175, 1, 394, 204, 1], "image_id": 104235, "bbox": [365.87, 172.6, 58.06, 85.47], "category_id": 1, "id": 126849}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 206, 1, 26, 213, 1], "image_id": 104959, "bbox": [14.81, 206.24, 18.4, 45.37], "category_id": 1, "id": 126857}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [94, 123, 2, 201, 127, 2, 81, 188, 1, 186, 195, 2, 77, 257, 2, 214, 277, 1, 87, 283, 2, 172, 290, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 34, 1, 146, 94, 1], "image_id": 107953, "bbox": [68.85, 25.68, 152.37, 284.42], "category_id": 1, "id": 126865}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [127, 171, 2, 21, 175, 2, 0, 0, 0, 22, 286, 2, 0, 0, 0, 38, 378, 2, 123, 372, 2, 62, 378, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 60, 1, 82, 152, 1], "image_id": 105596, "bbox": [0, 48.63, 142.71, 428.14], "category_id": 1, "id": 126899}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [51, 207, 2, 0, 0, 0, 49, 233, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 243, 2, 0, 0, 0, 17, 243, 2, 15, 241, 2, 37, 270, 2, 28, 268, 2, 44, 181, 1, 46, 200, 1], "image_id": 106157, "bbox": [6.91, 179.62, 60.14, 104.48], "category_id": 1, "id": 126972}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [635, 173, 2, 526, 170, 2, 0, 0, 0, 475, 326, 1, 0, 0, 0, 0, 0, 0, 632, 422, 1, 555, 417, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, 38, 1, 582, 139, 1], "image_id": 107869, "bbox": [452.63, 13.34, 187.37, 406.9], "category_id": 1, "id": 126981}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [196, 157, 2, 68, 146, 2, 196, 272, 2, 23, 293, 2, 243, 283, 2, 37, 251, 2, 209, 380, 2, 140, 385, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 7, 1, 140, 112, 1], "image_id": 106943, "bbox": [4.3, 0, 308.88, 474.62], "category_id": 1, "id": 126992}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [298, 243, 2, 99, 227, 2, 336, 376, 2, 42, 356, 2, 0, 0, 0, 183, 179, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 44, 1, 202, 195, 1], "image_id": 103549, "bbox": [9.53, 23.92, 356.43, 396.45], "category_id": 1, "id": 127024}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [410, 128, 2, 419, 125, 2, 419, 155, 2, 0, 0, 0, 423, 180, 2, 0, 0, 0, 415, 217, 2, 415, 216, 2, 415, 291, 2, 421, 287, 2, 418, 340, 1, 455, 336, 2, 395, 83, 1, 404, 114, 1], "image_id": 107231, "bbox": [374.38, 74.49, 97.42, 270.29], "category_id": 1, "id": 127036}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [115, 225, 2, 30, 243, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 332, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 78, 1, 76, 195, 1], "image_id": 107323, "bbox": [8.59, 76.15, 126, 279.2], "category_id": 1, "id": 127051}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 307, 2, 352, 299, 2, 309, 334, 1, 368, 324, 2, 302, 330, 1, 361, 336, 2, 332, 352, 2, 359, 350, 2, 317, 386, 2, 355, 347, 2, 308, 419, 2, 355, 393, 2, 326, 275, 1, 330, 293, 1], "image_id": 104129, "bbox": [285.24, 276.21, 86.1, 150.79], "category_id": 1, "id": 127081}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 246, 1, 277, 257, 1], "image_id": 104451, "bbox": [254.48, 243.76, 38.46, 46.55], "category_id": 1, "id": 127116}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [187, 168, 2, 111, 108, 2, 215, 239, 2, 57, 206, 2, 311, 257, 2, 65, 312, 2, 163, 313, 2, 110, 307, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 32, 1, 153, 108, 1], "image_id": 106164, "bbox": [29.58, 22.3, 288.57, 401.45], "category_id": 1, "id": 127137}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [89, 129, 2, 16, 140, 2, 102, 190, 2, 14, 196, 2, 66, 218, 2, 23, 223, 2, 91, 255, 2, 40, 261, 1, 91, 350, 2, 49, 354, 1, 90, 422, 2, 52, 419, 1, 35, 61, 1, 47, 119, 1], "image_id": 107235, "bbox": [1.44, 49.01, 119.64, 389.19], "category_id": 1, "id": 127151}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [491, 173, 2, 518, 162, 2, 464, 202, 2, 0, 0, 0, 467, 173, 2, 487, 170, 2, 472, 226, 2, 492, 226, 2, 421, 234, 2, 0, 0, 0, 423, 284, 1, 0, 0, 0, 497, 126, 1, 503, 155, 1], "image_id": 107809, "bbox": [415.99, 117.19, 106.74, 127.69], "category_id": 1, "id": 127157}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [98, 86, 2, 121, 89, 2, 0, 0, 0, 129, 123, 2, 0, 0, 0, 141, 114, 1, 106, 141, 2, 126, 142, 2, 111, 193, 2, 141, 192, 2, 116, 238, 2, 149, 239, 2, 115, 46, 1, 111, 74, 1], "image_id": 107513, "bbox": [87.8, 41.47, 80.87, 212.26], "category_id": 1, "id": 127163}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [9, 226, 2, 0, 0, 0, 11, 320, 2, 0, 0, 0, 56, 313, 1, 0, 0, 0, 10, 398, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107869, "bbox": [0, 202.52, 78.89, 222.48], "category_id": 1, "id": 127203}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 14, 357, 2, 0, 0, 0, 237, 447, 2, 0, 0, 0, 135, 290, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 131, 1, 1, 296, 1], "image_id": 105327, "bbox": [1.38, 97.74, 266.63, 490.43], "category_id": 1, "id": 127206}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 82, 226, 2, 0, 0, 0, 75, 295, 2, 0, 0, 0, 80, 356, 2, 138, 338, 2, 100, 344, 2, 131, 425, 2, 124, 441, 2, 0, 0, 0, 0, 0, 0, 153, 141, 1, 124, 196, 1], "image_id": 108116, "bbox": [62.28, 131.11, 122.42, 337.18], "category_id": 1, "id": 127212}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [202, 158, 2, 220, 165, 2, 0, 0, 0, 247, 197, 2, 0, 0, 0, 294, 197, 2, 164, 235, 2, 185, 246, 2, 140, 292, 2, 236, 298, 2, 106, 338, 2, 218, 370, 2, 238, 110, 1, 222, 151, 1], "image_id": 108036, "bbox": [87.32, 101.42, 240.85, 291.71], "category_id": 1, "id": 127228}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [559, 206, 2, 464, 202, 2, 0, 0, 0, 433, 301, 2, 601, 289, 2, 456, 402, 2, 549, 388, 2, 476, 383, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 88, 1, 509, 173, 1], "image_id": 106995, "bbox": [404.26, 78.47, 207.21, 370.74], "category_id": 1, "id": 127235}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 566, 187, 2, 0, 0, 0, 494, 312, 2, 405, 507, 2, 412, 429, 2, 533, 459, 2, 461, 427, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102712, "bbox": [290.96, 114.59, 302.72, 479.22], "category_id": 1, "id": 127243}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [385, 226, 2, 357, 224, 2, 381, 242, 2, 0, 0, 0, 357, 252, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 260, 2, 339, 260, 2, 404, 295, 2, 345, 295, 2, 367, 192, 1, 369, 218, 1], "image_id": 106484, "bbox": [323.84, 188.36, 91.86, 115.4], "category_id": 1, "id": 127255}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [495, 74, 2, 520, 66, 2, 485, 102, 2, 0, 0, 0, 476, 132, 2, 0, 0, 0, 512, 135, 2, 522, 131, 2, 510, 187, 2, 500, 184, 2, 530, 235, 2, 498, 233, 2, 497, 20, 1, 502, 52, 1], "image_id": 104733, "bbox": [464.3, 13.18, 81.91, 234.85], "category_id": 1, "id": 127262}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 114, 2, 182, 113, 2, 279, 183, 2, 166, 181, 2, 274, 242, 2, 161, 233, 2, 241, 223, 2, 195, 222, 2, 248, 318, 2, 186, 318, 2, 243, 419, 2, 178, 422, 2, 225, 38, 1, 222, 95, 1], "image_id": 103667, "bbox": [145.26, 35.96, 139.5, 409.88], "category_id": 1, "id": 127264}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [372, 147, 1, 296, 147, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 78, 1, 330, 133, 1], "image_id": 108116, "bbox": [266.96, 67.5, 118.08, 106.55], "category_id": 1, "id": 127276}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [420, 202, 1, 403, 203, 2, 426, 217, 1, 397, 218, 1, 423, 216, 2, 404, 215, 2, 418, 231, 2, 408, 231, 2, 417, 252, 2, 406, 252, 2, 416, 269, 1, 405, 272, 2, 412, 187, 1, 411, 199, 1], "image_id": 105430, "bbox": [395.87, 183.37, 31.28, 96], "category_id": 1, "id": 127283}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [517, 133, 2, 443, 117, 2, 535, 227, 1, 397, 163, 2, 471, 212, 2, 405, 169, 2, 481, 256, 1, 415, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 33, 1, 482, 108, 1], "image_id": 107119, "bbox": [388.43, 21.72, 157.18, 221.07], "category_id": 1, "id": 127286}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [401, 94, 2, 372, 94, 2, 401, 101, 2, 371, 107, 2, 399, 120, 1, 377, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 68, 1, 387, 88, 1], "image_id": 104103, "bbox": [356.55, 67.7, 60.52, 80.68], "category_id": 1, "id": 127292}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [581, 130, 2, 526, 134, 2, 586, 182, 2, 519, 181, 2, 569, 222, 2, 544, 225, 2, 566, 217, 2, 522, 222, 2, 563, 290, 1, 518, 291, 2, 562, 334, 1, 510, 338, 1, 561, 71, 1, 559, 114, 1], "image_id": 105264, "bbox": [509.57, 71.23, 91.15, 223.36], "category_id": 1, "id": 127303}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [203, 325, 2, 0, 0, 0, 130, 524, 2, 0, 0, 0, 31, 448, 2, 0, 0, 0, 179, 615, 2, 0, 0, 0, 80, 595, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 132, 1, 249, 270, 1], "image_id": 106566, "bbox": [0, 125.33, 418, 507.09], "category_id": 1, "id": 127319}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [53, 116, 2, 41, 119, 2, 68, 142, 2, 56, 139, 2, 69, 118, 2, 66, 117, 2, 65, 159, 2, 52, 165, 2, 94, 198, 2, 64, 206, 2, 83, 239, 2, 43, 242, 2, 54, 92, 1, 47, 113, 1], "image_id": 108446, "bbox": [25.36, 86.65, 81.43, 166.86], "category_id": 1, "id": 127323}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [431, 302, 1, 377, 304, 1, 441, 335, 2, 365, 345, 1, 394, 337, 1, 410, 357, 1, 423, 412, 2, 377, 410, 1, 409, 485, 2, 372, 479, 1, 402, 544, 2, 365, 533, 1, 403, 241, 1, 403, 292, 1], "image_id": 103629, "bbox": [338.28, 182.34, 141.72, 457.66], "category_id": 1, "id": 127343}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [247, 301, 2, 132, 288, 2, 0, 0, 0, 81, 377, 2, 351, 462, 2, 58, 420, 2, 156, 465, 2, 83, 444, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 158, 1, 205, 268, 1], "image_id": 108415, "bbox": [1.44, 126.56, 363.86, 419.96], "category_id": 1, "id": 127344}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [129, 171, 2, 142, 176, 2, 0, 0, 0, 150, 217, 2, 0, 0, 0, 161, 226, 2, 92, 208, 2, 102, 213, 2, 121, 255, 2, 137, 254, 2, 113, 296, 2, 130, 303, 2, 155, 148, 1, 143, 166, 1], "image_id": 106106, "bbox": [85.55, 142.18, 94.8, 179.06], "category_id": 1, "id": 127349}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [412, 192, 2, 464, 201, 2, 385, 201, 2, 503, 213, 2, 334, 201, 2, 522, 211, 2, 440, 282, 2, 474, 279, 2, 419, 346, 2, 471, 339, 2, 459, 414, 2, 518, 401, 2, 422, 142, 1, 431, 180, 1], "image_id": 108037, "bbox": [305.28, 133.32, 240.55, 283.05], "category_id": 1, "id": 127364}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 41, 2, 0, 0, 0, 177, 36, 2, 156, 39, 2, 191, 126, 2, 132, 107, 2, 214, 200, 2, 131, 194, 2, 0, 0, 0, 0, 0, 0], "image_id": 104477, "bbox": [96.68, 1.52, 134.99, 217.37], "category_id": 1, "id": 127385}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [359, 328, 2, 312, 326, 2, 354, 364, 2, 0, 0, 0, 326, 353, 2, 0, 0, 0, 346, 400, 2, 319, 398, 2, 345, 446, 2, 321, 447, 2, 344, 513, 2, 322, 508, 2, 329, 286, 1, 329, 320, 1], "image_id": 108366, "bbox": [299.41, 280.14, 74.51, 245.97], "category_id": 1, "id": 127410}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [61, 197, 2, 117, 251, 2, 131, 219, 2, 202, 271, 2, 172, 238, 2, 216, 210, 2, 169, 249, 2, 188, 292, 2, 258, 229, 1, 281, 265, 1, 245, 306, 1, 256, 331, 1, 87, 115, 1, 90, 203, 1], "image_id": 108338, "bbox": [27.24, 100.7, 259.79, 242.27], "category_id": 1, "id": 127430}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [286, 122, 2, 228, 115, 2, 300, 170, 1, 202, 167, 1, 285, 196, 1, 188, 214, 1, 259, 215, 2, 218, 204, 2, 247, 269, 2, 195, 262, 2, 237, 341, 2, 201, 334, 2, 261, 59, 1, 256, 104, 1], "image_id": 108544, "bbox": [181.36, 52.37, 125.07, 311.84], "category_id": 1, "id": 127443}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [71, 136, 2, 0, 0, 0, 86, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 4, 1, 15, 96, 1], "image_id": 105572, "bbox": [3.82, 0.66, 85.96, 245.45], "category_id": 1, "id": 127450}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [171, 167, 2, 238, 169, 2, 164, 215, 2, 248, 215, 2, 153, 258, 2, 261, 256, 2, 179, 252, 2, 217, 252, 2, 193, 320, 2, 216, 325, 2, 184, 387, 2, 205, 399, 2, 207, 118, 1, 205, 152, 1], "image_id": 104628, "bbox": [146.7, 113.26, 124.04, 303.1], "category_id": 1, "id": 127451}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [4, 93, 2, 14, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 175, 2, 8, 180, 2, 14, 249, 2, 0, 0, 0, 33, 318, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103250, "bbox": [1.08, 52.67, 42.4, 287.74], "category_id": 1, "id": 127458}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [23, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 125, 1], "image_id": 104138, "bbox": [0, 79.61, 34.45, 87.45], "category_id": 1, "id": 127467}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 331, 2, 344, 329, 2, 311, 351, 2, 355, 347, 2, 321, 342, 2, 353, 360, 2, 325, 358, 2, 344, 358, 2, 308, 379, 2, 357, 376, 2, 300, 403, 2, 362, 405, 2, 329, 309, 1, 330, 321, 1], "image_id": 103075, "bbox": [287.89, 309.96, 92.13, 106.52], "category_id": 1, "id": 127468}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [444, 162, 2, 419, 163, 2, 446, 187, 2, 409, 174, 2, 429, 184, 1, 405, 181, 1, 436, 213, 1, 420, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 132, 1, 431, 158, 1], "image_id": 107809, "bbox": [406.95, 130.11, 53.32, 61.8], "category_id": 1, "id": 127513}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106031, "bbox": [346.7, 117.98, 16.71, 25.89], "category_id": 1, "id": 127518}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [242, 197, 2, 213, 193, 1, 236, 226, 2, 0, 0, 0, 204, 216, 1, 0, 0, 0, 225, 235, 1, 208, 231, 1, 205, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 167, 1, 226, 192, 1], "image_id": 104647, "bbox": [207.26, 171.13, 45.48, 57.27], "category_id": 1, "id": 127525}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [587, 273, 2, 418, 275, 2, 597, 417, 2, 0, 0, 0, 420, 364, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 90, 1, 485, 233, 1], "image_id": 103549, "bbox": [348.46, 73.78, 291.54, 347.5], "category_id": 1, "id": 127562}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 70, 1, 92, 77, 1], "image_id": 104780, "bbox": [85.27, 70.15, 15.33, 42.96], "category_id": 1, "id": 127567}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103188, "bbox": [584.3, 284.05, 55.7, 60.21], "category_id": 1, "id": 127574}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 402, 170, 1, 379, 131, 1, 438, 261, 1, 472, 147, 1, 483, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 364, 109, 1], "image_id": 105737, "bbox": [345.44, 80.31, 196.71, 333.92], "category_id": 1, "id": 127581}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [219, 225, 2, 234, 225, 2, 208, 228, 2, 246, 236, 2, 0, 0, 0, 249, 236, 2, 231, 248, 2, 238, 240, 2, 244, 249, 2, 262, 242, 2, 250, 251, 2, 259, 250, 2, 231, 212, 1, 228, 221, 1], "image_id": 103861, "bbox": [206.16, 210.62, 64.24, 47.95], "category_id": 1, "id": 127604}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [510, 349, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 584, 187, 1, 591, 297, 1], "image_id": 105692, "bbox": [517.98, 151.91, 122.02, 328.09], "category_id": 1, "id": 127621}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 329, 224, 2, 0, 0, 0, 319, 261, 2, 354, 267, 1, 350, 288, 2, 357, 287, 2, 342, 286, 2, 350, 360, 2, 340, 361, 2, 347, 421, 2, 320, 421, 2, 346, 174, 1, 342, 210, 1], "image_id": 104729, "bbox": [310.65, 169.71, 66.16, 261.75], "category_id": 1, "id": 127626}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 285, 2, 306, 274, 2, 337, 315, 2, 258, 305, 2, 265, 313, 2, 222, 313, 2, 332, 413, 1, 283, 392, 1, 291, 428, 1, 230, 368, 1, 242, 472, 1, 240, 423, 1, 332, 181, 1, 341, 275, 1], "image_id": 106030, "bbox": [197.39, 153.17, 195.24, 238.38], "category_id": 1, "id": 127628}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [446, 112, 2, 473, 114, 2, 448, 164, 1, 489, 164, 2, 418, 166, 1, 463, 166, 2, 455, 178, 2, 476, 178, 2, 459, 240, 2, 473, 240, 2, 466, 289, 1, 475, 284, 1, 452, 72, 1, 456, 100, 1], "image_id": 107231, "bbox": [435.22, 69.55, 58.5, 188.74], "category_id": 1, "id": 127631}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [206, 192, 2, 187, 189, 2, 199, 211, 1, 0, 0, 0, 188, 205, 1, 0, 0, 0, 194, 218, 1, 181, 214, 2, 182, 218, 2, 160, 208, 2, 179, 242, 1, 163, 240, 2, 189, 169, 1, 196, 185, 1], "image_id": 104647, "bbox": [150.97, 164.22, 61.77, 84.12], "category_id": 1, "id": 127645}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [395, 89, 2, 387, 83, 2, 383, 103, 1, 0, 0, 0, 369, 107, 2, 0, 0, 0, 378, 119, 1, 381, 121, 1, 360, 122, 2, 362, 116, 2, 374, 139, 1, 366, 145, 1, 391, 65, 1, 391, 82, 1], "image_id": 107568, "bbox": [353.93, 64.76, 49.32, 58.69], "category_id": 1, "id": 127649}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [543, 64, 2, 576, 66, 2, 542, 115, 2, 581, 128, 2, 0, 0, 0, 597, 166, 1, 543, 151, 2, 567, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 10, 1, 565, 49, 1], "image_id": 105692, "bbox": [530.7, 5.39, 75.5, 182.3], "category_id": 1, "id": 127651}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104780, "bbox": [236.4, 51.49, 21.81, 31.32], "category_id": 1, "id": 127663}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [454, 210, 1, 333, 202, 2, 458, 320, 1, 279, 258, 2, 349, 350, 2, 230, 306, 2, 352, 369, 1, 299, 327, 2, 122, 326, 2, 115, 449, 2, 0, 0, 0, 0, 0, 0, 408, 44, 1, 389, 182, 1], "image_id": 103409, "bbox": [76.58, 23.73, 389.4, 450.88], "category_id": 1, "id": 127721}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [187, 207, 2, 117, 217, 2, 203, 263, 2, 114, 296, 1, 240, 269, 2, 193, 291, 2, 196, 311, 1, 148, 321, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 148, 1, 155, 198, 1], "image_id": 105325, "bbox": [90.43, 140.96, 155.03, 162.56], "category_id": 1, "id": 127722}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [126, 270, 2, 80, 271, 2, 142, 305, 2, 76, 311, 2, 127, 281, 2, 107, 288, 2, 124, 369, 2, 92, 367, 2, 121, 426, 2, 92, 425, 2, 114, 495, 2, 97, 471, 2, 112, 206, 1, 104, 253, 1], "image_id": 102903, "bbox": [61.98, 203.96, 98.16, 302.71], "category_id": 1, "id": 127727}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [81, 190, 2, 37, 191, 2, 110, 203, 2, 0, 0, 0, 134, 210, 2, 0, 0, 0, 43, 223, 2, 19, 222, 1, 77, 239, 2, 51, 236, 2, 52, 277, 2, 27, 274, 1, 69, 150, 1, 61, 184, 1], "image_id": 104103, "bbox": [32.91, 144.53, 127.13, 147.36], "category_id": 1, "id": 127730}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 133, 1, 409, 152, 1], "image_id": 107809, "bbox": [393.65, 130.19, 22.68, 42.31], "category_id": 1, "id": 127734}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [11, 237, 2, 0, 0, 0, 21, 264, 2, 0, 0, 0, 15, 263, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 323, 2, 0, 0, 0, 0, 0, 0, 0, 203, 1, -1, 228, 1], "image_id": 104160, "bbox": [0, 201.39, 24.52, 135.07], "category_id": 1, "id": 127751}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [300, 351, 2, 325, 351, 1, 288, 366, 2, 0, 0, 0, 290, 370, 2, 0, 0, 0, 303, 373, 1, 322, 374, 1, 288, 376, 2, 332, 377, 1, 272, 399, 2, 340, 400, 2, 0, 0, 0, 311, 348, 1], "image_id": 103075, "bbox": [259.88, 346.42, 89.94, 59.76], "category_id": 1, "id": 127752}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [264, 207, 2, 172, 201, 2, 317, 255, 2, 133, 250, 2, 360, 295, 2, 83, 305, 2, 225, 337, 2, 175, 324, 2, 174, 429, 2, 127, 429, 2, 133, 503, 1, 176, 407, 2, 213, 135, 1, 213, 191, 1], "image_id": 106255, "bbox": [59.85, 124.91, 316.17, 373.42], "category_id": 1, "id": 127756}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 222, 222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 174, 1, 191, 202, 1], "image_id": 105904, "bbox": [170.07, 168.57, 61.7, 114.31], "category_id": 1, "id": 127761}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [366, 236, 2, 349, 193, 2, 375, 289, 2, 346, 163, 2, 371, 329, 2, 351, 146, 2, 433, 230, 2, 442, 205, 2, 378, 264, 2, 424, 242, 2, 389, 318, 2, 448, 304, 2, 304, 239, 1, 337, 229, 1], "image_id": 103594, "bbox": [300.6, 123.15, 164.89, 208.85], "category_id": 1, "id": 127765}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [293, 349, 2, 258, 354, 2, 329, 371, 2, 253, 379, 2, 323, 396, 2, 252, 402, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 360, 1, 274, 351, 1], "image_id": 105597, "bbox": [245.41, 339.39, 92.52, 142.87], "category_id": 1, "id": 127771}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 515, 156, 1, 0, 0, 0, 523, 174, 1, 0, 0, 0, 543, 163, 2, 521, 189, 1, 519, 190, 1, 546, 197, 2, 544, 184, 2, 537, 234, 2, 554, 220, 2, 505, 125, 1, 506, 149, 1], "image_id": 107809, "bbox": [509.96, 126.53, 57.95, 115.35], "category_id": 1, "id": 127795}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 113, 1, 45, 159, 1], "image_id": 104157, "bbox": [11.53, 106.96, 58.39, 113.47], "category_id": 1, "id": 127805}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [281, 282, 2, 177, 318, 2, 318, 324, 2, 122, 446, 2, 350, 316, 2, 243, 391, 2, 279, 471, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 152, 1, 221, 261, 1], "image_id": 106741, "bbox": [89.73, 137.3, 305.95, 337.29], "category_id": 1, "id": 127816}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [219, 84, 2, 165, 89, 2, 251, 114, 1, 143, 132, 2, 234, 80, 2, 161, 151, 2, 224, 144, 1, 192, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 44, 1, 196, 80, 1], "image_id": 108338, "bbox": [136.59, 34.02, 116.08, 191.11], "category_id": 1, "id": 127833}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [89, 186, 2, 152, 183, 1, 71, 241, 2, 0, 0, 0, 58, 279, 2, 0, 0, 0, 107, 282, 1, 157, 276, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 114, 1, 114, 159, 1], "image_id": 104729, "bbox": [47.14, 100.51, 97.5, 220.72], "category_id": 1, "id": 127841}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 104, 2, 329, 92, 2, 351, 201, 2, 325, 185, 2, 288, 252, 1, 322, 257, 2, 0, 0, 0, 0, 0, 0], "image_id": 102712, "bbox": [292.97, 20.61, 145.01, 312.31], "category_id": 1, "id": 127842}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 400, 1, 19, 407, 1], "image_id": 104045, "bbox": [15.52, 399.05, 13.82, 15.59], "category_id": 1, "id": 127853}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 124, 1, 625, 145, 1], "image_id": 107809, "bbox": [607.15, 123.31, 32.85, 40], "category_id": 1, "id": 127870}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [516, 23, 2, 494, 23, 2, 523, 43, 2, 490, 45, 2, 513, 50, 2, 507, 52, 2, 515, 50, 2, 496, 50, 2, 520, 55, 2, 494, 54, 2, 520, 85, 2, 492, 85, 2, 504, 1, 1, 504, 18, 1], "image_id": 102572, "bbox": [485.42, 1.9, 40.09, 92.1], "category_id": 1, "id": 127874}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [586, 52, 2, 547, 53, 2, 595, 70, 2, 541, 80, 1, 576, 46, 2, 0, 0, 0, 580, 113, 2, 559, 114, 2, 577, 149, 2, 561, 151, 2, 567, 191, 1, 570, 196, 1, 567, 11, 1, 565, 40, 1], "image_id": 104733, "bbox": [540.48, 9.13, 66.82, 198.8], "category_id": 1, "id": 127878}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 72, 1, 116, 81, 1], "image_id": 103250, "bbox": [107.17, 72.02, 17.69, 16.37], "category_id": 1, "id": 127887}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [88, 247, 2, 8, 268, 2, 106, 318, 2, 18, 382, 2, 146, 309, 2, 111, 410, 2, 113, 395, 2, 54, 411, 2, 186, 418, 1, 174, 448, 1, 0, 0, 0, 0, 0, 0, 60, 174, 1, 49, 249, 1], "image_id": 105325, "bbox": [3.22, 153.68, 195.5, 277.13], "category_id": 1, "id": 127891}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [304, 252, 1, 242, 257, 2, 0, 0, 0, 226, 309, 2, 0, 0, 0, 218, 355, 2, 310, 351, 1, 255, 357, 2, 0, 0, 0, 276, 423, 1, 0, 0, 0, 294, 502, 2, 277, 191, 1, 275, 238, 1], "image_id": 102569, "bbox": [204.77, 195.8, 109.86, 315.84], "category_id": 1, "id": 127907}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [185, 126, 2, 239, 162, 2, 184, 103, 2, 242, 130, 2, 202, 75, 2, 250, 90, 1, 173, 232, 2, 211, 237, 2, 155, 320, 2, 211, 323, 2, 0, 0, 0, 226, 409, 2, 236, 111, 1, 213, 139, 1], "image_id": 103441, "bbox": [126.66, 54.76, 130.5, 367.51], "category_id": 1, "id": 127913}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [141, 129, 2, 78, 129, 2, 161, 189, 2, 57, 178, 2, 150, 172, 2, 70, 200, 2, 122, 225, 1, 80, 223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 76, 1, 110, 121, 1], "image_id": 107342, "bbox": [48.44, 67.89, 116.25, 217.43], "category_id": 1, "id": 127938}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [350, 64, 2, 317, 63, 2, 333, 115, 2, 318, 118, 2, 0, 0, 0, 371, 119, 2, 308, 121, 2, 280, 123, 1, 355, 141, 1, 334, 148, 1, 0, 0, 0, 0, 0, 0, 362, 20, 1, 340, 57, 1], "image_id": 104954, "bbox": [278.64, 10.31, 101.81, 135.5], "category_id": 1, "id": 127947}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [480, 242, 2, 432, 236, 2, 372, 413, 2, 0, 0, 0, 353, 280, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 46, 1, 455, 203, 1], "image_id": 108061, "bbox": [345.44, 23.99, 200.54, 397.25], "category_id": 1, "id": 127955}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 61, 1, 191, 80, 1], "image_id": 104727, "bbox": [181.88, 62.14, 81.84, 78.34], "category_id": 1, "id": 127956}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [211, 217, 2, 207, 216, 2, 214, 239, 2, 0, 0, 0, 200, 237, 1, 0, 0, 0, 210, 247, 2, 205, 245, 2, 177, 250, 2, 181, 249, 2, 194, 271, 2, 185, 274, 2, 196, 202, 1, 207, 213, 1], "image_id": 105177, "bbox": [173, 200.46, 51.18, 77.84], "category_id": 1, "id": 127969}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 264, 2, 377, 262, 2, 498, 292, 2, 314, 292, 2, 487, 263, 2, 339, 261, 2, 421, 369, 1, 377, 365, 1, 418, 456, 1, 373, 456, 2, 413, 535, 2, 366, 532, 2, 413, 242, 1, 408, 258, 1], "image_id": 105116, "bbox": [306.9, 220.97, 205.22, 349.12], "category_id": 1, "id": 127983}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [259, 169, 1, 310, 154, 2, 195, 204, 1, 0, 0, 0, 168, 158, 2, 207, 146, 2, 284, 247, 2, 313, 237, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 85, 1, 267, 139, 1], "image_id": 108272, "bbox": [151.3, 74.83, 168.09, 205.78], "category_id": 1, "id": 127993}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [421, 184, 2, 362, 177, 2, 402, 243, 2, 336, 217, 2, 341, 231, 2, 379, 231, 2, 430, 278, 1, 384, 267, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 127, 1, 392, 178, 1], "image_id": 107466, "bbox": [326.02, 123.1, 129.83, 156.76], "category_id": 1, "id": 128008}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [493, 168, 2, 561, 170, 2, 494, 220, 2, 568, 220, 2, 480, 260, 2, 565, 262, 2, 513, 270, 2, 549, 267, 2, 493, 332, 2, 537, 332, 2, 482, 415, 2, 532, 416, 2, 512, 118, 1, 522, 151, 1], "image_id": 104628, "bbox": [446.01, 113.11, 131.11, 316.84], "category_id": 1, "id": 128018}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [302, 230, 1, 216, 229, 1, 330, 310, 2, 193, 324, 2, 354, 391, 2, 251, 339, 2, 319, 425, 2, 244, 426, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 120, 1, 262, 203, 1], "image_id": 104888, "bbox": [183, 106.75, 180, 331], "category_id": 1, "id": 128055}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [141, 86, 2, 119, 89, 2, 158, 102, 1, 116, 110, 1, 153, 112, 2, 136, 113, 2, 143, 115, 2, 125, 117, 2, 157, 135, 2, 135, 139, 2, 156, 171, 2, 136, 173, 2, 127, 63, 1, 129, 82, 1], "image_id": 104103, "bbox": [115.62, 59.37, 49.81, 119.18], "category_id": 1, "id": 128057}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [441, 243, 2, 417, 244, 2, 449, 281, 2, 413, 288, 1, 464, 293, 1, 445, 294, 2, 403, 288, 1, 379, 291, 1, 456, 301, 1, 430, 311, 1, 0, 0, 0, 0, 0, 0, 453, 217, 1, 429, 240, 1], "image_id": 103203, "bbox": [369.69, 208.87, 97.21, 96.78], "category_id": 1, "id": 128063}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 363, 297, 2, 0, 0, 0, 362, 325, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 460, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105976, "bbox": [349.57, 267.27, 29.43, 234.96], "category_id": 1, "id": 128067}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [236, 308, 1, 64, 298, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 509, 1, 96, 506, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 154, 1, 164, 278, 1], "image_id": 102899, "bbox": [12.94, 109.4, 238.75, 507.68], "category_id": 1, "id": 128073}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [268, 166, 2, 153, 168, 2, 282, 259, 2, 136, 260, 1, 238, 337, 2, 167, 347, 2, 247, 359, 2, 164, 358, 2, 227, 471, 2, 175, 470, 2, 0, 0, 0, 0, 0, 0, 208, 43, 1, 208, 136, 1], "image_id": 105596, "bbox": [137.12, 39.18, 163.23, 441.82], "category_id": 1, "id": 128077}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [62, 264, 2, 0, 0, 0, 65, 286, 1, 0, 0, 0, 60, 295, 2, 0, 0, 0, 49, 322, 2, 0, 0, 0, 38, 359, 2, 0, 0, 0, 40, 392, 2, 47, 375, 2, 48, 227, 1, 49, 255, 1], "image_id": 102903, "bbox": [35.96, 222.48, 28.76, 186.97], "category_id": 1, "id": 128086}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [307, 127, 2, 288, 125, 2, 302, 161, 2, 301, 147, 2, 308, 195, 1, 328, 159, 2, 285, 207, 2, 272, 208, 2, 263, 260, 2, 290, 277, 2, 230, 319, 1, 289, 357, 2, 316, 70, 1, 304, 115, 1], "image_id": 108036, "bbox": [234.56, 62.78, 123.01, 316.66], "category_id": 1, "id": 128098}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [187, 174, 2, 195, 175, 2, 0, 0, 0, 198, 205, 2, 0, 0, 0, 199, 231, 2, 184, 231, 2, 191, 232, 2, 201, 281, 2, 190, 274, 2, 211, 316, 1, 181, 321, 2, 198, 142, 1, 197, 162, 1], "image_id": 104514, "bbox": [164.23, 139.47, 73.68, 188.57], "category_id": 1, "id": 128112}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [347, 101, 2, 268, 111, 2, 354, 184, 1, 282, 190, 2, 341, 217, 1, 320, 234, 2, 333, 214, 1, 290, 221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 25, 1, 311, 91, 1], "image_id": 105234, "bbox": [242.89, 9.74, 123.37, 290.98], "category_id": 1, "id": 128114}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [430, 321, 1, 292, 279, 2, 0, 0, 0, 246, 412, 1, 0, 0, 0, 190, 376, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 124, 1, 353, 274, 1], "image_id": 106571, "bbox": [135.59, 105.54, 306.76, 313.49], "category_id": 1, "id": 128116}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [164, 212, 2, 151, 212, 1, 168, 223, 2, 147, 223, 1, 169, 235, 2, 145, 234, 1, 162, 235, 2, 152, 234, 2, 165, 250, 2, 152, 248, 2, 168, 263, 2, 149, 263, 2, 160, 199, 1, 160, 209, 1], "image_id": 104521, "bbox": [140.45, 194.03, 34.75, 88.32], "category_id": 1, "id": 128118}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [172, 21, 1, 203, 21, 2, 0, 0, 0, 214, 50, 2, 0, 0, 0, 208, 68, 2, 181, 77, 1, 202, 77, 2, 0, 0, 0, 204, 104, 2, 0, 0, 0, 202, 135, 2, 0, 0, 0, 185, 10, 1], "image_id": 103670, "bbox": [177, 0, 41.62, 152.75], "category_id": 1, "id": 128119}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [243, 387, 2, 232, 390, 2, 224, 423, 2, 0, 0, 0, 212, 381, 2, 0, 0, 0, 236, 451, 2, 227, 451, 2, 232, 509, 2, 220, 509, 2, 0, 0, 0, 0, 0, 0, 228, 348, 1, 234, 379, 1], "image_id": 106911, "bbox": [202.53, 342.66, 65.95, 173.1], "category_id": 1, "id": 128132}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [304, 242, 2, 350, 226, 2, 289, 318, 2, 345, 290, 2, 246, 292, 2, 271, 274, 2, 307, 386, 2, 353, 374, 2, 317, 477, 2, 357, 470, 2, 0, 0, 0, 0, 0, 0, 293, 152, 1, 314, 210, 1], "image_id": 107592, "bbox": [224.36, 143.73, 154.25, 336.27], "category_id": 1, "id": 128133}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [548, 221, 2, 504, 223, 2, 569, 256, 2, 489, 251, 2, 544, 257, 2, 509, 250, 2, 542, 274, 1, 511, 274, 1, 544, 317, 1, 490, 264, 1, 0, 0, 0, 500, 304, 1, 526, 172, 1, 527, 208, 1], "image_id": 107231, "bbox": [485.24, 166.9, 89.31, 101.14], "category_id": 1, "id": 128143}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [175, 296, 2, 189, 290, 2, 0, 0, 0, 198, 297, 2, 0, 0, 0, 217, 275, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 258, 1, 190, 283, 1], "image_id": 105949, "bbox": [167.87, 254.01, 69.29, 49.96], "category_id": 1, "id": 128153}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [249, 128, 2, 178, 129, 2, 251, 170, 1, 161, 153, 2, 193, 172, 2, 159, 168, 2, 266, 221, 2, 210, 230, 2, 0, 0, 0, 170, 279, 2, 249, 259, 1, 0, 0, 0, 203, 70, 1, 215, 117, 1], "image_id": 103193, "bbox": [145.85, 48.94, 129.54, 276.35], "category_id": 1, "id": 128155}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [180, 338, 2, 154, 335, 2, 0, 0, 0, 148, 357, 2, 0, 0, 0, 149, 375, 2, 169, 377, 2, 156, 376, 2, 166, 406, 2, 153, 405, 2, 165, 434, 2, 150, 433, 2, 174, 313, 1, 168, 331, 1], "image_id": 107983, "bbox": [144.67, 312.52, 36.78, 128.82], "category_id": 1, "id": 128166}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [332, 181, 2, 336, 189, 2, 0, 0, 0, 358, 242, 2, 0, 0, 0, 386, 279, 2, 321, 278, 2, 327, 287, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 145, 1, 350, 174, 1], "image_id": 103705, "bbox": [287.13, 135.56, 121.34, 155.57], "category_id": 1, "id": 128178}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [278, 134, 2, 175, 143, 2, 306, 245, 2, 146, 230, 1, 232, 266, 2, 131, 268, 2, 257, 330, 2, 177, 328, 2, 255, 465, 2, 179, 455, 2, 0, 0, 0, 0, 0, 0, 211, 23, 1, 221, 120, 1], "image_id": 105741, "bbox": [93.84, 15.14, 238.99, 484.86], "category_id": 1, "id": 128192}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [65, 285, 2, 197, 329, 2, 0, 0, 0, 342, 403, 2, 295, 269, 2, 322, 263, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 112, 1, 145, 258, 1], "image_id": 108061, "bbox": [38.38, 71.97, 337.76, 348.31], "category_id": 1, "id": 128198}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [596, 134, 2, 568, 132, 2, 597, 160, 2, 555, 160, 2, 579, 149, 2, 549, 151, 2, 585, 176, 1, 564, 175, 1, 548, 169, 2, 526, 165, 2, 541, 212, 1, 515, 211, 2, 581, 101, 1, 582, 126, 1], "image_id": 108269, "bbox": [501.01, 100.88, 105.2, 113.88], "category_id": 1, "id": 128215}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [407, 182, 2, 578, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 403, 2, 566, 398, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 60, 1, 476, 141, 1], "image_id": 107162, "bbox": [362.84, 42.52, 251.79, 382.48], "category_id": 1, "id": 128224}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [87, 247, 2, 43, 238, 2, 128, 272, 2, 15, 267, 2, 159, 260, 2, 52, 269, 2, 45, 298, 2, 11, 295, 1, 104, 287, 2, 45, 285, 2, 99, 341, 2, 3, 344, 2, 77, 197, 1, 70, 233, 1], "image_id": 104726, "bbox": [1.65, 184.47, 191.43, 179.3], "category_id": 1, "id": 128230}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [212, 163, 2, 221, 161, 2, 208, 174, 1, 233, 167, 2, 0, 0, 0, 240, 162, 2, 217, 190, 2, 225, 189, 2, 221, 204, 2, 0, 0, 0, 220, 226, 2, 0, 0, 0, 217, 146, 1, 216, 156, 1], "image_id": 105615, "bbox": [209.44, 145.73, 35.5, 84.9], "category_id": 1, "id": 128239}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [560, 293, 1, 492, 297, 2, 0, 0, 0, 487, 311, 2, 0, 0, 0, 535, 284, 1, 554, 389, 1, 496, 393, 1, 581, 441, 1, 470, 452, 1, 0, 0, 0, 0, 0, 0, 522, 199, 1, 527, 296, 1], "image_id": 104459, "bbox": [454.67, 197.57, 109.51, 235.01], "category_id": 1, "id": 128244}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [336, 158, 2, 284, 156, 1, 346, 185, 1, 269, 182, 1, 347, 207, 2, 288, 207, 1, 328, 224, 2, 293, 224, 1, 344, 274, 1, 285, 279, 2, 356, 330, 1, 277, 327, 1, 317, 108, 1, 313, 145, 1], "image_id": 106539, "bbox": [279.73, 104.53, 75.07, 178.93], "category_id": 1, "id": 128250}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 170, 1, 363, 181, 1], "image_id": 103861, "bbox": [353.11, 169.72, 24.54, 33.74], "category_id": 1, "id": 128253}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [305, 233, 2, 290, 234, 2, 309, 245, 2, 288, 248, 2, 301, 251, 2, 290, 256, 2, 300, 254, 2, 293, 254, 2, 302, 271, 2, 290, 271, 2, 300, 287, 1, 290, 287, 1, 301, 211, 1, 298, 230, 1], "image_id": 106508, "bbox": [282.75, 209.22, 28.66, 80.52], "category_id": 1, "id": 128272}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 196, 172, 2, 0, 0, 0, 220, 187, 2, 0, 0, 0, 252, 199, 2, 0, 0, 0, 197, 250, 1, 0, 0, 0, 192, 294, 2, 184, 328, 1, 193, 337, 2, 215, 129, 1, 198, 155, 1], "image_id": 103937, "bbox": [181.88, 121.61, 93.64, 242.16], "category_id": 1, "id": 128287}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [507, 166, 2, 468, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, 119, 1, 490, 152, 1], "image_id": 106572, "bbox": [472.59, 118.19, 51.42, 65.22], "category_id": 1, "id": 128297}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [260, 79, 2, 201, 74, 1, 270, 113, 2, 0, 0, 0, 278, 149, 2, 0, 0, 0, 247, 146, 2, 206, 148, 1, 255, 212, 1, 206, 210, 1, 0, 0, 0, 0, 0, 0, 254, 8, 1, 233, 59, 1], "image_id": 104670, "bbox": [203.68, 2.27, 92.75, 219.24], "category_id": 1, "id": 128323}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [296, 155, 2, 121, 174, 2, 368, 251, 2, 69, 270, 2, 355, 284, 2, 127, 350, 2, 278, 404, 1, 168, 411, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 78, 1, 219, 142, 1], "image_id": 104452, "bbox": [49.9, 41.26, 341.6, 379.02], "category_id": 1, "id": 128332}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [416, 208, 2, 338, 210, 2, 459, 236, 2, 291, 224, 2, 437, 228, 2, 325, 203, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 168, 1, 373, 199, 1], "image_id": 105116, "bbox": [274.8, 143.1, 192.76, 107.31], "category_id": 1, "id": 128334}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [112, 49, 2, 87, 51, 2, 124, 75, 2, 94, 71, 2, 0, 0, 0, 91, 50, 2, 108, 92, 2, 85, 94, 2, 122, 94, 2, 99, 91, 2, 124, 138, 2, 94, 139, 1, 96, 21, 1, 97, 46, 1], "image_id": 104726, "bbox": [72.93, 15.03, 58.89, 125.16], "category_id": 1, "id": 128336}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 199, 1, 240, 203, 1], "image_id": 103971, "bbox": [234.15, 198.92, 16.67, 38.79], "category_id": 1, "id": 128343}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [451, 272, 2, 276, 263, 2, 463, 392, 1, 252, 351, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 112, 1, 352, 245, 1], "image_id": 103057, "bbox": [258.26, 92.08, 241.32, 296.36], "category_id": 1, "id": 128368}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [306, 169, 2, 266, 173, 2, 0, 0, 0, 265, 215, 2, 0, 0, 0, 296, 196, 2, 277, 239, 2, 252, 242, 2, 284, 273, 2, 225, 280, 2, 264, 310, 2, 194, 321, 2, 301, 140, 1, 287, 166, 1], "image_id": 104057, "bbox": [171.76, 128.58, 148.73, 215.9], "category_id": 1, "id": 128384}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [170, 221, 1, 89, 198, 1, 181, 316, 1, 99, 336, 2, 204, 422, 2, 193, 425, 2, 165, 406, 2, 106, 406, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 69, 1, 120, 177, 1], "image_id": 105986, "bbox": [0, 31.42, 236.93, 598.11], "category_id": 1, "id": 128399}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [194, 340, 2, 227, 341, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 418, 2, 226, 420, 2, 211, 474, 2, 234, 469, 2, 213, 522, 2, 224, 517, 2, 207, 301, 1, 211, 332, 1], "image_id": 105949, "bbox": [189.15, 297.96, 50.32, 236.9], "category_id": 1, "id": 128403}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 342, 110, 2, 0, 0, 0, 292, 181, 2, 0, 0, 0, 316, 220, 2, 0, 0, 0, 329, 247, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104670, "bbox": [280.11, 55.89, 71.89, 228.82], "category_id": 1, "id": 128405}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [400, 96, 2, 420, 101, 2, 384, 104, 2, 429, 116, 2, 377, 111, 1, 0, 0, 0, 396, 128, 2, 411, 133, 2, 386, 141, 1, 404, 151, 2, 408, 149, 2, 402, 170, 1, 414, 88, 1, 411, 93, 1], "image_id": 103594, "bbox": [373.4, 83.89, 61.69, 87.21], "category_id": 1, "id": 128408}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105311, "bbox": [96.08, 88.68, 37.19, 58.68], "category_id": 1, "id": 128414}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 189, 1, 13, 197, 1], "image_id": 103971, "bbox": [6.28, 191, 21.31, 62.73], "category_id": 1, "id": 128424}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [246, 252, 2, 162, 256, 2, 0, 0, 0, 102, 376, 2, 0, 0, 0, 0, 0, 0, 208, 430, 2, 140, 443, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 145, 1, 217, 235, 1], "image_id": 104086, "bbox": [50.93, 125.96, 257.87, 349.98], "category_id": 1, "id": 128437}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [68, 83, 1, 77, 83, 2, 0, 0, 0, 77, 101, 2, 0, 0, 0, 86, 107, 2, 65, 111, 1, 72, 112, 2, 0, 0, 0, 75, 132, 2, 0, 0, 0, 0, 0, 0, 83, 71, 1, 76, 79, 1], "image_id": 103250, "bbox": [64.47, 69.24, 26.37, 67.24], "category_id": 1, "id": 128462}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [189, 283, 2, 99, 246, 2, 180, 374, 2, 31, 318, 2, 0, 0, 0, 0, 0, 0, 126, 390, 1, 69, 371, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 162, 1, 146, 244, 1], "image_id": 105904, "bbox": [0.99, 155.37, 210.67, 223.18], "category_id": 1, "id": 128473}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [471, 158, 2, 440, 166, 2, 497, 220, 2, 422, 225, 2, 447, 257, 2, 400, 250, 2, 473, 279, 2, 446, 273, 2, 493, 359, 2, 452, 355, 2, 519, 445, 2, 455, 420, 2, 438, 98, 1, 453, 143, 1], "image_id": 103937, "bbox": [378.83, 92.56, 158.21, 374.53], "category_id": 1, "id": 128492}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [450, 269, 2, 340, 258, 2, 466, 399, 2, 0, 0, 0, 363, 365, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 107, 1, 398, 224, 1], "image_id": 106285, "bbox": [290.88, 93.64, 202.69, 340.36], "category_id": 1, "id": 128510}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [50, 226, 2, 0, 0, 0, 80, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 149, 1, 6, 220, 1], "image_id": 106444, "bbox": [0, 142.92, 99.89, 150.51], "category_id": 1, "id": 128517}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [32, 254, 2, 109, 260, 2, 36, 336, 2, 126, 346, 2, 0, 0, 0, 161, 421, 2, 52, 419, 2, 114, 411, 2, 48, 518, 2, 142, 530, 2, 0, 0, 0, 140, 639, 2, 99, 161, 1, 79, 228, 1], "image_id": 103912, "bbox": [0, 151.42, 190.46, 488.58], "category_id": 1, "id": 128528}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [484, 267, 2, 436, 256, 2, 457, 310, 2, 420, 304, 2, 459, 272, 2, 469, 307, 2, 458, 321, 2, 434, 320, 2, 462, 320, 2, 420, 320, 2, 465, 399, 2, 447, 394, 2, 471, 221, 1, 461, 257, 1], "image_id": 105387, "bbox": [407.73, 221.87, 88.45, 206.03], "category_id": 1, "id": 128533}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [333, 145, 2, 241, 148, 2, 339, 212, 2, 231, 201, 2, 317, 258, 2, 264, 270, 2, 307, 284, 1, 260, 285, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 72, 1, 284, 132, 1], "image_id": 105264, "bbox": [216.54, 56.51, 133.1, 265.14], "category_id": 1, "id": 128566}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 115, 199, 2, 0, 0, 0, 90, 278, 2, 0, 0, 0, 125, 349, 2, 0, 0, 0, 129, 322, 2, 0, 0, 0, 109, 447, 2, 0, 0, 0, 0, 0, 0, 170, 97, 1, 173, 161, 1], "image_id": 105741, "bbox": [65.16, 94.83, 130.68, 405.17], "category_id": 1, "id": 128572}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [441, 140, 2, 420, 160, 2, 465, 144, 2, 419, 194, 1, 475, 146, 2, 422, 220, 2, 433, 163, 2, 414, 166, 2, 439, 196, 2, 414, 198, 2, 437, 234, 2, 411, 237, 2, 0, 0, 0, 425, 154, 1], "image_id": 104325, "bbox": [398.03, 127.6, 82.12, 122.76], "category_id": 1, "id": 128596}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 176, 224, 1, 0, 0, 0, 196, 158, 1, 0, 0, 0, 201, 103, 1, 157, 352, 1, 193, 351, 1, 144, 459, 1, 203, 448, 2, 121, 535, 1, 219, 541, 2, 138, 192, 1, 129, 240, 1], "image_id": 103160, "bbox": [115.92, 170.64, 131.15, 399.43], "category_id": 1, "id": 128675}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [604, 184, 2, 626, 186, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 605, 228, 2, 627, 226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 155, 1, 620, 175, 1], "image_id": 104325, "bbox": [582.3, 151.7, 57.7, 82.59], "category_id": 1, "id": 128693}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [174, 145, 2, 136, 146, 2, 179, 188, 2, 128, 185, 1, 192, 227, 2, 160, 152, 2, 175, 244, 2, 150, 246, 2, 172, 300, 2, 148, 302, 1, 172, 367, 1, 144, 368, 1, 170, 103, 1, 157, 138, 1], "image_id": 103937, "bbox": [118.65, 99.24, 88.45, 280.45], "category_id": 1, "id": 128696}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [466, 259, 2, 436, 257, 2, 455, 293, 1, 0, 0, 0, 418, 287, 2, 0, 0, 0, 444, 308, 1, 421, 306, 1, 372, 323, 2, 380, 297, 2, 358, 379, 1, 343, 367, 1, 447, 208, 1, 452, 247, 1], "image_id": 107111, "bbox": [356.12, 199.12, 121.57, 183.8], "category_id": 1, "id": 128708}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [192, 104, 2, 172, 102, 2, 196, 122, 2, 169, 118, 2, 186, 121, 2, 0, 0, 0, 186, 131, 2, 173, 131, 2, 186, 161, 2, 177, 162, 2, 185, 187, 2, 189, 176, 2, 184, 76, 1, 184, 96, 1], "image_id": 107513, "bbox": [166.96, 70.61, 31.67, 127.04], "category_id": 1, "id": 128721}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [160, 23, 2, 174, 19, 2, 159, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 83, 1, 179, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 11, 1], "image_id": 103670, "bbox": [143.3, 0, 47.28, 113.95], "category_id": 1, "id": 128729}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [133, 87, 2, 101, 79, 2, 134, 118, 2, 80, 102, 1, 100, 117, 2, 0, 0, 0, 119, 168, 2, 94, 162, 2, 118, 217, 2, 92, 214, 2, 125, 273, 2, 96, 271, 2, 124, 36, 1, 122, 72, 1], "image_id": 104733, "bbox": [72.72, 31.69, 75.88, 265.59], "category_id": 1, "id": 128743}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 401, 1, 614, 409, 1], "image_id": 106911, "bbox": [609.43, 395.69, 21.17, 45.12], "category_id": 1, "id": 128745}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [598, 373, 2, 578, 372, 2, 599, 394, 2, 556, 387, 2, 582, 393, 1, 571, 386, 2, 0, 0, 0, 621, 382, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 375, 1, 591, 374, 1], "image_id": 105425, "bbox": [549.32, 366.87, 90.62, 29.58], "category_id": 1, "id": 128767}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 4, 151, 2, 0, 0, 0, 0, 0, 0, 30, 175, 2, 14, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 120, 1, 24, 151, 1], "image_id": 105325, "bbox": [0.1, 115.39, 51.01, 83.16], "category_id": 1, "id": 128775}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 481, 13, 2, 432, 12, 2, 485, 43, 2, 429, 44, 2, 464, 38, 2, 439, 38, 2, 464, 78, 1, 432, 80, 2, 464, 118, 1, 423, 116, 1, 0, 0, 0, 0, 0, 0], "image_id": 106513, "bbox": [404.93, 1.92, 90.2, 116.1], "category_id": 1, "id": 128817}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [555, 293, 2, 628, 218, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 41, 1, 577, 178, 1], "image_id": 103705, "bbox": [418.31, 0, 221.69, 417.36], "category_id": 1, "id": 128818}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [470, 159, 1, 395, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 274, 1, 410, 276, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 426, 90, 1, 433, 145, 1], "image_id": 108116, "bbox": [401.26, 85.21, 65.8, 138.07], "category_id": 1, "id": 128821}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [527, 143, 2, 508, 130, 2, 487, 224, 2, 436, 150, 2, 459, 163, 2, 365, 129, 2, 555, 295, 2, 537, 289, 2, 534, 432, 2, 528, 433, 2, 0, 0, 0, 0, 0, 0, 517, 34, 1, 520, 112, 1], "image_id": 105387, "bbox": [306.73, 31.21, 299.19, 441.26], "category_id": 1, "id": 128823}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [62, 115, 2, 0, 0, 0, 63, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 71, 1, 58, 101, 1], "image_id": 105311, "bbox": [33.78, 67.57, 59.69, 105.85], "category_id": 1, "id": 128827}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 99, 317, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105370, "bbox": [0.96, 144.4, 111.3, 203.4], "category_id": 1, "id": 128831}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [180, 238, 1, 147, 238, 1, 182, 272, 1, 0, 0, 0, 168, 263, 1, 0, 0, 0, 171, 295, 2, 155, 295, 1, 170, 326, 2, 151, 323, 1, 170, 352, 2, 149, 351, 1, 0, 0, 0, 0, 0, 0], "image_id": 102903, "bbox": [156.26, 223.72, 23.92, 137.87], "category_id": 1, "id": 128845}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [280, 110, 2, 171, 127, 2, 0, 0, 0, 156, 216, 2, 0, 0, 0, 181, 148, 2, 281, 271, 1, 200, 274, 2, 0, 0, 0, 209, 410, 2, 0, 0, 0, 0, 0, 0, 227, 81, 1, 235, 124, 1], "image_id": 108220, "bbox": [134.35, 61.42, 194.81, 360.82], "category_id": 1, "id": 128853}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 14, 1], "image_id": 102572, "bbox": [558.6, 0, 50.42, 31.31], "category_id": 1, "id": 128858}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [432, 137, 2, 410, 136, 2, 441, 156, 2, 401, 151, 1, 437, 170, 2, 0, 0, 0, 428, 172, 2, 410, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 115, 1, 422, 133, 1], "image_id": 106539, "bbox": [399.54, 112.82, 46.16, 66.55], "category_id": 1, "id": 128859}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [625, 228, 2, 0, 0, 0, 534, 258, 2, 0, 0, 0, 575, 292, 2, 0, 0, 0, 628, 407, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 617, 138, 1, 635, 203, 1], "image_id": 106883, "bbox": [522.07, 89.53, 117.93, 343.01], "category_id": 1, "id": 128870}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 394, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106741, "bbox": [1.98, 242, 168.09, 167.25], "category_id": 1, "id": 128887}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [235, 85, 2, 248, 89, 2, 0, 0, 0, 257, 142, 1, 0, 0, 0, 0, 0, 0, 233, 169, 1, 244, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 36, 1, 240, 73, 1], "image_id": 107513, "bbox": [205.2, 28.13, 63.14, 142.06], "category_id": 1, "id": 128894}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [330, 152, 2, 311, 150, 2, 0, 0, 0, 324, 170, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 115, 1, 318, 141, 1], "image_id": 106995, "bbox": [293.39, 110.06, 47.97, 73.95], "category_id": 1, "id": 128900}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104459, "bbox": [393.57, 339.38, 76.82, 97.05], "category_id": 1, "id": 128923}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [402, 259, 2, 461, 261, 2, 376, 309, 2, 0, 0, 0, 351, 346, 2, 0, 0, 0, 407, 347, 2, 449, 343, 2, 376, 396, 2, 478, 334, 2, 424, 384, 2, 465, 381, 2, 427, 208, 1, 428, 244, 1], "image_id": 104628, "bbox": [330.07, 199.55, 149.93, 220.05], "category_id": 1, "id": 128948}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107267, "bbox": [622.81, 91.62, 16.89, 55.79], "category_id": 1, "id": 128957}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [386, 216, 2, 358, 214, 2, 404, 240, 2, 350, 225, 1, 413, 251, 2, 378, 232, 2, 379, 274, 1, 358, 273, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 180, 1, 369, 205, 1], "image_id": 106883, "bbox": [346.31, 159.4, 75.53, 116.88], "category_id": 1, "id": 128970}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [29, 135, 2, 11, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 171, 2, 14, 171, 2, 0, 0, 0, 17, 197, 2, 0, 0, 0, 23, 225, 1, 21, 107, 1, 21, 127, 1], "image_id": 106995, "bbox": [1.02, 107.67, 41.64, 120.87], "category_id": 1, "id": 128972}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [365, 238, 2, 308, 261, 1, 368, 210, 2, 0, 0, 0, 312, 184, 2, 0, 0, 0, 419, 336, 2, 365, 372, 2, 531, 362, 2, 501, 394, 2, 0, 0, 0, 0, 0, 0, 330, 148, 1, 327, 242, 1], "image_id": 106861, "bbox": [269.63, 141.05, 272.52, 283.07], "category_id": 1, "id": 128982}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, 178, 1, 0, 0, 0], "image_id": 107111, "bbox": [454.82, 179.88, 30.83, 51.09], "category_id": 1, "id": 128991}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [615, 199, 2, 516, 189, 2, 634, 244, 2, 527, 258, 2, 635, 274, 2, 606, 262, 2, 601, 322, 1, 531, 325, 2, 0, 0, 0, 581, 367, 2, 0, 0, 0, 0, 0, 0, 594, 113, 1, 563, 180, 1], "image_id": 102797, "bbox": [499.42, 127.55, 140.58, 348.41], "category_id": 1, "id": 128997}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [127, 158, 2, 106, 159, 2, 134, 172, 2, 92, 175, 2, 134, 189, 2, 72, 187, 2, 126, 198, 2, 112, 198, 2, 123, 226, 2, 112, 219, 2, 110, 246, 2, 114, 256, 2, 110, 135, 1, 114, 151, 1], "image_id": 104514, "bbox": [62.85, 133.63, 77.39, 126.69], "category_id": 1, "id": 129016}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 42, 1, 134, 50, 1], "image_id": 103676, "bbox": [119.3, 44.49, 31.64, 38.02], "category_id": 1, "id": 129017}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [465, 117, 2, 388, 99, 2, 434, 183, 2, 361, 137, 2, 375, 211, 2, 343, 177, 2, 444, 248, 2, 392, 246, 2, 444, 335, 1, 384, 330, 1, 0, 0, 0, 0, 0, 0, 417, 30, 1, 423, 90, 1], "image_id": 105234, "bbox": [325.29, 24.95, 159.28, 301.3], "category_id": 1, "id": 129021}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [430, 223, 2, 392, 228, 2, 459, 289, 2, 409, 299, 2, 510, 297, 2, 481, 297, 2, 480, 312, 2, 460, 322, 2, 615, 338, 2, 583, 330, 2, 0, 0, 0, 566, 422, 2, 393, 147, 1, 404, 212, 1], "image_id": 106861, "bbox": [367.09, 137.77, 261.9, 288.68], "category_id": 1, "id": 129025}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 269, 2, 0, 0, 0, 18, 351, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104085, "bbox": [0, 161.58, 44.24, 260.65], "category_id": 1, "id": 129027}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 41, 1, 152, 48, 1], "image_id": 103676, "bbox": [143.64, 42.52, 30.56, 43.37], "category_id": 1, "id": 129032}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [67, 54, 1, 19, 62, 1, 85, 88, 1, 12, 92, 1, 72, 76, 2, 41, 77, 2, 66, 130, 2, 41, 134, 2, 74, 172, 1, 37, 176, 2, 85, 234, 1, 41, 239, 2, 40, 18, 1, 42, 53, 1], "image_id": 104733, "bbox": [22.32, 12.32, 64.31, 239.3], "category_id": 1, "id": 129046}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 109, 2, 59, 117, 2, 89, 135, 2, 70, 145, 1, 88, 174, 1, 66, 176, 1, 0, 0, 0, 70, 74, 1], "image_id": 104103, "bbox": [41.56, 59.4, 56.52, 128.32], "category_id": 1, "id": 129051}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [587, 249, 2, 473, 230, 2, 536, 369, 2, 358, 278, 2, 493, 296, 2, 335, 323, 2, 0, 0, 0, 558, 312, 2, 0, 0, 0, 446, 352, 2, 0, 0, 0, 0, 0, 0, 484, 160, 1, 518, 233, 1], "image_id": 103193, "bbox": [284.09, 135.06, 355.91, 291.58], "category_id": 1, "id": 129076}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [165, 337, 1, 193, 336, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 388, 2, 191, 391, 1, 181, 455, 2, 0, 0, 0, 183, 505, 2, 0, 0, 0, 183, 295, 1, 181, 321, 1], "image_id": 105949, "bbox": [164.32, 291.17, 40.36, 234.96], "category_id": 1, "id": 129089}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [156, 139, 2, 144, 134, 2, 115, 226, 2, 109, 194, 2, 59, 219, 1, 64, 210, 2, 89, 269, 2, 85, 262, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 26, 1, 157, 105, 1], "image_id": 103057, "bbox": [40.31, 20.16, 172.91, 268.38], "category_id": 1, "id": 129091}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [392, 174, 2, 374, 174, 1, 406, 200, 2, 372, 214, 2, 407, 177, 2, 403, 210, 2, 399, 240, 2, 384, 242, 2, 406, 281, 1, 385, 287, 1, 0, 0, 0, 0, 0, 0, 398, 138, 1, 385, 165, 1], "image_id": 103705, "bbox": [358.89, 135.07, 60.67, 144.44], "category_id": 1, "id": 129093}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [496, 192, 1, 414, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 480, 295, 2, 430, 294, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 119, 1, 448, 174, 1], "image_id": 106444, "bbox": [427.57, 135.22, 65.68, 162.86], "category_id": 1, "id": 129105}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [7, 142, 2, 57, 137, 2, 7, 184, 2, 73, 180, 2, 0, 0, 0, 0, 0, 0, 32, 219, 1, 56, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 90, 1, 26, 122, 1], "image_id": 105311, "bbox": [0, 87.64, 86.52, 110.11], "category_id": 1, "id": 129118}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [515, 85, 2, 462, 80, 2, 0, 0, 0, 443, 60, 2, 0, 0, 0, 460, 13, 2, 505, 166, 1, 467, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 19, 1, 483, 68, 1], "image_id": 102797, "bbox": [437.18, 0.6, 89.26, 170.84], "category_id": 1, "id": 129124}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 142, 1, 432, 154, 1], "image_id": 103705, "bbox": [411.55, 141.95, 44.25, 49.17], "category_id": 1, "id": 129125}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [284, 202, 2, 307, 200, 2, 0, 0, 0, 315, 219, 2, 0, 0, 0, 321, 214, 2, 288, 238, 2, 302, 238, 2, 0, 0, 0, 322, 222, 2, 0, 0, 0, 317, 249, 2, 297, 176, 1, 297, 191, 1], "image_id": 102679, "bbox": [281.47, 174.13, 53.73, 83.16], "category_id": 1, "id": 129130}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [372, 248, 2, 356, 256, 2, 0, 0, 0, 369, 281, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 217, 1, 362, 244, 1], "image_id": 105177, "bbox": [345.24, 215.48, 37.06, 62.16], "category_id": 1, "id": 129150}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104249, "bbox": [518.96, 206.46, 36.73, 33.27], "category_id": 1, "id": 129152}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [459, 207, 2, 437, 209, 2, 463, 222, 2, 438, 224, 2, 457, 220, 2, 446, 219, 2, 457, 231, 2, 444, 232, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448, 188, 1, 448, 203, 1], "image_id": 105177, "bbox": [431.56, 186.14, 38.58, 52.23], "category_id": 1, "id": 129160}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [88, 140, 2, 28, 137, 2, 105, 184, 2, 23, 180, 2, 66, 209, 2, 32, 208, 2, 81, 222, 2, 42, 223, 2, 0, 0, 0, 30, 293, 2, 0, 0, 0, 63, 335, 1, 54, 88, 1, 56, 127, 1], "image_id": 106539, "bbox": [13.52, 75.44, 98.53, 256.96], "category_id": 1, "id": 129168}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [533, 74, 2, 520, 76, 2, 528, 112, 1, 512, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 71, 1], "image_id": 107568, "bbox": [498.29, 39.02, 37.28, 55.33], "category_id": 1, "id": 129178}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [434, 73, 2, 470, 80, 2, 399, 79, 2, 0, 0, 0, 363, 81, 2, 0, 0, 0, 431, 144, 2, 450, 150, 2, 382, 144, 2, 435, 143, 2, 386, 187, 2, 437, 197, 2, 455, 15, 1, 452, 66, 1], "image_id": 104122, "bbox": [350.69, 13.09, 149.31, 206.37], "category_id": 1, "id": 129213}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 137, 1, 30, 142, 1], "image_id": 103937, "bbox": [21.32, 138.86, 15.69, 37.89], "category_id": 1, "id": 129217}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 184, 1, 86, 186, 1, 99, 187, 1, 88, 186, 1, 99, 206, 2, 89, 206, 2, 0, 0, 0, 0, 0, 0, 67, 206, 1, 85, 210, 1], "image_id": 103689, "bbox": [64.14, 198.37, 57.02, 35.63], "category_id": 1, "id": 129231}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [131, 132, 2, 110, 131, 2, 139, 146, 2, 103, 146, 2, 135, 157, 1, 111, 159, 2, 130, 167, 2, 115, 166, 2, 132, 191, 2, 110, 191, 1, 126, 207, 1, 108, 206, 1, 123, 109, 1, 121, 125, 1], "image_id": 106539, "bbox": [98.82, 103.62, 42.22, 98.83], "category_id": 1, "id": 129284}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 443, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103670, "bbox": [430.62, 2.53, 69.38, 107.02], "category_id": 1, "id": 129354}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [82, 180, 2, 105, 192, 2, 0, 0, 0, 129, 238, 1, 0, 0, 0, 0, 0, 0, 83, 265, 2, 105, 279, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 121, 1, 97, 172, 1], "image_id": 107466, "bbox": [58.53, 114.19, 76.77, 174.63], "category_id": 1, "id": 129393}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 419, 215, 2, 0, 0, 0, 402, 257, 2, 0, 0, 0, 416, 276, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104729, "bbox": [390.82, 202.52, 32.18, 92.14], "category_id": 1, "id": 129397}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [434, 157, 2, 418, 157, 2, 437, 175, 2, 417, 172, 2, 0, 0, 0, 421, 181, 2, 432, 178, 2, 426, 174, 2, 432, 199, 2, 424, 200, 2, 435, 216, 2, 420, 219, 1, 427, 141, 1, 427, 153, 1], "image_id": 102679, "bbox": [414.63, 142.95, 26.13, 78.38], "category_id": 1, "id": 129412}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [463, 47, 2, 0, 0, 0, 417, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 39, 1], "image_id": 103670, "bbox": [403.49, 0.48, 70.89, 65.24], "category_id": 1, "id": 129434}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, 189, 1, 492, 197, 1], "image_id": 103075, "bbox": [477.51, 187.99, 32.7, 37.22], "category_id": 1, "id": 129436}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 611, 215, 2, 586, 327, 2, 0, 0, 0, 459, 268, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106281, "bbox": [346.4, 6.72, 293.6, 407.81], "category_id": 1, "id": 129450}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 180, 1, 411, 190, 1], "image_id": 102679, "bbox": [403.75, 179.74, 20.22, 44.51], "category_id": 1, "id": 129475}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 325, 180, 1, 0, 0, 0, 0, 0, 0, 306, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 140, 1, 321, 161, 1], "image_id": 103705, "bbox": [290.98, 132.36, 50.41, 80.65], "category_id": 1, "id": 129486}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [638, 106, 2, 627, 107, 2, 639, 139, 2, 0, 0, 0, 621, 122, 2, 0, 0, 0, 630, 161, 2, 622, 156, 2, 630, 205, 2, 624, 205, 2, 630, 241, 2, 637, 241, 1, 633, 74, 1, 634, 100, 1], "image_id": 105234, "bbox": [606.94, 72.65, 33.06, 187.01], "category_id": 1, "id": 129492}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [541, 131, 2, 513, 132, 2, 528, 146, 2, 504, 143, 2, 502, 157, 2, 490, 150, 2, 536, 163, 1, 515, 164, 2, 512, 175, 2, 494, 152, 2, 497, 194, 2, 491, 193, 2, 528, 100, 1, 527, 124, 1], "image_id": 108269, "bbox": [483.5, 97.81, 71.1, 109.55], "category_id": 1, "id": 129517}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [87, 230, 1, 138, 226, 2, 74, 302, 2, 146, 309, 2, 126, 329, 2, 217, 334, 2, 60, 366, 2, 84, 376, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 151, 1, 141, 207, 1], "image_id": 106539, "bbox": [38.29, 141.39, 204.87, 278.57], "category_id": 1, "id": 129518}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [370, 63, 2, 338, 62, 1, 370, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 110, 1, 346, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 31, 1, 354, 54, 1], "image_id": 107513, "bbox": [339.55, 25.94, 48.28, 113.56], "category_id": 1, "id": 129527}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [150, 245, 2, 118, 247, 1, 157, 271, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 298, 2, 121, 298, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 211, 1, 132, 237, 1], "image_id": 102903, "bbox": [119.45, 206.75, 45.02, 99.12], "category_id": 1, "id": 129531}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [275, 62, 2, 230, 71, 2, 300, 109, 1, 219, 108, 2, 0, 0, 0, 194, 137, 1, 280, 143, 1, 257, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 16, 1, 252, 56, 1], "image_id": 104122, "bbox": [193.67, 9.67, 112.16, 127.12], "category_id": 1, "id": 129532}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [157, 167, 2, 154, 168, 2, 157, 183, 2, 0, 0, 0, 155, 197, 2, 0, 0, 0, 165, 193, 2, 160, 193, 2, 170, 211, 2, 151, 209, 2, 178, 225, 1, 146, 226, 2, 144, 153, 1, 152, 163, 1], "image_id": 103689, "bbox": [135.57, 148.47, 39.54, 82.45], "category_id": 1, "id": 129544}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [618, 153, 2, 584, 156, 2, 614, 208, 2, 578, 217, 2, 572, 182, 2, 562, 186, 2, 612, 257, 2, 589, 253, 2, 608, 331, 2, 606, 335, 2, 619, 412, 2, 614, 410, 2, 578, 99, 1, 600, 140, 1], "image_id": 104085, "bbox": [543.86, 90.1, 94.79, 331.29], "category_id": 1, "id": 129578}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [113, 79, 2, 96, 78, 2, 66, 89, 2, 0, 0, 0, 38, 71, 2, 0, 0, 0, 138, 211, 2, 120, 212, 2, 156, 317, 2, 98, 292, 2, 162, 403, 2, 153, 374, 2, 73, 27, 1, 94, 65, 1], "image_id": 107592, "bbox": [20.49, 12.76, 161.8, 414.21], "category_id": 1, "id": 129607}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [59, 139, 2, 87, 146, 2, 48, 170, 2, 87, 179, 2, 66, 173, 2, 113, 180, 2, 66, 199, 2, 87, 204, 2, 70, 252, 1, 85, 256, 1, 0, 0, 0, 0, 0, 0, 82, 97, 1, 77, 127, 1], "image_id": 105264, "bbox": [43.32, 90.8, 88.5, 167.5], "category_id": 1, "id": 129608}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [42, 259, 2, 0, 0, 0, 47, 310, 2, 0, 0, 0, 0, 0, 0, 49, 349, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 447, 1, 0, 0, 0, 0, 0, 0, 23, 157, 1, 3, 231, 1], "image_id": 107342, "bbox": [0, 146.39, 103.33, 289.55], "category_id": 1, "id": 129612}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 36, 149, 2, 0, 0, 0, 42, 187, 2, 0, 0, 0, 52, 212, 2, 0, 0, 0, 40, 201, 2, 0, 0, 0, 51, 245, 2, 0, 0, 0, 0, 0, 0, 43, 106, 1, 39, 131, 1], "image_id": 105264, "bbox": [13.95, 95.78, 46.4, 168.89], "category_id": 1, "id": 129633}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [422, 102, 2, 459, 101, 2, 405, 144, 2, 468, 138, 2, 0, 0, 0, 0, 0, 0, 424, 167, 2, 453, 166, 2, 416, 232, 2, 429, 231, 2, 428, 289, 2, 411, 285, 2, 437, 39, 1, 441, 81, 1], "image_id": 107513, "bbox": [375.45, 33.39, 96.78, 288.6], "category_id": 1, "id": 129654}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [211, 54, 2, 198, 65, 2, 217, 74, 2, 209, 88, 1, 229, 79, 1, 221, 97, 1, 0, 0, 0, 193, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 37, 1, 208, 55, 1], "image_id": 107568, "bbox": [183.97, 33.8, 42.24, 72.59], "category_id": 1, "id": 129657}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 88, 1, 62, 109, 1], "image_id": 105264, "bbox": [52.96, 86.33, 18.68, 43.77], "category_id": 1, "id": 129660}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [587, 65, 1, 602, 67, 2, 580, 78, 2, 604, 83, 2, 0, 0, 0, 0, 0, 0, 585, 89, 2, 596, 90, 2, 580, 117, 2, 592, 114, 1, 579, 134, 1, 593, 138, 1, 594, 48, 1, 595, 59, 1], "image_id": 103258, "bbox": [577.35, 51.54, 31.57, 92.9], "category_id": 1, "id": 129671}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [304, 328, 1, 343, 330, 2, 0, 0, 0, 359, 362, 2, 0, 0, 0, 384, 383, 2, 309, 391, 1, 335, 393, 1, 0, 0, 0, 346, 450, 2, 0, 0, 0, 324, 503, 1, 323, 290, 1, 321, 318, 1], "image_id": 105949, "bbox": [307.72, 284.24, 88.13, 236.93], "category_id": 1, "id": 129678}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [65, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 410, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 14, 1, 0, 0, 0], "image_id": 106281, "bbox": [1.19, 0.77, 146.55, 426.23], "category_id": 1, "id": 129696}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [471, 126, 2, 435, 125, 2, 478, 149, 2, 428, 147, 2, 462, 155, 2, 424, 152, 2, 460, 164, 2, 440, 164, 2, 455, 169, 2, 419, 165, 2, 454, 210, 1, 414, 210, 1, 451, 96, 1, 452, 120, 1], "image_id": 108269, "bbox": [405.24, 94, 78.01, 114.85], "category_id": 1, "id": 129705}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [45, 201, 2, 68, 200, 2, 38, 218, 2, 75, 211, 2, 33, 232, 2, 66, 220, 2, 54, 235, 2, 66, 235, 2, 47, 261, 2, 61, 259, 2, 46, 287, 2, 67, 288, 1, 50, 179, 1, 53, 191, 1], "image_id": 108116, "bbox": [26.3, 176.71, 52.13, 121.71], "category_id": 1, "id": 129706}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 81, 1, 207, 98, 1], "image_id": 107568, "bbox": [191.88, 81.83, 24.06, 24.05], "category_id": 1, "id": 129718}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 179, 1, 449, 187, 1], "image_id": 102679, "bbox": [441.63, 178.56, 22.05, 44.83], "category_id": 1, "id": 129728}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 122, 1, 576, 134, 1], "image_id": 104514, "bbox": [558.56, 121.12, 36.24, 27.88], "category_id": 1, "id": 129731}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 124, 1, 196, 138, 1], "image_id": 102679, "bbox": [180.03, 124.43, 32.03, 47.66], "category_id": 1, "id": 129747}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [264, 207, 2, 196, 215, 2, 0, 0, 0, 189, 279, 2, 0, 0, 0, 186, 336, 2, 259, 324, 1, 213, 333, 2, 0, 0, 0, 222, 430, 2, 0, 0, 0, 0, 0, 0, 229, 132, 1, 229, 191, 1], "image_id": 108116, "bbox": [165.37, 120.37, 99.89, 359.63], "category_id": 1, "id": 129749}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 147, 1, 191, 152, 1], "image_id": 103075, "bbox": [184.29, 148.04, 11.64, 26.42], "category_id": 1, "id": 129760}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 9, 109, 2, 0, 0, 0, 18, 127, 2, 0, 0, 0, 1, 143, 1, 0, 0, 0, 3, 177, 2, 0, 0, 0, 18, 207, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104670, "bbox": [0.79, 7.21, 75.27, 215.26], "category_id": 1, "id": 129770}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 205, 1, 108, 216, 1], "image_id": 102679, "bbox": [95.41, 202.86, 23.13, 34.14], "category_id": 1, "id": 129807}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 141, 1, 451, 154, 1], "image_id": 102679, "bbox": [438.52, 142.22, 20.37, 46.11], "category_id": 1, "id": 129818}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 5, 1, 350, 18, 1], "image_id": 105947, "bbox": [342.41, 3.03, 21.83, 24.2], "category_id": 1, "id": 129872}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [530, 270, 2, 525, 263, 2, 551, 363, 2, 499, 305, 2, 474, 338, 2, 449, 275, 2, 531, 425, 2, 530, 417, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, 179, 1, 516, 242, 1], "image_id": 105325, "bbox": [420.1, 170.94, 162, 280.91], "category_id": 1, "id": 129905}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [522, 150, 2, 486, 142, 2, 520, 208, 2, 461, 193, 2, 469, 183, 2, 443, 158, 2, 500, 243, 2, 495, 245, 2, 443, 322, 2, 461, 326, 2, 460, 409, 2, 501, 404, 2, 515, 84, 1, 503, 130, 1], "image_id": 103441, "bbox": [426.04, 74.68, 118.72, 344.66], "category_id": 1, "id": 129912}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [318, 202, 1, 243, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 361, 2, 271, 359, 1, 324, 470, 2, 279, 463, 1, 0, 0, 0, 0, 0, 0, 266, 115, 1, 274, 189, 1], "image_id": 105217, "bbox": [233.09, 107.58, 120.76, 372.42], "category_id": 1, "id": 129928}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [216, 115, 2, 175, 127, 2, 0, 0, 0, 149, 200, 2, 258, 191, 2, 193, 236, 2, 218, 233, 2, 183, 247, 2, 214, 295, 2, 192, 317, 2, 211, 350, 2, 200, 378, 2, 205, 22, 1, 192, 107, 1], "image_id": 107477, "bbox": [138.85, 3.36, 157.4, 397.26], "category_id": 1, "id": 129954}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [452, 141, 2, 465, 141, 2, 478, 187, 2, 452, 187, 2, 485, 225, 2, 423, 210, 2, 471, 227, 2, 491, 226, 2, 434, 272, 2, 501, 279, 2, 459, 341, 2, 566, 335, 2, 450, 69, 1, 452, 117, 1], "image_id": 103776, "bbox": [396.25, 64.84, 192.46, 303.62], "category_id": 1, "id": 129955}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 139, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 179, 1, 145, 179, 2, 157, 222, 2, 145, 219, 2, 154, 261, 2, 159, 256, 2, 0, 0, 0, 0, 0, 0], "image_id": 104325, "bbox": [124.08, 138.17, 49.29, 127.71], "category_id": 1, "id": 129970}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [449, 85, 2, 482, 85, 2, 428, 109, 1, 491, 113, 2, 0, 0, 0, 0, 0, 0, 453, 135, 1, 483, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 41, 1, 463, 73, 1], "image_id": 103250, "bbox": [423.51, 36.43, 73.51, 89.92], "category_id": 1, "id": 129990}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108001, "bbox": [219.37, 83.85, 70.03, 28.12], "category_id": 1, "id": 129999}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 150, 1, 554, 159, 1], "image_id": 105615, "bbox": [543.9, 147.61, 35.45, 79.6], "category_id": 1, "id": 130028}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [428, 120, 2, 421, 122, 2, 473, 153, 2, 433, 172, 2, 452, 199, 2, 396, 200, 2, 479, 223, 2, 485, 223, 2, 415, 291, 2, 500, 307, 2, 425, 374, 2, 593, 309, 2, 382, 76, 1, 415, 114, 1], "image_id": 107972, "bbox": [363.24, 63.06, 273.44, 337.01], "category_id": 1, "id": 130069}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 516, 59, 2, 419, 47, 2, 502, 123, 2, 409, 102, 2, 476, 122, 2, 428, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108207, "bbox": [398.13, 1.26, 147.58, 211.91], "category_id": 1, "id": 130076}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [106, 251, 2, 59, 247, 2, 116, 285, 1, 44, 283, 2, 0, 0, 0, 51, 312, 2, 99, 322, 1, 64, 322, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 204, 1, 82, 239, 1], "image_id": 103629, "bbox": [38.74, 194.58, 83.23, 150.68], "category_id": 1, "id": 130129}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [590, 27, 2, 636, 29, 2, 534, 112, 2, 628, 116, 2, 526, 93, 2, 578, 157, 2, 601, 170, 2, 636, 170, 2, 495, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 12, 1], "image_id": 104438, "bbox": [516.56, 1.13, 123.39, 216.83], "category_id": 1, "id": 130135}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102795, "bbox": [113.55, 119.1, 13.21, 31.97], "category_id": 1, "id": 130141}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [460, 436, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 618, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105812, "bbox": [428.45, 323.03, 51.55, 315.53], "category_id": 1, "id": 130146}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [183, 257, 2, 191, 257, 2, 183, 273, 2, 0, 0, 0, 172, 287, 2, 0, 0, 0, 181, 293, 2, 0, 0, 0, 177, 323, 2, 0, 0, 0, 183, 350, 2, 0, 0, 0, 181, 233, 1, 183, 248, 1], "image_id": 102581, "bbox": [161.2, 224.72, 32.64, 141.83], "category_id": 1, "id": 130148}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 359, 282, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 107, 1, 427, 233, 1], "image_id": 107713, "bbox": [356.67, 87.73, 70.33, 543.64], "category_id": 1, "id": 130161}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 593, 140, 2, 0, 0, 0, 525, 168, 2, 0, 0, 0, 471, 125, 2, 617, 345, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 40, 1, 628, 122, 1], "image_id": 105721, "bbox": [435.41, 33.38, 204.59, 383.13], "category_id": 1, "id": 130169}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [487, 301, 2, 501, 296, 2, 466, 311, 2, 0, 0, 0, 446, 320, 2, 0, 0, 0, 515, 333, 2, 523, 330, 2, 478, 339, 2, 0, 0, 0, 506, 346, 2, 0, 0, 0, 486, 278, 1, 491, 293, 1], "image_id": 104451, "bbox": [439.26, 277.01, 89.34, 78.29], "category_id": 1, "id": 130172}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [368, 189, 2, 304, 183, 2, 372, 243, 2, 287, 228, 2, 360, 286, 2, 303, 263, 2, 355, 295, 2, 308, 294, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 118, 1, 337, 170, 1], "image_id": 108040, "bbox": [273.44, 130.81, 105.17, 224.09], "category_id": 1, "id": 130212}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [620, 167, 1, 562, 159, 2, 629, 268, 1, 0, 0, 0, 554, 330, 1, 0, 0, 0, 598, 344, 2, 561, 339, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 49, 1, 593, 133, 1], "image_id": 105822, "bbox": [530.95, 37.84, 108.48, 409.43], "category_id": 1, "id": 130222}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [465, 234, 2, 441, 239, 2, 477, 229, 2, 447, 266, 2, 482, 227, 2, 455, 290, 2, 458, 232, 2, 443, 235, 2, 460, 269, 2, 445, 268, 2, 463, 291, 2, 446, 292, 2, 455, 245, 1, 453, 241, 1], "image_id": 105582, "bbox": [430.51, 222.45, 61.78, 81.66], "category_id": 1, "id": 130223}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105573, "bbox": [27.78, 174.15, 90.64, 136.76], "category_id": 1, "id": 130236}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [390, 172, 2, 0, 0, 0, 402, 204, 2, 0, 0, 0, 402, 235, 1, 0, 0, 0, 376, 251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 125, 1, 369, 157, 1], "image_id": 106631, "bbox": [361.2, 122.76, 44.08, 144.04], "category_id": 1, "id": 130244}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [548, 383, 2, 453, 386, 2, 572, 472, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 250, 1, 496, 361, 1], "image_id": 105217, "bbox": [415.28, 238.38, 177.98, 236.23], "category_id": 1, "id": 130245}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [558, 203, 2, 541, 193, 2, 529, 222, 1, 510, 199, 2, 514, 214, 2, 481, 200, 2, 559, 239, 2, 543, 230, 1, 521, 251, 1, 503, 227, 1, 499, 269, 1, 491, 252, 1, 542, 176, 1, 546, 199, 1], "image_id": 104647, "bbox": [463.79, 172.36, 109.67, 77.63], "category_id": 1, "id": 130248}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [257, 193, 2, 234, 191, 2, 261, 227, 2, 0, 0, 0, 254, 251, 1, 0, 0, 0, 245, 251, 1, 226, 250, 1, 234, 291, 2, 0, 0, 0, 227, 338, 1, 0, 0, 0, 231, 158, 1, 240, 183, 1], "image_id": 108370, "bbox": [223.58, 151.61, 48.93, 197.67], "category_id": 1, "id": 130249}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [599, 261, 2, 489, 254, 2, 514, 455, 2, 474, 419, 2, 330, 452, 2, 298, 396, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454, 47, 1, 530, 225, 1], "image_id": 103409, "bbox": [178.18, 15.03, 458.18, 459.39], "category_id": 1, "id": 130256}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [492, 196, 2, 410, 156, 2, 440, 303, 2, 339, 221, 2, 375, 257, 2, 397, 262, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 79, 1, 449, 170, 1], "image_id": 107687, "bbox": [318.79, 52.93, 181.21, 269.3], "category_id": 1, "id": 130262}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [167, 133, 2, 135, 133, 2, 173, 157, 2, 0, 0, 0, 151, 156, 2, 0, 0, 0, 161, 176, 1, 142, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 104, 1, 149, 129, 1], "image_id": 104116, "bbox": [130.31, 98.6, 45.02, 66.5], "category_id": 1, "id": 130268}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, 137, 1, 0, 0, 0], "image_id": 106820, "bbox": [397.21, 131.51, 30.56, 65.67], "category_id": 1, "id": 130277}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [534, 112, 2, 458, 87, 2, 571, 178, 2, 403, 116, 2, 589, 240, 2, 338, 116, 2, 525, 263, 2, 467, 253, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 17, 1, 497, 92, 1], "image_id": 108040, "bbox": [252.4, 15.12, 348.68, 338.97], "category_id": 1, "id": 130281}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [285, 196, 2, 196, 199, 1, 0, 0, 0, 86, 260, 2, 0, 0, 0, 143, 240, 2, 289, 359, 1, 216, 362, 1, 300, 514, 2, 215, 507, 2, 303, 628, 2, 216, 633, 2, 235, 106, 1, 231, 187, 1], "image_id": 104001, "bbox": [84.99, 99.07, 259.34, 540.65], "category_id": 1, "id": 130311}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [188, 128, 2, 84, 115, 2, 239, 177, 1, 52, 157, 2, 210, 194, 1, 75, 208, 2, 179, 232, 2, 126, 265, 2, 250, 210, 2, 0, 0, 0, 245, 316, 1, 0, 0, 0, 165, 30, 1, 149, 100, 1], "image_id": 106017, "bbox": [30.2, 24.81, 240.54, 306.34], "category_id": 1, "id": 130313}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [575, 302, 2, 551, 301, 1, 580, 324, 2, 547, 320, 1, 575, 335, 2, 538, 328, 2, 579, 337, 2, 557, 335, 2, 545, 349, 2, 543, 344, 2, 563, 375, 1, 552, 372, 2, 561, 273, 1, 0, 0, 0], "image_id": 106255, "bbox": [534.34, 265.6, 67.79, 111.11], "category_id": 1, "id": 130341}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 251, 1, 456, 261, 1], "image_id": 104451, "bbox": [438.42, 249.18, 30.34, 56.11], "category_id": 1, "id": 130350}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [189, 293, 1, 106, 278, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 170, 1, 153, 269, 1], "image_id": 107713, "bbox": [51.78, 158.62, 141.46, 263.78], "category_id": 1, "id": 130358}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 523, 162, 1, 526, 180, 1], "image_id": 104647, "bbox": [471.84, 161.33, 60.48, 34.11], "category_id": 1, "id": 130370}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [591, 297, 2, 597, 283, 2, 568, 337, 2, 548, 265, 2, 550, 307, 2, 507, 250, 2, 589, 364, 2, 592, 354, 2, 512, 368, 2, 527, 336, 2, 581, 390, 2, 578, 360, 2, 584, 235, 1, 589, 275, 1], "image_id": 104647, "bbox": [485.6, 230.48, 128.34, 174.71], "category_id": 1, "id": 130379}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 13, 230, 2, 0, 0, 0, 11, 351, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 53, 1, 0, 187, 1], "image_id": 105822, "bbox": [0, 60.7, 59.78, 300.02], "category_id": 1, "id": 130403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 210, 2, 327, 210, 2, 340, 215, 2, 317, 213, 2, 337, 212, 2, 316, 205, 2, 335, 229, 2, 327, 230, 2, 333, 247, 2, 329, 248, 2, 336, 266, 2, 332, 265, 1, 332, 197, 1, 332, 206, 1], "image_id": 104521, "bbox": [312.81, 194.74, 30.57, 78.84], "category_id": 1, "id": 130405}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [210, 331, 2, 176, 324, 2, 234, 374, 1, 149, 365, 1, 0, 0, 0, 161, 405, 2, 198, 406, 2, 171, 402, 2, 201, 475, 2, 177, 470, 2, 184, 537, 1, 191, 541, 1, 191, 272, 1, 191, 313, 1], "image_id": 106613, "bbox": [150.89, 264.03, 74.01, 266.63], "category_id": 1, "id": 130414}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [499, 333, 1, 478, 342, 1, 521, 330, 2, 505, 383, 2, 497, 314, 2, 516, 360, 2, 0, 0, 0, 489, 422, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 285, 1, 485, 321, 1], "image_id": 108106, "bbox": [466.32, 278.99, 60.55, 148.01], "category_id": 1, "id": 130419}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 49, 1, 285, 62, 1], "image_id": 108001, "bbox": [278.93, 49.11, 44.22, 49.75], "category_id": 1, "id": 130433}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [553, 229, 2, 418, 235, 2, 598, 381, 2, 357, 342, 2, 0, 0, 0, 347, 250, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 66, 1, 478, 192, 1], "image_id": 108370, "bbox": [332.96, 50.86, 287.87, 370.38], "category_id": 1, "id": 130435}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [231, 107, 2, 217, 111, 2, 234, 142, 1, 209, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 102, 1], "image_id": 105822, "bbox": [201.01, 70.87, 41.01, 60.44], "category_id": 1, "id": 130436}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 233, 1, 122, 254, 1], "image_id": 103629, "bbox": [110.83, 230.19, 21.99, 40.61], "category_id": 1, "id": 130446}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103586, "bbox": [148.59, 102.3, 23.44, 58.39], "category_id": 1, "id": 130461}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [238, 272, 2, 240, 290, 2, 290, 414, 2, 0, 0, 0, 302, 308, 2, 377, 375, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 127, 1, 259, 237, 1], "image_id": 108106, "bbox": [179.44, 110.35, 245.64, 310.89], "category_id": 1, "id": 130464}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [496, 182, 2, 401, 188, 2, 510, 279, 1, 392, 278, 2, 508, 347, 1, 396, 357, 2, 493, 327, 1, 426, 328, 2, 487, 438, 1, 444, 442, 1, 0, 0, 0, 0, 0, 0, 432, 81, 1, 440, 162, 1], "image_id": 105217, "bbox": [374.53, 67.93, 151.75, 386.37], "category_id": 1, "id": 130466}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 552, 263, 2, 0, 0, 0, 556, 312, 2, 0, 0, 0, 518, 288, 1, 0, 0, 0, 512, 370, 2, 482, 362, 1, 499, 434, 2, 484, 435, 2, 0, 0, 0, 0, 0, 0], "image_id": 106255, "bbox": [464.19, 238.81, 102.82, 220.14], "category_id": 1, "id": 130477}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [13, 172, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 246, 2, 0, 0, 0, 4, 304, 1, 0, 0, 0, 12, 365, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105582, "bbox": [0, 143.53, 39.91, 250.25], "category_id": 1, "id": 130480}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 329, 2, 239, 330, 2, 306, 366, 2, 212, 351, 1, 302, 402, 2, 181, 358, 1, 288, 425, 2, 255, 425, 2, 284, 478, 2, 266, 478, 2, 279, 540, 2, 285, 535, 2, 259, 275, 1, 262, 317, 1], "image_id": 106613, "bbox": [222.86, 265.53, 95.17, 290], "category_id": 1, "id": 130490}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [40, 243, 2, 19, 238, 2, 0, 0, 0, 5, 268, 2, 0, 0, 0, 36, 261, 2, 37, 305, 2, 18, 303, 2, 31, 355, 2, 16, 356, 2, 0, 0, 0, 8, 393, 2, 40, 207, 1, 30, 234, 1], "image_id": 103629, "bbox": [0, 192.72, 54.65, 207.1], "category_id": 1, "id": 130500}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [542, 161, 2, 541, 159, 2, 575, 186, 2, 546, 196, 2, 552, 225, 2, 518, 208, 1, 575, 229, 2, 572, 229, 2, 539, 280, 2, 597, 286, 2, 546, 350, 2, 0, 0, 0, 525, 98, 1, 534, 143, 1], "image_id": 103776, "bbox": [506.29, 85.88, 133.71, 274.07], "category_id": 1, "id": 130519}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [523, 121, 2, 433, 145, 2, 561, 147, 2, 430, 216, 2, 567, 172, 2, 451, 196, 2, 530, 243, 2, 483, 253, 2, 512, 274, 2, 467, 346, 2, 519, 386, 2, 484, 399, 2, 445, 67, 1, 470, 115, 1], "image_id": 106540, "bbox": [414.54, 59.99, 163.54, 358.45], "category_id": 1, "id": 130543}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [544, 155, 1, 531, 155, 1, 574, 183, 1, 0, 0, 0, 556, 222, 1, 0, 0, 0, 574, 229, 1, 563, 231, 1, 536, 285, 1, 600, 286, 1, 541, 339, 1, 0, 0, 0, 527, 97, 1, 535, 142, 1], "image_id": 103776, "bbox": [472.4, 99.38, 139.2, 249.9], "category_id": 1, "id": 130560}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [206, 121, 2, 101, 134, 2, 201, 210, 2, 75, 212, 2, 159, 177, 2, 159, 218, 1, 163, 214, 2, 75, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 59, 1, 162, 118, 1], "image_id": 107687, "bbox": [64.04, 33.71, 156.75, 198.03], "category_id": 1, "id": 130563}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [216, 226, 1, 165, 230, 2, 0, 0, 0, 153, 284, 2, 0, 0, 0, 152, 333, 2, 214, 326, 1, 177, 326, 2, 209, 397, 1, 177, 402, 2, 196, 465, 2, 179, 469, 2, 187, 157, 1, 187, 207, 1], "image_id": 103912, "bbox": [143.79, 151.6, 61.95, 344.37], "category_id": 1, "id": 130585}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [175, 155, 2, 129, 150, 2, 202, 177, 2, 143, 175, 2, 197, 208, 2, 120, 194, 2, 165, 229, 2, 141, 226, 2, 131, 265, 2, 153, 272, 2, 153, 314, 2, 176, 328, 2, 123, 112, 1, 150, 142, 1], "image_id": 103776, "bbox": [104.52, 88.99, 106.66, 262.38], "category_id": 1, "id": 130593}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [149, 95, 2, 76, 81, 2, 169, 133, 2, 35, 120, 2, 191, 150, 2, 32, 165, 2, 128, 189, 2, 79, 190, 2, 151, 261, 2, 101, 279, 2, 139, 296, 2, 131, 353, 2, 132, 27, 1, 114, 73, 1], "image_id": 105638, "bbox": [18.27, 5.29, 203.89, 371.22], "category_id": 1, "id": 130596}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 245, 1, 198, 253, 1], "image_id": 104451, "bbox": [185.16, 242.82, 29.63, 55.45], "category_id": 1, "id": 130608}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [133, 158, 2, 146, 166, 2, 0, 0, 0, 155, 190, 2, 0, 0, 0, 166, 206, 2, 132, 205, 2, 144, 212, 2, 139, 250, 2, 149, 250, 2, 123, 272, 2, 146, 276, 2, 145, 142, 1, 143, 156, 1], "image_id": 105615, "bbox": [111.75, 137.62, 57.58, 157.77], "category_id": 1, "id": 130611}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 93, 2, 157, 97, 1, 0, 0, 0, 0, 0, 0], "image_id": 105621, "bbox": [41.69, 0, 136.57, 142.74], "category_id": 1, "id": 130612}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [308, 157, 2, 340, 161, 2, 0, 0, 0, 350, 180, 2, 0, 0, 0, 0, 0, 0, 310, 192, 1, 334, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 136, 1, 325, 153, 1], "image_id": 104116, "bbox": [305.35, 132.98, 47.67, 50.77], "category_id": 1, "id": 130614}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 53, 1, 0, 0, 0], "image_id": 107119, "bbox": [1.91, 37.25, 29.61, 97.43], "category_id": 1, "id": 130619}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [468, 56, 2, 413, 57, 2, 473, 97, 2, 402, 100, 1, 472, 134, 2, 434, 83, 1, 462, 134, 1, 424, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 37, 1], "image_id": 107972, "bbox": [403.6, 0, 89.18, 143.76], "category_id": 1, "id": 130624}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [310, 94, 2, 268, 98, 2, 302, 145, 2, 264, 135, 2, 281, 168, 1, 262, 167, 1, 299, 166, 2, 273, 166, 1, 297, 224, 1, 281, 222, 1, 0, 0, 0, 0, 0, 0, 274, 45, 1, 286, 81, 1], "image_id": 105596, "bbox": [253.95, 43.15, 71.02, 133.43], "category_id": 1, "id": 130626}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 246, 1, 181, 256, 1], "image_id": 104451, "bbox": [167.78, 244.09, 26.78, 53.13], "category_id": 1, "id": 130634}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [346, 119, 2, 274, 126, 2, 359, 140, 2, 227, 155, 2, 362, 180, 2, 186, 179, 2, 328, 220, 2, 273, 222, 2, 306, 285, 2, 242, 302, 2, 240, 357, 2, 218, 345, 2, 307, 68, 1, 307, 113, 1], "image_id": 105638, "bbox": [146.48, 60.43, 224.03, 320.73], "category_id": 1, "id": 130635}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [248, 195, 2, 138, 184, 2, 260, 279, 1, 115, 266, 2, 249, 362, 1, 67, 306, 2, 208, 350, 2, 165, 349, 2, 212, 465, 2, 127, 461, 2, 206, 594, 2, 114, 588, 2, 190, 88, 1, 190, 167, 1], "image_id": 105708, "bbox": [43.15, 86.39, 230.11, 530.69], "category_id": 1, "id": 130636}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [431, 211, 2, 420, 212, 2, 432, 223, 2, 419, 225, 2, 431, 234, 2, 417, 235, 2, 428, 233, 2, 421, 233, 2, 429, 248, 2, 425, 250, 2, 431, 268, 2, 428, 266, 2, 424, 197, 1, 425, 208, 1], "image_id": 104521, "bbox": [414.2, 196.46, 23.68, 78.83], "category_id": 1, "id": 130655}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [625, 168, 2, 514, 153, 2, 636, 283, 2, 485, 245, 2, 601, 380, 2, 478, 318, 2, 576, 369, 2, 502, 351, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 28, 1, 567, 127, 1], "image_id": 105596, "bbox": [474.51, 35.74, 165.49, 439.93], "category_id": 1, "id": 130656}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [348, 357, 2, 289, 358, 2, 379, 326, 2, 257, 321, 2, 333, 313, 2, 293, 309, 2, 340, 429, 2, 299, 429, 2, 352, 429, 2, 270, 436, 2, 0, 0, 0, 0, 0, 0, 313, 304, 1, 313, 347, 1], "image_id": 106943, "bbox": [252.22, 302.88, 134.4, 177.12], "category_id": 1, "id": 130671}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [438, 327, 2, 426, 334, 2, 458, 370, 1, 455, 389, 2, 495, 339, 2, 491, 351, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448, 262, 1, 435, 311, 1], "image_id": 108106, "bbox": [407.51, 254.62, 105.17, 172.38], "category_id": 1, "id": 130674}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [564, 68, 2, 534, 75, 2, 566, 114, 2, 559, 113, 2, 528, 126, 2, 545, 137, 2, 589, 174, 2, 565, 180, 2, 618, 238, 2, 528, 222, 2, 0, 0, 0, 567, 287, 2, 542, 15, 1, 548, 61, 1], "image_id": 107972, "bbox": [506.26, 6.14, 133.6, 288.29], "category_id": 1, "id": 130675}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [45, 251, 2, 18, 252, 2, 0, 0, 0, 7, 278, 2, 0, 0, 0, 33, 284, 2, 40, 305, 2, 25, 308, 2, 0, 0, 0, 25, 338, 2, 0, 0, 0, 25, 372, 2, 33, 214, 1, 32, 239, 1], "image_id": 105529, "bbox": [0, 214.51, 49.34, 181.55], "category_id": 1, "id": 130684}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [446, 183, 2, 319, 182, 2, 456, 280, 2, 310, 282, 2, 453, 351, 2, 306, 359, 2, 420, 375, 2, 336, 374, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 61, 1, 380, 156, 1], "image_id": 105596, "bbox": [287.08, 49.29, 189.59, 426.84], "category_id": 1, "id": 130688}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104372, "bbox": [47.66, 212.16, 34.86, 37.68], "category_id": 1, "id": 130689}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 60, 1, 157, 71, 1], "image_id": 106540, "bbox": [146.02, 58.91, 23.81, 43.78], "category_id": 1, "id": 130690}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [251, 195, 2, 232, 205, 2, 258, 214, 2, 234, 217, 2, 245, 224, 2, 237, 231, 2, 263, 209, 1, 251, 214, 2, 256, 243, 2, 249, 243, 2, 258, 273, 2, 254, 274, 2, 227, 191, 1, 237, 195, 1], "image_id": 105615, "bbox": [223.52, 180.42, 51.09, 102.17], "category_id": 1, "id": 130691}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [92, 259, 2, 62, 257, 2, 96, 279, 1, 57, 280, 2, 95, 301, 1, 58, 301, 1, 83, 299, 1, 66, 299, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 230, 1, 77, 253, 1], "image_id": 106255, "bbox": [44.29, 226.18, 58.95, 70.62], "category_id": 1, "id": 130696}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 169, 2, 336, 179, 1, 377, 181, 2, 337, 199, 1, 365, 186, 2, 338, 222, 1, 370, 201, 2, 355, 205, 2, 367, 231, 2, 355, 235, 2, 368, 258, 2, 357, 261, 2, 332, 165, 1, 345, 171, 1], "image_id": 105615, "bbox": [321.53, 153.15, 59.49, 122.08], "category_id": 1, "id": 130702}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [224, 160, 2, 183, 159, 2, 244, 245, 2, 138, 221, 2, 151, 282, 2, 88, 262, 2, 254, 292, 1, 212, 281, 2, 96, 298, 2, 102, 269, 2, 92, 422, 1, 81, 397, 2, 159, 61, 1, 188, 138, 1], "image_id": 103409, "bbox": [58.25, 46.38, 216.81, 428.23], "category_id": 1, "id": 130706}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 164, 23, 2, 58, 34, 2, 0, 0, 0, 71, 94, 1, 144, 63, 2, 93, 61, 2, 179, 134, 1, 106, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107477, "bbox": [50.65, 3.3, 120.81, 138.68], "category_id": 1, "id": 130723}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [365, 116, 2, 0, 0, 0, 340, 163, 2, 0, 0, 0, 302, 129, 2, 0, 0, 0, 407, 211, 2, 368, 213, 2, 444, 294, 2, 316, 254, 2, 507, 357, 2, 391, 300, 2, 346, 63, 1, 356, 111, 1], "image_id": 107972, "bbox": [281.89, 55.37, 247.66, 336.25], "category_id": 1, "id": 130727}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [331, 123, 1, 241, 123, 2, 0, 0, 0, 209, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 33, 1, 284, 102, 1], "image_id": 105813, "bbox": [220.99, 28.7, 101.88, 124.84], "category_id": 1, "id": 130734}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 104, 1, 334, 113, 1], "image_id": 104451, "bbox": [328.19, 103.2, 13.08, 28.8], "category_id": 1, "id": 130736}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [110, 254, 2, 89, 261, 2, 120, 280, 2, 96, 287, 2, 125, 273, 1, 102, 257, 2, 119, 296, 2, 103, 304, 2, 0, 0, 0, 125, 314, 2, 0, 0, 0, 128, 354, 2, 99, 233, 1, 100, 256, 1], "image_id": 105529, "bbox": [81.3, 224.84, 52.45, 150.75], "category_id": 1, "id": 130742}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [148, 157, 1, 109, 161, 2, 152, 184, 2, 121, 193, 2, 145, 198, 2, 141, 185, 2, 143, 206, 1, 121, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 1, 131, 158, 1], "image_id": 104372, "bbox": [102.03, 125.94, 56.37, 73.42], "category_id": 1, "id": 130744}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [55, 261, 2, 40, 260, 2, 55, 278, 2, 31, 258, 2, 41, 280, 2, 39, 249, 2, 51, 284, 2, 44, 285, 2, 55, 284, 2, 37, 293, 2, 59, 298, 2, 39, 298, 2, 44, 249, 1, 47, 258, 1], "image_id": 104521, "bbox": [28.46, 243.48, 34.36, 67.92], "category_id": 1, "id": 130757}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [483, 221, 2, 556, 179, 2, 369, 245, 2, 500, 193, 2, 391, 163, 2, 444, 177, 2, 503, 364, 2, 568, 324, 2, 374, 285, 1, 0, 0, 0, 408, 352, 2, 0, 0, 0, 482, 90, 1, 500, 175, 1], "image_id": 108338, "bbox": [359.19, 80.82, 230.08, 307.74], "category_id": 1, "id": 130764}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 539, 1, 205, 546, 1], "image_id": 106426, "bbox": [198.49, 541.18, 14.48, 49.88], "category_id": 1, "id": 130773}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [546, 278, 2, 531, 279, 2, 564, 293, 2, 537, 295, 2, 556, 306, 2, 542, 304, 2, 567, 306, 2, 551, 306, 2, 548, 314, 2, 531, 312, 2, 563, 341, 2, 540, 339, 2, 526, 258, 1, 535, 272, 1], "image_id": 104451, "bbox": [515.49, 253.11, 62.01, 101.48], "category_id": 1, "id": 130776}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [348, 382, 2, 141, 388, 2, 387, 469, 2, 95, 499, 2, 362, 515, 2, 136, 503, 2, 317, 626, 2, 187, 626, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 213, 1, 229, 338, 1], "image_id": 104694, "bbox": [76.35, 195.33, 338.66, 443.62], "category_id": 1, "id": 130791}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [175, 128, 2, 148, 128, 2, 0, 0, 0, 136, 157, 1, 0, 0, 0, 137, 179, 1, 175, 166, 2, 152, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 84, 1, 160, 119, 1], "image_id": 104372, "bbox": [135.86, 85.36, 55.82, 118.83], "category_id": 1, "id": 130830}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [393, 197, 2, 377, 198, 1, 402, 209, 2, 0, 0, 0, 407, 222, 2, 0, 0, 0, 394, 229, 2, 381, 230, 2, 393, 247, 2, 379, 250, 1, 397, 273, 2, 378, 273, 1, 379, 180, 1, 382, 194, 1], "image_id": 105582, "bbox": [374.36, 178.59, 37.09, 98.59], "category_id": 1, "id": 130833}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [50, 343, 2, 0, 0, 0, 80, 404, 2, 0, 0, 0, 26, 330, 2, 0, 0, 0, 39, 589, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107713, "bbox": [3.14, 280.84, 111.14, 280.03], "category_id": 1, "id": 130834}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 192, 2, 319, 192, 2, 341, 193, 2, 313, 194, 2, 344, 185, 1, 314, 186, 2, 329, 214, 2, 321, 213, 2, 330, 229, 2, 318, 228, 1, 330, 245, 2, 316, 244, 1, 329, 180, 1, 327, 189, 1], "image_id": 105582, "bbox": [308.72, 175.42, 36.31, 72.97], "category_id": 1, "id": 130836}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [408, 193, 2, 340, 176, 2, 429, 218, 2, 311, 183, 2, 432, 251, 2, 287, 185, 2, 386, 276, 2, 337, 266, 2, 397, 312, 2, 318, 303, 2, 397, 353, 2, 312, 334, 2, 391, 129, 1, 381, 175, 1], "image_id": 107477, "bbox": [268.28, 107.95, 177.47, 281.67], "category_id": 1, "id": 130837}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [96, 597, 2, 47, 599, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 530, 1, 75, 580, 1], "image_id": 106426, "bbox": [26.19, 527.71, 98.28, 112.29], "category_id": 1, "id": 130845}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [116, 326, 2, 171, 329, 2, 110, 371, 2, 178, 373, 1, 0, 0, 0, 0, 0, 0, 126, 403, 1, 159, 406, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 277, 1, 148, 307, 1], "image_id": 104694, "bbox": [93.98, 276.53, 89.42, 148.18], "category_id": 1, "id": 130848}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [70, 217, 2, 83, 216, 2, 64, 216, 2, 90, 223, 2, 69, 211, 2, 97, 233, 2, 74, 236, 2, 79, 236, 2, 70, 257, 2, 86, 255, 2, 0, 0, 0, 0, 0, 0, 75, 206, 1, 76, 213, 1], "image_id": 104521, "bbox": [59.93, 205.38, 40.39, 65.94], "category_id": 1, "id": 130851}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 4, 154, 1, 0, 0, 0, 3, 269, 1, 0, 0, 0, 63, 295, 2, 0, 0, 0, 11, 315, 2, 0, 0, 0, 11, 462, 2, 0, 0, 0, 5, 600, 2, 6, 45, 1, 90, 133, 1], "image_id": 105813, "bbox": [4.31, 34.61, 87.73, 591.1], "category_id": 1, "id": 130853}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [134, 155, 2, 50, 163, 2, 159, 218, 2, 26, 234, 1, 145, 226, 2, 65, 218, 2, 133, 327, 1, 76, 332, 1, 127, 435, 1, 65, 435, 1, 0, 0, 0, 0, 0, 0, 98, 60, 1, 92, 130, 1], "image_id": 105813, "bbox": [25.28, 49.94, 148.77, 280.76], "category_id": 1, "id": 130866}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 406, 1, 383, 410, 1], "image_id": 106636, "bbox": [378.22, 407.58, 13.23, 32.25], "category_id": 1, "id": 130869}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 56, 1], "image_id": 108001, "bbox": [453.32, 47.48, 19.07, 25.94], "category_id": 1, "id": 130878}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 178, 1, 452, 188, 1], "image_id": 105582, "bbox": [438.61, 178.76, 21.94, 46], "category_id": 1, "id": 130900}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 117, 1, 422, 135, 1], "image_id": 103586, "bbox": [406.48, 114.51, 38.45, 40.66], "category_id": 1, "id": 130933}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104871, "bbox": [529.17, 157.03, 13.15, 14.88], "category_id": 1, "id": 130977}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 539, 1, 441, 547, 1], "image_id": 106426, "bbox": [434.11, 538.57, 20.27, 54.71], "category_id": 1, "id": 130983}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [42, 113, 2, 7, 119, 2, 0, 0, 0, 4, 149, 2, 0, 0, 0, 0, 0, 0, 45, 170, 1, 20, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 77, 1, 28, 112, 1], "image_id": 104372, "bbox": [0.02, 70.25, 57.17, 102], "category_id": 1, "id": 130984}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 535, 1, 283, 540, 1], "image_id": 106426, "bbox": [278, 535.64, 13.42, 43.49], "category_id": 1, "id": 130987}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [277, 340, 2, 260, 347, 2, 281, 355, 2, 255, 358, 2, 283, 345, 1, 243, 357, 2, 291, 373, 2, 280, 377, 2, 301, 406, 2, 304, 396, 2, 310, 428, 2, 309, 430, 2, 264, 325, 1, 269, 340, 1], "image_id": 107169, "bbox": [238.37, 324.16, 86.55, 114.85], "category_id": 1, "id": 130995}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 198, 1, 402, 210, 1], "image_id": 105177, "bbox": [390.96, 197.6, 23.72, 27.76], "category_id": 1, "id": 131006}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [52, 245, 2, 14, 249, 2, 0, 0, 0, 13, 277, 2, 0, 0, 0, 24, 300, 1, 56, 297, 1, 27, 302, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 208, 1, 32, 241, 1], "image_id": 104372, "bbox": [7.46, 199.95, 54.46, 112.65], "category_id": 1, "id": 131011}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [39, 454, 2, 48, 454, 2, 0, 0, 0, 53, 471, 2, 0, 0, 0, 58, 471, 2, 25, 487, 2, 34, 488, 2, 35, 510, 2, 39, 512, 2, 26, 539, 2, 35, 545, 2, 44, 437, 1, 44, 449, 1], "image_id": 106636, "bbox": [19.89, 428.51, 46.19, 127.58], "category_id": 1, "id": 131018}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 229, 1, 48, 234, 1], "image_id": 108026, "bbox": [40.41, 229.38, 13.86, 7.82], "category_id": 1, "id": 131033}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 217, 2, 205, 219, 2, 310, 279, 2, 201, 284, 2, 294, 308, 2, 164, 300, 2, 264, 353, 2, 221, 353, 2, 272, 426, 2, 230, 425, 2, 304, 511, 2, 256, 488, 2, 242, 146, 1, 242, 205, 1], "image_id": 108236, "bbox": [136.63, 139.6, 188.4, 437.21], "category_id": 1, "id": 131050}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 183, 1, 163, 179, 1, 225, 209, 2, 130, 202, 2, 197, 216, 1, 150, 216, 1, 193, 241, 1, 161, 239, 1, 215, 251, 1, 132, 242, 2, 191, 298, 1, 156, 286, 2, 0, 0, 0, 0, 0, 0], "image_id": 108214, "bbox": [121.79, 172.31, 112.53, 141.8], "category_id": 1, "id": 131052}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [635, 187, 2, 0, 0, 0, 631, 231, 2, 0, 0, 0, 629, 265, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 319, 2, 0, 0, 0, 633, 368, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102907, "bbox": [606.89, 142.52, 33.11, 245.07], "category_id": 1, "id": 131090}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 356, 2, 279, 269, 2, 264, 392, 2, 274, 230, 2, 241, 387, 2, 303, 187, 2, 285, 407, 2, 313, 390, 2, 286, 474, 2, 312, 455, 2, 293, 562, 2, 316, 540, 2, 295, 279, 1, 279, 314, 1], "image_id": 103782, "bbox": [214.77, 171.95, 120.26, 420.94], "category_id": 1, "id": 131092}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 305, 2, 254, 341, 2, 280, 263, 2, 230, 397, 2, 287, 263, 2, 221, 460, 2, 257, 336, 2, 215, 339, 2, 259, 415, 2, 236, 405, 2, 197, 410, 2, 255, 479, 2, 285, 339, 1, 279, 329, 1], "image_id": 107575, "bbox": [166.12, 246.49, 141.51, 274.97], "category_id": 1, "id": 131104}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 470, 392, 2, 0, 0, 0, 472, 442, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 468, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102983, "bbox": [439.16, 372.08, 40.84, 158.04], "category_id": 1, "id": 131118}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 159, 2, 581, 162, 2, 624, 192, 2, 579, 198, 2, 611, 225, 2, 553, 213, 1, 605, 236, 2, 587, 236, 2, 605, 279, 2, 595, 283, 2, 606, 326, 2, 601, 321, 2, 591, 117, 1, 595, 149, 1], "image_id": 106366, "bbox": [560.75, 111.3, 72.62, 231.87], "category_id": 1, "id": 131129}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [187, 163, 2, 131, 191, 2, 231, 210, 2, 126, 244, 2, 254, 264, 2, 113, 285, 2, 243, 255, 2, 213, 277, 2, 288, 223, 2, 193, 203, 2, 323, 276, 2, 245, 281, 2, 135, 117, 1, 150, 166, 1], "image_id": 105035, "bbox": [61.18, 110.11, 307.31, 196.92], "category_id": 1, "id": 131142}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [639, 164, 1, 586, 166, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 107, 1, 0, 0, 0], "image_id": 105254, "bbox": [583.5, 105.05, 45.72, 91.03], "category_id": 1, "id": 131153}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [295, 235, 2, 235, 236, 2, 295, 289, 1, 236, 280, 1, 316, 279, 1, 273, 241, 2, 286, 320, 1, 244, 320, 1, 319, 361, 2, 252, 377, 2, 263, 393, 2, 0, 0, 0, 285, 175, 1, 268, 222, 1], "image_id": 105995, "bbox": [209.46, 168.36, 132.88, 229.73], "category_id": 1, "id": 131193}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [186, 164, 2, 161, 159, 2, 0, 0, 0, 175, 201, 2, 0, 0, 0, 209, 205, 2, 186, 246, 2, 160, 248, 2, 0, 0, 0, 178, 304, 2, 0, 0, 0, 162, 388, 2, 180, 109, 1, 173, 151, 1], "image_id": 103718, "bbox": [135.91, 104.63, 91.69, 299.86], "category_id": 1, "id": 131203}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [418, 183, 2, 358, 173, 2, 0, 0, 0, 302, 238, 2, 0, 0, 0, 321, 181, 2, 417, 347, 1, 353, 329, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 76, 1, 383, 159, 1], "image_id": 107720, "bbox": [269.55, 67.03, 157.12, 236.39], "category_id": 1, "id": 131213}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 184, 1, 376, 196, 1], "image_id": 105177, "bbox": [368.04, 184.07, 17.13, 26.83], "category_id": 1, "id": 131225}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 301, 1, 451, 305, 1], "image_id": 104497, "bbox": [441.41, 300.97, 16.62, 24.33], "category_id": 1, "id": 131234}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 236, 1, 380, 242, 1], "image_id": 107239, "bbox": [371.34, 235.65, 14.86, 31.6], "category_id": 1, "id": 131239}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [154, 357, 2, 127, 369, 2, 164, 373, 2, 130, 392, 2, 164, 394, 2, 146, 401, 2, 160, 392, 2, 145, 397, 2, 180, 410, 2, 136, 425, 2, 193, 444, 2, 141, 441, 1, 130, 339, 1, 140, 357, 1], "image_id": 105766, "bbox": [120.15, 337.03, 89.19, 119.02], "category_id": 1, "id": 131241}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102620, "bbox": [514.4, 352.44, 68.1, 74.56], "category_id": 1, "id": 131244}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 118, 1, 418, 138, 1], "image_id": 106666, "bbox": [411.64, 114.98, 26.23, 54.37], "category_id": 1, "id": 131250}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [236, 249, 2, 164, 212, 2, 178, 396, 2, 131, 305, 2, 92, 302, 2, 83, 288, 2, 198, 463, 2, 145, 454, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 71, 1, 200, 208, 1], "image_id": 105828, "bbox": [35.14, 56.84, 260.84, 443.16], "category_id": 1, "id": 131259}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [76, 224, 2, 108, 241, 2, 64, 267, 2, 113, 281, 2, 44, 299, 2, 137, 267, 2, 98, 312, 2, 125, 319, 2, 121, 362, 2, 153, 368, 2, 70, 383, 2, 100, 400, 2, 99, 171, 1, 93, 216, 1], "image_id": 106310, "bbox": [25.6, 163.94, 148.72, 262.07], "category_id": 1, "id": 131297}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [400, 184, 2, 300, 176, 2, 444, 239, 2, 288, 238, 2, 469, 300, 2, 273, 275, 2, 390, 302, 2, 310, 296, 2, 379, 416, 2, 255, 390, 2, 0, 0, 0, 0, 0, 0, 323, 101, 1, 344, 166, 1], "image_id": 103240, "bbox": [236.45, 86.96, 246.99, 335.05], "category_id": 1, "id": 131304}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [556, 208, 2, 520, 210, 1, 572, 232, 2, 0, 0, 0, 595, 239, 2, 0, 0, 0, 554, 247, 1, 528, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 179, 1, 537, 207, 1], "image_id": 105904, "bbox": [521.86, 169.3, 93.17, 79.37], "category_id": 1, "id": 131314}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [243, 179, 2, 0, 0, 0, 249, 210, 2, 0, 0, 0, 221, 227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 144, 1, 241, 170, 1], "image_id": 105995, "bbox": [213.96, 142.45, 48.43, 100.23], "category_id": 1, "id": 131320}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [360, 320, 2, 234, 318, 1, 386, 393, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 231, 1, 293, 302, 1], "image_id": 106221, "bbox": [201.73, 212.13, 205.19, 216.87], "category_id": 1, "id": 131338}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 40, 1, 553, 54, 1], "image_id": 103258, "bbox": [542.81, 39.95, 24.26, 38.36], "category_id": 1, "id": 131345}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [387, 276, 2, 423, 280, 2, 0, 0, 0, 429, 324, 2, 0, 0, 0, 438, 372, 2, 392, 354, 2, 416, 363, 2, 426, 406, 2, 415, 421, 2, 422, 461, 1, 0, 0, 0, 423, 225, 1, 409, 260, 1], "image_id": 104478, "bbox": [354.12, 222.68, 93.23, 254.06], "category_id": 1, "id": 131346}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [632, 76, 2, 491, 125, 2, 0, 0, 0, 503, 245, 2, 583, 291, 2, 489, 303, 2, 621, 239, 2, 541, 248, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 75, 1], "image_id": 106031, "bbox": [471.9, 1.05, 168.1, 370.64], "category_id": 1, "id": 131347}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [269, 76, 2, 152, 100, 2, 289, 174, 2, 157, 254, 1, 325, 242, 2, 253, 263, 2, 196, 179, 2, 105, 191, 2, 224, 314, 1, 145, 342, 1, 0, 0, 0, 0, 0, 0, 323, 96, 1, 212, 88, 1], "image_id": 108138, "bbox": [64.29, 18.23, 304.18, 270.59], "category_id": 1, "id": 131360}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [360, 35, 2, 0, 0, 0, 396, 54, 2, 431, 174, 2, 355, 102, 2, 380, 217, 2, 465, 182, 2, 495, 188, 2, 445, 295, 2, 449, 286, 2, 452, 417, 2, 450, 399, 2, 329, 24, 1, 352, 44, 1], "image_id": 106983, "bbox": [300.21, 5.22, 216.19, 447.76], "category_id": 1, "id": 131367}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 14, 1, 66, 19, 1], "image_id": 104149, "bbox": [59.03, 15.31, 15.76, 20.35], "category_id": 1, "id": 131369}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [216, 96, 2, 270, 135, 2, 159, 131, 2, 306, 184, 2, 145, 175, 2, 356, 218, 2, 138, 211, 2, 166, 229, 2, 114, 309, 2, 214, 320, 2, 0, 0, 0, 0, 0, 0, 281, 58, 1, 255, 106, 1], "image_id": 105608, "bbox": [75.53, 52.47, 314.84, 300.53], "category_id": 1, "id": 131376}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [139, 232, 2, 133, 234, 2, 0, 0, 0, 145, 248, 1, 0, 0, 0, 0, 0, 0, 143, 264, 2, 137, 266, 2, 0, 0, 0, 147, 292, 2, 0, 0, 0, 149, 318, 2, 137, 212, 1, 137, 228, 1], "image_id": 107929, "bbox": [123.8, 207.66, 38.88, 119.98], "category_id": 1, "id": 131385}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 123, 2, 321, 123, 2, 365, 159, 2, 312, 158, 2, 352, 150, 2, 329, 140, 1, 346, 183, 2, 320, 184, 2, 347, 228, 2, 323, 230, 1, 342, 291, 1, 327, 291, 1, 338, 84, 1, 340, 116, 1], "image_id": 107684, "bbox": [307.64, 79.21, 67.22, 220.87], "category_id": 1, "id": 131401}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [220, 278, 1, 191, 280, 2, 0, 0, 0, 181, 289, 2, 0, 0, 0, 0, 0, 0, 223, 331, 2, 196, 333, 2, 224, 364, 2, 196, 368, 2, 228, 398, 2, 199, 403, 2, 200, 245, 1, 204, 272, 1], "image_id": 104985, "bbox": [170, 244.49, 80.22, 180.51], "category_id": 1, "id": 131403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 250, 2, 314, 233, 2, 422, 321, 2, 283, 290, 2, 397, 330, 2, 275, 331, 2, 371, 352, 2, 301, 351, 2, 375, 400, 2, 317, 401, 2, 399, 528, 2, 315, 514, 2, 371, 162, 1, 358, 231, 1], "image_id": 106211, "bbox": [261.23, 152.55, 172.57, 420.22], "category_id": 1, "id": 131415}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [181, 193, 2, 93, 194, 2, 205, 259, 2, 85, 235, 2, 236, 299, 2, 229, 217, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 76, 1, 135, 183, 1], "image_id": 105378, "bbox": [38.96, 63.31, 253.16, 276.58], "category_id": 1, "id": 131421}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 339, 251, 2, 0, 0, 0, 342, 293, 2, 0, 0, 0, 343, 328, 2, 0, 0, 0, 349, 332, 2, 0, 0, 0, 346, 385, 2, 0, 0, 0, 339, 432, 2, 361, 203, 1, 351, 238, 1], "image_id": 104478, "bbox": [318.53, 200.24, 55.62, 249.5], "category_id": 1, "id": 131428}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [489, 273, 2, 364, 258, 2, 496, 406, 2, 346, 360, 1, 480, 476, 1, 349, 465, 1, 447, 460, 2, 383, 453, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 134, 1, 431, 230, 1], "image_id": 107230, "bbox": [336.22, 119.46, 198.92, 353.51], "category_id": 1, "id": 131459}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [50, 256, 2, 36, 259, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 292, 1, 37, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 231, 1, 48, 251, 1], "image_id": 104067, "bbox": [31.01, 227.12, 36.35, 71.33], "category_id": 1, "id": 131470}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 2, 1, 231, 32, 2, 183, 24, 2, 216, 26, 2, 193, 26, 2, 220, 77, 2, 190, 71, 2, 220, 121, 2, 205, 110, 2, 0, 0, 0, 0, 0, 0], "image_id": 106513, "bbox": [174.64, 0.96, 76.76, 136.26], "category_id": 1, "id": 131474}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106741, "bbox": [0, 216.45, 32.53, 46.87], "category_id": 1, "id": 131493}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 136, 2, 382, 129, 2, 306, 198, 2, 425, 180, 2, 289, 230, 2, 431, 226, 2, 368, 251, 2, 405, 242, 2, 351, 331, 2, 403, 316, 2, 348, 413, 2, 424, 389, 2, 334, 81, 1, 344, 116, 1], "image_id": 105616, "bbox": [269.06, 63.37, 179.05, 360.02], "category_id": 1, "id": 131501}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [123, 451, 2, 147, 451, 2, 117, 479, 2, 157, 480, 2, 0, 0, 0, 0, 0, 0, 127, 512, 2, 143, 513, 2, 128, 546, 2, 145, 550, 2, 124, 583, 2, 137, 592, 2, 151, 426, 1, 141, 444, 1], "image_id": 105975, "bbox": [104.84, 419.94, 57.38, 187.33], "category_id": 1, "id": 131502}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [89, 159, 2, 39, 157, 2, 86, 210, 2, 76, 206, 2, 81, 262, 1, 126, 233, 2, 67, 243, 2, 31, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 97, 1, 64, 149, 1], "image_id": 105485, "bbox": [4.37, 96.06, 151.23, 178.32], "category_id": 1, "id": 131508}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [580, 321, 2, 517, 315, 2, 503, 410, 2, 502, 398, 2, 406, 391, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 234, 1, 536, 312, 1], "image_id": 105655, "bbox": [345.44, 226.52, 294.56, 192.87], "category_id": 1, "id": 131512}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [288, 153, 2, 258, 173, 2, 338, 177, 2, 217, 229, 2, 375, 225, 2, 229, 252, 2, 283, 210, 2, 265, 238, 2, 318, 181, 2, 316, 278, 2, 321, 259, 2, 332, 345, 2, 292, 132, 1, 274, 158, 1], "image_id": 103382, "bbox": [206.59, 116.49, 189.88, 266.93], "category_id": 1, "id": 131530}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 179, 1, 423, 208, 1], "image_id": 107111, "bbox": [407.99, 176.97, 33.28, 54.83], "category_id": 1, "id": 131582}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [487, 408, 2, 318, 402, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 298, 1, 395, 380, 1], "image_id": 103355, "bbox": [285.73, 268.54, 222.35, 204.09], "category_id": 1, "id": 131584}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [163, 49, 2, 196, 47, 2, 151, 78, 2, 203, 72, 2, 146, 96, 2, 204, 95, 2, 172, 89, 2, 190, 89, 2, 171, 131, 2, 194, 130, 2, 174, 172, 2, 195, 171, 2, 176, 18, 1, 178, 37, 1], "image_id": 103248, "bbox": [142.79, 17.42, 66.98, 160.67], "category_id": 1, "id": 131589}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [254, 176, 2, 220, 159, 2, 256, 197, 2, 169, 165, 2, 237, 207, 2, 169, 153, 2, 207, 225, 2, 191, 197, 2, 218, 277, 2, 181, 201, 2, 156, 325, 2, 105, 243, 2, 245, 133, 1, 232, 166, 1], "image_id": 103593, "bbox": [78.71, 93.66, 197.07, 277.36], "category_id": 1, "id": 131592}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 176, 1, 0, 0, 0], "image_id": 107111, "bbox": [500.13, 172.95, 16.99, 46.56], "category_id": 1, "id": 131601}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [575, 43, 2, 381, 29, 2, 0, 0, 0, 370, 168, 2, 0, 0, 0, 0, 0, 0, 605, 273, 2, 431, 260, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103143, "bbox": [255.97, 1.52, 384.03, 449.48], "category_id": 1, "id": 131604}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [158, 91, 2, 114, 117, 2, 204, 104, 2, 121, 165, 2, 239, 110, 2, 149, 157, 2, 168, 149, 2, 145, 164, 2, 212, 142, 1, 152, 188, 2, 0, 0, 0, 180, 233, 1, 128, 67, 1, 135, 99, 1], "image_id": 102551, "bbox": [100.56, 56.93, 156.34, 146.2], "category_id": 1, "id": 131609}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [225, 151, 2, 252, 151, 2, 218, 178, 2, 257, 173, 2, 0, 0, 0, 0, 0, 0, 231, 193, 2, 248, 191, 2, 234, 229, 2, 249, 229, 2, 228, 264, 2, 249, 265, 2, 243, 125, 1, 242, 142, 1], "image_id": 104514, "bbox": [214.71, 122.94, 58.33, 147.65], "category_id": 1, "id": 131613}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 266, 149, 2, 0, 0, 0, 249, 214, 1, 0, 0, 0, 295, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 57, 1, 285, 123, 1], "image_id": 105986, "bbox": [248.28, 53.79, 69.48, 145.24], "category_id": 1, "id": 131619}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [327, 235, 2, 280, 255, 2, 324, 263, 2, 282, 286, 2, 290, 248, 2, 265, 298, 2, 342, 330, 1, 302, 344, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 185, 1, 300, 230, 1], "image_id": 107840, "bbox": [253.94, 180.71, 110.86, 161.07], "category_id": 1, "id": 131622}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [257, 393, 2, 135, 401, 2, 281, 464, 1, 114, 480, 1, 0, 0, 0, 101, 413, 2, 244, 531, 1, 160, 535, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 295, 1, 185, 374, 1], "image_id": 102589, "bbox": [80.54, 273.26, 199.91, 211.41], "category_id": 1, "id": 131639}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105234, "bbox": [0.57, 56.78, 25.15, 82.95], "category_id": 1, "id": 131666}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [384, 273, 2, 336, 267, 2, 400, 342, 2, 351, 356, 1, 449, 342, 1, 402, 345, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 197, 1, 365, 257, 1], "image_id": 107461, "bbox": [330.48, 185.43, 125.25, 191.67], "category_id": 1, "id": 131705}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [514, 164, 2, 471, 170, 2, 519, 191, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 228, 1, 484, 229, 1, 509, 269, 1, 486, 270, 1, 0, 0, 0, 0, 0, 0, 485, 126, 1, 490, 154, 1], "image_id": 106366, "bbox": [464.61, 126.2, 65.44, 126.2], "category_id": 1, "id": 131715}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [222, 338, 2, 295, 325, 2, 170, 376, 2, 0, 0, 0, 191, 368, 2, 0, 0, 0, 275, 405, 2, 329, 398, 1, 187, 398, 2, 302, 377, 2, 244, 467, 2, 0, 0, 0, 235, 280, 1, 249, 314, 1], "image_id": 104808, "bbox": [163.56, 274.95, 163.55, 213.49], "category_id": 1, "id": 131725}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108089, "bbox": [424.67, 256.59, 24.47, 51.11], "category_id": 1, "id": 131728}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [309, 194, 2, 328, 188, 2, 303, 217, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 157, 1, 314, 184, 1], "image_id": 106975, "bbox": [299.96, 118.07, 36.28, 115.26], "category_id": 1, "id": 131746}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [438, 286, 2, 376, 271, 2, 434, 352, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 377, 1, 366, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 204, 1, 404, 265, 1], "image_id": 105655, "bbox": [345.01, 192.64, 108.89, 187.39], "category_id": 1, "id": 131747}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [280, 325, 2, 276, 327, 2, 0, 0, 0, 281, 366, 2, 0, 0, 0, 306, 351, 2, 289, 387, 2, 284, 390, 2, 288, 447, 2, 295, 451, 2, 281, 491, 2, 263, 492, 2, 298, 287, 1, 288, 319, 1], "image_id": 108366, "bbox": [255.27, 287.92, 65.06, 231.4], "category_id": 1, "id": 131762}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, 228, 1, 625, 235, 1], "image_id": 106987, "bbox": [617.1, 227.6, 16.55, 30.65], "category_id": 1, "id": 131766}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 22, 1], "image_id": 104149, "bbox": [112.28, 18.95, 6.93, 14.91], "category_id": 1, "id": 131769}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [344, 129, 2, 265, 131, 2, 359, 206, 2, 0, 0, 0, 361, 268, 2, 0, 0, 0, 323, 241, 2, 276, 242, 1, 343, 346, 2, 0, 0, 0, 368, 433, 2, 0, 0, 0, 305, 37, 1, 305, 107, 1], "image_id": 106055, "bbox": [245.06, 32.3, 137.73, 450.53], "category_id": 1, "id": 131780}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [510, 154, 2, 484, 159, 2, 555, 187, 2, 495, 189, 2, 549, 214, 2, 476, 204, 2, 524, 228, 2, 505, 229, 2, 506, 295, 2, 524, 312, 2, 570, 320, 2, 554, 357, 2, 469, 101, 1, 496, 145, 1], "image_id": 103268, "bbox": [458.67, 93.08, 128.57, 277.31], "category_id": 1, "id": 131788}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [155, 209, 2, 143, 207, 2, 164, 239, 2, 128, 241, 2, 164, 267, 1, 112, 262, 2, 152, 256, 2, 139, 256, 2, 131, 293, 2, 148, 294, 2, 134, 342, 2, 155, 340, 2, 140, 180, 1, 146, 202, 1], "image_id": 105921, "bbox": [106.57, 177.52, 72.42, 178.22], "category_id": 1, "id": 131806}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [281, 285, 2, 263, 281, 2, 259, 339, 2, 238, 322, 2, 219, 347, 2, 207, 342, 2, 267, 358, 2, 252, 354, 2, 199, 377, 2, 186, 361, 2, 207, 447, 1, 195, 435, 2, 262, 229, 1, 265, 269, 1], "image_id": 104747, "bbox": [171.47, 228, 131.69, 214], "category_id": 1, "id": 131814}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [347, 138, 2, 312, 140, 2, 365, 178, 2, 309, 179, 2, 331, 193, 2, 292, 185, 2, 334, 202, 2, 318, 201, 2, 342, 277, 2, 318, 276, 2, 351, 335, 2, 332, 329, 2, 310, 98, 1, 326, 130, 1], "image_id": 105147, "bbox": [262.72, 93.05, 109.45, 276.12], "category_id": 1, "id": 131819}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [131, 98, 1, 151, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 137, 2, 141, 139, 2, 134, 167, 2, 147, 168, 2, 128, 200, 2, 142, 197, 2, 150, 80, 1, 144, 93, 1], "image_id": 103594, "bbox": [119.02, 78.14, 39.38, 128.96], "category_id": 1, "id": 131820}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [192, 210, 2, 124, 196, 2, 214, 270, 2, 61, 214, 2, 236, 315, 2, 26, 227, 2, 144, 335, 2, 107, 328, 2, 145, 457, 2, 82, 468, 2, 101, 546, 2, 25, 565, 2, 170, 116, 1, 159, 185, 1], "image_id": 108109, "bbox": [5.29, 107.03, 249.24, 503.99], "category_id": 1, "id": 131825}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [420, 176, 2, 326, 184, 2, 420, 245, 2, 299, 259, 2, 413, 181, 2, 354, 252, 2, 403, 297, 2, 327, 300, 2, 396, 393, 2, 330, 392, 2, 0, 0, 0, 0, 0, 0, 344, 82, 1, 369, 156, 1], "image_id": 103544, "bbox": [263.22, 54.76, 174.52, 370.24], "category_id": 1, "id": 131835}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [50, 401, 2, 126, 361, 2, 28, 473, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 284, 1, 79, 355, 1], "image_id": 108202, "bbox": [5.03, 280.89, 175.42, 196.29], "category_id": 1, "id": 131838}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 626, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107193, "bbox": [610.02, 50.27, 29.98, 91.05], "category_id": 1, "id": 131873}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [164, 128, 2, 119, 112, 2, 170, 165, 2, 102, 143, 2, 174, 198, 2, 148, 147, 2, 156, 196, 2, 118, 194, 2, 164, 252, 1, 124, 252, 2, 167, 319, 2, 128, 324, 2, 142, 71, 1, 136, 110, 1], "image_id": 104759, "bbox": [81.31, 67.49, 104.29, 270.51], "category_id": 1, "id": 131905}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 1, 1, 166, 10, 1], "image_id": 105947, "bbox": [157.87, 0.75, 15.7, 15.7], "category_id": 1, "id": 131922}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [253, 254, 2, 267, 253, 2, 228, 274, 2, 0, 0, 0, 201, 276, 1, 0, 0, 0, 255, 307, 2, 267, 305, 2, 222, 305, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 223, 1, 257, 246, 1], "image_id": 103313, "bbox": [225.57, 219.14, 56.38, 98.99], "category_id": 1, "id": 131934}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [98, 112, 2, 49, 117, 2, 0, 0, 0, 44, 142, 2, 0, 0, 0, 76, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 77, 1, 77, 109, 1], "image_id": 106352, "bbox": [32.66, 64.94, 84.55, 132.8], "category_id": 1, "id": 131941}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [627, 130, 2, 585, 124, 2, 617, 157, 2, 573, 143, 2, 594, 165, 2, 0, 0, 0, 604, 175, 2, 578, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 101, 1, 604, 123, 1], "image_id": 107569, "bbox": [569.6, 97.44, 63.09, 90.31], "category_id": 1, "id": 131946}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [368, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108324, "bbox": [328.86, 103.58, 54.31, 87.72], "category_id": 1, "id": 131947}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 17, 116, 2, 0, 0, 0, 3, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103057, "bbox": [2.11, 82.37, 42.24, 126.73], "category_id": 1, "id": 131951}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [309, 238, 2, 257, 219, 2, 345, 253, 2, 222, 198, 2, 381, 250, 2, 212, 162, 2, 287, 286, 2, 260, 300, 2, 271, 317, 2, 242, 352, 2, 274, 388, 1, 242, 404, 1, 307, 189, 1, 287, 221, 1], "image_id": 103043, "bbox": [194.72, 132.48, 214.77, 253.26], "category_id": 1, "id": 131970}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104458, "bbox": [451.32, 116.96, 44.77, 36.36], "category_id": 1, "id": 132049}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [443, 73, 2, 392, 69, 2, 458, 137, 2, 0, 0, 0, 447, 196, 2, 374, 179, 2, 426, 207, 2, 383, 207, 2, 434, 292, 2, 385, 292, 2, 448, 390, 2, 406, 371, 2, 406, 4, 1, 415, 58, 1], "image_id": 107592, "bbox": [365.66, 0, 113.26, 416.36], "category_id": 1, "id": 132054}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 400, 212, 2, 0, 0, 0, 354, 356, 2, 0, 0, 0, 386, 208, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 160, 1], "image_id": 107524, "bbox": [327.88, 0.92, 171.79, 403.61], "category_id": 1, "id": 132067}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [70, 277, 2, 59, 281, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 321, 2, 65, 326, 2, 78, 362, 2, 55, 362, 1, 0, 0, 0, 50, 397, 2, 69, 248, 1, 63, 271, 1], "image_id": 104985, "bbox": [43.93, 242.58, 44.89, 170.96], "category_id": 1, "id": 132068}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [459, 43, 2, 349, 189, 2, 451, 176, 2, 343, 281, 2, 423, 342, 2, 299, 287, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 56, 1, 407, 117, 1], "image_id": 105145, "bbox": [220.85, 2.09, 419.15, 377.94], "category_id": 1, "id": 132087}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [516, 207, 2, 484, 210, 2, 536, 246, 2, 465, 215, 1, 525, 213, 2, 441, 198, 1, 514, 275, 2, 502, 275, 2, 516, 333, 1, 486, 324, 1, 515, 377, 1, 0, 0, 0, 498, 174, 1, 500, 206, 1], "image_id": 107504, "bbox": [477.86, 166, 66.21, 173.68], "category_id": 1, "id": 132095}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [269, 150, 2, 186, 149, 2, 277, 205, 2, 178, 215, 2, 300, 266, 1, 157, 268, 1, 253, 292, 1, 201, 292, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 36, 1, 228, 127, 1], "image_id": 102589, "bbox": [161.83, 28.96, 140.22, 313.01], "category_id": 1, "id": 132104}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 148, 1], "image_id": 108441, "bbox": [417.59, 126.93, 30.43, 27.76], "category_id": 1, "id": 132114}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [242, 209, 2, 215, 211, 2, 233, 222, 2, 184, 222, 2, 237, 240, 2, 179, 251, 2, 223, 259, 2, 201, 258, 2, 237, 278, 2, 177, 299, 2, 229, 325, 2, 149, 327, 2, 244, 190, 1, 232, 207, 1], "image_id": 104945, "bbox": [133.64, 183.95, 123.65, 158.03], "category_id": 1, "id": 132125}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [202, 229, 2, 220, 231, 2, 0, 0, 0, 221, 266, 2, 0, 0, 0, 222, 292, 1, 200, 286, 2, 213, 288, 2, 200, 329, 2, 211, 332, 1, 195, 366, 2, 208, 368, 1, 235, 209, 1, 219, 221, 1], "image_id": 102581, "bbox": [188.12, 202, 56.34, 174.65], "category_id": 1, "id": 132138}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [214, 264, 2, 171, 266, 1, 223, 294, 2, 165, 296, 2, 213, 313, 1, 160, 316, 1, 209, 316, 1, 179, 315, 1, 203, 348, 1, 172, 344, 1, 0, 0, 0, 0, 0, 0, 189, 214, 1, 192, 258, 1], "image_id": 108463, "bbox": [156.51, 208.91, 74.6, 103.73], "category_id": 1, "id": 132149}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104989, "bbox": [74.26, 0, 73.72, 59.43], "category_id": 1, "id": 132153}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [273, 187, 2, 263, 181, 2, 278, 223, 2, 252, 212, 1, 286, 242, 2, 269, 242, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 158, 1, 269, 177, 1], "image_id": 104959, "bbox": [243.45, 151.4, 50.85, 109.4], "category_id": 1, "id": 132157}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [93, 340, 2, 87, 488, 2, 0, 0, 0, 169, 581, 2, 0, 0, 0, 286, 493, 2, 180, 437, 2, 180, 625, 1, 288, 316, 2, 307, 543, 2, 325, 441, 1, 370, 631, 1, 118, 204, 1, 97, 336, 1], "image_id": 107690, "bbox": [15.82, 120.81, 359.55, 487.55], "category_id": 1, "id": 132161}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 12, 1, 0, 0, 0], "image_id": 104733, "bbox": [99.68, 9.25, 40.62, 41.81], "category_id": 1, "id": 132166}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [557, 98, 2, 515, 106, 2, 590, 129, 2, 508, 150, 1, 592, 162, 2, 545, 155, 2, 553, 162, 2, 534, 164, 2, 572, 125, 2, 525, 172, 2, 592, 173, 2, 564, 179, 2, 553, 63, 1, 540, 95, 1], "image_id": 106983, "bbox": [503.34, 59.37, 113.29, 131.59], "category_id": 1, "id": 132167}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [205, 176, 2, 46, 211, 2, 265, 247, 2, 14, 392, 2, 354, 243, 2, 165, 375, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 49, 1, 122, 160, 1], "image_id": 108100, "bbox": [0.08, 36.99, 391.93, 386.36], "category_id": 1, "id": 132175}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [146, 119, 2, 69, 120, 2, 155, 176, 2, 53, 158, 2, 131, 197, 2, 65, 194, 1, 133, 211, 2, 83, 209, 1, 178, 258, 2, 39, 265, 2, 190, 349, 1, 38, 350, 2, 110, 48, 1, 110, 100, 1], "image_id": 103039, "bbox": [24.95, 33.58, 183.27, 329.13], "category_id": 1, "id": 132188}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [263.36, 407.58, 14.42, 15.27], "category_id": 1, "id": 132198}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [111, 105, 2, 80, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 71, 1, 96, 97, 1], "image_id": 106711, "bbox": [76.5, 68.77, 41.81, 49.82], "category_id": 1, "id": 132200}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [175, 212, 2, 156, 166, 2, 175, 237, 2, 185, 171, 2, 203, 257, 2, 206, 143, 2, 130, 297, 2, 83, 287, 2, 139, 387, 2, 133, 383, 2, 0, 0, 0, 0, 0, 0, 180, 101, 1, 171, 156, 1], "image_id": 105789, "bbox": [52.28, 92.97, 177.16, 333.03], "category_id": 1, "id": 132203}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [485, 456, 2, 451, 431, 2, 0, 0, 0, 357, 419, 2, 302, 470, 2, 308, 452, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 434, 2, 0, 0, 0, 0, 0, 0, 436, 370, 1, 449, 432, 1], "image_id": 103778, "bbox": [277.21, 360.27, 236.23, 114.34], "category_id": 1, "id": 132231}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [451, 98, 2, 361, 82, 2, 454, 186, 1, 387, 116, 2, 458, 244, 2, 447, 77, 2, 433, 257, 2, 369, 266, 2, 447, 397, 2, 367, 386, 1, 0, 0, 0, 0, 0, 0, 452, 33, 1, 407, 78, 1], "image_id": 108220, "bbox": [334.71, 2.89, 169.27, 418.38], "category_id": 1, "id": 132235}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 181, 1, 401, 190, 1], "image_id": 105582, "bbox": [393.03, 182.13, 18.28, 32.53], "category_id": 1, "id": 132250}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [115, 72, 2, 90, 69, 2, 124, 91, 2, 86, 90, 2, 136, 109, 2, 102, 100, 2, 111, 105, 2, 94, 104, 2, 127, 111, 2, 107, 111, 2, 128, 140, 1, 104, 139, 2, 110, 49, 1, 104, 68, 1], "image_id": 104727, "bbox": [79.4, 47.16, 58.91, 95.78], "category_id": 1, "id": 132273}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [11, 81, 2, 0, 0, 0, 13, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102795, "bbox": [0, 67.6, 19.11, 94.55], "category_id": 1, "id": 132279}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [14, 235, 2, 85, 232, 2, 0, 0, 0, 106, 264, 2, 0, 0, 0, 0, 0, 0, 34, 304, 2, 79, 303, 1, 66, 296, 2, 99, 287, 2, 79, 339, 1, 93, 349, 1, 56, 170, 1, 50, 214, 1], "image_id": 106047, "bbox": [3.77, 168.68, 111.77, 139.99], "category_id": 1, "id": 132281}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [368, 196, 2, 347, 195, 2, 371, 215, 2, 341, 208, 2, 372, 222, 2, 0, 0, 0, 366, 222, 2, 351, 223, 2, 364, 244, 2, 347, 243, 2, 362, 268, 2, 340, 268, 2, 355, 172, 1, 356, 190, 1], "image_id": 107117, "bbox": [324.86, 170.22, 49.75, 107.63], "category_id": 1, "id": 132286}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [392, 266, 2, 457, 264, 2, 0, 0, 0, 487, 344, 2, 0, 0, 0, 548, 311, 2, 399, 353, 1, 452, 358, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 200, 1, 439, 248, 1], "image_id": 104249, "bbox": [381.12, 190.81, 195.84, 175.35], "category_id": 1, "id": 132321}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [250, 158, 2, 280, 151, 2, 235, 180, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 211, 1, 298, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 118, 1, 264, 147, 1], "image_id": 108100, "bbox": [230.88, 116.07, 62.37, 71.58], "category_id": 1, "id": 132328}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 175, 1, 591, 200, 1], "image_id": 107913, "bbox": [565.61, 174.61, 26.93, 58.57], "category_id": 1, "id": 132343}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [66, 270, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103057, "bbox": [0, 140.01, 122.83, 209.77], "category_id": 1, "id": 132345}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [288, 246, 2, 254, 242, 2, 280, 273, 1, 245, 268, 2, 256, 266, 2, 272, 263, 1, 272, 290, 1, 249, 287, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 209, 1, 272, 236, 1], "image_id": 107575, "bbox": [241.4, 206.89, 54.91, 76.42], "category_id": 1, "id": 132354}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 45, 1, 268, 54, 1, 332, 36, 2, 347, 42, 2, 313, 125, 1, 362, 144, 2, 0, 0, 0, 0, 0, 0], "image_id": 106953, "bbox": [298.84, 13.76, 102.92, 144.86], "category_id": 1, "id": 132356}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 212, 1, 135, 222, 1], "image_id": 106987, "bbox": [126.76, 211.81, 16.87, 34.38], "category_id": 1, "id": 132363}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [477, 238, 2, 437, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 310, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 192, 1, 454, 230, 1], "image_id": 108328, "bbox": [435.53, 188.13, 44.47, 84.96], "category_id": 1, "id": 132384}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [194, 268, 2, 0, 0, 0, 184, 301, 2, 0, 0, 0, 160, 299, 2, 0, 0, 0, 207, 324, 2, 0, 0, 0, 155, 335, 2, 0, 0, 0, 142, 389, 2, 0, 0, 0, 205, 226, 1, 204, 256, 1], "image_id": 103313, "bbox": [116.37, 217.83, 117.33, 189.45], "category_id": 1, "id": 132397}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [231, 122, 2, 189, 99, 2, 233, 161, 2, 161, 81, 2, 242, 190, 2, 160, 55, 2, 208, 187, 2, 174, 173, 2, 206, 267, 2, 162, 254, 2, 207, 335, 1, 156, 324, 1, 218, 55, 1, 212, 94, 1], "image_id": 104400, "bbox": [145.57, 36.87, 115.46, 274.83], "category_id": 1, "id": 132403}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 11, 2, 452, 9, 1, 481, 57, 2, 459, 56, 2, 0, 0, 0, 0, 0, 0], "image_id": 104628, "bbox": [452.97, 0.54, 35.68, 70.27], "category_id": 1, "id": 132404}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [404, 183, 2, 380, 185, 2, 409, 306, 1, 382, 285, 1, 341, 313, 1, 344, 298, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 100, 1, 388, 171, 1], "image_id": 107230, "bbox": [305.26, 86.11, 106.78, 240.54], "category_id": 1, "id": 132414}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [249, 217, 2, 218, 125, 2, 0, 0, 0, 165, 124, 2, 0, 0, 0, 150, 102, 2, 177, 249, 2, 137, 221, 2, 244, 309, 2, 235, 231, 2, 239, 401, 1, 186, 331, 1, 265, 111, 1, 236, 158, 1], "image_id": 102582, "bbox": [104.49, 41.57, 180.9, 353.94], "category_id": 1, "id": 132415}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [161, 122, 2, 113, 134, 2, 168, 171, 1, 117, 195, 2, 0, 0, 0, 137, 241, 1, 0, 0, 0, 135, 223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 73, 1, 137, 125, 1], "image_id": 105485, "bbox": [92.65, 61.73, 74.96, 212.2], "category_id": 1, "id": 132421}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 7, 2, 175, 10, 2, 231, 67, 2, 199, 73, 1, 241, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103523, "bbox": [141.94, 0.26, 106.21, 84.51], "category_id": 1, "id": 132424}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 232, 1, 43, 236, 1], "image_id": 104693, "bbox": [38.86, 233.27, 10.47, 15.06], "category_id": 1, "id": 132436}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [229, 39, 2, 204, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 85, 1, 205, 85, 1, 224, 128, 1, 208, 127, 2, 227, 162, 1, 210, 162, 2, 213, 17, 1, 217, 34, 1], "image_id": 103248, "bbox": [198.5, 12, 37, 160], "category_id": 1, "id": 132443}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 65, 2, 322, 166, 2, 268, 158, 1, 317, 283, 2, 259, 270, 1, 315, 375, 2, 255, 374, 1, 0, 0, 0, 0, 0, 0], "image_id": 105828, "bbox": [207.87, 2.25, 125.13, 421.35], "category_id": 1, "id": 132453}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 174, 1, 36, 190, 1], "image_id": 106157, "bbox": [3.91, 173.04, 39.24, 56.53], "category_id": 1, "id": 132465}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [237, 53, 1, 214, 52, 2, 0, 0, 0, 201, 65, 2, 0, 0, 0, 215, 62, 2, 231, 84, 1, 220, 83, 2, 222, 117, 1, 214, 115, 2, 216, 140, 2, 207, 144, 2, 229, 29, 1, 226, 47, 1], "image_id": 104137, "bbox": [196.15, 26.12, 40.38, 129.95], "category_id": 1, "id": 132467}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105217, "bbox": [325.75, 409.89, 100.32, 70.11], "category_id": 1, "id": 132494}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [118, 349, 2, 101, 347, 2, 108, 379, 2, 83, 372, 2, 106, 400, 2, 74, 402, 2, 61, 374, 2, 66, 375, 2, 104, 410, 2, 72, 412, 2, 110, 451, 2, 57, 456, 2, 115, 320, 1, 107, 343, 1], "image_id": 103404, "bbox": [47.82, 316.78, 85.63, 156.99], "category_id": 1, "id": 132504}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 628, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 84, 1, 629, 182, 1], "image_id": 103549, "bbox": [570.93, 71.81, 69.07, 189.81], "category_id": 1, "id": 132520}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 145, 1], "image_id": 104871, "bbox": [541.48, 139.52, 17.44, 21.16], "category_id": 1, "id": 132549}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [298, 133, 2, 222, 149, 2, 313, 198, 2, 232, 223, 2, 309, 231, 2, 293, 235, 2, 295, 280, 2, 250, 284, 2, 323, 385, 2, 260, 401, 2, 327, 496, 2, 231, 504, 2, 260, 46, 1, 260, 118, 1], "image_id": 103896, "bbox": [192.46, 40.34, 187.52, 497.18], "category_id": 1, "id": 132556}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 128, 1, 218, 149, 1], "image_id": 105995, "bbox": [197.41, 127.04, 29.98, 46.43], "category_id": 1, "id": 132565}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [186, 150, 2, 137, 148, 2, 174, 195, 2, 104, 199, 2, 148, 148, 2, 118, 157, 2, 185, 280, 2, 152, 280, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 96, 1, 151, 137, 1], "image_id": 105432, "bbox": [66.38, 84.87, 133.5, 288.74], "category_id": 1, "id": 132573}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [214, 154, 2, 163, 152, 2, 231, 185, 2, 164, 181, 2, 188, 191, 2, 210, 177, 2, 211, 237, 2, 176, 237, 2, 218, 293, 2, 173, 293, 1, 216, 342, 2, 172, 345, 1, 185, 103, 1, 187, 144, 1], "image_id": 105305, "bbox": [146.7, 101.39, 93.84, 281.53], "category_id": 1, "id": 132579}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [105, 157, 2, 38, 155, 2, 120, 212, 2, 22, 222, 2, 118, 266, 2, 36, 279, 2, 100, 269, 2, 45, 268, 2, 92, 343, 2, 54, 346, 2, 91, 424, 2, 59, 427, 2, 77, 80, 1, 68, 136, 1], "image_id": 105547, "bbox": [8.15, 77.43, 119.94, 391.25], "category_id": 1, "id": 132581}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 290, 2, 150, 296, 2, 120, 333, 2, 102, 333, 2, 116, 382, 2, 105, 382, 2, 106, 428, 2, 96, 434, 1, 111, 216, 1, 106, 247, 1], "image_id": 104478, "bbox": [75.24, 215.56, 89.73, 240], "category_id": 1, "id": 132591}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [190, 128, 2, 131, 129, 2, 200, 186, 2, 110, 203, 1, 200, 206, 2, 142, 223, 2, 186, 225, 2, 156, 224, 2, 169, 321, 2, 142, 332, 2, 172, 400, 2, 138, 407, 2, 159, 54, 1, 159, 113, 1], "image_id": 105547, "bbox": [115.02, 56.93, 92.94, 384.55], "category_id": 1, "id": 132609}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 284, 104, 2, 0, 0, 0, 287, 135, 2, 0, 0, 0, 295, 161, 1, 0, 0, 0, 281, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 81, 1, 287, 96, 1], "image_id": 103689, "bbox": [270.71, 71.75, 37.06, 82.05], "category_id": 1, "id": 132619}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [391, 372, 2, 386, 371, 2, 382, 384, 2, 0, 0, 0, 367, 388, 2, 0, 0, 0, 394, 393, 2, 383, 388, 2, 371, 393, 2, 366, 394, 2, 382, 410, 2, 374, 412, 2, 388, 348, 1, 390, 365, 1], "image_id": 102920, "bbox": [358.16, 346.37, 46.87, 75.55], "category_id": 1, "id": 132625}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [187, 295, 2, 140, 300, 2, 193, 338, 2, 136, 333, 2, 168, 351, 2, 139, 346, 2, 175, 371, 2, 148, 370, 2, 199, 353, 2, 112, 351, 2, 194, 391, 2, 91, 392, 1, 159, 253, 1, 162, 288, 1], "image_id": 102576, "bbox": [70.11, 234.07, 145.62, 159.64], "category_id": 1, "id": 132642}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [347, 165, 2, 340, 176, 2, 0, 0, 0, 371, 222, 2, 373, 218, 2, 411, 219, 2, 335, 245, 2, 320, 246, 2, 360, 285, 2, 343, 300, 2, 342, 353, 2, 325, 370, 2, 362, 126, 1, 342, 162, 1], "image_id": 107023, "bbox": [275.73, 115.96, 150.96, 266.15], "category_id": 1, "id": 132657}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 462, 284, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 387, 2, 449, 373, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 215, 1, 477, 279, 1], "image_id": 105655, "bbox": [433.73, 201.48, 69.25, 195.23], "category_id": 1, "id": 132659}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [75, 159, 2, 44, 164, 2, 0, 0, 0, 39, 193, 2, 0, 0, 0, 62, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 119, 1, 57, 149, 1], "image_id": 104372, "bbox": [27.53, 123.46, 62.79, 87.03], "category_id": 1, "id": 132667}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 164, 1], "image_id": 108372, "bbox": [108.73, 154.08, 30.4, 31.69], "category_id": 1, "id": 132678}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [286, 81, 2, 280, 82, 2, 289, 105, 2, 0, 0, 0, 286, 127, 2, 0, 0, 0, 273, 123, 2, 285, 125, 2, 270, 152, 2, 280, 153, 2, 275, 180, 2, 283, 181, 2, 272, 61, 1, 278, 79, 1], "image_id": 102551, "bbox": [263.38, 57.59, 31.77, 132.06], "category_id": 1, "id": 132681}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [383, 313, 2, 219, 282, 2, 385, 412, 2, 205, 385, 2, 312, 407, 2, 236, 393, 2, 343, 450, 1, 229, 448, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 182, 1, 295, 282, 1], "image_id": 102706, "bbox": [192.04, 173.56, 209.5, 273.17], "category_id": 1, "id": 132705}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [427, 258, 2, 462, 253, 2, 411, 257, 2, 471, 270, 2, 400, 254, 2, 486, 296, 1, 437, 307, 1, 464, 305, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 228, 1, 444, 247, 1], "image_id": 105327, "bbox": [392.03, 228.66, 90.22, 62.86], "category_id": 1, "id": 132733}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [225, 304, 2, 325, 317, 2, 0, 0, 0, 383, 270, 2, 0, 0, 0, 336, 227, 2, 202, 451, 2, 292, 445, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 176, 1, 282, 291, 1], "image_id": 104000, "bbox": [177.3, 160.72, 219.1, 405.05], "category_id": 1, "id": 132737}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [243, 133, 1, 225, 131, 1, 246, 146, 1, 213, 144, 1, 232, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 76, 1, 229, 93, 1], "image_id": 103586, "bbox": [204.14, 73.57, 50.56, 51.76], "category_id": 1, "id": 132743}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [317, 229, 2, 293, 233, 2, 327, 246, 2, 290, 252, 2, 318, 249, 2, 302, 251, 2, 316, 273, 2, 304, 273, 2, 319, 303, 1, 303, 302, 1, 0, 0, 0, 0, 0, 0, 301, 212, 1, 304, 228, 1], "image_id": 103313, "bbox": [284.16, 212.31, 47.39, 83.12], "category_id": 1, "id": 132748}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 302, 1, 33, 309, 1], "image_id": 102913, "bbox": [23.59, 302.87, 16.77, 38.18], "category_id": 1, "id": 132749}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [378, 112, 2, 370, 139, 2, 341, 113, 2, 380, 200, 2, 322, 93, 2, 425, 227, 2, 329, 185, 2, 293, 185, 2, 353, 248, 2, 340, 248, 2, 293, 268, 2, 314, 302, 2, 405, 100, 1, 383, 130, 1], "image_id": 104635, "bbox": [269.17, 64.06, 202.62, 268.18], "category_id": 1, "id": 132761}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [296, 315, 2, 266, 315, 2, 312, 352, 2, 285, 365, 2, 321, 381, 2, 317, 397, 2, 301, 398, 2, 274, 394, 2, 286, 489, 2, 269, 489, 2, 272, 548, 2, 263, 557, 2, 266, 251, 1, 271, 295, 1], "image_id": 105383, "bbox": [240.28, 243.02, 88.01, 338.19], "category_id": 1, "id": 132765}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [538, 190, 2, 565, 188, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 228, 2, 567, 228, 2, 531, 230, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 172, 1, 551, 184, 1], "image_id": 104325, "bbox": [526.25, 169.83, 51.61, 74.74], "category_id": 1, "id": 132781}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 338, 2, 352, 320, 2, 412, 391, 2, 418, 335, 2, 442, 415, 2, 459, 326, 2, 276, 356, 2, 264, 385, 2, 209, 377, 2, 175, 382, 2, 134, 305, 2, 99, 320, 2, 363, 258, 1, 367, 315, 1], "image_id": 106076, "bbox": [60.85, 250.34, 437.7, 192.17], "category_id": 1, "id": 132792}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [175, 265, 2, 136, 272, 2, 0, 0, 0, 136, 366, 2, 0, 0, 0, 198, 350, 2, 200, 397, 2, 172, 417, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 166, 1, 156, 242, 1], "image_id": 105825, "bbox": [103.9, 159.94, 132.36, 275.41], "category_id": 1, "id": 132807}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [246, 102, 1, 210, 104, 2, 0, 0, 0, 197, 134, 1, 0, 0, 0, 200, 99, 2, 0, 0, 0, 211, 171, 2, 0, 0, 0, 208, 213, 2, 0, 0, 0, 0, 0, 0, 228, 61, 1, 231, 94, 1], "image_id": 106352, "bbox": [189.2, 53.91, 53.76, 185.22], "category_id": 1, "id": 132816}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [324, 116, 2, 258, 116, 2, 341, 186, 1, 247, 181, 2, 303, 188, 2, 262, 222, 2, 319, 222, 2, 279, 221, 2, 308, 324, 2, 0, 0, 0, 301, 399, 2, 0, 0, 0, 296, 49, 1, 293, 99, 1], "image_id": 105547, "bbox": [236.38, 40.17, 117.6, 392.41], "category_id": 1, "id": 132827}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 107, 1, 144, 142, 1], "image_id": 108272, "bbox": [113.88, 98.9, 48.98, 91.16], "category_id": 1, "id": 132831}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [139, 317, 1, 63, 300, 2, 136, 391, 2, 45, 341, 2, 86, 428, 2, 106, 336, 2, 114, 414, 2, 65, 410, 2, 149, 408, 2, 5, 408, 2, 65, 459, 2, 74, 458, 2, 101, 254, 1, 98, 312, 1], "image_id": 106077, "bbox": [0, 245.33, 168, 234.76], "category_id": 1, "id": 132837}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [511, 149, 2, 449, 151, 2, 522, 208, 2, 0, 0, 0, 491, 227, 1, 0, 0, 0, 496, 246, 1, 458, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 82, 1, 479, 131, 1], "image_id": 105547, "bbox": [439.7, 75.03, 96.15, 150.5], "category_id": 1, "id": 132845}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 24, 51, 2, 0, 0, 0, 17, 65, 2, 0, 0, 0, 17, 76, 2, 31, 76, 2, 21, 76, 2, 0, 0, 0, 13, 75, 2, 0, 0, 0, 18, 101, 2, 32, 37, 1, 31, 47, 1], "image_id": 104137, "bbox": [6.29, 36.44, 38.12, 75.09], "category_id": 1, "id": 132863}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 99, 2, 530, 99, 2, 501, 132, 2, 531, 136, 2, 507, 159, 2, 536, 162, 1, 511, 168, 2, 527, 168, 2, 514, 199, 2, 526, 202, 2, 517, 245, 2, 512, 247, 2, 525, 62, 1, 520, 86, 1], "image_id": 105692, "bbox": [496.18, 56.09, 46.38, 210.34], "category_id": 1, "id": 132886}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 605, 111, 1, 0, 0, 0], "image_id": 108441, "bbox": [591.27, 109.98, 18.32, 36.95], "category_id": 1, "id": 132896}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [147, 167, 1, 115, 167, 2, 0, 0, 0, 96, 190, 1, 0, 0, 0, 121, 178, 2, 143, 209, 1, 118, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 137, 1, 129, 163, 1], "image_id": 105995, "bbox": [98.84, 134.16, 45.97, 66.51], "category_id": 1, "id": 132920}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 55, 1, 0, 0, 0, 315, 122, 2, 0, 0, 0, 0, 0, 0], "image_id": 106953, "bbox": [309.18, 69.2, 31.42, 77.85], "category_id": 1, "id": 132943}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [368, 145, 2, 389, 150, 2, 0, 0, 0, 389, 183, 2, 0, 0, 0, 412, 204, 2, 357, 221, 2, 371, 228, 2, 0, 0, 0, 376, 288, 2, 0, 0, 0, 356, 354, 1, 395, 104, 1, 382, 138, 1], "image_id": 103718, "bbox": [341.72, 98.98, 90.66, 240.03], "category_id": 1, "id": 132947}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [188, 201, 2, 155, 201, 2, 193, 221, 1, 151, 221, 2, 0, 0, 0, 0, 0, 0, 183, 256, 1, 163, 256, 2, 181, 290, 1, 166, 291, 2, 181, 334, 1, 169, 333, 2, 171, 167, 1, 171, 191, 1], "image_id": 107357, "bbox": [141.41, 162.71, 53.27, 184.03], "category_id": 1, "id": 132952}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [546, 379, 2, 580, 384, 2, 535, 395, 2, 586, 409, 2, 531, 407, 2, 586, 426, 2, 545, 424, 2, 568, 428, 1, 542, 454, 2, 564, 451, 2, 0, 0, 0, 561, 471, 2, 564, 345, 1, 563, 367, 1], "image_id": 107115, "bbox": [527.51, 343.55, 64.59, 136.45], "category_id": 1, "id": 132957}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [433, 127, 2, 388, 148, 2, 421, 177, 2, 365, 182, 2, 378, 188, 2, 415, 176, 2, 423, 222, 2, 385, 222, 2, 418, 305, 2, 375, 289, 2, 0, 0, 0, 427, 346, 2, 401, 84, 1, 411, 128, 1], "image_id": 107899, "bbox": [359.7, 81.43, 90.12, 269.57], "category_id": 1, "id": 132968}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [456, 261, 2, 384, 264, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 331, 1, 393, 336, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 190, 1, 417, 243, 1], "image_id": 103280, "bbox": [362.46, 188.07, 122.93, 146.03], "category_id": 1, "id": 132975}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [514, 319, 2, 466, 315, 2, 528, 350, 2, 465, 345, 2, 525, 366, 2, 478, 353, 2, 499, 357, 2, 475, 358, 1, 531, 366, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 274, 1, 490, 311, 1], "image_id": 107504, "bbox": [458.62, 272.37, 77.62, 105.76], "category_id": 1, "id": 132988}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [431, 144, 2, 375, 153, 2, 460, 207, 2, 351, 207, 2, 445, 248, 2, 333, 239, 2, 455, 226, 2, 413, 226, 2, 502, 308, 2, 365, 248, 2, 575, 316, 2, 361, 335, 2, 375, 97, 1, 395, 141, 1], "image_id": 108035, "bbox": [323.37, 93.08, 278.27, 256.2], "category_id": 1, "id": 133011}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [463.02, 399.52, 56.74, 80.48], "category_id": 1, "id": 133013}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [528, 72, 2, 499, 72, 2, 534, 92, 2, 494, 97, 1, 514, 98, 2, 0, 0, 0, 523, 120, 2, 501, 124, 2, 520, 154, 2, 504, 155, 2, 520, 204, 1, 507, 205, 1, 508, 42, 1, 510, 65, 1], "image_id": 104189, "bbox": [467.09, 37.83, 89, 170.57], "category_id": 1, "id": 133018}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107592, "bbox": [534.03, 0, 19.8, 12.45], "category_id": 1, "id": 133023}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [214, 335, 2, 171, 307, 2, 0, 0, 0, 167, 258, 2, 0, 0, 0, 172, 216, 2, 199, 397, 2, 178, 393, 2, 203, 471, 2, 178, 468, 2, 198, 547, 2, 159, 540, 2, 188, 279, 1, 192, 307, 1], "image_id": 105778, "bbox": [152.18, 186.24, 70.12, 393.36], "category_id": 1, "id": 133025}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [390, 206, 2, 0, 0, 0, 379, 249, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 290, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 162, 1, 384, 195, 1], "image_id": 106031, "bbox": [375.53, 161.5, 33.54, 166.73], "category_id": 1, "id": 133029}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108100, "bbox": [256.6, 104.78, 39.97, 44.58], "category_id": 1, "id": 133039}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [301, 172, 2, 270, 168, 2, 317, 223, 2, 0, 0, 0, 257, 218, 2, 0, 0, 0, 315, 307, 2, 283, 305, 2, 308, 405, 2, 276, 392, 2, 348, 520, 2, 359, 441, 2, 270, 80, 1, 273, 144, 1], "image_id": 108109, "bbox": [208.52, 76.48, 190.71, 473.62], "category_id": 1, "id": 133047}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [460, 72, 1, 492, 78, 1, 435, 107, 1, 0, 0, 0, 416, 137, 2, 0, 0, 0, 444, 124, 1, 467, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 39, 1, 488, 61, 1], "image_id": 107569, "bbox": [397.79, 34.7, 116.64, 140.7], "category_id": 1, "id": 133054}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [193, 250, 2, 158, 257, 2, 0, 0, 0, 156, 290, 2, 0, 0, 0, 173, 303, 2, 193, 308, 1, 165, 314, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 199, 1, 171, 244, 1], "image_id": 106310, "bbox": [140.56, 192.7, 63.31, 122.72], "category_id": 1, "id": 133071}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [239, 401, 2, 217, 386, 2, 262, 407, 2, 206, 380, 1, 273, 376, 2, 225, 345, 2, 256, 472, 2, 248, 479, 2, 275, 526, 2, 294, 523, 2, 256, 574, 2, 308, 576, 2, 213, 346, 1, 222, 384, 1], "image_id": 105778, "bbox": [205.86, 316.93, 135.18, 278.86], "category_id": 1, "id": 133072}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [616, 200, 2, 527, 195, 2, 623, 291, 2, 0, 0, 0, 582, 369, 2, 0, 0, 0, 585, 362, 2, 515, 360, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 89, 1, 563, 170, 1], "image_id": 102706, "bbox": [519.12, 76.23, 119.02, 375.23], "category_id": 1, "id": 133075}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 109, 1, 435, 126, 1], "image_id": 108296, "bbox": [423.34, 108.83, 20.88, 29.47], "category_id": 1, "id": 133079}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [187, 204, 2, 198, 200, 2, 150, 234, 2, 0, 0, 0, 0, 0, 0, 150, 219, 2, 192, 270, 1, 204, 267, 1, 134, 280, 2, 140, 267, 2, 166, 321, 1, 171, 309, 1, 177, 172, 1, 185, 198, 1], "image_id": 106047, "bbox": [124.69, 166.22, 91.89, 157.01], "category_id": 1, "id": 133086}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [598, 540, 2, 585, 544, 2, 602, 555, 2, 586, 560, 2, 601, 567, 2, 585, 573, 2, 597, 569, 2, 589, 570, 2, 599, 588, 2, 594, 590, 2, 605, 600, 2, 600, 602, 2, 584, 524, 1, 589, 537, 1], "image_id": 103384, "bbox": [578.12, 520.96, 30.23, 86.97], "category_id": 1, "id": 133098}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [279, 184, 2, 201, 174, 2, 296, 246, 2, 171, 227, 2, 305, 295, 2, 135, 261, 2, 258, 292, 2, 208, 289, 2, 247, 390, 2, 182, 374, 2, 245, 485, 2, 148, 459, 2, 246, 104, 1, 239, 164, 1], "image_id": 107168, "bbox": [100.9, 97.3, 223.42, 425.22], "category_id": 1, "id": 133099}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [330, 249, 2, 306, 248, 2, 325, 288, 2, 0, 0, 0, 299, 290, 2, 0, 0, 0, 325, 322, 2, 301, 319, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 202, 1, 314, 235, 1], "image_id": 107452, "bbox": [280.69, 195.54, 63.61, 139.41], "category_id": 1, "id": 133111}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [515, 142, 2, 498, 144, 2, 506, 155, 2, 485, 153, 2, 494, 147, 2, 486, 141, 2, 517, 183, 2, 505, 183, 2, 527, 210, 2, 498, 210, 2, 536, 234, 2, 492, 236, 2, 498, 125, 1, 505, 139, 1], "image_id": 103313, "bbox": [478.47, 124.79, 66.81, 117.47], "category_id": 1, "id": 133113}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [13, 185, 2, 0, 0, 0, 4, 227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 269, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 134, 1, 0, 170, 1], "image_id": 104726, "bbox": [0.63, 130.28, 29.88, 133.23], "category_id": 1, "id": 133133}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [406, 230, 1, 303, 231, 2, 389, 336, 1, 294, 346, 2, 342, 287, 1, 286, 281, 2, 392, 405, 2, 306, 402, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 105, 1, 359, 204, 1], "image_id": 108370, "bbox": [268.69, 91.48, 132.41, 335.52], "category_id": 1, "id": 133134}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105904, "bbox": [108.75, 183.04, 23.26, 42.97], "category_id": 1, "id": 133147}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [503, 333, 2, 435, 345, 2, 541, 369, 1, 421, 380, 2, 520, 337, 1, 468, 352, 2, 503, 423, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 257, 1, 472, 332, 1], "image_id": 103544, "bbox": [415.45, 233.99, 105.06, 185.28], "category_id": 1, "id": 133159}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [288, 345, 2, 272, 343, 2, 237, 399, 2, 227, 383, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 279, 1, 275, 333, 1], "image_id": 107524, "bbox": [185.64, 266.64, 166.25, 138.54], "category_id": 1, "id": 133171}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [505, 219, 2, 0, 0, 0, 521, 290, 2, 0, 0, 0, 525, 359, 2, 0, 0, 0, 496, 359, 2, 0, 0, 0, 464, 443, 2, 510, 450, 2, 0, 0, 0, 0, 0, 0, 472, 133, 1, 484, 194, 1], "image_id": 108116, "bbox": [435.78, 123.72, 115.41, 349.48], "category_id": 1, "id": 133177}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [299, 155, 2, 292, 150, 2, 0, 0, 0, 302, 186, 1, 0, 0, 0, 329, 181, 2, 304, 236, 2, 296, 237, 2, 295, 290, 2, 300, 293, 2, 290, 339, 2, 291, 345, 2, 318, 120, 1, 302, 147, 1], "image_id": 106415, "bbox": [276.68, 114.43, 78.09, 257.4], "category_id": 1, "id": 133202}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [250, 250, 2, 205, 248, 2, 0, 0, 0, 192, 278, 1, 0, 0, 0, 213, 259, 2, 244, 309, 1, 217, 309, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 219, 1, 228, 248, 1], "image_id": 105327, "bbox": [188.96, 215.9, 68.1, 69.03], "category_id": 1, "id": 133207}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [319, 450, 2, 241, 438, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 380, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [261.52, 364.48, 63.5, 108.7], "category_id": 1, "id": 133216}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 53, 1, 537, 59, 2, 492, 193, 1, 523, 190, 2, 0, 0, 0, 0, 0, 0], "image_id": 105621, "bbox": [517.26, 3.44, 30.7, 214.94], "category_id": 1, "id": 133240}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [273, 128, 1, 245, 132, 1, 302, 166, 1, 249, 185, 1, 0, 0, 0, 0, 0, 0, 272, 189, 1, 253, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 84, 1, 277, 118, 1], "image_id": 107413, "bbox": [228.35, 80.17, 81.79, 121.09], "category_id": 1, "id": 133242}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [346, 287, 2, 308, 268, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 228, 1, 332, 267, 1], "image_id": 102569, "bbox": [324.59, 225.18, 34.68, 76.4], "category_id": 1, "id": 133243}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 623, 45, 2, 0, 0, 0, 619, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107213, "bbox": [609.41, 27.17, 30.59, 59.79], "category_id": 1, "id": 133250}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [123, 197, 2, 92, 194, 2, 131, 212, 2, 64, 216, 2, 130, 238, 2, 64, 243, 2, 99, 241, 2, 79, 239, 2, 119, 269, 2, 75, 286, 2, 113, 313, 2, 52, 320, 2, 115, 166, 1, 108, 188, 1], "image_id": 104945, "bbox": [36.91, 160.79, 100.24, 177.13], "category_id": 1, "id": 133258}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [130, 412, 2, 100, 415, 2, 133, 436, 2, 90, 443, 2, 141, 454, 2, 96, 462, 2, 128, 467, 2, 106, 464, 2, 141, 506, 2, 118, 499, 2, 137, 547, 2, 104, 546, 2, 115, 381, 1, 115, 406, 1], "image_id": 105778, "bbox": [83.42, 376.81, 69.03, 181.59], "category_id": 1, "id": 133260}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 3, 2, 355, 6, 2, 371, 35, 2, 347, 42, 2, 0, 0, 0, 0, 0, 0], "image_id": 105597, "bbox": [339.86, 0, 43.2, 58.45], "category_id": 1, "id": 133268}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [149, 107, 2, 105, 114, 2, 175, 155, 2, 117, 198, 2, 217, 159, 2, 167, 234, 2, 122, 249, 2, 74, 255, 2, 160, 318, 1, 39, 339, 2, 153, 424, 1, 47, 280, 2, 145, 47, 1, 130, 108, 1], "image_id": 106076, "bbox": [26.54, 35.24, 220.51, 314.92], "category_id": 1, "id": 133280}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [349, 219, 2, 0, 0, 0, 380, 253, 1, 0, 0, 0, 341, 232, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103280, "bbox": [287.67, 163.59, 95.82, 136.97], "category_id": 1, "id": 133286}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [379, 534, 2, 323, 490, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 407, 1, 350, 484, 1], "image_id": 106060, "bbox": [275.18, 404.82, 125.15, 179.91], "category_id": 1, "id": 133293}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108236, "bbox": [426.99, 240.74, 26.9, 59], "category_id": 1, "id": 133312}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 173, 1, 252, 183, 1], "image_id": 102679, "bbox": [235.99, 172.13, 27.37, 42.44], "category_id": 1, "id": 133322}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [509, 238, 2, 455, 236, 2, 518, 294, 2, 448, 290, 2, 513, 342, 2, 409, 258, 1, 482, 329, 2, 451, 322, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 177, 1, 479, 225, 1], "image_id": 106975, "bbox": [423.47, 172.79, 100.59, 188.21], "category_id": 1, "id": 133325}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [6, 69, 2, 9, 71, 2, 0, 0, 0, 21, 87, 2, 0, 0, 0, 38, 98, 2, 12, 111, 1, 16, 113, 2, 16, 142, 1, 18, 146, 2, 15, 173, 2, 23, 176, 2, 8, 42, 1, 9, 62, 1], "image_id": 107513, "bbox": [0, 41.61, 42.54, 145.06], "category_id": 1, "id": 133328}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [290, 150, 2, 215, 136, 2, 284, 215, 2, 203, 194, 2, 257, 260, 2, 202, 211, 2, 275, 232, 2, 241, 230, 2, 309, 231, 2, 174, 231, 2, 307, 348, 2, 0, 0, 0, 228, 87, 1, 247, 140, 1], "image_id": 102964, "bbox": [165.43, 70.21, 176.97, 327.01], "category_id": 1, "id": 133336}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [513, 325, 2, 484, 325, 2, 518, 353, 2, 485, 347, 2, 520, 341, 2, 495, 329, 2, 513, 354, 2, 494, 354, 2, 537, 349, 2, 490, 344, 2, 507, 360, 2, 518, 362, 1, 502, 297, 1, 500, 319, 1], "image_id": 105789, "bbox": [477.46, 296.77, 62.65, 64.89], "category_id": 1, "id": 133345}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107461, "bbox": [199.07, 229.13, 21.77, 45.81], "category_id": 1, "id": 133350}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [275, 144, 2, 259, 151, 2, 0, 0, 0, 255, 177, 2, 0, 0, 0, 272, 180, 2, 264, 192, 2, 253, 189, 2, 264, 227, 2, 263, 219, 2, 259, 255, 2, 239, 245, 2, 275, 126, 1, 268, 145, 1], "image_id": 108139, "bbox": [228.08, 121.04, 59.43, 143.76], "category_id": 1, "id": 133355}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 199, 1, 189, 232, 1], "image_id": 106310, "bbox": [182.01, 192.98, 34.25, 84.37], "category_id": 1, "id": 133359}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [83, 191, 1, 8, 201, 2, 91, 257, 2, 0, 0, 0, 84, 332, 2, 27, 346, 2, 86, 378, 1, 36, 387, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 92, 1, 45, 170, 1], "image_id": 105822, "bbox": [0, 70.11, 111.1, 375.37], "category_id": 1, "id": 133372}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 49, 1, 305, 61, 1], "image_id": 108001, "bbox": [296.04, 48.82, 22.08, 30.32], "category_id": 1, "id": 133379}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 567, 244, 2, 0, 0, 0, 558, 349, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, 368, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105721, "bbox": [534.04, 223.29, 46.36, 200.71], "category_id": 1, "id": 133385}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [235, 150, 2, 186, 142, 2, 278, 145, 2, 178, 142, 2, 282, 181, 2, 137, 145, 2, 227, 248, 2, 190, 252, 2, 289, 287, 2, 154, 329, 2, 299, 378, 2, 77, 353, 2, 203, 95, 1, 200, 138, 1], "image_id": 104860, "bbox": [38.18, 89.51, 304.42, 319.49], "category_id": 1, "id": 133393}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [212, 304, 1, 0, 0, 0, 306, 319, 1, 0, 0, 0, 289, 321, 1, 153, 329, 1, 230, 400, 1, 181, 403, 2, 226, 457, 2, 160, 462, 2, 0, 0, 0, 0, 0, 0, 162, 260, 1, 173, 308, 1], "image_id": 106077, "bbox": [139.86, 248.64, 146.2, 226.89], "category_id": 1, "id": 133403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 87, 2, 304, 84, 1, 359, 133, 1, 274, 126, 2, 377, 164, 1, 255, 159, 2, 341, 184, 1, 311, 183, 1, 374, 234, 2, 293, 240, 2, 387, 282, 2, 281, 287, 2, 326, 35, 1, 324, 75, 1], "image_id": 104635, "bbox": [242.84, 26.88, 173.14, 285.83], "category_id": 1, "id": 133418}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 234, 1, 33, 237, 1], "image_id": 104693, "bbox": [29.26, 234.97, 6.22, 13.09], "category_id": 1, "id": 133421}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [288, 143, 2, 280, 143, 2, 290, 173, 2, 0, 0, 0, 269, 178, 1, 0, 0, 0, 286, 198, 2, 274, 198, 2, 288, 234, 2, 275, 230, 1, 292, 265, 1, 0, 0, 0, 270, 119, 1, 280, 136, 1], "image_id": 105147, "bbox": [258.19, 113.62, 44.1, 166.07], "category_id": 1, "id": 133430}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 408, 1, 0, 0, 0], "image_id": 104461, "bbox": [337.63, 401.83, 81.69, 76.9], "category_id": 1, "id": 133431}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 51, 1, 323, 66, 1], "image_id": 103248, "bbox": [307.55, 50.62, 26.85, 40.8], "category_id": 1, "id": 133458}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [272, 243, 2, 240, 243, 2, 279, 262, 2, 236, 261, 2, 282, 280, 2, 244, 273, 2, 268, 296, 2, 247, 297, 2, 264, 331, 2, 248, 326, 2, 261, 361, 2, 253, 350, 2, 249, 214, 1, 254, 236, 1], "image_id": 104478, "bbox": [230.83, 209.26, 61.48, 157.48], "category_id": 1, "id": 133461}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [302, 262, 2, 203, 266, 2, 317, 338, 1, 176, 352, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 164, 1, 255, 246, 1], "image_id": 106047, "bbox": [158.43, 161.8, 171.06, 186.23], "category_id": 1, "id": 133475}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [265, 179, 2, 248, 211, 1, 313, 237, 2, 316, 284, 2, 312, 291, 2, 343, 203, 1, 333, 300, 2, 327, 323, 2, 458, 339, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 88, 1, 243, 176, 1], "image_id": 107612, "bbox": [212.98, 82.29, 254.93, 272.68], "category_id": 1, "id": 133491}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 52, 1, 448, 61, 1], "image_id": 108001, "bbox": [444.68, 52.06, 33.09, 35.7], "category_id": 1, "id": 133498}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [276, 271, 2, 226, 259, 2, 280, 313, 1, 195, 259, 1, 269, 339, 2, 172, 255, 1, 278, 325, 2, 247, 323, 2, 298, 346, 2, 223, 347, 1, 290, 383, 1, 0, 0, 0, 255, 212, 1, 251, 258, 1], "image_id": 108463, "bbox": [211.63, 206.54, 91.27, 149.01], "category_id": 1, "id": 133506}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [461, 163, 2, 452, 166, 1, 449, 177, 2, 0, 0, 0, 433, 186, 2, 0, 0, 0, 460, 188, 2, 454, 188, 2, 453, 210, 2, 440, 199, 2, 455, 230, 2, 449, 214, 2, 455, 143, 1, 457, 157, 1], "image_id": 103689, "bbox": [424.64, 138.63, 44.11, 98.71], "category_id": 1, "id": 133518}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106087, "bbox": [0.24, 118.76, 20.18, 72.03], "category_id": 1, "id": 133523}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 341, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107650, "bbox": [0.24, 261.26, 125.18, 126.54], "category_id": 1, "id": 133535}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 22, 229, 2, 0, 0, 0, 13, 267, 2, 0, 0, 0, 46, 284, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 200, 1, 34, 227, 1], "image_id": 107828, "bbox": [0, 192, 57.27, 121.7], "category_id": 1, "id": 133554}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [412, 450, 2, 337, 419, 2, 0, 0, 0, 311, 379, 1, 0, 0, 0, 349, 306, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 370, 1, 375, 427, 1], "image_id": 104400, "bbox": [306.98, 280.09, 116.03, 199.91], "category_id": 1, "id": 133577}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 292, 2, 318, 284, 2, 320, 350, 2, 285, 316, 2, 284, 326, 2, 251, 337, 2, 330, 376, 2, 333, 370, 2, 258, 341, 2, 271, 340, 2, 218, 384, 1, 223, 381, 1, 297, 240, 1, 308, 278, 1], "image_id": 106073, "bbox": [242.23, 226.38, 103.77, 165.27], "category_id": 1, "id": 133579}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [290, 271, 2, 253, 281, 2, 269, 311, 2, 231, 329, 2, 308, 315, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 208, 1, 270, 269, 1], "image_id": 106310, "bbox": [218.23, 200.38, 113.94, 135.16], "category_id": 1, "id": 133581}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [405, 92, 2, 489, 87, 2, 377, 177, 2, 514, 161, 2, 0, 0, 0, 560, 216, 2, 414, 218, 2, 478, 211, 2, 396, 364, 2, 526, 353, 2, 0, 0, 0, 0, 0, 0, 460, 9, 1, 452, 65, 1], "image_id": 105787, "bbox": [362.98, 5.57, 218.19, 420.43], "category_id": 1, "id": 133582}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [402, 219, 2, 306, 202, 2, 383, 320, 2, 298, 289, 2, 309, 261, 2, 269, 263, 2, 379, 357, 2, 316, 345, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 115, 1, 346, 196, 1], "image_id": 102880, "bbox": [251.33, 110.92, 180.13, 269.66], "category_id": 1, "id": 133593}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 183, 1, 288, 191, 1], "image_id": 104948, "bbox": [279.98, 179.57, 29.84, 58.88], "category_id": 1, "id": 133595}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [196, 394, 2, 272, 423, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 316, 1, 245, 380, 1], "image_id": 106221, "bbox": [158.39, 290.48, 146.06, 138.52], "category_id": 1, "id": 133596}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [262, 295, 2, 157, 371, 2, 295, 362, 2, 217, 465, 2, 349, 363, 1, 342, 428, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 204, 1, 206, 305, 1], "image_id": 107230, "bbox": [112.18, 165.03, 289.08, 309.58], "category_id": 1, "id": 133603}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [20, 66, 2, 0, 0, 0, 24, 85, 2, 0, 0, 0, 24, 92, 2, 11, 94, 2, 17, 96, 2, 0, 0, 0, 24, 104, 2, 0, 0, 0, 27, 138, 1, 0, 0, 0, 14, 44, 1, 8, 61, 1], "image_id": 104727, "bbox": [0, 41.75, 30.41, 94.41], "category_id": 1, "id": 133604}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105812, "bbox": [401.35, 199.15, 9.56, 16.42], "category_id": 1, "id": 133629}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [51, 37, 1, 102, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 182, 1, 108, 176, 2, 68, 286, 1, 106, 284, 1, 75, 374, 1, 99, 366, 2, 148, 85, 1, 0, 0, 0], "image_id": 105828, "bbox": [67.42, 3.18, 83.14, 401.13], "category_id": 1, "id": 133632}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [251, 52, 1, 279, 55, 1, 0, 0, 0, 284, 78, 2, 0, 0, 0, 289, 99, 2, 255, 90, 2, 270, 91, 2, 253, 129, 2, 273, 134, 2, 255, 145, 2, 271, 162, 2, 266, 31, 1, 265, 48, 1], "image_id": 103248, "bbox": [248.27, 29.35, 46.76, 145.5], "category_id": 1, "id": 133639}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 461, 465, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 405, 1, 0, 0, 0], "image_id": 107074, "bbox": [382.87, 399.83, 107.92, 80.17], "category_id": 1, "id": 133646}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [289, 15, 2, 215, 16, 2, 302, 57, 1, 192, 70, 2, 231, 69, 1, 0, 0, 0, 270, 99, 1, 210, 99, 1, 299, 98, 1, 164, 84, 2, 269, 160, 1, 155, 167, 2, 0, 0, 0, 262, 141, 1], "image_id": 107086, "bbox": [136.94, 3.6, 177.29, 174.42], "category_id": 1, "id": 133651}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [300, 197, 2, 287, 198, 2, 298, 209, 2, 284, 211, 1, 295, 220, 2, 285, 223, 1, 296, 221, 2, 287, 224, 1, 301, 245, 2, 283, 245, 1, 304, 262, 2, 278, 261, 2, 297, 178, 1, 294, 190, 1], "image_id": 103862, "bbox": [275.62, 178.24, 36.78, 93.25], "category_id": 1, "id": 133664}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 328, 2, 0, 0, 0, 0, 0, 0, 328, 332, 2, 301, 332, 2, 341, 395, 2, 318, 402, 2, 281, 230, 1, 335, 271, 1], "image_id": 104727, "bbox": [274.03, 225.86, 85.43, 186.28], "category_id": 1, "id": 133678}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [139, 205, 1, 207, 222, 2, 0, 0, 0, 247, 273, 2, 0, 0, 0, 298, 291, 2, 115, 319, 1, 159, 325, 1, 0, 0, 0, 236, 371, 2, 0, 0, 0, 0, 0, 0, 192, 164, 1, 180, 200, 1], "image_id": 106539, "bbox": [128.28, 158.91, 201.99, 261.35], "category_id": 1, "id": 133682}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [417.85, 396.64, 25.92, 50.5], "category_id": 1, "id": 133690}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 101, 1, 225, 110, 1], "image_id": 105616, "bbox": [214.14, 100.03, 23.35, 60.73], "category_id": 1, "id": 133692}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [20, 255, 1, 0, 0, 0, 10, 278, 2, 0, 0, 0, 23, 285, 1, 0, 0, 0, 16, 296, 2, 42, 300, 1, 19, 336, 2, 48, 325, 1, 14, 370, 2, 30, 366, 2, 0, 0, 0, 0, 0, 0], "image_id": 103201, "bbox": [4.69, 259.51, 38.25, 117.41], "category_id": 1, "id": 133709}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [126, 310, 2, 264, 283, 2, 0, 0, 0, 358, 245, 2, 0, 0, 0, 426, 168, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 168, 1, 211, 263, 1], "image_id": 105071, "bbox": [100.07, 127.8, 361.19, 293.53], "category_id": 1, "id": 133720}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 155, 2, 396, 161, 2, 418, 181, 2, 392, 207, 2, 386, 189, 2, 370, 195, 2, 425, 249, 2, 404, 245, 2, 420, 304, 2, 378, 290, 2, 466, 328, 2, 373, 352, 2, 369, 114, 1, 400, 147, 1], "image_id": 103268, "bbox": [340.96, 97.78, 148.84, 272.33], "category_id": 1, "id": 133721}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [401, 145, 2, 362, 145, 2, 415, 177, 1, 350, 179, 2, 391, 174, 2, 364, 160, 2, 397, 209, 1, 365, 210, 2, 399, 257, 1, 368, 257, 1, 0, 0, 0, 0, 0, 0, 380, 107, 1, 382, 139, 1], "image_id": 104759, "bbox": [342.29, 108.27, 82.75, 135.12], "category_id": 1, "id": 133724}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [109, 259, 2, 84, 260, 2, 0, 0, 0, 74, 280, 2, 0, 0, 0, 84, 293, 2, 105, 298, 1, 88, 301, 2, 102, 335, 2, 90, 335, 2, 101, 361, 2, 87, 366, 2, 98, 230, 1, 97, 253, 1], "image_id": 104997, "bbox": [70.56, 228.85, 42.95, 149.04], "category_id": 1, "id": 133756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [59, 136, 2, 20, 133, 2, 66, 171, 2, 1, 170, 1, 59, 168, 2, 14, 156, 2, 44, 187, 2, 19, 182, 2, 61, 230, 2, 16, 205, 2, 51, 261, 2, 6, 263, 2, 43, 100, 1, 38, 125, 1], "image_id": 104860, "bbox": [0, 96.4, 79.05, 181.24], "category_id": 1, "id": 133771}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [221, 272, 1, 141, 272, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106031, "bbox": [158.35, 181.64, 52.25, 64.63], "category_id": 1, "id": 133775}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [564, 141, 2, 470, 144, 2, 581, 214, 2, 471, 225, 2, 566, 275, 1, 476, 289, 2, 546, 244, 2, 504, 244, 2, 546, 356, 1, 499, 356, 1, 0, 0, 0, 0, 0, 0, 494, 58, 1, 507, 130, 1], "image_id": 105234, "bbox": [458.67, 47.02, 129.53, 284.02], "category_id": 1, "id": 133800}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [214, 195, 2, 190, 177, 2, 235, 272, 2, 165, 229, 2, 0, 0, 0, 116, 220, 2, 213, 309, 1, 187, 296, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 127, 1, 190, 179, 1], "image_id": 102880, "bbox": [81.08, 118.38, 185.95, 187.03], "category_id": 1, "id": 133807}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [377, 199, 2, 359, 200, 2, 387, 215, 2, 361, 226, 2, 0, 0, 0, 0, 0, 0, 379, 240, 2, 368, 240, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 174, 1, 367, 192, 1], "image_id": 105752, "bbox": [346.24, 172.26, 43.38, 106.7], "category_id": 1, "id": 133808}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [609, 185, 2, 573, 185, 2, 615, 211, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, 250, 2, 585, 251, 2, 597, 284, 2, 578, 279, 2, 592, 329, 2, 595, 311, 2, 586, 150, 1, 588, 173, 1], "image_id": 102907, "bbox": [566.7, 147.8, 53.52, 188.89], "category_id": 1, "id": 133811}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [450, 285, 2, 374, 284, 2, 0, 0, 0, 375, 346, 1, 0, 0, 0, 398, 387, 2, 450, 406, 1, 406, 410, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, 203, 1, 415, 261, 1], "image_id": 106221, "bbox": [351.7, 200.49, 118.85, 223.2], "category_id": 1, "id": 133816}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [79, 152, 2, 0, 0, 0, 91, 227, 2, 0, 0, 0, 104, 317, 2, 0, 0, 0, 60, 299, 2, 9, 297, 2, 66, 407, 2, 17, 405, 2, 69, 513, 1, 19, 511, 1, 24, 39, 1, 24, 134, 1], "image_id": 102589, "bbox": [2.88, 0.72, 119.64, 495.86], "category_id": 1, "id": 133817}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [422, 149, 2, 377, 154, 1, 458, 172, 2, 357, 173, 2, 482, 197, 1, 333, 186, 2, 443, 227, 1, 406, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 94, 1, 396, 140, 1], "image_id": 103268, "bbox": [325.94, 77.96, 157.57, 174.1], "category_id": 1, "id": 133818}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 260, 1, 573, 273, 1], "image_id": 104451, "bbox": [561.72, 259.35, 19.32, 52.82], "category_id": 1, "id": 133829}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 196, 1, 26, 207, 1], "image_id": 104427, "bbox": [10.8, 193.9, 33.34, 48.34], "category_id": 1, "id": 133844}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [187, 126, 2, 220, 125, 2, 173, 150, 2, 0, 0, 0, 161, 160, 2, 0, 0, 0, 201, 179, 2, 222, 179, 2, 193, 223, 2, 212, 225, 2, 189, 267, 2, 217, 266, 2, 197, 94, 1, 198, 114, 1], "image_id": 105616, "bbox": [158.69, 89.75, 69.48, 191.74], "category_id": 1, "id": 133846}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 11, 2, 0, 0, 0, 442, 57, 2, 0, 0, 0, 0, 0, 0], "image_id": 104628, "bbox": [435.03, 0.95, 32.39, 67.61], "category_id": 1, "id": 133857}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107383, "bbox": [247.99, 239.21, 115.79, 106.88], "category_id": 1, "id": 133865}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 102, 2, 424, 100, 2, 394, 127, 2, 394, 135, 2, 341, 135, 2, 354, 128, 2, 441, 230, 2, 426, 224, 2, 344, 275, 2, 443, 321, 2, 256, 348, 2, 507, 375, 2, 429, 28, 1, 432, 83, 1], "image_id": 103269, "bbox": [230.27, 21.59, 308.95, 380.9], "category_id": 1, "id": 133868}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [151, 323, 2, 176, 328, 2, 0, 0, 0, 191, 366, 2, 0, 0, 0, 208, 356, 2, 122, 396, 2, 149, 402, 2, 173, 373, 2, 196, 384, 2, 146, 416, 2, 163, 423, 2, 179, 296, 1, 170, 319, 1], "image_id": 108188, "bbox": [113.83, 289.05, 109.38, 147.67], "category_id": 1, "id": 133876}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [386, 200, 1, 325, 155, 2, 401, 247, 1, 263, 201, 2, 0, 0, 0, 246, 210, 2, 332, 288, 2, 290, 279, 2, 412, 354, 1, 268, 376, 2, 0, 0, 0, 0, 0, 0, 377, 104, 1, 363, 162, 1], "image_id": 105787, "bbox": [202.95, 96.69, 215.39, 318.78], "category_id": 1, "id": 133877}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [132, 190, 2, 63, 202, 2, 181, 234, 2, 41, 255, 2, 161, 213, 2, 67, 275, 2, 132, 285, 2, 85, 290, 2, 144, 382, 2, 82, 383, 2, 166, 472, 2, 101, 469, 2, 94, 141, 1, 97, 180, 1], "image_id": 103896, "bbox": [37.01, 120.99, 162.85, 376.28], "category_id": 1, "id": 133888}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 258, 1], "image_id": 108099, "bbox": [372.91, 252.97, 10.29, 14.98], "category_id": 1, "id": 133889}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 7, 2, 0, 0, 0, 254, 18, 2, 277, 31, 2, 264, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105833, "bbox": [237.22, 0, 45.55, 42.9], "category_id": 1, "id": 133894}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 216, 1, 0, 0, 0], "image_id": 103629, "bbox": [247.92, 208.55, 42.83, 51.33], "category_id": 1, "id": 133902}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 362, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107329, "bbox": [593.38, 254.95, 46.62, 225.05], "category_id": 1, "id": 133913}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 178, 2, 393, 171, 1, 449, 190, 2, 367, 182, 1, 453, 173, 1, 380, 177, 1, 391, 224, 2, 371, 220, 2, 393, 260, 2, 372, 261, 1, 391, 304, 2, 364, 304, 2, 412, 156, 1, 406, 169, 1], "image_id": 104945, "bbox": [355.91, 143.55, 99.26, 179.65], "category_id": 1, "id": 133917}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 346, 1, 184, 351, 1], "image_id": 105691, "bbox": [175.64, 347.1, 19.19, 32.92], "category_id": 1, "id": 133926}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [293, 169, 2, 307, 171, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 206, 2, 310, 208, 2, 307, 241, 2, 0, 0, 0, 308, 275, 2, 0, 0, 0, 305, 143, 1, 301, 160, 1], "image_id": 102576, "bbox": [291.64, 140.21, 33.69, 149.59], "category_id": 1, "id": 133950}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [141, 195, 2, 201, 194, 2, 122, 232, 2, 215, 234, 1, 0, 0, 0, 0, 0, 0, 150, 293, 2, 198, 292, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 154, 1, 170, 181, 1], "image_id": 105995, "bbox": [110.11, 151.69, 119.1, 143.82], "category_id": 1, "id": 133959}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [176, 154, 1, 158, 158, 2, 0, 0, 0, 163, 195, 2, 0, 0, 0, 191, 193, 1, 174, 205, 2, 170, 207, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 123, 1, 165, 151, 1], "image_id": 105147, "bbox": [140.1, 124.48, 70.05, 91.77], "category_id": 1, "id": 134026}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [100, 19, 2, 105, 22, 2, 0, 0, 0, 152, 94, 2, 0, 0, 0, 217, 96, 2, 63, 177, 2, 69, 183, 2, 99, 290, 2, 124, 300, 2, 0, 0, 0, 48, 379, 2, 0, 0, 0, 109, 20, 1], "image_id": 104635, "bbox": [1.96, 0.13, 264.01, 406.41], "category_id": 1, "id": 134036}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [247, 250, 2, 266, 251, 2, 243, 262, 2, 268, 268, 2, 240, 278, 2, 0, 0, 0, 252, 271, 2, 263, 270, 2, 252, 298, 2, 262, 296, 2, 253, 312, 2, 260, 318, 2, 257, 231, 1, 256, 243, 1], "image_id": 104930, "bbox": [235.15, 227.6, 43.14, 97.07], "category_id": 1, "id": 134037}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [97, 97, 2, 78, 96, 2, 100, 116, 2, 72, 110, 2, 91, 118, 2, 0, 0, 0, 94, 119, 2, 81, 119, 2, 99, 126, 2, 75, 126, 2, 104, 150, 2, 73, 150, 2, 88, 78, 1, 88, 91, 1], "image_id": 104860, "bbox": [68.46, 76.34, 41.32, 83.26], "category_id": 1, "id": 134049}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [209, 138, 1, 193, 136, 2, 0, 0, 0, 182, 149, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 134, 1], "image_id": 103586, "bbox": [174.6, 107.33, 34.14, 80], "category_id": 1, "id": 134055}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 216, 1, 133, 225, 1], "image_id": 103737, "bbox": [124.32, 216.65, 15.96, 57.01], "category_id": 1, "id": 134059}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 441, 191, 2, 469, 416, 2, 435, 297, 2, 322, 458, 2, 309, 400, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 18, 1, 458, 146, 1], "image_id": 102589, "bbox": [250.25, 2.88, 229.75, 499.05], "category_id": 1, "id": 134065}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [178, 233, 2, 96, 240, 2, 198, 297, 2, 114, 327, 1, 0, 0, 0, 0, 0, 0, 199, 338, 1, 146, 351, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 151, 1, 141, 220, 1], "image_id": 108296, "bbox": [79.82, 134.83, 127.28, 215.73], "category_id": 1, "id": 134070}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105639, "bbox": [529.67, 1.63, 110.33, 240.84], "category_id": 1, "id": 134076}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [326, 491, 2, 307, 491, 2, 328, 507, 2, 308, 509, 2, 319, 493, 2, 311, 489, 2, 322, 519, 2, 308, 519, 2, 330, 512, 2, 302, 513, 2, 329, 539, 1, 308, 541, 1, 318, 473, 1, 316, 488, 1], "image_id": 105778, "bbox": [299.13, 472.19, 35.01, 71.37], "category_id": 1, "id": 134084}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 229, 1, 405, 234, 1], "image_id": 108236, "bbox": [396.28, 228.96, 19.97, 39.4], "category_id": 1, "id": 134091}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104628, "bbox": [618.75, 0, 21.25, 21.19], "category_id": 1, "id": 134093}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106426, "bbox": [468.28, 529.8, 10.79, 17.44], "category_id": 1, "id": 134098}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 145, 1, 161, 150, 1], "image_id": 106157, "bbox": [154.01, 143, 12.9, 31.12], "category_id": 1, "id": 134111}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105633, "bbox": [529.09, 44.28, 109.76, 97.9], "category_id": 1, "id": 134113}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [330, 206, 2, 394, 204, 2, 325, 255, 2, 420, 252, 1, 0, 0, 0, 388, 236, 2, 346, 278, 1, 389, 278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 154, 1, 362, 187, 1], "image_id": 106047, "bbox": [317.57, 149.92, 94.59, 113.17], "category_id": 1, "id": 134117}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [25, 55, 2, 0, 0, 0, 35, 84, 2, 0, 0, 0, 36, 115, 2, 0, 0, 0, 26, 115, 2, 6, 116, 2, 28, 172, 2, 5, 169, 2, 31, 222, 2, 5, 217, 2, 8, 19, 1, 8, 55, 1], "image_id": 108579, "bbox": [0.96, 11.51, 53.73, 229.34], "category_id": 1, "id": 134119}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 138, 1, 197, 151, 1], "image_id": 106035, "bbox": [183.43, 135.35, 50.31, 51.13], "category_id": 1, "id": 134140}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106031, "bbox": [476, 60.69, 44, 48.75], "category_id": 1, "id": 134150}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 418, 298, 2, 0, 0, 0, 409, 309, 1, 424, 315, 2, 0, 0, 0, 0, 0, 0, 415, 338, 2, 0, 0, 0, 413, 363, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105246, "bbox": [403.44, 277.52, 22.56, 112.4], "category_id": 1, "id": 134153}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [617, 224, 2, 0, 0, 0, 567, 254, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, 321, 2, 0, 0, 0, 566, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 154, 1, 0, 0, 0], "image_id": 107568, "bbox": [554.28, 152.21, 85.72, 231.67], "category_id": 1, "id": 134165}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [249, 280, 2, 190, 278, 2, 250, 335, 2, 184, 328, 2, 216, 356, 1, 197, 355, 1, 230, 355, 2, 203, 355, 1, 237, 362, 2, 171, 364, 2, 0, 0, 0, 0, 0, 0, 219, 232, 1, 221, 270, 1], "image_id": 105556, "bbox": [161.09, 225.12, 96.64, 152.35], "category_id": 1, "id": 134174}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [31, 182, 2, 31, 184, 2, 0, 0, 0, 53, 238, 2, 0, 0, 0, 85, 259, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 240, 2, 73, 290, 2, 87, 292, 2, 26, 136, 1, 25, 177, 1], "image_id": 107569, "bbox": [0, 127.43, 106.85, 189.08], "category_id": 1, "id": 134176}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [259, 320, 2, 204, 367, 1, 283, 370, 2, 204, 417, 2, 231, 339, 2, 212, 472, 2, 363, 392, 2, 332, 440, 2, 457, 429, 2, 408, 449, 2, 484, 446, 2, 0, 0, 0, 211, 269, 1, 220, 332, 1], "image_id": 106077, "bbox": [186.29, 256.45, 339.04, 236.15], "category_id": 1, "id": 134177}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [564, 111, 2, 468, 106, 1, 593, 193, 2, 421, 191, 2, 537, 226, 1, 440, 196, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 26, 1, 508, 93, 1], "image_id": 108262, "bbox": [417.06, 13.94, 195.05, 350.76], "category_id": 1, "id": 134195}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 396, 135, 2, 0, 0, 0, 383, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 88, 1, 412, 130, 1], "image_id": 106572, "bbox": [376.25, 87.29, 54.56, 79.9], "category_id": 1, "id": 134255}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [139, 93, 2, 157, 90, 2, 127, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 131, 2, 155, 130, 2, 157, 174, 2, 137, 168, 1, 174, 204, 2, 132, 195, 1, 153, 58, 1, 151, 81, 1], "image_id": 107513, "bbox": [132.44, 59.76, 49.01, 157.47], "category_id": 1, "id": 134266}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [475, 413, 1, 414, 403, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 344, 1, 444, 399, 1], "image_id": 104400, "bbox": [392.14, 336.57, 86.39, 106.58], "category_id": 1, "id": 134269}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [322, 147, 2, 384, 135, 2, 287, 187, 2, 430, 144, 2, 0, 0, 0, 443, 102, 2, 343, 215, 2, 378, 213, 2, 333, 296, 2, 312, 272, 2, 354, 327, 2, 312, 356, 2, 347, 87, 1, 349, 127, 1], "image_id": 107326, "bbox": [279.23, 78.52, 178.48, 295.54], "category_id": 1, "id": 134273}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [369, 316, 2, 244, 323, 2, 410, 443, 2, 214, 437, 2, 360, 423, 2, 273, 423, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, 206, 1, 305, 295, 1], "image_id": 103703, "bbox": [200.04, 182.29, 226.01, 297.71], "category_id": 1, "id": 134280}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [487, 121, 2, 446, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 84, 1, 466, 117, 1], "image_id": 104759, "bbox": [449.88, 80.45, 46.66, 81.79], "category_id": 1, "id": 134287}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [491, 261, 2, 515, 267, 2, 0, 0, 0, 525, 291, 2, 0, 0, 0, 544, 295, 2, 479, 305, 2, 491, 307, 2, 488, 344, 2, 522, 302, 2, 489, 376, 2, 509, 344, 2, 514, 244, 1, 507, 258, 1], "image_id": 107241, "bbox": [470.29, 238.2, 75.51, 148.86], "category_id": 1, "id": 134292}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [254, 223, 2, 50, 229, 2, 270, 397, 2, 70, 377, 2, 224, 313, 2, 98, 476, 2, 307, 415, 2, 221, 470, 2, 367, 332, 2, 196, 592, 2, 594, 600, 2, 502, 595, 2, 0, 0, 0, 147, 208, 1], "image_id": 105183, "bbox": [8.7, 183.79, 631.3, 428.21], "category_id": 1, "id": 134294}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 256, 1, 456, 259, 1], "image_id": 104497, "bbox": [454.09, 257.01, 6.27, 14.71], "category_id": 1, "id": 134295}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [12, 330, 2, 0, 0, 0, 42, 438, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107230, "bbox": [0, 291.27, 85.25, 188.73], "category_id": 1, "id": 134299}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [217, 229, 2, 122, 230, 2, 210, 318, 2, 116, 363, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 94, 1, 179, 202, 1], "image_id": 107273, "bbox": [85.56, 89.93, 144.5, 327.99], "category_id": 1, "id": 134302}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [402, 71, 2, 354, 74, 2, 397, 117, 2, 351, 120, 1, 0, 0, 0, 365, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 24, 1, 376, 65, 1], "image_id": 103063, "bbox": [343.13, 19.13, 85.17, 104.21], "category_id": 1, "id": 134321}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [184, 337, 2, 160, 352, 2, 195, 354, 2, 0, 0, 0, 201, 379, 2, 0, 0, 0, 196, 369, 2, 180, 379, 2, 217, 381, 2, 178, 397, 2, 0, 0, 0, 179, 434, 1, 157, 326, 1, 167, 339, 1], "image_id": 105766, "bbox": [151.66, 321.08, 77.15, 92.24], "category_id": 1, "id": 134326}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [531, 39, 2, 483, 37, 2, 0, 0, 0, 462, 76, 2, 0, 0, 0, 482, 90, 2, 529, 77, 2, 494, 80, 2, 577, 87, 1, 517, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 36, 1], "image_id": 106983, "bbox": [449.06, 0, 106.62, 104.87], "category_id": 1, "id": 134342}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104954, "bbox": [408.18, 193.26, 71.82, 62.9], "category_id": 1, "id": 134343}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [252, 457, 2, 280, 459, 2, 249, 479, 2, 285, 484, 2, 0, 0, 0, 289, 481, 2, 260, 499, 2, 277, 500, 2, 258, 546, 2, 279, 546, 2, 260, 586, 2, 279, 583, 2, 270, 428, 1, 267, 448, 1], "image_id": 105975, "bbox": [243.06, 422.83, 47.46, 174.02], "category_id": 1, "id": 134349}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [147, 214, 2, 140, 214, 2, 0, 0, 0, 141, 237, 2, 0, 0, 0, 151, 236, 1, 145, 258, 2, 138, 260, 2, 147, 295, 1, 141, 296, 2, 147, 326, 1, 138, 329, 2, 147, 191, 1, 144, 208, 1], "image_id": 103912, "bbox": [128.77, 186.13, 29.23, 153.57], "category_id": 1, "id": 134353}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [170, 171, 2, 99, 210, 2, 0, 0, 0, 29, 275, 1, 0, 0, 0, 84, 320, 2, 220, 252, 2, 192, 303, 2, 303, 208, 2, 271, 268, 2, 434, 244, 2, 0, 0, 0, 122, 125, 1, 126, 175, 1], "image_id": 108535, "bbox": [24.95, 106.57, 458.66, 249.49], "category_id": 1, "id": 134362}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [152, 56, 2, 143, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 110, 2, 145, 110, 2, 152, 142, 2, 142, 147, 2, 163, 167, 1, 137, 174, 2, 141, 32, 1, 148, 49, 1], "image_id": 105692, "bbox": [123.5, 48.13, 46.93, 146.03], "category_id": 1, "id": 134384}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [594, 166, 2, 559, 157, 2, 610, 171, 2, 533, 166, 2, 623, 184, 2, 530, 174, 2, 572, 218, 2, 552, 211, 2, 576, 267, 2, 536, 254, 2, 570, 311, 2, 509, 293, 2, 581, 135, 1, 575, 155, 1], "image_id": 104945, "bbox": [490.79, 127.28, 136.99, 204.94], "category_id": 1, "id": 134385}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [27, 120, 2, 0, 0, 0, 38, 143, 1, 0, 0, 0, 44, 166, 1, 0, 0, 0, 42, 162, 1, 0, 0, 0, 42, 188, 1, 23, 196, 1, 58, 221, 2, 40, 225, 2, 6, 93, 1, 18, 111, 1], "image_id": 103628, "bbox": [1.88, 92.4, 64.41, 147.97], "category_id": 1, "id": 134398}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 168, 1, 624, 184, 1], "image_id": 105752, "bbox": [615.23, 165.91, 24.72, 58.6], "category_id": 1, "id": 134399}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0], "image_id": 107231, "bbox": [0.96, 91.69, 23.87, 247.35], "category_id": 1, "id": 134400}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [322, 271, 2, 222, 207, 2, 310, 353, 2, 173, 261, 2, 273, 348, 2, 155, 237, 2, 215, 390, 1, 164, 359, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 139, 1, 277, 231, 1], "image_id": 106565, "bbox": [115.97, 103.23, 273.47, 326.44], "category_id": 1, "id": 134405}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [134, 171, 2, 118, 178, 2, 145, 217, 1, 116, 218, 2, 171, 228, 1, 134, 244, 2, 139, 240, 2, 127, 243, 2, 0, 0, 0, 127, 286, 1, 0, 0, 0, 0, 0, 0, 138, 127, 1, 127, 167, 1], "image_id": 105147, "bbox": [86.57, 131.42, 101.11, 138.33], "category_id": 1, "id": 134407}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [389, 310, 2, 337, 313, 2, 406, 347, 2, 330, 368, 1, 377, 324, 2, 363, 331, 2, 385, 392, 2, 349, 395, 2, 401, 406, 2, 351, 478, 2, 417, 468, 2, 0, 0, 0, 352, 260, 1, 359, 304, 1], "image_id": 103896, "bbox": [329.4, 252.91, 104.87, 234.4], "category_id": 1, "id": 134421}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [330, 162, 2, 333, 164, 2, 0, 0, 0, 333, 182, 2, 0, 0, 0, 343, 187, 2, 312, 197, 2, 308, 196, 2, 330, 214, 2, 299, 224, 2, 321, 243, 2, 270, 217, 2, 342, 146, 1, 335, 159, 1], "image_id": 104565, "bbox": [255.94, 140.36, 98.33, 109.58], "category_id": 1, "id": 134423}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [89, 269, 2, 36, 277, 2, 102, 294, 2, 39, 321, 2, 108, 308, 2, 83, 321, 2, 83, 355, 1, 49, 355, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 204, 1, 63, 262, 1], "image_id": 103682, "bbox": [21.24, 203.26, 103.14, 160.78], "category_id": 1, "id": 134430}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 200, 2, 354, 203, 2, 327, 217, 2, 358, 226, 2, 330, 228, 2, 348, 231, 2, 334, 239, 2, 350, 240, 2, 329, 263, 2, 346, 263, 2, 327, 288, 2, 346, 286, 2, 348, 180, 1, 345, 193, 1], "image_id": 102576, "bbox": [316.32, 177.77, 47.46, 120.42], "category_id": 1, "id": 134447}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [365, 351, 1, 257, 363, 2, 385, 415, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 486, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 343, 1], "image_id": 102589, "bbox": [244.76, 236.87, 122.94, 166.95], "category_id": 1, "id": 134451}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [128, 120, 2, 92, 110, 2, 137, 173, 2, 73, 176, 2, 145, 226, 2, 73, 227, 2, 114, 233, 2, 96, 230, 2, 103, 314, 1, 75, 313, 2, 83, 377, 2, 68, 381, 2, 122, 54, 1, 102, 104, 1], "image_id": 104133, "bbox": [52.47, 42.68, 108.66, 369.03], "category_id": 1, "id": 134469}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [630, 200, 2, 0, 0, 0, 628, 226, 1, 0, 0, 0, 617, 242, 2, 0, 0, 0, 635, 243, 1, 0, 0, 0, 631, 281, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 175, 1, 626, 191, 1], "image_id": 108116, "bbox": [603.23, 174.39, 36.77, 82.42], "category_id": 1, "id": 134475}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [140, 114, 2, 174, 113, 2, 128, 139, 2, 0, 0, 0, 118, 147, 2, 0, 0, 0, 159, 160, 2, 176, 158, 1, 145, 203, 2, 173, 198, 2, 137, 243, 2, 173, 240, 2, 151, 89, 1, 155, 104, 1], "image_id": 105616, "bbox": [111.68, 88.45, 74.91, 164.44], "category_id": 1, "id": 134481}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [121, 131, 2, 100, 129, 2, 127, 147, 2, 94, 146, 2, 121, 146, 2, 91, 163, 2, 116, 169, 2, 99, 168, 2, 117, 192, 2, 93, 191, 2, 116, 218, 2, 88, 218, 2, 111, 108, 1, 110, 125, 1], "image_id": 108139, "bbox": [72.93, 102.67, 58.53, 126.66], "category_id": 1, "id": 134482}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [119, 196, 2, 76, 198, 2, 0, 0, 0, 55, 236, 2, 0, 0, 0, 47, 280, 2, 98, 273, 2, 72, 271, 2, 93, 333, 2, 54, 335, 2, 93, 387, 2, 60, 389, 2, 106, 154, 1, 100, 190, 1], "image_id": 107504, "bbox": [36.46, 145.85, 98.84, 272.51], "category_id": 1, "id": 134488}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 299, 1, 291, 315, 1], "image_id": 102920, "bbox": [278.03, 299.77, 28.13, 57.95], "category_id": 1, "id": 134492}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [411, 318, 2, 387, 311, 2, 379, 362, 2, 363, 345, 2, 337, 352, 2, 339, 347, 2, 431, 393, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 263, 1, 388, 307, 1], "image_id": 107452, "bbox": [320.72, 258.88, 142.38, 139.5], "category_id": 1, "id": 134520}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 95, 2, 535, 93, 2, 567, 111, 2, 529, 110, 2, 564, 130, 2, 530, 124, 2, 556, 132, 2, 538, 130, 2, 558, 159, 2, 536, 160, 2, 560, 186, 2, 534, 188, 2, 546, 70, 1, 547, 87, 1], "image_id": 104635, "bbox": [526.99, 69.58, 43.92, 126.35], "category_id": 1, "id": 134532}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [177, 417, 1, 164, 422, 1, 0, 0, 0, 165, 439, 2, 0, 0, 0, 177, 442, 2, 187, 447, 1, 178, 450, 2, 194, 465, 2, 186, 469, 2, 203, 484, 1, 195, 490, 2, 0, 0, 0, 172, 415, 1], "image_id": 107169, "bbox": [159.68, 417.66, 45.37, 75.4], "category_id": 1, "id": 134545}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [351, 199, 2, 0, 0, 0, 368, 217, 2, 0, 0, 0, 349, 212, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 148, 1, 331, 191, 1], "image_id": 102964, "bbox": [314.47, 143.27, 57.86, 80.56], "category_id": 1, "id": 134556}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [90, 124, 2, 107, 123, 2, 82, 136, 2, 112, 139, 2, 77, 148, 1, 0, 0, 0, 93, 153, 2, 108, 152, 2, 93, 176, 2, 105, 176, 2, 94, 194, 2, 107, 194, 2, 95, 108, 1, 97, 118, 1], "image_id": 105616, "bbox": [77.54, 108.63, 38.4, 96.32], "category_id": 1, "id": 134560}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [308, 250, 2, 327, 252, 2, 302, 263, 2, 333, 270, 2, 0, 0, 0, 334, 286, 2, 309, 279, 2, 323, 281, 2, 311, 298, 2, 322, 300, 2, 311, 316, 2, 319, 321, 2, 319, 232, 1, 318, 243, 1], "image_id": 104930, "bbox": [299.3, 231.29, 39.46, 97.26], "category_id": 1, "id": 134562}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [294, 212, 2, 271, 220, 2, 309, 240, 2, 0, 0, 0, 307, 262, 2, 0, 0, 0, 322, 252, 2, 303, 254, 2, 309, 297, 2, 293, 294, 2, 0, 0, 0, 0, 0, 0, 264, 189, 1, 277, 210, 1], "image_id": 105378, "bbox": [256.12, 186.77, 77.89, 118.54], "category_id": 1, "id": 134580}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [265, 383, 2, 316, 388, 2, 247, 419, 2, 322, 429, 2, 0, 0, 0, 0, 0, 0, 272, 453, 2, 302, 455, 2, 268, 467, 2, 303, 471, 2, 265, 516, 2, 303, 515, 2, 287, 347, 1, 287, 372, 1], "image_id": 104626, "bbox": [241.96, 344.21, 89.93, 206.93], "category_id": 1, "id": 134583}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [226, 114, 1, 199, 104, 2, 244, 140, 1, 204, 111, 1, 260, 128, 2, 216, 105, 2, 228, 149, 1, 201, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 78, 1, 214, 101, 1], "image_id": 105754, "bbox": [191.23, 75.88, 77.11, 72.4], "category_id": 1, "id": 134589}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 117, 217, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106444, "bbox": [109.66, 157.32, 45.82, 66.82], "category_id": 1, "id": 134606}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [350, 181, 2, 313, 179, 2, 353, 205, 2, 303, 210, 2, 351, 217, 2, 0, 0, 0, 344, 230, 2, 320, 229, 1, 343, 281, 2, 315, 279, 1, 0, 0, 0, 0, 0, 0, 339, 148, 1, 333, 173, 1], "image_id": 105378, "bbox": [300.47, 144.46, 57.39, 155], "category_id": 1, "id": 134608}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 222, 206, 2, 0, 0, 0, 222, 232, 2, 0, 0, 0, 222, 251, 2, 201, 224, 2, 199, 224, 2, 205, 248, 2, 233, 233, 2, 0, 0, 0, 220, 250, 2, 239, 188, 1, 227, 200, 1], "image_id": 104600, "bbox": [191.68, 184.41, 53.17, 76.92], "category_id": 1, "id": 134612}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104067, "bbox": [1.25, 226.58, 12.5, 38.71], "category_id": 1, "id": 134620}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105752, "bbox": [632.71, 164.87, 7.29, 22.48], "category_id": 1, "id": 134639}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [455, 88, 2, 453, 84, 2, 453, 120, 2, 453, 116, 2, 444, 143, 2, 438, 134, 2, 454, 140, 2, 456, 140, 2, 438, 175, 2, 451, 177, 2, 474, 198, 2, 447, 217, 2, 445, 58, 1, 451, 80, 1], "image_id": 108412, "bbox": [425.82, 53.85, 57.89, 173.65], "category_id": 1, "id": 134643}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [215, 294, 2, 0, 0, 0, 221, 324, 2, 0, 0, 0, 204, 306, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 264, 1, 194, 290, 1], "image_id": 106073, "bbox": [159.45, 256.46, 66.69, 104.21], "category_id": 1, "id": 134649}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [297, 185, 2, 263, 188, 2, 333, 185, 1, 223, 175, 1, 341, 193, 2, 217, 185, 2, 291, 248, 2, 270, 250, 2, 296, 293, 1, 272, 296, 1, 0, 0, 0, 0, 0, 0, 275, 154, 1, 279, 183, 1], "image_id": 107504, "bbox": [209.53, 151.06, 135.74, 135.74], "category_id": 1, "id": 134654}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 141, 1, 114, 157, 1], "image_id": 106035, "bbox": [103.02, 138.19, 24.08, 62.74], "category_id": 1, "id": 134661}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [405, 219, 2, 0, 0, 0, 399, 267, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 165, 1, 431, 204, 1], "image_id": 105904, "bbox": [388.07, 162.61, 56.35, 116.28], "category_id": 1, "id": 134664}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [107, 13, 2, 106, 7, 2, 108, 24, 2, 0, 0, 0, 101, 35, 2, 0, 0, 0, 101, 32, 2, 101, 31, 2, 99, 57, 2, 106, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 3, 1], "image_id": 107361, "bbox": [93.04, 0, 23.59, 77.54], "category_id": 1, "id": 134723}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [543, 321, 2, 522, 319, 2, 538, 339, 2, 0, 0, 0, 521, 350, 1, 0, 0, 0, 537, 352, 2, 524, 351, 1, 536, 347, 2, 0, 0, 0, 514, 357, 1, 0, 0, 0, 529, 301, 1, 531, 318, 1], "image_id": 105789, "bbox": [518, 298.17, 34.29, 65.28], "category_id": 1, "id": 134729}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [283, 220, 2, 313, 220, 1, 270, 251, 2, 0, 0, 0, 272, 269, 2, 0, 0, 0, 287, 281, 1, 303, 281, 1, 286, 304, 2, 301, 306, 1, 290, 335, 2, 301, 331, 1, 297, 193, 1, 294, 213, 1], "image_id": 103912, "bbox": [267.29, 203.54, 39.18, 149.93], "category_id": 1, "id": 134733}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [294, 114, 2, 241, 115, 2, 0, 0, 0, 235, 156, 2, 0, 0, 0, 241, 183, 2, 280, 182, 1, 249, 180, 2, 321, 224, 2, 221, 226, 2, 335, 278, 2, 210, 277, 2, 265, 75, 1, 267, 110, 1], "image_id": 103039, "bbox": [201.64, 67.3, 144.1, 249.35], "category_id": 1, "id": 134742}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 34, 1, 0, 0, 0], "image_id": 107513, "bbox": [70.53, 40.67, 23.07, 86.73], "category_id": 1, "id": 134746}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105264, "bbox": [499.06, 110.58, 15.71, 27.09], "category_id": 1, "id": 134748}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 17, 2, 354, 17, 2, 379, 45, 2, 352, 49, 2, 0, 0, 0, 0, 0, 0], "image_id": 107413, "bbox": [346.83, 0.29, 49.48, 58.93], "category_id": 1, "id": 134754}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [412, 202, 2, 353, 199, 2, 414, 245, 2, 351, 242, 1, 409, 284, 1, 0, 0, 0, 394, 277, 1, 365, 276, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 147, 1, 383, 190, 1], "image_id": 105556, "bbox": [341.71, 142.82, 84.22, 121.19], "category_id": 1, "id": 134756}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [367, 294, 2, 344, 297, 1, 377, 313, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 266, 1, 355, 288, 1], "image_id": 104425, "bbox": [343.18, 259.48, 40.45, 65.11], "category_id": 1, "id": 134764}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 272, 1, 96, 276, 1], "image_id": 104497, "bbox": [93.25, 272.45, 12.08, 23.81], "category_id": 1, "id": 134780}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [516, 142, 2, 486, 141, 2, 523, 167, 2, 476, 168, 1, 0, 0, 0, 0, 0, 0, 512, 191, 1, 487, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 109, 1, 500, 134, 1], "image_id": 104945, "bbox": [478.19, 108.54, 49.91, 76.52], "category_id": 1, "id": 134791}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 622, 49, 2, 0, 0, 0, 616, 110, 1, 0, 0, 0, 624, 66, 2, 0, 0, 0, 624, 149, 2, 0, 0, 0, 632, 214, 2, 0, 0, 0, 633, 286, 2, 0, 0, 0, 0, 0, 0], "image_id": 108105, "bbox": [605.98, 0, 34.02, 305.64], "category_id": 1, "id": 134828}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [25, 98, 2, 9, 97, 2, 30, 117, 2, 2, 114, 2, 18, 122, 2, 8, 121, 2, 23, 123, 1, 10, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 84, 1, 17, 95, 1], "image_id": 104860, "bbox": [0, 82.66, 32.45, 60.35], "category_id": 1, "id": 134833}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [38, 339, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 196, 1, 0, 0, 0], "image_id": 107273, "bbox": [0, 183.78, 73.17, 240.22], "category_id": 1, "id": 134865}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [223, 187, 2, 193, 189, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 232, 2, 197, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 158, 1, 205, 182, 1], "image_id": 108370, "bbox": [182.9, 155.97, 49.05, 80.19], "category_id": 1, "id": 134867}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [144, 298, 2, 142, 301, 2, 0, 0, 0, 122, 365, 1, 0, 0, 0, 0, 0, 0, 194, 367, 2, 192, 371, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 246, 1, 147, 282, 1], "image_id": 108202, "bbox": [108.36, 238.27, 130.96, 158.07], "category_id": 1, "id": 134881}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [243, 222, 2, 262, 222, 2, 0, 0, 0, 267, 236, 2, 0, 0, 0, 0, 0, 0, 247, 263, 1, 262, 261, 2, 249, 298, 1, 262, 297, 2, 251, 325, 1, 260, 325, 1, 248, 199, 1, 249, 214, 1], "image_id": 103912, "bbox": [239.64, 199.09, 31.88, 134.36], "category_id": 1, "id": 134886}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [468, 330, 2, 426, 303, 2, 467, 394, 1, 450, 308, 2, 0, 0, 0, 413, 315, 2, 0, 0, 0, 423, 390, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 244, 1, 445, 302, 1], "image_id": 106310, "bbox": [393.42, 244.69, 110.34, 147.77], "category_id": 1, "id": 134890}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [225, 113, 2, 281, 117, 2, 191, 108, 2, 280, 137, 2, 224, 90, 2, 0, 0, 0, 227, 208, 2, 261, 204, 2, 222, 268, 2, 304, 255, 2, 191, 333, 2, 324, 317, 2, 255, 67, 1, 255, 104, 1], "image_id": 104042, "bbox": [173.75, 56.12, 182.96, 292.29], "category_id": 1, "id": 134893}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [374, 551, 2, 357, 552, 2, 379, 569, 2, 356, 567, 2, 378, 587, 2, 349, 577, 2, 370, 580, 2, 357, 580, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 532, 1, 366, 547, 1], "image_id": 103224, "bbox": [341.65, 531.44, 43.37, 108.56], "category_id": 1, "id": 134914}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [122, 206, 2, 103, 207, 2, 0, 0, 0, 97, 224, 1, 0, 0, 0, 95, 239, 1, 119, 233, 2, 103, 233, 2, 116, 248, 2, 94, 250, 2, 121, 277, 2, 112, 284, 2, 108, 183, 1, 113, 201, 1], "image_id": 105921, "bbox": [91.91, 180.51, 43.2, 116.04], "category_id": 1, "id": 134922}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 292, 2, 0, 0, 0, 473, 341, 2, 0, 0, 0, 469, 417, 2, 0, 0, 0, 0, 0, 0], "image_id": 102581, "bbox": [461.1, 204.11, 18.85, 227.56], "category_id": 1, "id": 134923}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [231, 91, 2, 206, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 122, 2, 207, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 62, 1, 219, 83, 1], "image_id": 104103, "bbox": [199.75, 59.37, 54.45, 133.46], "category_id": 1, "id": 134947}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [241, 245, 2, 327, 241, 2, 223, 300, 2, 358, 301, 2, 0, 0, 0, 359, 343, 2, 252, 357, 2, 324, 357, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 156, 1, 279, 216, 1], "image_id": 106975, "bbox": [212.54, 148.8, 159.91, 212.2], "category_id": 1, "id": 134949}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 256, 1, 413, 260, 1], "image_id": 108099, "bbox": [406.52, 254.31, 16.15, 23.3], "category_id": 1, "id": 134954}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [603, 415, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 307, 1, 551, 403, 1], "image_id": 103544, "bbox": [475.62, 290.34, 164.27, 127.02], "category_id": 1, "id": 134957}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [267, 99, 2, 246, 99, 2, 273, 111, 2, 241, 110, 2, 270, 121, 2, 244, 119, 2, 263, 122, 2, 250, 121, 2, 269, 134, 2, 239, 131, 2, 0, 0, 0, 0, 0, 0, 256, 75, 1, 256, 91, 1], "image_id": 104860, "bbox": [233.63, 72.32, 44.93, 68.72], "category_id": 1, "id": 134972}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [339, 304, 2, 329, 309, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 239, 1, 332, 287, 1], "image_id": 105812, "bbox": [315.02, 234.02, 53.33, 134.53], "category_id": 1, "id": 134978}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 2, 2, 0, 0, 0, 390, 35, 2, 407, 34, 2, 387, 68, 2, 404, 64, 2, 0, 0, 0, 0, 0, 0], "image_id": 105597, "bbox": [368.71, 1.27, 49.15, 77.65], "category_id": 1, "id": 134984}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 543, 164, 2, 0, 0, 0, 509, 294, 2, 0, 0, 0, 610, 232, 2, 0, 0, 0, 606, 394, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 617, 49, 1, 602, 139, 1], "image_id": 103281, "bbox": [494.02, 24.81, 145.98, 449.8], "category_id": 1, "id": 134987}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104067, "bbox": [138.51, 224.93, 17.83, 23.1], "category_id": 1, "id": 135004}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [496, 163, 2, 402, 161, 2, 487, 259, 2, 0, 0, 0, 432, 309, 2, 400, 286, 2, 460, 331, 2, 419, 331, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 69, 1, 445, 145, 1], "image_id": 102706, "bbox": [387.52, 61.44, 156.67, 395.56], "category_id": 1, "id": 135008}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [76, 229, 2, 91, 230, 2, 70, 242, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 257, 2, 86, 257, 1, 77, 281, 2, 86, 280, 1, 73, 304, 2, 85, 304, 2, 88, 214, 1, 86, 225, 1], "image_id": 103737, "bbox": [66.44, 212.59, 29.12, 99.32], "category_id": 1, "id": 135023}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [97, 257, 2, 30, 250, 2, 0, 0, 0, 3, 277, 2, 0, 0, 0, 9, 223, 2, 83, 367, 1, 26, 363, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 194, 1, 64, 242, 1], "image_id": 107713, "bbox": [0, 187.19, 114.53, 125.59], "category_id": 1, "id": 135034}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [400, 243, 2, 350, 240, 2, 406, 282, 2, 329, 257, 2, 384, 302, 2, 308, 264, 2, 396, 305, 1, 361, 305, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 188, 1, 376, 235, 1], "image_id": 103682, "bbox": [285.17, 180, 126.4, 122.36], "category_id": 1, "id": 135037}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 9, 1, 276, 38, 1], "image_id": 105432, "bbox": [217.79, 4.4, 95.41, 96.83], "category_id": 1, "id": 135038}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [164, 162, 2, 163, 164, 2, 177, 188, 2, 173, 198, 2, 193, 179, 2, 194, 184, 2, 167, 216, 2, 165, 218, 2, 173, 256, 1, 171, 258, 1, 0, 0, 0, 0, 0, 0, 185, 132, 1, 170, 155, 1], "image_id": 106073, "bbox": [149.33, 135.47, 59.4, 104.55], "category_id": 1, "id": 135085}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [608, 245, 2, 0, 0, 0, 601, 286, 2, 0, 0, 0, 592, 294, 2, 0, 0, 0, 624, 325, 2, 0, 0, 0, 623, 372, 2, 0, 0, 0, 622, 418, 1, 0, 0, 0, 628, 180, 1, 632, 228, 1], "image_id": 103544, "bbox": [582.58, 175.73, 57.42, 234.94], "category_id": 1, "id": 135089}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 187, 1, 475, 194, 1], "image_id": 104533, "bbox": [463.49, 186.73, 22.57, 48.69], "category_id": 1, "id": 135102}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [495, 312, 2, 420, 313, 2, 512, 368, 2, 410, 382, 2, 467, 369, 2, 405, 361, 2, 468, 400, 2, 426, 397, 1, 474, 389, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 243, 1, 455, 300, 1], "image_id": 106077, "bbox": [382.63, 234.85, 139.11, 193.69], "category_id": 1, "id": 135104}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [575, 189, 2, 0, 0, 0, 550, 197, 2, 0, 0, 0, 545, 198, 1, 0, 0, 0, 582, 217, 2, 0, 0, 0, 560, 198, 2, 0, 0, 0, 539, 219, 2, 0, 0, 0, 570, 167, 1, 574, 183, 1], "image_id": 104635, "bbox": [524.04, 162.38, 68.23, 65.61], "category_id": 1, "id": 135109}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [378, 190, 2, 358, 188, 2, 380, 205, 1, 352, 201, 2, 369, 215, 2, 346, 212, 2, 374, 217, 1, 356, 217, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 170, 1, 369, 185, 1], "image_id": 106987, "bbox": [337.58, 168.52, 45.53, 52.35], "category_id": 1, "id": 135116}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [107, 228, 2, 0, 0, 0, 134, 277, 2, 0, 0, 0, 175, 319, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 173, 1, 53, 225, 1], "image_id": 105147, "bbox": [50.45, 157.41, 152.97, 205.49], "category_id": 1, "id": 135129}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [259, 137, 2, 311, 146, 2, 230, 125, 2, 0, 0, 0, 194, 106, 2, 0, 0, 0, 265, 221, 2, 292, 225, 2, 227, 277, 2, 265, 283, 2, 234, 325, 2, 235, 346, 2, 274, 100, 1, 282, 127, 1], "image_id": 107326, "bbox": [173.75, 78.21, 143.04, 286.28], "category_id": 1, "id": 135160}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [310, 108, 2, 207, 113, 2, 332, 196, 2, 197, 212, 2, 315, 252, 2, 261, 263, 2, 307, 272, 2, 250, 275, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 25, 1, 258, 101, 1], "image_id": 107568, "bbox": [182.84, 19.15, 167.53, 337.92], "category_id": 1, "id": 135162}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [183, 218, 2, 130, 236, 1, 214, 265, 2, 147, 294, 2, 204, 228, 2, 178, 250, 2, 205, 320, 2, 164, 335, 2, 233, 403, 2, 184, 416, 2, 260, 474, 1, 201, 473, 1, 136, 153, 1, 149, 214, 1], "image_id": 103281, "bbox": [117.75, 149.28, 147.03, 309.73], "category_id": 1, "id": 135168}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [584, 366, 2, 591, 377, 1, 558, 371, 2, 566, 383, 1, 548, 380, 2, 553, 386, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 381, 1, 589, 375, 1], "image_id": 105425, "bbox": [539.77, 359.5, 100.23, 28.59], "category_id": 1, "id": 135180}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [604, 288, 2, 537, 288, 2, 621, 332, 1, 531, 310, 1, 601, 312, 1, 549, 303, 2, 593, 397, 2, 548, 397, 2, 600, 468, 2, 535, 469, 2, 608, 542, 1, 524, 540, 1, 565, 227, 1, 567, 275, 1], "image_id": 103896, "bbox": [515.84, 224.88, 109.31, 267.74], "category_id": 1, "id": 135192}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [379, 324, 2, 369, 328, 2, 397, 358, 2, 389, 363, 2, 426, 374, 1, 424, 376, 1, 395, 380, 1, 386, 386, 1, 446, 384, 2, 439, 389, 2, 0, 0, 0, 0, 0, 0, 374, 280, 1, 369, 310, 1], "image_id": 105812, "bbox": [353.52, 276.62, 98.79, 123.25], "category_id": 1, "id": 135202}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 288, 2, 331, 288, 2, 390, 344, 2, 319, 328, 2, 350, 373, 2, 324, 356, 2, 375, 393, 2, 325, 382, 2, 342, 338, 2, 250, 363, 2, 309, 446, 1, 250, 453, 2, 359, 223, 1, 361, 280, 1], "image_id": 103778, "bbox": [214.45, 215.26, 201.49, 264.35], "category_id": 1, "id": 135206}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [300, 128, 2, 243, 134, 2, 319, 156, 2, 229, 170, 2, 347, 172, 1, 220, 205, 2, 304, 206, 2, 261, 208, 2, 309, 275, 2, 268, 276, 2, 343, 332, 2, 272, 342, 2, 262, 70, 1, 271, 112, 1], "image_id": 103268, "bbox": [208.22, 56.45, 147.77, 308.98], "category_id": 1, "id": 135242}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 239, 1, 465, 247, 1], "image_id": 103043, "bbox": [455.27, 239.2, 16.44, 41.93], "category_id": 1, "id": 135264}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 256, 1, 388, 259, 1], "image_id": 108099, "bbox": [385.33, 256.6, 7.73, 23.2], "category_id": 1, "id": 135272}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 235, 1, 360, 240, 1], "image_id": 107239, "bbox": [348.44, 235.62, 18.49, 29.87], "category_id": 1, "id": 135275}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [490, 358, 2, 532, 310, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 339, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 238, 1, 497, 312, 1], "image_id": 103355, "bbox": [453.29, 227.39, 110.64, 156.83], "category_id": 1, "id": 135286}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [154, 358, 1, 128, 366, 1, 164, 368, 1, 122, 388, 2, 164, 386, 1, 134, 395, 1, 158, 392, 1, 144, 395, 1, 161, 418, 1, 136, 419, 1, 172, 450, 1, 137, 444, 1, 0, 0, 0, 0, 0, 0], "image_id": 105766, "bbox": [46.94, 245.24, 267.78, 274.79], "category_id": 1, "id": 135291}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [415, 377, 2, 390, 379, 2, 421, 414, 2, 391, 418, 2, 427, 452, 2, 407, 455, 2, 415, 454, 2, 403, 456, 2, 418, 496, 2, 406, 498, 2, 412, 550, 2, 373, 539, 2, 396, 328, 1, 398, 369, 1], "image_id": 105383, "bbox": [363.1, 324.88, 77.19, 240.79], "category_id": 1, "id": 135295}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 1, 1, 222, 5, 1], "image_id": 104149, "bbox": [218.42, 1.85, 7.78, 22.62], "category_id": 1, "id": 135304}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 248, 1, 151, 259, 1], "image_id": 105787, "bbox": [139.83, 248.67, 23.41, 28.26], "category_id": 1, "id": 135309}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [228, 138, 2, 187, 133, 2, 221, 184, 1, 0, 0, 0, 179, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 94, 1, 206, 131, 1], "image_id": 107720, "bbox": [176.08, 92.27, 66.61, 149.32], "category_id": 1, "id": 135312}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [614, 127, 2, 528, 126, 2, 579, 245, 2, 444, 153, 2, 453, 182, 2, 408, 150, 2, 536, 398, 2, 485, 394, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 562, 112, 1], "image_id": 103703, "bbox": [371.54, 3.33, 268.46, 471.4], "category_id": 1, "id": 135318}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 108, 1, 0, 0, 0], "image_id": 107568, "bbox": [90.29, 104.56, 38.46, 52.92], "category_id": 1, "id": 135325}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [532, 258, 2, 456, 246, 2, 564, 321, 2, 430, 322, 2, 578, 279, 2, 404, 383, 2, 495, 436, 2, 442, 441, 2, 453, 575, 2, 416, 578, 2, 0, 0, 0, 0, 0, 0, 491, 139, 1, 491, 231, 1], "image_id": 108109, "bbox": [386.88, 120.81, 241.61, 510.56], "category_id": 1, "id": 135346}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [387, 145, 2, 338, 148, 2, 402, 190, 2, 320, 191, 2, 376, 195, 1, 317, 223, 1, 381, 217, 1, 341, 218, 2, 413, 255, 1, 327, 249, 1, 0, 0, 0, 0, 0, 0, 356, 104, 1, 361, 138, 1], "image_id": 103039, "bbox": [311.86, 95.09, 100.66, 131.57], "category_id": 1, "id": 135357}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 370, 287, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 371, 1, 0, 0, 0, 356, 446, 2, 0, 0, 0, 337, 511, 2, 405, 244, 1, 405, 295, 1], "image_id": 103629, "bbox": [331.14, 229.51, 77.55, 299.88], "category_id": 1, "id": 135359}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [101, 189, 2, 2, 217, 1, 123, 228, 2, 28, 340, 2, 151, 283, 2, 115, 250, 2, 68, 331, 2, 0, 0, 0, 91, 437, 2, 43, 463, 2, 0, 0, 0, 0, 0, 0, 61, 83, 1, 52, 179, 1], "image_id": 103703, "bbox": [1.07, 57.41, 170.74, 417.32], "category_id": 1, "id": 135371}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [542, 289, 2, 597, 251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 152, 1, 554, 257, 1], "image_id": 106221, "bbox": [465.06, 138.49, 163.46, 226.43], "category_id": 1, "id": 135380}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [291, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102631, "bbox": [272.02, 18.44, 77.66, 95.75], "category_id": 1, "id": 135404}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [416.19, 396.98, 63.03, 82.36], "category_id": 1, "id": 135417}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [535, 184, 2, 466, 176, 2, 582, 234, 2, 402, 227, 2, 576, 242, 2, 340, 265, 1, 503, 295, 2, 454, 284, 2, 463, 392, 2, 423, 397, 2, 423, 484, 1, 391, 423, 2, 503, 104, 1, 500, 166, 1], "image_id": 106255, "bbox": [337.22, 96.1, 259.24, 357.96], "category_id": 1, "id": 135419}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [364, 282, 2, 345, 278, 2, 370, 299, 2, 340, 290, 2, 355, 303, 2, 342, 301, 2, 358, 319, 2, 345, 314, 2, 356, 338, 1, 0, 0, 0, 358, 356, 1, 0, 0, 0, 349, 258, 1, 353, 273, 1], "image_id": 107115, "bbox": [338.07, 253.8, 35.96, 112.51], "category_id": 1, "id": 135425}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [116, 94, 2, 85, 96, 2, 154, 103, 2, 0, 0, 0, 117, 100, 1, 98, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 46, 1, 103, 86, 1], "image_id": 108105, "bbox": [75.55, 38.35, 83.95, 67.16], "category_id": 1, "id": 135445}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 260, 151, 2, 280, 153, 2, 279, 190, 2, 318, 151, 2, 300, 177, 2, 0, 0, 0, 262, 219, 2, 0, 0, 0, 285, 283, 2, 320, 291, 2, 268, 364, 2, 259, 85, 1, 259, 123, 1], "image_id": 107023, "bbox": [235.79, 80.05, 94.41, 299.1], "category_id": 1, "id": 135448}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 261, 1, 176, 268, 1], "image_id": 105856, "bbox": [162.05, 260.46, 21.18, 64.21], "category_id": 1, "id": 135456}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [63, 192, 2, 2, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 265, 1, 11, 264, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 140, 1, 29, 185, 1], "image_id": 104345, "bbox": [0, 132.03, 75.3, 100.05], "category_id": 1, "id": 135477}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [219, 249, 1, 215, 258, 1, 0, 0, 0, 203, 291, 1, 0, 0, 0, 189, 269, 2, 208, 287, 1, 211, 308, 1, 168, 293, 1, 168, 310, 1, 0, 0, 0, 0, 0, 0, 202, 215, 1, 208, 240, 1], "image_id": 104647, "bbox": [153.37, 210.63, 66.27, 82.14], "category_id": 1, "id": 135483}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 288, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107720, "bbox": [369.03, 266.27, 57.97, 46.12], "category_id": 1, "id": 135523}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [367, 173, 2, 347, 173, 1, 371, 190, 2, 0, 0, 0, 363, 203, 2, 0, 0, 0, 365, 206, 2, 351, 207, 1, 367, 231, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 155, 1, 356, 170, 1], "image_id": 104097, "bbox": [348.25, 152.88, 28.24, 89.78], "category_id": 1, "id": 135532}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [112, 207, 2, 0, 0, 0, 123, 221, 1, 92, 224, 2, 124, 239, 2, 91, 238, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 181, 1, 102, 198, 1], "image_id": 107713, "bbox": [80.45, 178.39, 48.23, 83.65], "category_id": 1, "id": 135540}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [485, 267, 2, 431, 257, 2, 488, 293, 2, 425, 284, 2, 458, 298, 2, 437, 298, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454, 203, 1, 457, 252, 1], "image_id": 103682, "bbox": [416.7, 197.42, 85.77, 114.01], "category_id": 1, "id": 135544}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [195, 272, 2, 215, 261, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 344, 1, 245, 344, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 224, 1, 194, 257, 1], "image_id": 108202, "bbox": [162.1, 220.3, 96.88, 121.35], "category_id": 1, "id": 135548}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [245, 240, 2, 0, 0, 0, 225, 270, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 310, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 200, 1, 245, 228, 1], "image_id": 108202, "bbox": [213.28, 192.56, 70.73, 101.81], "category_id": 1, "id": 135561}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [62, 131, 1, 84, 122, 2, 46, 133, 2, 81, 101, 1, 28, 126, 2, 70, 77, 2, 74, 175, 1, 98, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108397, "bbox": [14.12, 64.46, 76.16, 99.51], "category_id": 1, "id": 135580}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107231, "bbox": [625.55, 78.73, 14.45, 151.48], "category_id": 1, "id": 135583}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 143, 1, 502, 149, 1], "image_id": 105183, "bbox": [493.25, 142.16, 19.02, 51.7], "category_id": 1, "id": 135623}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [171, 181, 2, 149, 182, 1, 180, 203, 2, 0, 0, 0, 176, 227, 2, 0, 0, 0, 183, 220, 2, 160, 220, 1, 170, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 169, 1, 156, 182, 1], "image_id": 105921, "bbox": [141.51, 162.29, 49.56, 85.5], "category_id": 1, "id": 135625}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [14, 89, 2, 0, 0, 0, 29, 113, 2, 0, 0, 0, 41, 125, 2, 0, 0, 0, 15, 149, 2, 0, 0, 0, 0, 0, 0, 20, 187, 2, 0, 0, 0, 34, 234, 2, 8, 51, 1, 2, 80, 1], "image_id": 105608, "bbox": [0.79, 51.56, 60.29, 195.94], "category_id": 1, "id": 135628}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [518, 185, 2, 561, 183, 2, 512, 225, 2, 574, 223, 2, 512, 258, 2, 563, 248, 2, 531, 258, 2, 559, 256, 2, 524, 308, 2, 552, 309, 2, 548, 352, 2, 550, 368, 2, 531, 141, 1, 535, 169, 1], "image_id": 102907, "bbox": [501.63, 135.38, 82.91, 249.76], "category_id": 1, "id": 135638}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [141, 148, 2, 137, 132, 2, 144, 194, 2, 125, 186, 2, 117, 207, 2, 107, 187, 2, 142, 224, 2, 0, 0, 0, 85, 218, 2, 95, 209, 2, 123, 269, 1, 0, 0, 0, 103, 118, 1, 128, 140, 1], "image_id": 107569, "bbox": [76.25, 110.94, 80.44, 180.65], "category_id": 1, "id": 135642}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 139, 1, 584, 148, 1], "image_id": 105183, "bbox": [574.9, 139.37, 24.06, 61.35], "category_id": 1, "id": 135647}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 66, 99, 2, 0, 0, 0, 66, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 128, 2, 0, 0, 0, 63, 151, 2, 0, 0, 0, 0, 0, 0, 81, 87, 1, 74, 96, 1], "image_id": 107720, "bbox": [44.34, 83.85, 42.62, 71.85], "category_id": 1, "id": 135666}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [187, 99, 2, 216, 99, 2, 0, 0, 0, 229, 126, 2, 0, 0, 0, 235, 116, 2, 196, 149, 2, 218, 148, 2, 194, 192, 2, 216, 196, 1, 193, 222, 2, 0, 0, 0, 210, 62, 1, 203, 89, 1], "image_id": 107408, "bbox": [180.24, 62.49, 62.04, 160.98], "category_id": 1, "id": 135694}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [550, 205, 2, 0, 0, 0, 547, 230, 2, 0, 0, 0, 534, 244, 1, 0, 0, 0, 546, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 534, 182, 1, 542, 199, 1], "image_id": 107241, "bbox": [525.9, 177.35, 33.79, 73.55], "category_id": 1, "id": 135698}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [70, 177, 2, 0, 197, 1, 0, 0, 0, 40, 336, 2, 0, 0, 0, 96, 239, 2, 95, 348, 2, 67, 358, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 83, 1, 33, 171, 1], "image_id": 103281, "bbox": [0, 74.43, 148.85, 400.18], "category_id": 1, "id": 135706}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 485, 235, 1, 485, 242, 1], "image_id": 103043, "bbox": [476.22, 234.17, 14.37, 40.67], "category_id": 1, "id": 135729}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [94, 195, 2, 108, 194, 1, 93, 205, 2, 115, 203, 2, 99, 211, 2, 120, 210, 2, 97, 212, 2, 106, 212, 2, 97, 230, 2, 106, 229, 2, 96, 247, 2, 107, 247, 1, 105, 180, 1, 102, 189, 1], "image_id": 105177, "bbox": [89.78, 180.86, 34.62, 72.65], "category_id": 1, "id": 135733}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [12, 238, 2, 0, 0, 0, 66, 308, 2, 14, 350, 2, 41, 321, 2, 52, 338, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 123, 1, 0, 0, 0], "image_id": 105825, "bbox": [1.08, 107.94, 80.9, 320.36], "category_id": 1, "id": 135737}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [212, 50, 2, 242, 51, 2, 210, 71, 2, 242, 68, 2, 207, 97, 2, 242, 93, 2, 219, 87, 2, 235, 88, 2, 211, 126, 2, 233, 123, 2, 206, 151, 1, 229, 152, 1, 225, 22, 1, 227, 39, 1], "image_id": 108035, "bbox": [201.91, 17.73, 47.88, 134.28], "category_id": 1, "id": 135749}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [347, 96, 2, 317, 105, 1, 366, 106, 2, 0, 0, 0, 354, 89, 2, 0, 0, 0, 335, 151, 2, 320, 152, 1, 332, 185, 2, 0, 0, 0, 326, 215, 1, 0, 0, 0, 325, 79, 1, 330, 99, 1], "image_id": 103594, "bbox": [318.56, 75.07, 52.25, 129.05], "category_id": 1, "id": 135763}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105778, "bbox": [0.06, 505.3, 11.9, 47.3], "category_id": 1, "id": 135764}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [423, 333, 2, 432, 337, 2, 0, 0, 0, 446, 363, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 303, 1, 433, 328, 1], "image_id": 105812, "bbox": [412.8, 300.96, 51.96, 71.99], "category_id": 1, "id": 135801}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [217, 81, 2, 152, 80, 2, 228, 127, 1, 143, 125, 2, 244, 155, 1, 135, 161, 2, 198, 172, 2, 166, 171, 2, 195, 231, 2, 170, 229, 2, 184, 289, 2, 166, 292, 2, 183, 28, 1, 185, 67, 1], "image_id": 107326, "bbox": [126.13, 24.78, 111.75, 279.37], "category_id": 1, "id": 135824}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [306, 247, 2, 219, 233, 2, 280, 314, 2, 0, 0, 0, 194, 315, 2, 146, 320, 2, 250, 430, 1, 189, 418, 2, 267, 564, 2, 222, 566, 2, 0, 0, 0, 0, 0, 0, 286, 137, 1, 272, 221, 1], "image_id": 104497, "bbox": [139.37, 130.45, 206.8, 509.55], "category_id": 1, "id": 135826}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [537, 219, 2, 461, 232, 2, 557, 294, 1, 456, 301, 2, 501, 340, 1, 471, 333, 2, 525, 338, 1, 477, 339, 2, 487, 388, 1, 436, 373, 1, 489, 468, 1, 427, 467, 1, 478, 143, 1, 494, 213, 1], "image_id": 108296, "bbox": [442.16, 127.57, 129.73, 264.86], "category_id": 1, "id": 135837}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [207, 160, 2, 159, 176, 2, 0, 0, 0, 158, 237, 2, 0, 0, 0, 185, 243, 2, 221, 258, 2, 192, 272, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 110, 1, 187, 160, 1], "image_id": 105485, "bbox": [145.11, 106.65, 100.53, 168.71], "category_id": 1, "id": 135854}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [503, 169, 2, 476, 167, 2, 504, 191, 2, 472, 190, 2, 492, 198, 2, 483, 197, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 145, 1, 490, 169, 1], "image_id": 103143, "bbox": [466.67, 142.43, 44.57, 62.1], "category_id": 1, "id": 135860}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [425, 222, 2, 0, 0, 0, 419, 233, 2, 0, 0, 0, 406, 231, 2, 0, 0, 0, 434, 236, 2, 421, 235, 2, 423, 240, 2, 408, 236, 2, 433, 257, 2, 417, 253, 2, 415, 210, 1, 421, 219, 1], "image_id": 104658, "bbox": [404.88, 204.81, 38.41, 59.58], "category_id": 1, "id": 135882}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [335, 217, 2, 292, 211, 2, 0, 0, 0, 0, 0, 0, 324, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 171, 1, 318, 204, 1], "image_id": 106310, "bbox": [284.25, 163.24, 54.19, 71.87], "category_id": 1, "id": 135885}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [560, 91, 2, 461, 98, 2, 557, 173, 2, 444, 178, 2, 511, 231, 2, 448, 232, 1, 548, 213, 2, 485, 213, 2, 548, 310, 1, 470, 308, 1, 0, 0, 0, 0, 0, 0, 494, 11, 1, 503, 80, 1], "image_id": 103682, "bbox": [427.67, 2.37, 162.1, 311.96], "category_id": 1, "id": 135886}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [484, 108, 2, 423, 110, 1, 0, 0, 0, 410, 146, 2, 484, 159, 2, 452, 145, 2, 480, 194, 2, 438, 195, 1, 0, 0, 0, 415, 202, 1, 0, 0, 0, 410, 267, 1, 447, 44, 1, 452, 99, 1], "image_id": 103280, "bbox": [402.7, 32.45, 97.3, 210.33], "category_id": 1, "id": 135891}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 150, 1, 233, 157, 1], "image_id": 107036, "bbox": [219.12, 149.86, 27.5, 24.88], "category_id": 1, "id": 135893}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 240, 1, 540, 245, 1], "image_id": 103043, "bbox": [531.64, 238.26, 18.01, 36.3], "category_id": 1, "id": 135898}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [468, 173, 2, 425, 174, 2, 474, 197, 2, 418, 205, 2, 475, 213, 1, 415, 233, 2, 460, 238, 2, 436, 236, 2, 462, 278, 2, 423, 279, 2, 465, 321, 2, 410, 317, 2, 447, 134, 1, 447, 164, 1], "image_id": 102576, "bbox": [400.38, 127.26, 79.89, 208.9], "category_id": 1, "id": 135904}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [296, 92, 2, 238, 98, 2, 315, 137, 2, 250, 145, 1, 0, 0, 0, 231, 171, 2, 290, 201, 1, 267, 199, 1, 231, 239, 2, 276, 251, 1, 208, 308, 2, 317, 312, 1, 251, 43, 1, 260, 85, 1], "image_id": 107326, "bbox": [169.84, 36.3, 153.53, 285.95], "category_id": 1, "id": 135910}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [171, 114, 1, 158, 115, 2, 185, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 91, 1, 165, 109, 1], "image_id": 107720, "bbox": [141, 87.88, 41.8, 56.58], "category_id": 1, "id": 135916}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [244, 194, 2, 224, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 164, 1, 234, 189, 1], "image_id": 108463, "bbox": [218.03, 160.76, 34.27, 54.69], "category_id": 1, "id": 135918}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 571, 273, 2, 0, 0, 0, 544, 367, 2, 0, 0, 0, 545, 339, 2, 0, 0, 0, 581, 452, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 176, 1, 621, 261, 1], "image_id": 107230, "bbox": [530.29, 161.07, 109.71, 315.97], "category_id": 1, "id": 135919}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106372, "bbox": [316.88, 327.74, 6.78, 10.61], "category_id": 1, "id": 135926}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [500, 180, 2, 538, 172, 1, 499, 227, 2, 0, 0, 0, 502, 246, 2, 0, 0, 0, 512, 244, 1, 0, 0, 0, 513, 293, 1, 0, 0, 0, 516, 344, 2, 0, 0, 0, 505, 140, 1, 512, 163, 1], "image_id": 102907, "bbox": [489.54, 135.05, 36.93, 221.02], "category_id": 1, "id": 135937}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [613, 137, 2, 534, 141, 2, 625, 189, 2, 0, 0, 0, 613, 230, 2, 0, 0, 0, 592, 255, 2, 550, 256, 2, 600, 335, 2, 546, 338, 1, 608, 416, 2, 549, 405, 2, 566, 67, 1, 569, 121, 1], "image_id": 105547, "bbox": [520.49, 61.58, 119.51, 378.74], "category_id": 1, "id": 135940}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [399, 115, 2, 377, 113, 1, 378, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 210, 2, 391, 200, 1, 378, 288, 1, 390, 293, 2, 366, 378, 1, 396, 377, 2, 372, 58, 1, 384, 103, 1], "image_id": 107036, "bbox": [374.53, 55.18, 44.99, 348.35], "category_id": 1, "id": 135962}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104149, "bbox": [14.73, 6.51, 10.1, 21.33], "category_id": 1, "id": 135973}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [330, 121, 2, 297, 122, 2, 339, 148, 1, 289, 149, 1, 321, 162, 1, 0, 0, 0, 323, 165, 1, 302, 166, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 97, 1, 315, 118, 1], "image_id": 107023, "bbox": [285.56, 96.33, 50.25, 81.86], "category_id": 1, "id": 135980}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [416, 198, 2, 347, 201, 2, 450, 243, 1, 315, 238, 2, 412, 251, 2, 361, 247, 2, 408, 289, 1, 360, 290, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 144, 1, 383, 195, 1], "image_id": 108296, "bbox": [307.42, 140.22, 145.61, 125.13], "category_id": 1, "id": 135993}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [38, 92, 2, 49, 92, 2, 41, 112, 2, 0, 0, 0, 39, 131, 2, 0, 0, 0, 35, 131, 2, 47, 130, 2, 27, 159, 1, 0, 0, 0, 22, 192, 2, 0, 0, 0, 39, 71, 1, 42, 86, 1], "image_id": 105995, "bbox": [4.44, 67.84, 54.11, 131.21], "category_id": 1, "id": 135998}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [216, 226, 2, 183, 229, 2, 226, 256, 2, 177, 263, 2, 207, 275, 2, 171, 286, 1, 214, 286, 1, 188, 286, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 191, 1, 196, 218, 1], "image_id": 107575, "bbox": [169.09, 189.14, 61.07, 93.51], "category_id": 1, "id": 136031}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 214, 2, 439, 215, 2, 460, 221, 2, 437, 228, 1, 459, 235, 2, 432, 223, 1, 462, 230, 2, 455, 229, 2, 451, 237, 2, 442, 235, 1, 458, 256, 2, 448, 247, 2, 435, 203, 1, 440, 213, 1], "image_id": 104658, "bbox": [429.53, 200.63, 43.36, 64.94], "category_id": 1, "id": 136042}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 148, 1, 362, 153, 1], "image_id": 105183, "bbox": [354.1, 147.79, 18.42, 35.31], "category_id": 1, "id": 136059}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 527, 156, 1, 523, 166, 1], "image_id": 108139, "bbox": [509.3, 156.67, 23.51, 47.62], "category_id": 1, "id": 136061}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 144, 1, 506, 155, 1], "image_id": 105615, "bbox": [489.2, 138.87, 38.82, 59.36], "category_id": 1, "id": 136062}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [56, 193, 2, 22, 194, 1, 87, 188, 2, 0, 0, 0, 70, 204, 2, 18, 157, 1, 54, 246, 2, 32, 245, 2, 81, 258, 2, 30, 258, 2, 70, 312, 2, 31, 310, 1, 24, 162, 1, 38, 189, 1], "image_id": 103782, "bbox": [9.49, 144.54, 90.35, 178.79], "category_id": 1, "id": 136065}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [366, 394, 2, 390, 400, 2, 360, 380, 1, 392, 417, 2, 0, 0, 0, 397, 429, 2, 367, 427, 2, 385, 430, 2, 367, 456, 2, 384, 456, 2, 0, 0, 0, 0, 0, 0, 378, 365, 1, 377, 388, 1], "image_id": 107115, "bbox": [358.56, 361.58, 38.97, 118.42], "category_id": 1, "id": 136080}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [43, 83, 2, 121, 96, 2, 0, 0, 0, 136, 154, 1, 0, 0, 0, 0, 0, 0, 53, 214, 2, 111, 216, 1, 71, 340, 2, 111, 341, 1, 82, 457, 2, 117, 450, 1, 27, 34, 1, 60, 67, 1], "image_id": 106055, "bbox": [14.38, 20.13, 128, 460.23], "category_id": 1, "id": 136081}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [527, 122, 2, 487, 133, 2, 538, 167, 2, 0, 0, 0, 510, 204, 2, 0, 0, 0, 527, 208, 2, 499, 210, 2, 530, 271, 1, 505, 273, 2, 535, 330, 2, 507, 329, 2, 489, 79, 1, 503, 114, 1], "image_id": 104759, "bbox": [478.14, 74.88, 77.02, 285.6], "category_id": 1, "id": 136082}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102620, "bbox": [390.36, 376.02, 61.73, 50.98], "category_id": 1, "id": 136097}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 510, 205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 155, 1, 556, 204, 1], "image_id": 105655, "bbox": [497.97, 149.67, 93.44, 81.92], "category_id": 1, "id": 136102}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104149, "bbox": [367.99, 4.23, 8.03, 11.86], "category_id": 1, "id": 136103}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 288, 1, 393, 295, 1], "image_id": 107276, "bbox": [385.55, 288.7, 22.71, 63.2], "category_id": 1, "id": 136107}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [584, 131, 2, 524, 128, 2, 584, 181, 1, 530, 175, 2, 0, 0, 0, 522, 216, 1, 566, 202, 1, 535, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 83, 1, 554, 127, 1], "image_id": 105655, "bbox": [512.41, 78.82, 87.86, 112.56], "category_id": 1, "id": 136123}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [392, 155, 2, 312, 149, 2, 404, 218, 2, 0, 0, 0, 361, 230, 1, 0, 0, 0, 366, 237, 1, 0, 0, 0, 381, 249, 2, 0, 0, 0, 398, 321, 2, 0, 0, 0, 346, 80, 1, 348, 137, 1], "image_id": 102964, "bbox": [302.11, 71.34, 120.64, 283.79], "category_id": 1, "id": 136130}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 236, 1, 0, 0, 0], "image_id": 107239, "bbox": [339.5, 235.54, 15.95, 25.14], "category_id": 1, "id": 136133}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [246, 254, 2, 209, 253, 2, 256, 290, 2, 201, 282, 2, 245, 275, 2, 226, 276, 2, 247, 317, 1, 220, 320, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 214, 1, 230, 244, 1], "image_id": 103782, "bbox": [193.99, 207.07, 67.73, 106.14], "category_id": 1, "id": 136137}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [566, 249, 1, 492, 251, 2, 602, 304, 2, 0, 0, 0, 596, 332, 2, 0, 0, 0, 566, 340, 2, 519, 344, 1, 616, 349, 2, 506, 418, 2, 571, 408, 2, 535, 405, 2, 524, 174, 1, 528, 242, 1], "image_id": 106077, "bbox": [466.51, 165.92, 163.41, 280.99], "category_id": 1, "id": 136144}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 159, 1, 252, 169, 1], "image_id": 104565, "bbox": [241.59, 156.35, 37.63, 30.71], "category_id": 1, "id": 136149}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [321, 321, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 261, 1, 0, 0, 0], "image_id": 107524, "bbox": [247.07, 254.61, 78.64, 92.18], "category_id": 1, "id": 136156}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [237, 93, 2, 213, 91, 2, 0, 0, 0, 216, 103, 2, 0, 0, 0, 232, 104, 2, 233, 114, 2, 222, 115, 2, 238, 102, 2, 227, 118, 1, 231, 123, 1, 236, 121, 2, 228, 67, 1, 225, 85, 1], "image_id": 104772, "bbox": [208.46, 65.4, 44.91, 73.88], "category_id": 1, "id": 136176}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [400, 155, 2, 367, 156, 2, 403, 183, 2, 361, 180, 2, 389, 196, 2, 363, 193, 2, 387, 198, 2, 370, 197, 2, 384, 209, 2, 353, 206, 1, 0, 0, 0, 0, 0, 0, 384, 117, 1, 384, 144, 1], "image_id": 107575, "bbox": [347.92, 110.38, 63, 103.09], "category_id": 1, "id": 136194}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [459, 319, 2, 434, 320, 2, 468, 344, 2, 432, 343, 2, 460, 354, 2, 444, 352, 2, 453, 347, 2, 442, 347, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, 297, 1, 446, 318, 1], "image_id": 105789, "bbox": [428.47, 296.85, 45.84, 67.5], "category_id": 1, "id": 136208}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, 14, 1], "image_id": 102572, "bbox": [551.35, 0, 32.91, 27.56], "category_id": 1, "id": 136213}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [207, 465, 2, 134, 425, 2, 0, 0, 0, 0, 0, 0, 158, 468, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 376, 1, 170, 446, 1], "image_id": 104461, "bbox": [98.16, 362.43, 127.28, 112.18], "category_id": 1, "id": 136235}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [193, 36, 2, 150, 31, 2, 224, 64, 2, 136, 68, 2, 202, 40, 2, 167, 77, 2, 189, 82, 2, 173, 83, 2, 230, 86, 2, 201, 53, 2, 227, 151, 2, 250, 92, 2, 0, 0, 0, 174, 26, 1], "image_id": 106983, "bbox": [132.76, 0.24, 150.99, 167.46], "category_id": 1, "id": 136239}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [260, 96, 2, 271, 98, 2, 0, 0, 0, 284, 121, 2, 0, 0, 0, 294, 134, 2, 260, 130, 2, 270, 130, 2, 263, 155, 2, 270, 158, 2, 263, 186, 1, 270, 193, 2, 276, 73, 1, 269, 91, 1], "image_id": 107408, "bbox": [254.93, 70.05, 49.12, 123.05], "category_id": 1, "id": 136240}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [122, 127, 2, 84, 127, 2, 128, 163, 2, 104, 155, 2, 0, 0, 0, 114, 134, 2, 111, 193, 1, 87, 193, 2, 123, 170, 2, 107, 168, 2, 136, 210, 1, 117, 209, 1, 102, 92, 1, 102, 124, 1], "image_id": 104042, "bbox": [70.81, 91.09, 67.26, 105.52], "category_id": 1, "id": 136243}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [410, 112, 1, 398, 111, 2, 411, 151, 2, 0, 0, 0, 392, 171, 2, 0, 0, 0, 400, 180, 2, 389, 183, 2, 394, 228, 2, 389, 228, 2, 396, 285, 2, 381, 278, 2, 392, 69, 1, 403, 101, 1], "image_id": 108463, "bbox": [363.32, 64.22, 57.33, 227.48], "category_id": 1, "id": 136263}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [477, 214, 2, 439, 216, 2, 485, 246, 2, 434, 249, 2, 463, 261, 2, 442, 258, 2, 476, 266, 2, 446, 264, 2, 458, 274, 2, 431, 272, 2, 456, 330, 2, 439, 329, 2, 456, 178, 1, 456, 207, 1], "image_id": 106366, "bbox": [416.43, 172.94, 75.25, 172.08], "category_id": 1, "id": 136276}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [597, 354, 2, 563, 353, 2, 0, 0, 0, 564, 386, 1, 0, 0, 0, 576, 349, 2, 596, 422, 2, 573, 422, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 583, 322, 1, 582, 349, 1], "image_id": 102620, "bbox": [548.73, 315.41, 64.95, 111.59], "category_id": 1, "id": 136277}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 182, 261, 2, 0, 0, 0, 172, 307, 2, 0, 0, 0, 198, 320, 2, 241, 353, 1, 199, 353, 2, 241, 436, 1, 200, 434, 2, 241, 492, 1, 195, 492, 1, 206, 199, 1, 206, 244, 1], "image_id": 103896, "bbox": [160.38, 199.86, 78.96, 249.21], "category_id": 1, "id": 136282}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [580, 244, 2, 554, 247, 2, 584, 264, 2, 553, 269, 2, 570, 264, 2, 570, 264, 2, 580, 281, 2, 558, 284, 2, 580, 311, 1, 557, 313, 2, 0, 0, 0, 0, 0, 0, 567, 221, 1, 566, 240, 1], "image_id": 105789, "bbox": [544.09, 215.85, 42.95, 108.63], "category_id": 1, "id": 136290}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [280, 112, 2, 224, 136, 2, 0, 0, 0, 234, 183, 2, 0, 0, 0, 246, 234, 2, 286, 212, 2, 254, 225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 70, 1, 253, 118, 1], "image_id": 105485, "bbox": [211.83, 68.63, 75.89, 199.01], "category_id": 1, "id": 136306}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [237, 247, 1, 170, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 179, 1, 209, 235, 1], "image_id": 105145, "bbox": [174.08, 178.52, 78.79, 113.76], "category_id": 1, "id": 136315}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [388, 182, 2, 284, 154, 2, 388, 250, 2, 0, 0, 0, 375, 264, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 62, 1, 334, 147, 1], "image_id": 102706, "bbox": [264.96, 56.18, 140.69, 247.49], "category_id": 1, "id": 136340}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [282, 203, 2, 289, 206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 229, 2, 270, 234, 2, 0, 0, 0, 297, 235, 1, 0, 0, 0, 276, 256, 1, 296, 185, 1, 288, 199, 1], "image_id": 104600, "bbox": [258.56, 181.18, 45.11, 59.3], "category_id": 1, "id": 136344}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 380, 2, 0, 0, 0, 167, 384, 1, 0, 0, 0, 150, 395, 2, 0, 0, 0, 149, 396, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108114, "bbox": [134.68, 362.58, 32.18, 59.54], "category_id": 1, "id": 136345}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [336, 387, 2, 375, 387, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 453, 2, 372, 452, 2, 339, 445, 2, 371, 446, 2, 341, 499, 2, 368, 497, 2, 354, 342, 1, 353, 373, 1], "image_id": 104626, "bbox": [321.35, 335.73, 65.48, 195.43], "category_id": 1, "id": 136361}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, 247, 1, 288, 256, 1], "image_id": 104930, "bbox": [276.81, 246.37, 22.61, 65.05], "category_id": 1, "id": 136362}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 267, 1, 93, 275, 1], "image_id": 105787, "bbox": [86.32, 267.29, 12.74, 32.34], "category_id": 1, "id": 136371}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [95, 240, 2, 108, 244, 2, 0, 0, 0, 93, 261, 2, 110, 269, 2, 103, 280, 2, 86, 276, 2, 96, 281, 2, 95, 321, 2, 122, 314, 2, 73, 356, 2, 82, 325, 2, 103, 215, 1, 102, 235, 1], "image_id": 105960, "bbox": [60.84, 212.11, 66.67, 153.53], "category_id": 1, "id": 136372}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [630, 153, 2, 557, 119, 2, 628, 261, 1, 540, 217, 2, 570, 247, 2, 600, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 130, 1], "image_id": 107119, "bbox": [523.64, 17.23, 116.36, 253.69], "category_id": 1, "id": 136381}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [193, 204, 2, 145, 206, 2, 0, 0, 0, 129, 248, 2, 0, 0, 0, 134, 286, 2, 203, 285, 1, 164, 292, 2, 249, 317, 1, 214, 328, 1, 288, 334, 1, 256, 364, 2, 161, 148, 1, 171, 198, 1], "image_id": 104497, "bbox": [112.18, 136.63, 189.84, 257.44], "category_id": 1, "id": 136387}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [521, 79, 1, 472, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 179, 2, 477, 179, 2, 513, 254, 2, 473, 255, 2, 507, 328, 2, 469, 330, 2, 0, 0, 0, 0, 0, 0], "image_id": 103382, "bbox": [432.76, 118.98, 106.51, 226.46], "category_id": 1, "id": 136400}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [427, 256, 2, 387, 249, 2, 437, 330, 1, 369, 293, 2, 408, 387, 2, 329, 286, 2, 404, 369, 2, 381, 360, 2, 406, 451, 1, 379, 450, 1, 0, 0, 0, 0, 0, 0, 387, 197, 1, 407, 242, 1], "image_id": 105825, "bbox": [308.49, 185.53, 132.68, 251.32], "category_id": 1, "id": 136404}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 146, 1, 122, 226, 1], "image_id": 102589, "bbox": [87.41, 128.19, 103.37, 238.01], "category_id": 1, "id": 136413}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [468, 210, 2, 425, 209, 2, 479, 251, 2, 416, 240, 2, 466, 251, 2, 422, 247, 2, 459, 281, 2, 432, 281, 1, 464, 342, 1, 428, 336, 1, 0, 0, 0, 0, 0, 0, 444, 161, 1, 448, 196, 1], "image_id": 107504, "bbox": [410.69, 157.37, 71.96, 179.43], "category_id": 1, "id": 136417}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [336, 119, 2, 285, 125, 2, 0, 0, 0, 289, 192, 2, 0, 0, 0, 300, 242, 2, 330, 239, 2, 293, 246, 2, 330, 329, 1, 295, 330, 1, 0, 0, 0, 0, 0, 0, 315, 60, 1, 314, 113, 1], "image_id": 105485, "bbox": [270.72, 54.76, 77.98, 217.28], "category_id": 1, "id": 136426}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 512, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105573, "bbox": [0, 460.54, 33.35, 75.12], "category_id": 1, "id": 136436}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [94, 41, 2, 80, 41, 2, 96, 52, 2, 78, 51, 2, 90, 62, 2, 76, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 21, 1, 86, 37, 1], "image_id": 104733, "bbox": [74.25, 20.73, 28.14, 65.98], "category_id": 1, "id": 136453}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [479, 162, 2, 432, 162, 2, 494, 215, 2, 419, 219, 1, 474, 235, 2, 430, 248, 2, 475, 259, 2, 443, 259, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 111, 1, 455, 153, 1], "image_id": 105556, "bbox": [405.72, 110.01, 100.31, 191.71], "category_id": 1, "id": 136462}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [113, 99, 2, 83, 98, 2, 105, 117, 2, 72, 117, 2, 89, 103, 2, 70, 97, 1, 105, 146, 2, 82, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 66, 1, 97, 92, 1], "image_id": 107273, "bbox": [62.16, 63.71, 59.72, 99.54], "category_id": 1, "id": 136464}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [576, 104, 2, 614, 99, 2, 532, 127, 2, 0, 0, 0, 514, 107, 1, 0, 0, 0, 591, 198, 2, 616, 196, 2, 575, 259, 2, 596, 256, 2, 578, 326, 2, 609, 321, 2, 578, 61, 1, 585, 90, 1], "image_id": 105616, "bbox": [526.1, 47.13, 108.69, 303.93], "category_id": 1, "id": 136471}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 530, 1, 468, 534, 1], "image_id": 106426, "bbox": [457.57, 532.46, 22.43, 59.78], "category_id": 1, "id": 136484}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [388, 205, 2, 358, 201, 2, 404, 208, 2, 349, 206, 2, 409, 221, 2, 333, 218, 2, 390, 223, 2, 375, 221, 2, 378, 236, 2, 362, 235, 2, 377, 270, 2, 353, 265, 2, 363, 178, 1, 371, 196, 1], "image_id": 104948, "bbox": [317.61, 166, 98.83, 115.15], "category_id": 1, "id": 136485}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [204, 316, 2, 225, 316, 2, 0, 0, 0, 240, 343, 1, 0, 0, 0, 237, 367, 2, 210, 349, 1, 232, 349, 2, 209, 382, 2, 226, 382, 2, 206, 411, 2, 234, 413, 2, 214, 299, 1, 214, 308, 1], "image_id": 103382, "bbox": [203.17, 297.89, 41.98, 128.7], "category_id": 1, "id": 136498}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 178, 2, 493, 172, 2, 521, 212, 2, 480, 195, 2, 501, 230, 2, 473, 224, 2, 509, 243, 2, 485, 241, 2, 499, 290, 2, 484, 288, 2, 504, 328, 2, 484, 328, 2, 509, 133, 1, 508, 166, 1], "image_id": 102576, "bbox": [466.44, 128.02, 74.18, 225.84], "category_id": 1, "id": 136515}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 143, 1, 235, 154, 1], "image_id": 106157, "bbox": [220.25, 142.09, 23.41, 37.54], "category_id": 1, "id": 136545}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [272, 53, 2, 286, 46, 2, 270, 94, 2, 0, 0, 0, 247, 99, 2, 0, 0, 0, 267, 119, 2, 284, 113, 2, 283, 201, 2, 300, 191, 2, 0, 0, 0, 0, 0, 0, 268, 4, 1, 276, 37, 1], "image_id": 103544, "bbox": [226.68, 0, 82.86, 224.68], "category_id": 1, "id": 136562}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 262, 1], "image_id": 104626, "bbox": [268.78, 254.76, 23.79, 49.46], "category_id": 1, "id": 136586}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [136, 229, 1, 98, 234, 2, 0, 0, 0, 85, 272, 1, 0, 0, 0, 95, 271, 2, 129, 303, 2, 98, 307, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 198, 1, 118, 227, 1], "image_id": 103782, "bbox": [83.46, 191.24, 61.13, 120.6], "category_id": 1, "id": 136601}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 236, 1, 232, 244, 1], "image_id": 104930, "bbox": [217.62, 235.39, 26.33, 67.52], "category_id": 1, "id": 136623}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [549, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, 4, 1, 0, 0, 0], "image_id": 104438, "bbox": [518.55, 0.31, 45.92, 93.88], "category_id": 1, "id": 136625}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [407, 287, 2, 342, 263, 2, 404, 391, 2, 0, 0, 0, 341, 394, 2, 0, 0, 0, 383, 418, 2, 347, 407, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 186, 1, 367, 259, 1], "image_id": 103362, "bbox": [278.29, 175.82, 168.27, 304.18], "category_id": 1, "id": 136643}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [294, 229, 2, 311, 227, 2, 292, 246, 2, 317, 241, 2, 286, 250, 2, 321, 253, 2, 297, 254, 2, 308, 254, 2, 297, 279, 2, 308, 278, 2, 300, 301, 2, 313, 297, 2, 298, 210, 1, 300, 221, 1], "image_id": 103625, "bbox": [285.13, 209.6, 40.02, 102.67], "category_id": 1, "id": 136666}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [576, 163, 2, 563, 164, 2, 0, 0, 0, 576, 191, 2, 0, 0, 0, 592, 205, 2, 576, 210, 2, 563, 213, 2, 586, 240, 2, 563, 245, 2, 601, 273, 2, 552, 275, 2, 571, 127, 1, 570, 151, 1], "image_id": 103718, "bbox": [545.73, 127.15, 77.64, 163.25], "category_id": 1, "id": 136686}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [85, 328, 2, 0, 0, 0, 92, 354, 2, 0, 0, 0, 81, 354, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 297, 1, 71, 319, 1], "image_id": 103382, "bbox": [59.08, 290.84, 38.62, 115.22], "category_id": 1, "id": 136741}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [125, 289, 2, 112, 316, 2, 0, 0, 0, 106, 359, 2, 0, 0, 0, 152, 353, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 256, 1, 131, 295, 1], "image_id": 107452, "bbox": [77.36, 248.22, 88.8, 128.86], "category_id": 1, "id": 136751}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 59, 1, 515, 116, 1], "image_id": 106220, "bbox": [494.24, 60.37, 62.75, 112.96], "category_id": 1, "id": 136775}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [430, 95, 2, 422, 96, 2, 436, 104, 2, 422, 110, 2, 0, 0, 0, 417, 123, 2, 431, 122, 2, 423, 123, 2, 429, 148, 2, 429, 151, 2, 0, 0, 0, 432, 168, 1, 419, 75, 1, 425, 90, 1], "image_id": 108412, "bbox": [412.37, 73.39, 26.18, 103.49], "category_id": 1, "id": 136789}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105616, "bbox": [283.71, 98.07, 15.32, 19.28], "category_id": 1, "id": 136798}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [268, 108, 2, 266, 103, 2, 250, 135, 2, 232, 118, 2, 217, 126, 2, 200, 122, 2, 285, 160, 2, 270, 156, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 71, 1, 264, 99, 1], "image_id": 102880, "bbox": [188.78, 67.77, 112.03, 113.72], "category_id": 1, "id": 136806}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [219, 62, 2, 192, 64, 2, 225, 88, 2, 188, 89, 2, 220, 112, 2, 191, 112, 2, 216, 116, 2, 197, 117, 2, 222, 154, 2, 199, 156, 1, 0, 0, 0, 0, 0, 0, 202, 38, 1, 203, 56, 1], "image_id": 105035, "bbox": [184.33, 33.92, 45.81, 138.86], "category_id": 1, "id": 136815}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [469, 285, 2, 0, 0, 0, 523, 408, 2, 0, 0, 0, 393, 357, 2, 428, 302, 1, 0, 0, 0, 0, 0, 0, 403, 408, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 151, 1, 460, 255, 1], "image_id": 106275, "bbox": [348.38, 108.54, 291.62, 320.46], "category_id": 1, "id": 136864}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [330, 46, 2, 297, 45, 2, 336, 69, 2, 290, 70, 2, 332, 89, 1, 299, 90, 1, 327, 91, 1, 308, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 14, 1, 315, 39, 1], "image_id": 105035, "bbox": [284.86, 11.57, 57.06, 87.85], "category_id": 1, "id": 136881}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [439, 157, 2, 422, 154, 2, 442, 175, 1, 422, 165, 2, 426, 184, 2, 421, 169, 1, 437, 189, 1, 425, 188, 2, 0, 0, 0, 425, 211, 2, 0, 0, 0, 0, 0, 0, 423, 137, 1, 431, 153, 1], "image_id": 104097, "bbox": [413.57, 134.41, 31.91, 93.86], "category_id": 1, "id": 136898}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [68, 492, 2, 97, 500, 2, 0, 0, 0, 94, 618, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 388, 1, 102, 462, 1], "image_id": 104072, "bbox": [20.38, 378.18, 137.92, 259.86], "category_id": 1, "id": 136916}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [303, 211, 2, 264, 209, 1, 303, 243, 1, 259, 238, 1, 0, 0, 0, 0, 0, 0, 293, 273, 1, 266, 271, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 174, 1, 283, 202, 1], "image_id": 107726, "bbox": [262.72, 170.83, 47.17, 113.64], "category_id": 1, "id": 136945}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [263, 81, 2, 251, 83, 2, 252, 99, 2, 0, 0, 0, 246, 94, 2, 0, 0, 0, 261, 114, 2, 250, 114, 1, 255, 138, 2, 0, 0, 0, 255, 166, 1, 0, 0, 0, 257, 60, 1, 259, 78, 1], "image_id": 102551, "bbox": [228.34, 58.93, 48.83, 108.78], "category_id": 1, "id": 136975}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [187, 26, 2, 176, 23, 2, 176, 141, 2, 137, 84, 2, 214, 187, 2, 138, 158, 2, 170, 154, 2, 159, 155, 2, 219, 272, 2, 213, 259, 2, 159, 368, 2, 168, 370, 1, 0, 0, 0, 185, 22, 1], "image_id": 105134, "bbox": [117.2, 0.95, 129.58, 391.61], "category_id": 1, "id": 136976}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 130, 2, 269, 131, 2, 323, 167, 2, 255, 168, 1, 318, 198, 2, 262, 145, 2, 307, 198, 2, 276, 199, 1, 304, 252, 2, 274, 252, 1, 298, 306, 2, 283, 304, 2, 288, 91, 1, 289, 124, 1], "image_id": 104759, "bbox": [249.17, 86.29, 79.63, 225.83], "category_id": 1, "id": 136980}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 606, 178, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 630, 134, 1, 633, 169, 1], "image_id": 108109, "bbox": [595.63, 133.31, 44.37, 59.47], "category_id": 1, "id": 136982}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [428, 130, 2, 473, 130, 2, 429, 162, 2, 475, 165, 2, 0, 0, 0, 468, 188, 2, 437, 187, 2, 458, 188, 2, 439, 236, 2, 450, 231, 2, 440, 282, 2, 449, 275, 2, 447, 94, 1, 449, 117, 1], "image_id": 108463, "bbox": [419.91, 91.06, 59.89, 201.55], "category_id": 1, "id": 136995}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 228, 1, 199, 238, 1], "image_id": 104930, "bbox": [185.27, 225.19, 29.93, 79.89], "category_id": 1, "id": 137023}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [303, 138, 2, 221, 142, 2, 325, 206, 2, 207, 209, 1, 292, 168, 2, 242, 166, 2, 298, 262, 2, 250, 264, 2, 308, 360, 2, 257, 361, 2, 316, 426, 1, 270, 418, 2, 267, 86, 1, 267, 135, 1], "image_id": 103281, "bbox": [198.47, 75.51, 134.83, 377.52], "category_id": 1, "id": 137040}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [46, 162, 2, 72, 160, 2, 41, 183, 2, 59, 182, 2, 0, 0, 0, 42, 188, 2, 59, 206, 1, 79, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 131, 1, 57, 151, 1], "image_id": 105995, "bbox": [30, 129.36, 48.15, 74.25], "category_id": 1, "id": 137041}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [183, 258, 2, 137, 256, 2, 191, 275, 2, 131, 282, 2, 173, 244, 2, 148, 257, 1, 176, 314, 1, 150, 315, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 219, 1, 157, 251, 1], "image_id": 103782, "bbox": [121.89, 215.55, 75.86, 90.67], "category_id": 1, "id": 137045}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [128, 158, 2, 116, 154, 2, 124, 204, 2, 86, 153, 2, 113, 239, 2, 102, 130, 2, 128, 235, 2, 0, 0, 0, 120, 289, 2, 130, 292, 2, 116, 346, 2, 132, 345, 2, 119, 116, 1, 123, 146, 1], "image_id": 107524, "bbox": [75.88, 114.01, 72.89, 245.68], "category_id": 1, "id": 137065}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448, 375, 1, 428, 367, 1, 432, 444, 2, 413, 427, 2, 427, 481, 2, 412, 487, 2, 0, 0, 0, 0, 0, 0], "image_id": 102646, "bbox": [403.72, 320.51, 49.03, 178.25], "category_id": 1, "id": 137069}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [182, 233, 2, 159, 238, 2, 0, 0, 0, 157, 293, 2, 0, 0, 0, 171, 351, 2, 185, 361, 2, 162, 370, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 175, 1, 177, 212, 1], "image_id": 106221, "bbox": [116.21, 169.82, 106.52, 253.72], "category_id": 1, "id": 137109}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [155, 71, 2, 128, 71, 2, 160, 92, 2, 115, 92, 2, 0, 0, 0, 0, 0, 0, 148, 119, 2, 127, 117, 2, 148, 150, 2, 122, 146, 2, 153, 184, 1, 115, 182, 2, 143, 44, 1, 141, 62, 1], "image_id": 106255, "bbox": [102.21, 41.51, 64.65, 164.07], "category_id": 1, "id": 137129}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 616, 48, 2, 0, 0, 0, 601, 73, 2, 0, 0, 0, 615, 89, 2, 0, 0, 0, 625, 101, 2, 0, 0, 0, 593, 87, 1, 0, 0, 0, 603, 140, 1, 0, 0, 0, 0, 0, 0], "image_id": 106983, "bbox": [593.8, 0, 46.2, 146.91], "category_id": 1, "id": 137133}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 562, 336, 2, 0, 0, 0, 550, 425, 2, 0, 0, 0, 512, 402, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 229, 1, 613, 322, 1], "image_id": 103355, "bbox": [492.67, 213.49, 147.33, 264.51], "category_id": 1, "id": 137153}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [412, 79, 2, 429, 78, 2, 407, 95, 2, 434, 98, 2, 397, 89, 2, 448, 93, 2, 413, 108, 2, 425, 108, 2, 407, 131, 1, 425, 132, 1, 0, 0, 0, 0, 0, 0, 421, 60, 1, 420, 72, 1], "image_id": 107119, "bbox": [389.81, 59.41, 65.02, 65], "category_id": 1, "id": 137177}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [369, 44, 2, 317, 45, 2, 395, 93, 1, 300, 75, 2, 373, 49, 2, 339, 43, 2, 366, 114, 1, 320, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 33, 1], "image_id": 103896, "bbox": [299.65, 0.13, 81.2, 97.73], "category_id": 1, "id": 137193}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104458, "bbox": [245.91, 120.37, 47.24, 42.96], "category_id": 1, "id": 137202}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [215, 303, 2, 184, 299, 1, 0, 0, 0, 192, 327, 1, 0, 0, 0, 218, 328, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 258, 1, 197, 288, 1], "image_id": 107452, "bbox": [185.74, 257.54, 56.34, 77], "category_id": 1, "id": 137220}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [390, 168, 2, 331, 176, 2, 395, 227, 1, 316, 230, 2, 0, 0, 0, 303, 267, 1, 417, 207, 2, 0, 0, 0, 402, 279, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 116, 1, 355, 162, 1], "image_id": 103682, "bbox": [299.09, 107.1, 133.3, 165.45], "category_id": 1, "id": 137223}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103937, "bbox": [10.73, 135.61, 6.42, 16.28], "category_id": 1, "id": 137226}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [288, 273, 2, 253, 280, 2, 298, 277, 2, 250, 296, 2, 303, 275, 2, 245, 312, 2, 291, 311, 2, 267, 316, 2, 297, 323, 2, 270, 347, 2, 301, 342, 2, 272, 365, 1, 261, 247, 1, 269, 271, 1], "image_id": 105825, "bbox": [236.79, 243.2, 83.83, 135.36], "category_id": 1, "id": 137271}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [53, 75, 2, 22, 75, 2, 69, 99, 2, 4, 95, 2, 0, 0, 0, 15, 97, 2, 46, 118, 1, 22, 117, 2, 48, 153, 2, 18, 151, 2, 49, 193, 2, 17, 191, 1, 41, 32, 1, 38, 64, 1], "image_id": 106255, "bbox": [0, 26.15, 76.5, 177.5], "category_id": 1, "id": 137279}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 145, 1, 295, 150, 1], "image_id": 105183, "bbox": [287.01, 145.81, 18.64, 40.91], "category_id": 1, "id": 137282}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [446, 420, 2, 510, 417, 2, 451, 470, 1, 516, 464, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 370, 1, 477, 407, 1], "image_id": 107074, "bbox": [439.01, 367.64, 73.35, 107.87], "category_id": 1, "id": 137286}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [323, 137, 2, 278, 138, 1, 330, 182, 1, 276, 193, 1, 0, 0, 0, 308, 201, 2, 323, 226, 2, 296, 228, 2, 302, 275, 2, 296, 292, 2, 281, 320, 2, 308, 340, 2, 304, 83, 1, 302, 129, 1], "image_id": 107899, "bbox": [269.3, 80.25, 63.98, 270.75], "category_id": 1, "id": 137295}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [337, 253, 1, 307, 249, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 212, 1, 326, 242, 1], "image_id": 107357, "bbox": [300.5, 206.91, 38.2, 78.91], "category_id": 1, "id": 137298}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [125, 133, 2, 157, 118, 2, 105, 151, 2, 157, 100, 2, 93, 142, 2, 138, 85, 2, 144, 178, 1, 169, 177, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 104, 1, 136, 119, 1], "image_id": 108397, "bbox": [85.02, 76.63, 84.52, 101.42], "category_id": 1, "id": 137308}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [327, 135, 1, 264, 158, 2, 0, 0, 0, 258, 210, 2, 0, 0, 0, 274, 252, 2, 321, 212, 1, 286, 213, 2, 319, 266, 1, 280, 266, 2, 322, 347, 1, 284, 345, 1, 277, 107, 1, 291, 142, 1], "image_id": 103682, "bbox": [243.71, 94.04, 86.96, 211.35], "category_id": 1, "id": 137315}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 50, 1, 238, 68, 1], "image_id": 102551, "bbox": [212.73, 48.3, 39.67, 57.89], "category_id": 1, "id": 137320}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105812, "bbox": [443.04, 312.51, 18.9, 49.47], "category_id": 1, "id": 137321}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [134, 179, 2, 162, 178, 1, 120, 198, 2, 0, 0, 0, 127, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 145, 1, 146, 167, 1], "image_id": 105995, "bbox": [99.9, 142.24, 58.21, 86.61], "category_id": 1, "id": 137324}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [136, 103, 2, 190, 98, 2, 122, 146, 2, 188, 147, 2, 152, 164, 2, 202, 197, 2, 149, 188, 2, 181, 188, 2, 158, 262, 2, 207, 262, 2, 158, 326, 2, 228, 318, 2, 203, 63, 1, 177, 83, 1], "image_id": 108412, "bbox": [115.15, 52.78, 144.89, 286.9], "category_id": 1, "id": 137325}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [85, 119, 2, 49, 122, 1, 74, 147, 2, 0, 0, 0, 48, 134, 2, 43, 148, 2, 71, 191, 2, 48, 190, 2, 74, 234, 2, 52, 236, 2, 73, 290, 2, 54, 288, 2, 74, 81, 1, 68, 112, 1], "image_id": 107326, "bbox": [26.99, 75.54, 67.47, 224.58], "category_id": 1, "id": 137332}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [418, 146, 2, 0, 0, 0, 420, 211, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 239, 2, 0, 0, 0, 422, 317, 2, 0, 0, 0, 383, 87, 1, 383, 137, 1], "image_id": 102964, "bbox": [366.44, 78.87, 70.22, 266.42], "category_id": 1, "id": 137333}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103937, "bbox": [103.07, 143.92, 12.7, 14.64], "category_id": 1, "id": 137334}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [361, 519, 2, 375, 518, 2, 352, 536, 2, 374, 537, 2, 0, 0, 0, 0, 0, 0, 367, 545, 2, 376, 544, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 500, 1, 369, 513, 1], "image_id": 105778, "bbox": [342.25, 496.32, 42.93, 53], "category_id": 1, "id": 137356}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [348, 172, 2, 296, 169, 2, 349, 220, 1, 291, 220, 2, 341, 253, 1, 301, 257, 1, 332, 255, 2, 308, 254, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 110, 1, 321, 156, 1], "image_id": 105556, "bbox": [276.04, 102.82, 82.19, 162.27], "category_id": 1, "id": 137368}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107713, "bbox": [82.55, 183.1, 12.74, 22.51], "category_id": 1, "id": 137374}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [317, 228, 2, 280, 227, 1, 329, 264, 2, 270, 255, 1, 311, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 188, 1, 300, 219, 1], "image_id": 103782, "bbox": [288.39, 200.34, 54.15, 89.29], "category_id": 1, "id": 137394}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [353, 257, 2, 324, 264, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 320, 2, 340, 320, 2, 356, 378, 1, 341, 374, 1, 0, 0, 0, 0, 0, 0, 311, 225, 1, 335, 251, 1], "image_id": 105825, "bbox": [300.89, 218.85, 71.32, 166.57], "category_id": 1, "id": 137406}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [580, 100, 2, 586, 104, 2, 578, 115, 2, 585, 113, 2, 577, 128, 2, 590, 124, 2, 584, 134, 2, 0, 0, 0, 587, 144, 2, 569, 143, 2, 592, 161, 2, 563, 159, 2, 588, 87, 1, 584, 97, 1], "image_id": 108412, "bbox": [558.85, 84.05, 43.92, 83.16], "category_id": 1, "id": 137409}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [178, 17, 2, 196, 21, 2, 168, 29, 2, 199, 36, 2, 163, 40, 2, 197, 50, 2, 176, 46, 2, 189, 47, 2, 169, 61, 2, 183, 68, 2, 171, 80, 2, 178, 87, 2, 187, 1, 1, 186, 12, 1], "image_id": 107361, "bbox": [158.59, 0, 45.59, 96.94], "category_id": 1, "id": 137438}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 260, 1, 149, 271, 1], "image_id": 105856, "bbox": [145.67, 263.48, 9.73, 44.94], "category_id": 1, "id": 137453}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [219, 220, 2, 208, 216, 2, 203, 234, 2, 0, 0, 0, 0, 0, 0, 178, 248, 1, 232, 265, 2, 224, 262, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 196, 1, 213, 213, 1], "image_id": 107524, "bbox": [163.48, 193.96, 83.12, 81.27], "category_id": 1, "id": 137480}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [378, 254, 2, 338, 250, 1, 375, 286, 1, 336, 282, 2, 358, 284, 2, 328, 307, 1, 363, 317, 1, 337, 314, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 212, 1, 356, 244, 1], "image_id": 103782, "bbox": [326.39, 207.71, 57.23, 94.07], "category_id": 1, "id": 137486}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [540, 50, 2, 571, 45, 2, 514, 93, 2, 590, 69, 2, 479, 109, 2, 579, 102, 2, 549, 121, 2, 537, 120, 2, 566, 183, 2, 530, 183, 2, 594, 243, 2, 511, 243, 2, 535, 6, 1, 544, 33, 1], "image_id": 105608, "bbox": [464.99, 1.81, 146.79, 262.76], "category_id": 1, "id": 137492}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [382, 343, 2, 446, 333, 2, 335, 372, 2, 456, 386, 1, 361, 339, 2, 0, 0, 0, 408, 449, 1, 452, 441, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 276, 1, 411, 324, 1], "image_id": 104461, "bbox": [331.04, 272.77, 133.94, 126.75], "category_id": 1, "id": 137510}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 234, 1, 505, 237, 1], "image_id": 103043, "bbox": [500.85, 234.06, 8.89, 26.11], "category_id": 1, "id": 137516}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105145, "bbox": [78.49, 125.21, 66.51, 65.71], "category_id": 1, "id": 137522}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [343, 296, 2, 330, 289, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 347, 2, 323, 343, 1, 323, 392, 2, 0, 0, 0, 333, 434, 2, 0, 0, 0, 339, 255, 1, 339, 281, 1], "image_id": 103629, "bbox": [308.57, 250.53, 50.97, 202.12], "category_id": 1, "id": 137523}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [124, 216, 2, 96, 216, 2, 134, 239, 2, 93, 242, 2, 128, 244, 2, 114, 247, 2, 124, 256, 1, 106, 256, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 188, 1, 112, 213, 1], "image_id": 103362, "bbox": [86.49, 185.95, 55.13, 64.86], "category_id": 1, "id": 137525}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [412, 288, 2, 365, 275, 2, 390, 384, 2, 340, 343, 2, 304, 410, 2, 283, 378, 2, 374, 416, 2, 327, 397, 2, 256, 481, 2, 226, 429, 2, 157, 571, 2, 153, 504, 2, 369, 198, 1, 386, 262, 1], "image_id": 104747, "bbox": [66.31, 188.11, 381.98, 438.2], "category_id": 1, "id": 137540}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [117, 43, 2, 107, 43, 2, 0, 0, 0, 111, 68, 2, 0, 0, 0, 0, 0, 0, 117, 86, 2, 109, 85, 2, 120, 122, 2, 113, 123, 2, 105, 158, 2, 107, 163, 2, 122, 20, 1, 113, 36, 1], "image_id": 103248, "bbox": [96.83, 16.78, 39.73, 158.94], "category_id": 1, "id": 137552}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [533, 266, 2, 444, 257, 2, 542, 339, 2, 409, 317, 2, 563, 322, 2, 442, 371, 2, 514, 388, 2, 467, 387, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 188, 1, 490, 248, 1], "image_id": 105825, "bbox": [405.2, 176.84, 187.81, 251.66], "category_id": 1, "id": 137557}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [133, 467, 2, 200, 471, 2, 0, 0, 0, 217, 533, 2, 0, 0, 0, 183, 581, 2, 138, 582, 2, 190, 582, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 404, 1, 169, 448, 1], "image_id": 104072, "bbox": [125.47, 392.11, 99.95, 240.35], "category_id": 1, "id": 137571}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 130, 1, 248, 153, 1], "image_id": 108441, "bbox": [243.98, 128.73, 19.91, 52.89], "category_id": 1, "id": 137587}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [97, 169, 2, 77, 208, 2, 75, 233, 2, 127, 291, 2, 142, 237, 2, 207, 351, 2, 107, 344, 1, 75, 362, 2, 0, 0, 0, 84, 457, 1, 0, 0, 0, 0, 0, 0, 129, 71, 1, 91, 181, 1], "image_id": 107650, "bbox": [0, 37.39, 275.2, 387.85], "category_id": 1, "id": 137599}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [593, 215, 1, 478, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 523, 136, 1, 0, 0, 0], "image_id": 107273, "bbox": [479.51, 120.93, 80.08, 84.3], "category_id": 1, "id": 137631}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [85, 255, 2, 65, 250, 2, 85, 276, 2, 67, 276, 2, 97, 289, 2, 69, 296, 2, 58, 263, 2, 48, 264, 2, 78, 287, 2, 61, 287, 2, 58, 271, 2, 39, 271, 1, 87, 233, 1, 76, 249, 1], "image_id": 104600, "bbox": [36.62, 229.32, 71.03, 75.65], "category_id": 1, "id": 137638}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [527, 423, 2, 585, 407, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 342, 1, 530, 394, 1], "image_id": 107074, "bbox": [488.04, 327.99, 134.65, 152.01], "category_id": 1, "id": 137655}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [355, 147, 2, 282, 151, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 75, 1, 322, 130, 1], "image_id": 103280, "bbox": [265.11, 71.36, 133.8, 159.09], "category_id": 1, "id": 137656}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [450, 163, 2, 417, 165, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 210, 1, 422, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, 128, 1, 432, 153, 1], "image_id": 106366, "bbox": [411.33, 128.85, 49.54, 102.82], "category_id": 1, "id": 137671}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [272, 263, 1, 200, 264, 2, 296, 315, 1, 191, 329, 1, 301, 300, 2, 0, 0, 0, 263, 362, 1, 218, 363, 1, 265, 453, 1, 221, 456, 1, 0, 0, 0, 0, 0, 0, 253, 191, 1, 239, 243, 1], "image_id": 105825, "bbox": [193.08, 189.62, 116.1, 245.85], "category_id": 1, "id": 137698}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [90, 202, 2, 74, 211, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 258, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 164, 1, 84, 196, 1], "image_id": 105995, "bbox": [47.3, 159.35, 58.24, 147.65], "category_id": 1, "id": 137706}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [165, 133, 2, 193, 124, 1, 146, 147, 2, 194, 108, 1, 133, 145, 2, 178, 98, 2, 177, 182, 1, 202, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 100, 1, 176, 121, 1], "image_id": 108397, "bbox": [126.03, 86.99, 67.43, 89.81], "category_id": 1, "id": 137714}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [427, 110, 2, 357, 128, 2, 0, 0, 0, 348, 189, 2, 0, 0, 0, 341, 240, 1, 0, 0, 0, 382, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 67, 1, 388, 116, 1], "image_id": 105485, "bbox": [335.1, 58.12, 101.83, 178.96], "category_id": 1, "id": 137724}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [302, 397, 2, 321, 415, 2, 310, 410, 2, 327, 433, 2, 322, 404, 2, 334, 418, 2, 306, 444, 2, 327, 453, 2, 307, 471, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 376, 1, 314, 395, 1], "image_id": 107115, "bbox": [291.85, 369.46, 52.05, 110.54], "category_id": 1, "id": 137725}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 3, 1], "image_id": 102572, "bbox": [313.69, 0, 41.51, 21.38], "category_id": 1, "id": 137740}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 352, 1, 93, 359, 1], "image_id": 102646, "bbox": [80.66, 351.4, 22.33, 45.43], "category_id": 1, "id": 137741}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 43, 102, 2, 0, 0, 0, 70, 228, 2, 0, 0, 0, 85, 311, 2, 0, 0, 0, 6, 291, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103544, "bbox": [0, 0, 103.11, 425], "category_id": 1, "id": 137751}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [486, 45, 1, 0, 0, 0, 471, 81, 1, 0, 0, 0, 452, 97, 1, 0, 0, 0, 491, 105, 2, 482, 104, 2, 498, 147, 2, 467, 140, 2, 505, 190, 2, 450, 177, 2, 0, 0, 0, 0, 0, 0], "image_id": 105506, "bbox": [429.3, 76.48, 88.29, 129.07], "category_id": 1, "id": 137773}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 518, 209, 1, 518, 226, 1], "image_id": 104097, "bbox": [508.2, 209.19, 25.62, 53.69], "category_id": 1, "id": 137794}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 9, 1, 0, 0, 0], "image_id": 104733, "bbox": [506.79, 7.29, 30.49, 46.56], "category_id": 1, "id": 137807}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [226, 262, 2, 201, 260, 1, 232, 286, 2, 0, 0, 0, 217, 275, 2, 0, 0, 0, 216, 306, 1, 194, 304, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 226, 1, 217, 251, 1], "image_id": 107452, "bbox": [204.4, 222.53, 39.44, 101.55], "category_id": 1, "id": 137821}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 151, 1, 453, 157, 1], "image_id": 104948, "bbox": [440.97, 150.69, 26.88, 52.07], "category_id": 1, "id": 137822}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [422, 207, 2, 409, 208, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 232, 2, 410, 229, 2, 420, 248, 2, 412, 252, 2, 422, 272, 2, 0, 0, 0, 409, 191, 1, 413, 203, 1], "image_id": 105921, "bbox": [404.94, 189.99, 25.93, 89], "category_id": 1, "id": 137823}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [618, 253, 2, 594, 251, 2, 623, 267, 2, 587, 270, 2, 622, 281, 2, 596, 270, 2, 610, 287, 2, 597, 288, 2, 612, 313, 2, 597, 313, 1, 612, 340, 1, 597, 335, 1, 613, 224, 1, 610, 244, 1], "image_id": 105789, "bbox": [586.4, 219.93, 44.01, 105.92], "category_id": 1, "id": 137828}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 97, 1, 468, 108, 1], "image_id": 104658, "bbox": [446.43, 97.11, 33.21, 42.7], "category_id": 1, "id": 137839}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [340, 198, 2, 369, 199, 1, 344, 259, 2, 0, 0, 0, 318, 304, 2, 0, 0, 0, 330, 287, 2, 355, 284, 1, 304, 354, 2, 341, 353, 1, 0, 0, 0, 0, 0, 0, 341, 133, 1, 351, 183, 1], "image_id": 104747, "bbox": [291.05, 119.46, 83.5, 245.76], "category_id": 1, "id": 137847}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [638, 97, 2, 0, 0, 0, 621, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107326, "bbox": [615.07, 86.36, 24.93, 136.26], "category_id": 1, "id": 137867}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 56, 156, 2, 0, 0, 0, 52, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 88, 1, 87, 124, 1], "image_id": 107953, "bbox": [39.54, 86.52, 61.79, 271.97], "category_id": 1, "id": 137879}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [589, 307, 1, 566, 282, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 225, 1, 581, 278, 1], "image_id": 103355, "bbox": [544.2, 210.14, 54.4, 109.64], "category_id": 1, "id": 137885}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 238, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 253, 2, 0, 0, 0, 276, 332, 2, 0, 0, 0, 0, 0, 0], "image_id": 108202, "bbox": [261.86, 220.89, 91.23, 120.52], "category_id": 1, "id": 137903}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 418, 1, 115, 421, 1], "image_id": 105975, "bbox": [112.68, 418.58, 6.31, 15.55], "category_id": 1, "id": 137909}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 203, 1, 396, 212, 1], "image_id": 104600, "bbox": [357.51, 200.4, 50.4, 35], "category_id": 1, "id": 137920}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [290, 180, 1, 220, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 124, 1, 257, 166, 1], "image_id": 105556, "bbox": [229.61, 115.73, 61.3, 93.63], "category_id": 1, "id": 137922}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [176, 254, 2, 213, 236, 2, 156, 293, 2, 263, 243, 2, 168, 334, 2, 288, 260, 2, 167, 293, 2, 199, 275, 2, 190, 318, 2, 235, 278, 2, 193, 377, 2, 246, 322, 2, 215, 223, 1, 199, 233, 1], "image_id": 102920, "bbox": [148.91, 220.55, 154.88, 182.14], "category_id": 1, "id": 137943}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454, 140, 1, 444, 170, 1], "image_id": 102907, "bbox": [443.13, 137.72, 50.78, 98.01], "category_id": 1, "id": 137945}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106220, "bbox": [527.35, 128.85, 71.75, 121.97], "category_id": 1, "id": 137951}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105145, "bbox": [0.6, 96.77, 46.26, 166.28], "category_id": 1, "id": 137956}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 79, 1, 52, 94, 1], "image_id": 104860, "bbox": [46.03, 81.29, 20.81, 40.64], "category_id": 1, "id": 137958}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [146, 312, 2, 168, 320, 2, 174, 357, 2, 195, 368, 2, 184, 325, 2, 222, 348, 2, 148, 379, 1, 165, 384, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 266, 1, 157, 307, 1], "image_id": 104461, "bbox": [118.77, 262.62, 121.52, 115.47], "category_id": 1, "id": 137962}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [294, 228, 2, 269, 232, 2, 303, 248, 2, 263, 253, 2, 304, 264, 2, 260, 273, 2, 289, 266, 2, 273, 266, 2, 295, 292, 2, 268, 296, 2, 308, 323, 1, 259, 328, 2, 281, 201, 1, 281, 221, 1], "image_id": 104425, "bbox": [246.15, 200.02, 65.16, 139.51], "category_id": 1, "id": 137964}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [157, 15, 2, 172, 17, 1, 151, 25, 2, 0, 0, 0, 147, 37, 2, 0, 0, 0, 156, 39, 2, 168, 40, 2, 154, 61, 2, 162, 62, 2, 150, 77, 2, 159, 81, 2, 170, 1, 1, 165, 10, 1], "image_id": 107361, "bbox": [144.78, 0, 32.93, 86.63], "category_id": 1, "id": 137969}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [517, 324, 2, 539, 315, 2, 485, 376, 2, 527, 349, 2, 463, 385, 1, 492, 340, 2, 529, 416, 2, 550, 409, 2, 463, 396, 1, 0, 0, 0, 478, 467, 1, 0, 0, 0, 498, 266, 1, 516, 304, 1], "image_id": 104461, "bbox": [464.74, 258, 98.23, 221.75], "category_id": 1, "id": 138000}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [272, 235, 2, 228, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 182, 1, 251, 221, 1], "image_id": 105145, "bbox": [224.18, 177.71, 81.18, 105.85], "category_id": 1, "id": 138002}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323, 53, 1, 325, 68, 1], "image_id": 107569, "bbox": [315.35, 53.04, 20.54, 36.23], "category_id": 1, "id": 138005}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [35, 317, 2, 57, 323, 2, 0, 0, 0, 64, 359, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 373, 2, 0, 0, 0, 64, 407, 2, 0, 0, 0, 0, 0, 0, 54, 289, 1, 49, 311, 1], "image_id": 103382, "bbox": [27.97, 283.75, 61.82, 141.18], "category_id": 1, "id": 138006}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 77, 1], "image_id": 107408, "bbox": [35.06, 68.83, 13.82, 52.13], "category_id": 1, "id": 138018}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [555, 97, 2, 560, 99, 2, 0, 0, 0, 560, 111, 2, 0, 0, 0, 562, 118, 2, 547, 117, 1, 556, 117, 2, 549, 135, 2, 555, 135, 2, 545, 149, 1, 555, 152, 2, 566, 91, 1, 560, 95, 1], "image_id": 108412, "bbox": [543.6, 87.36, 28.43, 69.06], "category_id": 1, "id": 138032}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [596, 108, 2, 610, 107, 2, 597, 138, 2, 625, 133, 1, 585, 161, 2, 621, 157, 2, 603, 153, 2, 617, 153, 2, 592, 203, 2, 617, 204, 2, 588, 240, 1, 620, 241, 1, 593, 79, 1, 598, 101, 1], "image_id": 107326, "bbox": [576.06, 75.9, 51.32, 163.45], "category_id": 1, "id": 138043}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 301, 1, 285, 312, 1], "image_id": 104626, "bbox": [266.1, 301.94, 34.69, 68.97], "category_id": 1, "id": 138068}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [463, 279, 2, 436, 278, 2, 452, 304, 2, 0, 0, 0, 427, 305, 1, 0, 0, 0, 460, 326, 1, 439, 321, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 242, 1, 449, 269, 1], "image_id": 104461, "bbox": [425.15, 240.8, 54.69, 74.79], "category_id": 1, "id": 138085}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [197, 82, 2, 176, 82, 2, 203, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 124, 2, 176, 124, 2, 192, 149, 1, 177, 149, 1, 0, 0, 0, 0, 0, 0, 183, 57, 1, 185, 76, 1], "image_id": 102551, "bbox": [168.91, 54.81, 34.99, 92.31], "category_id": 1, "id": 138088}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [499, 83, 2, 539, 85, 2, 515, 135, 2, 0, 0, 0, 480, 175, 2, 0, 0, 0, 508, 208, 2, 548, 207, 2, 462, 292, 2, 539, 299, 2, 456, 387, 2, 584, 372, 2, 492, 14, 1, 505, 65, 1], "image_id": 107326, "bbox": [414.5, 5.77, 195.23, 410.65], "category_id": 1, "id": 138098}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 91, 2, 311, 92, 2, 328, 111, 2, 316, 121, 2, 326, 91, 2, 324, 142, 2, 321, 148, 2, 312, 146, 2, 333, 177, 2, 315, 194, 2, 314, 177, 2, 314, 223, 2, 325, 66, 1, 315, 85, 1], "image_id": 105035, "bbox": [296.68, 62.73, 44.54, 166.9], "category_id": 1, "id": 138105}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [311, 183, 2, 363, 181, 2, 307, 225, 2, 370, 215, 2, 0, 0, 0, 0, 0, 0, 325, 253, 2, 352, 252, 2, 321, 298, 2, 356, 300, 2, 317, 351, 2, 368, 354, 2, 325, 142, 1, 330, 166, 1], "image_id": 102907, "bbox": [297, 139.06, 84.55, 227.15], "category_id": 1, "id": 138106}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 267, 1, 161, 273, 1], "image_id": 105856, "bbox": [154.2, 265.4, 13.24, 43.91], "category_id": 1, "id": 138109}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [300, 99, 2, 259, 107, 2, 338, 143, 2, 309, 163, 2, 401, 136, 2, 380, 147, 2, 191, 220, 2, 215, 222, 2, 164, 340, 2, 259, 334, 2, 48, 373, 2, 263, 451, 2, 309, 49, 1, 279, 101, 1], "image_id": 104345, "bbox": [20.63, 34.04, 412.58, 419.8], "category_id": 1, "id": 138134}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [222, 461, 2, 256, 469, 2, 0, 0, 0, 276, 510, 2, 0, 0, 0, 0, 0, 0, 232, 535, 2, 253, 539, 2, 242, 581, 2, 252, 596, 2, 239, 631, 2, 0, 0, 0, 252, 418, 1, 244, 448, 1], "image_id": 104072, "bbox": [213.36, 414.45, 74.08, 222.24], "category_id": 1, "id": 138139}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [198, 58, 1, 138, 66, 2, 200, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 43, 1], "image_id": 102589, "bbox": [113.87, 0, 95.63, 180.59], "category_id": 1, "id": 138143}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 196, 404, 1, 0, 0, 0, 189, 424, 1, 0, 0, 0, 0, 0, 0, 217, 430, 2, 211, 432, 2, 228, 449, 2, 221, 455, 2, 240, 468, 2, 231, 472, 2, 194, 380, 1, 196, 396, 1], "image_id": 107169, "bbox": [187.29, 379.06, 65.22, 99.93], "category_id": 1, "id": 138159}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [270, 107, 2, 188, 119, 2, 273, 162, 2, 164, 212, 2, 291, 210, 2, 231, 222, 2, 273, 266, 2, 217, 272, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 56, 1, 229, 102, 1], "image_id": 107569, "bbox": [151.25, 40.21, 158.92, 307.29], "category_id": 1, "id": 138160}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [590, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 180, 1, 0, 0, 0], "image_id": 103355, "bbox": [565.31, 174.55, 56.22, 44.74], "category_id": 1, "id": 138170}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, 237, 1, 182, 247, 1], "image_id": 104930, "bbox": [177.29, 235.32, 18.5, 73.4], "category_id": 1, "id": 138178}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [177, 445, 2, 212, 452, 2, 163, 467, 2, 221, 482, 2, 171, 490, 2, 215, 499, 2, 175, 496, 2, 199, 499, 2, 176, 535, 2, 197, 547, 2, 179, 587, 2, 194, 588, 2, 203, 418, 1, 197, 438, 1], "image_id": 105975, "bbox": [159.74, 415.77, 67.31, 184.99], "category_id": 1, "id": 138193}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107953, "bbox": [457.88, 146.08, 17.12, 33.7], "category_id": 1, "id": 138201}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [583, 226, 2, 593, 226, 2, 574, 223, 2, 0, 0, 0, 567, 220, 2, 0, 0, 0, 594, 241, 2, 601, 240, 2, 585, 256, 2, 594, 258, 2, 590, 270, 2, 596, 268, 2, 581, 220, 1, 588, 224, 1], "image_id": 103043, "bbox": [561.15, 215.07, 43.34, 60.75], "category_id": 1, "id": 138211}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 317, 1, 374, 326, 1], "image_id": 108114, "bbox": [361.97, 315.48, 27.59, 58.17], "category_id": 1, "id": 138226}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [373, 191, 2, 0, 0, 0, 382, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 226, 1, 0, 0, 0, 374, 263, 2, 0, 0, 0, 379, 297, 1, 0, 0, 0, 361, 165, 1, 362, 184, 1], "image_id": 102907, "bbox": [355.18, 162.78, 37.73, 149.92], "category_id": 1, "id": 138230}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [380, 98, 2, 346, 101, 2, 424, 106, 2, 0, 0, 0, 409, 104, 1, 0, 0, 0, 370, 172, 2, 349, 173, 2, 370, 219, 2, 352, 217, 2, 371, 266, 2, 363, 266, 2, 356, 66, 1, 367, 95, 1], "image_id": 108463, "bbox": [340.63, 63.1, 90.97, 221.25], "category_id": 1, "id": 138232}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [450, 122, 2, 403, 121, 2, 452, 160, 2, 389, 158, 2, 452, 186, 2, 379, 185, 2, 438, 192, 2, 402, 190, 2, 428, 250, 2, 405, 241, 2, 403, 273, 2, 395, 294, 2, 425, 82, 1, 425, 114, 1], "image_id": 107023, "bbox": [369.3, 78.38, 91.36, 231.77], "category_id": 1, "id": 138243}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 17, 1, 153, 38, 1], "image_id": 104733, "bbox": [136.87, 17.3, 28.18, 135.62], "category_id": 1, "id": 138245}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [322, 267, 2, 287, 271, 2, 336, 291, 2, 276, 308, 1, 349, 293, 2, 0, 0, 0, 325, 316, 1, 298, 320, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 235, 1, 302, 262, 1], "image_id": 104461, "bbox": [267.98, 233.89, 86.52, 74.83], "category_id": 1, "id": 138259}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [512, 246, 2, 345, 250, 2, 566, 378, 2, 0, 0, 0, 348, 466, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 43, 1, 424, 212, 1], "image_id": 108202, "bbox": [177.61, 32.24, 426.64, 445.76], "category_id": 1, "id": 138276}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [333, 126, 2, 362, 125, 2, 322, 150, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104458, "bbox": [315.54, 105.12, 49.76, 52.39], "category_id": 1, "id": 138305}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [601, 231, 1, 558, 230, 1, 609, 275, 2, 0, 0, 0, 595, 305, 1, 0, 0, 0, 589, 306, 1, 559, 306, 1, 609, 314, 1, 570, 325, 1, 0, 0, 0, 0, 0, 0, 576, 185, 1, 580, 221, 1], "image_id": 108109, "bbox": [557.61, 177.51, 62.86, 125.22], "category_id": 1, "id": 138313}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [434, 110, 2, 0, 0, 0, 417, 124, 2, 0, 0, 0, 410, 138, 2, 0, 0, 0, 439, 138, 2, 0, 0, 0, 416, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 93, 1, 439, 103, 1], "image_id": 105608, "bbox": [406.94, 91.22, 46.01, 53.95], "category_id": 1, "id": 138314}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [127, 119, 2, 116, 120, 2, 0, 0, 0, 129, 171, 1, 0, 0, 0, 155, 209, 2, 134, 222, 2, 119, 223, 2, 132, 290, 2, 110, 293, 1, 119, 355, 2, 98, 359, 1, 152, 84, 1, 135, 115, 1], "image_id": 106415, "bbox": [105.32, 77.3, 67.63, 296.63], "category_id": 1, "id": 138315}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [89, 81, 2, 68, 86, 2, 98, 91, 2, 59, 99, 2, 102, 98, 2, 70, 109, 2, 93, 117, 2, 76, 120, 1, 99, 143, 1, 0, 0, 0, 104, 173, 1, 0, 0, 0, 73, 61, 1, 77, 78, 1], "image_id": 102551, "bbox": [56.73, 61.6, 52.34, 76.39], "category_id": 1, "id": 138317}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [489, 120, 2, 500, 118, 2, 478, 133, 2, 0, 0, 0, 471, 130, 2, 0, 0, 0, 501, 143, 2, 509, 142, 2, 496, 165, 2, 501, 165, 2, 498, 189, 2, 507, 189, 2, 489, 107, 1, 491, 114, 1], "image_id": 105616, "bbox": [465.26, 104.69, 49.18, 92.01], "category_id": 1, "id": 138326}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 426, 133, 1, 428, 153, 1], "image_id": 104945, "bbox": [417.92, 130.19, 26.48, 50.18], "category_id": 1, "id": 138332}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [243, 142, 1, 269, 126, 2, 218, 153, 2, 271, 101, 2, 203, 146, 2, 254, 85, 2, 265, 185, 1, 287, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 107, 1, 250, 127, 1], "image_id": 108397, "bbox": [198.49, 75.32, 88.25, 107.86], "category_id": 1, "id": 138355}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [214, 32, 2, 209, 31, 2, 222, 72, 2, 0, 0, 0, 203, 98, 2, 0, 0, 0, 212, 101, 2, 205, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 24, 1], "image_id": 102880, "bbox": [186, 2.33, 50.41, 119.34], "category_id": 1, "id": 138389}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [551, 368, 2, 499, 356, 2, 494, 435, 2, 0, 0, 0, 487, 353, 2, 0, 0, 0, 495, 525, 1, 448, 509, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 255, 1, 510, 340, 1], "image_id": 107383, "bbox": [436.27, 241.98, 140.89, 398.02], "category_id": 1, "id": 138402}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [258, 101, 1, 208, 101, 2, 0, 0, 0, 168, 138, 2, 0, 0, 0, 196, 158, 1, 243, 176, 1, 217, 176, 1, 273, 174, 1, 201, 171, 2, 261, 243, 1, 0, 0, 0, 227, 51, 1, 229, 93, 1], "image_id": 104345, "bbox": [160.92, 46.79, 90.86, 147.41], "category_id": 1, "id": 138405}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [521, 34, 2, 524, 33, 2, 527, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 95, 1, 524, 93, 1, 488, 129, 1, 521, 141, 1, 485, 176, 1, 558, 175, 1, 509, 4, 1, 520, 26, 1], "image_id": 105506, "bbox": [506.65, 0, 41.84, 120.41], "category_id": 1, "id": 138410}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 127, 331, 1, 87, 327, 1, 103, 340, 1, 95, 342, 1, 118, 345, 1, 98, 345, 1, 103, 361, 2, 79, 355, 2, 105, 386, 2, 78, 386, 2, 0, 0, 0, 0, 0, 0], "image_id": 106255, "bbox": [71.14, 346.07, 58.11, 49.52], "category_id": 1, "id": 138420}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, 225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107713, "bbox": [279.64, 172.37, 83.22, 96.48], "category_id": 1, "id": 138422}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [511, 219, 1, 433, 226, 1, 0, 0, 0, 401, 281, 2, 0, 0, 0, 414, 221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 160, 1, 467, 216, 1], "image_id": 106077, "bbox": [393.98, 154.97, 120.25, 132.33], "category_id": 1, "id": 138433}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [611, 62, 2, 603, 64, 1, 594, 86, 2, 0, 0, 0, 597, 84, 2, 0, 0, 0, 604, 107, 2, 611, 108, 2, 599, 143, 2, 612, 145, 2, 594, 185, 2, 613, 184, 2, 604, 32, 1, 612, 53, 1], "image_id": 102551, "bbox": [573.19, 27.88, 49.45, 167.76], "category_id": 1, "id": 138441}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [200, 219, 2, 171, 219, 2, 213, 259, 2, 162, 263, 2, 219, 293, 2, 160, 299, 2, 194, 274, 2, 176, 275, 2, 197, 340, 1, 179, 341, 1, 0, 0, 0, 0, 0, 0, 172, 179, 1, 184, 212, 1], "image_id": 107504, "bbox": [157.14, 175.05, 65.33, 170.92], "category_id": 1, "id": 138446}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 128, 1, 571, 132, 1], "image_id": 107230, "bbox": [560.22, 126.88, 19.75, 32.91], "category_id": 1, "id": 138464}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [526, 168, 2, 473, 157, 2, 554, 282, 2, 432, 217, 2, 488, 321, 2, 379, 252, 2, 590, 347, 2, 528, 307, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 69, 1, 487, 136, 1], "image_id": 107569, "bbox": [346.54, 51.69, 293.46, 369.52], "category_id": 1, "id": 138465}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105145, "bbox": [143.81, 156.18, 38.43, 75.18], "category_id": 1, "id": 138468}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [215, 170, 2, 152, 173, 2, 230, 212, 2, 141, 227, 1, 0, 0, 0, 0, 0, 0, 199, 267, 1, 166, 267, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 121, 1, 184, 163, 1], "image_id": 105556, "bbox": [130.29, 113.68, 111.01, 158.59], "category_id": 1, "id": 138469}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [566, 256, 2, 549, 258, 2, 0, 0, 0, 573, 276, 2, 0, 0, 0, 587, 269, 2, 565, 292, 1, 558, 296, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, 230, 1, 558, 253, 1], "image_id": 104461, "bbox": [530.96, 226.42, 63.78, 64.29], "category_id": 1, "id": 138472}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 236, 2, 208, 252, 2, 297, 277, 2, 188, 316, 2, 280, 305, 2, 212, 352, 2, 262, 334, 2, 227, 329, 2, 242, 439, 2, 174, 356, 2, 275, 408, 2, 208, 417, 2, 221, 183, 1, 229, 235, 1], "image_id": 105547, "bbox": [154.87, 174.81, 160.74, 289.21], "category_id": 1, "id": 138486}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 359, 1, 113, 366, 1], "image_id": 102646, "bbox": [97.56, 357.77, 24.37, 45.11], "category_id": 1, "id": 138490}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [391, 233, 2, 324, 256, 2, 413, 283, 2, 313, 314, 2, 386, 304, 2, 336, 339, 2, 391, 339, 2, 348, 338, 2, 375, 426, 1, 312, 349, 2, 0, 0, 0, 333, 426, 2, 339, 180, 1, 345, 231, 1], "image_id": 105547, "bbox": [297.47, 174, 124.51, 282.65], "category_id": 1, "id": 138519}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [161, 104, 2, 138, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 132, 1, 138, 131, 1, 0, 0, 0, 0, 0, 0, 145, 177, 2, 135, 181, 1, 150, 80, 1, 149, 97, 1], "image_id": 107168, "bbox": [133.76, 77.73, 36.23, 119.03], "category_id": 1, "id": 138545}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [90, 123, 2, 65, 123, 2, 91, 147, 2, 55, 141, 2, 71, 150, 2, 59, 123, 2, 84, 158, 2, 66, 157, 2, 61, 163, 2, 0, 0, 0, 68, 194, 1, 0, 0, 0, 63, 97, 1, 74, 116, 1], "image_id": 107569, "bbox": [47.72, 92.07, 52.09, 83.34], "category_id": 1, "id": 138571}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 69, 1, 0, 0, 0], "image_id": 102589, "bbox": [108.33, 68.13, 25.29, 25.73], "category_id": 1, "id": 138596}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, 270, 1, 434, 280, 1], "image_id": 104600, "bbox": [388.09, 260.64, 62.72, 33.24], "category_id": 1, "id": 138598}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102572, "bbox": [169.59, 0, 36.92, 14.7], "category_id": 1, "id": 138616}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [240, 219, 2, 214, 219, 2, 251, 239, 2, 207, 240, 2, 246, 239, 2, 217, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 193, 1, 227, 213, 1], "image_id": 103362, "bbox": [203.46, 191.63, 51.38, 56.97], "category_id": 1, "id": 138626}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, 289, 1, 420, 306, 1], "image_id": 105812, "bbox": [398.54, 286.35, 39.74, 48.85], "category_id": 1, "id": 138631}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 41, 135, 2, 0, 0, 0, 54, 173, 2, 0, 0, 0, 66, 169, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 94, 1, 20, 122, 1], "image_id": 107408, "bbox": [0.53, 89.85, 71.67, 117.66], "category_id": 1, "id": 138648}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [312, 161, 2, 259, 171, 2, 0, 0, 0, 251, 227, 2, 0, 0, 0, 317, 223, 2, 0, 0, 0, 278, 318, 2, 0, 0, 0, 283, 401, 2, 0, 0, 0, 0, 0, 0, 310, 90, 1, 288, 144, 1], "image_id": 106352, "bbox": [237.68, 68.39, 114.56, 352.89], "category_id": 1, "id": 138663}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [394, 158, 2, 361, 158, 2, 0, 0, 0, 354, 180, 2, 0, 0, 0, 357, 199, 2, 387, 202, 1, 366, 202, 2, 386, 234, 1, 369, 235, 1, 0, 0, 0, 0, 0, 0, 375, 134, 1, 376, 153, 1], "image_id": 104945, "bbox": [348.68, 130.84, 46.95, 121.18], "category_id": 1, "id": 138665}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [444, 153, 2, 409, 155, 2, 454, 182, 2, 0, 0, 0, 438, 199, 2, 0, 0, 0, 443, 215, 2, 409, 215, 1, 463, 240, 2, 0, 0, 0, 464, 288, 1, 0, 0, 0, 422, 112, 1, 424, 144, 1], "image_id": 103039, "bbox": [403.81, 104.81, 80.85, 182.11], "category_id": 1, "id": 138684}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [85, 56, 2, 96, 53, 2, 76, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 102, 2, 98, 102, 2, 85, 135, 2, 96, 134, 2, 0, 0, 0, 0, 0, 0, 79, 33, 1, 86, 48, 1], "image_id": 105608, "bbox": [73.77, 32.52, 31.73, 126.13], "category_id": 1, "id": 138687}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [301, 234, 2, 356, 240, 2, 277, 267, 1, 386, 280, 2, 0, 0, 0, 0, 0, 0, 315, 322, 2, 351, 321, 1, 320, 399, 1, 352, 400, 1, 0, 0, 0, 0, 0, 0, 335, 176, 1, 332, 216, 1], "image_id": 107726, "bbox": [269.63, 176.56, 127.62, 205.34], "category_id": 1, "id": 138701}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 80, 1, 103, 97, 1], "image_id": 107569, "bbox": [85.56, 77.63, 25.09, 38.18], "category_id": 1, "id": 138703}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [368, 462, 2, 306, 458, 2, 390, 501, 1, 288, 494, 2, 376, 522, 1, 295, 517, 2, 356, 560, 2, 312, 561, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 401, 1, 335, 447, 1], "image_id": 104072, "bbox": [284.48, 394.96, 110.86, 241.92], "category_id": 1, "id": 138710}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [247, 291, 1, 227, 292, 2, 0, 0, 0, 212, 315, 2, 0, 0, 0, 199, 336, 2, 234, 343, 1, 220, 337, 1, 186, 360, 1, 177, 347, 2, 193, 404, 1, 176, 399, 1, 233, 253, 1, 237, 281, 1], "image_id": 104747, "bbox": [153.14, 254.7, 91.56, 158.89], "category_id": 1, "id": 138716}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 15, 1, 141, 23, 1], "image_id": 108139, "bbox": [129.08, 15.31, 20.47, 36.79], "category_id": 1, "id": 138720}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 131, 1, 248, 153, 1], "image_id": 105995, "bbox": [237.28, 128.34, 28.31, 45.55], "category_id": 1, "id": 138740}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [218, 267, 2, 162, 263, 2, 249, 311, 2, 123, 308, 2, 207, 356, 2, 160, 347, 2, 222, 360, 2, 176, 358, 2, 229, 307, 2, 144, 311, 2, 207, 393, 2, 145, 393, 2, 187, 213, 1, 192, 259, 1], "image_id": 103778, "bbox": [114.67, 201.88, 143.67, 244.97], "category_id": 1, "id": 138742}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [362, 220, 2, 397, 218, 2, 357, 238, 1, 399, 240, 2, 0, 0, 0, 0, 0, 0, 372, 265, 1, 394, 262, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 185, 1, 380, 206, 1], "image_id": 107726, "bbox": [356.67, 183.42, 48.34, 102.46], "category_id": 1, "id": 138752}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 531, 1, 9, 544, 1], "image_id": 106426, "bbox": [0.28, 530.22, 20.76, 77.81], "category_id": 1, "id": 138762}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [404, 492, 2, 0, 0, 0, 378, 593, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 624, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 411, 1, 425, 459, 1], "image_id": 104072, "bbox": [352.36, 401.26, 78.64, 231.55], "category_id": 1, "id": 138781}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [297, 155, 2, 258, 148, 2, 289, 180, 2, 248, 174, 2, 277, 189, 2, 243, 187, 2, 276, 190, 2, 257, 189, 2, 276, 201, 2, 244, 207, 1, 0, 0, 0, 0, 0, 0, 279, 115, 1, 278, 144, 1], "image_id": 107575, "bbox": [230.12, 113.38, 74.93, 96.04], "category_id": 1, "id": 138796}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 152, 1, 212, 159, 1], "image_id": 107036, "bbox": [200.73, 152.47, 18.43, 20.58], "category_id": 1, "id": 138807}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [160, 227, 2, 122, 228, 2, 0, 0, 0, 109, 253, 1, 0, 0, 0, 0, 0, 0, 151, 288, 2, 124, 287, 2, 148, 343, 2, 126, 344, 2, 148, 389, 1, 127, 389, 1, 140, 183, 1, 142, 218, 1], "image_id": 107504, "bbox": [112.63, 180.18, 50.65, 226], "category_id": 1, "id": 138810}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 30, 253, 2, 19, 336, 2, 121, 337, 2, 92, 357, 2, 151, 379, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 166, 1, 0, 0, 0], "image_id": 105147, "bbox": [0.91, 119.8, 162.15, 264.52], "category_id": 1, "id": 138831}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [239, 209, 2, 275, 206, 2, 228, 239, 2, 0, 0, 0, 244, 248, 2, 0, 0, 0, 250, 270, 2, 278, 268, 2, 247, 323, 2, 266, 319, 2, 267, 355, 2, 270, 371, 2, 255, 175, 1, 258, 198, 1], "image_id": 102907, "bbox": [221.92, 168.15, 79.01, 216.7], "category_id": 1, "id": 138851}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106352, "bbox": [334.98, 49.16, 16.15, 30.79], "category_id": 1, "id": 138855}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [158, 129, 2, 111, 128, 2, 183, 164, 2, 109, 171, 2, 175, 197, 2, 0, 0, 0, 160, 207, 2, 131, 192, 2, 146, 250, 2, 162, 256, 2, 170, 303, 2, 187, 299, 2, 137, 69, 1, 137, 116, 1], "image_id": 103268, "bbox": [97.13, 59.06, 106.6, 272.05], "category_id": 1, "id": 138860}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 236, 1, 571, 239, 1], "image_id": 103043, "bbox": [568.17, 236.73, 8.9, 23.28], "category_id": 1, "id": 138870}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [547, 273, 2, 553, 266, 2, 555, 340, 2, 569, 322, 2, 519, 333, 2, 0, 0, 0, 561, 385, 1, 568, 378, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 196, 1, 547, 251, 1], "image_id": 107726, "bbox": [506.32, 190.36, 86.84, 173.68], "category_id": 1, "id": 138874}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [326, 152, 2, 350, 159, 2, 0, 0, 0, 360, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 122, 1, 343, 150, 1], "image_id": 108296, "bbox": [317.66, 121.17, 44.59, 62.07], "category_id": 1, "id": 138880}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [117, 184, 2, 62, 179, 2, 0, 0, 0, 46, 238, 2, 0, 0, 0, 47, 277, 2, 104, 267, 2, 68, 264, 2, 90, 331, 1, 63, 333, 1, 78, 410, 1, 35, 410, 1, 95, 129, 1, 91, 172, 1], "image_id": 105556, "bbox": [34.98, 125.39, 96.98, 231.27], "category_id": 1, "id": 138898}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [550, 213, 2, 420, 222, 2, 621, 291, 1, 405, 277, 2, 524, 297, 2, 409, 320, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 136, 1, 487, 217, 1], "image_id": 106047, "bbox": [389.33, 125.56, 246.06, 203.93], "category_id": 1, "id": 138907}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 408, 1, 414, 411, 1], "image_id": 105975, "bbox": [409.96, 407.67, 9.72, 30.84], "category_id": 1, "id": 138911}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [87, 169, 2, 0, 0, 0, 95, 200, 2, 0, 0, 0, 88, 230, 2, 0, 0, 0, 96, 235, 2, 0, 0, 0, 103, 283, 2, 0, 0, 0, 106, 331, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107524, "bbox": [78.5, 155.49, 29.29, 189.09], "category_id": 1, "id": 138938}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [233, 231, 2, 197, 228, 2, 231, 256, 2, 187, 255, 2, 0, 0, 0, 201, 258, 2, 222, 279, 1, 199, 278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 201, 1, 217, 223, 1], "image_id": 107726, "bbox": [180.16, 194.47, 61.09, 72.17], "category_id": 1, "id": 138941}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 296, 1, 376, 303, 1], "image_id": 107276, "bbox": [369.44, 295.95, 14.76, 53.13], "category_id": 1, "id": 138951}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [516, 55, 2, 522, 53, 2, 523, 88, 2, 0, 0, 0, 497, 93, 2, 0, 0, 0, 525, 120, 2, 515, 121, 2, 535, 168, 2, 524, 169, 2, 546, 212, 1, 534, 210, 1, 502, 19, 1, 510, 44, 1], "image_id": 108397, "bbox": [483.04, 13.69, 70.96, 179.9], "category_id": 1, "id": 138953}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [178, 215, 2, 194, 212, 2, 184, 234, 2, 0, 0, 0, 171, 246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 186, 1, 183, 203, 1], "image_id": 107726, "bbox": [152.81, 183.61, 49.43, 85.73], "category_id": 1, "id": 138956}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [416, 211, 1, 357, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 151, 1, 387, 193, 1], "image_id": 106221, "bbox": [369.53, 150.78, 46.16, 102.39], "category_id": 1, "id": 138964}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [384, 225, 2, 357, 227, 2, 398, 249, 2, 349, 253, 2, 398, 265, 1, 346, 269, 1, 378, 260, 2, 362, 260, 2, 387, 292, 2, 350, 297, 1, 395, 317, 2, 0, 0, 0, 368, 195, 1, 369, 219, 1], "image_id": 104425, "bbox": [344.17, 193.07, 61.69, 127.97], "category_id": 1, "id": 138968}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 146, 1, 342, 164, 1], "image_id": 104945, "bbox": [331.17, 140.37, 21.66, 123.44], "category_id": 1, "id": 138973}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 140, 1, 286, 147, 1], "image_id": 107036, "bbox": [278.33, 139.48, 27.28, 34.52], "category_id": 1, "id": 138977}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [280, 222, 2, 226, 222, 2, 0, 0, 0, 214, 239, 2, 0, 0, 0, 214, 193, 2, 279, 312, 1, 248, 313, 2, 289, 372, 1, 250, 376, 2, 275, 417, 1, 0, 0, 0, 251, 163, 1, 251, 214, 1], "image_id": 103544, "bbox": [197.7, 152.81, 102.19, 272.19], "category_id": 1, "id": 138981}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 145, 2, 371, 144, 2, 377, 168, 2, 355, 167, 2, 393, 169, 2, 383, 175, 2, 364, 198, 2, 377, 198, 2, 363, 243, 2, 391, 237, 2, 346, 280, 2, 368, 268, 2, 375, 117, 1, 374, 140, 1], "image_id": 105134, "bbox": [336.14, 114.12, 65.9, 181.44], "category_id": 1, "id": 138995}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [572, 120, 2, 534, 136, 2, 0, 0, 0, 549, 185, 1, 0, 0, 0, 596, 174, 1, 580, 211, 2, 573, 215, 2, 0, 0, 0, 0, 0, 0, 601, 342, 2, 584, 349, 2, 562, 73, 1, 551, 119, 1], "image_id": 108100, "bbox": [523.91, 68.13, 103.64, 308.97], "category_id": 1, "id": 139023}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [70, 293, 1, 84, 298, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 270, 1, 78, 289, 1], "image_id": 103382, "bbox": [66.82, 267.5, 48.14, 84.62], "category_id": 1, "id": 139024}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [549, 146, 2, 528, 146, 2, 555, 164, 2, 0, 0, 0, 554, 179, 2, 0, 0, 0, 547, 178, 2, 531, 179, 1, 547, 202, 2, 531, 202, 2, 547, 225, 2, 532, 224, 2, 539, 119, 1, 540, 137, 1], "image_id": 106539, "bbox": [523.63, 118.9, 39.18, 117.01], "category_id": 1, "id": 139025}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 114, 1, 561, 124, 1], "image_id": 104658, "bbox": [550.86, 113.9, 18.51, 30.96], "category_id": 1, "id": 139035}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [385, 79, 2, 373, 81, 2, 392, 86, 1, 370, 94, 2, 403, 95, 1, 385, 94, 2, 385, 103, 2, 377, 104, 2, 386, 123, 1, 376, 121, 2, 0, 0, 0, 0, 0, 0, 384, 62, 1, 382, 76, 1], "image_id": 107119, "bbox": [368.94, 61.31, 24.92, 65.19], "category_id": 1, "id": 139059}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [143, 115, 2, 0, 0, 0, 154, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 96, 1, 125, 114, 1], "image_id": 107569, "bbox": [108.05, 91.88, 49.97, 46.99], "category_id": 1, "id": 139069}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104461, "bbox": [171.95, 263.3, 26.77, 39.65], "category_id": 1, "id": 139074}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [337, 88, 2, 0, 0, 0, 335, 102, 2, 0, 0, 0, 321, 106, 1, 0, 0, 0, 335, 114, 2, 0, 0, 0, 328, 144, 2, 0, 0, 0, 325, 164, 2, 0, 0, 0, 332, 68, 1, 334, 82, 1], "image_id": 102551, "bbox": [317.6, 66.22, 36.08, 107.62], "category_id": 1, "id": 139075}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 302, 1, 328, 320, 1], "image_id": 102920, "bbox": [312.44, 299.37, 40, 50.24], "category_id": 1, "id": 139092}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 283, 2, 322, 281, 2, 355, 306, 2, 317, 303, 2, 341, 325, 2, 322, 326, 2, 345, 334, 2, 329, 334, 2, 346, 361, 2, 330, 362, 2, 347, 396, 2, 331, 392, 2, 340, 241, 1, 340, 272, 1], "image_id": 107357, "bbox": [312.84, 236.32, 47.46, 180.15], "category_id": 1, "id": 139124}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [457, 163, 2, 0, 0, 0, 466, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 205, 1, 0, 0, 0, 441, 221, 2, 0, 0, 0, 445, 299, 2, 0, 0, 0, 417, 100, 1, 423, 146, 1], "image_id": 102964, "bbox": [405.77, 94.03, 69.69, 248.05], "category_id": 1, "id": 139134}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 102, 1, 0, 0, 0], "image_id": 107720, "bbox": [116.92, 93.68, 39.52, 42.18], "category_id": 1, "id": 139179}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 224, 38, 2, 0, 0, 0, 210, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103544, "bbox": [207.26, 0.96, 50.44, 96.25], "category_id": 1, "id": 139219}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [60, 160, 2, 80, 160, 2, 57, 176, 2, 0, 0, 0, 55, 186, 2, 0, 0, 0, 62, 193, 2, 75, 193, 2, 64, 223, 1, 77, 222, 2, 69, 250, 2, 77, 248, 2, 72, 137, 1, 71, 153, 1], "image_id": 107524, "bbox": [47.58, 129.81, 35.6, 132.61], "category_id": 1, "id": 139239}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [422, 226, 2, 394, 229, 1, 428, 247, 1, 0, 0, 0, 427, 266, 1, 0, 0, 0, 415, 266, 2, 401, 267, 2, 419, 294, 2, 385, 295, 1, 425, 312, 2, 0, 0, 0, 405, 204, 1, 406, 224, 1], "image_id": 104425, "bbox": [393.4, 201.68, 37.68, 121.41], "category_id": 1, "id": 139249}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [25, 239, 2, 32, 237, 2, 32, 254, 2, 42, 260, 2, 17, 268, 1, 0, 0, 0, 31, 279, 2, 35, 278, 2, 30, 308, 2, 21, 303, 2, 58, 306, 2, 26, 333, 2, 16, 217, 1, 24, 232, 1], "image_id": 105787, "bbox": [10.24, 214.94, 62.03, 128.26], "category_id": 1, "id": 139253}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [533, 136, 2, 550, 135, 2, 569, 194, 2, 0, 0, 0, 579, 249, 1, 0, 0, 0, 543, 253, 1, 558, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 523, 89, 1, 535, 125, 1], "image_id": 106047, "bbox": [503.2, 77.1, 86.65, 153.31], "category_id": 1, "id": 139277}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 233, 2, 448, 251, 2, 541, 272, 2, 430, 313, 2, 510, 307, 2, 451, 343, 2, 526, 326, 2, 472, 324, 2, 492, 445, 2, 405, 338, 2, 571, 423, 1, 426, 431, 2, 448, 186, 1, 461, 234, 1], "image_id": 105547, "bbox": [389.2, 175.43, 167.3, 281.16], "category_id": 1, "id": 139310}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [370, 361, 2, 359, 362, 2, 367, 381, 2, 354, 378, 2, 349, 383, 2, 346, 385, 2, 380, 392, 1, 369, 391, 1, 355, 385, 2, 344, 386, 2, 364, 412, 1, 359, 413, 1, 358, 339, 1, 363, 357, 1], "image_id": 102920, "bbox": [339.23, 334.66, 46.36, 77.15], "category_id": 1, "id": 139327}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 360, 1, 123, 366, 1], "image_id": 102646, "bbox": [115.98, 360.65, 12.94, 37.04], "category_id": 1, "id": 139328}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [242, 147, 2, 197, 136, 2, 247, 180, 1, 189, 164, 2, 240, 163, 2, 217, 154, 2, 0, 0, 0, 203, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 101, 1, 223, 132, 1], "image_id": 104759, "bbox": [180.58, 97.94, 70.12, 212.91], "category_id": 1, "id": 139330}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [626, 178, 2, 593, 176, 1, 633, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 622, 231, 1, 596, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 138, 1, 609, 168, 1], "image_id": 103355, "bbox": [591.04, 133.46, 48.65, 74.76], "category_id": 1, "id": 139331}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [187, 145, 2, 155, 145, 2, 188, 174, 2, 148, 172, 2, 167, 188, 2, 155, 183, 2, 175, 185, 2, 159, 183, 2, 164, 196, 2, 148, 195, 2, 0, 0, 0, 0, 0, 0, 171, 106, 1, 171, 135, 1], "image_id": 107575, "bbox": [138.07, 107.43, 57.53, 100.67], "category_id": 1, "id": 139332}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 224, 2, 553, 272, 1, 567, 182, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 178, 1, 0, 0, 0], "image_id": 103355, "bbox": [531.9, 155, 62.61, 104.99], "category_id": 1, "id": 139348}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 103, 1, 131, 117, 1], "image_id": 107720, "bbox": [90.09, 100.8, 50.31, 40.1], "category_id": 1, "id": 139358}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [572, 171, 2, 534, 172, 1, 575, 203, 1, 522, 200, 1, 0, 0, 0, 542, 208, 2, 569, 223, 1, 533, 221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 137, 1, 553, 169, 1], "image_id": 108109, "bbox": [524.33, 136.54, 59.2, 94.38], "category_id": 1, "id": 139366}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 360, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 402, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107119, "bbox": [0.96, 339.84, 137.85, 46.91], "category_id": 1, "id": 139390}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [463, 154, 2, 430, 160, 2, 479, 190, 2, 0, 0, 0, 457, 208, 2, 0, 0, 0, 462, 223, 2, 430, 219, 2, 445, 273, 1, 414, 266, 1, 437, 314, 1, 0, 0, 0, 438, 115, 1, 445, 149, 1], "image_id": 104759, "bbox": [413.6, 116.57, 73.95, 190.14], "category_id": 1, "id": 139394}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [474, 195, 2, 413, 182, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 133, 1, 444, 184, 1], "image_id": 105655, "bbox": [401.76, 129.96, 96.78, 112.06], "category_id": 1, "id": 139402}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [632, 246, 2, 614, 245, 2, 633, 260, 1, 602, 259, 2, 630, 264, 1, 607, 262, 2, 621, 281, 2, 612, 281, 2, 617, 310, 2, 612, 310, 2, 625, 339, 2, 619, 339, 2, 617, 222, 1, 622, 239, 1], "image_id": 103313, "bbox": [600.83, 218.18, 33.28, 131.37], "category_id": 1, "id": 139403}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [494, 304, 2, 482, 292, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 257, 1, 490, 288, 1], "image_id": 104461, "bbox": [470.16, 254.82, 34.74, 73.69], "category_id": 1, "id": 139410}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [445, 301, 2, 401, 301, 2, 448, 333, 2, 395, 334, 2, 438, 343, 2, 404, 297, 2, 435, 368, 1, 405, 368, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 253, 1, 421, 290, 1], "image_id": 107504, "bbox": [386.97, 250.01, 69.55, 111.47], "category_id": 1, "id": 139427}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [249, 244, 1, 219, 245, 2, 0, 0, 0, 222, 278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 290, 1, 0, 0, 0, 0, 0, 0, 231, 209, 1, 236, 239, 1], "image_id": 104747, "bbox": [207.97, 203.56, 38.15, 77.21], "category_id": 1, "id": 139432}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105975, "bbox": [288.52, 412.64, 2.65, 9.76], "category_id": 1, "id": 139437}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 231, 1, 495, 237, 1], "image_id": 103043, "bbox": [488.39, 230.26, 12.91, 45.99], "category_id": 1, "id": 139456}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 331, 1, 126, 338, 1], "image_id": 104626, "bbox": [114.72, 331.74, 20.14, 42.93], "category_id": 1, "id": 139463}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [258, 144, 2, 229, 152, 1, 270, 162, 2, 0, 0, 0, 261, 169, 2, 0, 0, 0, 253, 198, 2, 231, 198, 1, 254, 229, 2, 0, 0, 0, 259, 261, 1, 0, 0, 0, 232, 121, 1, 240, 140, 1], "image_id": 107273, "bbox": [227.97, 117.25, 50.49, 144.03], "category_id": 1, "id": 139464}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [293, 181, 2, 281, 181, 2, 300, 190, 2, 272, 190, 2, 296, 199, 2, 279, 198, 2, 292, 204, 2, 282, 204, 2, 291, 222, 2, 283, 219, 2, 290, 236, 1, 282, 233, 1, 286, 166, 1, 286, 177, 1], "image_id": 107117, "bbox": [267.81, 163.6, 35.51, 77.04], "category_id": 1, "id": 139512}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 113, 1, 514, 123, 1], "image_id": 103625, "bbox": [496.4, 113.11, 24.63, 25.76], "category_id": 1, "id": 139513}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [509, 130, 1, 421, 131, 1, 514, 199, 2, 395, 194, 2, 509, 247, 2, 355, 233, 2, 473, 254, 2, 431, 252, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 56, 1, 462, 118, 1], "image_id": 105485, "bbox": [325.64, 46.87, 197.15, 242.17], "category_id": 1, "id": 139515}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [367, 257, 2, 292, 265, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 170, 1, 331, 242, 1], "image_id": 107273, "bbox": [267.74, 161.98, 113.38, 139.11], "category_id": 1, "id": 139526}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [85, 161, 2, 119, 159, 2, 79, 193, 2, 124, 193, 2, 95, 192, 2, 0, 0, 0, 101, 212, 2, 122, 209, 2, 67, 194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 138, 1, 101, 154, 1], "image_id": 105608, "bbox": [62.74, 136.76, 65.34, 79.16], "category_id": 1, "id": 139543}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 231, 1, 502, 236, 1], "image_id": 105960, "bbox": [497.1, 230.84, 9.17, 21.46], "category_id": 1, "id": 139550}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [88.45, 446.56, 56.09, 28.05], "category_id": 1, "id": 139555}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 56, 1, 420, 70, 1], "image_id": 107241, "bbox": [408.35, 56.23, 20.7, 27.7], "category_id": 1, "id": 139557}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [629, 145, 2, 583, 150, 2, 0, 0, 0, 563, 204, 2, 637, 215, 2, 592, 234, 2, 624, 242, 2, 595, 246, 2, 625, 297, 2, 596, 287, 2, 606, 360, 2, 579, 351, 2, 608, 106, 1, 604, 142, 1], "image_id": 107023, "bbox": [552.75, 96.73, 87.25, 282.98], "category_id": 1, "id": 139569}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [330, 478, 2, 358, 457, 2, 332, 499, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 522, 2, 374, 518, 2, 342, 554, 2, 368, 561, 2, 349, 597, 2, 367, 605, 2, 327, 439, 1, 338, 458, 1], "image_id": 105975, "bbox": [321.27, 438.23, 61.66, 179.71], "category_id": 1, "id": 139580}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [72, 446, 2, 49, 458, 2, 0, 0, 0, 44, 511, 1, 0, 0, 0, 68, 550, 1, 0, 0, 0, 34, 530, 1, 0, 0, 0, 39, 595, 1, 0, 0, 0, 0, 0, 0, 76, 403, 1, 64, 440, 1], "image_id": 104072, "bbox": [14.31, 398.32, 71.56, 144.18], "category_id": 1, "id": 139588}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [89, 258, 2, 72, 255, 2, 98, 285, 2, 88, 283, 2, 0, 0, 0, 109, 264, 2, 89, 296, 2, 79, 297, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 224, 1, 80, 250, 1], "image_id": 107452, "bbox": [67.64, 221.18, 55.31, 93.05], "category_id": 1, "id": 139597}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [395, 223, 2, 345, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 370, 191, 1, 370, 216, 1], "image_id": 106310, "bbox": [338.3, 184.33, 67.69, 48.81], "category_id": 1, "id": 139603}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [212, 355, 2, 187, 360, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 392, 1, 206, 396, 1, 0, 0, 0, 224, 427, 2, 0, 0, 0, 239, 454, 2, 0, 0, 0, 198, 352, 1], "image_id": 107169, "bbox": [181.73, 333.18, 72.11, 128.57], "category_id": 1, "id": 139611}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [335, 162, 2, 325, 166, 2, 350, 187, 2, 305, 178, 2, 325, 198, 2, 280, 179, 2, 344, 224, 2, 334, 225, 2, 336, 265, 1, 329, 267, 1, 340, 301, 1, 0, 0, 0, 309, 141, 1, 326, 157, 1], "image_id": 104097, "bbox": [260.89, 137.79, 105.04, 127.62], "category_id": 1, "id": 139633}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [88, 216, 2, 49, 220, 2, 102, 243, 1, 27, 245, 2, 91, 242, 1, 0, 0, 0, 82, 269, 1, 57, 270, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 187, 1, 69, 213, 1], "image_id": 107726, "bbox": [13.8, 181.02, 89.72, 75.71], "category_id": 1, "id": 139645}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 408, 1, 173, 413, 1], "image_id": 105975, "bbox": [168.09, 408.36, 13.58, 39.97], "category_id": 1, "id": 139650}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 123, 1, 434, 129, 1], "image_id": 107036, "bbox": [429.25, 122.3, 13.75, 42.74], "category_id": 1, "id": 139651}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [141, 172, 2, 124, 186, 2, 153, 219, 2, 0, 0, 0, 169, 225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 127, 1, 133, 161, 1], "image_id": 105147, "bbox": [118.42, 120.87, 56.57, 108.56], "category_id": 1, "id": 139676}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [189, 60, 2, 205, 62, 2, 185, 74, 2, 209, 79, 2, 185, 90, 2, 211, 90, 2, 191, 82, 2, 202, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 44, 1, 199, 55, 1], "image_id": 105608, "bbox": [181.99, 42.08, 31.77, 63.86], "category_id": 1, "id": 139680}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 247, 1, 66, 257, 1], "image_id": 105787, "bbox": [53.53, 246.4, 22.08, 38.36], "category_id": 1, "id": 139715}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [528, 77, 2, 455, 92, 2, 532, 127, 2, 436, 153, 2, 542, 164, 2, 454, 156, 2, 534, 188, 2, 488, 200, 2, 565, 256, 2, 461, 279, 2, 565, 371, 2, 434, 365, 2, 491, 11, 1, 494, 70, 1], "image_id": 105134, "bbox": [387.79, 0, 215.34, 404.94], "category_id": 1, "id": 139719}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [625, 256, 2, 594, 257, 2, 0, 0, 0, 594, 282, 1, 0, 0, 0, 0, 0, 0, 624, 284, 1, 603, 288, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, 225, 1, 610, 250, 1], "image_id": 104461, "bbox": [584.89, 222.21, 51.42, 53.57], "category_id": 1, "id": 139732}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 229, 1, 305, 235, 1], "image_id": 105960, "bbox": [297.69, 226.82, 16.41, 26.16], "category_id": 1, "id": 139737}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [59.19, 416.21, 13.7, 21.69], "category_id": 1, "id": 139739}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 292, 1, 308, 309, 1], "image_id": 102920, "bbox": [303.42, 291.97, 20, 40.97], "category_id": 1, "id": 139741}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 88, 1, 84, 99, 1], "image_id": 107720, "bbox": [69.6, 93.99, 30.67, 45.69], "category_id": 1, "id": 139743}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104945, "bbox": [123.65, 138.58, 17.19, 27.17], "category_id": 1, "id": 139747}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 416, 1], "image_id": 105975, "bbox": [207.85, 411.04, 8.8, 17.7], "category_id": 1, "id": 139775}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [318, 164, 2, 279, 165, 2, 331, 190, 1, 272, 194, 1, 0, 0, 0, 0, 0, 0, 312, 210, 1, 285, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 127, 1, 296, 160, 1], "image_id": 104042, "bbox": [273.64, 126.17, 65.65, 66.03], "category_id": 1, "id": 139776}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [246, 210, 2, 221, 211, 2, 0, 0, 0, 269, 260, 2, 0, 0, 0, 341, 262, 2, 213, 310, 2, 183, 317, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 134, 1, 233, 191, 1], "image_id": 106256, "bbox": [145.85, 127.62, 217.82, 264.84], "category_id": 1, "id": 139787}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [469, 157, 2, 497, 159, 2, 463, 179, 2, 499, 182, 2, 464, 203, 1, 0, 0, 0, 469, 200, 2, 493, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 126, 1, 489, 146, 1], "image_id": 103718, "bbox": [456.54, 119.42, 64.32, 82.63], "category_id": 1, "id": 139806}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [81, 159, 2, 25, 157, 1, 101, 202, 2, 0, 0, 0, 93, 214, 2, 0, 0, 0, 74, 235, 1, 41, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 100, 1, 54, 143, 1], "image_id": 104345, "bbox": [31.98, 93.69, 79.03, 132.7], "category_id": 1, "id": 139811}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, 103, 1, 542, 115, 1], "image_id": 104658, "bbox": [523.48, 98.36, 33.14, 45.6], "category_id": 1, "id": 139831}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [512, 176, 2, 476, 179, 2, 519, 193, 2, 463, 201, 1, 513, 197, 1, 0, 0, 0, 512, 216, 1, 485, 218, 1, 537, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, 143, 1, 493, 167, 1], "image_id": 103039, "bbox": [462.04, 138.16, 63.46, 71.59], "category_id": 1, "id": 139836}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 185, 1, 0, 0, 0], "image_id": 103355, "bbox": [512.89, 180.67, 44.48, 49.12], "category_id": 1, "id": 139860}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [158, 183, 2, 203, 190, 2, 153, 225, 2, 206, 239, 1, 0, 0, 0, 0, 0, 0, 166, 276, 1, 197, 275, 2, 164, 329, 2, 198, 327, 2, 0, 0, 0, 0, 0, 0, 160, 138, 1, 173, 171, 1], "image_id": 106975, "bbox": [143.59, 130.61, 68.95, 230.39], "category_id": 1, "id": 139876}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [392, 323, 2, 384, 328, 1, 416, 355, 2, 409, 356, 2, 431, 365, 2, 428, 375, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 283, 1, 392, 314, 1], "image_id": 105812, "bbox": [379.36, 277.03, 72.32, 101.36], "category_id": 1, "id": 139888}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [259, 138, 2, 294, 129, 2, 267, 169, 2, 0, 0, 0, 278, 194, 2, 0, 0, 0, 276, 205, 1, 298, 203, 1, 255, 259, 2, 297, 262, 2, 264, 316, 2, 326, 314, 2, 262, 97, 1, 266, 121, 1], "image_id": 105616, "bbox": [242.7, 82.83, 94.66, 250.76], "category_id": 1, "id": 139907}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [231, 91, 2, 207, 92, 2, 233, 108, 2, 206, 109, 2, 235, 123, 2, 207, 124, 2, 228, 129, 2, 215, 132, 2, 234, 151, 2, 216, 150, 2, 239, 175, 2, 221, 175, 2, 217, 69, 1, 220, 87, 1], "image_id": 108412, "bbox": [203.91, 68.33, 40.93, 116.75], "category_id": 1, "id": 139914}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [303, 307, 2, 0, 0, 0, 291, 323, 1, 0, 0, 0, 284, 335, 2, 0, 0, 0, 306, 367, 2, 316, 367, 2, 297, 388, 2, 315, 389, 2, 294, 414, 2, 316, 415, 2, 306, 281, 1, 312, 298, 1], "image_id": 103382, "bbox": [277.02, 284.76, 47.77, 137.56], "category_id": 1, "id": 139921}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [316, 158, 2, 338, 160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 207, 2, 335, 209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 134, 1, 324, 151, 1], "image_id": 104945, "bbox": [295.3, 126.82, 50.47, 156.77], "category_id": 1, "id": 139936}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [441, 127, 2, 435, 137, 2, 455, 132, 2, 438, 148, 2, 460, 142, 2, 437, 162, 2, 461, 135, 2, 450, 140, 2, 448, 149, 2, 442, 148, 2, 450, 169, 2, 444, 166, 2, 428, 129, 1, 438, 130, 1], "image_id": 103594, "bbox": [432.01, 119.27, 41.93, 58.2], "category_id": 1, "id": 139940}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 498, 283, 2, 0, 0, 0, 495, 296, 2, 0, 0, 0, 496, 309, 2, 0, 0, 0, 506, 315, 2, 0, 0, 0, 501, 334, 2, 0, 0, 0, 501, 356, 2, 509, 263, 1, 508, 279, 1], "image_id": 107276, "bbox": [489.89, 261.56, 25.11, 102.77], "category_id": 1, "id": 139942}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [362, 254, 2, 345, 227, 2, 316, 301, 2, 0, 0, 0, 310, 275, 2, 0, 0, 0, 329, 329, 1, 305, 306, 2, 264, 378, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 173, 1, 354, 223, 1], "image_id": 105655, "bbox": [304.43, 167.03, 67.31, 165.78], "category_id": 1, "id": 139944}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [418, 254, 2, 385, 255, 2, 0, 0, 0, 374, 284, 2, 407, 280, 2, 0, 0, 0, 409, 302, 1, 391, 302, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 218, 1, 402, 250, 1], "image_id": 103782, "bbox": [367.08, 216.14, 58.92, 79.78], "category_id": 1, "id": 139991}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [233, 253, 2, 185, 264, 2, 263, 269, 2, 184, 304, 2, 294, 269, 1, 221, 303, 2, 233, 334, 1, 201, 335, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 199, 1, 210, 251, 1], "image_id": 103682, "bbox": [172.3, 193.07, 95.27, 119.6], "category_id": 1, "id": 140001}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [571, 185, 2, 546, 189, 2, 578, 202, 2, 539, 206, 2, 573, 210, 2, 535, 217, 2, 569, 218, 2, 550, 219, 1, 582, 231, 2, 534, 234, 1, 592, 254, 1, 529, 257, 1, 556, 163, 1, 559, 180, 1], "image_id": 103039, "bbox": [524.52, 157.76, 63.37, 104.99], "category_id": 1, "id": 140015}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [348, 151, 2, 310, 150, 2, 342, 177, 2, 305, 174, 2, 333, 193, 2, 300, 189, 2, 337, 192, 2, 308, 191, 2, 335, 211, 1, 288, 205, 1, 0, 0, 0, 0, 0, 0, 327, 116, 1, 328, 143, 1], "image_id": 107575, "bbox": [283.89, 112.74, 70.72, 103.41], "category_id": 1, "id": 140017}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [233, 370, 2, 231, 391, 2, 0, 0, 0, 222, 413, 2, 224, 416, 2, 0, 0, 0, 249, 408, 2, 242, 427, 2, 257, 439, 2, 244, 455, 2, 254, 465, 2, 0, 0, 0, 250, 352, 1, 240, 373, 1], "image_id": 107115, "bbox": [215.21, 345.88, 49.7, 133.58], "category_id": 1, "id": 140033}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 168, 108, 2, 0, 0, 0, 155, 133, 2, 0, 0, 0, 164, 147, 2, 0, 0, 0, 162, 152, 2, 0, 0, 0, 162, 189, 2, 0, 0, 0, 157, 216, 1, 0, 0, 0, 186, 104, 1], "image_id": 103594, "bbox": [147.88, 81.99, 38.39, 147.17], "category_id": 1, "id": 140038}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [306, 320, 2, 331, 318, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 351, 2, 328, 350, 2, 306, 343, 2, 0, 0, 0, 312, 373, 1, 0, 0, 0, 314, 297, 1, 317, 311, 1], "image_id": 104626, "bbox": [299.08, 296.29, 40.45, 87.79], "category_id": 1, "id": 140055}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [227, 151, 2, 165, 150, 2, 229, 199, 2, 170, 195, 2, 0, 0, 0, 0, 0, 0, 215, 220, 1, 165, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 94, 1, 201, 141, 1], "image_id": 103682, "bbox": [156.03, 82.41, 86.78, 130.41], "category_id": 1, "id": 140058}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [36, 441, 2, 31, 441, 2, 22, 465, 2, 20, 460, 2, 9, 460, 1, 12, 460, 2, 30, 467, 1, 26, 466, 2, 5, 474, 2, 1, 470, 1, 5, 500, 2, 1, 499, 1, 31, 421, 1, 32, 435, 1], "image_id": 104072, "bbox": [2.04, 420.22, 42.6, 87.57], "category_id": 1, "id": 140059}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [427, 204, 2, 397, 202, 1, 435, 232, 2, 394, 231, 1, 435, 254, 2, 0, 0, 0, 418, 251, 1, 401, 249, 2, 411, 297, 2, 397, 296, 1, 408, 337, 2, 390, 335, 1, 423, 169, 1, 416, 195, 1], "image_id": 106415, "bbox": [397.15, 163.31, 42.74, 189.86], "category_id": 1, "id": 140064}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 601, 37, 2, 0, 0, 0, 581, 54, 2, 0, 0, 0, 583, 57, 2, 0, 0, 0, 607, 98, 1, 0, 0, 0, 596, 88, 2, 0, 0, 0, 601, 148, 1, 0, 0, 0, 618, 32, 1], "image_id": 106983, "bbox": [571.08, 0.54, 62.87, 152.22], "category_id": 1, "id": 140099}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [168, 35, 1, 140, 37, 2, 0, 0, 0, 134, 62, 2, 0, 0, 0, 141, 87, 2, 166, 78, 1, 150, 78, 1, 0, 0, 0, 149, 121, 2, 0, 0, 0, 145, 156, 2, 155, 9, 1, 155, 27, 1], "image_id": 103248, "bbox": [129, 6.5, 33.5, 166.5], "category_id": 1, "id": 140101}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [262, 222, 1, 219, 228, 2, 0, 0, 0, 222, 270, 1, 0, 0, 0, 244, 288, 1, 263, 306, 1, 227, 307, 1, 0, 0, 0, 264, 334, 1, 0, 0, 0, 0, 0, 0, 246, 175, 1, 242, 211, 1], "image_id": 108109, "bbox": [208.14, 170.28, 48.9, 121.65], "category_id": 1, "id": 140127}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 3, 1, 205, 15, 1], "image_id": 107361, "bbox": [195.52, 3.27, 14.52, 33.53], "category_id": 1, "id": 140151}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102964, "bbox": [440.57, 131.72, 31.64, 33.57], "category_id": 1, "id": 140158}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [598, 454, 2, 520, 456, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 377, 1, 566, 436, 1], "image_id": 104400, "bbox": [518.93, 371.16, 83.67, 108.84], "category_id": 1, "id": 140161}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [504, 177, 2, 513, 176, 2, 498, 194, 2, 0, 0, 0, 494, 192, 2, 0, 0, 0, 503, 204, 2, 512, 204, 2, 494, 198, 2, 503, 197, 2, 493, 221, 1, 504, 220, 1, 503, 161, 1, 505, 173, 1], "image_id": 104565, "bbox": [474.72, 160.26, 43.6, 68.54], "category_id": 1, "id": 140163}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [81, 138, 2, 20, 119, 2, 136, 210, 2, 67, 167, 2, 191, 244, 1, 117, 214, 2, 27, 281, 2, 0, 0, 0, 103, 348, 1, 26, 393, 2, 20, 428, 2, 36, 550, 2, 87, 33, 1, 59, 101, 1], "image_id": 107276, "bbox": [0, 30.77, 228.89, 564.05], "category_id": 1, "id": 140181}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [195, 258, 2, 197, 248, 2, 187, 307, 2, 176, 299, 2, 149, 317, 2, 152, 313, 2, 203, 334, 2, 200, 322, 2, 160, 331, 2, 134, 324, 2, 151, 366, 2, 156, 368, 2, 183, 215, 1, 189, 248, 1], "image_id": 107524, "bbox": [123.76, 204.88, 107.14, 174.56], "category_id": 1, "id": 140193}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 99, 1, 378, 106, 1], "image_id": 108412, "bbox": [368.33, 98.98, 20.91, 30.02], "category_id": 1, "id": 140210}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [29, 165, 2, 56, 165, 2, 25, 178, 1, 61, 183, 2, 0, 0, 0, 0, 0, 0, 32, 201, 1, 50, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 135, 1, 42, 157, 1], "image_id": 105183, "bbox": [18.87, 133.61, 48.37, 76.68], "category_id": 1, "id": 140217}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [304, 156, 2, 260, 155, 2, 314, 181, 2, 253, 190, 2, 298, 189, 1, 254, 169, 2, 298, 204, 1, 267, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 122, 1, 282, 153, 1], "image_id": 108296, "bbox": [245.12, 126.03, 70.5, 73.51], "category_id": 1, "id": 140222}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [321, 253, 2, 336, 253, 2, 0, 0, 0, 355, 268, 2, 0, 0, 0, 365, 265, 2, 323, 288, 1, 335, 288, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 229, 1, 333, 248, 1], "image_id": 104461, "bbox": [319.34, 227.4, 47.46, 50.37], "category_id": 1, "id": 140239}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108236, "bbox": [159.99, 232.51, 11.41, 26.87], "category_id": 1, "id": 140250}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [251, 527, 2, 228, 525, 2, 254, 550, 1, 224, 547, 2, 233, 550, 2, 223, 548, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 507, 1, 239, 524, 1], "image_id": 105778, "bbox": [214.6, 507.28, 42.68, 44.53], "category_id": 1, "id": 140293}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [200, 251, 1, 0, 0, 0, 200, 288, 1, 0, 0, 0, 186, 305, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 217, 1, 180, 245, 1], "image_id": 103782, "bbox": [168.53, 216.13, 37.69, 96.75], "category_id": 1, "id": 140302}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [249, 164, 2, 147, 165, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 323, 1, 160, 320, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 64, 1, 199, 144, 1], "image_id": 102706, "bbox": [122.95, 54.29, 151.44, 223.27], "category_id": 1, "id": 140332}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [412, 147, 2, 368, 142, 2, 412, 186, 2, 352, 178, 2, 418, 186, 2, 386, 188, 2, 414, 216, 1, 383, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 97, 1, 392, 134, 1], "image_id": 106310, "bbox": [346.76, 92.75, 80.24, 110.81], "category_id": 1, "id": 140342}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 239, 1, 116, 240, 1], "image_id": 103043, "bbox": [110.49, 235.88, 21.22, 33.01], "category_id": 1, "id": 140347}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [29, 286, 2, 0, 0, 0, 37, 325, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 241, 1, 8, 276, 1], "image_id": 103782, "bbox": [0, 235.38, 43.9, 88.19], "category_id": 1, "id": 140363}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [151, 217, 2, 102, 216, 2, 171, 250, 1, 87, 246, 2, 148, 245, 2, 94, 246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 181, 1, 126, 210, 1], "image_id": 106060, "bbox": [86.25, 176.82, 88, 78.99], "category_id": 1, "id": 140374}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [596, 179, 2, 571, 169, 2, 604, 273, 2, 0, 0, 0, 562, 335, 2, 529, 262, 2, 589, 298, 2, 564, 286, 2, 575, 389, 2, 549, 376, 2, 569, 467, 2, 539, 448, 2, 577, 83, 1, 585, 153, 1], "image_id": 103778, "bbox": [492.97, 71.35, 134.06, 400], "category_id": 1, "id": 140377}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 92, 1, 148, 106, 1], "image_id": 105616, "bbox": [134.85, 102.57, 15.34, 94.34], "category_id": 1, "id": 140384}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 205, 1, 276, 213, 1], "image_id": 104626, "bbox": [265.54, 205.3, 22.11, 32.54], "category_id": 1, "id": 140386}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102964, "bbox": [428.92, 161, 33.91, 63.21], "category_id": 1, "id": 140410}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [180, 259, 2, 153, 259, 2, 186, 280, 1, 146, 283, 2, 184, 300, 2, 149, 303, 2, 173, 299, 2, 159, 300, 2, 174, 330, 2, 158, 328, 2, 175, 360, 2, 157, 362, 2, 165, 235, 1, 165, 255, 1], "image_id": 104997, "bbox": [143.51, 232.27, 43.83, 140.46], "category_id": 1, "id": 140437}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [99, 233, 1, 153, 234, 2, 0, 0, 0, 173, 298, 2, 0, 0, 0, 181, 337, 2, 110, 314, 1, 137, 313, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 176, 1, 126, 220, 1], "image_id": 106975, "bbox": [109.28, 174.64, 83.99, 186.36], "category_id": 1, "id": 140441}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [189, 91, 2, 168, 91, 2, 200, 108, 2, 170, 112, 2, 0, 0, 0, 192, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 119, 2, 224, 133, 1, 230, 125, 1, 180, 71, 1, 180, 87, 1], "image_id": 104772, "bbox": [157.84, 67.64, 50.53, 69.33], "category_id": 1, "id": 140462}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [376, 36, 2, 343, 34, 2, 379, 60, 2, 336, 53, 2, 367, 66, 2, 350, 58, 2, 364, 74, 2, 347, 72, 2, 355, 75, 2, 338, 48, 2, 352, 113, 1, 333, 77, 1, 358, 3, 1, 359, 27, 1], "image_id": 107575, "bbox": [327.53, 0, 58.56, 117.6], "category_id": 1, "id": 140471}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [373, 131, 2, 323, 127, 2, 370, 186, 2, 309, 169, 2, 344, 208, 1, 312, 206, 2, 357, 214, 1, 320, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 71, 1, 347, 118, 1], "image_id": 105655, "bbox": [300.93, 67.8, 87.31, 151.43], "category_id": 1, "id": 140490}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 46, 1, 395, 51, 1], "image_id": 107168, "bbox": [377.22, 45.82, 23.16, 43.6], "category_id": 1, "id": 140502}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 599, 209, 2, 0, 0, 0, 568, 249, 2, 632, 281, 2, 606, 258, 2, 618, 359, 2, 575, 322, 2, 570, 420, 2, 565, 357, 2, 0, 0, 0, 0, 0, 0], "image_id": 107361, "bbox": [539.3, 159.95, 100.7, 303.72], "category_id": 1, "id": 140516}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108397, "bbox": [147.73, 62.68, 14.25, 38.25], "category_id": 1, "id": 140520}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 273, 2, 252, 274, 2, 282, 294, 2, 251, 294, 2, 279, 311, 2, 251, 309, 2, 270, 315, 2, 257, 315, 2, 270, 337, 2, 255, 335, 2, 268, 362, 2, 256, 361, 2, 264, 251, 1, 265, 269, 1], "image_id": 104997, "bbox": [243.41, 250.11, 43.44, 123.35], "category_id": 1, "id": 140531}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [239, 185, 2, 229, 186, 2, 244, 200, 2, 223, 201, 1, 255, 202, 2, 223, 214, 1, 233, 220, 2, 237, 219, 1, 236, 242, 2, 245, 238, 2, 214, 257, 1, 243, 265, 2, 234, 167, 1, 234, 183, 1], "image_id": 105134, "bbox": [221.62, 165.23, 40.59, 103.97], "category_id": 1, "id": 140555}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102646, "bbox": [128.82, 378.75, 10.47, 19.76], "category_id": 1, "id": 140574}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [236, 450, 2, 249, 459, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 489, 2, 247, 493, 1, 243, 527, 2, 250, 530, 2, 242, 556, 2, 249, 559, 2, 251, 431, 1, 247, 446, 1], "image_id": 105975, "bbox": [227.93, 428.09, 38.64, 143.89], "category_id": 1, "id": 140581}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [463, 224, 2, 435, 229, 2, 469, 241, 2, 432, 249, 2, 468, 256, 2, 428, 264, 2, 455, 261, 2, 440, 263, 2, 471, 288, 2, 439, 292, 2, 480, 313, 1, 439, 316, 2, 443, 197, 1, 445, 217, 1], "image_id": 104425, "bbox": [426.4, 195.21, 61.5, 127.23], "category_id": 1, "id": 140585}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [415, 182, 2, 392, 186, 2, 0, 0, 0, 400, 207, 2, 0, 0, 0, 421, 200, 2, 420, 225, 2, 405, 227, 1, 424, 251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 150, 1, 404, 176, 1], "image_id": 106366, "bbox": [385.4, 147.53, 53.3, 117.19], "category_id": 1, "id": 140587}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 204, 1, 332, 212, 1], "image_id": 103313, "bbox": [318.95, 203.39, 22.7, 24.27], "category_id": 1, "id": 140590}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103382, "bbox": [237.06, 318.59, 38.3, 31.42], "category_id": 1, "id": 140592}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [171, 205, 2, 82, 205, 2, 178, 262, 1, 19, 236, 1, 0, 0, 0, 34, 290, 1, 160, 293, 2, 112, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 150, 1, 129, 202, 1], "image_id": 103682, "bbox": [23.15, 148.08, 162.08, 162.08], "category_id": 1, "id": 140604}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 213, 1], "image_id": 104626, "bbox": [290.74, 210.17, 15.82, 41.71], "category_id": 1, "id": 140615}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 223, 1, 127, 228, 1], "image_id": 108236, "bbox": [122.63, 223.7, 9.25, 42.31], "category_id": 1, "id": 140617}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [317, 355, 2, 341, 350, 2, 309, 373, 2, 0, 0, 0, 311, 354, 2, 0, 0, 0, 323, 383, 1, 337, 382, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 320, 1, 327, 343, 1], "image_id": 107115, "bbox": [306.06, 319.4, 38.71, 61.94], "category_id": 1, "id": 140643}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [550.94, 378.39, 38.41, 25.09], "category_id": 1, "id": 140661}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [398, 129, 2, 338, 137, 2, 416, 182, 2, 308, 185, 1, 369, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 83, 1, 367, 121, 1], "image_id": 106352, "bbox": [317.08, 70.67, 106.96, 132.76], "category_id": 1, "id": 140675}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [286, 222, 2, 232, 209, 2, 294, 248, 1, 0, 0, 0, 285, 257, 2, 0, 0, 0, 261, 299, 1, 219, 288, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 160, 1, 262, 204, 1], "image_id": 105655, "bbox": [226.15, 158.37, 71.54, 121.55], "category_id": 1, "id": 140680}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [58, 142, 2, 46, 141, 2, 62, 152, 2, 41, 150, 2, 61, 159, 2, 40, 156, 2, 56, 160, 2, 44, 158, 2, 55, 172, 2, 45, 171, 2, 0, 0, 0, 0, 0, 0, 53, 127, 1, 52, 138, 1], "image_id": 108139, "bbox": [36.66, 126.19, 31.29, 51.3], "category_id": 1, "id": 140686}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 9, 162, 2, 0, 0, 0, 25, 191, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 240, 2, 0, 0, 0, 3, 295, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103718, "bbox": [0, 115.14, 36.56, 245.08], "category_id": 1, "id": 140691}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [402, 107, 2, 387, 110, 2, 400, 122, 2, 389, 121, 2, 386, 127, 2, 384, 126, 2, 399, 129, 1, 388, 129, 2, 391, 129, 2, 380, 128, 2, 390, 158, 2, 379, 156, 2, 392, 94, 1, 394, 105, 1], "image_id": 104860, "bbox": [369.97, 91.03, 34.17, 76.17], "category_id": 1, "id": 140700}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [65, 167, 2, 108, 178, 2, 0, 0, 0, 127, 217, 2, 0, 0, 0, 157, 229, 2, 65, 270, 2, 97, 266, 2, 84, 324, 2, 107, 319, 2, 97, 361, 2, 103, 353, 2, 106, 133, 1, 95, 163, 1], "image_id": 107117, "bbox": [49.9, 152.57, 121.86, 240.85], "category_id": 1, "id": 140703}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [420, 232, 2, 428, 230, 2, 418, 273, 2, 413, 280, 2, 393, 298, 2, 380, 285, 1, 409, 307, 2, 416, 308, 2, 427, 373, 2, 403, 380, 2, 472, 431, 2, 392, 440, 2, 407, 194, 1, 413, 223, 1], "image_id": 104930, "bbox": [359.19, 188.52, 127.01, 271.26], "category_id": 1, "id": 140709}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104249, "bbox": [374.54, 208.67, 29.9, 25.7], "category_id": 1, "id": 140718}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [523, 192, 2, 401, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 357, 2, 419, 357, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 78, 1, 456, 168, 1], "image_id": 106220, "bbox": [416.11, 71.67, 183.89, 328.33], "category_id": 1, "id": 140720}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 274, 1, 93, 280, 1], "image_id": 104626, "bbox": [82.22, 275.21, 15.44, 32.63], "category_id": 1, "id": 140731}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [564, 258, 2, 577, 252, 2, 557, 276, 2, 0, 0, 0, 552, 296, 2, 0, 0, 0, 564, 296, 1, 574, 293, 1, 559, 329, 2, 575, 327, 1, 561, 356, 1, 586, 353, 1, 564, 229, 1, 567, 250, 1], "image_id": 107241, "bbox": [548.09, 227.17, 31.36, 127.7], "category_id": 1, "id": 140734}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [418, 170, 2, 387, 168, 2, 421, 194, 2, 382, 192, 2, 0, 0, 0, 384, 213, 2, 411, 221, 2, 394, 221, 2, 409, 253, 2, 390, 254, 2, 0, 0, 0, 0, 0, 0, 405, 139, 1, 402, 160, 1], "image_id": 103355, "bbox": [374.56, 137.21, 55.33, 138.33], "category_id": 1, "id": 140737}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [88, 157, 2, 35, 159, 2, 84, 192, 2, 26, 190, 1, 41, 189, 1, 69, 190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 101, 1, 60, 140, 1], "image_id": 108109, "bbox": [21.82, 99.46, 74.5, 107.68], "category_id": 1, "id": 140754}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [125, 66, 2, 78, 63, 2, 124, 129, 1, 80, 109, 2, 82, 150, 2, 52, 137, 2, 114, 163, 1, 84, 160, 2, 114, 233, 1, 82, 234, 1, 0, 0, 0, 0, 0, 0, 94, 7, 1, 99, 50, 1], "image_id": 102880, "bbox": [30.5, 3.83, 111, 188], "category_id": 1, "id": 140806}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 432, 44, 2, 303, 9, 2, 424, 109, 2, 304, 92, 2, 384, 70, 2, 327, 70, 2, 412, 191, 2, 370, 185, 2, 375, 271, 2, 335, 287, 2, 0, 0, 0, 0, 0, 0], "image_id": 104772, "bbox": [284.03, 0.96, 178.47, 328.17], "category_id": 1, "id": 140812}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 410, 1, 287, 419, 1], "image_id": 104072, "bbox": [273.87, 409.28, 23.17, 71.82], "category_id": 1, "id": 140815}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [530, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108202, "bbox": [474.86, 110.69, 101.2, 136.47], "category_id": 1, "id": 140825}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [177, 289, 2, 74, 282, 2, 174, 362, 2, 72, 378, 2, 174, 374, 2, 129, 380, 2, 145, 417, 2, 102, 418, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 180, 1, 135, 268, 1], "image_id": 102706, "bbox": [38, 169.45, 166.37, 276.25], "category_id": 1, "id": 140835}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [582, 99, 2, 530, 92, 2, 587, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 46, 1, 556, 85, 1], "image_id": 105655, "bbox": [519.68, 41.41, 75.95, 84.51], "category_id": 1, "id": 140872}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [41, 388, 2, 0, 0, 0, 53, 419, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 338, 1, 16, 374, 1], "image_id": 103382, "bbox": [0, 330.34, 89.85, 96.66], "category_id": 1, "id": 140876}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104249, "bbox": [318.68, 199.94, 27.1, 21.54], "category_id": 1, "id": 140900}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [595, 195, 2, 572, 194, 1, 599, 212, 2, 0, 0, 0, 593, 223, 2, 0, 0, 0, 590, 225, 2, 574, 225, 1, 604, 242, 2, 0, 0, 0, 608, 263, 1, 0, 0, 0, 577, 173, 1, 582, 188, 1], "image_id": 103039, "bbox": [571.44, 167.86, 40.96, 94.37], "category_id": 1, "id": 140901}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [216, 226, 2, 181, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 287, 2, 187, 288, 2, 211, 329, 1, 189, 331, 1, 0, 0, 0, 0, 0, 0, 197, 190, 1, 200, 220, 1], "image_id": 104747, "bbox": [175.46, 192.72, 41.71, 136.63], "category_id": 1, "id": 140913}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108100, "bbox": [307.52, 93.75, 31.72, 30.46], "category_id": 1, "id": 140945}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [181, 243, 1, 140, 247, 2, 0, 0, 0, 132, 294, 1, 0, 0, 0, 115, 280, 2, 167, 329, 1, 135, 320, 1, 139, 311, 1, 77, 305, 2, 116, 380, 2, 42, 373, 2, 158, 191, 1, 158, 233, 1], "image_id": 103778, "bbox": [27.55, 183.9, 151.54, 227.77], "category_id": 1, "id": 140953}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 55, 1, 453, 68, 1], "image_id": 107241, "bbox": [436.91, 52.94, 27.08, 29.64], "category_id": 1, "id": 140955}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [600, 175, 2, 609, 175, 2, 0, 0, 0, 612, 196, 2, 0, 0, 0, 623, 208, 2, 604, 212, 2, 610, 216, 2, 607, 244, 2, 615, 246, 2, 611, 270, 2, 597, 263, 1, 613, 147, 1, 608, 165, 1], "image_id": 103718, "bbox": [580.63, 144.01, 48.36, 140.39], "category_id": 1, "id": 140972}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [122, 177, 2, 31, 172, 2, 0, 0, 0, 5, 254, 2, 0, 0, 0, 0, 0, 0, 102, 332, 1, 27, 329, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 65, 1, 84, 148, 1], "image_id": 102706, "bbox": [0, 54.04, 126.6, 396.27], "category_id": 1, "id": 140974}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102589, "bbox": [457.32, 450.12, 22.68, 86.21], "category_id": 1, "id": 140977}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [427, 71, 2, 389, 68, 2, 432, 117, 2, 392, 106, 2, 388, 115, 2, 383, 114, 2, 418, 152, 2, 392, 149, 2, 417, 223, 1, 379, 211, 1, 0, 0, 0, 0, 0, 0, 402, 13, 1, 406, 54, 1], "image_id": 102880, "bbox": [359.62, 15.2, 89.29, 177.73], "category_id": 1, "id": 140996}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [280, 101, 1, 229, 101, 2, 280, 137, 1, 219, 125, 2, 270, 100, 2, 238, 91, 2, 280, 186, 1, 238, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 258, 52, 1, 256, 89, 1], "image_id": 106352, "bbox": [215.84, 39.82, 64.95, 191.97], "category_id": 1, "id": 140998}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [142, 217, 2, 147, 216, 2, 141, 232, 2, 0, 0, 0, 139, 242, 2, 0, 0, 0, 138, 242, 2, 142, 242, 2, 141, 263, 2, 144, 262, 2, 144, 280, 2, 150, 281, 2, 139, 202, 1, 141, 211, 1], "image_id": 108236, "bbox": [126.11, 203.75, 33.04, 82.61], "category_id": 1, "id": 141005}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [339, 168, 2, 340, 168, 2, 0, 0, 0, 339, 187, 2, 0, 0, 0, 347, 202, 2, 338, 201, 2, 341, 202, 2, 335, 235, 2, 361, 230, 1, 317, 256, 2, 0, 0, 0, 349, 149, 1, 345, 166, 1], "image_id": 105134, "bbox": [307.76, 147.69, 50.5, 122.91], "category_id": 1, "id": 141015}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [399, 329, 2, 389, 313, 1, 392, 347, 2, 0, 0, 0, 387, 362, 1, 0, 0, 0, 393, 357, 2, 383, 350, 1, 393, 368, 2, 0, 0, 0, 393, 392, 1, 0, 0, 0, 394, 296, 1, 395, 316, 1], "image_id": 107115, "bbox": [379.69, 297.71, 29.12, 98.16], "category_id": 1, "id": 141022}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [309, 68, 2, 274, 63, 2, 316, 99, 2, 279, 100, 2, 287, 100, 1, 306, 94, 2, 303, 135, 2, 282, 136, 2, 305, 184, 2, 293, 186, 1, 301, 235, 1, 263, 205, 2, 296, 21, 1, 290, 55, 1], "image_id": 105506, "bbox": [252.95, 16.52, 67.63, 192.48], "category_id": 1, "id": 141047}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104930, "bbox": [337.65, 247.09, 9.03, 21.01], "category_id": 1, "id": 141052}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [310, 163, 2, 307, 154, 2, 0, 0, 0, 314, 181, 2, 0, 0, 0, 334, 183, 2, 293, 195, 2, 285, 192, 2, 299, 227, 2, 300, 227, 2, 298, 258, 2, 274, 259, 2, 329, 138, 1, 313, 152, 1], "image_id": 108139, "bbox": [265.8, 129.2, 76.79, 136.06], "category_id": 1, "id": 141053}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [587, 192, 2, 588, 188, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 226, 2, 596, 223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 167, 1, 586, 183, 1], "image_id": 106047, "bbox": [571.26, 162.77, 36.19, 73.98], "category_id": 1, "id": 141075}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 533, 1, 421, 539, 1], "image_id": 106426, "bbox": [415.09, 533.03, 12.92, 40.61], "category_id": 1, "id": 141078}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 58, 1, 115, 67, 1], "image_id": 107408, "bbox": [105.36, 59.37, 24.07, 52.94], "category_id": 1, "id": 141113}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [67, 217, 2, 72, 216, 2, 70, 236, 2, 0, 0, 0, 60, 239, 2, 0, 0, 0, 68, 247, 2, 73, 247, 2, 73, 271, 2, 74, 267, 2, 80, 290, 2, 74, 286, 2, 65, 204, 1, 68, 213, 1], "image_id": 108236, "bbox": [51.08, 202.55, 37.95, 94.88], "category_id": 1, "id": 141119}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [177, 279, 2, 109, 282, 2, 189, 323, 1, 98, 324, 2, 167, 336, 2, 96, 334, 2, 170, 353, 1, 107, 350, 2, 130, 357, 2, 47, 363, 2, 136, 459, 2, 56, 458, 2, 132, 219, 1, 138, 268, 1], "image_id": 105556, "bbox": [16.56, 213.37, 164.58, 273.02], "category_id": 1, "id": 141137}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [70, 162, 2, 23, 177, 2, 104, 192, 2, 5, 215, 2, 101, 221, 2, 0, 0, 0, 83, 234, 2, 52, 258, 2, 118, 292, 2, 36, 294, 2, 143, 333, 2, 39, 341, 2, 39, 111, 1, 43, 161, 1], "image_id": 103268, "bbox": [0, 101.65, 163.6, 266.16], "category_id": 1, "id": 141159}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [401, 83, 2, 360, 88, 2, 409, 110, 2, 354, 112, 2, 394, 132, 2, 373, 139, 2, 392, 144, 2, 371, 144, 2, 401, 174, 1, 378, 197, 1, 365, 176, 2, 384, 225, 1, 377, 51, 1, 379, 77, 1], "image_id": 105035, "bbox": [351.89, 43.37, 63.28, 198.76], "category_id": 1, "id": 141182}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [344, 92, 2, 302, 89, 1, 354, 126, 2, 0, 0, 0, 331, 134, 2, 0, 0, 0, 331, 168, 2, 303, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 45, 1, 323, 81, 1], "image_id": 106076, "bbox": [311.8, 43.73, 46.21, 167.55], "category_id": 1, "id": 141183}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 90, 1, 472, 105, 1], "image_id": 108202, "bbox": [462.53, 89.4, 28.67, 28.1], "category_id": 1, "id": 141247}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104930, "bbox": [628.28, 231.44, 10.28, 170.09], "category_id": 1, "id": 141253}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 625, 441, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [603.64, 425.99, 35.77, 54.01], "category_id": 1, "id": 141261}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [405, 119, 2, 361, 126, 2, 414, 185, 2, 362, 189, 2, 368, 157, 2, 352, 152, 2, 419, 247, 2, 391, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 70, 1, 381, 112, 1], "image_id": 103281, "bbox": [335.58, 58.56, 93.58, 215.77], "category_id": 1, "id": 141274}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [199, 57, 2, 165, 57, 2, 201, 90, 1, 155, 87, 2, 178, 74, 2, 154, 62, 2, 188, 100, 1, 160, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 23, 1, 180, 50, 1], "image_id": 107575, "bbox": [148.7, 20.36, 58.23, 73.52], "category_id": 1, "id": 141290}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 263, 1, 137, 267, 1], "image_id": 105787, "bbox": [131.43, 262.45, 12.07, 28.8], "category_id": 1, "id": 141295}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [522, 55, 2, 483, 59, 2, 522, 95, 2, 475, 93, 2, 492, 96, 2, 0, 0, 0, 506, 117, 1, 480, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 488, 17, 1, 498, 50, 1], "image_id": 102880, "bbox": [463.54, 13.79, 67.83, 96.39], "category_id": 1, "id": 141322}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 166, 1, 406, 178, 1], "image_id": 106047, "bbox": [396.06, 166.69, 17.19, 28.5], "category_id": 1, "id": 141344}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 213, 1, 61, 225, 1], "image_id": 103313, "bbox": [51.06, 212.58, 24.22, 20.37], "category_id": 1, "id": 141346}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 99, 1, 362, 104, 1], "image_id": 108412, "bbox": [356.36, 98.88, 11.58, 33.79], "category_id": 1, "id": 141360}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 90, 1, 406, 94, 1], "image_id": 108412, "bbox": [401.77, 89.25, 5.84, 22.22], "category_id": 1, "id": 141376}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103782, "bbox": [134.07, 189.12, 33.65, 37.8], "category_id": 1, "id": 141389}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [509, 80, 2, 475, 79, 2, 515, 109, 2, 468, 109, 2, 515, 136, 2, 477, 135, 2, 505, 152, 2, 481, 152, 2, 500, 185, 2, 477, 183, 2, 501, 231, 2, 463, 231, 1, 494, 44, 1, 490, 70, 1], "image_id": 105035, "bbox": [459.7, 39.07, 63.83, 202.48], "category_id": 1, "id": 141409}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [306, 305, 2, 267, 296, 2, 315, 326, 2, 262, 270, 2, 321, 349, 2, 263, 238, 2, 302, 369, 1, 271, 370, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 266, 1, 291, 294, 1], "image_id": 107504, "bbox": [253.32, 208.46, 82.52, 163.13], "category_id": 1, "id": 141423}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [247, 266, 2, 225, 267, 2, 254, 284, 1, 221, 282, 2, 241, 293, 2, 234, 302, 2, 244, 307, 2, 228, 307, 2, 243, 334, 2, 231, 335, 2, 244, 358, 2, 231, 358, 2, 233, 244, 1, 234, 263, 1], "image_id": 104997, "bbox": [218.73, 242.82, 35.37, 126.54], "category_id": 1, "id": 141434}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [213, 185, 1, 152, 184, 2, 236, 182, 1, 124, 191, 1, 0, 0, 0, 0, 0, 0, 202, 254, 1, 163, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 148, 1, 183, 180, 1], "image_id": 107504, "bbox": [142.59, 141.5, 72.85, 82.09], "category_id": 1, "id": 141447}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 91, 1, 178, 107, 1], "image_id": 107168, "bbox": [166.04, 89.61, 25.17, 37.42], "category_id": 1, "id": 141455}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [581, 140, 2, 556, 143, 2, 604, 158, 2, 552, 174, 2, 587, 174, 2, 550, 192, 2, 574, 203, 2, 557, 201, 2, 577, 234, 2, 559, 229, 2, 584, 268, 2, 568, 263, 2, 560, 115, 1, 568, 139, 1], "image_id": 104097, "bbox": [546.64, 113.23, 63.02, 161.66], "category_id": 1, "id": 141458}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [361, 216, 2, 368, 214, 2, 358, 228, 2, 366, 225, 2, 0, 0, 0, 377, 232, 2, 362, 244, 2, 368, 243, 2, 363, 265, 2, 383, 258, 2, 351, 283, 2, 384, 285, 2, 368, 198, 1, 367, 208, 1], "image_id": 105960, "bbox": [346.03, 196.98, 50.09, 97.4], "category_id": 1, "id": 141460}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [442, 164, 2, 487, 165, 2, 433, 199, 2, 489, 204, 2, 433, 228, 2, 495, 237, 1, 441, 235, 2, 475, 236, 1, 442, 276, 1, 481, 282, 2, 444, 325, 2, 483, 332, 2, 468, 122, 1, 465, 150, 1], "image_id": 104097, "bbox": [426.19, 120.54, 79.64, 229.24], "category_id": 1, "id": 141509}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [313, 50, 2, 299, 51, 2, 326, 67, 2, 289, 66, 1, 325, 85, 2, 293, 49, 1, 313, 83, 2, 300, 87, 1, 319, 110, 2, 298, 113, 2, 318, 136, 2, 298, 132, 2, 306, 30, 1, 306, 46, 1], "image_id": 105608, "bbox": [288.15, 26.8, 42.77, 126.82], "category_id": 1, "id": 141528}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [172, 248, 2, 135, 245, 2, 179, 277, 2, 128, 269, 1, 182, 303, 2, 136, 303, 2, 171, 301, 2, 144, 302, 2, 168, 341, 2, 144, 341, 2, 168, 380, 2, 139, 381, 2, 160, 214, 1, 154, 239, 1], "image_id": 104747, "bbox": [126.66, 206.97, 60.83, 191.89], "category_id": 1, "id": 141529}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [432, 254, 2, 390, 252, 2, 436, 286, 1, 390, 283, 2, 0, 0, 0, 0, 0, 0, 421, 306, 2, 398, 304, 2, 425, 365, 2, 405, 364, 2, 421, 413, 2, 408, 411, 2, 411, 211, 1, 411, 242, 1], "image_id": 107357, "bbox": [376.76, 205.33, 68.77, 220.83], "category_id": 1, "id": 141532}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [403, 235, 2, 375, 233, 1, 403, 266, 2, 0, 0, 0, 381, 278, 2, 0, 0, 0, 413, 279, 2, 0, 0, 0, 396, 284, 2, 0, 0, 0, 409, 318, 2, 0, 0, 0, 386, 199, 1, 389, 226, 1], "image_id": 106366, "bbox": [369.36, 198.67, 52.24, 130.59], "category_id": 1, "id": 141535}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 417, 1], "image_id": 104072, "bbox": [295.24, 418.54, 23.32, 36.86], "category_id": 1, "id": 141550}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108202, "bbox": [90.84, 192.15, 4.24, 6.99], "category_id": 1, "id": 141569}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103782, "bbox": [0, 164.6, 15.48, 74.1], "category_id": 1, "id": 141607}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [585, 325, 2, 563, 322, 2, 586, 344, 2, 559, 343, 2, 582, 356, 2, 574, 351, 2, 570, 346, 2, 551, 349, 2, 596, 349, 2, 564, 355, 2, 0, 0, 0, 0, 0, 0, 576, 304, 1, 572, 323, 1], "image_id": 105789, "bbox": [546.13, 305.23, 54.21, 58.44], "category_id": 1, "id": 141611}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 234, 1, 149, 237, 1], "image_id": 103043, "bbox": [142.88, 233.1, 10.41, 28.98], "category_id": 1, "id": 141636}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [427, 52, 1, 381, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 151, 2, 387, 150, 2, 426, 219, 2, 398, 220, 2, 433, 268, 2, 407, 273, 2, 402, 5, 1, 402, 49, 1], "image_id": 106076, "bbox": [365.53, 4, 71.06, 286.98], "category_id": 1, "id": 141646}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107357, "bbox": [263.5, 195.35, 20.32, 27.85], "category_id": 1, "id": 141650}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [317, 43, 2, 276, 44, 2, 0, 0, 0, 247, 76, 1, 0, 0, 0, 269, 55, 2, 313, 106, 2, 276, 107, 1, 324, 75, 1, 287, 60, 2, 335, 139, 2, 0, 0, 0, 296, 1, 1, 295, 35, 1], "image_id": 106983, "bbox": [247.97, 0, 95.41, 163.03], "category_id": 1, "id": 141652}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [16, 133, 2, 0, 0, 0, 30, 171, 2, 0, 0, 0, 38, 203, 2, 0, 0, 0, 19, 223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103682, "bbox": [0, 87.57, 45.97, 158.18], "category_id": 1, "id": 141654}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [307, 273, 2, 284, 274, 2, 0, 0, 0, 0, 0, 0, 294, 308, 2, 291, 309, 2, 300, 299, 2, 290, 302, 2, 298, 338, 2, 288, 339, 2, 294, 367, 1, 286, 367, 2, 296, 253, 1, 296, 269, 1], "image_id": 104997, "bbox": [278.21, 250.89, 37.94, 121.98], "category_id": 1, "id": 141669}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [284, 36, 1, 265, 35, 2, 0, 0, 0, 255, 50, 2, 0, 0, 0, 251, 65, 2, 276, 69, 1, 263, 67, 2, 264, 89, 2, 262, 94, 2, 253, 113, 1, 259, 117, 2, 279, 12, 1, 277, 29, 1], "image_id": 107361, "bbox": [247.88, 13.56, 38.57, 108.46], "category_id": 1, "id": 141700}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 19, 163, 2, 0, 0, 0, 24, 181, 2, 0, 0, 0, 22, 195, 2, 0, 0, 0, 6, 207, 2, 0, 0, 0, 19, 194, 2, 0, 0, 0, 0, 0, 0, 14, 138, 1, 9, 154, 1], "image_id": 105183, "bbox": [0, 134.89, 29.4, 77.02], "category_id": 1, "id": 141701}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [449, 117, 2, 413, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 83, 1, 430, 110, 1], "image_id": 104759, "bbox": [417.41, 82.68, 42.56, 74.48], "category_id": 1, "id": 141750}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 216, 1, 102, 235, 1], "image_id": 105960, "bbox": [76.86, 202.6, 26.93, 58.23], "category_id": 1, "id": 141769}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 286, 1, 211, 296, 1], "image_id": 105787, "bbox": [193.39, 285.3, 24.85, 33.89], "category_id": 1, "id": 141778}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [380, 239, 2, 324, 238, 1, 388, 280, 2, 318, 283, 1, 371, 304, 2, 345, 302, 1, 381, 306, 2, 332, 308, 1, 394, 323, 2, 0, 0, 0, 398, 388, 1, 0, 0, 0, 353, 178, 1, 349, 224, 1], "image_id": 108109, "bbox": [335.15, 174.55, 73.92, 243.45], "category_id": 1, "id": 141781}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [165, 304, 2, 189, 300, 2, 160, 320, 2, 191, 312, 2, 0, 0, 0, 0, 0, 0, 169, 331, 2, 183, 330, 2, 166, 363, 2, 183, 363, 2, 165, 382, 1, 183, 383, 2, 172, 280, 1, 176, 296, 1], "image_id": 107115, "bbox": [157.14, 275.47, 41.1, 126.95], "category_id": 1, "id": 141794}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 200, 1, 268, 207, 1], "image_id": 105134, "bbox": [260.33, 200.63, 16.16, 50.22], "category_id": 1, "id": 141807}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [118, 165, 1, 136, 164, 2, 112, 177, 1, 142, 175, 2, 0, 0, 0, 0, 0, 0, 127, 182, 2, 138, 182, 2, 125, 208, 1, 140, 207, 2, 0, 0, 0, 0, 0, 0, 123, 152, 1, 126, 160, 1], "image_id": 106047, "bbox": [113.35, 151.65, 32.29, 56.59], "category_id": 1, "id": 141810}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 179, 1, 0, 0, 0], "image_id": 107357, "bbox": [290.37, 173.01, 21.45, 39.12], "category_id": 1, "id": 141816}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [316, 266, 2, 258, 282, 2, 0, 0, 0, 257, 337, 2, 0, 0, 0, 283, 354, 2, 309, 334, 2, 281, 340, 2, 351, 395, 2, 255, 361, 2, 310, 419, 2, 260, 445, 2, 272, 230, 1, 287, 268, 1], "image_id": 105556, "bbox": [238.74, 222.4, 126.3, 261.53], "category_id": 1, "id": 141823}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [72, 211, 2, 41, 200, 2, 0, 0, 0, 62, 257, 2, 0, 0, 0, 100, 257, 2, 73, 304, 2, 48, 308, 2, 72, 368, 2, 58, 373, 2, 75, 433, 2, 56, 441, 2, 72, 146, 1, 54, 189, 1], "image_id": 104747, "bbox": [14.67, 133.56, 107.17, 336.12], "category_id": 1, "id": 141834}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 102, 1, 287, 122, 1], "image_id": 107273, "bbox": [266.67, 103.01, 28.32, 52.3], "category_id": 1, "id": 141857}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [376, 80, 2, 372, 77, 2, 377, 98, 2, 0, 0, 0, 370, 120, 2, 0, 0, 0, 373, 125, 2, 372, 124, 2, 369, 148, 2, 367, 147, 2, 374, 182, 1, 367, 181, 2, 366, 55, 1, 370, 73, 1], "image_id": 102551, "bbox": [355.06, 52.03, 32.3, 136.47], "category_id": 1, "id": 141859}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [534, 241, 2, 502, 241, 2, 545, 278, 2, 488, 273, 2, 526, 269, 2, 494, 274, 2, 521, 282, 2, 508, 282, 2, 534, 351, 2, 505, 350, 2, 537, 402, 2, 502, 401, 2, 511, 203, 1, 516, 235, 1], "image_id": 107357, "bbox": [480.4, 196.61, 73.6, 227.61], "category_id": 1, "id": 141865}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 273, 1, 185, 283, 1], "image_id": 105787, "bbox": [176.53, 269.89, 21.93, 45.62], "category_id": 1, "id": 141888}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 411, 1, 423, 414, 1], "image_id": 105975, "bbox": [420.93, 411.6, 5.85, 24.88], "category_id": 1, "id": 141890}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [598, 225, 2, 593, 227, 2, 0, 0, 0, 589, 244, 2, 0, 0, 0, 604, 242, 2, 596, 262, 2, 595, 262, 2, 587, 286, 2, 608, 291, 1, 574, 311, 1, 617, 313, 1, 596, 206, 1, 597, 221, 1], "image_id": 103313, "bbox": [583.41, 203.42, 26.86, 99.8], "category_id": 1, "id": 141899}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [510, 421, 2, 477, 423, 2, 515, 447, 2, 467, 438, 2, 519, 467, 2, 468, 447, 2, 498, 462, 2, 479, 462, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 396, 1, 495, 417, 1], "image_id": 107115, "bbox": [463.82, 389.99, 58.57, 90.01], "category_id": 1, "id": 141929}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [210, 171, 2, 141, 170, 2, 221, 213, 1, 0, 0, 0, 205, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108109, "bbox": [135.06, 159.2, 87.02, 51.34], "category_id": 1, "id": 141942}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [87, 95, 2, 63, 94, 2, 92, 114, 2, 67, 119, 2, 99, 120, 2, 91, 120, 2, 94, 130, 2, 77, 132, 2, 111, 136, 2, 110, 133, 2, 127, 143, 2, 132, 133, 2, 78, 69, 1, 75, 90, 1], "image_id": 104772, "bbox": [56.38, 66.6, 84.07, 82.32], "category_id": 1, "id": 141950}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 213, 1, 59, 225, 1], "image_id": 103313, "bbox": [28.64, 199.88, 30.77, 105.78], "category_id": 1, "id": 141960}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 536, 394, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 339, 1, 0, 0, 0], "image_id": 104400, "bbox": [543.64, 331.42, 69.03, 48.54], "category_id": 1, "id": 141964}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [146, 257, 2, 94, 263, 2, 171, 291, 2, 121, 292, 2, 187, 279, 2, 166, 282, 2, 146, 354, 1, 98, 364, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 193, 1, 120, 247, 1], "image_id": 103355, "bbox": [79.12, 184.26, 144.16, 174.51], "category_id": 1, "id": 141976}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107357, "bbox": [306.2, 189.07, 33.25, 35.83], "category_id": 1, "id": 141985}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [253, 64, 2, 224, 66, 2, 259, 91, 2, 209, 94, 1, 265, 112, 2, 0, 0, 0, 248, 114, 2, 232, 114, 2, 239, 136, 2, 246, 145, 2, 223, 164, 2, 254, 181, 2, 241, 32, 1, 239, 57, 1], "image_id": 105506, "bbox": [212.09, 16.4, 62.35, 177.2], "category_id": 1, "id": 141987}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [403, 125, 2, 315, 137, 2, 439, 191, 2, 280, 221, 2, 481, 198, 2, 334, 259, 1, 432, 315, 2, 391, 325, 2, 445, 393, 1, 405, 407, 2, 0, 0, 0, 0, 0, 0, 349, 46, 1, 362, 121, 1], "image_id": 108100, "bbox": [264.84, 32.86, 272.51, 388.62], "category_id": 1, "id": 141989}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [99, 184, 2, 118, 183, 2, 93, 194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 204, 2, 113, 205, 2, 88, 206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 164, 1, 109, 176, 1], "image_id": 106047, "bbox": [85.06, 164.34, 36.78, 59.29], "category_id": 1, "id": 141992}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [445, 151, 2, 482, 135, 2, 422, 155, 2, 470, 107, 1, 401, 151, 2, 452, 92, 1, 477, 198, 1, 506, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 117, 1, 460, 133, 1], "image_id": 108397, "bbox": [389, 114.19, 122.2, 79.66], "category_id": 1, "id": 141995}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [328, 164, 2, 298, 163, 1, 337, 174, 2, 0, 0, 0, 339, 182, 1, 0, 0, 0, 323, 195, 2, 303, 194, 1, 326, 215, 2, 287, 214, 1, 326, 241, 1, 275, 241, 2, 0, 0, 0, 313, 154, 1], "image_id": 108139, "bbox": [265.27, 157.35, 78.17, 94.2], "category_id": 1, "id": 141999}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [474, 194, 2, 451, 193, 1, 487, 208, 2, 0, 0, 0, 479, 213, 2, 0, 0, 0, 464, 221, 2, 444, 219, 1, 457, 217, 2, 0, 0, 0, 455, 247, 2, 0, 0, 0, 464, 173, 1, 461, 191, 1], "image_id": 107023, "bbox": [445.07, 170.28, 46.91, 84.94], "category_id": 1, "id": 142006}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [442, 197, 2, 494, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 257, 1, 483, 260, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 140, 1, 471, 184, 1], "image_id": 107273, "bbox": [434.48, 130.77, 60.03, 99.1], "category_id": 1, "id": 142029}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [365, 88, 1, 349, 89, 2, 0, 0, 0, 346, 104, 1, 0, 0, 0, 356, 105, 2, 366, 116, 1, 351, 116, 2, 363, 144, 2, 354, 144, 2, 365, 164, 1, 356, 163, 2, 356, 65, 1, 359, 82, 1], "image_id": 102551, "bbox": [341.25, 66.17, 27.1, 103.99], "category_id": 1, "id": 142030}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 63, 1, 405, 69, 1], "image_id": 107168, "bbox": [397.13, 61.83, 13.68, 23.84], "category_id": 1, "id": 142031}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [452, 93, 2, 441, 92, 2, 455, 105, 2, 438, 106, 2, 444, 99, 2, 437, 114, 2, 450, 116, 2, 440, 117, 2, 448, 137, 2, 440, 136, 2, 455, 159, 2, 443, 159, 2, 449, 74, 1, 447, 88, 1], "image_id": 102551, "bbox": [434.68, 70.05, 24.94, 93.07], "category_id": 1, "id": 142037}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [279, 446, 2, 254, 447, 1, 280, 467, 2, 0, 0, 0, 281, 479, 2, 0, 0, 0, 274, 485, 1, 260, 486, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 418, 1, 265, 438, 1], "image_id": 105778, "bbox": [254.21, 418.6, 32.14, 73.92], "category_id": 1, "id": 142040}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [194, 457, 2, 111, 434, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 350, 1, 164, 428, 1], "image_id": 104400, "bbox": [66.29, 341.71, 146.03, 138.29], "category_id": 1, "id": 142044}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 269, 2, 350, 268, 2, 379, 297, 2, 339, 287, 2, 376, 321, 2, 319, 303, 2, 362, 314, 2, 352, 303, 2, 322, 314, 2, 318, 310, 2, 351, 316, 2, 346, 308, 2, 362, 240, 1, 360, 264, 1], "image_id": 106366, "bbox": [286.83, 238.24, 96.02, 92.66], "category_id": 1, "id": 142050}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [614, 85, 2, 581, 95, 1, 625, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 53, 1, 597, 81, 1], "image_id": 108100, "bbox": [580.19, 53.29, 53.43, 81.89], "category_id": 1, "id": 142051}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 230, 180, 2, 0, 0, 0, 230, 195, 2, 0, 0, 0, 0, 0, 0, 238, 203, 2, 228, 202, 2, 242, 202, 2, 231, 204, 2, 235, 232, 2, 222, 235, 2, 0, 0, 0, 239, 174, 1], "image_id": 107023, "bbox": [214.91, 168.57, 34.61, 75.14], "category_id": 1, "id": 142069}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [68, 240, 2, 32, 229, 1, 44, 268, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 293, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 189, 1, 44, 226, 1], "image_id": 103778, "bbox": [25.25, 183.26, 53.57, 136.09], "category_id": 1, "id": 142076}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [235, 283, 1, 212, 278, 2, 0, 0, 0, 206, 302, 2, 0, 0, 0, 203, 322, 2, 227, 324, 1, 212, 324, 2, 228, 354, 1, 217, 356, 2, 234, 385, 2, 221, 383, 2, 224, 248, 1, 224, 273, 1], "image_id": 107357, "bbox": [199.26, 242.94, 44.61, 154.79], "category_id": 1, "id": 142088}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [160, 210, 2, 133, 212, 2, 166, 235, 2, 125, 237, 2, 151, 249, 2, 137, 248, 2, 152, 244, 2, 138, 244, 2, 143, 263, 2, 124, 263, 2, 141, 305, 2, 126, 305, 2, 146, 181, 1, 144, 205, 1], "image_id": 106366, "bbox": [110.31, 179.49, 61.7, 134.61], "category_id": 1, "id": 142090}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 211, 240, 2, 0, 0, 0, 218, 252, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 274, 2, 0, 0, 0, 210, 300, 2, 0, 0, 0, 209, 326, 2, 205, 217, 1, 203, 231, 1], "image_id": 104478, "bbox": [197.61, 214.94, 25.39, 133.77], "category_id": 1, "id": 142104}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 234, 1, 454, 238, 1], "image_id": 103043, "bbox": [446.31, 235.48, 12.89, 26.55], "category_id": 1, "id": 142110}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105778, "bbox": [78.6, 503.08, 29.61, 50.34], "category_id": 1, "id": 142139}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [458, 190, 2, 440, 190, 1, 462, 199, 2, 438, 199, 1, 465, 208, 2, 0, 0, 0, 453, 208, 2, 444, 210, 2, 453, 225, 2, 441, 227, 2, 459, 242, 2, 431, 239, 2, 447, 173, 1, 449, 187, 1], "image_id": 107117, "bbox": [426.55, 169.99, 40.73, 75.16], "category_id": 1, "id": 142151}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 457, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 3, 1, 0, 0, 0], "image_id": 106983, "bbox": [454.17, 0, 37.04, 43.92], "category_id": 1, "id": 142153}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [441, 185, 1, 409, 186, 2, 0, 0, 0, 417, 226, 2, 0, 0, 0, 451, 204, 1, 441, 246, 1, 415, 256, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 434, 143, 1, 427, 176, 1], "image_id": 107273, "bbox": [397.13, 142.26, 52.26, 88.12], "category_id": 1, "id": 142160}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 166, 1, 382, 178, 1], "image_id": 106047, "bbox": [373.3, 163.93, 31.18, 30.73], "category_id": 1, "id": 142163}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 166, 1, 546, 182, 1], "image_id": 105147, "bbox": [535.33, 164.85, 33.61, 61.5], "category_id": 1, "id": 142168}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [115, 223, 2, 97, 222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 205, 1, 106, 219, 1], "image_id": 103313, "bbox": [92.11, 202.2, 32.74, 113.63], "category_id": 1, "id": 142174}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [272, 409, 1, 284, 391, 2, 222, 443, 2, 0, 0, 0, 0, 0, 0, 248, 436, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 350, 1, 273, 402, 1], "image_id": 106060, "bbox": [211.26, 340.52, 93.85, 111.68], "category_id": 1, "id": 142178}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 521, 109, 2, 0, 0, 0, 523, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, 78, 1, 536, 103, 1], "image_id": 108100, "bbox": [513.76, 73.73, 28.28, 74.68], "category_id": 1, "id": 142193}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 411, 1, 184, 415, 1], "image_id": 105975, "bbox": [179.31, 409.87, 10.92, 28.99], "category_id": 1, "id": 142205}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [92, 73, 2, 29, 78, 2, 0, 0, 0, 25, 128, 2, 0, 0, 0, 15, 169, 2, 73, 155, 1, 51, 159, 2, 0, 0, 0, 37, 224, 2, 0, 0, 0, 0, 0, 0, 57, 23, 1, 59, 69, 1], "image_id": 106076, "bbox": [0, 15.98, 113.97, 276.94], "category_id": 1, "id": 142233}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [195, 325, 2, 0, 0, 0, 190, 351, 2, 0, 0, 0, 179, 367, 2, 0, 0, 0, 189, 370, 2, 204, 370, 2, 182, 403, 2, 197, 400, 2, 0, 0, 0, 0, 0, 0, 194, 298, 1, 198, 315, 1], "image_id": 103382, "bbox": [166.96, 291.7, 49.9, 130.5], "category_id": 1, "id": 142235}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454, 293, 1, 453, 300, 1], "image_id": 107276, "bbox": [444.06, 292.65, 17.72, 55.24], "category_id": 1, "id": 142236}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [581, 93, 2, 556, 93, 2, 593, 122, 2, 540, 119, 2, 595, 148, 2, 556, 120, 2, 577, 156, 2, 558, 156, 2, 577, 192, 1, 556, 190, 1, 580, 237, 1, 553, 233, 1, 570, 64, 1, 570, 89, 1], "image_id": 105035, "bbox": [536.89, 58.05, 69.79, 134.86], "category_id": 1, "id": 142241}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 16, 1, 86, 24, 1], "image_id": 107168, "bbox": [71, 16.18, 19.07, 47.41], "category_id": 1, "id": 142252}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [0, 0, 0, 431, 219, 2, 433, 233, 2, 419, 227, 2, 442, 233, 2, 426, 237, 2, 418, 245, 2, 424, 245, 2, 411, 263, 2, 443, 259, 2, 385, 267, 1, 442, 282, 2, 438, 204, 1, 434, 216, 1], "image_id": 105960, "bbox": [388.25, 201.75, 73.33, 88.72], "category_id": 1, "id": 142256}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [40, 91, 2, 13, 91, 2, 45, 108, 2, 12, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 73, 1, 25, 89, 1], "image_id": 104772, "bbox": [5.72, 69.15, 56.78, 79.75], "category_id": 1, "id": 142273}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [195, 10, 1, 157, 9, 2, 203, 50, 2, 140, 63, 2, 210, 85, 2, 147, 103, 2, 196, 73, 2, 163, 73, 2, 215, 135, 2, 167, 142, 1, 215, 188, 2, 168, 187, 2, 0, 0, 0, 172, 3, 1], "image_id": 105506, "bbox": [131.66, 0, 112.75, 213.28], "category_id": 1, "id": 142279}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 231, 1], "image_id": 104478, "bbox": [265.12, 220.5, 15.37, 24.4], "category_id": 1, "id": 142309}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [141, 91, 2, 123, 91, 2, 154, 105, 2, 120, 108, 2, 0, 0, 0, 122, 122, 2, 146, 116, 2, 130, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 69, 1, 132, 88, 1], "image_id": 104772, "bbox": [115.09, 67.45, 53.36, 78.57], "category_id": 1, "id": 142313}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 195, 1, 548, 198, 1], "image_id": 107117, "bbox": [542.4, 195.01, 9.34, 15.54], "category_id": 1, "id": 142328}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [278, 37, 2, 0, 0, 0, 274, 56, 2, 0, 0, 0, 274, 85, 2, 0, 0, 0, 279, 63, 2, 0, 0, 0, 265, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 12, 1, 290, 31, 1], "image_id": 107361, "bbox": [257.39, 9.15, 48.17, 123.71], "category_id": 1, "id": 142331}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [93, 244, 2, 55, 243, 2, 96, 275, 2, 43, 269, 2, 93, 294, 2, 43, 285, 2, 80, 305, 2, 50, 306, 2, 80, 329, 2, 42, 331, 2, 81, 350, 2, 34, 352, 2, 78, 210, 1, 77, 234, 1], "image_id": 104425, "bbox": [13.47, 207.75, 92.33, 156.77], "category_id": 1, "id": 142358}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 74, 1, 612, 84, 1], "image_id": 108412, "bbox": [592.87, 74.94, 29.91, 35.35], "category_id": 1, "id": 142366}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104478, "bbox": [312.12, 222.79, 17.42, 41.85], "category_id": 1, "id": 142375}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 595, 39, 2, 0, 0, 0, 580, 80, 2, 614, 122, 2, 586, 118, 2, 627, 107, 2, 589, 106, 2, 617, 171, 1, 590, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 32, 1], "image_id": 102880, "bbox": [574.92, 1.08, 63.64, 162.88], "category_id": 1, "id": 142416}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [515, 160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 112, 1, 499, 156, 1], "image_id": 102964, "bbox": [486.67, 110.61, 75.02, 208.71], "category_id": 1, "id": 142428}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [244, 202, 2, 173, 211, 2, 276, 256, 2, 176, 283, 1, 274, 228, 2, 222, 275, 2, 239, 297, 1, 197, 302, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 127, 1, 207, 185, 1], "image_id": 108296, "bbox": [167.04, 110.59, 123.59, 187.72], "category_id": 1, "id": 142445}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [353, 148, 2, 338, 148, 2, 360, 161, 2, 0, 0, 0, 351, 165, 2, 0, 0, 0, 352, 176, 2, 341, 176, 2, 352, 200, 2, 339, 200, 2, 352, 224, 2, 343, 224, 2, 342, 129, 1, 345, 143, 1], "image_id": 108139, "bbox": [329.27, 126.53, 34.31, 106.71], "category_id": 1, "id": 142446}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 185, 1, 619, 195, 1], "image_id": 107117, "bbox": [608.36, 181.34, 29.34, 56.9], "category_id": 1, "id": 142451}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [5.39, 389.39, 65.8, 84.14], "category_id": 1, "id": 142459}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [209, 420, 2, 257, 420, 2, 190, 453, 2, 272, 451, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 373, 1, 231, 406, 1], "image_id": 103625, "bbox": [189.18, 368.42, 92.41, 89.32], "category_id": 1, "id": 142461}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 459, 2, 0, 0, 0, 261, 398, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [199.16, 347.9, 103.22, 132.1], "category_id": 1, "id": 142470}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [233, 118, 2, 0, 0, 0, 228, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 98, 1, 235, 113, 1], "image_id": 107720, "bbox": [225.65, 96.31, 25.84, 96.41], "category_id": 1, "id": 142485}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [390, 264, 2, 338, 281, 2, 447, 286, 2, 343, 340, 2, 455, 336, 2, 379, 343, 2, 397, 335, 2, 369, 340, 2, 463, 357, 2, 372, 366, 2, 437, 433, 2, 377, 438, 2, 346, 237, 1, 364, 270, 1], "image_id": 105556, "bbox": [326, 226.46, 145.19, 246.72], "category_id": 1, "id": 142499}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [612, 138, 2, 521, 137, 2, 623, 219, 2, 474, 198, 2, 603, 276, 2, 422, 244, 2, 594, 267, 2, 538, 263, 2, 587, 367, 1, 539, 369, 1, 0, 0, 0, 0, 0, 0, 554, 55, 1, 563, 126, 1], "image_id": 105485, "bbox": [391.62, 54.93, 248.38, 280.6], "category_id": 1, "id": 142504}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [576, 183, 2, 507, 183, 2, 587, 224, 2, 498, 230, 2, 577, 236, 2, 515, 235, 2, 556, 281, 2, 519, 281, 2, 556, 349, 2, 512, 345, 1, 557, 424, 2, 508, 418, 1, 532, 126, 1, 539, 171, 1], "image_id": 105556, "bbox": [486.48, 113.97, 108.44, 329.97], "category_id": 1, "id": 142530}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [69, 216, 2, 39, 216, 2, 79, 234, 2, 40, 236, 2, 0, 0, 0, 50, 247, 2, 72, 261, 1, 50, 263, 1, 0, 0, 0, 65, 279, 1, 0, 0, 0, 0, 0, 0, 55, 189, 1, 54, 212, 1], "image_id": 103362, "bbox": [28.27, 182.45, 58.22, 72.3], "category_id": 1, "id": 142541}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 423, 1, 209, 436, 1], "image_id": 104072, "bbox": [208.01, 424.09, 13.33, 50.63], "category_id": 1, "id": 142542}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 539, 1], "image_id": 106426, "bbox": [398.19, 539.29, 9.97, 34.07], "category_id": 1, "id": 142556}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [177, 259, 2, 169, 257, 2, 177, 270, 2, 165, 269, 2, 174, 264, 2, 166, 261, 2, 174, 279, 2, 167, 278, 2, 172, 293, 2, 164, 293, 2, 173, 308, 2, 162, 312, 2, 175, 244, 1, 175, 255, 1], "image_id": 105787, "bbox": [157.67, 250.97, 24.52, 70.59], "category_id": 1, "id": 142580}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 254, 2, 308, 255, 2, 334, 274, 2, 303, 269, 1, 336, 294, 2, 307, 294, 1, 322, 291, 2, 313, 294, 1, 325, 317, 2, 312, 318, 1, 326, 348, 2, 311, 348, 2, 314, 233, 1, 316, 251, 1], "image_id": 104997, "bbox": [303.66, 231.6, 33.74, 135.9], "category_id": 1, "id": 142586}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105183, "bbox": [473.51, 151.56, 7.28, 20.82], "category_id": 1, "id": 142611}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [405, 321, 2, 379, 324, 2, 408, 334, 2, 371, 335, 2, 400, 317, 2, 371, 318, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 293, 1, 392, 317, 1], "image_id": 102920, "bbox": [366.7, 293.82, 43.38, 49.15], "category_id": 1, "id": 142653}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 291, 1, 332, 299, 1], "image_id": 107276, "bbox": [320.49, 290.99, 24.85, 37.04], "category_id": 1, "id": 142669}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [372, 250, 2, 354, 250, 2, 382, 279, 2, 0, 0, 0, 367, 301, 2, 0, 0, 0, 372, 296, 2, 355, 295, 1, 375, 349, 2, 357, 347, 1, 372, 392, 2, 363, 388, 2, 360, 214, 1, 366, 241, 1], "image_id": 107357, "bbox": [350.61, 208.24, 39.71, 202.42], "category_id": 1, "id": 142688}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 482, 94, 1, 482, 98, 1], "image_id": 108412, "bbox": [477.08, 94.32, 8.88, 28.61], "category_id": 1, "id": 142689}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [50, 428, 2, 24, 401, 2, 0, 0, 0, 42, 424, 2, 0, 0, 0, 66, 452, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 390, 1, 46, 408, 1], "image_id": 103625, "bbox": [0, 377.71, 82.72, 102.29], "category_id": 1, "id": 142707}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [519, 124, 2, 435, 161, 2, 559, 189, 2, 405, 215, 2, 572, 258, 2, 381, 258, 2, 529, 300, 2, 469, 298, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 64, 1, 466, 124, 1], "image_id": 106256, "bbox": [353.49, 52.64, 236.74, 274.58], "category_id": 1, "id": 142709}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 18, 1, 628, 28, 1], "image_id": 104772, "bbox": [616.03, 13.43, 21.11, 72.93], "category_id": 1, "id": 142733}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [135, 77, 2, 119, 77, 2, 138, 105, 2, 119, 112, 2, 111, 108, 2, 106, 114, 2, 133, 124, 1, 117, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 47, 1, 125, 70, 1], "image_id": 105035, "bbox": [97.48, 42.65, 54.23, 88.54], "category_id": 1, "id": 142743}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [415, 316, 1, 384, 316, 2, 0, 0, 0, 381, 340, 2, 0, 0, 0, 381, 355, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 275, 1, 403, 305, 1], "image_id": 106255, "bbox": [368.76, 276.08, 48.98, 122.68], "category_id": 1, "id": 142745}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [208, 259, 2, 206, 257, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 276, 2, 206, 275, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 244, 1, 210, 254, 1], "image_id": 105787, "bbox": [198.27, 242.02, 31.89, 75.05], "category_id": 1, "id": 142748}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [251, 194, 2, 213, 193, 1, 286, 197, 1, 169, 190, 1, 0, 0, 0, 0, 0, 0, 244, 257, 2, 223, 258, 2, 240, 311, 2, 220, 310, 1, 0, 0, 0, 0, 0, 0, 229, 152, 1, 232, 184, 1], "image_id": 107504, "bbox": [211.95, 144.56, 51.68, 195.8], "category_id": 1, "id": 142754}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 44, 1, 398, 59, 1], "image_id": 107241, "bbox": [384.02, 42.65, 28.2, 38.01], "category_id": 1, "id": 142763}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [127, 368, 2, 157, 367, 2, 123, 403, 2, 162, 403, 2, 139, 426, 2, 0, 0, 0, 135, 409, 2, 154, 407, 2, 136, 442, 2, 156, 440, 2, 137, 471, 1, 156, 475, 2, 144, 334, 1, 142, 358, 1], "image_id": 107115, "bbox": [115.75, 328.88, 54.06, 151.12], "category_id": 1, "id": 142793}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [268, 140, 2, 249, 139, 2, 272, 152, 2, 245, 153, 2, 271, 162, 2, 247, 167, 2, 266, 171, 1, 252, 171, 2, 265, 190, 1, 252, 190, 1, 265, 209, 1, 0, 0, 0, 260, 123, 1, 259, 135, 1], "image_id": 105147, "bbox": [240.14, 122.05, 36.34, 64.74], "category_id": 1, "id": 142832}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108202, "bbox": [457.55, 113.58, 37.68, 62.44], "category_id": 1, "id": 142834}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [371, 110, 1, 323, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 194, 1, 340, 198, 2, 371, 258, 2, 352, 262, 2, 375, 313, 1, 355, 314, 2, 341, 65, 1, 343, 107, 1], "image_id": 103281, "bbox": [312.36, 58.68, 65.05, 282.86], "category_id": 1, "id": 142859}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104930, "bbox": [339, 198.72, 10.96, 13.47], "category_id": 1, "id": 142860}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [305, 358, 2, 275, 334, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 423, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 277, 1, 295, 331, 1], "image_id": 106060, "bbox": [262.8, 269.46, 73.12, 141.4], "category_id": 1, "id": 142872}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 57, 1, 331, 66, 1], "image_id": 107241, "bbox": [314.89, 55.04, 23.11, 25.81], "category_id": 1, "id": 142876}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106060, "bbox": [219.44, 213.64, 41.99, 51.22], "category_id": 1, "id": 142892}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 196, 2, 316, 197, 2, 333, 208, 2, 313, 207, 2, 333, 216, 2, 315, 216, 2, 327, 218, 2, 320, 218, 2, 326, 230, 2, 319, 230, 2, 326, 241, 2, 319, 243, 2, 323, 179, 1, 323, 192, 1], "image_id": 107117, "bbox": [311.32, 177.82, 26.73, 74.95], "category_id": 1, "id": 142896}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 174, 2, 388, 172, 2, 412, 184, 2, 378, 181, 2, 402, 194, 2, 385, 192, 2, 406, 204, 2, 396, 206, 2, 406, 222, 2, 397, 225, 2, 405, 245, 2, 398, 245, 2, 400, 155, 1, 398, 169, 1], "image_id": 104097, "bbox": [373.4, 150.56, 41.2, 99.43], "category_id": 1, "id": 142901}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [133, 263, 2, 109, 265, 2, 143, 289, 2, 101, 294, 2, 144, 304, 2, 107, 310, 2, 132, 296, 2, 121, 296, 2, 132, 339, 2, 116, 340, 2, 132, 369, 2, 114, 371, 2, 120, 239, 1, 120, 260, 1], "image_id": 104997, "bbox": [93.86, 238.11, 52.33, 145.85], "category_id": 1, "id": 142916}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [468, 170, 2, 461, 165, 2, 486, 184, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 486, 187, 1, 477, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104042, "bbox": [448.21, 136.08, 49.12, 49.11], "category_id": 1, "id": 142917}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106220, "bbox": [482.16, 100.21, 53.34, 79.43], "category_id": 1, "id": 142922}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [182, 325, 2, 159, 325, 2, 189, 341, 2, 158, 345, 2, 176, 357, 2, 186, 354, 2, 175, 355, 2, 166, 355, 2, 0, 0, 0, 176, 353, 2, 0, 0, 0, 201, 360, 2, 168, 297, 1, 168, 322, 1], "image_id": 105789, "bbox": [153.17, 297.72, 57.44, 66.06], "category_id": 1, "id": 142936}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [233, 26, 2, 211, 27, 2, 0, 0, 0, 205, 40, 2, 0, 0, 0, 204, 53, 1, 228, 57, 2, 214, 57, 2, 225, 79, 2, 211, 79, 2, 221, 94, 2, 211, 94, 2, 219, 5, 1, 222, 20, 1], "image_id": 107361, "bbox": [202.79, 0, 34.51, 110.02], "category_id": 1, "id": 142946}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [179, 65, 2, 188, 64, 2, 0, 0, 0, 181, 92, 2, 0, 0, 0, 191, 110, 2, 178, 111, 2, 188, 106, 2, 166, 150, 1, 200, 146, 2, 0, 0, 0, 205, 184, 2, 192, 27, 1, 185, 54, 1], "image_id": 103268, "bbox": [164.4, 23.91, 48.81, 167.98], "category_id": 1, "id": 142947}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [49, 119, 2, 4, 110, 2, 57, 160, 2, 4, 150, 2, 58, 186, 1, 4, 193, 2, 39, 195, 2, 17, 193, 2, 37, 256, 1, 24, 257, 1, 0, 0, 0, 0, 0, 0, 43, 59, 1, 24, 97, 1], "image_id": 106415, "bbox": [1, 52.34, 61.29, 212.99], "category_id": 1, "id": 142948}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 79, 186, 2, 0, 0, 0, 105, 274, 2, 0, 0, 0, 106, 342, 2, 0, 0, 0, 51, 354, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 99, 1, 17, 162, 1], "image_id": 106975, "bbox": [0, 92.48, 124.12, 268.52], "category_id": 1, "id": 142969}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [98, 76, 2, 65, 77, 2, 108, 103, 1, 62, 108, 1, 97, 101, 2, 73, 102, 2, 95, 122, 2, 76, 124, 2, 100, 169, 2, 75, 171, 2, 102, 205, 2, 79, 207, 2, 86, 41, 1, 82, 67, 1], "image_id": 105035, "bbox": [62.93, 38.57, 49.27, 186.33], "category_id": 1, "id": 142976}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [230, 221, 2, 266, 214, 1, 230, 280, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 306, 1, 259, 306, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 165, 1, 244, 202, 1], "image_id": 106975, "bbox": [211.64, 158.89, 54.61, 102.3], "category_id": 1, "id": 142978}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [298, 12, 2, 276, 12, 2, 301, 24, 2, 267, 28, 2, 304, 42, 2, 0, 0, 0, 294, 40, 2, 279, 39, 2, 291, 66, 2, 289, 66, 2, 283, 86, 1, 292, 97, 1, 0, 0, 0, 287, 7, 1], "image_id": 103248, "bbox": [265.93, 0, 42.52, 106.69], "category_id": 1, "id": 142987}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [473, 124, 2, 399, 125, 2, 498, 201, 2, 381, 188, 2, 451, 230, 2, 361, 238, 2, 462, 258, 2, 418, 260, 2, 466, 360, 2, 421, 358, 2, 0, 0, 0, 0, 0, 0, 415, 32, 1, 427, 99, 1], "image_id": 105147, "bbox": [340.01, 23.36, 173.03, 356.45], "category_id": 1, "id": 142994}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106975, "bbox": [89.46, 151.51, 39.12, 69.83], "category_id": 1, "id": 143016}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [274, 157, 2, 247, 150, 2, 277, 203, 2, 254, 186, 2, 294, 212, 1, 291, 187, 2, 274, 238, 2, 256, 235, 2, 275, 297, 1, 252, 295, 2, 277, 349, 1, 244, 348, 2, 283, 110, 1, 263, 143, 1], "image_id": 106415, "bbox": [233.82, 103.87, 70.54, 269.57], "category_id": 1, "id": 143023}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 39, 1, 351, 54, 1], "image_id": 107361, "bbox": [331.48, 37.3, 31.36, 40.05], "category_id": 1, "id": 143026}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 226, 1, 371, 231, 1], "image_id": 108236, "bbox": [363.56, 225.04, 18.71, 41.71], "category_id": 1, "id": 143034}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 569, 205, 2, 0, 0, 0, 543, 230, 2, 0, 0, 0, 572, 246, 1, 556, 278, 2, 546, 283, 2, 602, 301, 2, 531, 331, 1, 578, 349, 2, 504, 367, 1, 580, 171, 1, 582, 203, 1], "image_id": 105787, "bbox": [528.07, 168.02, 89.92, 205.62], "category_id": 1, "id": 143036}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 50, 1], "image_id": 105608, "bbox": [201.27, 36.02, 16.5, 36.03], "category_id": 1, "id": 143038}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [523, 226, 2, 491, 220, 2, 525, 257, 1, 481, 247, 1, 0, 0, 0, 0, 0, 0, 508, 274, 2, 493, 272, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 195, 1, 505, 218, 1], "image_id": 103362, "bbox": [483.85, 187.23, 46.42, 97.58], "category_id": 1, "id": 143046}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [206, 237, 2, 186, 236, 2, 210, 248, 2, 182, 253, 2, 206, 260, 1, 182, 266, 2, 203, 268, 1, 190, 268, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 219, 1, 197, 233, 1], "image_id": 107115, "bbox": [178.68, 214.15, 36.46, 68.98], "category_id": 1, "id": 143073}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 307, 2, 172, 308, 1, 216, 331, 2, 162, 327, 2, 190, 337, 2, 172, 336, 2, 213, 345, 2, 173, 344, 2, 202, 339, 2, 157, 335, 2, 190, 358, 2, 129, 362, 2, 188, 272, 1, 190, 301, 1], "image_id": 104425, "bbox": [115.42, 268.34, 107.72, 96.18], "category_id": 1, "id": 143086}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 153, 1, 625, 159, 1], "image_id": 105134, "bbox": [618.28, 150.27, 14.62, 17.15], "category_id": 1, "id": 143096}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 191, 1, 277, 211, 1], "image_id": 103362, "bbox": [246.14, 188.63, 41.74, 58.91], "category_id": 1, "id": 143106}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 125, 1, 593, 137, 1], "image_id": 103625, "bbox": [575.9, 126.27, 26.59, 25.16], "category_id": 1, "id": 143109}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [174, 157, 1, 156, 161, 1, 176, 185, 2, 162, 194, 1, 180, 211, 1, 178, 215, 1, 172, 210, 1, 164, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 124, 1, 165, 152, 1], "image_id": 105147, "bbox": [153.66, 124.07, 53.17, 80.61], "category_id": 1, "id": 143118}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [553, 175, 2, 532, 171, 2, 504, 200, 2, 0, 0, 0, 527, 162, 2, 0, 0, 0, 532, 260, 1, 514, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 116, 1, 545, 161, 1], "image_id": 103778, "bbox": [479.93, 106.39, 83.73, 179.1], "category_id": 1, "id": 143127}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [441, 231, 2, 343, 242, 2, 478, 339, 2, 332, 314, 2, 408, 382, 2, 319, 386, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 132, 1, 388, 215, 1], "image_id": 106220, "bbox": [311.91, 124.94, 177.08, 270.57], "category_id": 1, "id": 143132}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [350, 197, 2, 307, 198, 1, 356, 238, 1, 303, 233, 2, 341, 229, 2, 0, 0, 0, 331, 265, 2, 313, 264, 1, 337, 324, 2, 310, 322, 1, 0, 0, 0, 0, 0, 0, 317, 163, 1, 323, 193, 1], "image_id": 107504, "bbox": [302.07, 154.59, 56.87, 184.7], "category_id": 1, "id": 143144}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [432, 233, 2, 407, 232, 2, 419, 258, 2, 400, 254, 1, 415, 238, 2, 396, 237, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 205, 1, 419, 228, 1], "image_id": 103362, "bbox": [393.35, 204.54, 45.73, 60.36], "category_id": 1, "id": 143147}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 47, 1, 299, 60, 1], "image_id": 107241, "bbox": [282.02, 45.41, 31.01, 37.08], "category_id": 1, "id": 143172}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [340, 37, 2, 328, 37, 2, 340, 71, 2, 321, 66, 2, 312, 66, 2, 307, 62, 2, 331, 88, 2, 321, 84, 2, 331, 127, 1, 321, 125, 1, 0, 0, 0, 0, 0, 0, 327, 3, 1, 333, 27, 1], "image_id": 102880, "bbox": [302.27, 0.39, 46.95, 108.93], "category_id": 1, "id": 143212}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [212, 268, 2, 188, 268, 2, 219, 289, 1, 182, 286, 2, 219, 304, 2, 192, 295, 2, 212, 305, 2, 195, 304, 2, 212, 334, 2, 191, 336, 2, 212, 360, 2, 190, 362, 2, 199, 241, 1, 200, 260, 1], "image_id": 104997, "bbox": [178.84, 240.21, 43.21, 133.86], "category_id": 1, "id": 143219}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [357, 178, 1, 328, 177, 1, 353, 220, 2, 325, 212, 1, 368, 203, 1, 342, 225, 2, 351, 242, 2, 323, 242, 2, 354, 302, 2, 323, 306, 2, 356, 348, 2, 323, 354, 2, 351, 142, 1, 344, 171, 1], "image_id": 106415, "bbox": [314.22, 138.94, 65.91, 224.49], "category_id": 1, "id": 143225}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [575, 200, 2, 605, 201, 2, 562, 225, 2, 609, 230, 2, 0, 0, 0, 0, 0, 0, 575, 251, 2, 599, 251, 2, 572, 242, 2, 596, 243, 2, 578, 280, 1, 599, 278, 1, 590, 169, 1, 589, 191, 1], "image_id": 104565, "bbox": [557.75, 169.73, 60.32, 120.63], "category_id": 1, "id": 143228}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [82, 305, 1, 54, 307, 2, 79, 328, 1, 49, 330, 1, 64, 347, 2, 52, 349, 2, 77, 341, 2, 59, 341, 2, 75, 354, 2, 51, 358, 2, 53, 376, 2, 66, 376, 1, 71, 269, 1, 71, 296, 1], "image_id": 106255, "bbox": [31.16, 269.11, 54.78, 124.32], "category_id": 1, "id": 143233}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [214, 219, 2, 163, 225, 2, 230, 256, 2, 164, 283, 1, 246, 244, 2, 193, 265, 1, 220, 316, 2, 187, 322, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 162, 1, 191, 207, 1], "image_id": 103355, "bbox": [154, 158.03, 105.2, 178.02], "category_id": 1, "id": 143234}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [155, 175, 2, 137, 176, 2, 160, 189, 2, 130, 186, 2, 160, 200, 2, 121, 186, 1, 155, 204, 2, 142, 205, 2, 157, 224, 1, 143, 225, 1, 159, 241, 2, 144, 242, 2, 144, 158, 1, 145, 172, 1], "image_id": 107117, "bbox": [125.73, 157.01, 39.68, 97.32], "category_id": 1, "id": 143241}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [165, 164, 1, 130, 150, 2, 159, 218, 1, 98, 186, 2, 0, 0, 0, 85, 199, 2, 155, 244, 1, 125, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 122, 1, 146, 165, 1], "image_id": 102880, "bbox": [69.69, 105.97, 111.36, 107.5], "category_id": 1, "id": 143247}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 305, 1, 0, 0, 0], "image_id": 102920, "bbox": [351.3, 303.91, 19.41, 33.04], "category_id": 1, "id": 143267}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 309, 1, 415, 313, 1], "image_id": 107276, "bbox": [412.77, 309.62, 8.21, 28.29], "category_id": 1, "id": 143269}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 64, 1, 508, 76, 1], "image_id": 104772, "bbox": [494.48, 61.6, 32.92, 54.23], "category_id": 1, "id": 143281}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [61, 49, 2, 34, 48, 2, 63, 93, 2, 0, 0, 0, 22, 88, 2, 0, 82, 1, 47, 124, 2, 25, 116, 2, 47, 178, 1, 23, 170, 1, 0, 0, 0, 0, 0, 0, 27, 4, 1, 48, 38, 1], "image_id": 102880, "bbox": [2.16, 0, 76.58, 171.51], "category_id": 1, "id": 143305}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [526, 304, 2, 477, 302, 2, 542, 349, 2, 0, 0, 0, 534, 370, 2, 492, 375, 2, 513, 365, 2, 486, 367, 2, 554, 383, 2, 475, 384, 2, 512, 414, 2, 474, 416, 2, 500, 259, 1, 498, 298, 1], "image_id": 105556, "bbox": [459.22, 246.33, 102.54, 209.54], "category_id": 1, "id": 143311}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [395, 192, 2, 367, 185, 1, 398, 218, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 248, 2, 371, 248, 2, 389, 302, 2, 370, 298, 2, 383, 333, 2, 370, 340, 2, 388, 151, 1, 383, 182, 1], "image_id": 106415, "bbox": [357.02, 150.1, 48.67, 206.32], "category_id": 1, "id": 143329}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [350, 173, 1, 231, 174, 1, 0, 0, 0, 221, 268, 1, 0, 0, 0, 251, 346, 2, 333, 353, 1, 274, 354, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 67, 1, 292, 150, 1], "image_id": 106220, "bbox": [227.07, 62.41, 127.82, 333.08], "category_id": 1, "id": 143335}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107117, "bbox": [534.76, 189.01, 6.46, 16.95], "category_id": 1, "id": 143365}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [188, 216, 2, 164, 217, 2, 200, 234, 2, 151, 238, 2, 190, 243, 2, 164, 242, 1, 186, 253, 1, 166, 253, 1, 190, 270, 1, 152, 265, 1, 0, 0, 0, 0, 0, 0, 177, 193, 1, 176, 214, 1], "image_id": 103362, "bbox": [148.08, 189.82, 55.18, 57.43], "category_id": 1, "id": 143367}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [54, 72, 2, 21, 73, 2, 61, 99, 2, 21, 95, 2, 61, 130, 2, 28, 70, 2, 49, 137, 2, 25, 137, 2, 53, 173, 2, 25, 176, 2, 58, 215, 2, 28, 218, 2, 32, 38, 1, 34, 64, 1], "image_id": 105035, "bbox": [10.72, 38.23, 55.33, 190.11], "category_id": 1, "id": 143383}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [566, 124, 2, 509, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 59, 1, 0, 0, 0], "image_id": 103281, "bbox": [526.92, 51.95, 53.09, 80.09], "category_id": 1, "id": 143388}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [164, 77, 2, 150, 74, 2, 172, 68, 2, 142, 65, 2, 168, 61, 2, 151, 56, 2, 134, 104, 1, 130, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 48, 1, 159, 72, 1], "image_id": 102880, "bbox": [136.91, 47.16, 48.64, 60.09], "category_id": 1, "id": 143392}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [416, 172, 2, 394, 173, 2, 427, 209, 2, 404, 200, 2, 449, 212, 2, 413, 223, 2, 413, 209, 2, 398, 219, 2, 432, 192, 2, 444, 225, 2, 454, 232, 2, 459, 230, 2, 415, 132, 1, 408, 159, 1], "image_id": 105035, "bbox": [378.03, 130.49, 100.74, 115.13], "category_id": 1, "id": 143411}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, 44, 1, 606, 82, 1], "image_id": 103281, "bbox": [584.72, 43.82, 32.52, 70.32], "category_id": 1, "id": 143412}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 184, 1, 225, 197, 1], "image_id": 107117, "bbox": [216.7, 182.52, 19.53, 72.9], "category_id": 1, "id": 143439}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [473, 237, 2, 442, 239, 2, 494, 252, 2, 430, 260, 2, 481, 268, 2, 442, 282, 1, 468, 281, 2, 446, 281, 2, 468, 313, 2, 448, 315, 1, 470, 344, 1, 0, 0, 0, 455, 212, 1, 457, 233, 1], "image_id": 105789, "bbox": [428.87, 219.22, 68.93, 116.79], "category_id": 1, "id": 143466}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 546, 19, 2, 587, 0, 1, 558, 44, 2, 628, 22, 2, 574, 66, 2, 561, 64, 2, 609, 99, 2, 563, 120, 2, 568, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108202, "bbox": [542.3, 0, 97.7, 154.01], "category_id": 1, "id": 143470}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [423, 145, 2, 355, 148, 2, 443, 206, 1, 348, 213, 1, 401, 221, 2, 357, 218, 1, 409, 235, 2, 364, 233, 1, 409, 315, 2, 368, 312, 1, 416, 414, 1, 372, 405, 1, 382, 79, 1, 388, 131, 1], "image_id": 105547, "bbox": [347.56, 73.61, 102.91, 254.09], "category_id": 1, "id": 143474}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 75, 1], "image_id": 104772, "bbox": [558.52, 64.57, 10.77, 19.8], "category_id": 1, "id": 143479}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [491, 231, 2, 457, 234, 2, 494, 256, 2, 452, 265, 1, 490, 278, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 197, 1, 472, 225, 1], "image_id": 103362, "bbox": [447.33, 195.5, 55.4, 87.33], "category_id": 1, "id": 143482}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 61, 1, 0, 0, 0], "image_id": 107408, "bbox": [157.31, 61.03, 17.27, 30.94], "category_id": 1, "id": 143498}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [171, 51, 1, 152, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 87, 1, 158, 88, 2, 158, 129, 2, 177, 126, 1, 158, 162, 2, 159, 153, 2, 160, 27, 1, 166, 43, 1], "image_id": 103248, "bbox": [150, 25.02, 21.29, 147.98], "category_id": 1, "id": 143500}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 193, 1, 338, 200, 1], "image_id": 107117, "bbox": [331.45, 192, 14.8, 46.14], "category_id": 1, "id": 143506}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [452, 153, 1, 406, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454, 261, 2, 416, 261, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 91, 1, 428, 140, 1], "image_id": 106256, "bbox": [412.18, 94.88, 47.02, 192.08], "category_id": 1, "id": 143511}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 160, 1, 464, 171, 1], "image_id": 104565, "bbox": [451.1, 159.69, 23.67, 27.42], "category_id": 1, "id": 143516}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [474, 82, 2, 462, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 483, 97, 2, 472, 102, 2, 498, 100, 1, 493, 105, 1, 0, 0, 0, 0, 0, 0, 464, 67, 1, 464, 80, 1], "image_id": 104772, "bbox": [447, 68.1, 37, 51], "category_id": 1, "id": 143518}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [357, 185, 2, 330, 189, 1, 366, 210, 2, 325, 215, 2, 360, 232, 2, 324, 238, 2, 350, 230, 2, 333, 232, 2, 357, 274, 1, 337, 277, 2, 0, 0, 0, 0, 0, 0, 345, 156, 1, 343, 179, 1], "image_id": 106366, "bbox": [320.81, 154.09, 52.78, 132.23], "category_id": 1, "id": 143531}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [567, 214, 2, 532, 211, 2, 576, 247, 2, 517, 239, 2, 559, 256, 2, 511, 249, 2, 557, 250, 2, 532, 249, 2, 558, 272, 2, 534, 273, 2, 0, 0, 0, 0, 0, 0, 545, 177, 1, 548, 206, 1], "image_id": 106366, "bbox": [502.71, 173.51, 89.63, 159.77], "category_id": 1, "id": 143555}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 168, 1, 369, 182, 1], "image_id": 106366, "bbox": [362.84, 168.32, 14.88, 37.05], "category_id": 1, "id": 143561}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [602, 51, 2, 540, 46, 2, 614, 102, 2, 526, 94, 2, 623, 138, 2, 513, 139, 2, 592, 134, 2, 540, 133, 2, 581, 211, 2, 528, 210, 2, 579, 294, 2, 523, 293, 2, 0, 0, 0, 569, 39, 1], "image_id": 106076, "bbox": [506.88, 0, 125.91, 312.13], "category_id": 1, "id": 143572}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 200, 2, 434, 191, 2, 464, 227, 2, 433, 228, 1, 476, 240, 2, 446, 242, 2, 459, 251, 2, 446, 246, 2, 472, 288, 1, 453, 286, 2, 465, 337, 1, 444, 340, 2, 456, 163, 1, 446, 185, 1], "image_id": 106415, "bbox": [428.08, 158.76, 67.32, 194.17], "category_id": 1, "id": 143581}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [163, 346, 2, 150, 347, 2, 170, 357, 2, 152, 356, 2, 168, 364, 2, 144, 360, 2, 160, 370, 2, 152, 369, 2, 161, 385, 2, 155, 386, 2, 165, 402, 2, 158, 402, 2, 154, 330, 1, 156, 342, 1], "image_id": 102920, "bbox": [139.8, 329, 32.29, 82.78], "category_id": 1, "id": 143588}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [551, 244, 1, 528, 236, 2, 526, 264, 1, 506, 251, 2, 519, 251, 2, 521, 252, 2, 525, 289, 1, 509, 282, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 201, 1, 541, 230, 1], "image_id": 103362, "bbox": [499.43, 198.34, 55.54, 62.95], "category_id": 1, "id": 143619}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [525, 284, 2, 495, 292, 2, 532, 308, 2, 482, 310, 2, 512, 338, 2, 486, 319, 2, 524, 340, 2, 507, 341, 2, 537, 318, 2, 494, 326, 2, 546, 342, 2, 471, 350, 2, 498, 254, 1, 508, 280, 1], "image_id": 104425, "bbox": [444.35, 246.22, 110.61, 105.8], "category_id": 1, "id": 143623}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [233, 46, 2, 245, 44, 2, 230, 71, 2, 0, 0, 0, 225, 95, 2, 0, 0, 0, 234, 83, 2, 247, 81, 2, 226, 121, 2, 245, 123, 2, 225, 167, 2, 247, 163, 2, 234, 14, 1, 236, 35, 1], "image_id": 103248, "bbox": [201.5, 8.5, 54.5, 166.5], "category_id": 1, "id": 143624}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [501, 196, 1, 464, 198, 2, 505, 222, 2, 460, 225, 1, 505, 234, 2, 473, 241, 1, 492, 254, 2, 470, 256, 1, 486, 299, 2, 470, 296, 2, 479, 341, 2, 465, 341, 2, 483, 173, 1, 482, 192, 1], "image_id": 106415, "bbox": [457.17, 167.16, 54.2, 182.83], "category_id": 1, "id": 143626}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [348, 295, 2, 317, 295, 2, 0, 0, 0, 302, 320, 2, 0, 0, 0, 0, 0, 0, 344, 337, 2, 323, 338, 2, 355, 310, 2, 307, 315, 2, 367, 339, 2, 300, 341, 2, 332, 260, 1, 332, 288, 1], "image_id": 104425, "bbox": [287.02, 255.55, 95.22, 102.61], "category_id": 1, "id": 143632}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [368, 65, 2, 351, 70, 2, 366, 89, 2, 0, 0, 0, 366, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 37, 1, 360, 61, 1], "image_id": 106076, "bbox": [339.79, 31.96, 37.28, 106.51], "category_id": 1, "id": 143637}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [466, 197, 2, 422, 197, 2, 469, 262, 2, 407, 248, 2, 416, 274, 2, 0, 0, 0, 507, 269, 1, 469, 260, 2, 459, 283, 2, 406, 272, 2, 488, 320, 2, 449, 296, 2, 431, 147, 1, 442, 192, 1], "image_id": 103778, "bbox": [396.62, 139.15, 103.3, 209.19], "category_id": 1, "id": 143641}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [137, 128, 2, 66, 148, 2, 0, 0, 0, 84, 228, 2, 167, 164, 2, 149, 188, 2, 145, 275, 2, 108, 280, 2, 146, 365, 2, 108, 364, 2, 0, 0, 0, 0, 0, 0, 89, 64, 1, 97, 126, 1], "image_id": 106256, "bbox": [53.41, 51.56, 137.09, 375.44], "category_id": 1, "id": 143644}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [278, 296, 1, 250, 284, 2, 242, 345, 2, 232, 308, 2, 216, 324, 2, 224, 327, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 234, 1, 265, 281, 1], "image_id": 106060, "bbox": [211.99, 229.31, 69.7, 118.66], "category_id": 1, "id": 143646}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106220, "bbox": [244.51, 112.74, 29.43, 34.73], "category_id": 1, "id": 143660}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [579, 289, 2, 607, 283, 2, 524, 319, 2, 0, 0, 0, 528, 304, 2, 0, 0, 0, 541, 389, 2, 583, 364, 2, 466, 375, 2, 0, 0, 0, 464, 454, 1, 0, 0, 0, 593, 216, 1, 587, 264, 1], "image_id": 103362, "bbox": [452.28, 209.82, 174.92, 196.84], "category_id": 1, "id": 143667}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [462, 153, 2, 435, 151, 2, 470, 171, 2, 426, 163, 2, 460, 179, 2, 420, 172, 2, 453, 186, 2, 435, 183, 2, 440, 218, 2, 444, 213, 2, 428, 221, 2, 447, 244, 2, 447, 131, 1, 447, 148, 1], "image_id": 108139, "bbox": [415.06, 127.17, 60.23, 130.51], "category_id": 1, "id": 143690}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [383, 258, 2, 362, 258, 1, 388, 277, 2, 0, 0, 0, 379, 288, 2, 0, 0, 0, 379, 292, 2, 364, 290, 1, 377, 318, 2, 364, 317, 1, 377, 343, 2, 364, 341, 1, 369, 235, 1, 371, 252, 1], "image_id": 104997, "bbox": [362.32, 230.58, 30.38, 125.16], "category_id": 1, "id": 143697}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 20, 1, 92, 26, 1], "image_id": 107168, "bbox": [87.35, 19.62, 14.62, 39.58], "category_id": 1, "id": 143703}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [241, 258, 1, 220, 253, 2, 216, 282, 2, 210, 263, 2, 168, 282, 2, 186, 264, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 211, 1, 227, 245, 1], "image_id": 106060, "bbox": [143.2, 204.52, 95.41, 84.28], "category_id": 1, "id": 143705}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [416, 248, 2, 400, 251, 2, 423, 268, 2, 397, 266, 2, 419, 281, 2, 397, 281, 2, 413, 282, 2, 402, 284, 2, 410, 311, 2, 400, 310, 2, 410, 340, 2, 402, 335, 2, 408, 227, 1, 408, 245, 1], "image_id": 104997, "bbox": [388.48, 225.9, 39.48, 125.68], "category_id": 1, "id": 143706}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 9, 1, 81, 18, 1], "image_id": 108139, "bbox": [69.01, 8.56, 22.15, 39], "category_id": 1, "id": 143714}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [587, 130, 2, 574, 128, 2, 0, 0, 0, 560, 152, 2, 0, 0, 0, 563, 175, 2, 562, 170, 2, 561, 168, 2, 542, 200, 1, 554, 202, 1, 0, 0, 0, 551, 229, 2, 594, 107, 1, 582, 123, 1], "image_id": 107361, "bbox": [538.58, 105.34, 60.92, 134.36], "category_id": 1, "id": 143720}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 28, 1, 46, 35, 1], "image_id": 107408, "bbox": [33.41, 28.74, 21.76, 43.18], "category_id": 1, "id": 143730}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 68, 1, 13, 75, 1], "image_id": 107408, "bbox": [2.46, 67.74, 24.05, 47.45], "category_id": 1, "id": 143732}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [282, 213, 2, 203, 216, 2, 300, 277, 2, 188, 280, 1, 311, 329, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 134, 1, 244, 192, 1], "image_id": 106077, "bbox": [184.32, 130.18, 136.96, 235.84], "category_id": 1, "id": 143745}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 295, 1, 340, 311, 1], "image_id": 102920, "bbox": [334.2, 293.02, 18.38, 34.19], "category_id": 1, "id": 143757}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 30, 1, 20, 37, 1], "image_id": 107408, "bbox": [14.82, 30.1, 14.56, 35.11], "category_id": 1, "id": 143768}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [15, 106, 2, 0, 0, 0, 43, 215, 2, 0, 0, 0, 65, 175, 2, 19, 164, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 62, 1, 100, 129, 1], "image_id": 106256, "bbox": [0, 1.18, 127.69, 425.53], "category_id": 1, "id": 143769}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [155, 235, 1, 123, 239, 2, 156, 257, 2, 112, 263, 1, 141, 279, 2, 124, 278, 1, 152, 287, 2, 127, 287, 1, 127, 306, 1, 108, 301, 1, 0, 0, 0, 0, 0, 0, 139, 199, 1, 139, 229, 1], "image_id": 106255, "bbox": [104.01, 193.56, 58.24, 125.33], "category_id": 1, "id": 143772}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [347, 416, 2, 385, 415, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 457, 2, 381, 457, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 392, 1, 365, 410, 1], "image_id": 103625, "bbox": [333.01, 387.4, 61.51, 74.71], "category_id": 1, "id": 143773}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [399, 458, 2, 441, 448, 2, 0, 0, 0, 0, 0, 0, 378, 461, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 416, 1, 417, 445, 1], "image_id": 103625, "bbox": [366, 409.11, 86.28, 70.89], "category_id": 1, "id": 143803}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [167, 199, 1, 118, 206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 254, 1, 131, 254, 1, 139, 257, 1, 104, 241, 1, 107, 305, 1, 89, 296, 2, 135, 159, 1, 139, 197, 1], "image_id": 103778, "bbox": [80.85, 156.19, 72.41, 147.58], "category_id": 1, "id": 143807}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [131, 114, 1, 101, 110, 2, 0, 0, 0, 96, 130, 2, 0, 0, 0, 81, 139, 1, 119, 159, 2, 103, 156, 2, 115, 192, 2, 100, 189, 2, 112, 229, 2, 98, 228, 2, 117, 84, 1, 117, 106, 1], "image_id": 107168, "bbox": [92.24, 80.79, 44.99, 151.93], "category_id": 1, "id": 143834}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [598, 132, 1, 623, 137, 2, 0, 0, 0, 621, 158, 2, 0, 0, 0, 614, 172, 2, 596, 166, 1, 607, 168, 2, 0, 0, 0, 591, 192, 2, 0, 0, 0, 583, 214, 2, 0, 0, 0, 609, 125, 1], "image_id": 107361, "bbox": [560.33, 129.43, 65.4, 100.4], "category_id": 1, "id": 143839}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 357, 601, 2, 0, 0, 0, 300, 577, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106060, "bbox": [291.96, 533.57, 109.3, 76.23], "category_id": 1, "id": 143857}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [615, 158, 2, 590, 159, 2, 622, 171, 2, 587, 179, 1, 618, 183, 2, 0, 0, 0, 608, 186, 2, 594, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 135, 1, 601, 153, 1], "image_id": 104565, "bbox": [583.19, 132.1, 47.28, 71.3], "category_id": 1, "id": 143868}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [610, 143, 2, 536, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 252, 2, 550, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 69, 1, 575, 132, 1], "image_id": 106256, "bbox": [550.78, 59.49, 83.48, 300.34], "category_id": 1, "id": 143876}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 411, 1, 392, 422, 1], "image_id": 104072, "bbox": [379.15, 409.3, 19.06, 37.11], "category_id": 1, "id": 143886}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [304, 481, 2, 281, 450, 2, 253, 516, 2, 260, 438, 1, 276, 464, 2, 239, 455, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 403, 1, 0, 0, 0], "image_id": 106060, "bbox": [244.32, 394.09, 83.48, 132.85], "category_id": 1, "id": 143893}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 213, 1, 0, 0, 0], "image_id": 106060, "bbox": [30.52, 212.29, 20.65, 40.89], "category_id": 1, "id": 143895}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [178, 214, 2, 93, 213, 1, 0, 0, 0, 56, 276, 2, 0, 0, 0, 0, 0, 0, 168, 337, 1, 104, 333, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 128, 1, 136, 190, 1], "image_id": 106077, "bbox": [47.36, 125.68, 147.24, 195.8], "category_id": 1, "id": 143908}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [222, 242, 2, 192, 240, 2, 233, 265, 2, 188, 261, 2, 222, 258, 2, 210, 251, 2, 216, 281, 2, 198, 279, 1, 218, 306, 2, 0, 0, 0, 230, 333, 2, 0, 0, 0, 210, 209, 1, 207, 232, 1], "image_id": 104425, "bbox": [178.11, 206.89, 59.15, 136.94], "category_id": 1, "id": 143916}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [325, 162, 2, 275, 164, 1, 0, 0, 0, 279, 228, 2, 0, 0, 0, 334, 265, 1, 327, 279, 2, 288, 283, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 103, 1, 298, 152, 1], "image_id": 106256, "bbox": [237.12, 93.61, 133.72, 209.64], "category_id": 1, "id": 143924}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [55, 166, 2, 33, 158, 2, 53, 194, 2, 25, 190, 2, 62, 204, 1, 36, 211, 2, 56, 215, 2, 45, 212, 2, 50, 259, 2, 38, 257, 2, 44, 294, 2, 33, 297, 2, 55, 127, 1, 47, 153, 1], "image_id": 106366, "bbox": [10.69, 125.92, 54.76, 184.95], "category_id": 1, "id": 143928}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 213, 1, 0, 0, 0], "image_id": 106060, "bbox": [18.78, 204.58, 17.09, 113.02], "category_id": 1, "id": 143933}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [309, 46, 2, 298, 46, 2, 0, 0, 0, 290, 73, 2, 309, 95, 2, 294, 99, 2, 303, 99, 2, 289, 98, 2, 298, 129, 2, 278, 134, 1, 0, 0, 0, 0, 0, 0, 318, 24, 1, 305, 41, 1], "image_id": 107361, "bbox": [268.6, 19.7, 55.69, 114.45], "category_id": 1, "id": 143936}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104565, "bbox": [476.75, 162.1, 20.14, 24.35], "category_id": 1, "id": 143941}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [213, 184, 1, 90, 192, 2, 218, 310, 2, 71, 330, 2, 222, 378, 2, 157, 387, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 65, 1, 148, 161, 1], "image_id": 106220, "bbox": [47.64, 55.58, 190.56, 340.67], "category_id": 1, "id": 143947}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 355, 1, 413, 368, 1], "image_id": 102920, "bbox": [398.3, 353.58, 19.11, 39.7], "category_id": 1, "id": 143952}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 118, 1, 0, 0, 0], "image_id": 106220, "bbox": [54.66, 111.65, 64.8, 58.77], "category_id": 1, "id": 143954}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 152, 1], "image_id": 104565, "bbox": [62.34, 137.48, 24.35, 45.39], "category_id": 1, "id": 143955}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [246, 94, 2, 262, 96, 1, 0, 0, 0, 264, 104, 1, 0, 0, 0, 268, 114, 1, 250, 122, 2, 261, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 73, 1, 254, 88, 1], "image_id": 107408, "bbox": [237.88, 73.26, 26.72, 101.44], "category_id": 1, "id": 143958}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [479, 78, 2, 437, 76, 2, 486, 132, 2, 422, 135, 2, 512, 165, 2, 464, 149, 2, 495, 160, 2, 463, 162, 2, 495, 267, 2, 480, 274, 2, 478, 336, 1, 462, 339, 1, 457, 12, 1, 455, 66, 1], "image_id": 106076, "bbox": [408, 10.81, 133.58, 279.64], "category_id": 1, "id": 143969}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [482, 324, 2, 506, 319, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 295, 1, 493, 315, 1], "image_id": 103625, "bbox": [471.05, 294.61, 46.46, 53.59], "category_id": 1, "id": 143973}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [96, 116, 2, 24, 107, 2, 115, 172, 2, 25, 164, 2, 0, 0, 0, 63, 199, 2, 83, 242, 1, 41, 239, 2, 0, 0, 0, 24, 312, 2, 0, 0, 0, 4, 413, 1, 59, 28, 1, 56, 91, 1], "image_id": 106077, "bbox": [1.11, 26.46, 118.78, 375.22], "category_id": 1, "id": 143987}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 147, 1], "image_id": 104565, "bbox": [132.1, 139.35, 30.53, 57.87], "category_id": 1, "id": 143989}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 45, 1, 108, 52, 1], "image_id": 107168, "bbox": [95.74, 43.86, 19.93, 52.46], "category_id": 1, "id": 143998}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [440, 113, 2, 345, 85, 2, 0, 0, 0, 295, 74, 1, 0, 0, 0, 0, 0, 0, 413, 215, 1, 365, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 41, 1, 396, 90, 1], "image_id": 106077, "bbox": [332.42, 33.41, 124.19, 200.4], "category_id": 1, "id": 144008}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 17, 1, 0, 0, 0], "image_id": 106076, "bbox": [479.2, 12.01, 58.84, 63.74], "category_id": 1, "id": 144016}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 337, 1, 317, 354, 1], "image_id": 102920, "bbox": [282.75, 335.33, 39.46, 85.14], "category_id": 1, "id": 144018}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 66, 1, 246, 81, 1], "image_id": 107408, "bbox": [234.84, 64.33, 18.01, 110.89], "category_id": 1, "id": 144022}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [361, 244, 1, 311, 253, 2, 388, 248, 2, 0, 0, 0, 408, 263, 2, 0, 0, 0, 365, 316, 1, 325, 317, 1, 416, 278, 2, 0, 0, 0, 445, 357, 2, 0, 0, 0, 332, 190, 1, 333, 240, 1], "image_id": 103778, "bbox": [300.02, 186, 150.62, 173.53], "category_id": 1, "id": 144024}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106256, "bbox": [322.64, 114.53, 16.46, 48.58], "category_id": 1, "id": 144030}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [519, 110, 2, 463, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 220, 1, 472, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 496, 39, 1, 493, 97, 1], "image_id": 106077, "bbox": [439.8, 33.92, 97, 182.06], "category_id": 1, "id": 144035}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [310, 239, 1, 255, 233, 2, 0, 0, 0, 213, 251, 1, 290, 287, 2, 231, 215, 2, 300, 301, 2, 265, 298, 2, 302, 279, 2, 252, 277, 2, 286, 351, 2, 255, 350, 2, 276, 195, 1, 279, 236, 1], "image_id": 103778, "bbox": [207.53, 174.23, 104.41, 183.29], "category_id": 1, "id": 144041}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [544, 467, 2, 573, 454, 1, 0, 0, 0, 0, 0, 0, 508, 473, 2, 524, 466, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 424, 1, 555, 452, 1], "image_id": 103625, "bbox": [501.26, 415.19, 77.27, 64.81], "category_id": 1, "id": 144046}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [481, 50, 2, 433, 51, 2, 488, 85, 2, 421, 82, 2, 0, 0, 0, 0, 0, 0, 473, 121, 1, 442, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 14, 1, 458, 66, 1], "image_id": 106076, "bbox": [410.35, 0, 93.83, 97.51], "category_id": 1, "id": 144055}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 134, 1, 23, 156, 1], "image_id": 106220, "bbox": [8.64, 133.02, 41.08, 36.38], "category_id": 1, "id": 144060}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 76, 1, 133, 81, 1], "image_id": 107168, "bbox": [125.99, 76.78, 12.39, 26.02], "category_id": 1, "id": 144063}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [456, 412, 2, 491, 397, 2, 457, 437, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 370, 1, 468, 392, 1], "image_id": 103625, "bbox": [448.79, 368.15, 50.49, 73.95], "category_id": 1, "id": 144064}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [254, 375, 2, 274, 376, 2, 238, 391, 1, 0, 0, 0, 217, 399, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 349, 1, 264, 368, 1], "image_id": 103625, "bbox": [206.09, 346.38, 74.76, 64], "category_id": 1, "id": 144084}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [215, 153, 2, 177, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 103, 1, 197, 142, 1], "image_id": 106220, "bbox": [185.94, 101.1, 42.28, 77.26], "category_id": 1, "id": 144088}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106220, "bbox": [233.02, 119.63, 16.35, 32.02], "category_id": 1, "id": 144093}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [590, 351, 2, 617, 343, 2, 579, 372, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 398, 1, 616, 389, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 317, 1, 601, 336, 1], "image_id": 103625, "bbox": [578.16, 314.64, 49.62, 69.03], "category_id": 1, "id": 144096}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [257, 51, 2, 214, 52, 2, 268, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 6, 1, 233, 38, 1], "image_id": 103778, "bbox": [208.09, 3.88, 62.51, 87.13], "category_id": 1, "id": 144097}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [484, 232, 2, 455, 237, 2, 505, 276, 2, 0, 0, 0, 502, 317, 2, 0, 0, 0, 517, 310, 1, 489, 312, 1, 481, 344, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 170, 1, 469, 219, 1], "image_id": 106310, "bbox": [439.59, 166.1, 124.37, 198.35], "category_id": 1, "id": 144125}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [159.59, 392.19, 26.82, 77.18], "category_id": 1, "id": 144130}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 201, 1, 500, 210, 1], "image_id": 105921, "bbox": [490.44, 199.43, 21.46, 70.69], "category_id": 1, "id": 144143}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [430, 87, 2, 370, 88, 2, 444, 124, 1, 0, 0, 0, 404, 138, 1, 0, 0, 0, 420, 166, 2, 386, 164, 1, 418, 232, 2, 387, 237, 2, 422, 291, 2, 391, 290, 2, 388, 40, 1, 397, 79, 1], "image_id": 107326, "bbox": [361.6, 31.74, 77.9, 275.05], "category_id": 1, "id": 144144}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [304, 107, 2, 286, 108, 2, 303, 124, 2, 279, 121, 2, 293, 131, 2, 294, 129, 2, 298, 131, 2, 289, 131, 2, 306, 130, 2, 282, 134, 2, 314, 159, 2, 0, 0, 0, 294, 94, 1, 295, 106, 1], "image_id": 104860, "bbox": [273.74, 91.78, 54.13, 73.36], "category_id": 1, "id": 144145}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103586, "bbox": [383.43, 104.19, 24.58, 53.75], "category_id": 1, "id": 144150}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 70, 1, 272, 82, 1], "image_id": 104658, "bbox": [259.77, 69.11, 27.66, 31.84], "category_id": 1, "id": 144151}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [273, 47, 2, 291, 44, 2, 254, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 98, 1, 291, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 12, 1, 279, 37, 1], "image_id": 108324, "bbox": [244.99, 11.56, 57.67, 83.3], "category_id": 1, "id": 144155}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [298, 159, 2, 254, 161, 1, 313, 192, 2, 239, 197, 1, 320, 225, 2, 253, 230, 2, 296, 224, 1, 259, 225, 1, 299, 272, 2, 266, 262, 2, 304, 317, 1, 266, 306, 1, 267, 116, 1, 272, 151, 1], "image_id": 107231, "bbox": [243.54, 121.1, 85.9, 199.24], "category_id": 1, "id": 144158}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107111, "bbox": [505.78, 282.66, 16.82, 19.31], "category_id": 1, "id": 144159}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 132, 1, 173, 150, 1], "image_id": 105615, "bbox": [177.86, 137.95, 25.41, 102.75], "category_id": 1, "id": 144184}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 14, 1, 107, 25, 1], "image_id": 106742, "bbox": [75.94, 13.9, 41.61, 41.91], "category_id": 1, "id": 144200}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 386, 1, 0, 0, 0], "image_id": 104045, "bbox": [417.75, 389.94, 9.25, 99.76], "category_id": 1, "id": 144203}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 309, 176, 2, 0, 0, 0, 350, 219, 1, 0, 0, 0, 368, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 93, 1, 311, 147, 1], "image_id": 107612, "bbox": [257.34, 84.28, 160.52, 160.89], "category_id": 1, "id": 144206}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 131, 1, 57, 148, 1], "image_id": 105995, "bbox": [17, 123.05, 76.33, 45.72], "category_id": 1, "id": 144235}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 200, 1, 0, 0, 0], "image_id": 107350, "bbox": [380.41, 203.29, 41.91, 42.67], "category_id": 1, "id": 144243}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 118, 1, 154, 126, 1], "image_id": 105021, "bbox": [141.6, 117.8, 19.16, 34.12], "category_id": 1, "id": 144257}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [437, 126, 2, 444, 124, 2, 426, 145, 2, 0, 0, 0, 428, 128, 2, 0, 0, 0, 436, 168, 2, 441, 165, 2, 436, 197, 2, 442, 195, 2, 437, 224, 1, 443, 218, 2, 436, 102, 1, 438, 120, 1], "image_id": 104635, "bbox": [421.26, 99.62, 31.1, 125.25], "category_id": 1, "id": 144265}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [142, 22, 2, 95, 25, 2, 157, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105828, "bbox": [89.44, 1.77, 81.66, 93.96], "category_id": 1, "id": 144277}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 537, 1, 218, 543, 1], "image_id": 103224, "bbox": [205.52, 535.29, 23.37, 46.24], "category_id": 1, "id": 144285}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [137, 116, 2, 180, 129, 2, 0, 0, 0, 224, 206, 1, 0, 0, 0, 252, 160, 2, 171, 289, 1, 209, 299, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 34, 1, 175, 106, 1], "image_id": 103703, "bbox": [117.92, 21.68, 163.15, 185.75], "category_id": 1, "id": 144309}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [167, 38, 2, 156, 43, 2, 0, 0, 0, 184, 98, 1, 0, 0, 0, 0, 0, 0, 159, 145, 1, 149, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 26, 1], "image_id": 107213, "bbox": [137.74, 0, 67.6, 109.55], "category_id": 1, "id": 144312}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 148, 1], "image_id": 103115, "bbox": [438.46, 146.02, 20.23, 12.1], "category_id": 1, "id": 144316}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [471, 338, 2, 426, 332, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 274, 1, 446, 322, 1], "image_id": 107383, "bbox": [387.86, 275.64, 88.79, 150.14], "category_id": 1, "id": 144323}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 450, 301, 1, 451, 305, 1], "image_id": 104497, "bbox": [442.23, 300.9, 15.24, 24.42], "category_id": 1, "id": 144344}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [256, 211, 1, 216, 213, 2, 0, 0, 0, 213, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 168, 1, 236, 200, 1], "image_id": 108503, "bbox": [208.41, 161.95, 43.76, 95.89], "category_id": 1, "id": 144349}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [387, 209, 2, 415, 208, 2, 376, 226, 2, 421, 229, 2, 0, 0, 0, 426, 247, 2, 392, 249, 2, 410, 248, 2, 393, 278, 2, 413, 277, 2, 395, 311, 2, 414, 309, 2, 404, 186, 1, 402, 196, 1], "image_id": 106055, "bbox": [370.2, 184.72, 60.71, 135.05], "category_id": 1, "id": 144357}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [532, 35, 2, 494, 35, 2, 541, 62, 2, 497, 62, 2, 513, 61, 2, 521, 55, 2, 525, 85, 1, 498, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 5, 1, 513, 36, 1], "image_id": 103896, "bbox": [484.52, 4.45, 62.71, 63.06], "category_id": 1, "id": 144358}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [310, 147, 2, 280, 154, 2, 0, 0, 0, 282, 171, 1, 0, 0, 0, 292, 168, 2, 312, 178, 1, 293, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 124, 1, 295, 144, 1], "image_id": 107273, "bbox": [274.36, 123.14, 47.61, 52.81], "category_id": 1, "id": 144359}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107452, "bbox": [167.15, 266.03, 30.57, 74.01], "category_id": 1, "id": 144390}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [78, 148, 2, 102, 141, 2, 70, 161, 2, 114, 147, 2, 0, 0, 0, 101, 151, 2, 88, 173, 2, 96, 171, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 124, 1, 90, 139, 1], "image_id": 102956, "bbox": [62.27, 122.84, 55.2, 51.22], "category_id": 1, "id": 144391}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [106, 260, 2, 141, 254, 2, 92, 303, 2, 0, 0, 0, 72, 328, 2, 0, 0, 0, 109, 332, 1, 138, 326, 1, 53, 344, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 220, 1, 112, 246, 1], "image_id": 106157, "bbox": [58.92, 216.9, 87.96, 119.55], "category_id": 1, "id": 144426}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 587, 286, 1, 584, 296, 1], "image_id": 104608, "bbox": [566.49, 286.76, 34.54, 19.69], "category_id": 1, "id": 144436}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [329, 168, 2, 219, 165, 1, 334, 249, 2, 212, 248, 2, 272, 238, 2, 250, 214, 2, 302, 317, 2, 238, 316, 2, 332, 353, 2, 186, 356, 2, 0, 0, 0, 215, 473, 1, 281, 57, 1, 281, 146, 1], "image_id": 102797, "bbox": [175.82, 59.33, 202.79, 409.88], "category_id": 1, "id": 144437}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 223, 1, 636, 240, 1], "image_id": 103313, "bbox": [629.62, 222.11, 10.36, 109.26], "category_id": 1, "id": 144440}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [612, 119, 2, 0, 0, 0, 595, 141, 2, 0, 0, 0, 578, 146, 2, 0, 0, 0, 619, 154, 2, 635, 153, 2, 616, 181, 1, 634, 182, 1, 624, 193, 2, 634, 200, 2, 618, 83, 1, 625, 110, 1], "image_id": 106310, "bbox": [575.19, 77.37, 64.81, 148.74], "category_id": 1, "id": 144470}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107276, "bbox": [362.59, 301.81, 9.59, 37.91], "category_id": 1, "id": 144472}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104478, "bbox": [531.3, 222.14, 9.4, 31.03], "category_id": 1, "id": 144489}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107036, "bbox": [474.22, 140.13, 11.6, 28.86], "category_id": 1, "id": 144493}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [427, 197, 1, 396, 191, 1, 434, 218, 2, 0, 0, 0, 433, 233, 2, 0, 0, 0, 415, 250, 2, 393, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 161, 1, 412, 185, 1], "image_id": 105378, "bbox": [396.83, 159.08, 45.32, 94.22], "category_id": 1, "id": 144494}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 242, 1, 553, 257, 1], "image_id": 104600, "bbox": [537.59, 242.86, 27.71, 24.11], "category_id": 1, "id": 144496}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [143, 288, 2, 145, 288, 2, 0, 0, 0, 144, 304, 2, 0, 0, 0, 159, 308, 2, 154, 319, 2, 152, 326, 2, 153, 352, 2, 157, 351, 2, 150, 377, 2, 135, 369, 2, 156, 271, 1, 147, 283, 1], "image_id": 106431, "bbox": [124.98, 267.7, 44.67, 119.32], "category_id": 1, "id": 144508}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 109, 28, 1, 34, 29, 2, 79, 20, 2, 58, 48, 2, 0, 0, 0, 0, 0, 0, 78, 86, 2, 31, 62, 2, 81, 136, 2, 32, 129, 2, 0, 0, 0, 0, 0, 0], "image_id": 102631, "bbox": [0, 0, 119.44, 159.22], "category_id": 1, "id": 144514}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 173, 1, 418, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 118, 1], "image_id": 107972, "bbox": [394.25, 127.27, 62.83, 98.31], "category_id": 1, "id": 144526}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 327, 2, 0, 0, 0, 422, 600, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104171, "bbox": [216.49, 68.8, 210.51, 569.62], "category_id": 1, "id": 144533}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [265, 206, 2, 215, 207, 2, 0, 0, 0, 203, 244, 1, 0, 0, 0, 0, 0, 0, 259, 279, 2, 219, 280, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 160, 1, 244, 199, 1], "image_id": 106221, "bbox": [199.97, 156.66, 83.08, 154.01], "category_id": 1, "id": 144536}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 38, 2, 148, 37, 2, 190, 48, 2, 154, 49, 2, 180, 86, 2, 151, 89, 1, 0, 0, 0, 0, 0, 0], "image_id": 104103, "bbox": [135.45, 32.42, 60.56, 63.54], "category_id": 1, "id": 144545}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 132, 2, 0, 0, 0, 593, 226, 1, 0, 0, 0, 0, 0, 0], "image_id": 108138, "bbox": [582.07, 0, 57.93, 233.17], "category_id": 1, "id": 144546}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103224, "bbox": [461.01, 586.78, 18.59, 53.22], "category_id": 1, "id": 144547}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [542, 220, 1, 460, 233, 1, 564, 316, 2, 462, 310, 1, 507, 343, 2, 469, 336, 1, 536, 343, 2, 476, 341, 1, 489, 388, 2, 434, 367, 1, 0, 0, 0, 422, 460, 2, 477, 144, 1, 492, 212, 1], "image_id": 108296, "bbox": [409.6, 167.91, 230.4, 312.09], "category_id": 1, "id": 144563}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 163, 1, 615, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, 84, 1, 0, 0, 0], "image_id": 103628, "bbox": [609.82, 75.47, 30.18, 80.64], "category_id": 1, "id": 144600}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 208, 1, 49, 216, 1], "image_id": 103862, "bbox": [40.49, 205.31, 18.4, 13.23], "category_id": 1, "id": 144606}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 131, 1, 392, 138, 1], "image_id": 105134, "bbox": [383.16, 130.68, 18.44, 32.06], "category_id": 1, "id": 144616}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104350, "bbox": [82.93, 395.25, 31.78, 47.21], "category_id": 1, "id": 144620}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 175, 1, 602, 192, 1], "image_id": 103039, "bbox": [593.52, 174.02, 24.22, 34.24], "category_id": 1, "id": 144625}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 81, 1, 355, 88, 1], "image_id": 103928, "bbox": [340.24, 80.3, 22.21, 21.44], "category_id": 1, "id": 144628}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [377, 59, 2, 364, 59, 2, 381, 83, 1, 363, 80, 2, 379, 104, 1, 347, 80, 2, 370, 103, 1, 357, 105, 2, 354, 133, 2, 386, 135, 1, 341, 162, 2, 0, 0, 0, 369, 24, 1, 371, 51, 1], "image_id": 103268, "bbox": [332.82, 22.13, 57.04, 145.11], "category_id": 1, "id": 144633}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107358, "bbox": [354.72, 229.63, 9.97, 28.61], "category_id": 1, "id": 144641}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [504, 57, 2, 479, 57, 2, 509, 78, 2, 471, 75, 1, 492, 83, 1, 489, 82, 1, 498, 87, 1, 482, 87, 2, 505, 91, 2, 472, 99, 2, 505, 120, 2, 472, 122, 1, 490, 34, 1, 492, 53, 1], "image_id": 103844, "bbox": [463.88, 37.6, 50.7, 89.63], "category_id": 1, "id": 144655}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107358, "bbox": [338.96, 234.73, 8.62, 26.31], "category_id": 1, "id": 144659}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 140, 1, 0, 0, 0], "image_id": 107326, "bbox": [443.83, 140.12, 29.32, 34.93], "category_id": 1, "id": 144662}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108116, "bbox": [607.98, 203.37, 9.43, 26.59], "category_id": 1, "id": 144665}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [130, 161, 2, 151, 159, 2, 115, 174, 2, 0, 0, 0, 108, 179, 2, 0, 0, 0, 132, 188, 1, 145, 188, 1, 113, 177, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 135, 1, 139, 150, 1], "image_id": 102956, "bbox": [103.06, 133.44, 51.35, 54.97], "category_id": 1, "id": 144670}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 61, 1, 0, 0, 0], "image_id": 108324, "bbox": [396.94, 58.97, 28.77, 44.58], "category_id": 1, "id": 144683}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [171, 174, 2, 193, 166, 2, 159, 191, 2, 204, 182, 2, 156, 187, 2, 190, 182, 2, 176, 198, 2, 186, 194, 2, 157, 196, 2, 164, 190, 2, 0, 0, 0, 0, 0, 0, 172, 152, 1, 178, 166, 1], "image_id": 102956, "bbox": [143.15, 150.9, 63.82, 57.09], "category_id": 1, "id": 144709}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [463, 210, 2, 483, 210, 2, 460, 233, 1, 487, 229, 2, 0, 0, 0, 0, 0, 0, 464, 246, 1, 479, 247, 1, 465, 282, 1, 483, 282, 2, 0, 0, 0, 0, 0, 0, 481, 185, 1, 476, 202, 1], "image_id": 106055, "bbox": [457.44, 180.49, 31.56, 123.9], "category_id": 1, "id": 144720}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 145, 1, 180, 149, 1], "image_id": 106157, "bbox": [172.67, 143.28, 13.24, 29.92], "category_id": 1, "id": 144733}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [25, 225, 2, 0, 0, 0, 64, 247, 2, 0, 0, 0, 94, 224, 2, 0, 0, 0, 3, 298, 2, 0, 0, 0, 57, 284, 2, 10, 279, 2, 22, 333, 2, 0, 0, 0, 3, 166, 1, 0, 210, 1], "image_id": 104042, "bbox": [0, 158.2, 123.88, 188.39], "category_id": 1, "id": 144763}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [450, 109, 2, 430, 108, 2, 439, 127, 2, 0, 0, 0, 426, 133, 2, 0, 0, 0, 444, 133, 2, 430, 132, 2, 431, 139, 2, 405, 139, 2, 437, 160, 2, 423, 157, 2, 437, 87, 1, 437, 101, 1], "image_id": 104860, "bbox": [402.62, 82.34, 57.04, 85.85], "category_id": 1, "id": 144778}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105021, "bbox": [292.15, 67.88, 9.58, 8.09], "category_id": 1, "id": 144790}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105639, "bbox": [203.57, 90.5, 35.05, 33.35], "category_id": 1, "id": 144791}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [483, 285, 2, 453, 308, 1, 0, 0, 0, 518, 335, 1, 553, 275, 1, 533, 262, 1, 521, 394, 1, 506, 413, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 217, 1, 449, 282, 1], "image_id": 105071, "bbox": [404.24, 205.98, 119.19, 220.02], "category_id": 1, "id": 144798}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [572, 29, 1, 515, 36, 2, 589, 97, 2, 0, 0, 0, 521, 81, 2, 495, 92, 2, 551, 178, 1, 511, 177, 1, 556, 266, 2, 513, 256, 2, 0, 0, 0, 518, 338, 2, 0, 0, 0, 542, 16, 1], "image_id": 107612, "bbox": [464.92, 6.06, 135.84, 349.3], "category_id": 1, "id": 144799}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 304, 186, 2, 0, 0, 0, 274, 213, 2, 0, 0, 0, 268, 187, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103441, "bbox": [263.94, 155.64, 40.4, 64], "category_id": 1, "id": 144818}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [35, 257, 2, 63, 273, 2, 0, 0, 0, 49, 344, 2, 0, 0, 0, 112, 384, 2, 16, 391, 2, 42, 408, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 177, 1, 59, 247, 1], "image_id": 106221, "bbox": [0, 168.85, 113.51, 260.15], "category_id": 1, "id": 144840}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 517, 165, 1], "image_id": 104948, "bbox": [510.49, 162.21, 11.88, 28.78], "category_id": 1, "id": 144841}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 267, 1, 604, 273, 1], "image_id": 104600, "bbox": [572.33, 263.71, 45.1, 15.26], "category_id": 1, "id": 144855}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 80, 1, 335, 83, 1], "image_id": 103075, "bbox": [330.43, 80.01, 8.9, 21.04], "category_id": 1, "id": 144863}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108490, "bbox": [309.34, 121.34, 16.66, 22.82], "category_id": 1, "id": 144873}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 108, 1, 312, 124, 1], "image_id": 108296, "bbox": [300.9, 108.27, 27.28, 46.1], "category_id": 1, "id": 144895}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103075, "bbox": [623.52, 97.31, 14.16, 16.82], "category_id": 1, "id": 144896}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [413, 23, 2, 496, 20, 2, 392, 94, 1, 525, 85, 2, 0, 0, 0, 522, 154, 2, 418, 159, 1, 487, 156, 2, 417, 251, 1, 484, 253, 1, 0, 0, 0, 494, 347, 1, 0, 0, 0, 459, 5, 1], "image_id": 103544, "bbox": [382.02, 0.87, 162.21, 309.5], "category_id": 1, "id": 144905}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103937, "bbox": [33.96, 142.87, 8.25, 12.67], "category_id": 1, "id": 144908}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104518, "bbox": [349.79, 261.03, 95.21, 378.97], "category_id": 1, "id": 144919}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [627, 99, 2, 563, 100, 2, 630, 147, 2, 556, 147, 2, 600, 153, 1, 592, 161, 1, 612, 169, 1, 568, 169, 2, 628, 163, 1, 575, 163, 2, 615, 233, 1, 580, 228, 1, 595, 47, 1, 595, 88, 1], "image_id": 104345, "bbox": [548.54, 38.18, 91.46, 168.87], "category_id": 1, "id": 144920}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 2, 26, 14, 2, 17, 47, 2, 29, 50, 2, 15, 74, 2, 26, 79, 2, 0, 0, 0, 0, 0, 0], "image_id": 106742, "bbox": [1.67, 0, 43.69, 94.97], "category_id": 1, "id": 144928}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 161, 1], "image_id": 104948, "bbox": [571.65, 158.75, 6.71, 10.57], "category_id": 1, "id": 144936}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 15, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 141, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105828, "bbox": [0, 8.99, 59.3, 372.42], "category_id": 1, "id": 144945}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [424, 73, 2, 405, 73, 2, 428, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 112, 2, 411, 115, 2, 424, 149, 2, 405, 151, 1, 424, 187, 1, 411, 184, 2, 407, 42, 1, 412, 64, 1], "image_id": 107612, "bbox": [397.11, 37.96, 40.68, 164.49], "category_id": 1, "id": 144948}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 482, 216, 1, 482, 220, 1], "image_id": 103203, "bbox": [477.68, 215.67, 14.66, 29.09], "category_id": 1, "id": 144951}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 65, 1, 563, 74, 1], "image_id": 104772, "bbox": [545.23, 64.72, 28, 44.54], "category_id": 1, "id": 144952}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [305, 96, 2, 274, 92, 2, 0, 0, 0, 270, 118, 2, 0, 0, 0, 290, 104, 2, 286, 136, 1, 265, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 61, 1, 292, 89, 1], "image_id": 103703, "bbox": [250.63, 55.18, 67.2, 77.05], "category_id": 1, "id": 144953}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 189, 1, 479, 198, 1], "image_id": 105582, "bbox": [465.46, 185.36, 29.49, 76.97], "category_id": 1, "id": 144954}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 64, 1, 178, 88, 1], "image_id": 107273, "bbox": [155.75, 63.79, 46.07, 41.14], "category_id": 1, "id": 144959}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 58, 1, 256, 70, 1], "image_id": 104658, "bbox": [247.75, 58.04, 20.51, 29.51], "category_id": 1, "id": 144969}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 595, 166, 1, 594, 170, 1], "image_id": 104948, "bbox": [588.5, 165.83, 11.45, 21.58], "category_id": 1, "id": 144971}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103203, "bbox": [457.64, 215.66, 11.33, 31.34], "category_id": 1, "id": 144983}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 75, 231, 2, 210, 310, 2, 0, 0, 0, 121, 279, 2, 0, 0, 0, 0, 0, 0, 182, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 184, 1, 139, 232, 1], "image_id": 107526, "bbox": [66.34, 160.48, 153.37, 157.8], "category_id": 1, "id": 144992}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104344, "bbox": [0, 203.2, 145.23, 74.01], "category_id": 1, "id": 144993}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 115, 1, 0, 0, 0], "image_id": 107273, "bbox": [297.66, 111.63, 26.27, 47.34], "category_id": 1, "id": 144996}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [382, 249, 2, 322, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 188, 1, 352, 236, 1], "image_id": 106221, "bbox": [329.86, 183.39, 63.65, 114.46], "category_id": 1, "id": 144997}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [232, 253, 2, 244, 254, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 279, 2, 241, 280, 2, 236, 298, 2, 0, 0, 0, 234, 317, 2, 0, 0, 0, 243, 239, 1, 239, 248, 1], "image_id": 106888, "bbox": [221.67, 237.43, 27.62, 85.5], "category_id": 1, "id": 145011}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 12, 1, 384, 19, 1], "image_id": 107213, "bbox": [376.24, 10.72, 22.38, 52.03], "category_id": 1, "id": 145013}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 156, 1, 0, 0, 0], "image_id": 103777, "bbox": [258.85, 150.52, 59.03, 70.34], "category_id": 1, "id": 145024}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104600, "bbox": [148.15, 208.55, 25.94, 29.57], "category_id": 1, "id": 145035}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103441, "bbox": [433.07, 200.53, 94.96, 112.69], "category_id": 1, "id": 145053}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [96, 291, 2, 139, 294, 2, 0, 0, 0, 160, 360, 2, 0, 0, 0, 194, 344, 2, 108, 401, 2, 127, 403, 2, 0, 0, 0, 194, 387, 2, 0, 0, 0, 158, 418, 2, 150, 237, 1, 130, 276, 1], "image_id": 106073, "bbox": [81.08, 231.36, 131.5, 204.67], "category_id": 1, "id": 145065}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [42, 167, 2, 32, 167, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 184, 2, 32, 184, 2, 39, 202, 2, 31, 201, 2, 38, 220, 2, 30, 219, 2, 37, 153, 1, 38, 162, 1], "image_id": 107524, "bbox": [25.09, 151.12, 22.47, 71.49], "category_id": 1, "id": 145092}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107358, "bbox": [391.92, 224.71, 6.27, 17.03], "category_id": 1, "id": 145103}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 199, 2, 240, 152, 1, 187, 173, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 367, 1, 0, 0, 0, 0, 0, 0], "image_id": 103544, "bbox": [174.67, 150.43, 46.38, 249.32], "category_id": 1, "id": 145114}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 234, 1], "image_id": 104497, "bbox": [33.48, 232.48, 2.81, 9.78], "category_id": 1, "id": 145117}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 174, 1, 229, 177, 1], "image_id": 103705, "bbox": [219.89, 172.97, 11.42, 17.78], "category_id": 1, "id": 145124}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 229, 1, 21, 234, 1], "image_id": 108026, "bbox": [15.64, 229.68, 11.63, 9.18], "category_id": 1, "id": 145156}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 75, 1, 201, 87, 1], "image_id": 103250, "bbox": [190.17, 74.46, 19.68, 16.59], "category_id": 1, "id": 145160}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [177, 174, 2, 84, 171, 2, 182, 262, 2, 42, 257, 1, 93, 265, 2, 90, 251, 2, 124, 325, 1, 64, 321, 1, 119, 367, 2, 9, 367, 2, 0, 0, 0, 0, 0, 0, 118, 95, 1, 129, 175, 1], "image_id": 102797, "bbox": [0, 79.21, 198.03, 400.79], "category_id": 1, "id": 145171}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 493, 216, 1, 494, 222, 1], "image_id": 103203, "bbox": [488.27, 214.21, 12.58, 28.5], "category_id": 1, "id": 145185}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 271, 1, 312, 278, 1], "image_id": 106431, "bbox": [304.74, 271.07, 21.99, 52.99], "category_id": 1, "id": 145204}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 192, 1, 432, 209, 1], "image_id": 106055, "bbox": [421.74, 191.1, 22.68, 36.99], "category_id": 1, "id": 145207}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [466, 139, 2, 411, 140, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 89, 1, 435, 134, 1], "image_id": 103896, "bbox": [390.66, 84.06, 97.31, 73.2], "category_id": 1, "id": 145211}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [179, 249, 1, 124, 251, 2, 0, 0, 0, 122, 346, 1, 0, 0, 0, 0, 0, 0, 168, 377, 1, 128, 387, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 166, 1, 156, 242, 1], "image_id": 105825, "bbox": [90.41, 148.64, 103.55, 291.23], "category_id": 1, "id": 145223}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [149, 246, 2, 163, 245, 2, 145, 266, 2, 167, 259, 2, 0, 0, 0, 168, 273, 1, 151, 275, 2, 162, 274, 2, 156, 293, 2, 159, 292, 2, 0, 0, 0, 0, 0, 0, 154, 227, 1, 155, 238, 1], "image_id": 106888, "bbox": [142.84, 226.29, 27.28, 73.85], "category_id": 1, "id": 145240}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 336, 1, 23, 342, 1], "image_id": 102646, "bbox": [2.2, 332.92, 30.02, 60.81], "category_id": 1, "id": 145241}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [627, 255, 2, 597, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, 225, 1, 611, 253, 1], "image_id": 108061, "bbox": [597.56, 222.39, 42.44, 66.68], "category_id": 1, "id": 145244}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [372, 257, 2, 413, 254, 2, 0, 0, 0, 422, 298, 2, 0, 0, 0, 0, 0, 0, 366, 310, 2, 395, 311, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 225, 1, 392, 247, 1], "image_id": 106073, "bbox": [352.36, 221.52, 80.2, 104.42], "category_id": 1, "id": 145246}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [115, 157, 2, 72, 155, 2, 121, 187, 2, 66, 191, 1, 92, 180, 2, 60, 177, 2, 101, 215, 2, 78, 215, 2, 107, 266, 2, 81, 264, 2, 123, 305, 2, 87, 304, 2, 84, 124, 1, 93, 146, 1], "image_id": 102576, "bbox": [49.82, 114.68, 81.32, 207.63], "category_id": 1, "id": 145269}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107357, "bbox": [356.71, 181.64, 24.76, 28.65], "category_id": 1, "id": 145270}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [149.68, 212.48, 5.55, 13.5], "category_id": 1, "id": 145272}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 391, 2, 0, 0, 0, 476, 389, 2, 0, 0, 0, 477, 406, 2, 0, 0, 0, 477, 459, 2, 0, 0, 0, 474, 490, 1, 0, 0, 0, 0, 0, 0], "image_id": 102646, "bbox": [463.01, 365.2, 16.99, 137.12], "category_id": 1, "id": 145285}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [582, 135, 2, 534, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 563, 130, 1], "image_id": 103896, "bbox": [536.78, 85.65, 57.77, 67.7], "category_id": 1, "id": 145294}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [372, 82, 2, 380, 78, 2, 363, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 132, 2, 381, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 52, 1, 373, 73, 1], "image_id": 107612, "bbox": [361.56, 52.15, 26.18, 95.21], "category_id": 1, "id": 145306}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 46, 1, 216, 56, 1], "image_id": 104658, "bbox": [204.12, 45.09, 27.52, 28.58], "category_id": 1, "id": 145309}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [423, 89, 2, 0, 0, 0, 397, 107, 2, 0, 0, 0, 382, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 52, 1, 418, 79, 1], "image_id": 103703, "bbox": [378.01, 49.57, 59.59, 76.42], "category_id": 1, "id": 145317}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 71, 1, 457, 78, 1], "image_id": 103703, "bbox": [453.63, 71.23, 13.63, 20.94], "category_id": 1, "id": 145327}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [523, 76, 2, 539, 70, 2, 526, 90, 2, 0, 0, 0, 526, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 62, 1, 530, 70, 1], "image_id": 104772, "bbox": [521.12, 61.5, 29.36, 59.41], "category_id": 1, "id": 145333}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 272, 1, 385, 276, 1], "image_id": 104497, "bbox": [382.21, 272.83, 7.86, 23.19], "category_id": 1, "id": 145337}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 258, 1], "image_id": 106212, "bbox": [371.41, 254.12, 17.19, 32.18], "category_id": 1, "id": 145347}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107241, "bbox": [569.25, 221.81, 17.33, 26.71], "category_id": 1, "id": 145359}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 281, 1, 529, 300, 2, 0, 0, 0, 549, 276, 2, 0, 0, 0, 0, 0, 0], "image_id": 106540, "bbox": [526.59, 256.66, 41.89, 50.61], "category_id": 1, "id": 145373}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [118, 232, 2, 87, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 300, 2, 92, 303, 1, 117, 349, 2, 89, 359, 2, 117, 397, 2, 86, 402, 1, 102, 187, 1, 102, 225, 1], "image_id": 104747, "bbox": [83.31, 179.93, 58.35, 233.85], "category_id": 1, "id": 145374}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105183, "bbox": [511.01, 158.29, 9.39, 16.56], "category_id": 1, "id": 145380}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 150, 1, 189, 175, 1], "image_id": 108490, "bbox": [177.59, 149.21, 24.14, 81.47], "category_id": 1, "id": 145382}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104747, "bbox": [0, 243.39, 5.59, 65.49], "category_id": 1, "id": 145385}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102761, "bbox": [132.98, 0.44, 19.64, 10.26], "category_id": 1, "id": 145386}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106582, "bbox": [204.58, 316.1, 14.68, 18.08], "category_id": 1, "id": 145387}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 105, 1, 521, 117, 1], "image_id": 104658, "bbox": [504.35, 104.56, 24.05, 37.75], "category_id": 1, "id": 145405}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 612, 227, 2, 0, 0, 0, 593, 253, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 272, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 198, 1, 621, 223, 1], "image_id": 107726, "bbox": [587.58, 195.21, 46.3, 72.47], "category_id": 1, "id": 145418}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 37, 1, 631, 48, 1, 586, 39, 2, 606, 39, 2, 613, 85, 2, 608, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107363, "bbox": [566.26, 34.93, 59.52, 62.41], "category_id": 1, "id": 145433}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [485, 60, 2, 464, 58, 2, 485, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 25, 1, 477, 53, 1], "image_id": 103268, "bbox": [452.6, 20.59, 47.26, 81.51], "category_id": 1, "id": 145446}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [633, 221, 2, 540, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 125, 1, 588, 204, 1], "image_id": 105071, "bbox": [535.3, 109.92, 104.7, 209.06], "category_id": 1, "id": 145454}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [600, 268, 2, 591, 262, 2, 602, 292, 2, 586, 289, 2, 578, 302, 2, 573, 300, 2, 596, 313, 2, 589, 311, 2, 598, 335, 2, 585, 331, 2, 605, 359, 1, 587, 351, 2, 584, 243, 1, 592, 262, 1], "image_id": 107241, "bbox": [562.46, 240, 63.03, 118.6], "category_id": 1, "id": 145465}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [11, 57, 2, 0, 0, 0, 43, 98, 2, 0, 0, 0, 67, 130, 2, 12, 64, 2, 29, 156, 2, 0, 0, 0, 41, 229, 2, 5, 237, 2, 52, 292, 2, 17, 298, 1, 0, 0, 0, 0, 0, 0], "image_id": 107213, "bbox": [0, 4.59, 81.02, 340.27], "category_id": 1, "id": 145476}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [620, 378, 1, 504, 402, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 273, 1, 559, 379, 1], "image_id": 105071, "bbox": [489.31, 259.33, 134.64, 166.27], "category_id": 1, "id": 145477}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 48, 204, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 297, 1, 41, 298, 2, 14, 394, 2, 53, 392, 2, 10, 471, 1, 71, 465, 2, 37, 143, 1, 30, 183, 1], "image_id": 104729, "bbox": [1.44, 136.63, 93.48, 385.44], "category_id": 1, "id": 145479}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 59, 2, 171, 62, 2, 201, 145, 1, 155, 144, 1, 0, 0, 0, 0, 0, 0], "image_id": 103320, "bbox": [143.15, 0.47, 80.88, 110.7], "category_id": 1, "id": 145480}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [23, 78, 2, 8, 75, 2, 30, 96, 2, 5, 92, 2, 26, 104, 2, 11, 103, 2, 19, 105, 2, 10, 101, 2, 16, 120, 2, 0, 0, 0, 0, 0, 0, 15, 114, 2, 21, 56, 1, 17, 72, 1], "image_id": 103268, "bbox": [0, 51.79, 32.7, 70.22], "category_id": 1, "id": 145484}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [279, 270, 2, 279, 268, 2, 280, 296, 2, 277, 290, 2, 255, 293, 2, 265, 282, 2, 269, 323, 2, 272, 317, 2, 238, 297, 2, 240, 295, 2, 0, 0, 0, 218, 323, 1, 255, 243, 1, 273, 263, 1], "image_id": 106073, "bbox": [224.45, 238.15, 76.23, 91.24], "category_id": 1, "id": 145500}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 220, 1, 33, 229, 1], "image_id": 103737, "bbox": [25.76, 219.91, 19.64, 84.24], "category_id": 1, "id": 145517}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [112, 204, 1, 0, 0, 0, 71, 281, 2, 0, 0, 0, 47, 199, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 302, 1, 52, 277, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107612, "bbox": [28.64, 166.85, 92.75, 125.22], "category_id": 1, "id": 145520}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 6, 1, 309, 19, 1], "image_id": 107213, "bbox": [295.77, 2.89, 27.4, 26.49], "category_id": 1, "id": 145537}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 270, 1, 301, 277, 1], "image_id": 106431, "bbox": [291.76, 269.95, 19.88, 54.89], "category_id": 1, "id": 145545}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103703, "bbox": [305.51, 109.81, 26.89, 28.6], "category_id": 1, "id": 145586}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 171, 1, 306, 177, 1], "image_id": 105134, "bbox": [299.37, 170.01, 13.29, 25.91], "category_id": 1, "id": 145587}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [476, 198, 2, 0, 0, 0, 469, 230, 2, 0, 0, 0, 458, 256, 2, 0, 0, 0, 450, 262, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 160, 1, 471, 186, 1], "image_id": 105378, "bbox": [434.94, 156.4, 54.35, 128.93], "category_id": 1, "id": 145591}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106609, "bbox": [300.79, 110.21, 13.85, 18.97], "category_id": 1, "id": 145593}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 33, 179, 2, 0, 0, 0, 145, 177, 2, 0, 0, 0, 305, 139, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 48, 1, 17, 151, 1], "image_id": 105071, "bbox": [0.96, 25.43, 362.68, 394.33], "category_id": 1, "id": 145604}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [590, 253, 2, 590, 249, 2, 592, 287, 2, 0, 0, 0, 569, 283, 2, 0, 0, 0, 597, 296, 2, 596, 292, 2, 559, 294, 2, 563, 289, 2, 519, 305, 2, 507, 297, 2, 583, 224, 1, 586, 244, 1], "image_id": 106073, "bbox": [487.15, 219.98, 129.9, 87.62], "category_id": 1, "id": 145627}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [175, 131, 1, 133, 137, 2, 0, 0, 0, 0, 0, 0, 176, 164, 1, 132, 165, 2, 173, 193, 2, 146, 197, 2, 178, 245, 2, 150, 251, 2, 174, 278, 2, 159, 285, 2, 154, 91, 1, 159, 124, 1], "image_id": 103544, "bbox": [101.01, 87.67, 101.01, 222.98], "category_id": 1, "id": 145630}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [33, 10, 2, 2, 12, 2, 47, 40, 2, 0, 0, 0, 45, 59, 2, 11, 65, 2, 41, 69, 2, 24, 73, 2, 49, 99, 2, 30, 111, 2, 47, 129, 2, 38, 142, 2, 0, 0, 0, 15, 3, 1], "image_id": 105506, "bbox": [0.42, 0.46, 57.93, 150.95], "category_id": 1, "id": 145635}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103718, "bbox": [451.76, 94.25, 5.7, 10.88], "category_id": 1, "id": 145642}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [363, 216, 1, 383, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 247, 1, 382, 247, 2, 367, 278, 1, 382, 279, 2, 366, 306, 2, 381, 307, 2, 372, 198, 1, 371, 211, 1], "image_id": 106055, "bbox": [357.48, 195.75, 29.86, 119.76], "category_id": 1, "id": 145666}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 305, 1, 0, 0, 0], "image_id": 106582, "bbox": [362.73, 305.54, 18.19, 16.29], "category_id": 1, "id": 145672}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 632, 220, 2, 0, 0, 0, 608, 269, 2, 0, 0, 0, 626, 253, 2, 0, 0, 0, 634, 296, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, 198, 1, 619, 220, 1], "image_id": 107726, "bbox": [606.14, 201.53, 33.86, 83.12], "category_id": 1, "id": 145680}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [463, 91, 2, 446, 91, 2, 464, 103, 2, 444, 102, 2, 457, 97, 2, 451, 96, 2, 459, 115, 2, 447, 115, 2, 458, 134, 1, 448, 136, 2, 457, 153, 1, 448, 149, 2, 456, 77, 1, 455, 87, 1], "image_id": 107612, "bbox": [440.8, 75.03, 26.83, 82.6], "category_id": 1, "id": 145707}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [403, 257, 2, 360, 258, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 210, 1, 380, 247, 1], "image_id": 108503, "bbox": [353.8, 204.22, 54.65, 60.41], "category_id": 1, "id": 145732}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [97, 202, 1, 160, 196, 2, 0, 0, 0, 195, 293, 2, 0, 0, 0, 214, 238, 2, 114, 333, 2, 164, 335, 2, 152, 463, 1, 186, 462, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 182, 1], "image_id": 102907, "bbox": [92.56, 176.18, 133.58, 286.09], "category_id": 1, "id": 145742}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [381, 153, 2, 329, 153, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 102, 1, 353, 146, 1], "image_id": 103896, "bbox": [321.19, 103.94, 79.25, 55.13], "category_id": 1, "id": 145743}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [365, 240, 2, 372, 252, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 288, 1, 360, 294, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 219, 1, 375, 241, 1], "image_id": 106073, "bbox": [345.61, 214.54, 46.86, 80.56], "category_id": 1, "id": 145754}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [544, 159, 1, 487, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 110, 1, 517, 149, 1], "image_id": 103896, "bbox": [483.61, 106.1, 77.73, 53.05], "category_id": 1, "id": 145760}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 261, 1, 26, 271, 1], "image_id": 106431, "bbox": [15.78, 259.95, 22.95, 69.57], "category_id": 1, "id": 145761}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 188, 1, 115, 196, 1], "image_id": 107726, "bbox": [99.6, 187.46, 16.49, 54.39], "category_id": 1, "id": 145766}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [227, 193, 2, 243, 189, 2, 211, 214, 2, 0, 0, 0, 211, 206, 2, 0, 0, 0, 232, 225, 1, 244, 224, 1, 208, 214, 2, 0, 0, 0, 194, 218, 1, 0, 0, 0, 225, 169, 1, 231, 184, 1], "image_id": 102956, "bbox": [198.6, 166.36, 50.06, 59.14], "category_id": 1, "id": 145768}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 63, 1, 171, 73, 1], "image_id": 108035, "bbox": [154.94, 61.34, 36.35, 30.7], "category_id": 1, "id": 145800}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [183, 193, 2, 192, 192, 2, 174, 208, 2, 0, 0, 0, 164, 203, 2, 0, 0, 0, 192, 218, 1, 201, 217, 1, 170, 219, 1, 0, 0, 0, 157, 237, 2, 0, 0, 0, 181, 181, 1, 185, 189, 1], "image_id": 107524, "bbox": [140.34, 178.92, 65.05, 65.96], "category_id": 1, "id": 145823}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 540, 1, 410, 546, 1], "image_id": 103224, "bbox": [400.98, 539.61, 19.01, 46.24], "category_id": 1, "id": 145826}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106609, "bbox": [603.78, 103.79, 12.7, 15.62], "category_id": 1, "id": 145837}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 231, 1, 282, 235, 1], "image_id": 105960, "bbox": [276.15, 231.01, 10.8, 21.59], "category_id": 1, "id": 145849}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [280, 208, 2, 304, 203, 2, 266, 222, 2, 313, 214, 2, 266, 228, 2, 301, 218, 2, 284, 238, 2, 295, 237, 2, 261, 229, 2, 277, 225, 2, 249, 238, 1, 0, 0, 0, 284, 182, 1, 288, 197, 1], "image_id": 102956, "bbox": [250.7, 178.99, 69.52, 66.36], "category_id": 1, "id": 145854}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [631, 214, 2, 567, 213, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 154, 1, 601, 199, 1], "image_id": 104345, "bbox": [555.14, 150.42, 81.67, 66.16], "category_id": 1, "id": 145858}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [316, 155, 2, 306, 170, 2, 0, 0, 0, 344, 224, 1, 0, 0, 0, 366, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 94, 1, 310, 149, 1], "image_id": 107612, "bbox": [293.61, 89.6, 56.95, 95.8], "category_id": 1, "id": 145875}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106975, "bbox": [240.57, 151.46, 26.21, 17.89], "category_id": 1, "id": 145886}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [232, 238, 1, 195, 238, 1, 238, 258, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 278, 1, 199, 278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 202, 1, 211, 233, 1], "image_id": 108463, "bbox": [161.88, 192.49, 77.94, 86.75], "category_id": 1, "id": 145894}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 214, 2, 435, 215, 2, 447, 224, 2, 432, 222, 2, 443, 214, 2, 436, 227, 2, 443, 231, 2, 435, 230, 2, 442, 237, 2, 438, 237, 2, 441, 254, 2, 437, 254, 2, 440, 201, 1, 439, 210, 1], "image_id": 105921, "bbox": [427.38, 198.88, 23.56, 64.63], "category_id": 1, "id": 145901}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 193, 1], "image_id": 105134, "bbox": [266.94, 189.18, 5.95, 10.96], "category_id": 1, "id": 145903}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [73, 269, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 153, 1, 17, 260, 1], "image_id": 108296, "bbox": [0, 134.62, 129.36, 303.84], "category_id": 1, "id": 145909}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [389, 327, 2, 360, 331, 2, 401, 380, 2, 0, 0, 0, 363, 412, 1, 0, 0, 0, 386, 421, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 281, 1, 364, 316, 1], "image_id": 107383, "bbox": [339.03, 276.87, 72.7, 122.67], "category_id": 1, "id": 145910}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 62, 1, 112, 65, 1], "image_id": 108035, "bbox": [93.51, 56.98, 25.58, 54.76], "category_id": 1, "id": 145926}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [186, 274, 1, 160, 274, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 235, 1, 175, 266, 1], "image_id": 106073, "bbox": [155.64, 233.94, 34.35, 79.44], "category_id": 1, "id": 145942}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 261, 1, 9, 271, 1], "image_id": 106431, "bbox": [0, 259.95, 18.47, 68.49], "category_id": 1, "id": 145943}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 148, 1], "image_id": 108296, "bbox": [435.8, 118.9, 31.31, 49.02], "category_id": 1, "id": 145954}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [340, 226, 2, 359, 223, 2, 322, 240, 2, 362, 236, 2, 0, 0, 0, 334, 239, 2, 342, 259, 2, 357, 258, 2, 319, 249, 2, 329, 245, 2, 305, 254, 1, 0, 0, 0, 341, 201, 1, 346, 217, 1], "image_id": 102956, "bbox": [299.52, 198.54, 64.26, 66.88], "category_id": 1, "id": 145961}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108035, "bbox": [110.6, 78.27, 25.81, 27.27], "category_id": 1, "id": 145965}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [448, 217, 2, 464, 216, 1, 444, 238, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 253, 2, 463, 253, 1, 450, 288, 2, 464, 287, 1, 450, 308, 2, 465, 308, 1, 448, 195, 1, 453, 208, 1], "image_id": 106055, "bbox": [437.65, 192.25, 27.67, 124.64], "category_id": 1, "id": 145966}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [97, 134, 2, 62, 131, 2, 110, 169, 2, 30, 145, 2, 90, 172, 2, 37, 159, 2, 98, 190, 1, 70, 188, 2, 66, 175, 2, 68, 194, 2, 0, 0, 0, 0, 0, 0, 75, 88, 1, 76, 124, 1], "image_id": 108503, "bbox": [24.38, 86.37, 88.87, 118.5], "category_id": 1, "id": 145978}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [631, 124, 1, 608, 119, 1, 0, 0, 0, 612, 164, 2, 614, 165, 1, 594, 180, 2, 626, 222, 2, 599, 215, 2, 628, 283, 2, 605, 274, 1, 631, 340, 2, 608, 328, 1, 620, 59, 1, 626, 109, 1], "image_id": 106310, "bbox": [564.22, 56.21, 75.78, 333.37], "category_id": 1, "id": 145982}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106609, "bbox": [226.11, 84.57, 7.23, 10.24], "category_id": 1, "id": 145987}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 105, 1, 0, 0, 0], "image_id": 105071, "bbox": [88.83, 88.45, 98.38, 213.95], "category_id": 1, "id": 145988}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 286, 1, 383, 289, 1], "image_id": 106582, "bbox": [377.11, 285.57, 11.92, 18.54], "category_id": 1, "id": 145994}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105116, "bbox": [296.38, 295.71, 16.58, 50.63], "category_id": 1, "id": 146001}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 136, 2, 0, 0, 0, 20, 183, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 30, 1, 43, 64, 1], "image_id": 106055, "bbox": [0, 19.87, 55.81, 172.54], "category_id": 1, "id": 146020}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 7, 1, 108, 16, 1], "image_id": 108139, "bbox": [94.76, 7.12, 22.35, 37.98], "category_id": 1, "id": 146022}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105921, "bbox": [607.02, 216.51, 17.96, 21.06], "category_id": 1, "id": 146033}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [134, 344, 2, 97, 348, 2, 146, 346, 2, 81, 364, 1, 143, 350, 2, 64, 361, 2, 131, 379, 2, 107, 379, 1, 134, 396, 2, 87, 396, 1, 131, 428, 2, 73, 409, 1, 113, 315, 1, 113, 337, 1], "image_id": 106582, "bbox": [55.37, 309.93, 94.85, 132.43], "category_id": 1, "id": 146038}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 231, 1, 38, 234, 2, 50, 262, 1, 41, 266, 2, 51, 287, 2, 44, 288, 2, 0, 0, 0, 29, 193, 1], "image_id": 102907, "bbox": [21.93, 191.44, 33.58, 105.14], "category_id": 1, "id": 146047}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [64, 41, 2, 86, 40, 2, 53, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 90, 2, 81, 90, 2, 65, 119, 1, 81, 118, 2, 66, 151, 1, 83, 152, 1, 72, 13, 1, 72, 32, 1], "image_id": 108035, "bbox": [49.5, 15.02, 43.07, 149.49], "category_id": 1, "id": 146053}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104497, "bbox": [449.69, 259.89, 5.09, 12.74], "category_id": 1, "id": 146061}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [349, 79, 1, 313, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 45, 1, 331, 74, 1], "image_id": 107612, "bbox": [308.98, 41.37, 43.72, 55.89], "category_id": 1, "id": 146062}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [221, 189, 2, 249, 183, 1, 215, 212, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 231, 234, 1, 0, 0, 0, 228, 262, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 161, 1, 235, 177, 1], "image_id": 102907, "bbox": [210.44, 160.37, 36.24, 72.97], "category_id": 1, "id": 146082}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [404, 248, 2, 429, 245, 2, 386, 264, 2, 434, 259, 2, 380, 262, 2, 0, 0, 0, 407, 280, 2, 423, 279, 2, 379, 269, 2, 391, 265, 2, 0, 0, 0, 0, 0, 0, 406, 221, 1, 412, 238, 1], "image_id": 102956, "bbox": [368.56, 217.59, 69.18, 69.57], "category_id": 1, "id": 146083}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [624, 195, 2, 529, 179, 2, 0, 0, 0, 475, 226, 2, 637, 273, 2, 487, 279, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 118, 1, 570, 179, 1], "image_id": 105378, "bbox": [468.47, 109.58, 171.53, 186.06], "category_id": 1, "id": 146104}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [371, 33, 2, 339, 37, 2, 355, 71, 2, 345, 78, 2, 382, 74, 2, 372, 68, 2, 367, 105, 2, 345, 104, 2, 380, 143, 2, 361, 147, 2, 342, 182, 2, 356, 202, 1, 0, 0, 0, 357, 25, 1], "image_id": 105506, "bbox": [327.47, 0, 74.69, 191.98], "category_id": 1, "id": 146111}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [366, 199, 2, 406, 197, 2, 358, 229, 2, 421, 216, 2, 354, 249, 2, 426, 204, 2, 375, 252, 2, 399, 253, 2, 377, 298, 2, 397, 296, 1, 0, 0, 0, 0, 0, 0, 383, 160, 1, 384, 186, 1], "image_id": 105378, "bbox": [350.13, 151.34, 81.83, 152.27], "category_id": 1, "id": 146129}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [535, 143, 2, 481, 137, 2, 519, 182, 2, 473, 180, 2, 494, 176, 2, 505, 180, 2, 521, 208, 2, 483, 205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 85, 1, 508, 129, 1], "image_id": 104345, "bbox": [462.98, 82.41, 72.37, 134.48], "category_id": 1, "id": 146139}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [43, 196, 2, 52, 196, 2, 37, 206, 2, 57, 206, 2, 38, 215, 2, 63, 213, 2, 46, 219, 2, 51, 219, 2, 51, 233, 2, 57, 232, 2, 48, 243, 2, 50, 246, 2, 51, 182, 1, 48, 191, 1], "image_id": 102576, "bbox": [34.78, 178.6, 33.99, 73.24], "category_id": 1, "id": 146147}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 218, 1, 72, 224, 1], "image_id": 105960, "bbox": [61.82, 216.68, 19.8, 38.1], "category_id": 1, "id": 146160}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 269, 1, 430, 276, 1], "image_id": 106431, "bbox": [423.32, 268.49, 16.52, 54.82], "category_id": 1, "id": 146186}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107612, "bbox": [424.61, 58.98, 14.52, 18.05], "category_id": 1, "id": 146193}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 58, 302, 1, 0, 0, 0, 44, 407, 1, 0, 0, 0, 45, 426, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 251, 1, 36, 283, 1], "image_id": 105943, "bbox": [0, 250.31, 47.05, 151.71], "category_id": 1, "id": 146207}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 88, 1, 0, 0, 0], "image_id": 108463, "bbox": [463.1, 86.29, 16.9, 43.15], "category_id": 1, "id": 146212}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [355, 114, 2, 300, 118, 1, 368, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 185, 2, 318, 190, 2, 354, 248, 1, 342, 250, 1, 0, 0, 0, 0, 0, 0, 327, 62, 1, 328, 101, 1], "image_id": 104345, "bbox": [295.97, 71.76, 76.43, 144.6], "category_id": 1, "id": 146220}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 197, 1], "image_id": 106073, "bbox": [80.8, 193.61, 9.33, 21.55], "category_id": 1, "id": 146222}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 567, 211, 1, 568, 223, 1], "image_id": 105921, "bbox": [548.81, 210.41, 33.7, 29.89], "category_id": 1, "id": 146223}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104600, "bbox": [303.42, 231.71, 19.52, 21.4], "category_id": 1, "id": 146229}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105071, "bbox": [184.21, 107.39, 62.38, 36.67], "category_id": 1, "id": 146232}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108463, "bbox": [206.33, 134.32, 31.63, 46.08], "category_id": 1, "id": 146233}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [422, 322, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 287, 1, 406, 314, 1], "image_id": 107383, "bbox": [392.71, 285.55, 37.39, 87.67], "category_id": 1, "id": 146239}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 625, 10, 1, 0, 0, 0, 0, 0, 0, 630, 67, 2, 0, 0, 0, 0, 0, 0, 605, 168, 2, 0, 0, 0, 600, 309, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107612, "bbox": [577.63, 0, 62.37, 354.97], "category_id": 1, "id": 146241}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 228, 1, 610, 233, 1], "image_id": 105960, "bbox": [598.46, 226.79, 19.42, 26.59], "category_id": 1, "id": 146244}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 553, 1, 93, 557, 1], "image_id": 103224, "bbox": [80.54, 552.27, 25.89, 27.33], "category_id": 1, "id": 146248}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 279, 1, 33, 283, 1], "image_id": 104497, "bbox": [28.22, 279.29, 10.95, 16.98], "category_id": 1, "id": 146252}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 264, 1, 443, 271, 1], "image_id": 106431, "bbox": [436.39, 262.2, 12.74, 55.15], "category_id": 1, "id": 146277}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105134, "bbox": [280.56, 185.05, 5.73, 11.22], "category_id": 1, "id": 146294}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [372, 15, 2, 394, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 81, 2, 396, 79, 2, 363, 122, 1, 401, 117, 2, 342, 156, 1, 410, 164, 2, 0, 0, 0, 387, 8, 1], "image_id": 105506, "bbox": [365.42, 0, 56.27, 177.85], "category_id": 1, "id": 146296}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [592, 111, 2, 613, 110, 2, 578, 128, 2, 614, 126, 2, 577, 124, 2, 0, 0, 0, 587, 136, 2, 598, 137, 2, 565, 129, 2, 570, 127, 2, 550, 135, 1, 0, 0, 0, 599, 90, 1, 601, 104, 1], "image_id": 102956, "bbox": [553.26, 88.7, 65.41, 52.33], "category_id": 1, "id": 146297}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [531, 98, 2, 549, 92, 2, 528, 114, 2, 551, 108, 2, 0, 0, 0, 0, 0, 0, 537, 123, 2, 546, 119, 2, 512, 115, 2, 520, 113, 2, 0, 0, 0, 0, 0, 0, 532, 73, 1, 538, 89, 1], "image_id": 102956, "bbox": [498.57, 72.12, 57.33, 54.38], "category_id": 1, "id": 146306}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 454, 314, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 411, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105071, "bbox": [315.91, 163.41, 201.03, 257.52], "category_id": 1, "id": 146307}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 531, 1, 152, 540, 1], "image_id": 103224, "bbox": [146.75, 530.52, 16.41, 59.54], "category_id": 1, "id": 146313}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [22, 47, 2, 48, 47, 2, 15, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 88, 2, 45, 90, 2, 26, 122, 2, 44, 121, 1, 27, 149, 1, 44, 145, 2, 34, 20, 1, 34, 37, 1], "image_id": 108035, "bbox": [11.24, 20.03, 41.24, 135.39], "category_id": 1, "id": 146321}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 178, 1, 598, 184, 1], "image_id": 106073, "bbox": [594.07, 177.3, 7.56, 32.58], "category_id": 1, "id": 146340}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 50, 1, 444, 63, 1], "image_id": 104658, "bbox": [430.01, 49.37, 25.56, 28.11], "category_id": 1, "id": 146344}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 275, 1], "image_id": 106431, "bbox": [280.61, 264.75, 9, 18.47], "category_id": 1, "id": 146348}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [89, 206, 2, 81, 203, 2, 81, 221, 2, 69, 221, 2, 60, 228, 2, 55, 226, 2, 88, 244, 2, 76, 240, 2, 78, 269, 2, 0, 0, 0, 84, 303, 1, 0, 0, 0, 75, 181, 1, 81, 199, 1], "image_id": 105921, "bbox": [37.64, 176.59, 61.31, 142.03], "category_id": 1, "id": 146354}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 267, 1, 342, 273, 1], "image_id": 106431, "bbox": [334.83, 266.16, 16.15, 58.26], "category_id": 1, "id": 146355}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104345, "bbox": [0, 146.66, 11.33, 34.29], "category_id": 1, "id": 146362}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104497, "bbox": [40.55, 252.62, 6.45, 7.71], "category_id": 1, "id": 146365}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 70, 1, 91, 82, 1], "image_id": 103250, "bbox": [82.12, 68.97, 21.54, 37.51], "category_id": 1, "id": 146375}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104497, "bbox": [73.28, 238.33, 3.98, 11.13], "category_id": 1, "id": 146393}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 629, 72, 2, 0, 0, 0, 625, 90, 2, 0, 0, 0, 630, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 26, 1, 632, 50, 1], "image_id": 103268, "bbox": [620.96, 27.45, 19.04, 129.42], "category_id": 1, "id": 146394}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 272, 1, 369, 278, 1], "image_id": 106431, "bbox": [363.82, 272.3, 12.05, 14.56], "category_id": 1, "id": 146396}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [9, 236, 2, 1, 237, 2, 0, 0, 0, 1, 247, 2, 0, 0, 0, 6, 243, 2, 7, 261, 2, 1, 262, 2, 11, 277, 2, 2, 279, 2, 12, 297, 2, 2, 297, 2, 22, 226, 1, 19, 238, 1], "image_id": 103737, "bbox": [0, 222.36, 26.3, 81.92], "category_id": 1, "id": 146397}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 158, 1, 0, 0, 0], "image_id": 105071, "bbox": [483.47, 148.02, 74.49, 66.18], "category_id": 1, "id": 146403}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 220, 2, 0, 0, 0, 386, 176, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105071, "bbox": [289.83, 160.71, 109.52, 89.13], "category_id": 1, "id": 146406}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 207, 1, 455, 217, 1], "image_id": 105921, "bbox": [449.94, 207.83, 17.27, 71.46], "category_id": 1, "id": 146415}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108463, "bbox": [248.06, 136.83, 20.36, 28.11], "category_id": 1, "id": 146436}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [409, 37, 1, 419, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 72, 2, 416, 72, 2, 418, 106, 2, 398, 107, 1, 436, 130, 2, 386, 130, 1, 411, 9, 1, 410, 27, 1], "image_id": 105506, "bbox": [397.08, 5.8, 49.72, 135.5], "category_id": 1, "id": 146441}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 214, 1, 532, 222, 1], "image_id": 105921, "bbox": [507.08, 211.04, 42.64, 72.79], "category_id": 1, "id": 146442}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [107, 214, 2, 97, 213, 2, 108, 223, 2, 93, 223, 2, 99, 217, 2, 96, 218, 2, 103, 235, 2, 96, 235, 2, 100, 256, 2, 96, 257, 2, 0, 0, 0, 0, 0, 0, 102, 197, 1, 103, 211, 1], "image_id": 104097, "bbox": [90.64, 196.53, 25.1, 76.2], "category_id": 1, "id": 146444}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 445, 247, 1], "image_id": 108236, "bbox": [440.71, 241.81, 13.71, 26.23], "category_id": 1, "id": 146458}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 417, 160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 25, 1, 453, 125, 1], "image_id": 104794, "bbox": [379.84, 14.54, 100.16, 228.45], "category_id": 1, "id": 146474}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [194, 230, 2, 186, 232, 2, 202, 248, 2, 161, 254, 2, 223, 249, 2, 161, 282, 2, 173, 272, 2, 163, 278, 2, 210, 263, 2, 205, 271, 2, 0, 0, 0, 174, 300, 2, 206, 204, 1, 194, 225, 1], "image_id": 106106, "bbox": [148.73, 198.63, 100.75, 118.02], "category_id": 1, "id": 146487}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [344, 223, 2, 319, 227, 1, 366, 237, 2, 318, 239, 1, 372, 258, 2, 342, 249, 2, 346, 272, 1, 334, 275, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 198, 1, 328, 218, 1], "image_id": 106883, "bbox": [322.46, 167.25, 60.85, 111.48], "category_id": 1, "id": 146491}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [28, 95, 2, 77, 105, 1, 21, 140, 1, 90, 142, 2, 0, 0, 0, 101, 177, 2, 0, 0, 0, 0, 0, 0, 44, 222, 1, 0, 0, 0, 47, 275, 2, 83, 272, 1, 64, 55, 1, 56, 86, 1], "image_id": 102761, "bbox": [19.44, 49.43, 87.28, 240.47], "category_id": 1, "id": 146505}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [424, 98, 1, 382, 98, 1, 0, 0, 0, 337, 85, 2, 0, 0, 0, 349, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398, 45, 1, 406, 87, 1], "image_id": 105822, "bbox": [333.14, 39.82, 89.63, 62.61], "category_id": 1, "id": 146508}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104596, "bbox": [214.65, 0, 67.96, 53.93], "category_id": 1, "id": 146531}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [262, 175, 2, 208, 181, 2, 294, 213, 2, 208, 225, 2, 269, 243, 1, 196, 249, 2, 265, 246, 1, 223, 251, 1, 307, 304, 2, 189, 288, 1, 318, 373, 1, 0, 0, 0, 217, 129, 1, 234, 168, 1], "image_id": 106820, "bbox": [183.28, 118.48, 158.46, 278.09], "category_id": 1, "id": 146542}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108463, "bbox": [259.77, 145.99, 25.62, 19.62], "category_id": 1, "id": 146555}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [205, 152, 2, 258, 153, 1, 199, 206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 244, 2, 245, 248, 1, 221, 323, 2, 0, 0, 0, 229, 391, 2, 0, 0, 0, 232, 83, 1, 232, 132, 1], "image_id": 108490, "bbox": [190.92, 75.18, 79.65, 337.02], "category_id": 1, "id": 146559}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [146, 78, 2, 84, 85, 1, 0, 0, 0, 109, 151, 1, 0, 0, 0, 130, 92, 2, 145, 175, 1, 99, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103406, "bbox": [106.43, 38.75, 80.47, 109.02], "category_id": 1, "id": 146563}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104478, "bbox": [547.65, 225.54, 15.5, 29.09], "category_id": 1, "id": 146570}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104459, "bbox": [575.24, 309.43, 64.76, 330.57], "category_id": 1, "id": 146587}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103250, "bbox": [376.22, 58.32, 34.18, 45.38], "category_id": 1, "id": 146589}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 302, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [170.35, 280.67, 53.29, 63.34], "category_id": 1, "id": 146591}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [82, 431, 2, 107, 423, 2, 80, 460, 2, 115, 444, 2, 82, 476, 2, 123, 463, 2, 89, 470, 2, 110, 465, 2, 95, 502, 2, 116, 502, 2, 101, 538, 2, 95, 538, 2, 95, 403, 1, 93, 418, 1], "image_id": 106636, "bbox": [74.37, 401.01, 55.62, 156.61], "category_id": 1, "id": 146600}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [594, 85, 2, 572, 65, 2, 0, 0, 0, 513, 97, 2, 0, 0, 0, 517, 132, 2, 550, 179, 2, 517, 179, 2, 540, 254, 2, 497, 241, 2, 528, 333, 1, 466, 306, 1, 633, 33, 1, 597, 66, 1], "image_id": 107568, "bbox": [484.53, 21.48, 155.47, 259.71], "category_id": 1, "id": 146602}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [109, 65, 2, 64, 67, 2, 147, 86, 2, 0, 0, 0, 122, 102, 2, 0, 0, 0, 111, 118, 2, 78, 119, 2, 101, 106, 2, 120, 85, 2, 120, 168, 2, 135, 153, 2, 102, 24, 1, 83, 60, 1], "image_id": 106983, "bbox": [41.27, 16.69, 132.41, 188.09], "category_id": 1, "id": 146610}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 212, 1, 512, 216, 1], "image_id": 103203, "bbox": [508.8, 212.38, 10.55, 28.66], "category_id": 1, "id": 146612}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104860, "bbox": [216.64, 107.49, 18.22, 23.76], "category_id": 1, "id": 146622}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 179, 1, 555, 183, 1], "image_id": 106073, "bbox": [551.55, 179.87, 7.73, 27.05], "category_id": 1, "id": 146639}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 86, 204, 2, 0, 0, 0, 112, 230, 2, 0, 0, 0, 111, 208, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 183, 1, 95, 203, 1], "image_id": 104344, "bbox": [70.26, 178.13, 50.75, 63.82], "category_id": 1, "id": 146645}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 1, 2, 442, 3, 2, 456, 1, 2, 444, 1, 2, 454, 25, 2, 447, 25, 2, 452, 48, 2, 447, 51, 2, 0, 0, 0, 0, 0, 0], "image_id": 107413, "bbox": [437.36, 0, 35.39, 56.46], "category_id": 1, "id": 146646}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 423, 4, 2, 0, 0, 0, 454, 29, 2, 0, 0, 0, 360, 24, 2, 335, 24, 2, 364, 70, 2, 340, 69, 2, 359, 112, 2, 341, 119, 2, 0, 0, 0, 0, 0, 0], "image_id": 105944, "bbox": [302.66, 0, 164.84, 140.84], "category_id": 1, "id": 146657}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 415, 94, 2, 0, 0, 0, 426, 115, 2, 0, 0, 0, 436, 105, 2, 0, 0, 0, 417, 132, 2, 441, 143, 2, 440, 129, 2, 435, 177, 2, 460, 160, 2, 426, 71, 1, 429, 89, 1], "image_id": 104103, "bbox": [408.15, 69.87, 68.26, 115.25], "category_id": 1, "id": 146677}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 580, 242, 1, 0, 0, 0, 585, 297, 1, 0, 0, 0, 602, 242, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 177, 1, 612, 230, 1], "image_id": 103777, "bbox": [592.33, 170.68, 44.05, 143.18], "category_id": 1, "id": 146684}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 85, 1, 277, 96, 1], "image_id": 105147, "bbox": [265.36, 84.72, 33.74, 38.73], "category_id": 1, "id": 146692}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 229, 2, 235, 228, 2, 204, 263, 2, 243, 265, 2, 199, 289, 2, 245, 292, 2, 212, 294, 2, 233, 293, 2, 221, 349, 2, 207, 345, 2, 231, 400, 2, 197, 399, 2, 212, 188, 1, 216, 214, 1], "image_id": 103928, "bbox": [182.41, 184.42, 81.7, 230.51], "category_id": 1, "id": 146708}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 97, 22, 2, 0, 0, 0, 90, 63, 2, 0, 0, 0, 33, 77, 2, 0, 0, 0, 80, 166, 2, 71, 165, 2, 115, 234, 1, 100, 240, 1, 0, 0, 0, 0, 0, 0], "image_id": 108207, "bbox": [1.91, 0, 136.57, 322.81], "category_id": 1, "id": 146723}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106513, "bbox": [527.59, 0, 32.64, 56.83], "category_id": 1, "id": 146729}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [170, 367, 2, 62, 381, 2, 177, 282, 2, 41, 277, 2, 154, 201, 2, 69, 201, 2, 179, 539, 1, 100, 559, 2, 250, 604, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 257, 1, 119, 348, 1], "image_id": 103264, "bbox": [18.44, 159.13, 179.52, 433.44], "category_id": 1, "id": 146731}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 120, 1, 0, 0, 0], "image_id": 108296, "bbox": [364.51, 108.1, 60.85, 41.97], "category_id": 1, "id": 146732}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [448, 165, 1, 460, 164, 2, 457, 194, 2, 488, 189, 2, 425, 197, 1, 462, 193, 2, 467, 232, 2, 459, 233, 2, 490, 291, 2, 445, 292, 2, 548, 319, 2, 431, 353, 2, 437, 124, 1, 443, 154, 1], "image_id": 104514, "bbox": [399.53, 120.25, 164.64, 252.4], "category_id": 1, "id": 146733}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 64, 1, 316, 79, 1], "image_id": 107408, "bbox": [301.3, 64.92, 18.7, 96.68], "category_id": 1, "id": 146740}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [439, 82, 2, 468, 77, 2, 433, 109, 2, 479, 100, 2, 0, 0, 0, 0, 0, 0, 450, 131, 2, 470, 129, 2, 451, 167, 2, 474, 167, 2, 456, 207, 1, 477, 203, 2, 443, 57, 1, 450, 71, 1], "image_id": 106527, "bbox": [425.72, 54.4, 60.49, 158.64], "category_id": 1, "id": 146745}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 544, 1, 111, 549, 1], "image_id": 103224, "bbox": [106.8, 543.93, 8.42, 27.87], "category_id": 1, "id": 146755}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [445, 49, 2, 390, 56, 2, 438, 98, 2, 381, 100, 2, 408, 111, 2, 394, 104, 2, 433, 125, 2, 392, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 7, 1, 416, 43, 1], "image_id": 104954, "bbox": [379.1, 0, 72.07, 145.59], "category_id": 1, "id": 146758}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [235, 251, 2, 139, 232, 2, 228, 298, 2, 85, 237, 2, 241, 323, 2, 58, 210, 2, 204, 373, 2, 136, 369, 2, 274, 433, 2, 150, 427, 2, 207, 514, 2, 132, 512, 2, 215, 158, 1, 196, 225, 1], "image_id": 106211, "bbox": [15.78, 142.21, 274.09, 408.96], "category_id": 1, "id": 146760}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [39, 346, 1, 101, 346, 1, 16, 397, 2, 126, 398, 2, 10, 367, 1, 122, 417, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108106, "bbox": [0.96, 341.41, 138.49, 80.78], "category_id": 1, "id": 146761}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [49, 298, 2, 22, 311, 2, 69, 383, 2, 6, 384, 2, 124, 393, 2, 80, 423, 2, 111, 411, 2, 82, 435, 2, 235, 416, 1, 228, 438, 1, 0, 0, 0, 240, 552, 1, 71, 227, 1, 38, 286, 1], "image_id": 106040, "bbox": [0, 207.67, 166.41, 255.8], "category_id": 1, "id": 146771}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, 296, 1, 614, 311, 1], "image_id": 105425, "bbox": [589.28, 294.34, 50.72, 58.97], "category_id": 1, "id": 146772}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [210, 226, 1, 205, 229, 1, 0, 0, 0, 196, 318, 1, 0, 0, 0, 245, 338, 2, 229, 365, 2, 218, 365, 1, 246, 474, 1, 224, 475, 1, 0, 0, 0, 0, 0, 0, 232, 155, 1, 205, 211, 1], "image_id": 106943, "bbox": [204.94, 141.3, 72.27, 332.23], "category_id": 1, "id": 146781}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [450, 145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, 111, 1, 432, 142, 1], "image_id": 108100, "bbox": [417.24, 100.47, 66.05, 191.94], "category_id": 1, "id": 146790}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105387, "bbox": [579.23, 299.29, 60.77, 78.4], "category_id": 1, "id": 146800}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [389, 214, 1, 373, 217, 1, 392, 226, 2, 0, 0, 0, 388, 227, 2, 0, 0, 0, 388, 246, 2, 377, 248, 2, 391, 271, 2, 378, 272, 2, 0, 0, 0, 0, 0, 0, 378, 194, 1, 379, 208, 1], "image_id": 105430, "bbox": [368.59, 194.98, 28.9, 104.62], "category_id": 1, "id": 146834}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 149, 1, 202, 153, 1], "image_id": 106157, "bbox": [197.25, 149.54, 9.83, 23.52], "category_id": 1, "id": 146835}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106861, "bbox": [618.69, 11.75, 21.31, 385.52], "category_id": 1, "id": 146838}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [328, 56, 2, 311, 51, 2, 0, 0, 0, 303, 61, 2, 0, 0, 0, 0, 0, 0, 319, 81, 1, 308, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 31, 1, 319, 48, 1], "image_id": 104670, "bbox": [293.1, 31.58, 39.66, 66.25], "category_id": 1, "id": 146839}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [509, 224, 2, 479, 224, 2, 519, 243, 1, 468, 245, 2, 518, 266, 2, 466, 267, 2, 505, 208, 2, 486, 208, 2, 498, 239, 2, 476, 238, 2, 498, 269, 2, 476, 267, 2, 492, 230, 1, 493, 221, 1], "image_id": 105615, "bbox": [461.13, 200.54, 63.1, 76.21], "category_id": 1, "id": 146848}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [132, 171, 2, 108, 158, 2, 96, 204, 2, 0, 0, 0, 94, 161, 2, 0, 0, 0, 121, 234, 1, 109, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 122, 1, 117, 154, 1], "image_id": 105325, "bbox": [84.53, 114.59, 60.6, 113.77], "category_id": 1, "id": 146851}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [427, 53, 2, 390, 55, 2, 437, 87, 1, 382, 84, 2, 431, 75, 2, 387, 72, 2, 419, 121, 2, 394, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 18, 1, 408, 45, 1], "image_id": 106352, "bbox": [376.96, 13.87, 65.12, 162.79], "category_id": 1, "id": 146864}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [407, 149, 2, 326, 165, 2, 453, 177, 2, 307, 209, 2, 418, 138, 2, 336, 145, 2, 417, 293, 2, 360, 299, 2, 442, 427, 2, 371, 437, 2, 460, 535, 1, 377, 558, 1, 350, 76, 1, 359, 142, 1], "image_id": 108272, "bbox": [291.4, 67.08, 181.52, 401.95], "category_id": 1, "id": 146865}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [320, 94, 2, 303, 95, 2, 322, 108, 1, 297, 108, 2, 0, 0, 0, 297, 120, 2, 316, 115, 2, 306, 115, 2, 316, 134, 2, 308, 135, 2, 310, 155, 2, 306, 156, 2, 314, 79, 1, 312, 91, 1], "image_id": 102551, "bbox": [293.26, 76.95, 32.77, 86.97], "category_id": 1, "id": 146867}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106572, "bbox": [175.32, 86.23, 54.92, 68.66], "category_id": 1, "id": 146893}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [419, 401, 2, 433, 394, 2, 427, 421, 2, 444, 409, 2, 419, 418, 2, 429, 413, 2, 413, 428, 2, 424, 424, 2, 410, 450, 2, 419, 445, 2, 409, 474, 2, 417, 466, 2, 420, 374, 1, 424, 391, 1], "image_id": 107115, "bbox": [392.93, 369.06, 54.23, 110.27], "category_id": 1, "id": 146898}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [555, 55, 2, 572, 53, 2, 550, 66, 2, 573, 68, 2, 0, 0, 0, 0, 0, 0, 555, 78, 2, 565, 80, 2, 556, 98, 2, 557, 101, 2, 560, 117, 2, 550, 121, 2, 565, 32, 1, 563, 47, 1], "image_id": 105506, "bbox": [540.29, 31.95, 38.59, 99.03], "category_id": 1, "id": 146900}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 220, 347, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 293, 1, 0, 0, 0], "image_id": 104459, "bbox": [163.84, 286.72, 92.16, 69.97], "category_id": 1, "id": 146904}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [120, 200, 1, 219, 266, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107162, "bbox": [135.63, 135.67, 123.45, 119.35], "category_id": 1, "id": 146928}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [372, 121, 2, 334, 109, 2, 375, 156, 2, 346, 126, 2, 0, 0, 0, 352, 94, 2, 364, 176, 1, 345, 177, 2, 406, 173, 1, 374, 170, 1, 399, 223, 1, 363, 219, 1, 359, 78, 1, 351, 112, 1], "image_id": 104042, "bbox": [316.43, 72.18, 67.17, 117.64], "category_id": 1, "id": 146935}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [337, 112, 2, 321, 119, 2, 362, 121, 1, 300, 132, 2, 0, 0, 0, 275, 138, 2, 351, 166, 2, 334, 168, 2, 348, 187, 2, 331, 189, 2, 353, 229, 1, 334, 227, 2, 320, 92, 1, 325, 110, 1], "image_id": 105942, "bbox": [259.71, 87.26, 104.62, 147.08], "category_id": 1, "id": 146960}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106372, "bbox": [308.15, 327.4, 7.22, 10.83], "category_id": 1, "id": 146964}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [292, 47, 2, 310, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 106, 2, 310, 100, 2, 298, 150, 1, 306, 146, 2, 0, 0, 0, 0, 0, 0, 287, 11, 1, 293, 37, 1], "image_id": 103544, "bbox": [283.33, 9.09, 37.33, 179.96], "category_id": 1, "id": 146980}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 633, 241, 2, 0, 0, 0, 606, 279, 2, 0, 0, 0, 608, 319, 1, 0, 0, 0, 600, 307, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105387, "bbox": [597.81, 235.56, 42.19, 73.94], "category_id": 1, "id": 146984}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [574, 50, 1, 491, 38, 1, 593, 122, 1, 465, 104, 1, 561, 168, 1, 459, 153, 1, 547, 113, 1, 493, 108, 1, 544, 174, 1, 445, 163, 1, 533, 280, 1, 0, 0, 0, 0, 0, 0, 533, 33, 1], "image_id": 108243, "bbox": [441.17, 0, 198.83, 293.39], "category_id": 1, "id": 146997}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 638, 167, 2, 622, 167, 2, 639, 178, 2, 597, 171, 2, 639, 216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108269, "bbox": [589.24, 123.67, 50.76, 95.69], "category_id": 1, "id": 147012}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [476, 142, 2, 447, 144, 1, 475, 168, 2, 445, 167, 1, 459, 154, 2, 439, 160, 1, 473, 188, 1, 448, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 115, 1, 460, 135, 1], "image_id": 104945, "bbox": [446.78, 111.51, 34.24, 72.48], "category_id": 1, "id": 147019}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 3, 2, 60, 9, 2, 110, 65, 1, 76, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [41.57, 0, 83.53, 84.49], "category_id": 1, "id": 147024}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 274, 1, 595, 290, 1], "image_id": 106831, "bbox": [579.83, 275.5, 32.36, 43.08], "category_id": 1, "id": 147045}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103718, "bbox": [0.03, 120.43, 20.13, 40.42], "category_id": 1, "id": 147058}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [94, 249, 2, 0, 0, 0, 72, 327, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 404, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 162, 1, 32, 236, 1], "image_id": 105298, "bbox": [0, 157.46, 103.7, 269.54], "category_id": 1, "id": 147071}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [343, 183, 2, 293, 179, 1, 343, 219, 2, 0, 0, 0, 344, 245, 2, 0, 0, 0, 327, 254, 2, 298, 254, 1, 331, 295, 2, 298, 304, 2, 339, 347, 2, 290, 351, 1, 320, 131, 1, 316, 170, 1], "image_id": 103689, "bbox": [285.15, 122.08, 76.58, 238.23], "category_id": 1, "id": 147073}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [569, 116, 2, 551, 116, 2, 576, 130, 2, 547, 138, 2, 576, 153, 2, 542, 156, 2, 566, 155, 2, 553, 155, 2, 554, 178, 2, 561, 182, 2, 557, 207, 2, 564, 208, 2, 559, 91, 1, 561, 110, 1], "image_id": 106937, "bbox": [535.27, 89.38, 48.68, 133.75], "category_id": 1, "id": 147076}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [20, 114, 2, 142, 151, 2, 0, 0, 0, 226, 258, 2, 0, 0, 0, 339, 293, 2, 0, 0, 0, 38, 405, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 14, 1, 106, 97, 1], "image_id": 103188, "bbox": [0, 0, 421.5, 400.84], "category_id": 1, "id": 147088}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 51, 2, 304, 52, 2, 316, 71, 2, 311, 71, 2, 300, 79, 2, 301, 87, 2, 315, 94, 2, 304, 93, 2, 309, 129, 1, 293, 126, 2, 310, 169, 1, 297, 163, 1, 312, 27, 1, 313, 45, 1], "image_id": 103176, "bbox": [269.87, 23.28, 59.87, 123.7], "category_id": 1, "id": 147104}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [342, 179, 2, 269, 167, 2, 328, 276, 2, 216, 192, 2, 299, 209, 2, 173, 226, 2, 325, 267, 2, 277, 259, 2, 324, 308, 2, 214, 301, 2, 0, 0, 0, 0, 0, 0, 276, 107, 1, 308, 162, 1], "image_id": 103193, "bbox": [141.34, 94.04, 227.13, 328.16], "category_id": 1, "id": 147126}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [398, 362, 2, 240, 336, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 330, 226, 1, 316, 328, 1], "image_id": 104001, "bbox": [236.76, 212.09, 175.24, 197.73], "category_id": 1, "id": 147130}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106133, "bbox": [554.77, 132.52, 85.23, 252.9], "category_id": 1, "id": 147147}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, 57, 1, 429, 71, 1], "image_id": 107119, "bbox": [424.7, 56.2, 22.16, 56.16], "category_id": 1, "id": 147151}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [19, 309, 2, 65, 313, 2, 8, 339, 2, 71, 345, 2, 25, 357, 2, 54, 358, 2, 26, 382, 2, 56, 381, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 260, 1, 43, 290, 1], "image_id": 105928, "bbox": [0, 257.66, 82.13, 168.34], "category_id": 1, "id": 147153}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [451, 397, 2, 365, 367, 2, 0, 0, 0, 304, 490, 2, 0, 0, 0, 189, 470, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 205, 1, 402, 340, 1], "image_id": 103191, "bbox": [199.39, 192.66, 293.34, 314.93], "category_id": 1, "id": 147166}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [434, 59, 2, 408, 60, 2, 435, 73, 2, 399, 74, 2, 419, 82, 2, 408, 83, 2, 424, 93, 2, 405, 92, 1, 434, 84, 2, 401, 86, 2, 0, 0, 0, 0, 0, 0, 423, 35, 1, 422, 55, 1], "image_id": 103844, "bbox": [393.6, 37.8, 47.22, 65.41], "category_id": 1, "id": 147169}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 239, 1, 32, 247, 1], "image_id": 103862, "bbox": [20.56, 238.92, 25.48, 34.35], "category_id": 1, "id": 147171}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [469, 289, 2, 314, 223, 2, 0, 0, 0, 241, 296, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 74, 1, 393, 216, 1], "image_id": 107388, "bbox": [97.75, 27.81, 401.13, 342.98], "category_id": 1, "id": 147199}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [372, 233, 1, 333, 225, 2, 0, 0, 0, 319, 245, 2, 360, 270, 1, 313, 266, 2, 355, 269, 1, 336, 267, 2, 350, 293, 2, 325, 271, 2, 348, 342, 2, 328, 312, 1, 352, 204, 1, 350, 221, 1], "image_id": 105039, "bbox": [304.48, 217.66, 60.35, 137.81], "category_id": 1, "id": 147215}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [451, 115, 1, 402, 109, 2, 474, 156, 1, 388, 140, 1, 0, 0, 0, 365, 171, 2, 437, 219, 2, 403, 215, 2, 456, 297, 1, 388, 278, 2, 485, 357, 1, 376, 351, 2, 424, 58, 1, 428, 101, 1], "image_id": 102651, "bbox": [337.82, 51.42, 118.63, 312.84], "category_id": 1, "id": 147217}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107413, "bbox": [484.22, 4.85, 14.99, 47.09], "category_id": 1, "id": 147236}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 47, 2, 15, 207, 1, 48, 165, 1, 39, 335, 2, 78, 276, 2, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [0.84, 0.08, 107.38, 369.13], "category_id": 1, "id": 147238}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [175, 199, 2, 116, 180, 1, 148, 237, 1, 27, 193, 2, 69, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 120, 1, 114, 187, 1], "image_id": 104085, "bbox": [13.27, 109.07, 188.5, 134.44], "category_id": 1, "id": 147258}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [379, 212, 2, 275, 238, 2, 400, 305, 2, 266, 313, 2, 395, 396, 2, 255, 334, 2, 351, 379, 2, 282, 378, 2, 354, 505, 2, 292, 484, 2, 352, 603, 2, 298, 565, 2, 290, 118, 1, 316, 199, 1], "image_id": 106761, "bbox": [249.37, 107.39, 174.41, 526.12], "category_id": 1, "id": 147265}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [275, 314, 2, 266, 315, 2, 288, 348, 2, 267, 350, 2, 304, 347, 2, 292, 363, 2, 275, 394, 2, 267, 394, 2, 284, 448, 2, 263, 450, 2, 297, 485, 2, 250, 488, 1, 272, 264, 1, 266, 300, 1], "image_id": 104369, "bbox": [247.9, 256.64, 80.1, 247.7], "category_id": 1, "id": 147282}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [307, 169, 2, 241, 164, 2, 0, 0, 0, 213, 215, 2, 0, 0, 0, 233, 249, 2, 288, 259, 1, 241, 259, 1, 284, 330, 2, 230, 331, 1, 293, 424, 2, 219, 398, 2, 271, 106, 1, 268, 159, 1], "image_id": 107651, "bbox": [194.54, 100.42, 134.39, 353.92], "category_id": 1, "id": 147287}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [496, 200, 1, 467, 194, 1, 520, 213, 2, 0, 0, 0, 505, 196, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 486, 152, 1, 483, 189, 1], "image_id": 102964, "bbox": [472.34, 150.86, 53.02, 77.12], "category_id": 1, "id": 147292}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [176, 132, 1, 160, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 182, 1, 155, 174, 1, 156, 223, 2, 169, 218, 2, 143, 258, 1, 178, 251, 2, 167, 93, 1, 168, 121, 1], "image_id": 102795, "bbox": [127.78, 91.8, 59.87, 183.04], "category_id": 1, "id": 147301}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 508, 193, 1, 508, 196, 1], "image_id": 104600, "bbox": [503.79, 192.31, 8.63, 16.33], "category_id": 1, "id": 147302}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 285, 1, 386, 311, 1], "image_id": 107383, "bbox": [368.82, 280.49, 37.41, 48.75], "category_id": 1, "id": 147316}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 53, 1], "image_id": 103248, "bbox": [441.46, 39.26, 23.18, 30.51], "category_id": 1, "id": 147319}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105943, "bbox": [254.98, 190.3, 44.36, 145.74], "category_id": 1, "id": 147330}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 204, 1, 73, 219, 1], "image_id": 104097, "bbox": [65.19, 203.85, 20.19, 75.45], "category_id": 1, "id": 147331}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [302, 122, 2, 295, 126, 2, 322, 143, 1, 286, 144, 2, 311, 137, 1, 274, 156, 2, 310, 170, 2, 304, 169, 2, 294, 188, 2, 325, 199, 2, 298, 224, 2, 0, 0, 0, 283, 104, 1, 295, 121, 1], "image_id": 105942, "bbox": [260.24, 90.89, 70.25, 142.61], "category_id": 1, "id": 147336}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106987, "bbox": [242.86, 210.09, 9.06, 10.67], "category_id": 1, "id": 147356}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 49, 1], "image_id": 103844, "bbox": [318.25, 38.1, 28.55, 79.84], "category_id": 1, "id": 147361}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [302, 535, 2, 278, 539, 2, 309, 561, 2, 297, 561, 2, 281, 561, 2, 260, 562, 1, 304, 605, 2, 285, 605, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 510, 1, 288, 531, 1], "image_id": 103224, "bbox": [243.05, 504.46, 73.7, 131.77], "category_id": 1, "id": 147387}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [613, 109, 2, 571, 116, 1, 623, 151, 2, 0, 0, 0, 628, 129, 2, 0, 0, 0, 593, 173, 1, 573, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610, 69, 1, 600, 101, 1], "image_id": 103628, "bbox": [587.15, 61.48, 45.21, 93.71], "category_id": 1, "id": 147401}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 416, 2, 586, 362, 2, 0, 0, 0, 629, 404, 2, 488, 460, 2, 498, 422, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107290, "bbox": [462.85, 271.25, 177.15, 200.22], "category_id": 1, "id": 147413}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 531, 1, 35, 542, 1], "image_id": 106426, "bbox": [21.58, 531.41, 24.05, 55.55], "category_id": 1, "id": 147437}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104171, "bbox": [81.16, 48.17, 90.77, 58.22], "category_id": 1, "id": 147442}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 39, 1, 455, 51, 1], "image_id": 104658, "bbox": [446.77, 39.2, 19.69, 33.59], "category_id": 1, "id": 147445}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 157, 1, 39, 162, 1], "image_id": 103937, "bbox": [34.06, 158.16, 10.48, 18.31], "category_id": 1, "id": 147448}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [554, 93, 2, 506, 93, 2, 563, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 40, 1, 524, 76, 1], "image_id": 103258, "bbox": [482.74, 30.84, 97.65, 119.94], "category_id": 1, "id": 147454}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [585, 85, 1, 526, 97, 2, 0, 0, 0, 504, 143, 2, 0, 0, 0, 493, 187, 2, 0, 0, 0, 560, 183, 2, 0, 0, 0, 549, 252, 2, 0, 0, 0, 568, 310, 2, 542, 43, 1, 553, 85, 1], "image_id": 103382, "bbox": [483.74, 36.06, 109.64, 312.56], "category_id": 1, "id": 147464}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105145, "bbox": [277.22, 188.04, 47.57, 85.54], "category_id": 1, "id": 147474}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 223, 2, 247, 223, 2, 267, 234, 2, 246, 236, 2, 265, 244, 2, 246, 244, 2, 260, 247, 2, 250, 247, 2, 259, 266, 2, 250, 265, 2, 257, 276, 2, 249, 277, 2, 0, 0, 0, 0, 0, 0], "image_id": 104235, "bbox": [240.38, 214.83, 31.74, 65.83], "category_id": 1, "id": 147501}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [512, 161, 2, 473, 163, 1, 535, 202, 2, 0, 0, 0, 532, 244, 2, 0, 0, 0, 510, 253, 1, 481, 256, 1, 497, 332, 1, 486, 334, 1, 475, 397, 1, 490, 410, 1, 500, 96, 1, 493, 143, 1], "image_id": 104085, "bbox": [469.17, 91.05, 82.35, 222.14], "category_id": 1, "id": 147540}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [153, 310, 1, 137, 312, 2, 0, 0, 0, 133, 331, 1, 0, 0, 0, 138, 352, 1, 148, 345, 1, 137, 346, 1, 145, 371, 1, 140, 375, 1, 143, 407, 1, 134, 410, 2, 153, 290, 1, 150, 307, 1], "image_id": 105802, "bbox": [126.95, 287.81, 39.37, 136.32], "category_id": 1, "id": 147550}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 637, 293, 2, 0, 0, 0, 627, 385, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105071, "bbox": [603.29, 276.13, 36.71, 149.87], "category_id": 1, "id": 147563}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105928, "bbox": [5.7, 263.14, 27.07, 52.05], "category_id": 1, "id": 147570}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [459, 353, 2, 293, 331, 2, 376, 581, 2, 233, 430, 2, 195, 434, 2, 127, 432, 2, 430, 637, 1, 282, 554, 2, 230, 607, 2, 101, 502, 2, 0, 0, 0, 0, 0, 0, 291, 129, 1, 373, 316, 1], "image_id": 103072, "bbox": [4.31, 97.89, 494.75, 529.26], "category_id": 1, "id": 147607}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 249, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105298, "bbox": [3.84, 143.93, 41.26, 211.1], "category_id": 1, "id": 147613}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [325, 108, 2, 302, 108, 2, 323, 144, 2, 290, 131, 2, 301, 166, 2, 265, 123, 2, 321, 164, 2, 298, 159, 2, 300, 184, 2, 268, 168, 2, 0, 0, 0, 0, 0, 0, 309, 72, 1, 316, 99, 1], "image_id": 105754, "bbox": [251.19, 67.73, 90.94, 136.18], "category_id": 1, "id": 147616}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 214, 1, 419, 224, 1], "image_id": 104600, "bbox": [398.76, 211.73, 34.92, 40.15], "category_id": 1, "id": 147617}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 199, 1, 158, 209, 1], "image_id": 105177, "bbox": [146.23, 196.54, 29.31, 45.31], "category_id": 1, "id": 147625}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [9, 92, 2, 0, 0, 0, 16, 135, 2, 0, 0, 0, 12, 178, 2, 0, 0, 0, 3, 201, 2, 0, 0, 0, 10, 241, 2, 0, 0, 0, 18, 282, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104733, "bbox": [0.48, 69.88, 30.34, 237.38], "category_id": 1, "id": 147632}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [510, 229, 2, 454, 218, 2, 499, 275, 2, 0, 0, 0, 464, 259, 2, 0, 0, 0, 482, 296, 2, 452, 295, 2, 481, 395, 2, 452, 393, 2, 492, 459, 2, 460, 456, 2, 482, 173, 1, 480, 213, 1], "image_id": 104930, "bbox": [431.23, 169.74, 83.29, 310.26], "category_id": 1, "id": 147669}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [354, 285, 2, 309, 286, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 352, 2, 317, 352, 2, 328, 323, 2, 311, 355, 2, 289, 338, 1, 0, 0, 0, 330, 234, 1, 330, 276, 1], "image_id": 108112, "bbox": [306.38, 230.26, 52.24, 154.09], "category_id": 1, "id": 147693}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [231, 141, 1, 0, 0, 0, 257, 168, 2, 0, 0, 0, 280, 185, 1, 0, 0, 0, 236, 233, 2, 197, 239, 1, 274, 312, 2, 187, 314, 1, 248, 390, 2, 161, 386, 1, 241, 115, 1, 214, 138, 1], "image_id": 103441, "bbox": [165.04, 92.12, 132.42, 323.37], "category_id": 1, "id": 147704}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454, 266, 1, 454, 272, 1], "image_id": 106431, "bbox": [442.9, 263.89, 23.84, 56.36], "category_id": 1, "id": 147706}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [436, 299, 2, 423, 299, 2, 440, 306, 2, 423, 307, 2, 440, 311, 2, 428, 311, 2, 436, 320, 2, 426, 320, 2, 447, 306, 1, 417, 305, 2, 446, 326, 1, 417, 326, 2, 426, 279, 1, 429, 296, 1], "image_id": 102730, "bbox": [407.08, 278.63, 39.19, 55.22], "category_id": 1, "id": 147708}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 135, 1, 23, 141, 1], "image_id": 102831, "bbox": [16.88, 135.2, 12.96, 30.25], "category_id": 1, "id": 147709}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106666, "bbox": [471.91, 172.61, 16.53, 62.48], "category_id": 1, "id": 147710}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 332, 1, 27, 260, 2, 54, 266, 2, 0, 0, 0, 0, 0, 0], "image_id": 102858, "bbox": [0.44, 245.34, 68.72, 68.01], "category_id": 1, "id": 147711}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [81, 482, 2, 57, 483, 2, 77, 500, 2, 58, 499, 2, 68, 516, 2, 61, 521, 2, 71, 495, 2, 61, 495, 2, 81, 514, 2, 56, 519, 2, 0, 0, 0, 0, 0, 0, 70, 462, 1, 70, 479, 1], "image_id": 105778, "bbox": [48.52, 458.53, 39.15, 75.82], "category_id": 1, "id": 147719}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 143, 1, 630, 157, 1], "image_id": 103718, "bbox": [620.95, 141.98, 17.35, 55.76], "category_id": 1, "id": 147721}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105254, "bbox": [381.85, 73.33, 30.3, 24.79], "category_id": 1, "id": 147724}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [450, 312, 2, 0, 0, 0, 426, 367, 2, 0, 0, 0, 429, 404, 2, 0, 0, 0, 457, 391, 2, 0, 0, 0, 444, 512, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 486, 245, 1, 481, 291, 1], "image_id": 104001, "bbox": [411.38, 240.55, 82.62, 282.54], "category_id": 1, "id": 147728}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [398, 76, 2, 385, 76, 2, 0, 0, 0, 368, 93, 1, 0, 0, 0, 379, 110, 1, 393, 126, 2, 384, 127, 1, 387, 159, 2, 378, 159, 2, 380, 201, 2, 372, 211, 2, 403, 45, 1, 394, 70, 1], "image_id": 107513, "bbox": [366.51, 42.72, 46.84, 177.75], "category_id": 1, "id": 147733}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [73, 113, 2, 40, 108, 2, 86, 141, 2, 12, 104, 2, 86, 168, 2, 0, 0, 0, 60, 171, 2, 38, 169, 2, 50, 213, 2, 41, 214, 2, 48, 260, 2, 44, 258, 2, 56, 72, 1, 58, 103, 1], "image_id": 107168, "bbox": [0, 67.11, 93.71, 211.7], "category_id": 1, "id": 147746}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [82, 134, 2, 113, 136, 2, 0, 0, 0, 130, 162, 2, 0, 0, 0, 0, 0, 0, 80, 197, 1, 103, 199, 1, 114, 204, 1, 128, 200, 1, 100, 229, 2, 93, 223, 2, 103, 100, 1, 98, 125, 1], "image_id": 104116, "bbox": [74.52, 96.33, 66.76, 155.53], "category_id": 1, "id": 147753}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [34, 295, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 340, 2, 0, 0, 0, 26, 370, 2, 0, 0, 0, 29, 401, 1, 0, 0, 0, 22, 264, 1, 28, 289, 1], "image_id": 104985, "bbox": [0.28, 260.69, 41.58, 140.51], "category_id": 1, "id": 147756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [268, 304, 2, 245, 240, 2, 250, 332, 2, 238, 201, 2, 215, 330, 2, 230, 157, 2, 248, 341, 2, 223, 325, 2, 235, 412, 2, 207, 390, 2, 240, 477, 2, 195, 456, 2, 290, 239, 1, 262, 267, 1], "image_id": 105293, "bbox": [156.25, 133.5, 152.05, 379.03], "category_id": 1, "id": 147761}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [122, 148, 2, 95, 147, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 178, 1, 98, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 142, 1], "image_id": 103586, "bbox": [82.19, 120.47, 43.07, 46.14], "category_id": 1, "id": 147767}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 403, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104438, "bbox": [374.67, 21.99, 36.23, 55.61], "category_id": 1, "id": 147768}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [363.43, 420.79, 70.24, 59.13], "category_id": 1, "id": 147772}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [291, 235, 2, 295, 236, 2, 0, 0, 0, 272, 239, 2, 0, 0, 0, 273, 255, 2, 265, 251, 2, 264, 254, 2, 0, 0, 0, 238, 254, 1, 0, 0, 0, 221, 242, 1, 304, 220, 1, 296, 232, 1], "image_id": 104600, "bbox": [241.25, 216.97, 68.38, 45.99], "category_id": 1, "id": 147774}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 547, 54, 1, 560, 60, 1], "image_id": 107241, "bbox": [542.82, 55.69, 31.77, 26.41], "category_id": 1, "id": 147780}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 337, 68, 1, 338, 75, 1], "image_id": 107720, "bbox": [333.92, 67.48, 8.09, 24.09], "category_id": 1, "id": 147783}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [221, 253, 1, 181, 253, 2, 253, 270, 2, 158, 273, 2, 243, 275, 2, 0, 0, 0, 218, 316, 2, 189, 316, 1, 219, 369, 2, 187, 370, 2, 218, 417, 2, 186, 416, 2, 0, 0, 0, 199, 240, 1], "image_id": 105116, "bbox": [151.83, 241.72, 105.55, 203.45], "category_id": 1, "id": 147789}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [80, 120, 2, 0, 0, 0, 60, 202, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 270, 2, 0, 0, 0, 42, 277, 2, 0, 0, 0, 15, 424, 2, 0, 0, 0, 39, 10, 1, 33, 91, 1], "image_id": 103409, "bbox": [1.08, 6.47, 101.39, 465.98], "category_id": 1, "id": 147803}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [537, 114, 2, 461, 117, 2, 558, 203, 1, 461, 173, 2, 494, 241, 2, 450, 209, 2, 519, 245, 1, 481, 243, 2, 527, 349, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 44, 1, 494, 109, 1], "image_id": 103281, "bbox": [433.68, 24.85, 129.82, 233.69], "category_id": 1, "id": 147819}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [248, 209, 1, 204, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 169, 1, 0, 0, 0], "image_id": 105904, "bbox": [208.72, 163.61, 40.48, 48.62], "category_id": 1, "id": 147825}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 280, 2, 274, 285, 2, 297, 303, 2, 274, 307, 2, 288, 282, 2, 277, 340, 2, 298, 322, 2, 283, 322, 2, 295, 362, 2, 286, 362, 2, 296, 398, 2, 288, 394, 2, 287, 251, 1, 287, 278, 1], "image_id": 107357, "bbox": [260.76, 238.38, 63.94, 174.41], "category_id": 1, "id": 147841}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 261, 1, 0, 0, 0], "image_id": 107452, "bbox": [270.29, 258.63, 24.9, 73.14], "category_id": 1, "id": 147849}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [211, 127, 1, 208, 127, 1, 0, 0, 0, 238, 172, 1, 0, 0, 0, 240, 121, 2, 199, 211, 2, 195, 213, 2, 283, 213, 1, 282, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 117, 1], "image_id": 104716, "bbox": [164.96, 89.27, 83.98, 140.19], "category_id": 1, "id": 147858}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 273, 1, 380, 287, 1], "image_id": 106831, "bbox": [370.69, 274.55, 17.14, 28.92], "category_id": 1, "id": 147870}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [260, 173, 2, 293, 172, 1, 254, 198, 2, 297, 205, 2, 0, 0, 0, 0, 0, 0, 266, 216, 2, 285, 215, 2, 267, 250, 2, 285, 252, 2, 267, 294, 2, 290, 291, 2, 272, 143, 1, 274, 162, 1], "image_id": 102576, "bbox": [247.01, 140.79, 55.5, 162.97], "category_id": 1, "id": 147896}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 605, 512, 1, 609, 528, 1], "image_id": 103384, "bbox": [600.83, 511.74, 11.17, 62.82], "category_id": 1, "id": 147936}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 373, 47, 2, 205, 26, 2, 368, 58, 2, 245, 88, 2, 337, 106, 1, 275, 103, 1, 338, 194, 1, 273, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103345, "bbox": [189.58, 2.05, 190.55, 202.03], "category_id": 1, "id": 147940}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 197, 1, 323, 202, 1], "image_id": 103075, "bbox": [310.68, 194.29, 31.21, 43.37], "category_id": 1, "id": 147973}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104438, "bbox": [47.08, 0, 45.39, 28.15], "category_id": 1, "id": 147990}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [544, 207, 2, 589, 201, 2, 541, 245, 2, 603, 241, 2, 541, 279, 2, 603, 276, 2, 559, 277, 2, 591, 272, 2, 562, 333, 2, 598, 331, 2, 567, 388, 2, 614, 370, 2, 556, 157, 1, 562, 186, 1], "image_id": 103579, "bbox": [531.6, 151.61, 107.55, 245.82], "category_id": 1, "id": 147992}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 420, 220, 2, 0, 0, 0, 342, 226, 2, 0, 0, 0, 296, 229, 2, 0, 0, 0, 422, 332, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 301, 1], "image_id": 104369, "bbox": [263.08, 202.59, 163.92, 226.78], "category_id": 1, "id": 148012}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [196, 300, 2, 184, 303, 2, 209, 359, 2, 193, 366, 2, 224, 403, 1, 260, 353, 2, 202, 408, 2, 187, 412, 2, 236, 484, 2, 163, 498, 2, 254, 564, 2, 140, 573, 2, 201, 235, 1, 187, 282, 1], "image_id": 106619, "bbox": [127.4, 232.46, 172.37, 364.22], "category_id": 1, "id": 148017}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [59, 304, 2, 29, 306, 2, 74, 349, 2, 43, 362, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 239, 1, 45, 286, 1], "image_id": 107452, "bbox": [21.92, 231.71, 72.41, 158], "category_id": 1, "id": 148037}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [64, 46, 2, 33, 46, 2, 71, 61, 2, 21, 60, 2, 0, 0, 0, 0, 0, 0, 55, 73, 2, 38, 72, 2, 68, 69, 2, 18, 69, 2, 65, 104, 1, 21, 102, 1, 0, 0, 0, 50, 40, 1], "image_id": 103844, "bbox": [8.2, 24.66, 67.63, 78.9], "category_id": 1, "id": 148038}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104173, "bbox": [327.41, 242.02, 29.61, 69.83], "category_id": 1, "id": 148054}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103718, "bbox": [554.56, 115.8, 16.2, 21.29], "category_id": 1, "id": 148073}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105071, "bbox": [476.38, 147.88, 26.53, 19.71], "category_id": 1, "id": 148083}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [181, 244, 2, 143, 247, 2, 186, 268, 2, 134, 276, 1, 0, 0, 0, 141, 296, 1, 175, 302, 1, 155, 303, 1, 177, 351, 2, 0, 0, 0, 175, 390, 2, 0, 0, 0, 158, 211, 1, 158, 235, 1], "image_id": 105529, "bbox": [114.9, 211.81, 82.48, 204.74], "category_id": 1, "id": 148089}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [374, 101, 2, 357, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 130, 2, 354, 128, 2, 0, 0, 0, 370, 134, 2, 0, 0, 0, 377, 155, 1, 372, 78, 1, 366, 95, 1], "image_id": 104727, "bbox": [337.9, 76.8, 40.49, 82.49], "category_id": 1, "id": 148092}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [531, 318, 2, 495, 320, 2, 566, 338, 2, 485, 337, 2, 543, 340, 2, 522, 342, 2, 496, 299, 2, 468, 303, 2, 468, 299, 2, 440, 306, 2, 441, 295, 2, 417, 297, 2, 528, 333, 1, 518, 323, 1], "image_id": 108525, "bbox": [393.93, 287.16, 180.12, 60.08], "category_id": 1, "id": 148097}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [361, 277, 2, 258, 259, 1, 369, 358, 2, 0, 0, 0, 359, 419, 2, 271, 407, 1, 299, 409, 2, 0, 0, 0, 387, 431, 2, 0, 0, 0, 229, 476, 1, 0, 0, 0, 324, 141, 1, 308, 243, 1], "image_id": 102683, "bbox": [281.89, 130.88, 135.19, 355.23], "category_id": 1, "id": 148110}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105425, "bbox": [176.83, 314.75, 21.97, 77.71], "category_id": 1, "id": 148125}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [450, 207, 2, 569, 209, 2, 419, 245, 2, 596, 248, 2, 415, 206, 2, 613, 202, 2, 472, 331, 1, 542, 329, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 103, 1, 515, 184, 1], "image_id": 107162, "bbox": [401.18, 83.95, 238.82, 187.73], "category_id": 1, "id": 148157}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [350, 306, 2, 179, 302, 2, 369, 487, 2, 170, 449, 2, 209, 573, 2, 82, 529, 2, 301, 600, 2, 179, 595, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 100, 1, 241, 250, 1], "image_id": 107713, "bbox": [0, 81.98, 411.33, 558.02], "category_id": 1, "id": 148164}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 126, 29, 2, 98, 29, 2, 153, 48, 2, 110, 66, 2, 95, 72, 2, 111, 79, 2, 103, 138, 1, 113, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103268, "bbox": [76.59, 0, 100.53, 162.76], "category_id": 1, "id": 148167}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 115, 2, 332, 122, 2, 404, 159, 2, 308, 161, 1, 423, 198, 1, 286, 192, 2, 382, 205, 2, 341, 205, 2, 390, 273, 2, 336, 276, 2, 400, 331, 1, 331, 331, 2, 342, 64, 1, 353, 105, 1], "image_id": 108544, "bbox": [280.37, 52.97, 139.55, 303.22], "category_id": 1, "id": 148182}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104161, "bbox": [67.26, 335.94, 30.37, 55.73], "category_id": 1, "id": 148200}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [364, 130, 1, 0, 0, 0, 393, 185, 1, 0, 0, 0, 353, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 272, 2, 0, 0, 0, 333, 355, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106502, "bbox": [311.12, 197.24, 54.08, 197.84], "category_id": 1, "id": 148209}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [45, 130, 2, 38, 132, 2, 0, 0, 0, 51, 160, 1, 0, 0, 0, 0, 0, 0, 46, 175, 1, 40, 175, 2, 51, 213, 1, 50, 216, 1, 47, 254, 2, 19, 237, 2, 39, 103, 1, 39, 124, 1], "image_id": 104635, "bbox": [8.92, 99.1, 54.5, 164.51], "category_id": 1, "id": 148215}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [561, 69, 2, 572, 62, 2, 559, 104, 2, 0, 0, 0, 547, 113, 2, 552, 97, 2, 571, 126, 2, 581, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, 43, 1, 558, 60, 1], "image_id": 107569, "bbox": [537.6, 35.2, 54.13, 107.28], "category_id": 1, "id": 148216}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [9, 263, 2, 21, 258, 2, 0, 0, 0, 17, 278, 2, 0, 0, 0, 36, 294, 2, 4, 296, 2, 12, 297, 2, 0, 0, 0, 46, 305, 1, 0, 0, 0, 24, 332, 1, 28, 230, 1, 21, 249, 1], "image_id": 104067, "bbox": [1.58, 224.85, 40.97, 87.19], "category_id": 1, "id": 148218}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 496, 138, 1, 496, 144, 1], "image_id": 107230, "bbox": [489.29, 137.27, 16.36, 34.98], "category_id": 1, "id": 148221}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 334, 1, 0, 0, 0], "image_id": 105881, "bbox": [561.39, 332.41, 58.62, 15.3], "category_id": 1, "id": 148225}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 538, 1, 347, 544, 1], "image_id": 103224, "bbox": [341.85, 537.61, 12.31, 35.03], "category_id": 1, "id": 148227}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 218, 2, 303, 219, 2, 328, 229, 1, 300, 232, 2, 330, 241, 1, 300, 243, 2, 316, 227, 2, 307, 227, 2, 314, 246, 2, 304, 239, 2, 313, 263, 2, 304, 253, 2, 309, 218, 1, 310, 220, 1], "image_id": 105582, "bbox": [294.13, 210.77, 28.9, 60.12], "category_id": 1, "id": 148231}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 39, 1, 355, 63, 1], "image_id": 107612, "bbox": [348.59, 39.01, 19.31, 50.22], "category_id": 1, "id": 148235}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 61, 1, 335, 82, 1], "image_id": 103240, "bbox": [318.74, 60.01, 36.79, 39.43], "category_id": 1, "id": 148250}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 381, 1, 37, 388, 1], "image_id": 104045, "bbox": [17.03, 380.05, 28.65, 65.97], "category_id": 1, "id": 148255}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 326, 1, 636, 347, 1], "image_id": 107383, "bbox": [619.87, 327.63, 16.84, 85.09], "category_id": 1, "id": 148258}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 7, 1], "image_id": 102572, "bbox": [359.02, 0, 36.64, 21.02], "category_id": 1, "id": 148263}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [282, 312, 2, 314, 316, 1, 281, 299, 2, 0, 0, 0, 288, 293, 2, 0, 0, 0, 282, 361, 2, 310, 363, 2, 279, 332, 2, 329, 341, 1, 273, 362, 2, 337, 367, 1, 302, 289, 1, 301, 307, 1], "image_id": 104129, "bbox": [260.53, 284.31, 62.89, 93.31], "category_id": 1, "id": 148264}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [324, 227, 2, 190, 236, 2, 385, 319, 2, 116, 322, 2, 318, 297, 2, 193, 301, 2, 318, 379, 2, 219, 382, 2, 375, 490, 2, 141, 498, 2, 409, 576, 2, 130, 577, 2, 240, 129, 1, 251, 212, 1], "image_id": 105813, "bbox": [96.63, 115.18, 335.36, 524.59], "category_id": 1, "id": 148265}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 18, 2, 305, 19, 2, 319, 44, 2, 307, 46, 2, 320, 68, 2, 308, 68, 2, 0, 0, 0, 0, 0, 0], "image_id": 105944, "bbox": [297.24, 0, 31.32, 77.23], "category_id": 1, "id": 148280}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 216, 1, 235, 224, 1], "image_id": 106359, "bbox": [226.96, 214.39, 17.87, 69.47], "category_id": 1, "id": 148316}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 33, 2, 92, 7, 2, 325, 75, 2, 168, 55, 2, 223, 216, 2, 52, 195, 2, 0, 0, 0, 0, 0, 0], "image_id": 103856, "bbox": [14.65, 0, 329.2, 256.67], "category_id": 1, "id": 148318}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [255.77, 202.8, 7.04, 14.73], "category_id": 1, "id": 148374}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103807, "bbox": [209.63, 110.83, 17.7, 22.85], "category_id": 1, "id": 148399}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [16, 295, 2, 0, 0, 0, 25, 370, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 230, 1, 0, 0, 0], "image_id": 107452, "bbox": [0, 211.11, 59.77, 213.92], "category_id": 1, "id": 148409}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 476, 2, 0, 0, 0, 78, 343, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105579, "bbox": [0, 114.83, 113.14, 525.17], "category_id": 1, "id": 148410}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 276, 1, 493, 288, 1], "image_id": 107276, "bbox": [479.98, 275.92, 19.58, 86.38], "category_id": 1, "id": 148414}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 302, 2, 356, 303, 2, 372, 309, 2, 350, 314, 2, 355, 308, 2, 344, 316, 1, 384, 329, 2, 375, 329, 2, 366, 361, 2, 353, 356, 2, 380, 387, 2, 364, 380, 1, 351, 288, 1, 357, 300, 1], "image_id": 103075, "bbox": [342.21, 285.61, 49.21, 108.92], "category_id": 1, "id": 148424}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 231, 2, 0, 0, 0, 628, 184, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104458, "bbox": [544.86, 163.78, 95.14, 108.11], "category_id": 1, "id": 148425}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [207, 16, 1, 0, 0, 0, 185, 37, 2, 0, 0, 0, 199, 48, 2, 0, 0, 0, 208, 51, 2, 0, 0, 0, 202, 84, 2, 0, 0, 0, 203, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106606, "bbox": [180.26, 6.89, 31.49, 103.64], "category_id": 1, "id": 148440}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [174, 219, 2, 205, 220, 1, 160, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 285, 1, 199, 287, 1, 170, 333, 2, 195, 333, 2, 177, 382, 2, 194, 381, 2, 180, 184, 1, 184, 207, 1], "image_id": 107995, "bbox": [159.64, 176.9, 47.46, 220.04], "category_id": 1, "id": 148455}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [424, 36, 2, 361, 38, 2, 0, 0, 0, 348, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 0, 1, 391, 30, 1], "image_id": 105432, "bbox": [337.98, 0, 93.02, 99.24], "category_id": 1, "id": 148466}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [52, 274, 2, 29, 272, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 293, 2, 36, 293, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 254, 1, 44, 268, 1], "image_id": 105856, "bbox": [22.45, 243.33, 39.8, 87.7], "category_id": 1, "id": 148481}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [523, 271, 1, 446, 274, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 371, 1, 466, 372, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 207, 1, 486, 256, 1], "image_id": 106221, "bbox": [440.57, 205.34, 79.05, 113.76], "category_id": 1, "id": 148483}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 153, 347, 2, 0, 0, 0, 185, 384, 2, 0, 0, 0, 203, 364, 2, 136, 397, 1, 166, 405, 1, 201, 389, 2, 239, 396, 2, 189, 457, 1, 238, 474, 2, 0, 0, 0, 0, 0, 0], "image_id": 108089, "bbox": [135.2, 324.98, 116.16, 155.02], "category_id": 1, "id": 148490}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [361, 134, 2, 385, 136, 2, 323, 176, 2, 0, 0, 0, 309, 152, 2, 0, 0, 0, 350, 255, 2, 376, 256, 2, 354, 355, 2, 365, 347, 2, 365, 459, 2, 361, 446, 2, 344, 61, 1, 362, 115, 1], "image_id": 107036, "bbox": [298.79, 44.22, 106.78, 435.78], "category_id": 1, "id": 148491}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 19, 331, 2, 0, 0, 0, 52, 455, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 162, 1, 13, 290, 1], "image_id": 104478, "bbox": [2.23, 157.75, 100.34, 320.96], "category_id": 1, "id": 148496}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 16, 2, 217, 16, 2, 220, 51, 2, 218, 54, 2, 0, 0, 0, 0, 0, 0], "image_id": 105944, "bbox": [196.49, 0, 41.35, 63.8], "category_id": 1, "id": 148526}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [25, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 232, 2, 0, 0, 0, 13, 279, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 124, 1, 5, 158, 1], "image_id": 106539, "bbox": [0.2, 122.71, 30.52, 201.3], "category_id": 1, "id": 148529}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [617, 182, 2, 497, 183, 2, 629, 278, 2, 482, 267, 2, 0, 0, 0, 484, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 73, 1, 553, 150, 1], "image_id": 106444, "bbox": [459.59, 74.63, 178.05, 216.35], "category_id": 1, "id": 148553}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106741, "bbox": [152.09, 148.19, 25.04, 38.96], "category_id": 1, "id": 148573}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [333, 260, 2, 274, 255, 1, 335, 314, 2, 0, 0, 0, 316, 287, 2, 0, 0, 0, 315, 360, 2, 286, 358, 1, 311, 441, 2, 304, 440, 2, 303, 503, 2, 290, 503, 2, 315, 211, 1, 302, 254, 1], "image_id": 105976, "bbox": [278.92, 203.66, 65.73, 310.09], "category_id": 1, "id": 148574}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 419, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 174, 1, 415, 200, 1], "image_id": 106631, "bbox": [399.22, 173.71, 25.78, 104.09], "category_id": 1, "id": 148594}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108586, "bbox": [565.25, 0, 74.75, 18.81], "category_id": 1, "id": 148597}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 291, 1, 550, 309, 1], "image_id": 107383, "bbox": [538.56, 288.83, 24.49, 46.26], "category_id": 1, "id": 148602}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [593, 230, 2, 386, 240, 2, 0, 0, 0, 344, 405, 2, 0, 0, 0, 497, 469, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 4, 1, 484, 193, 1], "image_id": 104594, "bbox": [316.76, 1.62, 323.24, 472.43], "category_id": 1, "id": 148630}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [104, 72, 2, 67, 77, 2, 110, 95, 2, 75, 107, 2, 114, 109, 2, 92, 111, 2, 105, 113, 1, 78, 114, 2, 124, 129, 1, 95, 128, 1, 120, 151, 1, 88, 158, 1, 83, 37, 1, 84, 67, 1], "image_id": 103443, "bbox": [56.07, 28.52, 62.23, 113.23], "category_id": 1, "id": 148631}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [381, 422, 1, 277, 434, 1, 409, 490, 2, 0, 0, 0, 379, 547, 2, 0, 0, 0, 358, 626, 2, 289, 629, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 306, 1, 316, 398, 1], "image_id": 102983, "bbox": [270.21, 276.7, 160.78, 363.3], "category_id": 1, "id": 148632}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [222, 110, 2, 144, 112, 2, 228, 197, 2, 139, 189, 2, 233, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 9, 1, 181, 99, 1], "image_id": 106571, "bbox": [114.16, 0, 128.29, 209.11], "category_id": 1, "id": 148635}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [366, 161, 2, 384, 161, 2, 0, 0, 0, 395, 174, 2, 0, 0, 0, 0, 0, 0, 370, 194, 2, 384, 193, 2, 374, 209, 1, 380, 212, 1, 375, 231, 2, 378, 230, 2, 369, 141, 1, 373, 156, 1], "image_id": 103689, "bbox": [362.62, 137.3, 37.18, 98.08], "category_id": 1, "id": 148646}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [260, 52, 2, 242, 50, 2, 259, 75, 2, 233, 72, 2, 0, 0, 0, 0, 0, 0, 248, 82, 2, 234, 80, 2, 244, 87, 2, 202, 76, 2, 243, 120, 1, 188, 113, 1, 248, 31, 1, 250, 46, 1], "image_id": 103844, "bbox": [180.96, 31.44, 91.81, 80.33], "category_id": 1, "id": 148647}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [254, 193, 2, 309, 193, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 285, 1, 312, 284, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 107, 1, 275, 166, 1], "image_id": 104138, "bbox": [234.09, 105.22, 93.81, 220.23], "category_id": 1, "id": 148652}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106571, "bbox": [397.14, 12.6, 180.64, 174.95], "category_id": 1, "id": 148659}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [16, 180, 2, 64, 172, 2, 10, 212, 1, 81, 196, 1, 0, 0, 0, 0, 0, 0, 26, 234, 1, 60, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 138, 1, 34, 162, 1], "image_id": 107809, "bbox": [6.47, 135.91, 107.87, 108.94], "category_id": 1, "id": 148667}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 17, 1, 0, 0, 0], "image_id": 103998, "bbox": [326.1, 12.11, 44.12, 40.58], "category_id": 1, "id": 148694}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 438, 273, 2, 0, 0, 0, 439, 328, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 252, 1, 449, 265, 1], "image_id": 107869, "bbox": [421.59, 243.7, 43.89, 81.46], "category_id": 1, "id": 148711}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [558, 175, 2, 447, 172, 2, 598, 260, 2, 418, 263, 2, 540, 321, 2, 376, 349, 2, 553, 309, 2, 475, 305, 2, 517, 438, 2, 451, 429, 1, 0, 0, 0, 0, 0, 0, 459, 67, 1, 501, 157, 1], "image_id": 107166, "bbox": [341.93, 39.91, 281.53, 433.62], "category_id": 1, "id": 148725}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [89, 243, 1, 101, 242, 2, 0, 0, 0, 105, 261, 2, 0, 0, 0, 121, 276, 2, 90, 277, 2, 101, 277, 2, 97, 306, 2, 105, 314, 2, 98, 333, 2, 105, 336, 2, 105, 219, 1, 101, 235, 1], "image_id": 103737, "bbox": [82.09, 220.98, 47.61, 129.49], "category_id": 1, "id": 148726}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [188, 50, 2, 145, 50, 2, 195, 81, 2, 144, 82, 2, 195, 105, 2, 161, 100, 2, 181, 95, 2, 154, 96, 2, 189, 118, 2, 147, 112, 2, 200, 140, 1, 170, 138, 2, 167, 18, 1, 166, 44, 1], "image_id": 104726, "bbox": [134.09, 13.78, 75.2, 124.94], "category_id": 1, "id": 148732}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [250, 203, 2, 113, 196, 2, 275, 306, 2, 77, 303, 2, 287, 382, 2, 66, 375, 2, 209, 375, 2, 129, 374, 2, 211, 510, 2, 111, 497, 2, 0, 0, 0, 115, 638, 2, 195, 96, 1, 183, 174, 1], "image_id": 106437, "bbox": [48.83, 77.95, 265.56, 562.05], "category_id": 1, "id": 148737}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 117, 1, 0, 0, 0], "image_id": 102964, "bbox": [441.38, 112.59, 80.92, 85.39], "category_id": 1, "id": 148738}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [214, 320, 1, 173, 318, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 382, 1, 141, 380, 1, 141, 397, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 273, 1, 189, 306, 1], "image_id": 105716, "bbox": [140.68, 267.2, 62.91, 97.04], "category_id": 1, "id": 148750}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [122, 365, 2, 135, 373, 2, 0, 0, 0, 132, 407, 2, 0, 0, 0, 147, 433, 2, 130, 425, 2, 144, 428, 2, 145, 459, 2, 146, 461, 2, 135, 487, 2, 144, 493, 2, 143, 330, 1, 136, 357, 1], "image_id": 105597, "bbox": [118.44, 327.97, 48.58, 178.73], "category_id": 1, "id": 148756}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 587, 184, 1, 590, 197, 1], "image_id": 106221, "bbox": [587.9, 194.64, 52.1, 78.66], "category_id": 1, "id": 148758}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108212, "bbox": [141.8, 120.63, 48.02, 26.29], "category_id": 1, "id": 148767}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 395, 211, 1, 391, 217, 1], "image_id": 105960, "bbox": [372.74, 211.27, 24.9, 49.67], "category_id": 1, "id": 148768}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 455, 106, 2, 0, 0, 0, 456, 113, 2, 0, 0, 0, 460, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 460, 84, 1, 457, 99, 1], "image_id": 105596, "bbox": [443.58, 81.5, 27.7, 61.74], "category_id": 1, "id": 148774}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [111, 202, 2, 97, 175, 2, 0, 0, 0, 245, 223, 2, 0, 0, 0, 367, 199, 2, 119, 373, 2, 101, 383, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 48, 1, 104, 147, 1], "image_id": 104888, "bbox": [30.86, 43.8, 400.19, 399.2], "category_id": 1, "id": 148775}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [329, 184, 2, 297, 186, 1, 329, 213, 2, 0, 0, 0, 335, 229, 2, 0, 0, 0, 325, 246, 2, 302, 248, 2, 343, 296, 2, 306, 296, 1, 0, 0, 0, 0, 0, 0, 322, 140, 1, 317, 170, 1], "image_id": 106741, "bbox": [287.95, 135.17, 65.83, 172.85], "category_id": 1, "id": 148783}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103504, "bbox": [505.25, 97.99, 9.81, 18.6], "category_id": 1, "id": 148787}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [211, 219, 1, 280, 222, 2, 0, 0, 0, 305, 298, 2, 0, 0, 0, 309, 344, 2, 227, 317, 1, 270, 323, 2, 0, 0, 0, 302, 367, 1, 0, 0, 0, 0, 0, 0, 242, 113, 1, 244, 137, 1], "image_id": 107952, "bbox": [221.26, 105.77, 99.69, 246.79], "category_id": 1, "id": 148793}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [513, 106, 2, 531, 105, 2, 492, 127, 1, 536, 125, 1, 492, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 519, 85, 1, 521, 102, 1], "image_id": 108035, "bbox": [486.58, 82.42, 53.62, 44.69], "category_id": 1, "id": 148812}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 60, 1], "image_id": 108001, "bbox": [488.48, 50.25, 11.38, 25.65], "category_id": 1, "id": 148815}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 27, 2, 245, 30, 2, 270, 58, 2, 246, 58, 2, 0, 0, 0, 0, 0, 0], "image_id": 107413, "bbox": [235.96, 0.84, 48.87, 64.05], "category_id": 1, "id": 148835}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [159, 177, 2, 109, 195, 2, 182, 159, 2, 67, 187, 2, 200, 125, 2, 82, 142, 2, 178, 247, 2, 157, 264, 2, 228, 272, 2, 205, 317, 2, 280, 314, 2, 229, 359, 2, 132, 154, 1, 132, 184, 1], "image_id": 107169, "bbox": [57.81, 90.25, 250.56, 280.95], "category_id": 1, "id": 148851}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [19, 191, 2, 0, 0, 0, 42, 224, 2, 7, 233, 2, 60, 242, 2, 54, 251, 2, 42, 237, 2, 10, 245, 2, 92, 262, 2, 57, 274, 2, 103, 316, 2, 50, 338, 2, 0, 145, 1, 3, 182, 1], "image_id": 108490, "bbox": [0, 138.07, 128.36, 227.59], "category_id": 1, "id": 148853}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [78, 195, 1, 28, 202, 1, 110, 231, 1, 51, 236, 2, 100, 234, 2, 86, 224, 2, 85, 260, 1, 59, 265, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106741, "bbox": [25.45, 208.98, 81.23, 52.71], "category_id": 1, "id": 148856}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [113, 179, 2, 84, 179, 2, 114, 191, 2, 81, 190, 2, 97, 198, 2, 92, 199, 2, 99, 209, 1, 90, 210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 156, 1, 98, 174, 1], "image_id": 104097, "bbox": [78.54, 155.43, 40.61, 76.09], "category_id": 1, "id": 148857}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [245, 258, 2, 102, 218, 2, 212, 396, 2, 0, 0, 0, 117, 299, 2, 0, 0, 0, 218, 299, 2, 157, 298, 2, 247, 428, 2, 157, 406, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102712, "bbox": [50.15, 120.21, 251.14, 391.49], "category_id": 1, "id": 148859}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [70, 103, 2, 36, 101, 2, 75, 124, 2, 40, 128, 2, 79, 127, 2, 58, 130, 2, 68, 158, 2, 45, 157, 2, 70, 196, 2, 46, 196, 2, 67, 233, 2, 46, 235, 1, 50, 68, 1, 52, 94, 1], "image_id": 108490, "bbox": [29.15, 63.65, 59.48, 179.43], "category_id": 1, "id": 148886}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [506, 0, 1, 393, 27, 2, 498, 124, 2, 395, 138, 2, 372, 56, 2, 305, 158, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104596, "bbox": [251.86, 3.39, 325.27, 205.55], "category_id": 1, "id": 148894}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107713, "bbox": [311.15, 196.85, 82.66, 74.23], "category_id": 1, "id": 148899}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [405, 119, 2, 378, 117, 2, 410, 151, 2, 0, 0, 0, 391, 149, 2, 0, 0, 0, 398, 156, 2, 385, 155, 2, 395, 164, 2, 369, 163, 1, 398, 204, 2, 372, 199, 1, 390, 91, 1, 391, 112, 1], "image_id": 108269, "bbox": [374.74, 93.93, 46.14, 111.5], "category_id": 1, "id": 148903}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107358, "bbox": [0.86, 322.1, 8.64, 39.72], "category_id": 1, "id": 148908}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [301, 242, 2, 282, 244, 2, 307, 262, 2, 0, 0, 0, 308, 280, 2, 0, 0, 0, 298, 279, 2, 282, 279, 1, 297, 304, 1, 287, 304, 1, 295, 325, 1, 288, 325, 1, 290, 221, 1, 291, 237, 1], "image_id": 104478, "bbox": [279.61, 218.49, 33.38, 115.87], "category_id": 1, "id": 148927}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103586, "bbox": [255.38, 118.97, 26.45, 73.54], "category_id": 1, "id": 148931}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 178, 2, 310, 176, 2, 314, 195, 2, 310, 196, 1, 317, 211, 2, 315, 211, 1, 281, 170, 2, 282, 171, 2, 293, 198, 2, 294, 198, 2, 290, 227, 1, 289, 224, 2, 329, 171, 1, 315, 176, 1], "image_id": 108562, "bbox": [264.61, 155.06, 70.78, 69.94], "category_id": 1, "id": 148941}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 265, 1, 616, 278, 1], "image_id": 106415, "bbox": [606.46, 264.18, 21.4, 33.57], "category_id": 1, "id": 148966}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106572, "bbox": [562.86, 142.72, 44.91, 30.41], "category_id": 1, "id": 148978}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [119, 157, 2, 151, 171, 2, 0, 0, 0, 162, 211, 2, 0, 0, 0, 182, 240, 1, 85, 228, 2, 119, 241, 2, 0, 0, 0, 134, 223, 2, 0, 0, 0, 114, 250, 2, 163, 129, 1, 142, 154, 1], "image_id": 104149, "bbox": [81.09, 122.47, 105.4, 153.13], "category_id": 1, "id": 148991}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [243, 232, 2, 185, 231, 1, 214, 294, 2, 0, 0, 0, 155, 289, 1, 0, 0, 0, 256, 365, 2, 207, 362, 2, 256, 477, 1, 214, 477, 1, 0, 0, 0, 0, 0, 0, 224, 143, 1, 221, 214, 1], "image_id": 105986, "bbox": [191.28, 128, 89.17, 322.16], "category_id": 1, "id": 149021}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [471, 151, 1, 416, 151, 2, 0, 0, 0, 402, 185, 2, 0, 0, 0, 409, 210, 2, 469, 242, 1, 433, 243, 1, 469, 299, 2, 436, 297, 2, 475, 352, 2, 437, 353, 2, 435, 111, 1, 440, 144, 1], "image_id": 106937, "bbox": [392.05, 104.31, 94.2, 272.89], "category_id": 1, "id": 149023}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 466, 398, 2, 398, 429, 2, 437, 412, 2, 451, 518, 2, 434, 481, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107452, "bbox": [368.2, 181.79, 111.8, 402.29], "category_id": 1, "id": 149025}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 111, 1, 31, 114, 1], "image_id": 107036, "bbox": [24.14, 110.88, 11.87, 28.31], "category_id": 1, "id": 149026}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103737, "bbox": [142.79, 212.53, 11.03, 10.09], "category_id": 1, "id": 149030}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [78, 328, 2, 107, 328, 2, 71, 367, 2, 105, 363, 2, 69, 393, 2, 133, 355, 1, 82, 400, 2, 104, 402, 2, 100, 442, 2, 95, 443, 2, 108, 484, 2, 79, 498, 2, 101, 288, 1, 97, 316, 1], "image_id": 105949, "bbox": [61.64, 282.46, 62.1, 232.14], "category_id": 1, "id": 149033}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103075, "bbox": [352.51, 81.74, 7.04, 19.95], "category_id": 1, "id": 149041}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104945, "bbox": [549.06, 138.53, 19.05, 12.75], "category_id": 1, "id": 149044}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104780, "bbox": [390.23, 61.99, 16.09, 31.81], "category_id": 1, "id": 149045}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [246, 376, 1, 234, 380, 1, 248, 393, 2, 238, 394, 2, 259, 403, 2, 248, 410, 2, 258, 407, 2, 249, 410, 2, 268, 421, 2, 256, 431, 2, 278, 440, 1, 261, 451, 1, 0, 0, 0, 0, 0, 0], "image_id": 107169, "bbox": [236.31, 383.23, 44.06, 63.95], "category_id": 1, "id": 149058}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [241, 287, 2, 167, 297, 2, 192, 356, 2, 100, 321, 1, 113, 302, 2, 34, 332, 1, 231, 439, 1, 189, 414, 2, 140, 444, 1, 73, 423, 2, 0, 0, 0, 0, 0, 0, 199, 200, 1, 203, 273, 1], "image_id": 103191, "bbox": [33.26, 195.55, 230.41, 314.86], "category_id": 1, "id": 149085}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104888, "bbox": [0, 278.17, 12.38, 29.77], "category_id": 1, "id": 149110}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 39, 2, 375, 31, 2, 426, 145, 2, 361, 135, 1, 0, 0, 0, 0, 0, 0], "image_id": 107477, "bbox": [328.95, 0, 141.28, 176.4], "category_id": 1, "id": 149114}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [493, 31, 2, 488, 31, 2, 493, 50, 2, 0, 0, 0, 478, 60, 2, 0, 0, 0, 490, 66, 2, 484, 64, 2, 487, 98, 2, 484, 96, 2, 0, 0, 0, 0, 0, 0, 489, 9, 1, 490, 23, 1], "image_id": 107213, "bbox": [471.49, 6.88, 31.16, 106.3], "category_id": 1, "id": 149122}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [631, 218, 2, 566, 213, 2, 602, 276, 2, 537, 266, 1, 536, 285, 1, 542, 218, 2, 637, 326, 1, 581, 323, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 595, 163, 1, 592, 206, 1], "image_id": 105655, "bbox": [530.49, 156.89, 109.51, 136.95], "category_id": 1, "id": 149152}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 154, 112, 2, 0, 0, 0, 153, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 63, 1, 0, 0, 0], "image_id": 105596, "bbox": [140.22, 61.07, 48.47, 88.81], "category_id": 1, "id": 149153}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 12, 96, 2, 0, 0, 0, 7, 120, 2, 0, 0, 0, 3, 125, 2, 0, 0, 0, 1, 175, 2, 0, 0, 0, 1, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108269, "bbox": [0, 60.43, 17.84, 179.04], "category_id": 1, "id": 149206}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [316, 410, 2, 359, 421, 2, 0, 0, 0, 359, 457, 2, 0, 0, 0, 365, 477, 2, 315, 478, 1, 342, 482, 2, 321, 516, 2, 346, 523, 2, 315, 569, 2, 338, 577, 2, 349, 379, 1, 342, 405, 1], "image_id": 108606, "bbox": [304.88, 376.29, 65.69, 223.08], "category_id": 1, "id": 149209}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [18, 223, 2, 23, 222, 2, 20, 240, 2, 0, 0, 0, 13, 252, 2, 0, 0, 0, 18, 251, 2, 22, 250, 2, 17, 274, 2, 22, 274, 2, 23, 294, 2, 29, 296, 2, 9, 206, 1, 16, 216, 1], "image_id": 108236, "bbox": [6.19, 204.27, 28.72, 100.36], "category_id": 1, "id": 149228}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107239, "bbox": [519.67, 317.36, 11.6, 17.38], "category_id": 1, "id": 149234}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [634, 121, 1, 601, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, 76, 1, 624, 111, 1], "image_id": 106352, "bbox": [579.26, 71.53, 60.27, 93.26], "category_id": 1, "id": 149242}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, 210, 1, 599, 217, 1], "image_id": 103737, "bbox": [599.7, 208.13, 16.79, 50.52], "category_id": 1, "id": 149247}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [44, 116, 1, 22, 112, 2, 41, 136, 1, 19, 134, 2, 0, 0, 0, 0, 0, 0, 38, 145, 1, 27, 143, 2, 31, 167, 1, 28, 168, 2, 23, 190, 2, 31, 191, 2, 35, 92, 1, 34, 109, 1], "image_id": 102795, "bbox": [13.13, 90.85, 33.07, 119.25], "category_id": 1, "id": 149274}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 53, 1, 307, 59, 1], "image_id": 107168, "bbox": [294.65, 51.49, 12.68, 53.86], "category_id": 1, "id": 149275}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 182, 1, 635, 194, 1], "image_id": 103039, "bbox": [624.93, 178.59, 15.07, 46.67], "category_id": 1, "id": 149289}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [180, 208, 1, 156, 207, 2, 0, 0, 0, 145, 219, 2, 0, 0, 0, 151, 189, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 172, 1, 168, 199, 1], "image_id": 108503, "bbox": [133.86, 168.19, 51.25, 77.76], "category_id": 1, "id": 149309}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 180, 1, 505, 189, 1], "image_id": 105582, "bbox": [490.37, 181.43, 25.75, 68.83], "category_id": 1, "id": 149311}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [103, 160, 2, 86, 160, 2, 104, 176, 2, 84, 175, 2, 98, 185, 2, 86, 187, 2, 99, 189, 2, 86, 189, 2, 99, 207, 1, 87, 205, 1, 0, 0, 0, 0, 0, 0, 99, 139, 1, 96, 155, 1], "image_id": 103689, "bbox": [80.88, 136.65, 29.04, 66.26], "category_id": 1, "id": 149338}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [398, 205, 2, 381, 206, 2, 408, 207, 2, 396, 200, 2, 408, 197, 2, 404, 193, 2, 399, 233, 2, 385, 234, 2, 387, 253, 2, 390, 255, 2, 375, 272, 2, 407, 261, 2, 380, 191, 1, 387, 200, 1], "image_id": 104658, "bbox": [361.3, 188.91, 57.71, 85.66], "category_id": 1, "id": 149344}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [161, 347, 2, 139, 346, 2, 159, 370, 2, 128, 362, 2, 154, 385, 2, 119, 373, 2, 155, 378, 2, 140, 377, 2, 153, 405, 2, 140, 405, 1, 153, 422, 1, 141, 422, 1, 148, 314, 1, 150, 337, 1], "image_id": 103382, "bbox": [106.31, 308.23, 63.1, 100.32], "category_id": 1, "id": 149346}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [292, 287, 2, 259, 294, 2, 309, 348, 2, 249, 381, 1, 345, 344, 2, 306, 370, 2, 309, 407, 1, 277, 414, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 216, 1, 286, 277, 1], "image_id": 105908, "bbox": [248.92, 208.86, 142.53, 198.54], "category_id": 1, "id": 149357}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [200, 254, 2, 160, 255, 2, 207, 300, 2, 153, 282, 2, 202, 330, 2, 0, 0, 0, 191, 313, 2, 163, 312, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 203, 1, 182, 239, 1], "image_id": 105246, "bbox": [144.47, 198.74, 68.14, 179.97], "category_id": 1, "id": 149359}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [331, 209, 2, 295, 212, 2, 0, 0, 0, 291, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 173, 1, 315, 203, 1], "image_id": 108503, "bbox": [283.7, 169.84, 57.55, 71.76], "category_id": 1, "id": 149363}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [66, 57, 2, 36, 57, 2, 66, 88, 2, 31, 91, 2, 61, 61, 2, 58, 87, 2, 61, 95, 2, 34, 97, 2, 67, 93, 2, 57, 95, 2, 73, 138, 1, 43, 139, 1, 54, 29, 1, 51, 55, 1], "image_id": 104726, "bbox": [24.49, 23.7, 55.44, 114.59], "category_id": 1, "id": 149365}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [361, 56, 2, 398, 54, 2, 361, 94, 2, 405, 99, 2, 355, 133, 2, 0, 0, 0, 369, 138, 2, 400, 139, 2, 356, 203, 2, 392, 192, 2, 355, 249, 2, 419, 242, 2, 366, 8, 1, 374, 39, 1], "image_id": 105608, "bbox": [331.09, 3.71, 103.03, 265.78], "category_id": 1, "id": 149366}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [206, 147, 2, 161, 202, 2, 0, 0, 0, 200, 251, 2, 0, 0, 0, 256, 292, 1, 226, 252, 2, 193, 274, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 90, 1, 181, 151, 1], "image_id": 105264, "bbox": [136.65, 83.38, 149.38, 243.18], "category_id": 1, "id": 149375}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [248, 185, 1, 196, 192, 2, 224, 280, 1, 174, 282, 2, 174, 217, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 118, 1, 214, 181, 1], "image_id": 106444, "bbox": [145.44, 107.79, 125.51, 187.52], "category_id": 1, "id": 149394}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104249, "bbox": [583.4, 278.09, 56.6, 40.42], "category_id": 1, "id": 149395}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104161, "bbox": [439.39, 331.04, 12.82, 12.43], "category_id": 1, "id": 149400}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [130, 403, 2, 141, 401, 1, 125, 419, 2, 128, 397, 2, 118, 419, 2, 120, 387, 2, 127, 438, 2, 138, 438, 2, 125, 460, 2, 135, 462, 2, 128, 484, 2, 136, 486, 2, 137, 383, 1, 134, 398, 1], "image_id": 104045, "bbox": [108.96, 377.04, 36.96, 120.75], "category_id": 1, "id": 149415}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [253, 166, 2, 228, 165, 2, 254, 204, 2, 221, 214, 2, 272, 267, 2, 236, 282, 2, 177, 107, 2, 149, 105, 2, 119, 132, 2, 167, 179, 2, 74, 92, 2, 161, 244, 2, 286, 136, 1, 247, 156, 1], "image_id": 108372, "bbox": [36.98, 65.15, 264.28, 243.96], "category_id": 1, "id": 149416}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 493, 229, 2, 0, 0, 0, 517, 242, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107267, "bbox": [466.4, 182.04, 73.23, 78.65], "category_id": 1, "id": 149417}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 129, 11, 2, 11, 4, 2, 140, 93, 1, 10, 90, 2, 109, 91, 1, 48, 93, 2, 106, 217, 1, 41, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104235, "bbox": [0, 0, 154.58, 215.44], "category_id": 1, "id": 149424}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [81, 236, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 302, 2, 84, 301, 2, 72, 346, 2, 81, 343, 2, 73, 399, 2, 99, 396, 2, 67, 203, 1, 78, 227, 1], "image_id": 105976, "bbox": [42.46, 196.71, 77.05, 220.15], "category_id": 1, "id": 149429}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104137, "bbox": [257.71, 20.94, 23.75, 21.98], "category_id": 1, "id": 149430}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 476, 598, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 577, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107452, "bbox": [377.68, 568.89, 102.32, 71.11], "category_id": 1, "id": 149432}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 118, 1], "image_id": 107036, "bbox": [201.29, 113.55, 15.55, 29.36], "category_id": 1, "id": 149452}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [254, 286, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 359, 2, 246, 342, 2, 189, 374, 2, 201, 346, 2, 252, 393, 2, 253, 354, 2, 234, 238, 1, 245, 272, 1], "image_id": 104647, "bbox": [182.4, 232.93, 99.98, 172.95], "category_id": 1, "id": 149458}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [245, 146, 2, 207, 142, 2, 244, 178, 1, 200, 176, 2, 221, 179, 2, 206, 176, 2, 234, 190, 2, 208, 187, 2, 210, 194, 2, 194, 191, 2, 212, 233, 1, 191, 231, 1, 223, 106, 1, 226, 134, 1], "image_id": 107575, "bbox": [189.16, 101.84, 62.04, 101.66], "category_id": 1, "id": 149465}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [506, 111, 2, 559, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 517, 191, 1, 551, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 535, 63, 1, 532, 95, 1], "image_id": 106525, "bbox": [495.27, 57.61, 58.76, 119.21], "category_id": 1, "id": 149471}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [44, 128, 2, 64, 127, 2, 35, 147, 2, 66, 144, 2, 27, 147, 2, 0, 0, 0, 45, 153, 2, 58, 153, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 104, 1, 53, 120, 1], "image_id": 102956, "bbox": [21.36, 104.22, 47.31, 54.03], "category_id": 1, "id": 149483}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 135, 1], "image_id": 104514, "bbox": [389.12, 124.51, 34.4, 30.27], "category_id": 1, "id": 149492}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [384, 145, 2, 411, 123, 2, 361, 160, 2, 421, 97, 2, 331, 152, 2, 390, 84, 2, 414, 191, 2, 438, 185, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 111, 1, 392, 131, 1], "image_id": 108397, "bbox": [323.16, 74.75, 125.94, 119.6], "category_id": 1, "id": 149500}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [114, 190, 2, 95, 193, 2, 134, 215, 2, 121, 218, 2, 130, 193, 2, 0, 0, 0, 126, 235, 2, 110, 241, 2, 168, 242, 2, 150, 252, 2, 177, 293, 2, 139, 298, 2, 102, 155, 1, 101, 184, 1], "image_id": 108490, "bbox": [83.94, 150.49, 114.53, 172.82], "category_id": 1, "id": 149503}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 145, 1], "image_id": 104565, "bbox": [152.36, 135.08, 19.89, 69.87], "category_id": 1, "id": 149504}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [390, 144, 2, 333, 152, 2, 406, 189, 2, 326, 192, 1, 409, 221, 2, 323, 228, 1, 381, 233, 1, 346, 237, 1, 394, 305, 2, 352, 302, 1, 0, 0, 0, 0, 0, 0, 356, 93, 1, 357, 132, 1], "image_id": 108109, "bbox": [321.91, 91.85, 91.27, 215.09], "category_id": 1, "id": 149549}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [223, 235, 2, 231, 236, 2, 0, 0, 0, 233, 262, 2, 0, 0, 0, 248, 273, 1, 222, 282, 2, 233, 287, 2, 233, 314, 2, 242, 316, 2, 205, 339, 2, 238, 353, 2, 241, 211, 1, 232, 228, 1], "image_id": 107002, "bbox": [195.3, 210.13, 60.25, 153.44], "category_id": 1, "id": 149558}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [175, 199, 2, 118, 207, 2, 205, 205, 2, 156, 235, 2, 219, 199, 2, 205, 225, 2, 180, 305, 2, 130, 300, 2, 205, 371, 1, 80, 348, 2, 250, 418, 1, 74, 428, 2, 133, 162, 1, 149, 200, 1], "image_id": 104808, "bbox": [38.27, 150.62, 211.11, 297.53], "category_id": 1, "id": 149565}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [353, 246, 2, 324, 244, 1, 366, 274, 2, 305, 290, 1, 371, 296, 2, 348, 303, 2, 363, 327, 2, 345, 330, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 208, 1, 339, 236, 1], "image_id": 104888, "bbox": [323.06, 189.52, 62.78, 147.79], "category_id": 1, "id": 149569}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106256, "bbox": [0, 63.94, 53.9, 57.08], "category_id": 1, "id": 149571}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [346, 152, 2, 378, 166, 2, 343, 231, 2, 451, 216, 2, 387, 278, 2, 494, 175, 2, 341, 293, 2, 297, 287, 2, 395, 391, 2, 304, 382, 2, 0, 0, 0, 0, 0, 0, 368, 85, 1, 357, 149, 1], "image_id": 105789, "bbox": [245.08, 80.67, 274.53, 338.7], "category_id": 1, "id": 149596}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [375, 257, 2, 159, 246, 2, 326, 427, 2, 150, 420, 2, 260, 453, 2, 147, 453, 1, 320, 509, 2, 178, 516, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 93, 1, 271, 229, 1], "image_id": 104718, "bbox": [104.3, 55.31, 320.79, 573.63], "category_id": 1, "id": 149597}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [153, 249, 2, 167, 248, 2, 152, 260, 2, 172, 260, 2, 0, 0, 0, 0, 0, 0, 157, 272, 2, 167, 271, 2, 159, 290, 2, 168, 289, 2, 161, 304, 2, 166, 302, 2, 162, 230, 1, 160, 239, 1], "image_id": 103737, "bbox": [148.62, 228.17, 26.31, 84.6], "category_id": 1, "id": 149605}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 250, 1, 302, 258, 1], "image_id": 104626, "bbox": [292.03, 249.63, 22.63, 58.79], "category_id": 1, "id": 149610}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [322, 292, 2, 203, 309, 2, 342, 389, 1, 158, 398, 1, 0, 0, 0, 253, 386, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 194, 1, 274, 287, 1], "image_id": 107461, "bbox": [168.94, 185.46, 208.51, 230.41], "category_id": 1, "id": 149620}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [444, 68, 2, 417, 68, 2, 452, 83, 2, 412, 83, 2, 440, 89, 2, 420, 88, 2, 0, 0, 0, 0, 0, 0, 442, 80, 2, 0, 0, 0, 417, 91, 2, 0, 0, 0, 429, 46, 1, 430, 63, 1], "image_id": 103248, "bbox": [408.92, 47.7, 45.97, 44.63], "category_id": 1, "id": 149634}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 14, 226, 2, 0, 0, 0, 18, 259, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 334, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105921, "bbox": [4.01, 165.99, 22.4, 198.13], "category_id": 1, "id": 149683}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [392, 217, 2, 427, 185, 2, 239, 361, 2, 256, 327, 2, 104, 320, 2, 158, 318, 2, 384, 580, 2, 369, 543, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 49, 1, 365, 181, 1], "image_id": 103301, "bbox": [41.09, 31.6, 438.91, 600.5], "category_id": 1, "id": 149689}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [478, 85, 2, 496, 83, 2, 470, 101, 2, 506, 99, 2, 463, 99, 2, 496, 93, 2, 479, 112, 2, 492, 110, 2, 461, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 64, 1, 485, 78, 1], "image_id": 102956, "bbox": [455.06, 64.22, 54.12, 52.42], "category_id": 1, "id": 149692}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [566, 113, 2, 522, 113, 2, 566, 145, 2, 536, 136, 2, 559, 140, 2, 539, 107, 2, 554, 175, 1, 534, 175, 2, 549, 142, 2, 536, 142, 2, 546, 188, 1, 537, 188, 1, 541, 76, 1, 543, 105, 1], "image_id": 104042, "bbox": [514.46, 74.23, 61.05, 112.18], "category_id": 1, "id": 149707}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 113, 1, 226, 131, 1], "image_id": 104138, "bbox": [213.16, 111.88, 31.17, 54.81], "category_id": 1, "id": 149721}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 90, 1, 417, 110, 1], "image_id": 104727, "bbox": [403.44, 88.39, 20.42, 60.36], "category_id": 1, "id": 149725}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 181, 1, 615, 192, 1], "image_id": 103039, "bbox": [609.16, 176.08, 30.84, 75.47], "category_id": 1, "id": 149729}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [384, 203, 2, 460, 202, 2, 376, 270, 2, 469, 263, 2, 392, 276, 2, 478, 316, 2, 392, 316, 2, 448, 319, 2, 0, 0, 0, 489, 381, 2, 0, 0, 0, 502, 475, 2, 423, 127, 1, 423, 178, 1], "image_id": 107952, "bbox": [340.63, 68.13, 201.71, 462.18], "category_id": 1, "id": 149732}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103039, "bbox": [521.64, 173.44, 17.09, 38.08], "category_id": 1, "id": 149738}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 588, 64, 2, 575, 64, 2, 633, 306, 2, 598, 287, 2, 0, 0, 0, 0, 0, 0], "image_id": 105621, "bbox": [516.4, 0.63, 123.6, 341.81], "category_id": 1, "id": 149741}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 211, 270, 1, 0, 0, 0, 214, 294, 2, 0, 0, 0, 196, 288, 2, 182, 287, 2, 194, 325, 1, 184, 325, 2, 197, 354, 2, 187, 357, 2, 0, 0, 0, 0, 0, 0], "image_id": 102903, "bbox": [176.22, 269.44, 44.71, 102.49], "category_id": 1, "id": 149753}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 149, 1, 0, 0, 0], "image_id": 107809, "bbox": [42.66, 150.1, 29.46, 19.32], "category_id": 1, "id": 149755}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108089, "bbox": [261.31, 247.56, 20.74, 75.12], "category_id": 1, "id": 149761}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 622, 102, 2, 0, 0, 0, 631, 214, 2, 0, 0, 0, 0, 0, 0], "image_id": 108344, "bbox": [595.69, 1.05, 43.23, 243.55], "category_id": 1, "id": 149776}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 9, 1, 126, 18, 1], "image_id": 108139, "bbox": [111.22, 8.15, 23.39, 43.59], "category_id": 1, "id": 149783}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 325, 336, 2, 0, 0, 0, 277, 341, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 382, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104808, "bbox": [247.25, 237.58, 85.75, 252.5], "category_id": 1, "id": 149784}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [102, 110, 2, 130, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 215, 2, 119, 217, 1, 93, 279, 2, 0, 0, 0, 77, 347, 2, 0, 0, 0, 136, 80, 1, 146, 134, 1], "image_id": 105432, "bbox": [63.6, 62.67, 91.48, 315.54], "category_id": 1, "id": 149799}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [546, 252, 2, 540, 239, 2, 534, 285, 1, 507, 240, 2, 519, 263, 1, 485, 231, 2, 544, 301, 1, 538, 285, 1, 498, 305, 2, 496, 289, 2, 534, 301, 2, 527, 286, 1, 530, 209, 1, 536, 236, 1], "image_id": 104647, "bbox": [469.54, 204.43, 85.57, 112.77], "category_id": 1, "id": 149808}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104350, "bbox": [626.08, 180.95, 12.93, 39.82], "category_id": 1, "id": 149819}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [284, 142, 2, 313, 125, 2, 254, 153, 2, 305, 98, 2, 240, 139, 2, 285, 82, 2, 318, 189, 2, 338, 185, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 108, 1, 294, 127, 1], "image_id": 108397, "bbox": [236.51, 67.96, 112.8, 121.89], "category_id": 1, "id": 149824}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 75, 1, 0, 0, 0], "image_id": 105254, "bbox": [149.69, 70.5, 62.54, 51.45], "category_id": 1, "id": 149829}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 59, 68, 1, 0, 0, 0, 15, 140, 2, 0, 0, 0, 91, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104518, "bbox": [1.58, 1.58, 64.79, 224.4], "category_id": 1, "id": 149830}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [463, 220, 1, 530, 222, 2, 0, 0, 0, 556, 282, 2, 0, 0, 0, 547, 320, 2, 472, 316, 1, 521, 318, 1, 0, 0, 0, 558, 383, 1, 0, 0, 0, 567, 449, 1, 491, 153, 1, 491, 207, 1], "image_id": 107952, "bbox": [468.96, 97.71, 104.37, 238.27], "category_id": 1, "id": 149840}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 32, 1, 259, 39, 2, 239, 83, 1, 266, 95, 1, 0, 0, 0, 0, 0, 0], "image_id": 103320, "bbox": [219.55, 0.14, 58.92, 91.06], "category_id": 1, "id": 149848}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 204, 1, 286, 211, 1], "image_id": 105134, "bbox": [280.96, 203.11, 15.95, 10.94], "category_id": 1, "id": 149855}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 624, 40, 2, 575, 45, 1, 574, 34, 2, 0, 0, 0, 620, 67, 2, 587, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103801, "bbox": [561.83, 0, 78.17, 71.22], "category_id": 1, "id": 149873}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [244, 17, 2, 212, 17, 2, 251, 41, 2, 204, 46, 2, 243, 48, 2, 218, 42, 2, 238, 55, 2, 216, 55, 2, 248, 51, 2, 232, 50, 2, 258, 69, 2, 241, 70, 2, 0, 0, 0, 228, 10, 1], "image_id": 104726, "bbox": [199.69, 1.04, 66.17, 74.05], "category_id": 1, "id": 149886}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [188, 87, 2, 178, 88, 2, 184, 119, 2, 0, 0, 0, 163, 117, 2, 0, 0, 0, 187, 130, 2, 179, 129, 2, 168, 163, 2, 158, 161, 1, 176, 200, 2, 169, 199, 2, 182, 50, 1, 184, 78, 1], "image_id": 104489, "bbox": [141.51, 48, 56.27, 168.28], "category_id": 1, "id": 149891}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [189, 469, 1, 0, 0, 0, 177, 445, 1, 0, 0, 0, 178, 418, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [183.26, 402.75, 96.17, 77.25], "category_id": 1, "id": 149903}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103201, "bbox": [346.87, 432.07, 20.54, 26.62], "category_id": 1, "id": 149919}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [130, 114, 2, 112, 112, 2, 137, 128, 2, 0, 0, 0, 133, 146, 2, 0, 0, 0, 126, 151, 2, 113, 151, 2, 124, 171, 1, 114, 171, 1, 125, 195, 1, 116, 196, 1, 121, 86, 1, 121, 107, 1], "image_id": 107872, "bbox": [108.02, 83.89, 36.31, 83.95], "category_id": 1, "id": 149920}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 423, 331, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 275, 1, 445, 323, 1], "image_id": 107383, "bbox": [412.68, 269.78, 42.88, 103.97], "category_id": 1, "id": 149923}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 344, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 155, 1], "image_id": 106157, "bbox": [79.36, 2.49, 420.64, 375.33], "category_id": 1, "id": 149942}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [317, 172, 2, 343, 179, 2, 293, 231, 2, 333, 237, 2, 0, 0, 0, 322, 278, 2, 319, 259, 2, 349, 264, 2, 326, 320, 2, 345, 332, 2, 286, 365, 2, 338, 393, 2, 346, 124, 1, 333, 160, 1], "image_id": 106525, "bbox": [270.96, 119.14, 102.27, 289.94], "category_id": 1, "id": 149944}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 310, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 268, 1, 0, 0, 0], "image_id": 105890, "bbox": [89.62, 263.93, 83.87, 63.31], "category_id": 1, "id": 149951}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 158, 454, 2, 0, 0, 0, 131, 452, 2, 79, 424, 1, 93, 523, 2, 44, 541, 1, 164, 509, 2, 0, 0, 0, 158, 628, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105246, "bbox": [17.38, 412.18, 170.67, 221.24], "category_id": 1, "id": 149967}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104086, "bbox": [435.94, 92.94, 28.07, 43.87], "category_id": 1, "id": 150012}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105812, "bbox": [423.96, 264.12, 17.24, 21.55], "category_id": 1, "id": 150018}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [2, 202, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107162, "bbox": [0.26, 77.21, 82.98, 159.55], "category_id": 1, "id": 150020}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106255, "bbox": [324.93, 339.59, 41.94, 67.62], "category_id": 1, "id": 150030}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 538, 1, 131, 543, 1], "image_id": 103224, "bbox": [127.57, 538.4, 11.82, 32.24], "category_id": 1, "id": 150038}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [328, 224, 2, 266, 228, 1, 344, 251, 2, 0, 0, 0, 304, 233, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 179, 1, 293, 219, 1], "image_id": 107342, "bbox": [253.6, 169.51, 96.27, 109.65], "category_id": 1, "id": 150047}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 74, 1], "image_id": 104780, "bbox": [251.76, 64.35, 20.31, 24.24], "category_id": 1, "id": 150052}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [259.06, 417.26, 8.04, 23.28], "category_id": 1, "id": 150063}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [462, 128, 2, 376, 138, 2, 486, 290, 2, 359, 289, 2, 385, 342, 1, 306, 304, 1, 438, 402, 1, 377, 411, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 93, 1], "image_id": 104802, "bbox": [319.31, 1.05, 191.58, 415.62], "category_id": 1, "id": 150072}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [378, 303, 1, 408, 304, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 355, 2, 399, 357, 1, 374, 398, 1, 0, 0, 0, 372, 439, 2, 0, 0, 0, 402, 268, 1, 398, 294, 1], "image_id": 103201, "bbox": [365.96, 263.03, 61.04, 181.35], "category_id": 1, "id": 150080}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [551, 329, 2, 592, 323, 2, 546, 367, 1, 601, 359, 1, 0, 0, 0, 610, 389, 2, 556, 391, 1, 587, 392, 1, 560, 427, 1, 587, 438, 2, 566, 465, 1, 585, 480, 1, 570, 290, 1, 572, 313, 1], "image_id": 107383, "bbox": [545.46, 284.87, 69.7, 167.36], "category_id": 1, "id": 150082}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107036, "bbox": [258.05, 143.02, 18.51, 21.95], "category_id": 1, "id": 150088}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [288, 167, 2, 246, 170, 2, 296, 198, 2, 0, 0, 0, 275, 219, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 133, 1, 267, 162, 1], "image_id": 108503, "bbox": [244.61, 125.82, 56.33, 99.37], "category_id": 1, "id": 150089}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [370, 136, 2, 405, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 120, 1], "image_id": 107872, "bbox": [354.76, 50.17, 69.89, 170.07], "category_id": 1, "id": 150091}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 1, 1, 295, 24, 1], "image_id": 103670, "bbox": [264.35, 0.3, 41.02, 44.53], "category_id": 1, "id": 150095}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 469, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 38, 1, 373, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108586, "bbox": [351.06, 0, 132.87, 48.57], "category_id": 1, "id": 150112}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [342, 114, 2, 322, 114, 2, 285, 120, 2, 263, 117, 2, 247, 89, 2, 259, 71, 2, 361, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 71, 1, 335, 110, 1], "image_id": 103441, "bbox": [217.45, 47.72, 141.31, 142.02], "category_id": 1, "id": 150113}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [593, 118, 2, 585, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103269, "bbox": [569.26, 88.76, 49.8, 87.49], "category_id": 1, "id": 150130}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 260, 2, 343, 260, 2, 370, 281, 2, 339, 279, 2, 369, 297, 2, 336, 269, 2, 360, 299, 2, 343, 298, 2, 360, 325, 2, 345, 325, 2, 358, 351, 2, 346, 351, 2, 350, 237, 1, 352, 255, 1], "image_id": 104997, "bbox": [330.82, 235.04, 42.62, 127.63], "category_id": 1, "id": 150131}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 266, 1, 63, 268, 1], "image_id": 105949, "bbox": [59.2, 266.76, 6.23, 17.39], "category_id": 1, "id": 150147}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105378, "bbox": [76.35, 145.65, 21.86, 38.97], "category_id": 1, "id": 150157}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [161, 160, 2, 195, 162, 2, 0, 0, 0, 211, 187, 2, 0, 0, 0, 0, 0, 0, 164, 212, 2, 188, 214, 2, 171, 259, 1, 191, 261, 2, 0, 0, 0, 190, 297, 1, 183, 139, 1, 179, 152, 1], "image_id": 102576, "bbox": [156.8, 136.68, 61.79, 152.1], "category_id": 1, "id": 150159}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 197, 1], "image_id": 105177, "bbox": [60.54, 189.68, 30.62, 25.1], "category_id": 1, "id": 150165}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 297, 1, 632, 306, 1], "image_id": 107383, "bbox": [619.42, 297.37, 17.58, 27.27], "category_id": 1, "id": 150229}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104235, "bbox": [155.63, 228.02, 51.8, 47.39], "category_id": 1, "id": 150230}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [375, 585, 2, 367, 584, 2, 374, 619, 2, 359, 615, 2, 0, 0, 0, 342, 631, 2, 372, 634, 2, 362, 633, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 550, 1, 371, 577, 1], "image_id": 106426, "bbox": [334.49, 545.04, 55.82, 94.96], "category_id": 1, "id": 150238}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [458, 273, 2, 442, 269, 2, 457, 289, 2, 431, 284, 2, 462, 308, 2, 432, 302, 2, 451, 302, 2, 443, 301, 2, 456, 333, 2, 442, 329, 2, 453, 353, 1, 436, 352, 1, 464, 255, 1, 451, 267, 1], "image_id": 104608, "bbox": [425.37, 251.24, 41.37, 96.37], "category_id": 1, "id": 150241}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [398, 101, 1, 340, 110, 2, 449, 125, 2, 301, 137, 2, 490, 136, 2, 267, 157, 2, 387, 176, 1, 346, 174, 2, 418, 237, 1, 335, 234, 1, 422, 312, 2, 323, 310, 2, 361, 58, 1, 366, 94, 1], "image_id": 108035, "bbox": [230.9, 50.61, 296.42, 285.72], "category_id": 1, "id": 150247}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [273.61, 195.67, 3.41, 10.45], "category_id": 1, "id": 150248}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105947, "bbox": [570.93, 8, 30.97, 38.76], "category_id": 1, "id": 150314}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [468, 267, 2, 407, 274, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 378, 1, 449, 384, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 461, 185, 1, 445, 248, 1], "image_id": 107461, "bbox": [390.11, 179.22, 89.89, 160.24], "category_id": 1, "id": 150332}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [229, 324, 2, 180, 333, 2, 0, 0, 0, 166, 423, 2, 0, 0, 0, 215, 346, 2, 230, 449, 1, 191, 464, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 242, 1, 210, 309, 1], "image_id": 105908, "bbox": [139.32, 226.54, 121.44, 289.19], "category_id": 1, "id": 150384}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 122, 1, 0, 0, 0], "image_id": 106437, "bbox": [506.37, 119.15, 49.46, 53.55], "category_id": 1, "id": 150404}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104458, "bbox": [493.84, 111.21, 63.23, 41.8], "category_id": 1, "id": 150406}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [58.53, 221, 4.76, 11.88], "category_id": 1, "id": 150410}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 496, 265, 2, 0, 0, 0, 469, 280, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108491, "bbox": [433.31, 250.73, 66.69, 59.68], "category_id": 1, "id": 150413}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104235, "bbox": [139.73, 18.66, 19.75, 31.77], "category_id": 1, "id": 150421}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 79, 1, 195, 83, 1], "image_id": 103240, "bbox": [190.89, 78.63, 6.78, 24.51], "category_id": 1, "id": 150422}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [398, 279, 2, 335, 286, 2, 416, 310, 2, 319, 337, 1, 436, 317, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 220, 1, 369, 266, 1], "image_id": 105908, "bbox": [310.71, 212.13, 142.36, 122.98], "category_id": 1, "id": 150426}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [630, 291, 2, 0, 0, 0, 626, 320, 2, 0, 0, 0, 629, 339, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 415, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107631, "bbox": [623.02, 281.67, 16.77, 145.61], "category_id": 1, "id": 150473}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105378, "bbox": [22.93, 241, 23.17, 65.34], "category_id": 1, "id": 150474}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107239, "bbox": [580.02, 339.12, 9.58, 13.6], "category_id": 1, "id": 150476}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 207, 1, 53, 219, 1], "image_id": 106987, "bbox": [45.45, 206.62, 22.27, 39.25], "category_id": 1, "id": 150484}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [193, 50, 2, 181, 49, 2, 196, 60, 2, 0, 0, 0, 192, 65, 2, 0, 0, 0, 186, 71, 2, 179, 71, 1, 190, 84, 2, 181, 86, 1, 192, 102, 2, 182, 100, 1, 182, 34, 1, 186, 45, 1], "image_id": 108035, "bbox": [177.7, 32.32, 24.27, 81.1], "category_id": 1, "id": 150485}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [67, 209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106281, "bbox": [1.05, 148.42, 97.81, 90.44], "category_id": 1, "id": 150489}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [140, 286, 2, 193, 278, 2, 129, 347, 2, 0, 0, 0, 117, 322, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 208, 1, 162, 256, 1], "image_id": 105908, "bbox": [111.78, 199.21, 87.63, 160.36], "category_id": 1, "id": 150492}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [189, 255, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105908, "bbox": [174.67, 210.37, 26.71, 55.62], "category_id": 1, "id": 150499}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 158, 1, 51, 174, 1], "image_id": 104097, "bbox": [44.92, 158.57, 24.38, 98.39], "category_id": 1, "id": 150536}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 471, 2, 0, 0, 0, 153, 582, 2, 0, 0, 0, 0, 0, 0], "image_id": 106437, "bbox": [130.32, 438.51, 48.82, 172.87], "category_id": 1, "id": 150540}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107869, "bbox": [71.47, 245.7, 30.33, 41.53], "category_id": 1, "id": 150574}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 45, 1, 3, 50, 1], "image_id": 108035, "bbox": [0, 44.74, 9.58, 42.09], "category_id": 1, "id": 150579}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 48, 1, 302, 44, 2, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [261.76, 2.32, 55.69, 61.26], "category_id": 1, "id": 150580}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 225, 1, 52, 232, 1], "image_id": 103737, "bbox": [47.65, 225.72, 12.82, 25.64], "category_id": 1, "id": 150594}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [269, 248, 2, 228, 249, 2, 280, 291, 2, 229, 277, 2, 275, 283, 2, 239, 301, 2, 253, 306, 2, 215, 306, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 204, 1, 251, 240, 1], "image_id": 104759, "bbox": [196.77, 204.98, 88.28, 108.19], "category_id": 1, "id": 150602}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [78, 103, 2, 42, 104, 2, 87, 133, 1, 30, 140, 1, 0, 0, 0, 0, 0, 0, 68, 148, 1, 48, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 61, 1, 62, 91, 1], "image_id": 103269, "bbox": [22.74, 59.26, 58.07, 69.49], "category_id": 1, "id": 150603}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 79, 1, 81, 84, 1], "image_id": 103240, "bbox": [76.59, 78.86, 10.11, 27.18], "category_id": 1, "id": 150605}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [88, 134, 2, 121, 116, 2, 66, 135, 2, 121, 97, 1, 60, 129, 1, 102, 89, 2, 107, 169, 1, 131, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 102, 1, 101, 118, 1], "image_id": 108397, "bbox": [51.42, 82.19, 77.81, 65.01], "category_id": 1, "id": 150610}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [14, 183, 2, 17, 183, 2, 23, 198, 2, 18, 198, 2, 31, 202, 1, 24, 208, 2, 15, 208, 2, 18, 209, 2, 13, 225, 2, 25, 225, 2, 6, 240, 2, 28, 240, 2, 21, 170, 1, 17, 179, 1], "image_id": 102576, "bbox": [2.19, 167.41, 34.3, 77.82], "category_id": 1, "id": 150612}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 541, 1, 141, 544, 1], "image_id": 103224, "bbox": [138.7, 540.61, 5.69, 28.94], "category_id": 1, "id": 150619}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 190, 222, 1, 193, 234, 1], "image_id": 103737, "bbox": [182.93, 220.88, 14.58, 90.43], "category_id": 1, "id": 150630}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [482, 160, 2, 485, 160, 2, 482, 206, 2, 477, 213, 2, 458, 247, 2, 438, 236, 2, 501, 255, 2, 506, 256, 2, 479, 313, 2, 492, 312, 2, 492, 382, 2, 500, 379, 2, 453, 122, 1, 474, 154, 1], "image_id": 106937, "bbox": [420.69, 114.74, 105.17, 295.54], "category_id": 1, "id": 150641}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103269, "bbox": [39.11, 121.83, 51.98, 61.89], "category_id": 1, "id": 150652}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [624.6, 149.88, 3.26, 5.84], "category_id": 1, "id": 150656}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [591, 356, 2, 580, 326, 2, 547, 475, 2, 0, 0, 0, 453, 421, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 232, 1, 582, 318, 1], "image_id": 105908, "bbox": [425.76, 218.73, 209.71, 297.27], "category_id": 1, "id": 150669}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [166, 160, 2, 182, 193, 2, 135, 186, 2, 191, 233, 2, 0, 0, 0, 202, 267, 2, 123, 231, 2, 137, 242, 2, 123, 295, 2, 141, 305, 2, 103, 354, 2, 144, 367, 2, 209, 146, 1, 183, 169, 1], "image_id": 106937, "bbox": [83.1, 135.19, 141.74, 249.8], "category_id": 1, "id": 150670}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103269, "bbox": [23.2, 118.57, 26.42, 38.97], "category_id": 1, "id": 150686}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 14, 2, 373, 11, 2, 388, 43, 2, 376, 45, 2, 0, 0, 0, 0, 0, 0], "image_id": 104452, "bbox": [351.65, 1.03, 44.81, 48], "category_id": 1, "id": 150698}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 210, 1, 600, 216, 1], "image_id": 103737, "bbox": [591.21, 209.32, 12.62, 48.81], "category_id": 1, "id": 150713}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [436, 73, 2, 451, 72, 2, 430, 86, 2, 451, 88, 2, 426, 86, 2, 0, 0, 0, 434, 100, 2, 442, 100, 1, 416, 93, 2, 0, 0, 0, 404, 98, 1, 0, 0, 0, 442, 51, 1, 442, 65, 1], "image_id": 102956, "bbox": [395.25, 50.95, 59.42, 49.48], "category_id": 1, "id": 150756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [199, 97, 1, 180, 97, 1, 204, 115, 2, 175, 120, 1, 204, 129, 2, 175, 136, 1, 195, 129, 2, 184, 130, 2, 195, 156, 2, 184, 155, 2, 190, 178, 2, 189, 180, 2, 191, 72, 1, 191, 91, 1], "image_id": 104635, "bbox": [172.9, 69.76, 37.92, 125.13], "category_id": 1, "id": 150766}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 196, 1, 237, 207, 1], "image_id": 104521, "bbox": [221.2, 195.41, 29.84, 46.82], "category_id": 1, "id": 150788}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [176, 155, 2, 188, 161, 2, 170, 200, 2, 205, 194, 2, 178, 229, 1, 230, 219, 2, 102, 170, 2, 116, 179, 1, 92, 225, 1, 104, 237, 1, 44, 221, 1, 51, 234, 1, 210, 144, 1, 191, 156, 1], "image_id": 104149, "bbox": [86.11, 135.19, 156.48, 96.29], "category_id": 1, "id": 150801}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 208, 1, 200, 227, 1], "image_id": 104097, "bbox": [179.4, 207.65, 34.71, 33.89], "category_id": 1, "id": 150862}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [91, 206, 2, 162, 203, 1, 69, 269, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 320, 2, 0, 0, 0, 39, 352, 1, 0, 0, 0, 38, 486, 1, 0, 0, 0, 125, 145, 1, 122, 184, 1], "image_id": 107952, "bbox": [57.51, 82.07, 87.8, 414.32], "category_id": 1, "id": 150871}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [421, 253, 2, 390, 252, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 296, 1, 380, 294, 1, 374, 306, 1, 353, 296, 1, 0, 0, 0, 0, 0, 0, 405, 211, 1, 408, 244, 1], "image_id": 107111, "bbox": [355.74, 209.1, 75.21, 88.73], "category_id": 1, "id": 150897}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, 153, 2, 491, 122, 2, 512, 225, 2, 464, 209, 2, 483, 302, 2, 444, 287, 2, 0, 0, 0, 0, 0, 0], "image_id": 102712, "bbox": [411.02, 21.16, 182.85, 361.15], "category_id": 1, "id": 150898}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [486, 184, 2, 504, 179, 1, 456, 186, 2, 0, 0, 0, 449, 178, 2, 0, 0, 0, 509, 227, 1, 518, 222, 1, 470, 209, 2, 0, 0, 0, 492, 234, 2, 0, 0, 0, 484, 163, 1, 491, 177, 1], "image_id": 105947, "bbox": [443.3, 159.26, 83.6, 83.93], "category_id": 1, "id": 150905}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [435.12, 166.68, 5.22, 12.34], "category_id": 1, "id": 150911}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [167, 98, 1, 149, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 131, 2, 153, 131, 2, 166, 156, 2, 153, 155, 2, 167, 178, 2, 153, 180, 2, 0, 0, 0, 0, 0, 0], "image_id": 104635, "bbox": [148.5, 109.04, 33.71, 89.25], "category_id": 1, "id": 150914}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105908, "bbox": [610.13, 220.73, 24.57, 87.53], "category_id": 1, "id": 150925}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 77, 1, 438, 94, 1], "image_id": 108035, "bbox": [423.56, 74.85, 28.93, 26.17], "category_id": 1, "id": 150929}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107461, "bbox": [143.24, 216.06, 63.04, 106.51], "category_id": 1, "id": 150952}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 217, 1, 136, 224, 1], "image_id": 102576, "bbox": [131.25, 217.78, 18.37, 19.11], "category_id": 1, "id": 150958}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [213, 101, 1, 208, 89, 1, 220, 130, 1, 184, 133, 2, 209, 147, 2, 206, 151, 2, 214, 147, 2, 188, 149, 2, 0, 0, 0, 191, 177, 2, 0, 0, 0, 0, 0, 0, 194, 65, 1, 193, 92, 1], "image_id": 103269, "bbox": [160.93, 59.78, 62.06, 122.02], "category_id": 1, "id": 150963}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 204, 1, 573, 218, 1], "image_id": 103737, "bbox": [570.08, 198.93, 69.92, 77.88], "category_id": 1, "id": 150969}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [424, 287, 1, 395, 284, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 316, 1, 396, 315, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, 254, 1, 412, 280, 1], "image_id": 105378, "bbox": [393.88, 253.16, 36.09, 50.26], "category_id": 1, "id": 150975}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 110, 2, 149, 112, 2, 239, 172, 2, 133, 184, 2, 229, 220, 2, 137, 226, 2, 211, 204, 2, 173, 207, 2, 229, 295, 1, 175, 300, 2, 240, 364, 1, 183, 367, 1, 195, 58, 1, 181, 101, 1], "image_id": 106525, "bbox": [119.24, 51.47, 131.79, 315.25], "category_id": 1, "id": 150984}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 82, 1], "image_id": 103240, "bbox": [64.81, 79.21, 12.43, 26.15], "category_id": 1, "id": 150989}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 128, 1, 358, 133, 1], "image_id": 104325, "bbox": [350.65, 127.89, 14.06, 20.67], "category_id": 1, "id": 150998}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [60, 251, 2, 18, 256, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 203, 1, 41, 242, 1], "image_id": 105908, "bbox": [21.49, 198.92, 48.3, 73.17], "category_id": 1, "id": 151004}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [173, 386, 1, 206, 389, 2, 0, 0, 0, 214, 427, 1, 0, 0, 0, 196, 434, 2, 175, 447, 2, 193, 447, 2, 170, 504, 1, 196, 508, 2, 0, 0, 0, 0, 0, 0, 195, 359, 1, 192, 379, 1], "image_id": 106911, "bbox": [168.91, 359.76, 52.5, 164.24], "category_id": 1, "id": 151010}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [309, 158, 2, 287, 159, 2, 283, 209, 2, 252, 193, 2, 249, 203, 2, 254, 208, 2, 304, 279, 1, 286, 267, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 85, 1, 299, 142, 1], "image_id": 107720, "bbox": [243.09, 79.66, 85.96, 171.18], "category_id": 1, "id": 151017}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [458.4, 0.62, 33.95, 39.02], "category_id": 1, "id": 151024}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104325, "bbox": [341.49, 132.91, 8.23, 8.6], "category_id": 1, "id": 151035}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 94, 1], "image_id": 103240, "bbox": [14.97, 91.94, 6.44, 12.69], "category_id": 1, "id": 151045}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 88, 286, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 430, 2, 85, 420, 1, 0, 0, 0, 29, 369, 2, 0, 0, 0, 58, 496, 1, 8, 215, 1, 23, 267, 1], "image_id": 105908, "bbox": [4.86, 212.27, 108.05, 292.6], "category_id": 1, "id": 151060}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [143, 327, 2, 0, 0, 0, 192, 393, 2, 0, 0, 0, 247, 431, 2, 169, 474, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107461, "bbox": [122.58, 280.63, 196.7, 215.82], "category_id": 1, "id": 151062}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 97, 1], "image_id": 103240, "bbox": [20.72, 92.4, 12.04, 15.07], "category_id": 1, "id": 151063}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103269, "bbox": [0, 106.42, 47.12, 82.7], "category_id": 1, "id": 151077}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 188, 1], "image_id": 107952, "bbox": [579.3, 189.63, 38.47, 46.45], "category_id": 1, "id": 151087}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [412, 98, 1, 372, 98, 2, 0, 0, 0, 367, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 87, 1], "image_id": 103269, "bbox": [357.45, 59.39, 54.69, 60.24], "category_id": 1, "id": 151103}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 472, 170, 2, 485, 165, 2, 476, 188, 2, 498, 182, 2, 477, 205, 2, 501, 206, 2, 0, 0, 0, 0, 0, 0], "image_id": 104635, "bbox": [468.04, 142.92, 39.9, 70.24], "category_id": 1, "id": 151119}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 78, 1], "image_id": 103250, "bbox": [169.2, 66.6, 15.22, 24.91], "category_id": 1, "id": 151120}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 307, 1, 328, 313, 1], "image_id": 106582, "bbox": [319.01, 307.68, 15.07, 27.33], "category_id": 1, "id": 151129}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [77, 129, 2, 43, 131, 2, 0, 0, 0, 31, 187, 2, 0, 0, 0, 63, 206, 2, 75, 235, 2, 50, 234, 2, 94, 288, 2, 52, 302, 2, 100, 361, 2, 55, 375, 2, 77, 70, 1, 64, 112, 1], "image_id": 106525, "bbox": [10.02, 63.25, 138.33, 334.78], "category_id": 1, "id": 151140}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106813, "bbox": [34.56, 0, 18.6, 46.35], "category_id": 1, "id": 151141}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [241, 98, 1, 226, 97, 1, 243, 113, 2, 0, 0, 0, 239, 124, 2, 0, 0, 0, 237, 133, 2, 224, 133, 2, 236, 161, 2, 220, 160, 2, 234, 185, 2, 219, 185, 2, 234, 74, 1, 234, 91, 1], "image_id": 104635, "bbox": [217.6, 72.91, 32.09, 118.62], "category_id": 1, "id": 151144}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [307, 111, 2, 286, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 179, 1, 290, 184, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 69, 1, 297, 99, 1], "image_id": 106525, "bbox": [288.02, 61.94, 30.22, 163.14], "category_id": 1, "id": 151147}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 72, 1, 51, 85, 1], "image_id": 103250, "bbox": [44.36, 71.11, 17.47, 41.54], "category_id": 1, "id": 151150}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104518, "bbox": [294.82, 0, 125.67, 165.3], "category_id": 1, "id": 151155}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [520, 139, 2, 571, 136, 2, 513, 191, 2, 592, 175, 2, 510, 236, 2, 0, 0, 0, 529, 233, 2, 565, 232, 2, 541, 301, 2, 553, 301, 2, 553, 366, 2, 538, 365, 2, 540, 81, 1, 542, 120, 1], "image_id": 106525, "bbox": [503.94, 80.6, 94.79, 310.88], "category_id": 1, "id": 151158}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106582, "bbox": [290.75, 310.53, 8.61, 16.98], "category_id": 1, "id": 151159}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 24, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 156, 2, 10, 156, 2, 14, 171, 2, 31, 175, 1, 8, 202, 2, 25, 206, 2, 29, 97, 1, 24, 109, 1], "image_id": 104635, "bbox": [0, 95.15, 43.58, 120.36], "category_id": 1, "id": 151203}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [221, 96, 2, 245, 97, 2, 210, 115, 2, 252, 115, 2, 200, 126, 2, 271, 126, 2, 221, 138, 1, 238, 139, 2, 220, 164, 1, 238, 166, 1, 210, 190, 2, 220, 197, 2, 239, 72, 1, 236, 88, 1], "image_id": 103240, "bbox": [188.27, 67.74, 94.93, 140.57], "category_id": 1, "id": 151209}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106582, "bbox": [381.58, 299.37, 13.75, 20.62], "category_id": 1, "id": 151212}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [157, 91, 2, 147, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 69, 1, 151, 85, 1], "image_id": 103250, "bbox": [121.01, 61.99, 53.28, 51.08], "category_id": 1, "id": 151221}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 96, 1], "image_id": 103240, "bbox": [182.8, 92.23, 6.61, 11.54], "category_id": 1, "id": 151236}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103240, "bbox": [134.09, 94.46, 8.52, 8.65], "category_id": 1, "id": 151239}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 79, 1, 91, 82, 1], "image_id": 103240, "bbox": [87.2, 77.93, 15.03, 27.69], "category_id": 1, "id": 151244}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106609, "bbox": [431.58, 103.59, 14.94, 12.26], "category_id": 1, "id": 151255}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 89, 1, 0, 0, 0], "image_id": 107568, "bbox": [28.02, 89.33, 20.28, 31.66], "category_id": 1, "id": 151267}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104344, "bbox": [2.83, 192.84, 14.48, 29.67], "category_id": 1, "id": 151271}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [604, 96, 2, 542, 107, 2, 617, 161, 2, 541, 159, 2, 589, 222, 2, 0, 0, 0, 603, 232, 2, 555, 235, 1, 613, 317, 1, 0, 0, 0, 612, 418, 1, 0, 0, 0, 559, 19, 1, 568, 77, 1], "image_id": 106077, "bbox": [521.6, 13.57, 116.9, 325.19], "category_id": 1, "id": 151276}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 10, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 19, 1, 31, 51, 1], "image_id": 104733, "bbox": [9.58, 15.31, 29.21, 221.2], "category_id": 1, "id": 151283}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 74, 1], "image_id": 107241, "bbox": [457.31, 57.95, 18.68, 24.37], "category_id": 1, "id": 151304}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102551, "bbox": [244.7, 53.15, 13.78, 29.01], "category_id": 1, "id": 151318}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 437, 1, 485, 440, 1], "image_id": 106987, "bbox": [363.32, 404.52, 165.52, 75.48], "category_id": 1, "id": 151320}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [594, 133, 2, 531, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 68, 1, 565, 117, 1], "image_id": 105254, "bbox": [539.35, 66.32, 63.9, 98.07], "category_id": 1, "id": 151324}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [208, 138, 2, 215, 144, 2, 0, 0, 0, 213, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 121, 1, 216, 136, 1], "image_id": 105147, "bbox": [202.31, 119.4, 34.46, 57.02], "category_id": 1, "id": 151369}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 218, 1], "image_id": 108236, "bbox": [26.07, 215.7, 15.3, 48.64], "category_id": 1, "id": 151377}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 79, 1, 0, 0, 0], "image_id": 105254, "bbox": [291.46, 77.45, 70.76, 40.33], "category_id": 1, "id": 151379}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [524, 299, 2, 508, 298, 2, 524, 309, 2, 505, 313, 2, 521, 323, 2, 506, 324, 2, 515, 325, 2, 509, 329, 2, 514, 348, 2, 511, 349, 2, 515, 371, 1, 512, 370, 1, 0, 0, 0, 513, 288, 1], "image_id": 104402, "bbox": [494.79, 291.8, 31.67, 86.56], "category_id": 1, "id": 151382}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 132, 1, 1, 137, 1], "image_id": 102831, "bbox": [0, 131.15, 9.52, 36.17], "category_id": 1, "id": 151416}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [560, 214, 2, 577, 215, 2, 0, 0, 0, 573, 227, 2, 0, 0, 0, 580, 243, 2, 557, 248, 2, 568, 247, 2, 557, 274, 2, 585, 267, 2, 543, 301, 2, 563, 278, 2, 572, 196, 1, 570, 207, 1], "image_id": 105960, "bbox": [536.76, 192.45, 51.78, 114.99], "category_id": 1, "id": 151418}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 167, 1, 4, 169, 2, 38, 226, 1, 10, 231, 2, 39, 269, 1, 15, 267, 2, 0, 0, 0, 0, 0, 0], "image_id": 106609, "bbox": [0.13, 128.64, 37.23, 155.76], "category_id": 1, "id": 151422}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 71, 5, 2, 0, 0, 0, 70, 20, 1, 44, 12, 2, 64, 19, 2, 51, 19, 2, 64, 45, 2, 51, 44, 2, 63, 70, 1, 51, 70, 1, 0, 0, 0, 0, 0, 0], "image_id": 107361, "bbox": [36.16, 2.49, 44.88, 56.11], "category_id": 1, "id": 151428}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 60, 1, 29, 80, 1], "image_id": 103250, "bbox": [17.38, 60.42, 27.91, 38.24], "category_id": 1, "id": 151444}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103201, "bbox": [418.38, 272.49, 8.62, 31.7], "category_id": 1, "id": 151468}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 204, 1, 328, 220, 1], "image_id": 103362, "bbox": [314.96, 200.8, 27.06, 57.75], "category_id": 1, "id": 151477}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105071, "bbox": [383.7, 121.17, 23.36, 23.65], "category_id": 1, "id": 151501}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 232, 1, 258, 236, 1], "image_id": 103075, "bbox": [246.07, 227.74, 25.54, 54.91], "category_id": 1, "id": 151508}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 627, 403, 1, 0, 0, 0, 565, 285, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106987, "bbox": [549.82, 266.81, 90.18, 213.19], "category_id": 1, "id": 151524}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 194, 1, 441, 201, 1], "image_id": 105582, "bbox": [425.62, 194.11, 28.67, 34.93], "category_id": 1, "id": 151552}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 199, 1, 271, 213, 1], "image_id": 108202, "bbox": [260.99, 198.53, 17.92, 31.44], "category_id": 1, "id": 151555}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [341, 168, 2, 326, 168, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 188, 2, 331, 189, 2, 340, 204, 2, 331, 203, 2, 340, 217, 2, 331, 218, 1, 333, 150, 1, 334, 164, 1], "image_id": 102679, "bbox": [324.34, 149.77, 23.16, 71.37], "category_id": 1, "id": 151561}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 2, 1, 610, 17, 1], "image_id": 102572, "bbox": [598.11, 0.54, 31.49, 29.84], "category_id": 1, "id": 151571}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 401, 1, 632, 408, 1], "image_id": 106911, "bbox": [625.46, 401.62, 14.23, 39.93], "category_id": 1, "id": 151579}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103043, "bbox": [429.89, 242.72, 12.9, 18.33], "category_id": 1, "id": 151583}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104458, "bbox": [549.16, 116.6, 43.62, 36.67], "category_id": 1, "id": 151585}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [69.1, 297.7, 47.78, 38.6], "category_id": 1, "id": 151588}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 407, 1, 367, 419, 1], "image_id": 104072, "bbox": [360.02, 407.31, 15.13, 28.66], "category_id": 1, "id": 151608}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 101, 1], "image_id": 103504, "bbox": [488.55, 97.52, 10.27, 15.1], "category_id": 1, "id": 151620}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107239, "bbox": [358.61, 235.25, 16.72, 30.8], "category_id": 1, "id": 151632}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106820, "bbox": [400.77, 201.27, 27.23, 13.08], "category_id": 1, "id": 151635}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [306, 60, 2, 257, 62, 2, 320, 114, 1, 245, 113, 1, 0, 0, 0, 271, 100, 1, 295, 123, 1, 265, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 16, 1, 283, 56, 1], "image_id": 103063, "bbox": [240.76, 11.41, 88.03, 96.39], "category_id": 1, "id": 151673}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 409, 12, 2, 343, 0, 1, 0, 0, 0, 353, 30, 2, 388, 24, 2, 349, 24, 2, 391, 34, 2, 323, 42, 2, 370, 78, 1, 354, 76, 1, 0, 0, 0, 0, 0, 0], "image_id": 103063, "bbox": [313.39, 0.15, 110.93, 80.51], "category_id": 1, "id": 151683}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 136, 1], "image_id": 104325, "bbox": [265.6, 130.13, 11.02, 16.09], "category_id": 1, "id": 151695}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [283, 237, 2, 234, 239, 2, 288, 266, 2, 227, 267, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 200, 1, 259, 232, 1], "image_id": 108503, "bbox": [220.18, 197.82, 84.88, 70.81], "category_id": 1, "id": 151709}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [262, 288, 2, 237, 287, 2, 272, 309, 1, 230, 308, 2, 256, 306, 2, 229, 294, 1, 259, 332, 2, 243, 332, 2, 260, 362, 2, 247, 361, 2, 262, 395, 2, 249, 391, 2, 247, 255, 1, 251, 280, 1], "image_id": 107357, "bbox": [218.8, 246.57, 50.96, 161.75], "category_id": 1, "id": 151723}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 327, 1, 564, 352, 1], "image_id": 103625, "bbox": [543.6, 324.32, 36.73, 56.76], "category_id": 1, "id": 151741}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107231, "bbox": [0, 76.85, 17.7, 24.4], "category_id": 1, "id": 151746}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [106, 240, 1, 68, 239, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 298, 1, 70, 296, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 200, 1, 86, 232, 1], "image_id": 102903, "bbox": [60.28, 197.92, 38.87, 70.42], "category_id": 1, "id": 151759}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104478, "bbox": [572.25, 223.47, 13.62, 32.58], "category_id": 1, "id": 151764}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 102, 1, 67, 112, 1], "image_id": 106220, "bbox": [40.3, 101.62, 33.83, 61.08], "category_id": 1, "id": 151769}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107720, "bbox": [17.9, 105.37, 26.7, 35.18], "category_id": 1, "id": 151778}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [148, 33, 2, 137, 35, 2, 153, 54, 1, 133, 51, 2, 128, 51, 2, 0, 0, 0, 147, 76, 1, 137, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 14, 1, 142, 31, 1], "image_id": 102880, "bbox": [119.48, 11.01, 42.04, 66.97], "category_id": 1, "id": 151782}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104103, "bbox": [128.13, 155.94, 7.65, 18.37], "category_id": 1, "id": 151799}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [362, 148, 2, 325, 144, 2, 367, 173, 2, 325, 163, 2, 354, 169, 2, 339, 161, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, 119, 1, 346, 140, 1], "image_id": 107273, "bbox": [322.88, 119.05, 45.99, 64.31], "category_id": 1, "id": 151809}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107413, "bbox": [57.81, 0, 35.01, 31.07], "category_id": 1, "id": 151822}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 260, 1, 477, 268, 1], "image_id": 106431, "bbox": [468.69, 259.86, 12.82, 18.74], "category_id": 1, "id": 151825}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108066, "bbox": [303.89, 26.93, 7.42, 26.29], "category_id": 1, "id": 151836}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 325, 1], "image_id": 105789, "bbox": [614.66, 302.99, 25.34, 59.39], "category_id": 1, "id": 151846}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [273, 58, 2, 223, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 124, 1, 269, 136, 1, 240, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 8, 1, 246, 50, 1], "image_id": 106076, "bbox": [217.6, 5.08, 59.27, 138.31], "category_id": 1, "id": 151847}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, 184, 1, 542, 190, 1], "image_id": 104600, "bbox": [535.35, 183.09, 12.79, 30.37], "category_id": 1, "id": 151850}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105264, "bbox": [584.3, 116.6, 13.38, 12.93], "category_id": 1, "id": 151861}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103424, "bbox": [302, 4.54, 17.49, 35.71], "category_id": 1, "id": 151870}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [213, 160, 2, 195, 164, 2, 0, 0, 0, 191, 183, 2, 0, 0, 0, 190, 206, 2, 212, 198, 1, 199, 200, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 139, 1, 205, 158, 1], "image_id": 104945, "bbox": [185.49, 136.84, 32.79, 76.52], "category_id": 1, "id": 151872}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 214, 1, 0, 0, 0], "image_id": 103782, "bbox": [243.6, 210.98, 22.76, 46.75], "category_id": 1, "id": 151893}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 257, 1, 592, 268, 1], "image_id": 104451, "bbox": [575.45, 256.94, 20.58, 59.51], "category_id": 1, "id": 151898}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 167, 1, 6, 185, 1], "image_id": 106047, "bbox": [0, 166.91, 26.15, 34.13], "category_id": 1, "id": 151899}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [251, 157, 1, 188, 156, 2, 0, 0, 0, 172, 202, 2, 0, 0, 0, 210, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 95, 1, 224, 143, 1], "image_id": 106256, "bbox": [166.45, 90.92, 87.51, 153.26], "category_id": 1, "id": 151908}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 55, 2, 392, 54, 2, 422, 73, 2, 384, 66, 2, 428, 90, 2, 398, 73, 1, 416, 93, 1, 399, 93, 2, 420, 114, 2, 403, 115, 1, 419, 141, 1, 407, 141, 1, 404, 31, 1, 404, 48, 1], "image_id": 102907, "bbox": [381.4, 31.68, 51.86, 116.76], "category_id": 1, "id": 151914}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [517, 152, 2, 472, 151, 2, 534, 187, 2, 454, 175, 2, 511, 193, 2, 453, 208, 2, 503, 217, 2, 478, 216, 2, 491, 270, 2, 480, 255, 2, 485, 315, 2, 479, 314, 2, 493, 104, 1, 493, 141, 1], "image_id": 106539, "bbox": [443.87, 100.72, 96.5, 228.77], "category_id": 1, "id": 151920}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104372, "bbox": [83.67, 146.58, 20.07, 40.71], "category_id": 1, "id": 151931}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 227, 2, 0, 0, 0, 28, 278, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106352, "bbox": [1.18, 135.39, 45.73, 289.61], "category_id": 1, "id": 151936}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 418, 1, 133, 421, 1], "image_id": 105975, "bbox": [129.72, 417.79, 5.68, 16.66], "category_id": 1, "id": 151940}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103345, "bbox": [562.91, 82.41, 77.09, 162.72], "category_id": 1, "id": 151944}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [515, 121, 2, 462, 113, 1, 510, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 495, 70, 1, 488, 110, 1], "image_id": 105655, "bbox": [462.34, 64.89, 67.32, 125.18], "category_id": 1, "id": 151951}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103586, "bbox": [35.27, 107.87, 49.01, 78.43], "category_id": 1, "id": 151955}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [413, 355, 1, 558, 355, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107488, "bbox": [420.3, 314.93, 191.8, 134.97], "category_id": 1, "id": 151972}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107276, "bbox": [467.58, 303.58, 10.4, 36.87], "category_id": 1, "id": 151985}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [408, 212, 2, 371, 214, 2, 432, 233, 1, 353, 237, 2, 0, 0, 0, 354, 203, 2, 405, 270, 2, 377, 272, 1, 408, 316, 1, 378, 318, 1, 0, 0, 0, 0, 0, 0, 386, 172, 1, 390, 204, 1], "image_id": 107504, "bbox": [349.13, 169.94, 65.94, 102.56], "category_id": 1, "id": 151992}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [416, 156, 2, 346, 157, 2, 0, 0, 0, 344, 214, 2, 0, 0, 0, 347, 253, 2, 416, 266, 1, 369, 268, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 95, 1, 383, 147, 1], "image_id": 106256, "bbox": [329.95, 91.01, 91.64, 199.48], "category_id": 1, "id": 151996}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107713, "bbox": [10.26, 177.25, 22.98, 18.8], "category_id": 1, "id": 152005}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 140, 1], "image_id": 103937, "bbox": [260.79, 136.59, 6.49, 7.77], "category_id": 1, "id": 152010}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 96, 1, 0, 0, 0], "image_id": 103586, "bbox": [20.23, 93.94, 35.33, 96.71], "category_id": 1, "id": 152014}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103355, "bbox": [78.22, 315.36, 203.61, 162.64], "category_id": 1, "id": 152020}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [215, 258, 2, 0, 0, 0, 202, 288, 2, 0, 0, 0, 187, 263, 2, 0, 0, 0, 207, 299, 1, 206, 290, 1, 171, 309, 2, 170, 293, 2, 0, 0, 0, 0, 0, 0, 201, 217, 1, 210, 242, 1], "image_id": 104647, "bbox": [165.12, 225.64, 63.98, 96.19], "category_id": 1, "id": 152028}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [612, 339, 2, 626, 336, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 309, 1, 0, 0, 0], "image_id": 102620, "bbox": [602.89, 309.52, 37.11, 67.35], "category_id": 1, "id": 152035}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108463, "bbox": [235.05, 151.18, 6.8, 10.4], "category_id": 1, "id": 152059}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 88, 1], "image_id": 104772, "bbox": [273.93, 78.05, 32.53, 51.59], "category_id": 1, "id": 152069}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108138, "bbox": [0.84, 67.47, 48.11, 92.96], "category_id": 1, "id": 152073}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108026, "bbox": [527.51, 182.71, 41.26, 22.55], "category_id": 1, "id": 152079}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 41, 1, 0, 0, 0], "image_id": 105035, "bbox": [45.19, 40.28, 29.24, 38.01], "category_id": 1, "id": 152086}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 144, 1, 0, 0, 0], "image_id": 104565, "bbox": [343.25, 141.16, 23.28, 53.62], "category_id": 1, "id": 152108}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [539, 145, 2, 549, 144, 1, 537, 158, 2, 553, 154, 2, 545, 165, 2, 552, 163, 2, 540, 172, 2, 547, 172, 2, 544, 188, 2, 547, 187, 2, 548, 203, 2, 546, 203, 2, 0, 0, 0, 0, 0, 0], "image_id": 104514, "bbox": [531.06, 126.1, 24.37, 88.86], "category_id": 1, "id": 152109}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [388, 65, 2, 404, 62, 2, 378, 81, 2, 411, 77, 2, 375, 75, 2, 401, 74, 2, 388, 86, 2, 398, 84, 2, 369, 80, 2, 0, 0, 0, 356, 87, 1, 0, 0, 0, 393, 45, 1, 395, 57, 1], "image_id": 102956, "bbox": [363.37, 45.27, 49.03, 45.96], "category_id": 1, "id": 152111}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106742, "bbox": [156.31, 0, 34.08, 44.38], "category_id": 1, "id": 152113}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 480, 4, 1, 475, 18, 1], "image_id": 107213, "bbox": [457.75, 3.02, 27.56, 47.26], "category_id": 1, "id": 152133}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [253, 64, 1, 216, 59, 2, 0, 0, 0, 207, 86, 2, 0, 0, 0, 213, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 31, 1, 234, 58, 1], "image_id": 107575, "bbox": [200.82, 28.09, 53.49, 74.79], "category_id": 1, "id": 152151}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [171, 305, 1, 149, 308, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 344, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 255, 1, 165, 293, 1], "image_id": 107452, "bbox": [143.83, 250.74, 67, 108.3], "category_id": 1, "id": 152173}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [89, 212, 2, 57, 206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106444, "bbox": [51.36, 179.7, 54.76, 41.92], "category_id": 1, "id": 152180}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 226, 1, 226, 245, 1], "image_id": 104997, "bbox": [208.17, 225.42, 40.41, 48.02], "category_id": 1, "id": 152188}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, 180, 1, 287, 196, 1], "image_id": 106221, "bbox": [276.55, 177.57, 27.47, 37.56], "category_id": 1, "id": 152190}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105264, "bbox": [209.15, 112.47, 32.65, 36.93], "category_id": 1, "id": 152191}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 141, 1, 74, 151, 1], "image_id": 103689, "bbox": [65.03, 138.05, 18.84, 63.76], "category_id": 1, "id": 152196}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [22, 162, 2, 11, 160, 2, 0, 0, 0, 0, 0, 0, 21, 180, 2, 7, 174, 2, 21, 185, 2, 12, 185, 2, 21, 205, 2, 11, 206, 2, 21, 220, 2, 10, 220, 2, 16, 146, 1, 17, 156, 1], "image_id": 107524, "bbox": [5.77, 145.08, 21.15, 82.77], "category_id": 1, "id": 152218}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [626, 297, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 623, 343, 2, 0, 0, 0, 628, 369, 2, 0, 0, 0, 622, 404, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107631, "bbox": [613.08, 306.15, 22.32, 110.87], "category_id": 1, "id": 152221}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 76, 1, 151, 93, 1], "image_id": 107569, "bbox": [131.97, 72.94, 37.83, 41.08], "category_id": 1, "id": 152256}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 194, 1, 0, 0, 0], "image_id": 105177, "bbox": [317.05, 194.05, 9.65, 19.3], "category_id": 1, "id": 152277}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105947, "bbox": [507.4, 14.7, 15.22, 15.99], "category_id": 1, "id": 152284}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 532, 1, 64, 541, 1], "image_id": 106426, "bbox": [53.22, 530.57, 17.6, 33.78], "category_id": 1, "id": 152322}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 259, 1, 50, 272, 1], "image_id": 105246, "bbox": [37.87, 259.02, 29.7, 32.49], "category_id": 1, "id": 152324}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 620, 141, 1, 619, 150, 1], "image_id": 105615, "bbox": [611.82, 137.39, 23.38, 56.17], "category_id": 1, "id": 152344}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [95, 31, 2, 162, 31, 2, 0, 0, 0, 182, 80, 1, 0, 0, 0, 0, 0, 0, 97, 89, 2, 144, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 10, 1], "image_id": 102631, "bbox": [88.13, 1.76, 107.56, 114.15], "category_id": 1, "id": 152362}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 111, 1, 464, 128, 1], "image_id": 103586, "bbox": [445.79, 110.02, 35.72, 44.49], "category_id": 1, "id": 152385}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [404, 175, 1, 454, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 135, 1, 425, 165, 1], "image_id": 108296, "bbox": [406.6, 131.71, 62.87, 85.59], "category_id": 1, "id": 152388}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108066, "bbox": [310.16, 26.57, 5.59, 26.97], "category_id": 1, "id": 152394}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 615, 31, 2, 0, 0, 0, 600, 65, 2, 0, 0, 0, 605, 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103345, "bbox": [593.94, 0, 45.43, 88.08], "category_id": 1, "id": 152402}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104608, "bbox": [491.29, 262.4, 16.61, 22.47], "category_id": 1, "id": 152403}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 69, 1, 532, 95, 1], "image_id": 105234, "bbox": [526.36, 67.14, 26.06, 50.63], "category_id": 1, "id": 152405}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107408, "bbox": [251.57, 65.06, 7.85, 8.86], "category_id": 1, "id": 152413}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108138, "bbox": [190.55, 0, 147.75, 32.54], "category_id": 1, "id": 152424}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 59, 2, 0, 0, 0, 167, 148, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108579, "bbox": [152.91, 51.32, 25.52, 162.94], "category_id": 1, "id": 152436}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 236, 1, 57, 244, 1], "image_id": 107358, "bbox": [53.32, 235.11, 14.87, 28.28], "category_id": 1, "id": 152446}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 410, 243, 2, 0, 0, 0, 389, 259, 2, 422, 255, 2, 400, 238, 2, 0, 0, 0, 419, 311, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 215, 1, 421, 238, 1], "image_id": 102920, "bbox": [385.99, 213.56, 41.01, 132.39], "category_id": 1, "id": 152450}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [30, 225, 2, 4, 224, 1, 39, 252, 2, 0, 0, 0, 37, 280, 2, 0, 0, 0, 25, 277, 2, 4, 276, 2, 22, 321, 2, 4, 321, 1, 19, 350, 1, 9, 348, 1, 0, 0, 0, 0, 0, 0], "image_id": 105789, "bbox": [0, 195.11, 190.08, 156.23], "category_id": 1, "id": 152459}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104067, "bbox": [87.76, 235.87, 21.79, 26.34], "category_id": 1, "id": 152462}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 183, 1, 3, 191, 1], "image_id": 103075, "bbox": [0.48, 183.83, 10.87, 37.71], "category_id": 1, "id": 152475}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 103, 1, 132, 112, 1], "image_id": 105616, "bbox": [119.75, 102.12, 17.16, 72.33], "category_id": 1, "id": 152480}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 75, 1], "image_id": 104780, "bbox": [285.41, 65.77, 12.85, 25.35], "category_id": 1, "id": 152492}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [345, 108, 1, 305, 106, 2, 359, 116, 1, 293, 123, 1, 343, 87, 2, 307, 85, 2, 341, 165, 1, 309, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 64, 1, 324, 102, 1], "image_id": 103896, "bbox": [289.73, 62.76, 67.97, 83.54], "category_id": 1, "id": 152505}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 13, 1], "image_id": 102572, "bbox": [216.17, 0.38, 31.17, 15.59], "category_id": 1, "id": 152515}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103586, "bbox": [80.5, 158.26, 42.02, 33.62], "category_id": 1, "id": 152527}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [92, 180, 2, 62, 176, 1, 96, 206, 2, 0, 0, 0, 75, 205, 2, 0, 0, 0, 87, 225, 2, 67, 225, 2, 86, 254, 2, 66, 254, 2, 85, 292, 2, 65, 293, 2, 79, 146, 1, 79, 170, 1], "image_id": 106366, "bbox": [50.68, 143.72, 50.58, 162.47], "category_id": 1, "id": 152534}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 91, 1], "image_id": 108412, "bbox": [497.48, 86.74, 9.54, 13.46], "category_id": 1, "id": 152537}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105812, "bbox": [395.16, 236.79, 8.93, 9.93], "category_id": 1, "id": 152538}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [610, 311, 1, 574, 312, 2, 0, 0, 0, 562, 340, 2, 0, 0, 0, 587, 342, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 590, 305, 1], "image_id": 108106, "bbox": [554.65, 293.47, 61.54, 59.02], "category_id": 1, "id": 152544}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106742, "bbox": [340.67, 0, 18.7, 51.19], "category_id": 1, "id": 152554}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 13, 384, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107323, "bbox": [0, 171.22, 44.88, 400.62], "category_id": 1, "id": 152563}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103737, "bbox": [179.01, 243.88, 12.21, 63.9], "category_id": 1, "id": 152576}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 108, 1, 11, 125, 1], "image_id": 105264, "bbox": [0.19, 108.36, 29.01, 51.42], "category_id": 1, "id": 152592}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342, 83, 1], "image_id": 103075, "bbox": [338.69, 79.56, 8.11, 22.25], "category_id": 1, "id": 152597}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 246, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 46, 1, 271, 93, 1], "image_id": 105432, "bbox": [229.53, 44.58, 58.61, 207.66], "category_id": 1, "id": 152600}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104067, "bbox": [126.38, 226.13, 23.62, 35], "category_id": 1, "id": 152618}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103689, "bbox": [214.14, 120.26, 19.92, 29.66], "category_id": 1, "id": 152637}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 99, 1, 212, 112, 1], "image_id": 103807, "bbox": [199.32, 98.05, 18.32, 34.86], "category_id": 1, "id": 152641}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 117, 1, 0, 0, 0], "image_id": 105995, "bbox": [65.06, 115.41, 18.62, 36.78], "category_id": 1, "id": 152648}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, 253, 1], "image_id": 106212, "bbox": [622.68, 249.5, 8, 14.4], "category_id": 1, "id": 152649}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 137, 1, 89, 146, 1], "image_id": 108139, "bbox": [79.66, 136.87, 14.46, 42.58], "category_id": 1, "id": 152651}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 233, 1, 167, 249, 1], "image_id": 102581, "bbox": [156.58, 233.61, 21.36, 45.01], "category_id": 1, "id": 152660}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103224, "bbox": [120.53, 543.74, 7.26, 20.79], "category_id": 1, "id": 152662}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 237, 1, 462, 240, 1], "image_id": 107631, "bbox": [456.9, 238.13, 7.99, 7.63], "category_id": 1, "id": 152673}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [635, 58, 2, 627, 57, 2, 627, 80, 1, 0, 0, 0, 615, 98, 2, 0, 0, 0, 633, 97, 1, 626, 96, 1, 0, 0, 0, 625, 137, 2, 0, 0, 0, 617, 163, 2, 625, 28, 1, 632, 50, 1], "image_id": 103268, "bbox": [603.82, 22.07, 35.15, 149.29], "category_id": 1, "id": 152678}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 533, 1], "image_id": 106426, "bbox": [121.38, 532.4, 11.33, 10.7], "category_id": 1, "id": 152679}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 416, 1], "image_id": 106636, "bbox": [307.69, 415.18, 11.14, 35.59], "category_id": 1, "id": 152694}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107074, "bbox": [355.15, 469.05, 46.53, 10.95], "category_id": 1, "id": 152718}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103424, "bbox": [128.27, 0.51, 26.05, 39.64], "category_id": 1, "id": 152722}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104635, "bbox": [366.06, 78.16, 19.41, 30.26], "category_id": 1, "id": 152729}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 178, 1, 427, 183, 1], "image_id": 105134, "bbox": [420.78, 178.17, 17.23, 27.38], "category_id": 1, "id": 152732}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 506, 60, 2, 529, 59, 2, 484, 189, 2, 525, 186, 2, 0, 0, 0, 0, 0, 0], "image_id": 105621, "bbox": [423.68, 1.24, 128.32, 225.66], "category_id": 1, "id": 152735}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107383, "bbox": [606.14, 306.04, 17.39, 21.68], "category_id": 1, "id": 152736}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 52, 1, 470, 64, 1], "image_id": 104658, "bbox": [453.32, 50.7, 28.22, 27.46], "category_id": 1, "id": 152737}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104458, "bbox": [368.32, 116.11, 33.04, 28.69], "category_id": 1, "id": 152757}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [214, 35, 2, 130, 54, 1, 263, 92, 1, 97, 101, 1, 246, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104596, "bbox": [134.87, 0, 134.71, 114.53], "category_id": 1, "id": 152758}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108089, "bbox": [301.84, 169.28, 23.17, 15.85], "category_id": 1, "id": 152770}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [143, 201, 2, 127, 201, 2, 147, 214, 2, 125, 214, 2, 142, 224, 2, 130, 225, 2, 140, 227, 2, 133, 226, 2, 141, 244, 2, 131, 243, 1, 141, 262, 2, 131, 262, 1, 133, 184, 1, 134, 200, 1], "image_id": 104097, "bbox": [121.51, 180.97, 29.44, 86.87], "category_id": 1, "id": 152775}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 104, 1, 140, 120, 1], "image_id": 105264, "bbox": [134, 106.08, 22.84, 33.04], "category_id": 1, "id": 152776}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 110, 1, 0, 0, 0], "image_id": 108100, "bbox": [287.99, 108.84, 27.22, 52.72], "category_id": 1, "id": 152787}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 155, 1, 43, 157, 1], "image_id": 103971, "bbox": [39.47, 154.64, 6.58, 6.69], "category_id": 1, "id": 152805}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [181, 294, 1, 150, 294, 1, 184, 315, 1, 148, 314, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105789, "bbox": [163.76, 245.39, 40.52, 71.3], "category_id": 1, "id": 152807}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [87, 142, 2, 53, 137, 2, 87, 169, 1, 49, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 107, 1, 71, 133, 1], "image_id": 107575, "bbox": [45.47, 105.64, 48.74, 52.05], "category_id": 1, "id": 152816}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 264, 1, 113, 272, 1], "image_id": 105787, "bbox": [103.17, 263.82, 27.16, 45.68], "category_id": 1, "id": 152818}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 5, 2, 0, 0, 0, 53, 14, 2, 43, 13, 2, 28, 14, 1, 0, 0, 0, 46, 17, 2, 0, 0, 0, 49, 47, 1, 0, 0, 0, 0, 0, 0], "image_id": 106106, "bbox": [25.41, 0, 44.41, 43.45], "category_id": 1, "id": 152828}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106212, "bbox": [514.43, 253.15, 8.48, 14.38], "category_id": 1, "id": 152845}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [33, 184, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 167, 1], "image_id": 108109, "bbox": [0.5, 125.48, 54.63, 96.64], "category_id": 1, "id": 152847}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 16, 1, 145, 15, 1, 132, 44, 2, 144, 43, 2, 137, 75, 2, 147, 74, 1, 0, 0, 0, 0, 0, 0], "image_id": 106742, "bbox": [118.27, 0, 36.95, 87.22], "category_id": 1, "id": 152856}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 35, 1, 291, 49, 1], "image_id": 104137, "bbox": [283.25, 35.38, 17.14, 59.28], "category_id": 1, "id": 152862}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106212, "bbox": [612.95, 250.57, 9.2, 13.8], "category_id": 1, "id": 152899}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [571, 243, 2, 564, 242, 2, 574, 273, 2, 556, 268, 2, 556, 256, 2, 542, 260, 2, 569, 281, 1, 0, 0, 0, 536, 266, 1, 0, 0, 0, 513, 290, 1, 0, 0, 0, 552, 218, 1, 562, 238, 1], "image_id": 106073, "bbox": [530.6, 213.43, 51.85, 64.81], "category_id": 1, "id": 152907}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, 320, 1, 0, 0, 0], "image_id": 102620, "bbox": [534.75, 318.34, 31.31, 45.81], "category_id": 1, "id": 152913}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [148, 73, 1, 95, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 171, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 28, 1, 118, 68, 1], "image_id": 105432, "bbox": [68.17, 18.3, 104.91, 166.42], "category_id": 1, "id": 152914}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [76, 114, 2, 89, 112, 2, 0, 0, 0, 92, 163, 2, 0, 0, 0, 136, 175, 2, 89, 202, 2, 103, 203, 2, 84, 290, 2, 96, 293, 2, 77, 365, 2, 82, 378, 1, 105, 68, 1, 90, 104, 1], "image_id": 106415, "bbox": [59.54, 61.93, 95.2, 330.12], "category_id": 1, "id": 152915}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [232, 377, 2, 179, 378, 1, 267, 388, 1, 134, 393, 2, 226, 401, 2, 168, 404, 2, 210, 441, 2, 182, 441, 2, 243, 415, 2, 148, 415, 2, 219, 471, 2, 163, 476, 2, 201, 328, 1, 205, 372, 1], "image_id": 105556, "bbox": [131.41, 322.08, 141.71, 173.92], "category_id": 1, "id": 152924}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 229, 1, 192, 233, 1], "image_id": 103928, "bbox": [185.67, 229.24, 13.75, 40.21], "category_id": 1, "id": 152935}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102572, "bbox": [154.67, 0.25, 22.52, 13.16], "category_id": 1, "id": 152939}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 39, 355, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 417, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 302, 1, 62, 343, 1], "image_id": 108109, "bbox": [3.43, 296.7, 74.47, 133.19], "category_id": 1, "id": 152940}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [185, 110, 2, 157, 107, 2, 186, 134, 1, 156, 129, 2, 178, 159, 2, 0, 0, 0, 176, 159, 2, 159, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 70, 1, 171, 101, 1], "image_id": 103778, "bbox": [149.48, 71.75, 44.22, 107.03], "category_id": 1, "id": 152942}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 99, 1], "image_id": 103240, "bbox": [32.78, 92.82, 9.44, 14.04], "category_id": 1, "id": 152943}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 13, 1, 238, 36, 1], "image_id": 103248, "bbox": [211, 0.1, 49.89, 47.17], "category_id": 1, "id": 152967}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [591, 41, 2, 609, 41, 2, 586, 60, 1, 614, 60, 2, 0, 0, 0, 0, 0, 0, 595, 70, 1, 606, 69, 2, 592, 104, 1, 604, 103, 2, 594, 138, 1, 606, 138, 2, 599, 23, 1, 599, 36, 1], "image_id": 105608, "bbox": [585.9, 21.28, 31.09, 118.28], "category_id": 1, "id": 152996}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [465, 131, 2, 489, 133, 2, 464, 153, 2, 497, 154, 2, 459, 173, 2, 508, 173, 1, 461, 172, 2, 477, 172, 1, 445, 146, 2, 0, 0, 0, 427, 168, 2, 0, 0, 0, 473, 111, 1, 475, 125, 1], "image_id": 105608, "bbox": [416.67, 118.17, 92.94, 55.76], "category_id": 1, "id": 153015}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104402, "bbox": [531.82, 296.05, 11.65, 43.33], "category_id": 1, "id": 153020}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 91, 2, 0, 0, 0, 0, 0, 0], "image_id": 105621, "bbox": [351.22, 2.73, 31.64, 110.22], "category_id": 1, "id": 153028}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [522.53, 168.9, 5.37, 17.26], "category_id": 1, "id": 153032}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [62, 73, 2, 30, 73, 2, 71, 93, 2, 23, 96, 2, 76, 102, 1, 32, 108, 2, 52, 97, 2, 27, 96, 2, 66, 103, 1, 28, 112, 2, 72, 137, 1, 31, 144, 1, 51, 49, 1, 47, 67, 1], "image_id": 108397, "bbox": [15.06, 38.07, 61.76, 85.32], "category_id": 1, "id": 153048}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [68, 108, 2, 71, 106, 2, 0, 0, 0, 72, 115, 2, 0, 0, 0, 76, 122, 2, 62, 127, 2, 63, 127, 2, 62, 145, 2, 80, 140, 2, 59, 157, 1, 80, 155, 2, 0, 0, 0, 0, 0, 0], "image_id": 107023, "bbox": [48.02, 96.04, 41.09, 64.98], "category_id": 1, "id": 153061}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [8, 164, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 194, 2, 0, 0, 0, 8, 209, 2, 0, 0, 0, 7, 227, 2, 0, 0, 0, 2, 141, 1, 1, 158, 1], "image_id": 103689, "bbox": [0, 137.82, 18.76, 92.95], "category_id": 1, "id": 153063}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 234, 1, 280, 254, 1], "image_id": 104997, "bbox": [270.63, 232.19, 20.74, 42.14], "category_id": 1, "id": 153064}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [222, 90, 2, 210, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, 115, 2, 214, 118, 2, 228, 127, 2, 215, 133, 2, 0, 0, 0, 0, 0, 0, 215, 76, 1, 215, 86, 1], "image_id": 104514, "bbox": [203.76, 73.53, 28.16, 70.65], "category_id": 1, "id": 153070}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 544, 1], "image_id": 103224, "bbox": [350.56, 538.9, 8.25, 20.95], "category_id": 1, "id": 153084}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102620, "bbox": [484.25, 331.67, 43, 52.87], "category_id": 1, "id": 153094}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [303, 243, 2, 279, 243, 1, 307, 263, 2, 0, 0, 0, 308, 280, 2, 0, 0, 0, 296, 273, 2, 285, 273, 1, 299, 301, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 221, 1, 289, 237, 1], "image_id": 104478, "bbox": [281.88, 218.47, 32.04, 114.92], "category_id": 1, "id": 153109}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [415, 225, 1, 382, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 260, 2, 392, 261, 2, 428, 276, 2, 376, 276, 2, 419, 302, 2, 386, 298, 2, 392, 198, 1, 396, 225, 1], "image_id": 106255, "bbox": [371.47, 196.49, 70.27, 115.56], "category_id": 1, "id": 153120}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 283, 1, 601, 286, 1], "image_id": 104402, "bbox": [596.56, 282.66, 9.84, 10.98], "category_id": 1, "id": 153129}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 141, 1, 231, 150, 1], "image_id": 107524, "bbox": [215.71, 139.29, 24.83, 67.75], "category_id": 1, "id": 153136}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [174.91, 414.99, 6.36, 7.88], "category_id": 1, "id": 153143}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [326, 402, 2, 0, 0, 0, 302, 422, 2, 0, 0, 0, 286, 404, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 375, 1, 322, 399, 1], "image_id": 102620, "bbox": [280.3, 375.58, 81.58, 51.42], "category_id": 1, "id": 153157}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [161, 146, 2, 144, 147, 2, 167, 156, 2, 0, 0, 0, 169, 163, 2, 0, 0, 0, 159, 172, 2, 152, 172, 2, 157, 190, 2, 154, 195, 2, 160, 210, 2, 156, 209, 2, 149, 131, 1, 151, 143, 1], "image_id": 104514, "bbox": [140.39, 130.44, 31.31, 88.19], "category_id": 1, "id": 153170}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 134, 1], "image_id": 104325, "bbox": [384.82, 130.43, 7.71, 8.25], "category_id": 1, "id": 153173}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103504, "bbox": [497.4, 101.53, 6.86, 12.78], "category_id": 1, "id": 153177}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 108, 1], "image_id": 103504, "bbox": [520.29, 103.4, 13.05, 15.32], "category_id": 1, "id": 153181}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [353, 303, 2, 325, 301, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 361, 2, 327, 360, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 279, 1, 340, 297, 1], "image_id": 103382, "bbox": [332.71, 274.41, 26.56, 100.41], "category_id": 1, "id": 153187}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [353, 160, 1, 373, 166, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 195, 2, 367, 195, 2, 353, 219, 1, 0, 0, 0, 358, 241, 2, 374, 227, 1, 356, 146, 1, 359, 157, 1], "image_id": 104514, "bbox": [334.68, 158.01, 47.62, 93.8], "category_id": 1, "id": 153206}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [137.75, 426.36, 11.83, 15.23], "category_id": 1, "id": 153235}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106212, "bbox": [522.02, 253.61, 4.95, 12.68], "category_id": 1, "id": 153247}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 255, 1], "image_id": 106212, "bbox": [502.68, 253.9, 2.53, 6.76], "category_id": 1, "id": 153251}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 152, 1, 80, 154, 1], "image_id": 103971, "bbox": [78.09, 151.61, 4.58, 12.17], "category_id": 1, "id": 153264}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 149, 1, 0, 0, 0, 465, 200, 2, 0, 0, 0, 471, 250, 2, 0, 0, 0, 474, 23, 1, 474, 63, 1], "image_id": 107513, "bbox": [459.19, 20.42, 20.81, 247.8], "category_id": 1, "id": 153267}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [148.08, 431.92, 7.11, 10.71], "category_id": 1, "id": 153282}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [342, 139, 2, 372, 127, 2, 319, 156, 2, 0, 0, 0, 295, 156, 2, 0, 0, 0, 363, 188, 1, 389, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 102, 1, 352, 126, 1], "image_id": 108397, "bbox": [282.04, 86.34, 102.16, 79.86], "category_id": 1, "id": 153284}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103971, "bbox": [178.87, 183.94, 5, 6.73], "category_id": 1, "id": 153287}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [202, 138, 2, 228, 122, 2, 176, 150, 2, 239, 101, 2, 166, 140, 2, 212, 87, 2, 220, 180, 1, 244, 179, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 107, 1, 212, 125, 1], "image_id": 108397, "bbox": [161.46, 81.05, 86.84, 103.34], "category_id": 1, "id": 153295}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 214, 1, 198, 216, 1], "image_id": 103928, "bbox": [194.96, 214.67, 4.13, 7.6], "category_id": 1, "id": 153301}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 92, 1, 633, 98, 1], "image_id": 108412, "bbox": [624.51, 93.07, 12.3, 18.71], "category_id": 1, "id": 153302}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 491, 1, 158, 510, 1], "image_id": 105778, "bbox": [142.27, 490.49, 15.44, 66.77], "category_id": 1, "id": 153345}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [527, 179, 2, 617, 167, 1, 520, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 160, 1], "image_id": 102862, "bbox": [512.1, 111.74, 112.78, 125.35], "category_id": 1, "id": 153369}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107809, "bbox": [249.98, 109.04, 52.36, 40.05], "category_id": 1, "id": 153445}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [379, 110, 2, 324, 98, 2, 397, 154, 1, 298, 122, 1, 355, 142, 2, 320, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 70, 1, 354, 99, 1], "image_id": 108338, "bbox": [292.82, 58.85, 112.32, 99.34], "category_id": 1, "id": 153446}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [273, 241, 2, 345, 242, 2, 254, 306, 2, 353, 293, 2, 0, 0, 0, 0, 0, 0, 286, 342, 2, 327, 340, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 153, 1, 309, 211, 1], "image_id": 103606, "bbox": [243.51, 146.92, 130.52, 223.05], "category_id": 1, "id": 153475}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [123, 230, 1, 186, 244, 2, 127, 266, 2, 235, 273, 2, 183, 238, 2, 244, 224, 2, 117, 339, 1, 177, 349, 2, 200, 294, 2, 237, 310, 1, 204, 398, 1, 245, 421, 1, 167, 157, 1, 158, 216, 1], "image_id": 107466, "bbox": [112.46, 138.24, 146.15, 234.78], "category_id": 1, "id": 153479}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [331, 307, 2, 375, 305, 1, 315, 334, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 352, 2, 341, 362, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349, 266, 1, 349, 295, 1], "image_id": 105716, "bbox": [302.41, 259.4, 59.76, 154.12], "category_id": 1, "id": 153481}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [267, 155, 2, 201, 143, 2, 0, 0, 0, 246, 213, 2, 0, 0, 0, 322, 238, 2, 279, 289, 2, 227, 292, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 56, 1, 231, 134, 1], "image_id": 106164, "bbox": [166.26, 43.14, 165.4, 382.26], "category_id": 1, "id": 153482}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 182, 2, 468, 184, 2, 398, 227, 2, 486, 225, 2, 401, 253, 2, 490, 256, 2, 435, 252, 2, 467, 251, 2, 437, 318, 2, 460, 318, 1, 456, 367, 1, 448, 370, 1, 439, 142, 1, 441, 170, 1], "image_id": 102907, "bbox": [391.79, 144.35, 105.53, 248.66], "category_id": 1, "id": 153501}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [83, 136, 2, 48, 140, 2, 125, 143, 2, 36, 153, 2, 137, 168, 2, 34, 180, 2, 106, 161, 2, 81, 163, 2, 81, 189, 2, 50, 186, 2, 98, 238, 2, 78, 228, 2, 58, 110, 1, 62, 130, 1], "image_id": 104427, "bbox": [27.57, 100.29, 120.58, 154.72], "category_id": 1, "id": 153503}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 45, 1, 590, 60, 1], "image_id": 107241, "bbox": [574.51, 44.75, 26.8, 38.01], "category_id": 1, "id": 153504}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [134, 131, 2, 125, 131, 2, 136, 149, 2, 120, 143, 2, 0, 0, 0, 119, 159, 2, 132, 155, 2, 125, 156, 2, 125, 180, 1, 132, 175, 1, 108, 194, 2, 0, 0, 0, 134, 111, 1, 131, 124, 1], "image_id": 105021, "bbox": [104.43, 108.74, 38.21, 98.21], "category_id": 1, "id": 153505}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 102, 2, 340, 103, 2, 359, 153, 2, 318, 138, 1, 332, 142, 2, 359, 141, 2, 351, 190, 2, 327, 182, 1, 353, 264, 2, 334, 255, 2, 370, 335, 2, 343, 311, 2, 351, 53, 1, 360, 92, 1], "image_id": 107899, "bbox": [309.66, 47.68, 81.8, 302.72], "category_id": 1, "id": 153509}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [449, 145, 2, 255, 149, 2, 473, 255, 2, 208, 228, 2, 407, 249, 2, 145, 284, 2, 356, 370, 2, 249, 357, 2, 305, 493, 2, 287, 530, 2, 0, 0, 0, 0, 0, 0, 345, 9, 1, 345, 121, 1], "image_id": 102646, "bbox": [94.82, 0, 385.18, 638.27], "category_id": 1, "id": 153518}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103629, "bbox": [424.59, 263.8, 16.48, 28.9], "category_id": 1, "id": 153520}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [225, 127, 2, 101, 139, 2, 250, 212, 2, 101, 226, 2, 239, 276, 2, 122, 214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 31, 1, 162, 117, 1], "image_id": 104670, "bbox": [83.03, 4.26, 175.8, 278.28], "category_id": 1, "id": 153525}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 41, 2, 150, 40, 2, 244, 29, 2, 185, 30, 2, 240, 132, 1, 197, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104989, "bbox": [142.03, 1.22, 135.87, 123.4], "category_id": 1, "id": 153528}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [287, 211, 2, 255, 211, 1, 299, 250, 2, 0, 0, 0, 289, 273, 1, 0, 0, 0, 286, 264, 2, 256, 264, 1, 298, 256, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 166, 1, 272, 204, 1], "image_id": 108463, "bbox": [249.73, 158.87, 55.77, 110.85], "category_id": 1, "id": 153552}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [632, 128, 2, 564, 138, 1, 0, 0, 0, 440, 102, 2, 0, 0, 0, 359, 87, 1, 584, 291, 1, 530, 270, 1, 419, 333, 2, 368, 323, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106889, "bbox": [322.75, 1.11, 317.25, 420.34], "category_id": 1, "id": 153564}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [176, 228, 2, 75, 194, 2, 184, 323, 2, 99, 334, 1, 206, 420, 2, 194, 422, 1, 153, 437, 1, 94, 432, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, 69, 1, 122, 177, 1], "image_id": 105986, "bbox": [33.51, 43.98, 221.03, 593.39], "category_id": 1, "id": 153569}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103248, "bbox": [294.1, 59.14, 9.68, 31.19], "category_id": 1, "id": 153574}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 406, 1, 355, 413, 1], "image_id": 104072, "bbox": [347.51, 404.15, 14.8, 31.19], "category_id": 1, "id": 153606}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 367, 2, 2, 0, 0, 0, 380, 15, 2, 0, 0, 0, 382, 36, 2, 409, 38, 1, 375, 100, 2, 405, 103, 1, 370, 147, 2, 405, 150, 1, 0, 0, 0, 0, 0, 0], "image_id": 104008, "bbox": [356.38, 1.12, 41.66, 154.39], "category_id": 1, "id": 153610}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 113, 1, 41, 123, 1], "image_id": 105021, "bbox": [31.45, 110.81, 20.67, 61.02], "category_id": 1, "id": 153612}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [155, 163, 2, 130, 163, 2, 0, 0, 0, 128, 181, 2, 0, 0, 0, 124, 191, 2, 152, 192, 1, 136, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 141, 1, 140, 157, 1], "image_id": 106035, "bbox": [120.25, 136.86, 39.83, 56.52], "category_id": 1, "id": 153637}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [209, 132, 2, 227, 133, 2, 0, 0, 0, 227, 180, 2, 0, 0, 0, 249, 215, 2, 212, 221, 2, 231, 220, 2, 201, 294, 2, 222, 294, 2, 190, 361, 2, 209, 367, 2, 241, 84, 1, 224, 116, 1], "image_id": 106415, "bbox": [178.16, 74.37, 85.02, 307.43], "category_id": 1, "id": 153640}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [404, 259, 1, 318, 239, 2, 406, 324, 1, 262, 238, 1, 391, 377, 2, 289, 189, 1, 374, 394, 1, 320, 382, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 178, 1, 362, 237, 1], "image_id": 106077, "bbox": [307.95, 171.94, 112.91, 213], "category_id": 1, "id": 153648}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [229, 148, 2, 176, 159, 2, 232, 185, 2, 178, 194, 1, 218, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 110, 1, 205, 144, 1], "image_id": 103039, "bbox": [172.57, 99.23, 64.7, 112.47], "category_id": 1, "id": 153652}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104452, "bbox": [428.64, 0.63, 28.32, 54.8], "category_id": 1, "id": 153653}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [273, 223, 2, 231, 217, 2, 237, 282, 2, 224, 282, 2, 202, 228, 2, 192, 227, 2, 236, 320, 2, 207, 307, 2, 166, 233, 2, 142, 224, 2, 117, 343, 2, 94, 326, 2, 227, 136, 1, 250, 203, 1], "image_id": 108579, "bbox": [23.29, 126.44, 275.06, 262.85], "category_id": 1, "id": 153669}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [186, 184, 2, 223, 179, 2, 165, 199, 2, 238, 210, 1, 152, 198, 2, 0, 0, 0, 214, 251, 2, 234, 248, 1, 210, 284, 2, 228, 230, 2, 206, 334, 2, 229, 259, 1, 204, 144, 1, 204, 173, 1], "image_id": 106742, "bbox": [142.82, 140.78, 97.06, 211.4], "category_id": 1, "id": 153670}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [593, 147, 2, 571, 146, 2, 602, 162, 2, 565, 159, 2, 0, 0, 0, 0, 0, 0, 588, 178, 2, 574, 178, 2, 587, 203, 2, 573, 203, 2, 590, 228, 1, 570, 225, 2, 583, 122, 1, 582, 140, 1], "image_id": 106539, "bbox": [563.48, 122.93, 41.65, 115.54], "category_id": 1, "id": 153674}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [254, 66, 2, 359, 77, 2, 0, 0, 0, 466, 125, 2, 0, 0, 0, 0, 0, 0, 241, 280, 1, 313, 286, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 46, 1], "image_id": 103670, "bbox": [214.29, 0.97, 282.46, 294.16], "category_id": 1, "id": 153681}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [208, 316, 1, 168, 313, 1, 0, 0, 0, 154, 329, 1, 0, 0, 0, 140, 352, 1, 167, 368, 1, 144, 366, 2, 138, 384, 2, 83, 386, 2, 0, 0, 0, 66, 461, 2, 0, 0, 0, 0, 0, 0], "image_id": 105716, "bbox": [57.32, 356.33, 113.85, 112.53], "category_id": 1, "id": 153694}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [593, 223, 2, 584, 221, 2, 537, 228, 2, 611, 275, 2, 493, 219, 2, 575, 271, 2, 0, 0, 0, 625, 283, 2, 579, 287, 2, 561, 286, 2, 619, 339, 2, 604, 336, 2, 579, 179, 1, 586, 212, 1], "image_id": 108269, "bbox": [457.9, 170.01, 182.1, 185.27], "category_id": 1, "id": 153696}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [103, 287, 2, 169, 224, 2, 136, 332, 2, 192, 180, 2, 184, 305, 2, 194, 122, 2, 140, 377, 2, 176, 376, 2, 99, 486, 2, 154, 475, 2, 68, 556, 2, 126, 569, 2, 98, 210, 1, 121, 252, 1], "image_id": 103160, "bbox": [43.22, 78.13, 161.25, 545.25], "category_id": 1, "id": 153719}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [419, 62, 2, 350, 69, 2, 0, 0, 0, 340, 136, 2, 448, 142, 1, 325, 198, 1, 407, 211, 1, 361, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 50, 1], "image_id": 104122, "bbox": [332.86, 0, 92.27, 181.95], "category_id": 1, "id": 153735}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [104, 136, 2, 72, 136, 2, 110, 155, 2, 67, 153, 2, 108, 165, 2, 61, 153, 1, 100, 184, 2, 79, 184, 2, 102, 214, 2, 82, 214, 2, 102, 239, 2, 83, 238, 2, 86, 105, 1, 86, 127, 1], "image_id": 107091, "bbox": [57.49, 108.26, 57.05, 149.22], "category_id": 1, "id": 153738}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [53, 68, 1, 15, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103406, "bbox": [1.44, 7.79, 43.05, 78.19], "category_id": 1, "id": 153741}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [297, 281, 2, 246, 281, 1, 325, 350, 2, 201, 277, 1, 292, 402, 2, 167, 271, 1, 268, 400, 2, 242, 393, 2, 180, 453, 2, 258, 486, 2, 170, 569, 2, 281, 590, 2, 254, 208, 1, 272, 265, 1], "image_id": 103570, "bbox": [110.61, 201.86, 228.22, 425.02], "category_id": 1, "id": 153769}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [85, 289, 2, 83, 290, 2, 73, 308, 2, 0, 0, 0, 71, 291, 2, 0, 0, 0, 84, 335, 2, 81, 335, 2, 93, 363, 2, 70, 361, 2, 114, 391, 2, 62, 394, 2, 81, 266, 1, 82, 283, 1], "image_id": 106431, "bbox": [45.81, 264.16, 77.01, 137.4], "category_id": 1, "id": 153774}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [482, 47, 1, 463, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 121, 2, 465, 120, 2, 471, 166, 2, 467, 165, 2, 474, 210, 2, 470, 206, 2, 470, 5, 1, 473, 36, 1], "image_id": 104733, "bbox": [451.95, 0, 34.9, 222.65], "category_id": 1, "id": 153777}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [319, 114, 2, 292, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 74, 1, 308, 112, 1], "image_id": 103281, "bbox": [289.84, 72.88, 30.29, 61.35], "category_id": 1, "id": 153789}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [282, 112, 2, 203, 115, 2, 336, 147, 2, 177, 149, 1, 341, 127, 2, 233, 121, 2, 283, 243, 2, 229, 251, 1, 326, 354, 2, 201, 351, 1, 362, 461, 2, 204, 465, 1, 237, 51, 1, 237, 98, 1], "image_id": 107684, "bbox": [195.36, 34.18, 204.08, 448.98], "category_id": 1, "id": 153794}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 157, 1, 577, 166, 1], "image_id": 108026, "bbox": [572.78, 156.47, 11.74, 23.39], "category_id": 1, "id": 153802}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 184, 1, 514, 193, 1], "image_id": 107117, "bbox": [508.34, 182.88, 13.69, 48.09], "category_id": 1, "id": 153814}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [272, 231, 2, 235, 232, 2, 285, 250, 1, 228, 254, 1, 257, 250, 2, 259, 259, 2, 267, 294, 2, 243, 295, 2, 267, 332, 2, 241, 332, 2, 265, 369, 2, 239, 370, 2, 256, 197, 1, 254, 222, 1], "image_id": 105529, "bbox": [226.18, 190.47, 61.51, 199.48], "category_id": 1, "id": 153818}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [107, 233, 2, 121, 226, 2, 106, 248, 1, 135, 232, 2, 106, 263, 1, 147, 245, 2, 110, 249, 2, 120, 244, 2, 113, 263, 2, 125, 252, 2, 111, 268, 2, 127, 275, 1, 117, 218, 1, 114, 224, 1], "image_id": 103861, "bbox": [102.26, 217.4, 54.83, 65.73], "category_id": 1, "id": 153832}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 571, 138, 2, 0, 0, 0, 549, 166, 2, 0, 0, 0, 548, 191, 2, 0, 0, 0, 572, 191, 1, 0, 0, 0, 574, 240, 1, 557, 274, 2, 574, 284, 2, 592, 100, 1, 587, 130, 1], "image_id": 107023, "bbox": [539.46, 95.06, 60.35, 208.55], "category_id": 1, "id": 153851}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 232, 2, 252, 222, 2, 280, 266, 1, 252, 245, 2, 259, 289, 2, 247, 263, 2, 273, 282, 2, 260, 277, 2, 287, 310, 2, 250, 318, 2, 316, 328, 2, 247, 355, 1, 249, 194, 1, 260, 221, 1], "image_id": 105597, "bbox": [231.8, 186.49, 98.38, 163.23], "category_id": 1, "id": 153854}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 95, 197, 2, 0, 0, 0, 115, 288, 2, 0, 0, 0, 196, 303, 2, 0, 0, 0, 115, 361, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 61, 1, 100, 150, 1], "image_id": 106995, "bbox": [29.2, 48, 212.57, 400.61], "category_id": 1, "id": 153860}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [235, 116, 2, 220, 113, 2, 237, 138, 1, 205, 131, 2, 240, 157, 1, 198, 148, 1, 231, 149, 1, 218, 147, 1, 236, 190, 2, 220, 189, 2, 227, 220, 2, 214, 221, 2, 242, 100, 1, 229, 111, 1], "image_id": 108562, "bbox": [197.37, 96.07, 51.72, 137.71], "category_id": 1, "id": 153864}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [87, 15, 2, 102, 17, 2, 75, 29, 2, 99, 36, 2, 86, 41, 2, 112, 46, 2, 82, 62, 2, 93, 64, 2, 83, 89, 1, 95, 89, 1, 84, 116, 1, 95, 115, 1, 0, 0, 0, 98, 10, 1], "image_id": 106606, "bbox": [72.98, 0.36, 44.09, 89.46], "category_id": 1, "id": 153866}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [333, 74, 2, 0, 0, 0, 315, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104670, "bbox": [304.78, 62.29, 47.22, 69.57], "category_id": 1, "id": 153871}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 201, 1, 234, 221, 1], "image_id": 105177, "bbox": [219, 197.24, 24.39, 59.28], "category_id": 1, "id": 153874}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [157, 195, 2, 108, 191, 2, 159, 221, 2, 81, 214, 2, 153, 234, 2, 89, 253, 2, 126, 260, 2, 108, 257, 2, 99, 329, 2, 122, 320, 2, 49, 332, 2, 116, 384, 2, 146, 145, 1, 138, 182, 1], "image_id": 104879, "bbox": [34.81, 143.68, 136.54, 256.02], "category_id": 1, "id": 153878}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 445, 1, 0, 0, 0, 107, 363, 1, 0, 0, 0, 122, 484, 2, 0, 0, 0, 109, 617, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106909, "bbox": [77.79, 453.87, 66.92, 186.13], "category_id": 1, "id": 153903}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [443, 115, 1, 414, 116, 2, 0, 0, 0, 397, 166, 2, 0, 0, 0, 410, 210, 2, 450, 202, 1, 426, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, 66, 1, 429, 109, 1], "image_id": 104345, "bbox": [383.29, 58.9, 80.77, 159.88], "category_id": 1, "id": 153915}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 410, 48, 1, 0, 0, 0, 365, 85, 1, 0, 0, 0, 337, 73, 1, 262, 73, 1, 0, 0, 0, 179, 105, 2, 0, 0, 0, 189, 224, 2, 0, 0, 0, 0, 0, 0], "image_id": 105370, "bbox": [132.78, 2.21, 288.79, 279.95], "category_id": 1, "id": 153916}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [430, 304, 2, 378, 305, 2, 438, 336, 1, 364, 345, 2, 396, 338, 2, 405, 359, 2, 422, 401, 1, 379, 402, 2, 410, 499, 1, 373, 496, 2, 403, 567, 1, 365, 568, 1, 408, 247, 1, 403, 295, 1], "image_id": 103629, "bbox": [353.33, 237.5, 98.34, 298.33], "category_id": 1, "id": 153919}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [283, 203, 2, 195, 212, 2, 296, 253, 2, 211, 244, 2, 352, 290, 2, 255, 243, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 87, 1, 237, 189, 1], "image_id": 104372, "bbox": [112.1, 71.57, 304.41, 255.26], "category_id": 1, "id": 153934}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 239, 1, 410, 246, 1], "image_id": 104067, "bbox": [402.51, 238.92, 15.06, 15.06], "category_id": 1, "id": 153948}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [258, 352, 2, 203, 353, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 493, 2, 222, 495, 2, 0, 0, 0, 272, 631, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 337, 1], "image_id": 105943, "bbox": [198.59, 314.84, 81.82, 325.16], "category_id": 1, "id": 153954}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [47, 86, 2, 72, 98, 2, 51, 117, 2, 80, 135, 2, 65, 133, 2, 86, 143, 2, 23, 142, 2, 46, 146, 2, 34, 164, 2, 58, 169, 2, 41, 193, 2, 64, 197, 2, 80, 74, 1, 68, 86, 1], "image_id": 105597, "bbox": [17.15, 67.08, 77.8, 145.8], "category_id": 1, "id": 153956}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [250, 256, 2, 207, 238, 2, 292, 273, 1, 238, 269, 2, 0, 0, 0, 293, 262, 1, 175, 320, 2, 142, 306, 2, 227, 360, 2, 87, 356, 2, 0, 0, 0, 32, 403, 2, 280, 229, 1, 230, 237, 1], "image_id": 107111, "bbox": [12.02, 217.39, 278.77, 208.61], "category_id": 1, "id": 153962}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [165, 151, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 100, 1, 0, 0, 0], "image_id": 106256, "bbox": [128.78, 96.3, 44.25, 60.02], "category_id": 1, "id": 153966}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [416, 96, 2, 286, 94, 1, 479, 176, 2, 287, 213, 2, 460, 248, 2, 313, 226, 2, 377, 272, 1, 307, 278, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 9, 1, 348, 89, 1], "image_id": 105475, "bbox": [275.42, 0.34, 229.76, 308.63], "category_id": 1, "id": 153998}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104345, "bbox": [0, 99.96, 26.81, 53.15], "category_id": 1, "id": 154003}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [65, 75, 2, 39, 74, 1, 76, 99, 2, 0, 0, 0, 66, 118, 2, 0, 0, 0, 69, 130, 2, 50, 130, 1, 71, 160, 2, 44, 163, 1, 96, 184, 1, 0, 0, 0, 50, 45, 1, 55, 67, 1], "image_id": 105608, "bbox": [44.15, 45.84, 37.9, 126.11], "category_id": 1, "id": 154007}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 471, 54, 2, 0, 0, 0, 466, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 488, 46, 1], "image_id": 104372, "bbox": [455.43, 10.21, 44.57, 75.36], "category_id": 1, "id": 154008}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 600, 57, 2, 0, 0, 0, 540, 142, 2, 612, 320, 2, 492, 226, 2, 586, 280, 2, 529, 252, 2, 533, 398, 2, 484, 348, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108207, "bbox": [479.09, 0.92, 160.91, 419.48], "category_id": 1, "id": 154038}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [290, 81, 2, 352, 82, 2, 276, 137, 1, 353, 143, 2, 0, 0, 0, 333, 156, 1, 297, 175, 1, 344, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 11, 1, 322, 56, 1], "image_id": 107513, "bbox": [270.96, 7.8, 99.74, 151.28], "category_id": 1, "id": 154052}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 243, 1, 102, 245, 1], "image_id": 104497, "bbox": [98.63, 244.04, 4.71, 11.82], "category_id": 1, "id": 154079}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 117, 175, 2, 0, 0, 0, 115, 267, 2, 0, 0, 0, 140, 341, 1, 0, 0, 0, 159, 371, 1, 0, 0, 0, 160, 459, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105217, "bbox": [99.56, 148, 34.65, 330.4], "category_id": 1, "id": 154090}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 159, 255, 2, 0, 0, 0, 188, 308, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 177, 1, 0, 0, 0], "image_id": 106287, "bbox": [108.58, 170.58, 86.79, 115.99], "category_id": 1, "id": 154092}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [13, 230, 2, 0, 0, 0, 45, 239, 2, 0, 0, 0, 85, 246, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 283, 2, 31, 293, 2, 0, 0, 0, 0, 0, 0, 7, 188, 1, -1, 221, 1], "image_id": 103676, "bbox": [0, 181.49, 121.57, 172.53], "category_id": 1, "id": 154107}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [134, 211, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 262, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 170, 1, 121, 198, 1], "image_id": 106221, "bbox": [98.36, 167.11, 44.71, 98.14], "category_id": 1, "id": 154113}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 468, 322, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105573, "bbox": [451.81, 307.98, 28.19, 99.55], "category_id": 1, "id": 154118}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [352, 178, 2, 213, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 60, 1, 278, 154, 1], "image_id": 108061, "bbox": [193.25, 50.9, 200.69, 311.6], "category_id": 1, "id": 154121}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [408, 210, 1, 365, 213, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 177, 1, 387, 207, 1], "image_id": 105904, "bbox": [359.7, 175.01, 51.05, 70.35], "category_id": 1, "id": 154138}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [180, 423, 2, 72, 423, 2, 195, 503, 1, 56, 499, 1, 207, 561, 1, 68, 567, 1, 171, 549, 2, 88, 547, 2, 183, 605, 2, 96, 602, 2, 0, 0, 0, 0, 0, 0, 137, 292, 1, 127, 395, 1], "image_id": 104171, "bbox": [46.55, 274.29, 184.51, 355.74], "category_id": 1, "id": 154161}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [390, 470, 2, 419, 469, 2, 377, 487, 2, 430, 490, 2, 363, 488, 2, 440, 509, 2, 398, 520, 2, 419, 520, 2, 401, 540, 2, 417, 552, 2, 402, 570, 2, 417, 588, 2, 401, 435, 1, 403, 460, 1], "image_id": 108606, "bbox": [359.55, 429.01, 88.14, 166.9], "category_id": 1, "id": 154172}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 30, 225, 2, 0, 0, 0, 144, 213, 2, 61, 252, 2, 21, 406, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108138, "bbox": [0, 0, 230.71, 388.26], "category_id": 1, "id": 154183}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 212, 2, 263, 207, 2, 261, 220, 2, 256, 218, 2, 267, 224, 2, 263, 229, 2, 253, 232, 2, 259, 234, 2, 248, 253, 2, 268, 252, 2, 225, 262, 2, 266, 277, 2, 268, 193, 1, 265, 205, 1], "image_id": 105960, "bbox": [220.39, 192.79, 57.49, 92.23], "category_id": 1, "id": 154184}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105506, "bbox": [0, 91.97, 14.23, 69.35], "category_id": 1, "id": 154198}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 6, 2, 129, 7, 2, 128, 38, 1, 108, 37, 1, 0, 0, 0, 0, 0, 0], "image_id": 106106, "bbox": [96.8, 1.91, 54.71, 32.64], "category_id": 1, "id": 154203}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [289, 182, 2, 237, 187, 2, 0, 0, 0, 221, 230, 1, 0, 0, 0, 254, 223, 2, 288, 270, 1, 251, 272, 2, 0, 0, 0, 249, 332, 2, 0, 0, 0, 0, 0, 0, 272, 132, 1, 265, 172, 1], "image_id": 103355, "bbox": [216.24, 126.84, 82.58, 209.58], "category_id": 1, "id": 154205}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [529, 246, 2, 0, 0, 0, 539, 266, 2, 0, 0, 0, 521, 261, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 196, 1, 0, 0, 0], "image_id": 106310, "bbox": [493.05, 191.53, 57.93, 92.54], "category_id": 1, "id": 154208}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 563, 204, 1, 562, 214, 1], "image_id": 105960, "bbox": [522.03, 204.28, 43.57, 56.84], "category_id": 1, "id": 154216}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [215, 236, 2, 231, 236, 2, 0, 0, 0, 232, 245, 2, 0, 0, 0, 0, 0, 0, 210, 260, 2, 222, 260, 2, 0, 0, 0, 236, 244, 2, 214, 263, 2, 230, 262, 2, 225, 220, 1, 224, 231, 1], "image_id": 102679, "bbox": [205.49, 216.8, 34.44, 53.22], "category_id": 1, "id": 154220}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [91, 141, 2, 61, 167, 2, 86, 106, 2, 52, 197, 2, 61, 117, 2, 60, 196, 2, 139, 182, 2, 122, 198, 2, 166, 192, 2, 130, 211, 2, 184, 247, 2, 168, 248, 2, 45, 132, 1, 70, 152, 1], "image_id": 108066, "bbox": [37.11, 98.14, 162.11, 182.62], "category_id": 1, "id": 154239}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [225, 303, 2, 183, 330, 2, 227, 339, 2, 190, 374, 2, 209, 370, 2, 187, 387, 2, 235, 406, 2, 207, 423, 2, 248, 472, 2, 199, 478, 2, 250, 543, 2, 142, 525, 2, 190, 270, 1, 202, 309, 1], "image_id": 104369, "bbox": [123.01, 256.38, 146.49, 307.38], "category_id": 1, "id": 154242}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [44, 123, 2, 5, 127, 2, 58, 151, 2, 1, 153, 2, 38, 162, 2, 9, 161, 2, 42, 189, 2, 17, 189, 2, 50, 229, 1, 17, 229, 2, 60, 268, 2, 20, 274, 1, 20, 88, 1, 23, 116, 1], "image_id": 104325, "bbox": [0, 85.48, 76, 200.29], "category_id": 1, "id": 154247}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 240, 1, 42, 246, 1], "image_id": 107358, "bbox": [32.97, 239.99, 17.57, 47.43], "category_id": 1, "id": 154248}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [331, 324, 2, 169, 340, 2, 361, 467, 2, 197, 532, 2, 423, 565, 2, 270, 365, 2, 312, 615, 2, 167, 626, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 164, 1, 245, 309, 1], "image_id": 107513, "bbox": [115, 125.83, 365, 514.17], "category_id": 1, "id": 154252}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [362, 196, 2, 249, 168, 2, 360, 299, 2, 202, 233, 2, 389, 329, 2, 285, 261, 1, 323, 347, 2, 257, 346, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339, 58, 1, 310, 160, 1], "image_id": 103046, "bbox": [174.47, 39.89, 224.67, 416.11], "category_id": 1, "id": 154271}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [499, 139, 1, 634, 142, 2, 477, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, 297, 2, 606, 296, 2, 523, 473, 2, 539, 398, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 88, 1], "image_id": 103250, "bbox": [483.72, 0.12, 156.28, 479.88], "category_id": 1, "id": 154275}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 30, 1, 556, 35, 2, 526, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103801, "bbox": [497.34, 33.91, 60.97, 25.63], "category_id": 1, "id": 154277}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 564, 240, 1, 565, 242, 1], "image_id": 103043, "bbox": [556.04, 239.91, 16.46, 24.56], "category_id": 1, "id": 154284}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [348, 140, 1, 275, 155, 2, 0, 0, 0, 244, 182, 2, 0, 0, 0, 230, 154, 2, 334, 270, 1, 271, 270, 1, 365, 361, 1, 266, 361, 1, 0, 0, 0, 0, 0, 0, 286, 84, 1, 304, 145, 1], "image_id": 103240, "bbox": [198.06, 69.71, 115.08, 200.27], "category_id": 1, "id": 154289}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 234, 1, 471, 238, 1], "image_id": 108236, "bbox": [469.91, 234.1, 10.09, 22.23], "category_id": 1, "id": 154290}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [127, 86, 1, 69, 104, 2, 0, 0, 0, 61, 140, 2, 0, 0, 0, 58, 162, 2, 109, 205, 1, 74, 197, 2, 106, 291, 2, 57, 264, 2, 0, 0, 0, 18, 328, 2, 84, 33, 1, 95, 82, 1], "image_id": 108165, "bbox": [8.77, 27.38, 109.03, 313.95], "category_id": 1, "id": 154295}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [154, 132, 2, 115, 131, 2, 156, 166, 1, 105, 159, 1, 130, 176, 2, 118, 178, 1, 140, 172, 1, 124, 171, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 94, 1, 133, 124, 1], "image_id": 108503, "bbox": [107.4, 86.61, 55.35, 101.04], "category_id": 1, "id": 154305}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [199, 105, 2, 0, 0, 0, 231, 127, 1, 0, 0, 0, 222, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 45, 1, 180, 91, 1], "image_id": 108001, "bbox": [164.33, 40.22, 74.85, 86.21], "category_id": 1, "id": 154315}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [637, 155, 2, 588, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 103, 1, 613, 143, 1], "image_id": 103896, "bbox": [572.8, 96.69, 67.2, 59], "category_id": 1, "id": 154320}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [488, 123, 2, 506, 105, 2, 466, 181, 2, 0, 0, 0, 422, 147, 1, 0, 0, 0, 528, 204, 2, 490, 192, 2, 464, 219, 2, 428, 183, 2, 418, 312, 2, 388, 259, 2, 475, 49, 1, 482, 100, 1], "image_id": 103000, "bbox": [346.36, 47.28, 206.97, 295.94], "category_id": 1, "id": 154335}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [135, 143, 2, 99, 146, 2, 134, 153, 2, 95, 162, 1, 106, 148, 2, 107, 151, 2, 127, 183, 2, 105, 183, 1, 116, 158, 2, 0, 0, 0, 101, 173, 1, 0, 0, 0, 113, 114, 1, 116, 139, 1], "image_id": 107575, "bbox": [92.13, 111.36, 54.08, 85.56], "category_id": 1, "id": 154336}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [222, 303, 1, 236, 305, 2, 224, 316, 1, 239, 317, 2, 239, 308, 2, 245, 308, 2, 231, 327, 2, 239, 327, 2, 226, 349, 2, 245, 347, 2, 223, 362, 2, 248, 362, 1, 236, 284, 1, 234, 297, 1], "image_id": 107115, "bbox": [216.9, 281.14, 38.02, 88.36], "category_id": 1, "id": 154342}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [480, 241, 2, 479, 241, 2, 457, 297, 2, 433, 286, 2, 494, 307, 1, 465, 326, 2, 423, 329, 2, 421, 328, 2, 471, 376, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 195, 1, 490, 235, 1], "image_id": 103188, "bbox": [399.17, 189.06, 129.45, 234.97], "category_id": 1, "id": 154350}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 10, 1], "image_id": 107213, "bbox": [332.8, 0, 23.36, 79.92], "category_id": 1, "id": 154351}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [447, 203, 1, 423, 203, 2, 0, 0, 0, 401, 221, 1, 0, 0, 0, 414, 205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 169, 1, 432, 197, 1], "image_id": 106047, "bbox": [401.81, 166.83, 47.73, 53.83], "category_id": 1, "id": 154352}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [266, 274, 2, 187, 256, 2, 271, 314, 1, 125, 251, 2, 0, 0, 0, 81, 254, 1, 235, 350, 1, 171, 345, 1, 264, 391, 1, 182, 376, 1, 0, 0, 0, 0, 0, 0, 246, 212, 1, 227, 260, 1], "image_id": 106040, "bbox": [9.19, 203.84, 269.19, 139.86], "category_id": 1, "id": 154361}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [108, 57, 2, 77, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 47, 1], "image_id": 104372, "bbox": [71.9, 15.3, 46.65, 75.1], "category_id": 1, "id": 154363}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [430, 226, 2, 394, 226, 2, 0, 0, 0, 394, 278, 2, 0, 0, 0, 442, 247, 2, 483, 285, 2, 459, 300, 2, 560, 305, 2, 546, 240, 2, 485, 330, 2, 499, 333, 2, 444, 162, 1, 409, 212, 1], "image_id": 108579, "bbox": [369.33, 143.07, 205.18, 220.71], "category_id": 1, "id": 154432}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [384, 240, 2, 254, 234, 2, 422, 310, 2, 155, 254, 2, 437, 347, 2, 166, 224, 2, 357, 423, 1, 266, 422, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 79, 1, 314, 217, 1], "image_id": 108344, "bbox": [126.77, 65.61, 319.13, 355.83], "category_id": 1, "id": 154436}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [131, 339, 2, 160, 330, 2, 121, 365, 2, 174, 310, 1, 147, 364, 2, 185, 289, 1, 134, 403, 2, 159, 406, 2, 145, 451, 2, 177, 450, 1, 148, 503, 2, 145, 496, 2, 151, 298, 1, 149, 323, 1], "image_id": 105949, "bbox": [112.61, 290.43, 68.03, 235.99], "category_id": 1, "id": 154442}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [506, 107, 2, 465, 107, 2, 516, 156, 2, 468, 146, 2, 510, 209, 2, 451, 175, 2, 491, 200, 2, 468, 201, 2, 498, 269, 1, 469, 269, 2, 500, 345, 2, 470, 338, 2, 478, 56, 1, 483, 97, 1], "image_id": 108544, "bbox": [436.9, 51.45, 90.47, 312.25], "category_id": 1, "id": 154443}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [110, 104, 2, 78, 105, 1, 138, 135, 2, 60, 101, 1, 157, 159, 2, 63, 82, 1, 108, 159, 2, 78, 158, 1, 108, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 73, 1, 94, 99, 1], "image_id": 103269, "bbox": [77.25, 69.53, 81.67, 111.46], "category_id": 1, "id": 154446}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [622, 92, 2, 580, 71, 2, 631, 115, 2, 548, 76, 2, 631, 143, 2, 523, 83, 2, 586, 135, 2, 564, 125, 2, 568, 173, 2, 548, 164, 2, 534, 190, 2, 508, 183, 2, 602, 60, 1, 601, 73, 1], "image_id": 104780, "bbox": [499.4, 57.7, 138.94, 147.7], "category_id": 1, "id": 154469}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [229, 72, 2, 170, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 154, 1, 173, 150, 1, 206, 230, 2, 170, 223, 1, 209, 298, 2, 163, 304, 1, 200, 12, 1, 198, 59, 1], "image_id": 106076, "bbox": [153.5, 6.14, 82.27, 318.05], "category_id": 1, "id": 154470}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [404, 234, 2, 345, 229, 1, 421, 301, 2, 0, 0, 0, 396, 356, 2, 0, 0, 0, 402, 354, 2, 357, 343, 2, 401, 441, 2, 367, 433, 2, 0, 0, 0, 0, 0, 0, 374, 151, 1, 376, 214, 1], "image_id": 108116, "bbox": [342.5, 139.38, 103.75, 332.5], "category_id": 1, "id": 154472}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [83, 121, 2, 69, 119, 2, 0, 0, 0, 36, 263, 2, 115, 256, 2, 147, 272, 2, 101, 330, 2, 61, 342, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 46, 1, 86, 102, 1], "image_id": 105655, "bbox": [5.45, 20.13, 217.49, 406.87], "category_id": 1, "id": 154501}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 289, 1, 350, 303, 1], "image_id": 104608, "bbox": [339.93, 287.64, 19.67, 59.89], "category_id": 1, "id": 154504}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [591, 172, 1, 0, 0, 0, 499, 179, 2, 573, 263, 1, 444, 157, 2, 555, 217, 2, 583, 305, 1, 556, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103000, "bbox": [422.65, 134.44, 140.88, 120.94], "category_id": 1, "id": 154511}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [53, 76, 2, 67, 75, 2, 54, 111, 2, 0, 0, 0, 49, 137, 2, 0, 0, 0, 59, 131, 2, 71, 131, 2, 54, 175, 2, 75, 169, 2, 56, 212, 2, 81, 210, 2, 54, 43, 1, 59, 64, 1], "image_id": 107513, "bbox": [36.91, 43.76, 51.99, 178.13], "category_id": 1, "id": 154518}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [317, 83, 2, 261, 87, 2, 315, 115, 2, 248, 124, 2, 284, 131, 2, 273, 138, 2, 303, 157, 2, 260, 158, 2, 307, 229, 2, 264, 226, 2, 313, 285, 2, 260, 286, 2, 288, 29, 1, 288, 74, 1], "image_id": 106076, "bbox": [240.07, 21.78, 89.88, 280.52], "category_id": 1, "id": 154524}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104670, "bbox": [96.1, 39.18, 14.52, 17.91], "category_id": 1, "id": 154545}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [188, 112, 2, 177, 111, 2, 181, 189, 2, 182, 136, 2, 162, 221, 2, 201, 151, 2, 188, 159, 2, 182, 160, 2, 208, 191, 2, 0, 0, 0, 220, 218, 2, 0, 0, 0, 198, 86, 1, 187, 102, 1], "image_id": 103594, "bbox": [151.34, 82.39, 84.67, 155.59], "category_id": 1, "id": 154553}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [334, 182, 2, 308, 181, 2, 0, 0, 0, 301, 190, 2, 0, 0, 0, 305, 199, 2, 331, 199, 1, 311, 199, 2, 339, 201, 1, 302, 197, 2, 326, 211, 2, 316, 210, 2, 321, 162, 1, 322, 180, 1], "image_id": 108066, "bbox": [296.16, 157.85, 44.75, 62.66], "category_id": 1, "id": 154555}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [604, 165, 2, 526, 161, 1, 595, 238, 1, 517, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 91, 1, 559, 142, 1], "image_id": 106352, "bbox": [537.92, 77.86, 89.44, 121.21], "category_id": 1, "id": 154561}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 106, 1], "image_id": 104514, "bbox": [462.56, 95.32, 19.5, 33.34], "category_id": 1, "id": 154568}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 278, 1, 419, 281, 1], "image_id": 106582, "bbox": [414.37, 277.85, 8.32, 8.05], "category_id": 1, "id": 154589}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [556, 1, 1, 0, 0, 0, 541, 31, 2, 621, 52, 2, 525, 59, 1, 0, 0, 0, 565, 67, 2, 594, 71, 2, 565, 156, 2, 591, 158, 2, 567, 237, 2, 581, 238, 2, 0, 0, 0, 0, 0, 0], "image_id": 108579, "bbox": [529.33, 1.11, 101.27, 252.05], "category_id": 1, "id": 154608}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [489, 44, 2, 509, 37, 2, 471, 80, 2, 0, 0, 0, 450, 96, 2, 0, 0, 0, 488, 101, 1, 504, 104, 1, 495, 142, 1, 470, 132, 1, 507, 187, 1, 452, 175, 1, 495, 3, 1, 495, 32, 1], "image_id": 105506, "bbox": [438.88, 1.63, 80.92, 175.3], "category_id": 1, "id": 154624}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [138, 82, 2, 124, 84, 2, 141, 103, 2, 123, 105, 2, 126, 125, 2, 113, 119, 2, 135, 127, 2, 0, 0, 0, 134, 146, 1, 0, 0, 0, 131, 168, 1, 0, 0, 0, 120, 58, 1, 131, 74, 1], "image_id": 105995, "bbox": [105.16, 56.84, 43.6, 84.84], "category_id": 1, "id": 154629}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [136, 194, 2, 169, 196, 2, 126, 223, 2, 182, 234, 2, 132, 250, 2, 180, 262, 2, 139, 253, 2, 163, 254, 2, 144, 304, 2, 183, 295, 2, 147, 352, 2, 155, 342, 2, 162, 152, 1, 157, 183, 1], "image_id": 107565, "bbox": [119.46, 148.52, 76.84, 212.75], "category_id": 1, "id": 154631}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 112, 2, 407, 112, 2, 454, 130, 2, 399, 149, 2, 444, 99, 2, 431, 152, 2, 438, 165, 2, 410, 166, 2, 436, 144, 2, 449, 163, 2, 437, 192, 1, 445, 203, 1, 432, 77, 1, 426, 106, 1], "image_id": 104042, "bbox": [397.26, 72.78, 60.32, 113.16], "category_id": 1, "id": 154637}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [461, 7, 1, 477, 8, 2, 451, 31, 1, 0, 0, 0, 431, 35, 2, 0, 0, 0, 464, 56, 1, 476, 56, 2, 465, 88, 1, 453, 85, 1, 475, 119, 2, 0, 0, 0, 0, 0, 0, 465, 2, 1], "image_id": 106742, "bbox": [424.47, 0.24, 58.59, 128.79], "category_id": 1, "id": 154640}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [445, 257, 1, 404, 227, 2, 0, 0, 0, 367, 234, 2, 0, 0, 0, 347, 249, 2, 405, 306, 2, 372, 299, 2, 386, 311, 2, 341, 312, 2, 387, 390, 2, 363, 385, 2, 453, 205, 1, 432, 238, 1], "image_id": 105387, "bbox": [328.9, 197.52, 138.09, 215.92], "category_id": 1, "id": 154643}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [245, 171, 2, 205, 158, 1, 244, 221, 2, 221, 220, 2, 269, 192, 2, 265, 194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 107, 1, 228, 154, 1], "image_id": 107953, "bbox": [207.85, 105.12, 79.71, 158.84], "category_id": 1, "id": 154656}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 56, 1, 349, 71, 1], "image_id": 107569, "bbox": [322.66, 56.55, 37.13, 71.99], "category_id": 1, "id": 154673}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 10, 245, 2, 0, 0, 0, 7, 281, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105378, "bbox": [0.52, 181.85, 19.74, 123.37], "category_id": 1, "id": 154682}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [46, 153, 2, 71, 147, 2, 48, 190, 2, 0, 0, 0, 38, 222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 112, 1, 53, 137, 1], "image_id": 106995, "bbox": [26.74, 108.33, 49.01, 125.32], "category_id": 1, "id": 154691}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [475, 325, 2, 392, 319, 2, 511, 363, 2, 345, 362, 2, 508, 420, 2, 353, 430, 2, 449, 362, 2, 393, 359, 2, 438, 445, 2, 406, 446, 2, 451, 551, 2, 400, 553, 2, 434, 303, 1, 429, 319, 1], "image_id": 105116, "bbox": [334.84, 282.47, 188.16, 309.34], "category_id": 1, "id": 154695}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [166, 296, 2, 141, 309, 2, 0, 0, 0, 149, 332, 2, 0, 0, 0, 175, 314, 2, 159, 346, 2, 151, 347, 2, 160, 386, 2, 166, 376, 2, 141, 418, 2, 160, 424, 2, 153, 272, 1, 155, 298, 1], "image_id": 105529, "bbox": [124.71, 267.08, 62.77, 174.83], "category_id": 1, "id": 154709}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [356, 227, 2, 290, 224, 1, 303, 335, 1, 271, 320, 1, 201, 298, 1, 205, 281, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 100, 1, 315, 208, 1], "image_id": 106566, "bbox": [187.84, 81.45, 229.41, 312.52], "category_id": 1, "id": 154735}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [636, 58, 1, 579, 58, 1, 0, 0, 0, 0, 0, 0, 635, 130, 1, 0, 0, 0, 625, 127, 2, 582, 125, 1, 611, 179, 2, 587, 179, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107568, "bbox": [579.2, 78.31, 60.27, 117.45], "category_id": 1, "id": 154753}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [134, 101, 2, 56, 103, 2, 0, 0, 0, 16, 189, 2, 0, 0, 0, 60, 227, 2, 130, 217, 1, 78, 221, 2, 126, 311, 1, 84, 315, 1, 0, 0, 0, 0, 0, 0, 94, 15, 1, 94, 83, 1], "image_id": 105234, "bbox": [0.41, 8.78, 146.6, 263.87], "category_id": 1, "id": 154755}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [205, 291, 2, 85, 301, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 415, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 431, 2, 0, 0, 0, 0, 0, 0, 167, 90, 1, 141, 255, 1], "image_id": 103203, "bbox": [0, 76.05, 506.18, 393.98], "category_id": 1, "id": 154764}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [246, 174, 2, 238, 179, 2, 237, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 222, 1, 248, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 144, 1, 239, 169, 1], "image_id": 105035, "bbox": [220.63, 140.89, 50.07, 71.33], "category_id": 1, "id": 154769}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 99, 2, 286, 98, 2, 317, 127, 2, 273, 130, 2, 316, 155, 2, 264, 155, 2, 298, 136, 2, 267, 132, 2, 314, 170, 2, 259, 177, 2, 326, 222, 1, 246, 221, 2, 308, 78, 1, 305, 96, 1], "image_id": 105833, "bbox": [237.07, 71.45, 91.93, 170.02], "category_id": 1, "id": 154775}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107358, "bbox": [386.92, 225.7, 6.79, 16.08], "category_id": 1, "id": 154793}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 415, 1, 170, 417, 1], "image_id": 106636, "bbox": [166.33, 415.29, 8.42, 8.53], "category_id": 1, "id": 154800}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 3, 1], "image_id": 102572, "bbox": [385.25, 1.25, 39.89, 21.19], "category_id": 1, "id": 154820}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [322, 312, 2, 257, 303, 2, 292, 379, 2, 239, 346, 1, 194, 411, 2, 236, 333, 2, 259, 433, 1, 228, 407, 2, 144, 428, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 290, 215, 1, 290, 286, 1], "image_id": 103362, "bbox": [154.54, 206.41, 188.2, 256.76], "category_id": 1, "id": 154821}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 510, 67, 1, 468, 66, 2, 539, 101, 2, 478, 111, 2, 528, 152, 2, 477, 169, 1, 0, 0, 0, 0, 0, 0], "image_id": 108489, "bbox": [451.01, 47.21, 100.98, 136.17], "category_id": 1, "id": 154824}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [486, 137, 2, 451, 141, 2, 512, 182, 2, 422, 173, 2, 529, 209, 2, 421, 196, 2, 492, 232, 2, 465, 238, 2, 487, 307, 2, 475, 314, 2, 446, 344, 2, 471, 371, 2, 483, 70, 1, 467, 125, 1], "image_id": 106513, "bbox": [405.71, 57.93, 147.16, 338.06], "category_id": 1, "id": 154833}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [408, 140, 2, 376, 157, 2, 406, 170, 2, 386, 198, 2, 376, 181, 2, 369, 188, 2, 416, 202, 2, 387, 209, 2, 439, 233, 2, 364, 259, 2, 450, 290, 2, 322, 276, 2, 382, 109, 1, 387, 140, 1], "image_id": 104103, "bbox": [301.85, 100.8, 176.21, 200.82], "category_id": 1, "id": 154841}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108586, "bbox": [494.14, 0, 54.79, 31.06], "category_id": 1, "id": 154859}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [195.8, 412.11, 8.18, 13.05], "category_id": 1, "id": 154866}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 68, 20, 2, 0, 0, 0, 82, 88, 2, 0, 0, 0, 43, 75, 2, 0, 0, 0, 62, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103057, "bbox": [0, 2.69, 91.12, 189.94], "category_id": 1, "id": 154867}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [312, 166, 2, 186, 164, 1, 315, 305, 2, 0, 0, 0, 285, 407, 2, 0, 0, 0, 280, 428, 2, 189, 415, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 42, 1, 239, 141, 1], "image_id": 104157, "bbox": [172.32, 31.35, 156.66, 459.53], "category_id": 1, "id": 154877}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [32, 212, 2, 193, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 416, 1, 188, 415, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 75, 1, 116, 164, 1], "image_id": 107162, "bbox": [1.1, 62.92, 253.9, 358.77], "category_id": 1, "id": 154885}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 100, 1, 50, 107, 1], "image_id": 105616, "bbox": [34.18, 99.49, 25.07, 32.22], "category_id": 1, "id": 154902}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 9, 2, 0, 0, 0, 141, 62, 2, 107, 62, 2, 149, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106494, "bbox": [71.63, 1.11, 87.1, 92.52], "category_id": 1, "id": 154916}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 467, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104729, "bbox": [373.69, 305.55, 49.31, 237.94], "category_id": 1, "id": 154921}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [397, 237, 1, 140, 373, 2, 0, 0, 0, 0, 0, 0, 432, 356, 2, 327, 394, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 57, 1, 265, 272, 1], "image_id": 108130, "bbox": [99.82, 14.42, 468.03, 403.71], "category_id": 1, "id": 154922}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [241, 132, 2, 222, 133, 2, 246, 147, 2, 212, 145, 1, 230, 146, 2, 0, 0, 0, 247, 166, 2, 233, 165, 2, 240, 189, 2, 221, 187, 2, 0, 0, 0, 0, 0, 0, 228, 113, 1, 232, 127, 1], "image_id": 103586, "bbox": [213.25, 110.83, 48.82, 80.94], "category_id": 1, "id": 154923}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [584, 100, 2, 554, 102, 2, 596, 121, 2, 553, 126, 1, 595, 143, 2, 576, 122, 2, 583, 157, 2, 0, 0, 0, 590, 195, 2, 0, 0, 0, 583, 232, 1, 0, 0, 0, 571, 70, 1, 568, 96, 1], "image_id": 105234, "bbox": [546.87, 66.33, 60, 187.32], "category_id": 1, "id": 154945}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [456, 243, 2, 406, 240, 1, 497, 238, 1, 371, 236, 1, 511, 239, 2, 358, 239, 2, 439, 302, 2, 408, 301, 2, 441, 326, 2, 398, 325, 2, 441, 399, 2, 380, 392, 2, 438, 205, 1, 433, 239, 1], "image_id": 108383, "bbox": [354.37, 199.83, 163.04, 221.2], "category_id": 1, "id": 154948}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108579, "bbox": [584.49, 51.02, 55.51, 269.51], "category_id": 1, "id": 154964}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [285, 352, 1, 320, 351, 2, 0, 0, 0, 338, 372, 2, 0, 0, 0, 361, 393, 2, 293, 420, 2, 320, 419, 2, 300, 468, 2, 326, 470, 2, 305, 522, 2, 323, 528, 2, 299, 307, 1, 299, 336, 1], "image_id": 105949, "bbox": [283.9, 295.39, 96.34, 242.29], "category_id": 1, "id": 154974}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 5, 2, 607, 7, 2, 0, 0, 0, 0, 0, 0], "image_id": 107592, "bbox": [563.66, 1.14, 73.2, 25.5], "category_id": 1, "id": 154977}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 420, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108586, "bbox": [0.58, 351.46, 65.96, 128.54], "category_id": 1, "id": 154987}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108489, "bbox": [432.57, 79.24, 133.78, 79.95], "category_id": 1, "id": 154996}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 277, 1, 450, 292, 1], "image_id": 105812, "bbox": [441.58, 276.24, 22.12, 38.67], "category_id": 1, "id": 154999}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 259, 1, 469, 260, 2, 506, 303, 2, 468, 298, 2, 488, 326, 2, 479, 321, 2, 508, 318, 2, 480, 317, 2, 499, 339, 2, 461, 334, 2, 512, 388, 2, 473, 377, 2, 473, 212, 1, 483, 246, 1], "image_id": 108383, "bbox": [451.22, 209.6, 73.7, 205.07], "category_id": 1, "id": 155000}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [268, 166, 2, 270, 194, 2, 0, 0, 0, 258, 254, 2, 227, 236, 2, 279, 249, 2, 223, 245, 2, 205, 250, 1, 263, 297, 2, 243, 306, 2, 221, 375, 2, 172, 343, 1, 316, 157, 1, 280, 178, 1], "image_id": 106540, "bbox": [171.1, 139.86, 155.65, 253.89], "category_id": 1, "id": 155033}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [417, 99, 2, 450, 97, 2, 388, 117, 2, 0, 0, 0, 378, 99, 2, 0, 0, 0, 435, 164, 2, 456, 162, 2, 432, 224, 1, 453, 218, 2, 431, 276, 2, 471, 268, 2, 423, 65, 1, 430, 89, 1], "image_id": 105616, "bbox": [370.02, 63.69, 112.17, 226.48], "category_id": 1, "id": 155038}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 247, 2, 314, 246, 1, 286, 268, 2, 318, 270, 2, 275, 281, 2, 316, 284, 2, 297, 281, 2, 314, 281, 2, 288, 310, 2, 310, 309, 2, 314, 310, 2, 326, 307, 1, 302, 224, 1, 303, 240, 1], "image_id": 103971, "bbox": [273.05, 223.14, 52.91, 96.49], "category_id": 1, "id": 155047}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [281, 229, 2, 316, 234, 2, 390, 321, 1, 374, 330, 1, 441, 304, 2, 0, 0, 0, 252, 372, 2, 294, 386, 2, 0, 0, 0, 441, 376, 2, 0, 0, 0, 441, 466, 1, 351, 154, 1, 319, 217, 1], "image_id": 103203, "bbox": [231.43, 140.28, 237.68, 302.45], "category_id": 1, "id": 155069}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [124, 8, 2, 175, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 88, 2, 166, 90, 1, 137, 168, 2, 0, 0, 0, 134, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108579, "bbox": [113.12, 0.62, 52.27, 234.63], "category_id": 1, "id": 155090}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [69, 6, 2, 92, 2, 2, 0, 0, 0, 112, 43, 2, 0, 0, 0, 0, 0, 0, 67, 86, 2, 87, 86, 2, 0, 0, 0, 86, 152, 2, 0, 0, 0, 83, 228, 2, 0, 0, 0, 79, 4, 1], "image_id": 108579, "bbox": [43.26, 0.79, 77.38, 241.73], "category_id": 1, "id": 155092}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [184, 226, 2, 141, 236, 2, 190, 279, 2, 151, 312, 1, 207, 306, 1, 186, 329, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 186, 156, 1, 166, 207, 1], "image_id": 106883, "bbox": [121.1, 120.16, 111.24, 237.88], "category_id": 1, "id": 155101}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [116, 251, 2, 34, 254, 2, 151, 302, 2, 0, 0, 0, 187, 335, 2, 35, 335, 2, 113, 405, 1, 58, 409, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 173, 1, 70, 235, 1], "image_id": 106883, "bbox": [0, 126.12, 203.7, 283.78], "category_id": 1, "id": 155102}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [319, 219, 2, 277, 220, 2, 316, 265, 2, 264, 267, 1, 349, 275, 2, 301, 281, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, 173, 1, 301, 203, 1], "image_id": 106883, "bbox": [252.91, 144.96, 113.37, 149.33], "category_id": 1, "id": 155103}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [250, 180, 2, 224, 180, 2, 258, 188, 2, 201, 205, 1, 234, 174, 2, 205, 186, 2, 251, 238, 2, 232, 239, 2, 247, 279, 2, 236, 280, 2, 247, 324, 2, 252, 320, 2, 234, 144, 1, 239, 172, 1], "image_id": 105582, "bbox": [200.67, 141.51, 65.88, 210.17], "category_id": 1, "id": 155119}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [480, 276, 2, 326, 281, 2, 579, 350, 2, 326, 403, 2, 530, 436, 2, 440, 323, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 119, 1, 400, 249, 1], "image_id": 107329, "bbox": [286.25, 111.88, 313.75, 362.5], "category_id": 1, "id": 155121}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [184, 210, 2, 53, 206, 2, 198, 355, 2, 62, 425, 2, 0, 0, 0, 225, 372, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 13, 1, 104, 164, 1], "image_id": 107329, "bbox": [1.25, 0, 371.53, 473.77], "category_id": 1, "id": 155127}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 236, 2, 269, 213, 2, 359, 271, 2, 203, 197, 2, 368, 300, 2, 163, 144, 2, 297, 320, 2, 253, 319, 2, 283, 361, 2, 259, 409, 2, 285, 466, 2, 295, 413, 2, 337, 154, 1, 308, 214, 1], "image_id": 104105, "bbox": [130, 104.89, 263.33, 381.67], "category_id": 1, "id": 155128}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 200, 2, 0, 0, 0, 183, 173, 1, 0, 0, 0, 187, 254, 2, 0, 0, 0, 191, 323, 2, 0, 0, 0, 0, 0, 0], "image_id": 104105, "bbox": [135.76, 146.82, 79.6, 204.77], "category_id": 1, "id": 155131}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [227, 88, 2, 164, 93, 2, 244, 136, 2, 158, 148, 1, 256, 176, 2, 157, 198, 1, 221, 182, 2, 184, 185, 1, 235, 250, 1, 189, 253, 1, 0, 0, 0, 0, 0, 0, 183, 26, 1, 191, 76, 1], "image_id": 104105, "bbox": [154.2, 19.3, 114.83, 176.25], "category_id": 1, "id": 155133}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [315, 145, 2, 289, 143, 2, 304, 203, 2, 288, 184, 2, 260, 186, 2, 267, 182, 2, 296, 258, 2, 279, 250, 2, 0, 0, 0, 285, 304, 1, 0, 0, 0, 0, 0, 0, 305, 85, 1, 307, 132, 1], "image_id": 108280, "bbox": [233.74, 80.68, 105.55, 222.89], "category_id": 1, "id": 155158}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 283, 2, 334, 249, 2, 408, 358, 2, 229, 264, 2, 428, 284, 2, 278, 229, 2, 288, 352, 2, 263, 314, 2, 229, 373, 2, 164, 239, 2, 117, 438, 2, 127, 378, 2, 373, 192, 1, 358, 247, 1], "image_id": 103873, "bbox": [54.86, 185.77, 386.49, 288], "category_id": 1, "id": 155159}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [264, 301, 2, 234, 294, 2, 268, 323, 2, 227, 313, 2, 246, 326, 2, 226, 323, 2, 253, 336, 2, 239, 342, 2, 254, 387, 2, 239, 390, 2, 249, 428, 2, 246, 416, 2, 253, 273, 1, 248, 289, 1], "image_id": 108099, "bbox": [224.18, 266.58, 50.48, 178.9], "category_id": 1, "id": 155180}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [214, 159, 2, 183, 154, 1, 213, 180, 2, 0, 0, 0, 206, 193, 2, 0, 0, 0, 203, 194, 2, 185, 191, 1, 223, 219, 2, 0, 0, 0, 240, 248, 2, 0, 0, 0, 200, 128, 1, 197, 153, 1], "image_id": 108099, "bbox": [184.3, 126.39, 65.72, 142.95], "category_id": 1, "id": 155181}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [192, 157, 2, 167, 155, 2, 189, 179, 2, 166, 176, 2, 184, 192, 1, 167, 193, 1, 187, 193, 1, 168, 192, 1, 207, 218, 1, 148, 217, 1, 0, 0, 0, 0, 0, 0, 179, 125, 1, 180, 150, 1], "image_id": 108099, "bbox": [161.28, 123.06, 37.48, 67.4], "category_id": 1, "id": 155182}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [237, 155, 2, 108, 204, 2, 350, 303, 2, 70, 372, 2, 236, 377, 2, 135, 405, 2, 325, 447, 2, 191, 451, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 53, 1, 166, 161, 1], "image_id": 104518, "bbox": [44.13, 20.74, 391.37, 619.26], "category_id": 1, "id": 155209}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [250, 123, 2, 212, 125, 2, 282, 152, 1, 191, 156, 2, 0, 0, 0, 166, 190, 2, 241, 207, 2, 218, 207, 2, 243, 263, 2, 199, 261, 2, 206, 311, 2, 135, 282, 2, 232, 74, 1, 232, 113, 1], "image_id": 102651, "bbox": [114.65, 72.53, 168.19, 245.1], "category_id": 1, "id": 155211}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [455, 310, 2, 546, 277, 2, 351, 327, 2, 479, 290, 2, 314, 231, 2, 444, 221, 2, 440, 457, 2, 496, 430, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 182, 1, 511, 278, 1], "image_id": 107253, "bbox": [290.47, 139.13, 347.23, 338.4], "category_id": 1, "id": 155228}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 273, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 241, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104954, "bbox": [0, 200.06, 120.64, 127.32], "category_id": 1, "id": 155255}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [255, 240, 2, 213, 241, 2, 274, 281, 2, 194, 294, 1, 305, 289, 1, 232, 289, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 180, 1, 233, 225, 1], "image_id": 106883, "bbox": [190.47, 150.91, 135.12, 157.4], "category_id": 1, "id": 155259}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 233, 169, 2, 0, 0, 0, 280, 169, 1, 294, 161, 1, 291, 141, 2, 230, 249, 2, 247, 243, 2, 249, 293, 2, 270, 289, 2, 245, 341, 2, 270, 342, 2, 238, 129, 1, 238, 159, 1], "image_id": 103579, "bbox": [216.14, 123.18, 93.83, 245.66], "category_id": 1, "id": 155300}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 294, 2, 46, 274, 2, 44, 312, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107119, "bbox": [0, 219.72, 130.54, 128.29], "category_id": 1, "id": 155304}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [38, 246, 2, 101, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 177, 1, 74, 223, 1], "image_id": 105904, "bbox": [10.49, 169.83, 95.5, 115.43], "category_id": 1, "id": 155317}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 92, 2, 157, 84, 2, 220, 119, 2, 97, 89, 2, 252, 144, 2, 48, 99, 2, 194, 146, 2, 157, 147, 2, 226, 138, 2, 197, 181, 2, 210, 197, 2, 180, 255, 2, 200, 54, 1, 181, 82, 1], "image_id": 104325, "bbox": [20.69, 44.29, 253.63, 252.5], "category_id": 1, "id": 155325}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105327, "bbox": [197.48, 228.16, 19.6, 21.81], "category_id": 1, "id": 155354}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [308, 200, 2, 253, 204, 2, 294, 242, 2, 242, 253, 2, 309, 244, 2, 263, 254, 2, 285, 279, 1, 259, 282, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 299, 148, 1, 287, 195, 1], "image_id": 105325, "bbox": [231.9, 136.79, 96.98, 130.41], "category_id": 1, "id": 155360}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 54, 279, 2, 53, 318, 2, 225, 396, 2, 225, 419, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104171, "bbox": [1.6, 204.29, 308.03, 271.32], "category_id": 1, "id": 155366}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [79, 130, 1, 104, 131, 2, 79, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 84, 1, 83, 113, 1], "image_id": 105311, "bbox": [70.5, 80.82, 44.14, 113.3], "category_id": 1, "id": 155390}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [301, 128, 1, 260, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 188, 1, 267, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 83, 1, 283, 116, 1], "image_id": 105311, "bbox": [240.43, 77.79, 51.88, 84.55], "category_id": 1, "id": 155392}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [352, 282, 2, 316, 281, 2, 357, 308, 2, 312, 319, 2, 361, 325, 2, 346, 327, 2, 355, 328, 2, 333, 329, 2, 387, 337, 1, 341, 333, 2, 385, 380, 1, 344, 384, 2, 345, 242, 1, 337, 271, 1], "image_id": 104727, "bbox": [294.92, 239.45, 85.74, 171.49], "category_id": 1, "id": 155419}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [74, 297, 2, 58, 301, 1, 86, 293, 2, 0, 0, 0, 102, 285, 2, 0, 0, 0, 78, 346, 2, 67, 349, 1, 79, 379, 2, 69, 381, 1, 77, 415, 2, 68, 416, 1, 66, 267, 1, 65, 289, 1], "image_id": 105928, "bbox": [53.61, 261.93, 64.96, 160.28], "category_id": 1, "id": 155422}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 512, 87, 1, 0, 0, 0], "image_id": 108202, "bbox": [499.09, 85.58, 31.97, 33.99], "category_id": 1, "id": 155424}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 144, 2, 350, 143, 2, 386, 183, 1, 338, 182, 2, 358, 156, 2, 348, 180, 2, 366, 221, 2, 339, 218, 2, 355, 275, 2, 333, 271, 1, 352, 319, 1, 334, 316, 1, 365, 100, 1, 369, 134, 1], "image_id": 107231, "bbox": [325.06, 92.57, 67.33, 198.83], "category_id": 1, "id": 155446}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 541, 1, 185, 540, 2, 278, 598, 1, 174, 594, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104171, "bbox": [177.66, 445.61, 89.14, 176.58], "category_id": 1, "id": 155472}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [427, 212, 2, 431, 211, 2, 424, 232, 2, 426, 227, 2, 413, 236, 2, 411, 229, 2, 428, 246, 2, 430, 245, 2, 428, 274, 2, 426, 274, 2, 431, 304, 2, 427, 301, 2, 419, 191, 1, 425, 206, 1], "image_id": 103971, "bbox": [402.6, 188.77, 41.19, 120.98], "category_id": 1, "id": 155476}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103971, "bbox": [49.6, 157.38, 4.52, 7.69], "category_id": 1, "id": 155503}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103971, "bbox": [65.49, 153.04, 5.23, 9.96], "category_id": 1, "id": 155509}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107363, "bbox": [500.5, 103.79, 35.9, 56.18], "category_id": 1, "id": 155526}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 470, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 466, 2, 0, 0, 0, 460, 405, 2, 0, 0, 0, 0, 0, 0], "image_id": 105562, "bbox": [0.75, 298.54, 534.84, 181.46], "category_id": 1, "id": 155549}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [80, 246, 2, 44, 245, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 206, 1, 61, 239, 1], "image_id": 108503, "bbox": [28.43, 203.87, 63.99, 70.23], "category_id": 1, "id": 155585}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [329, 163, 2, 235, 160, 2, 333, 222, 2, 179, 200, 2, 309, 252, 2, 119, 216, 2, 310, 305, 2, 241, 304, 1, 340, 424, 2, 131, 329, 1, 357, 545, 2, 0, 0, 0, 278, 97, 1, 278, 161, 1], "image_id": 103424, "bbox": [88.49, 82.17, 308.69, 514.48], "category_id": 1, "id": 155595}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [144, 254, 2, 98, 259, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 213, 1, 121, 247, 1], "image_id": 108503, "bbox": [91.26, 210.97, 58.56, 62.14], "category_id": 1, "id": 155599}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [324, 175, 2, 233, 172, 2, 0, 0, 0, 184, 196, 2, 0, 0, 0, 123, 219, 2, 313, 320, 2, 248, 316, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 93, 1, 279, 162, 1], "image_id": 103424, "bbox": [82.49, 82.31, 314.16, 511.96], "category_id": 1, "id": 155601}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [266, 253, 2, 224, 252, 2, 261, 294, 2, 205, 270, 2, 233, 297, 2, 209, 288, 2, 259, 328, 2, 228, 327, 1, 271, 360, 2, 0, 0, 0, 265, 410, 2, 0, 0, 0, 242, 192, 1, 239, 246, 1], "image_id": 103424, "bbox": [194.05, 179.47, 92.15, 234.42], "category_id": 1, "id": 155604}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [333, 134, 2, 299, 131, 2, 336, 160, 2, 295, 164, 2, 0, 0, 0, 314, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 96, 1, 315, 128, 1], "image_id": 108503, "bbox": [289.17, 93.33, 52.77, 87.26], "category_id": 1, "id": 155610}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [416, 133, 2, 388, 126, 2, 418, 165, 2, 379, 158, 2, 413, 174, 2, 409, 171, 2, 401, 177, 2, 389, 175, 2, 414, 195, 2, 395, 197, 2, 422, 248, 2, 403, 244, 2, 405, 92, 1, 403, 123, 1], "image_id": 108503, "bbox": [362.64, 86.88, 64.29, 175.15], "category_id": 1, "id": 155616}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 169, 1, 336, 232, 1], "image_id": 104097, "bbox": [0, 130, 563, 171], "category_id": 1, "id": 155640}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 87, 1, 286, 143, 1], "image_id": 106352, "bbox": [176, 55, 330, 168], "category_id": 1, "id": 155646}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107357, "bbox": [168, 127, 471, 283], "category_id": 1, "id": 155651}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 63, 1, 203, 89, 1], "image_id": 107408, "bbox": [1, 56, 228, 163], "category_id": 1, "id": 155653}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104658, "bbox": [1, 0, 638, 159], "category_id": 1, "id": 155657}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105787, "bbox": [2, 234, 387, 92], "category_id": 1, "id": 155673}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 371, 133, 1, 389, 213, 1], "image_id": 106220, "bbox": [38, 101, 483, 159], "category_id": 1, "id": 155685}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, 37, 1, 349, 49, 1], "image_id": 102956, "bbox": [273, 33, 88, 45], "category_id": 1, "id": 155689}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105960, "bbox": [1, 205, 614, 56], "category_id": 1, "id": 155696}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103043, "bbox": [26, 233, 534, 34], "category_id": 1, "id": 155699}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107117, "bbox": [115, 174, 431, 80], "category_id": 1, "id": 155708}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 55, 1, 252, 104, 1], "image_id": 105608, "bbox": [2, 3, 637, 229], "category_id": 1, "id": 155714}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 268, 1, 562, 268, 1], "image_id": 104997, "bbox": [129, 223, 499, 166], "category_id": 1, "id": 155724}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107361, "bbox": [72, 0, 559, 238], "category_id": 1, "id": 155732}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 102, 1, 282, 98, 1], "image_id": 103240, "bbox": [1, 76, 472, 33], "category_id": 1, "id": 155752}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104497, "bbox": [13, 228, 457, 53], "category_id": 1, "id": 155772}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106426, "bbox": [430, 534, 8, 18], "category_id": 1, "id": 155773}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104451, "bbox": [38, 116, 589, 187], "category_id": 1, "id": 155778}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 350, 1, 0, 0, 0], "image_id": 103355, "bbox": [0, 0, 629, 477], "category_id": 1, "id": 155781}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 144, 1], "image_id": 105035, "bbox": [140, 48, 465, 205], "category_id": 1, "id": 155783}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 83, 1, 142, 122, 1], "image_id": 102551, "bbox": [2, 37, 636, 157], "category_id": 1, "id": 155793}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103224, "bbox": [1, 138, 478, 482], "category_id": 1, "id": 155794}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 128, 1, 287, 188, 1], "image_id": 104514, "bbox": [0, 0, 639, 230], "category_id": 1, "id": 155802}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 217, 1, 287, 276, 1], "image_id": 103362, "bbox": [0, 205, 585, 69], "category_id": 1, "id": 155809}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 71, 1, 41, 86, 1], "image_id": 105995, "bbox": [1, 71, 121, 101], "category_id": 1, "id": 155815}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 84, 1, 315, 134, 1], "image_id": 103807, "bbox": [1, 91, 388, 83], "category_id": 1, "id": 155828}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103625, "bbox": [0, 0, 639, 468], "category_id": 1, "id": 155833}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107115, "bbox": [31, 94, 586, 304], "category_id": 1, "id": 155846}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 227, 1], "image_id": 106987, "bbox": [0, 22, 639, 281], "category_id": 1, "id": 155854}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106636, "bbox": [16, 108, 363, 345], "category_id": 1, "id": 155871}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 165, 1, 324, 180, 1], "image_id": 108202, "bbox": [244, 166, 91, 56], "category_id": 1, "id": 155892}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 37, 1, 112, 102, 1], "image_id": 102880, "bbox": [2, 0, 600, 109], "category_id": 1, "id": 155893}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 130, 1], "image_id": 105264, "bbox": [95, 100, 544, 122], "category_id": 1, "id": 155909}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 46, 1, 257, 116, 1], "image_id": 103896, "bbox": [0, 1, 639, 488], "category_id": 1, "id": 155912}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 108, 1, 238, 164, 1], "image_id": 107168, "bbox": [109, 36, 272, 194], "category_id": 1, "id": 155928}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 90, 1, 0, 0, 0], "image_id": 105812, "bbox": [248, 90, 231, 222], "category_id": 1, "id": 155937}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 156, 1, 0, 0, 0], "image_id": 106366, "bbox": [93, 139, 248, 200], "category_id": 1, "id": 155949}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108236, "bbox": [0, 212, 477, 62], "category_id": 1, "id": 155953}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 213, 1, 234, 244, 1], "image_id": 103782, "bbox": [70, 195, 355, 47], "category_id": 1, "id": 155971}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 191, 1, 481, 211, 1], "image_id": 107504, "bbox": [53, 189, 545, 159], "category_id": 1, "id": 155983}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 99, 1, 381, 129, 1], "image_id": 104635, "bbox": [3, 71, 606, 172], "category_id": 1, "id": 155984}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, 106, 1], "image_id": 105147, "bbox": [151, 115, 488, 146], "category_id": 1, "id": 155988}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 63, 1, 496, 103, 1], "image_id": 105254, "bbox": [0, 4, 618, 208], "category_id": 1, "id": 156002}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 418, 1, 196, 440, 1], "image_id": 105975, "bbox": [89, 407, 267, 125], "category_id": 1, "id": 156019}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 127, 1, 97, 163, 1], "image_id": 107568, "bbox": [0, 84, 179, 285], "category_id": 1, "id": 156031}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 64, 1, 272, 114, 1], "image_id": 103268, "bbox": [2, 13, 593, 174], "category_id": 1, "id": 156039}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107241, "bbox": [147, 45, 484, 244], "category_id": 1, "id": 156052}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104948, "bbox": [540, 148, 97, 43], "category_id": 1, "id": 156062}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 94, 1, 306, 148, 1], "image_id": 107612, "bbox": [298, 83, 306, 192], "category_id": 1, "id": 156076}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 106431, "bbox": [45, 240, 511, 136], "category_id": 1, "id": 156092}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 71, 1, 312, 77, 1], "image_id": 107720, "bbox": [307, 71, 10, 21], "category_id": 1, "id": 156097}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 176, 1, 360, 236, 1], "image_id": 106077, "bbox": [83, 11, 456, 346], "category_id": 1, "id": 156131}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102679, "bbox": [0, 133, 578, 108], "category_id": 1, "id": 156134}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 181, 1], "image_id": 104945, "bbox": [11, 98, 626, 171], "category_id": 1, "id": 156164}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 372, 1, 446, 442, 1], "image_id": 103778, "bbox": [1, 72, 638, 407], "category_id": 1, "id": 156168}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105616, "bbox": [0, 86, 565, 149], "category_id": 1, "id": 156178}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446, 63, 1, 491, 132, 1], "image_id": 107569, "bbox": [0, 36, 639, 189], "category_id": 1, "id": 156182}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108397, "bbox": [88, 69, 422, 77], "category_id": 1, "id": 156196}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 159, 1, 0, 0, 0], "image_id": 106539, "bbox": [5, 87, 618, 100], "category_id": 1, "id": 156207}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103250, "bbox": [422, 64, 12, 11], "category_id": 1, "id": 156214}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 102907, "bbox": [1, 0, 638, 341], "category_id": 1, "id": 156221}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 112, 1, 158, 186, 1], "image_id": 108109, "bbox": [4, 116, 452, 255], "category_id": 1, "id": 156225}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108412, "bbox": [237, 81, 402, 55], "category_id": 1, "id": 156233}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 42, 1, 127, 107, 1], "image_id": 106076, "bbox": [0, 1, 639, 172], "category_id": 1, "id": 156248}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104400, "bbox": [0, 56, 639, 423], "category_id": 1, "id": 156254}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 104600, "bbox": [160, 53, 450, 214], "category_id": 1, "id": 156263}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 101, 1, 172, 205, 1], "image_id": 107273, "bbox": [24, 87, 615, 193], "category_id": 1, "id": 156301}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 263, 1, 388, 307, 1], "image_id": 107452, "bbox": [320, 245, 159, 135], "category_id": 1, "id": 156326}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 103586, "bbox": [322, 112, 206, 44], "category_id": 1, "id": 156343}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 204, 1, 371, 249, 1], "image_id": 103737, "bbox": [8, 69, 631, 237], "category_id": 1, "id": 156348}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 107213, "bbox": [186, 0, 380, 117], "category_id": 1, "id": 156351}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 105134, "bbox": [98, 127, 541, 115], "category_id": 1, "id": 156353}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 387, 1, 99, 462, 1], "image_id": 104072, "bbox": [1, 399, 379, 190], "category_id": 1, "id": 156354}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 164, 1, 0, 0, 0], "image_id": 105615, "bbox": [0, 122, 595, 149], "category_id": 1, "id": 156361}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 151, 49, 1, 83, 108, 1], "image_id": 105655, "bbox": [3, 25, 524, 351], "category_id": 1, "id": 156374}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 164, 1, 0, 0, 0], "image_id": 106047, "bbox": [25, 141, 423, 59], "category_id": 1, "id": 156382}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 258, 1, 0, 0, 0], "image_id": 108503, "bbox": [76, 89, 308, 180], "category_id": 1, "id": 156383}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 282, 1, 413, 328, 1], "image_id": 104461, "bbox": [188, 175, 429, 157], "category_id": 1, "id": 156387}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 129, 2, 435, 129, 2, 423, 278, 2, 436, 276, 2, 0, 0, 0, 0, 0, 0], "image_id": 108889, "bbox": [403.99, 36.29, 59.21, 275.06], "category_id": 1, "id": 156416}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 146, 2, 398, 142, 2, 338, 297, 2, 384, 292, 2, 0, 0, 0, 0, 0, 0], "image_id": 108889, "bbox": [260.73, 0.96, 153.76, 335.22], "category_id": 1, "id": 156418}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 9, 2, 240, 9, 2, 266, 135, 2, 255, 138, 2, 276, 251, 2, 261, 244, 2, 0, 0, 0, 0, 0, 0], "image_id": 108889, "bbox": [202.97, 1.52, 100.06, 278.26], "category_id": 1, "id": 156419}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 222, 23, 1, 181, 19, 2, 227, 136, 2, 194, 139, 2, 229, 243, 2, 201, 239, 2, 0, 0, 0, 0, 0, 0], "image_id": 108889, "bbox": [155.51, 1.63, 96.4, 272.2], "category_id": 1, "id": 156428}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 28, 2, 84, 27, 2, 71, 131, 2, 91, 129, 2, 74, 225, 2, 90, 223, 2, 0, 0, 0, 0, 0, 0], "image_id": 108889, "bbox": [19.14, 2.39, 89.98, 255.58], "category_id": 1, "id": 156429}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 12, 1, 0, 0, 0, 2, 130, 2, 17, 132, 2, 0, 0, 0, 29, 230, 2, 0, 0, 0, 0, 0, 0], "image_id": 108889, "bbox": [0, 2.39, 38.29, 248.88], "category_id": 1, "id": 156430}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [136, 20, 2, 116, 20, 2, 140, 39, 2, 118, 33, 1, 136, 30, 2, 126, 27, 2, 132, 55, 2, 117, 55, 2, 128, 81, 2, 116, 77, 2, 124, 103, 2, 116, 98, 2, 0, 0, 0, 125, 14, 1], "image_id": 108889, "bbox": [107.64, 0.32, 36.52, 111.68], "category_id": 1, "id": 156433}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [298, 249, 2, 156, 164, 2, 360, 309, 2, 82, 268, 2, 434, 200, 2, 38, 372, 2, 171, 454, 2, 69, 424, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 82, 1, 244, 181, 1], "image_id": 108701, "bbox": [10.81, 68.65, 469.19, 405.4], "category_id": 1, "id": 156453}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [527, 236, 2, 436, 184, 2, 488, 325, 2, 377, 220, 2, 428, 310, 2, 334, 253, 2, 517, 413, 2, 460, 382, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 38, 1, 490, 180, 1], "image_id": 108675, "bbox": [276.04, 7.45, 297.05, 418.55], "category_id": 1, "id": 156459}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 96, 2, 552, 96, 1, 579, 141, 2, 556, 147, 2, 577, 188, 2, 556, 191, 2, 0, 0, 0, 0, 0, 0], "image_id": 108934, "bbox": [548.3, 9.22, 51.55, 197.5], "category_id": 1, "id": 156493}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 374, 1, 147, 392, 1], "image_id": 108674, "bbox": [134.19, 373.16, 26.16, 40.6], "category_id": 1, "id": 156534}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [331, 436, 2, 307, 431, 2, 296, 454, 2, 294, 452, 2, 286, 454, 2, 0, 0, 0, 304, 476, 1, 293, 474, 1, 254, 485, 2, 260, 469, 2, 260, 534, 2, 253, 519, 2, 312, 402, 1, 318, 428, 1], "image_id": 108674, "bbox": [234.22, 397.59, 102.18, 150.17], "category_id": 1, "id": 156537}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [30, 352, 2, 35, 352, 2, 0, 0, 0, 33, 384, 2, 0, 0, 0, 43, 407, 2, 34, 405, 2, 31, 406, 2, 39, 437, 2, 32, 436, 2, 39, 477, 2, 29, 479, 2, 46, 327, 1, 37, 346, 1], "image_id": 108674, "bbox": [17.43, 323.36, 35.97, 164.76], "category_id": 1, "id": 156540}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [187, 417, 1, 174, 414, 2, 179, 434, 2, 0, 0, 0, 163, 422, 1, 0, 0, 0, 162, 444, 2, 154, 439, 2, 132, 450, 2, 113, 445, 2, 134, 488, 2, 126, 479, 2, 182, 392, 1, 183, 410, 1], "image_id": 108674, "bbox": [106.14, 389.28, 80.54, 111.1], "category_id": 1, "id": 156542}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [179, 408, 1, 0, 0, 0, 161, 417, 2, 158, 415, 2, 160, 399, 2, 141, 419, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 171, 387, 1, 174, 404, 1], "image_id": 108674, "bbox": [125.27, 383.91, 56.75, 56.33], "category_id": 1, "id": 156544}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [130, 408, 2, 118, 406, 2, 127, 430, 2, 117, 426, 2, 109, 438, 2, 106, 435, 2, 152, 433, 1, 138, 430, 1, 120, 454, 1, 111, 448, 1, 92, 483, 2, 85, 476, 2, 111, 386, 1, 121, 401, 1], "image_id": 108674, "bbox": [65.57, 381.64, 86.66, 110.99], "category_id": 1, "id": 156550}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [333, 477, 2, 312, 483, 2, 347, 458, 2, 309, 455, 2, 322, 464, 2, 303, 462, 2, 368, 493, 2, 352, 497, 2, 400, 457, 2, 387, 458, 2, 396, 505, 2, 371, 503, 2, 276, 474, 1, 310, 477, 1], "image_id": 108674, "bbox": [285.59, 449.61, 129.04, 72.43], "category_id": 1, "id": 156551}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 430, 2, 239, 434, 2, 241, 454, 2, 235, 449, 2, 241, 428, 2, 253, 448, 2, 260, 471, 1, 239, 469, 2, 233, 480, 2, 219, 478, 2, 236, 527, 1, 221, 523, 2, 247, 400, 1, 251, 425, 1], "image_id": 108674, "bbox": [206.97, 396, 71.94, 145.22], "category_id": 1, "id": 156552}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 340, 1, 256, 344, 1], "image_id": 108674, "bbox": [246.75, 339.3, 14.83, 40.47], "category_id": 1, "id": 156553}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 341, 1, 285, 346, 1], "image_id": 108674, "bbox": [280.18, 341.05, 14.21, 36.93], "category_id": 1, "id": 156554}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 338, 1, 318, 345, 1], "image_id": 108674, "bbox": [308.3, 338.96, 16.93, 25.19], "category_id": 1, "id": 156555}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, 53, 1], "image_id": 108889, "bbox": [570.27, 38.39, 28.79, 27.89], "category_id": 1, "id": 156577}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 51, 1, 622, 171, 2, 568, 149, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108675, "bbox": [538.96, 0.96, 101.04, 416.42], "category_id": 1, "id": 156579}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [13, 63, 2, 0, 0, 0, 55, 152, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108675, "bbox": [0, 40.95, 69.74, 167.96], "category_id": 1, "id": 156589}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108889, "bbox": [531.28, 42.02, 20.51, 57.08], "category_id": 1, "id": 156622}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 488, 53, 1, 486, 65, 1], "image_id": 108889, "bbox": [472.76, 53.6, 24.45, 23.96], "category_id": 1, "id": 156623}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [503, 30, 2, 556, 31, 2, 496, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 89, 2, 551, 92, 2, 497, 142, 2, 534, 144, 2, 495, 175, 1, 533, 194, 2, 0, 0, 0, 532, 16, 1], "image_id": 108934, "bbox": [483.59, 10.59, 78.84, 203.56], "category_id": 1, "id": 156624}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [411, 271, 1, 308, 293, 1, 531, 311, 2, 260, 382, 2, 420, 242, 1, 333, 445, 2, 442, 476, 2, 358, 468, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 137, 1, 352, 250, 1], "image_id": 108701, "bbox": [245.16, 127.74, 301.35, 352.26], "category_id": 1, "id": 156637}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [338, 144, 2, 289, 146, 1, 355, 178, 2, 285, 183, 2, 335, 154, 1, 301, 154, 1, 340, 221, 2, 300, 225, 1, 346, 271, 1, 310, 273, 1, 354, 326, 1, 317, 330, 1, 311, 100, 1, 314, 137, 1], "image_id": 108751, "bbox": [273.3, 94.15, 87.52, 206.58], "category_id": 1, "id": 156800}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [295, 135, 1, 262, 135, 2, 0, 0, 0, 261, 145, 2, 0, 0, 0, 289, 145, 2, 284, 210, 2, 266, 210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 99, 1, 278, 130, 1], "image_id": 108751, "bbox": [250.11, 93.48, 55.51, 170.08], "category_id": 1, "id": 156813}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [242, 188, 2, 218, 184, 2, 258, 178, 2, 209, 158, 1, 277, 165, 2, 0, 0, 0, 242, 248, 2, 220, 247, 1, 241, 290, 1, 220, 289, 1, 0, 0, 0, 0, 0, 0, 244, 159, 1, 230, 182, 1], "image_id": 108751, "bbox": [205.28, 161.81, 75.75, 100.15], "category_id": 1, "id": 156818}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [120, 153, 2, 97, 151, 2, 124, 174, 2, 90, 173, 2, 125, 194, 2, 107, 173, 2, 119, 192, 2, 103, 192, 2, 121, 223, 2, 100, 222, 2, 127, 256, 2, 102, 257, 2, 114, 129, 1, 108, 146, 1], "image_id": 108713, "bbox": [86.52, 127.47, 56.67, 140.01], "category_id": 1, "id": 156866}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [32, 161, 2, 57, 160, 2, 24, 182, 2, 65, 179, 2, 18, 202, 2, 69, 200, 2, 38, 201, 2, 54, 200, 2, 41, 234, 2, 48, 231, 2, 48, 263, 2, 44, 254, 2, 38, 136, 1, 42, 150, 1], "image_id": 108713, "bbox": [15.05, 134.86, 62.52, 139.58], "category_id": 1, "id": 156886}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 138, 1, 205, 146, 1], "image_id": 108713, "bbox": [194.38, 137.17, 16.86, 56.42], "category_id": 1, "id": 156887}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 140, 1, 156, 147, 1], "image_id": 108713, "bbox": [152.68, 141.17, 13.49, 39.84], "category_id": 1, "id": 156889}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 135, 1, 218, 143, 1], "image_id": 108713, "bbox": [210.74, 133.68, 13.35, 22.17], "category_id": 1, "id": 156892}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108713, "bbox": [247.21, 137.29, 12.86, 12.68], "category_id": 1, "id": 156900}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 138, 1, 176, 144, 1], "image_id": 108713, "bbox": [164.95, 140.33, 20.94, 53.09], "category_id": 1, "id": 156914}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [625, 162, 2, 635, 162, 2, 635, 174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, 191, 2, 636, 190, 2, 627, 214, 2, 633, 215, 2, 627, 235, 2, 634, 234, 2, 626, 147, 1, 628, 158, 1], "image_id": 108713, "bbox": [613.44, 146.04, 26.56, 98.97], "category_id": 1, "id": 156918}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 572, 156, 1, 571, 161, 1], "image_id": 108713, "bbox": [567.88, 156.73, 10.97, 32.91], "category_id": 1, "id": 156919}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 84, 160, 2, 0, 0, 0, 72, 167, 2, 0, 0, 0, 78, 160, 2, 0, 0, 0, 85, 185, 2, 0, 0, 0, 83, 216, 2, 0, 0, 0, 79, 237, 2, 94, 144, 1, 92, 157, 1], "image_id": 108713, "bbox": [69.59, 142.43, 29.7, 105.38], "category_id": 1, "id": 156920}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 226, 138, 1, 230, 148, 1], "image_id": 108713, "bbox": [224.11, 137.26, 16.74, 14.54], "category_id": 1, "id": 156935}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108751, "bbox": [233.07, 91.92, 35.48, 58.89], "category_id": 1, "id": 156936}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108751, "bbox": [201.96, 105.65, 44.21, 45.79], "category_id": 1, "id": 156940}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 477, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108751, "bbox": [569.53, 435.78, 69.03, 44.22], "category_id": 1, "id": 156943}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 139, 1, 182, 146, 1], "image_id": 108713, "bbox": [178.57, 138.84, 12.86, 52.65], "category_id": 1, "id": 156948}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 137, 1, 165, 145, 1], "image_id": 108713, "bbox": [159.59, 137.4, 11.24, 39.79], "category_id": 1, "id": 156968}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [319, 270, 2, 272, 270, 2, 319, 299, 2, 256, 287, 1, 308, 319, 2, 278, 314, 1, 310, 323, 2, 284, 324, 1, 345, 301, 2, 0, 0, 0, 307, 339, 2, 0, 0, 0, 297, 225, 1, 294, 262, 1], "image_id": 108751, "bbox": [265.14, 215.2, 92.85, 152.17], "category_id": 1, "id": 156983}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [397, 255, 2, 352, 255, 2, 403, 287, 2, 347, 288, 2, 407, 300, 2, 358, 301, 2, 393, 313, 2, 369, 314, 2, 418, 315, 2, 361, 317, 2, 424, 381, 2, 370, 384, 2, 379, 205, 1, 376, 245, 1], "image_id": 108751, "bbox": [340.05, 199.13, 103.24, 210.38], "category_id": 1, "id": 156984}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [226, 263, 2, 188, 266, 1, 269, 280, 2, 0, 0, 0, 275, 311, 2, 0, 0, 0, 223, 321, 2, 211, 322, 2, 272, 320, 2, 204, 327, 2, 202, 347, 2, 226, 389, 2, 213, 224, 1, 208, 259, 1], "image_id": 108751, "bbox": [190.11, 214.98, 100.15, 204.81], "category_id": 1, "id": 156985}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [338, 67, 2, 384, 59, 2, 0, 0, 0, 427, 93, 2, 0, 0, 0, 0, 0, 0, 359, 138, 2, 379, 132, 2, 0, 0, 0, 456, 151, 2, 0, 0, 0, 431, 215, 2, 365, 18, 1, 363, 47, 1], "image_id": 108751, "bbox": [329.66, 15.64, 137.26, 220.25], "category_id": 1, "id": 156986}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [405, 125, 2, 430, 124, 2, 398, 175, 2, 0, 0, 0, 394, 224, 2, 0, 0, 0, 410, 239, 2, 437, 239, 2, 417, 325, 2, 439, 318, 2, 423, 394, 2, 442, 392, 2, 397, 76, 1, 408, 110, 1], "image_id": 108767, "bbox": [374.34, 67.83, 82.91, 346.71], "category_id": 1, "id": 157037}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [277, 97, 2, 358, 93, 2, 274, 162, 2, 380, 151, 2, 252, 138, 1, 346, 125, 2, 301, 209, 2, 350, 206, 2, 303, 313, 2, 354, 309, 2, 305, 394, 2, 358, 387, 2, 318, 29, 1, 315, 71, 1], "image_id": 108767, "bbox": [258.77, 54.02, 128.13, 375.59], "category_id": 1, "id": 157044}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [433, 293, 2, 374, 294, 2, 459, 323, 2, 358, 347, 2, 430, 307, 2, 350, 390, 2, 432, 399, 2, 388, 400, 2, 430, 466, 2, 401, 467, 2, 442, 552, 2, 411, 542, 2, 393, 232, 1, 396, 280, 1], "image_id": 108882, "bbox": [340.85, 224.12, 139.15, 352.36], "category_id": 1, "id": 157047}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [215, 213, 1, 307, 215, 1, 190, 289, 2, 323, 290, 2, 228, 296, 2, 339, 347, 2, 236, 356, 2, 301, 356, 2, 243, 428, 2, 291, 431, 2, 242, 525, 2, 289, 528, 2, 0, 0, 0, 257, 194, 1], "image_id": 108718, "bbox": [169.71, 215.49, 189.84, 359.55], "category_id": 1, "id": 157053}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [244, 266, 2, 213, 265, 2, 252, 290, 2, 211, 296, 2, 253, 301, 2, 240, 298, 2, 241, 306, 2, 213, 304, 2, 271, 312, 2, 224, 309, 2, 283, 334, 1, 192, 335, 2, 236, 234, 1, 230, 262, 1], "image_id": 108973, "bbox": [177.97, 229.32, 102.16, 118.54], "category_id": 1, "id": 157057}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [63, 171, 2, 113, 169, 1, 42, 213, 2, 0, 0, 0, 60, 245, 2, 0, 0, 0, 73, 274, 2, 109, 273, 2, 66, 343, 2, 111, 339, 2, 65, 427, 2, 110, 421, 2, 85, 117, 1, 90, 150, 1], "image_id": 108718, "bbox": [23.67, 104.84, 115.61, 334.49], "category_id": 1, "id": 157061}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [175, 212, 2, 144, 208, 2, 173, 238, 2, 133, 228, 2, 180, 236, 1, 152, 233, 2, 161, 257, 2, 140, 256, 1, 169, 262, 2, 151, 261, 2, 164, 302, 2, 152, 304, 2, 168, 178, 1, 161, 202, 1], "image_id": 108973, "bbox": [129.44, 175.02, 50.34, 148.14], "category_id": 1, "id": 157069}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [219, 216, 2, 185, 212, 2, 221, 241, 1, 180, 237, 1, 0, 0, 0, 199, 224, 2, 209, 252, 2, 190, 250, 1, 218, 254, 1, 208, 257, 2, 0, 0, 0, 199, 295, 1, 207, 183, 1, 204, 207, 1], "image_id": 108973, "bbox": [177.97, 180.3, 47.87, 104.5], "category_id": 1, "id": 157071}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [29, 163, 2, 6, 165, 2, 0, 0, 0, 17, 211, 2, 0, 0, 0, 0, 0, 0, 40, 256, 2, 10, 259, 2, 38, 331, 2, 17, 331, 2, 31, 394, 2, 9, 399, 2, 14, 107, 1, 8, 152, 1], "image_id": 108718, "bbox": [0, 102.11, 58.97, 325.04], "category_id": 1, "id": 157083}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 325, 1, 0, 0, 0], "image_id": 108752, "bbox": [438.33, 324.75, 16.64, 17.78], "category_id": 1, "id": 157099}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108752, "bbox": [476.7, 285.69, 8.88, 21.98], "category_id": 1, "id": 157114}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [131, 245, 2, 153, 244, 2, 0, 0, 0, 145, 262, 2, 0, 0, 0, 140, 279, 2, 135, 277, 2, 144, 278, 2, 155, 308, 2, 146, 312, 2, 151, 347, 2, 134, 350, 2, 148, 211, 1, 147, 230, 1], "image_id": 108752, "bbox": [122.48, 216.23, 41.07, 144.83], "category_id": 1, "id": 157126}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 369, 1], "image_id": 108752, "bbox": [404.14, 356.03, 15.95, 24.55], "category_id": 1, "id": 157138}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108752, "bbox": [527.66, 310.19, 16.43, 22.38], "category_id": 1, "id": 157140}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 595, 297, 1], "image_id": 108752, "bbox": [588.72, 291.02, 14.89, 21.82], "category_id": 1, "id": 157148}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108752, "bbox": [399.95, 248.03, 5.67, 7.32], "category_id": 1, "id": 157177}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [105, 229, 2, 94, 230, 2, 0, 0, 0, 100, 254, 2, 0, 0, 0, 117, 248, 2, 105, 271, 2, 97, 271, 2, 106, 307, 2, 94, 308, 2, 107, 344, 2, 83, 344, 2, 107, 206, 1, 103, 224, 1], "image_id": 108752, "bbox": [73.89, 201.86, 53.28, 152.5], "category_id": 1, "id": 157187}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [86, 241, 1, 66, 245, 2, 0, 0, 0, 59, 256, 2, 0, 0, 0, 69, 253, 2, 83, 278, 2, 71, 278, 2, 84, 301, 2, 71, 304, 2, 86, 324, 1, 73, 323, 2, 76, 222, 1, 76, 238, 1], "image_id": 108752, "bbox": [55.97, 218.47, 33.66, 114.64], "category_id": 1, "id": 157189}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [192, 246, 2, 171, 238, 2, 0, 0, 0, 173, 260, 2, 0, 0, 0, 181, 257, 2, 181, 275, 2, 170, 273, 2, 183, 310, 2, 165, 312, 2, 179, 339, 2, 149, 336, 1, 192, 218, 1, 183, 236, 1], "image_id": 108752, "bbox": [158.59, 216.16, 42.57, 131.85], "category_id": 1, "id": 157192}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [418, 168, 2, 371, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 255, 2, 378, 255, 1, 422, 325, 2, 376, 328, 2, 0, 0, 0, 372, 380, 2, 404, 104, 1, 399, 148, 1], "image_id": 108718, "bbox": [364.33, 96.69, 61.67, 319.75], "category_id": 1, "id": 157225}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108752, "bbox": [433.54, 284.32, 12.15, 26.71], "category_id": 1, "id": 157229}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [216, 247, 2, 224, 250, 2, 196, 267, 1, 226, 274, 2, 187, 285, 1, 242, 260, 1, 215, 293, 2, 226, 294, 2, 210, 332, 2, 232, 325, 2, 211, 368, 2, 242, 365, 2, 226, 228, 1, 224, 242, 1], "image_id": 108752, "bbox": [189.71, 236.82, 68.4, 141.99], "category_id": 1, "id": 157235}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 218, 1, 116, 225, 1], "image_id": 108973, "bbox": [100.34, 217.09, 34.06, 31.96], "category_id": 1, "id": 157242}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 354, 165, 1, 0, 0, 0, 382, 215, 2, 0, 0, 0, 382, 275, 2, 0, 0, 0, 348, 267, 2, 0, 0, 0, 343, 351, 1, 0, 0, 0, 339, 439, 2, 0, 0, 0, 0, 0, 0], "image_id": 108718, "bbox": [324.15, 191.98, 72.45, 267.47], "category_id": 1, "id": 157243}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 261, 1], "image_id": 108752, "bbox": [313.03, 256.79, 9.51, 10.74], "category_id": 1, "id": 157247}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [189, 151, 2, 144, 160, 2, 204, 183, 2, 140, 196, 2, 184, 185, 2, 0, 0, 0, 186, 215, 2, 158, 216, 2, 202, 247, 2, 0, 0, 0, 214, 300, 2, 0, 0, 0, 147, 113, 1, 161, 146, 1], "image_id": 108683, "bbox": [128.71, 114.78, 95.27, 215.87], "category_id": 1, "id": 157264}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [423, 182, 2, 399, 182, 2, 0, 0, 0, 395, 196, 2, 0, 0, 0, 402, 203, 2, 419, 209, 1, 407, 208, 2, 0, 0, 0, 401, 228, 2, 0, 0, 0, 397, 246, 1, 413, 161, 1, 411, 177, 1], "image_id": 108683, "bbox": [390.7, 160.85, 39, 84.4], "category_id": 1, "id": 157277}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [253, 178, 2, 222, 186, 2, 267, 196, 2, 218, 211, 1, 264, 202, 2, 218, 213, 1, 262, 222, 2, 234, 224, 2, 282, 239, 1, 226, 243, 2, 280, 279, 2, 227, 271, 1, 232, 153, 1, 235, 175, 1], "image_id": 108683, "bbox": [211.38, 148.41, 82.31, 142.46], "category_id": 1, "id": 157278}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 153, 1, 269, 163, 1], "image_id": 108683, "bbox": [257.8, 153.01, 35.07, 55.93], "category_id": 1, "id": 157279}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [145, 161, 2, 114, 149, 2, 164, 168, 2, 90, 182, 2, 200, 172, 2, 84, 215, 2, 97, 203, 2, 80, 197, 2, 146, 190, 2, 127, 198, 2, 106, 227, 2, 89, 245, 2, 140, 123, 1, 129, 148, 1], "image_id": 108919, "bbox": [66.45, 114.55, 143.67, 144.93], "category_id": 1, "id": 157285}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 181, 2, 286, 188, 2, 348, 224, 2, 256, 247, 2, 367, 261, 2, 279, 275, 2, 317, 282, 2, 267, 290, 2, 340, 356, 2, 322, 359, 2, 328, 414, 2, 299, 440, 2, 337, 106, 1, 315, 156, 1], "image_id": 108864, "bbox": [224.36, 78.74, 179.06, 390.47], "category_id": 1, "id": 157287}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 139, 1], "image_id": 108864, "bbox": [265.79, 121.26, 30.08, 40.97], "category_id": 1, "id": 157299}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [42, 122, 2, 56, 133, 2, 16, 147, 2, 25, 155, 2, 30, 170, 2, 31, 186, 2, 0, 0, 0, 1, 177, 2, 42, 171, 2, 50, 188, 2, 11, 216, 2, 22, 234, 2, 68, 98, 1, 55, 120, 1], "image_id": 108919, "bbox": [0, 90.23, 88.86, 161.54], "category_id": 1, "id": 157305}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [230, 53, 2, 179, 63, 2, 275, 43, 2, 173, 78, 2, 298, 77, 2, 142, 77, 2, 245, 170, 2, 194, 174, 2, 293, 199, 2, 165, 221, 2, 340, 282, 2, 82, 260, 2, 192, 7, 1, 198, 51, 1], "image_id": 108665, "bbox": [39.43, 0.72, 341.22, 313.98], "category_id": 1, "id": 157310}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [450, 339, 2, 524, 356, 2, 397, 384, 2, 541, 422, 2, 419, 421, 2, 530, 465, 2, 434, 484, 2, 497, 481, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 257, 1, 487, 317, 1], "image_id": 108760, "bbox": [387.74, 246.22, 176.04, 257.73], "category_id": 1, "id": 157313}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [175, 138, 2, 189, 137, 2, 165, 149, 2, 0, 0, 0, 151, 152, 2, 0, 0, 0, 184, 175, 2, 194, 174, 2, 179, 196, 2, 195, 195, 2, 175, 220, 2, 206, 217, 2, 174, 119, 1, 178, 132, 1], "image_id": 108864, "bbox": [143.77, 112.02, 68.46, 113.47], "category_id": 1, "id": 157319}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [577, 302, 2, 543, 304, 2, 0, 0, 0, 549, 357, 2, 0, 0, 0, 594, 343, 2, 514, 386, 1, 481, 387, 1, 0, 0, 0, 565, 432, 2, 0, 0, 0, 499, 468, 1, 580, 258, 1, 560, 297, 1], "image_id": 108760, "bbox": [511.31, 230.65, 111.72, 245.86], "category_id": 1, "id": 157320}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [212, 287, 2, 190, 268, 2, 222, 311, 2, 132, 259, 2, 245, 326, 2, 113, 300, 2, 153, 345, 2, 135, 341, 2, 212, 403, 2, 102, 428, 2, 154, 470, 2, 27, 487, 2, 213, 217, 1, 200, 261, 1], "image_id": 108760, "bbox": [3.44, 205.49, 251.41, 298.47], "category_id": 1, "id": 157325}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [164, 144, 1, 158, 143, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 166, 2, 160, 166, 2, 158, 185, 2, 167, 183, 2, 151, 196, 2, 173, 203, 1, 174, 119, 1, 0, 0, 0], "image_id": 108864, "bbox": [141.9, 125.17, 31.24, 85.5], "category_id": 1, "id": 157326}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 79, 2, 353, 96, 2, 395, 78, 2, 361, 125, 2, 416, 89, 2, 381, 110, 2, 368, 124, 2, 340, 128, 2, 386, 161, 2, 319, 168, 2, 386, 193, 2, 282, 192, 2, 381, 57, 1, 372, 81, 1], "image_id": 108919, "bbox": [271.57, 47.21, 160.3, 166.59], "category_id": 1, "id": 157370}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 139, 2, 316, 139, 2, 347, 161, 2, 310, 163, 2, 336, 169, 2, 329, 170, 2, 340, 168, 2, 322, 169, 2, 349, 175, 1, 310, 171, 2, 344, 204, 1, 311, 201, 1, 327, 120, 1, 330, 139, 1], "image_id": 108665, "bbox": [299.6, 116.66, 52.7, 81.83], "category_id": 1, "id": 157372}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [260, 276, 2, 293, 272, 2, 252, 293, 2, 303, 291, 2, 254, 312, 2, 308, 310, 2, 270, 300, 2, 288, 300, 2, 242, 358, 2, 306, 329, 2, 0, 0, 0, 318, 359, 2, 275, 251, 1, 275, 265, 1], "image_id": 108782, "bbox": [232.06, 249.1, 95.81, 119.74], "category_id": 1, "id": 157375}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [357, 186, 1, 343, 191, 2, 375, 205, 2, 359, 191, 2, 376, 192, 2, 373, 184, 2, 363, 217, 2, 351, 219, 2, 346, 238, 2, 358, 248, 2, 336, 261, 2, 378, 257, 2, 347, 176, 1, 351, 188, 1], "image_id": 108782, "bbox": [318.09, 172.94, 70.58, 98.26], "category_id": 1, "id": 157376}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [391, 228, 2, 374, 230, 2, 383, 236, 2, 0, 0, 0, 370, 236, 2, 0, 0, 0, 392, 255, 2, 380, 254, 1, 386, 246, 2, 370, 242, 1, 402, 259, 2, 367, 259, 1, 374, 214, 1, 381, 226, 1], "image_id": 108782, "bbox": [362.64, 211.51, 46.53, 53.12], "category_id": 1, "id": 157383}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 200, 2, 401, 199, 2, 431, 215, 2, 399, 214, 2, 421, 223, 2, 392, 227, 2, 424, 226, 2, 413, 226, 2, 427, 228, 2, 392, 235, 1, 436, 257, 2, 389, 258, 1, 400, 187, 1, 407, 197, 1], "image_id": 108782, "bbox": [389.87, 183.89, 52.16, 78.69], "category_id": 1, "id": 157389}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [184, 126, 2, 202, 125, 2, 180, 139, 2, 206, 137, 2, 0, 0, 0, 0, 0, 0, 186, 155, 2, 200, 155, 2, 185, 170, 1, 201, 172, 2, 0, 0, 0, 0, 0, 0, 191, 107, 1, 193, 118, 1], "image_id": 108782, "bbox": [175.72, 106.28, 35.53, 73.72], "category_id": 1, "id": 157393}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 135, 1, 147, 150, 1], "image_id": 108782, "bbox": [135.33, 134.34, 26.03, 35.71], "category_id": 1, "id": 157408}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 155, 1, 105, 165, 1], "image_id": 108782, "bbox": [94.48, 154.32, 25.79, 32.64], "category_id": 1, "id": 157409}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 172, 1, 59, 185, 1], "image_id": 108782, "bbox": [47.17, 171.37, 21.57, 33.69], "category_id": 1, "id": 157411}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 95, 1, 476, 108, 1], "image_id": 108782, "bbox": [455.26, 92.87, 35.66, 28.66], "category_id": 1, "id": 157438}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 114, 1, 473, 126, 1], "image_id": 108782, "bbox": [463.65, 112.88, 33.62, 30.21], "category_id": 1, "id": 157439}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 302, 188, 1, 302, 199, 1], "image_id": 108782, "bbox": [291.7, 186.36, 21.32, 19.98], "category_id": 1, "id": 157440}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 135, 1, 73, 146, 1], "image_id": 108782, "bbox": [57.83, 132.9, 28.95, 27.83], "category_id": 1, "id": 157450}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [141, 170, 2, 123, 171, 2, 146, 178, 2, 126, 181, 2, 136, 183, 2, 134, 183, 2, 140, 185, 2, 130, 184, 2, 138, 197, 2, 130, 197, 2, 0, 0, 0, 0, 0, 0, 128, 154, 1, 130, 166, 1], "image_id": 108782, "bbox": [117.82, 152.3, 32.42, 56.75], "category_id": 1, "id": 157499}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [515, 292, 2, 433, 297, 2, 533, 536, 2, 385, 478, 2, 0, 0, 0, 325, 372, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 65, 1, 464, 241, 1], "image_id": 108685, "bbox": [251.12, 41.78, 365.92, 598.22], "category_id": 1, "id": 157512}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [100, 156, 2, 75, 154, 2, 0, 0, 0, 98, 213, 2, 0, 0, 0, 118, 262, 2, 112, 269, 2, 89, 269, 2, 127, 343, 2, 99, 358, 2, 150, 427, 2, 102, 452, 2, 101, 97, 1, 84, 142, 1], "image_id": 108762, "bbox": [51.37, 87.01, 136.95, 393.12], "category_id": 1, "id": 157517}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 135, 1, 138, 140, 1], "image_id": 108965, "bbox": [129.87, 134.08, 15.71, 35.43], "category_id": 1, "id": 157518}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 44, 2, 182, 72, 2, 304, 130, 2, 242, 139, 2, 0, 0, 0, 0, 0, 0], "image_id": 108965, "bbox": [168.98, 0.78, 167.62, 187.08], "category_id": 1, "id": 157528}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [253, 146, 2, 293, 184, 2, 221, 80, 2, 325, 190, 2, 187, 41, 2, 0, 0, 0, 270, 222, 2, 299, 243, 2, 184, 240, 2, 255, 319, 2, 180, 308, 2, 261, 386, 2, 204, 172, 1, 249, 163, 1], "image_id": 108754, "bbox": [141.38, 17.32, 188.61, 421.57], "category_id": 1, "id": 157529}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [177, 226, 2, 192, 233, 2, 173, 261, 2, 0, 0, 0, 174, 289, 2, 0, 0, 0, 191, 299, 2, 201, 294, 2, 194, 353, 2, 200, 351, 2, 195, 399, 2, 201, 394, 2, 189, 189, 1, 181, 219, 1], "image_id": 108762, "bbox": [160.78, 176.38, 62.37, 232.26], "category_id": 1, "id": 157537}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [126, 122, 2, 95, 122, 2, 133, 191, 2, 119, 164, 2, 149, 252, 2, 170, 132, 2, 141, 244, 2, 111, 247, 2, 131, 329, 2, 139, 318, 2, 56, 404, 2, 161, 416, 2, 104, 48, 1, 104, 107, 1], "image_id": 108821, "bbox": [23.7, 27.5, 189.62, 435.67], "category_id": 1, "id": 157538}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [74, 596, 2, 200, 567, 2, 0, 0, 0, 304, 552, 2, 0, 0, 0, 290, 483, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 462, 1, 139, 544, 1], "image_id": 108809, "bbox": [56.22, 430.99, 270.99, 198.92], "category_id": 1, "id": 157540}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 123, 2, 271, 134, 2, 305, 126, 2, 254, 135, 2, 300, 129, 2, 234, 136, 1, 340, 177, 2, 320, 181, 2, 294, 204, 2, 261, 189, 2, 313, 256, 2, 267, 246, 2, 259, 125, 1, 284, 136, 1], "image_id": 108808, "bbox": [226.55, 111.53, 134.97, 165.82], "category_id": 1, "id": 157544}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [264, 635, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 506, 1, 364, 607, 1], "image_id": 108809, "bbox": [258.88, 485.67, 168.12, 145.26], "category_id": 1, "id": 157545}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [534, 206, 2, 510, 205, 2, 524, 218, 2, 489, 224, 1, 0, 0, 0, 501, 217, 2, 566, 241, 2, 553, 251, 2, 611, 246, 2, 603, 251, 2, 608, 297, 2, 587, 298, 2, 517, 174, 1, 521, 199, 1], "image_id": 108808, "bbox": [487.66, 166.18, 144.43, 143.97], "category_id": 1, "id": 157546}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [0, 0, 0, 10, 334, 2, 0, 0, 0, 55, 579, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108685, "bbox": [1.35, 258.07, 93.67, 380.8], "category_id": 1, "id": 157550}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [229, 193, 2, 112, 213, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 95, 1, 168, 182, 1], "image_id": 108685, "bbox": [90.42, 71.42, 167.92, 163.1], "category_id": 1, "id": 157553}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [59, 190, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 66, 1, 19, 150, 1], "image_id": 108685, "bbox": [0.78, 49.43, 91.7, 174.39], "category_id": 1, "id": 157555}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 24, 2, 0, 0, 0, 357, 31, 2, 377, 28, 2, 337, 98, 2, 357, 100, 2, 327, 165, 1, 352, 167, 1, 0, 0, 0, 0, 0, 0], "image_id": 108965, "bbox": [311.41, 1.05, 74.14, 174.19], "category_id": 1, "id": 157565}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [246, 140, 2, 276, 136, 2, 243, 204, 2, 253, 169, 2, 187, 222, 1, 205, 144, 2, 261, 262, 2, 279, 256, 2, 249, 352, 2, 292, 352, 2, 282, 446, 2, 327, 446, 2, 238, 60, 1, 250, 116, 1], "image_id": 108821, "bbox": [148.31, 35.96, 232.59, 439.32], "category_id": 1, "id": 157566}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [368, 102, 2, 343, 102, 2, 358, 174, 2, 0, 0, 0, 308, 156, 2, 302, 155, 2, 352, 212, 1, 330, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 41, 1, 352, 88, 1], "image_id": 108821, "bbox": [289.24, 21.3, 107.62, 160.31], "category_id": 1, "id": 157567}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [291, 0, 1, 0, 0, 0, 0, 0, 0, 299, 24, 2, 0, 0, 0, 319, 44, 1, 292, 53, 2, 292, 55, 2, 0, 0, 0, 301, 96, 2, 0, 0, 0, 303, 137, 1, 0, 0, 0, 296, 4, 1], "image_id": 108965, "bbox": [273.82, 0, 47.92, 118.34], "category_id": 1, "id": 157570}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 386, 2, 2, 0, 0, 0, 386, 48, 2, 0, 0, 0, 421, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108821, "bbox": [361.8, 0, 66.2, 97.75], "category_id": 1, "id": 157572}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [178, 131, 2, 181, 131, 2, 0, 0, 0, 183, 146, 2, 0, 0, 0, 193, 154, 2, 180, 165, 2, 181, 165, 2, 182, 185, 1, 183, 186, 2, 0, 0, 0, 0, 0, 0, 188, 113, 1, 184, 125, 1], "image_id": 108965, "bbox": [171.36, 111.05, 28.91, 79.76], "category_id": 1, "id": 157592}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [229, 167, 2, 267, 205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 157, 1], "image_id": 108685, "bbox": [224.34, 94.39, 78.88, 132.09], "category_id": 1, "id": 157594}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108685, "bbox": [106.04, 38.94, 53.81, 59.79], "category_id": 1, "id": 157614}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [238, 122, 1, 189, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 53, 1, 0, 0, 0], "image_id": 108685, "bbox": [185.14, 49.74, 44.55, 83], "category_id": 1, "id": 157623}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 48, 1, 0, 0, 0], "image_id": 108685, "bbox": [239.37, 43.34, 61.25, 54.32], "category_id": 1, "id": 157640}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 112, 1, 156, 121, 1], "image_id": 108965, "bbox": [146.36, 113.35, 22.76, 65.08], "category_id": 1, "id": 157654}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [244, 183, 2, 109, 169, 2, 356, 254, 2, 66, 261, 2, 316, 263, 2, 32, 327, 2, 202, 386, 2, 117, 399, 2, 273, 516, 2, 139, 541, 1, 0, 0, 0, 0, 0, 0, 193, 57, 1, 178, 153, 1], "image_id": 108809, "bbox": [2.88, 44.58, 372.49, 497.62], "category_id": 1, "id": 157719}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 317, 107, 2, 0, 0, 0, 0, 0, 0, 339, 212, 2, 347, 183, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108685, "bbox": [294.83, 94.92, 61.84, 133.75], "category_id": 1, "id": 157720}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108809, "bbox": [294.78, 445.71, 31.24, 69.14], "category_id": 1, "id": 157739}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 24, 2, 425, 28, 2, 388, 101, 2, 425, 106, 2, 373, 156, 2, 397, 164, 2, 0, 0, 0, 0, 0, 0], "image_id": 108965, "bbox": [362.93, 0, 98.03, 187.08], "category_id": 1, "id": 157742}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 107, 2, 0, 0, 0, 424, 203, 2, 0, 0, 0, 406, 276, 2, 0, 0, 0, 0, 0, 0], "image_id": 108821, "bbox": [396.63, 28.34, 31.37, 265.27], "category_id": 1, "id": 157746}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 4, 25, 2, 0, 0, 0, 30, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 168, 2, 0, 0, 0, 18, 249, 2, 0, 0, 0, 0, 0, 0], "image_id": 108821, "bbox": [0, 15.36, 51.59, 239.94], "category_id": 1, "id": 157758}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 216, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108685, "bbox": [202.78, 72.58, 70.06, 87], "category_id": 1, "id": 157759}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 87, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 61, 1, 79, 106, 1], "image_id": 108685, "bbox": [68.58, 54.2, 41.38, 153.09], "category_id": 1, "id": 157760}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [51, 559, 2, 29, 554, 2, 52, 569, 2, 20, 572, 2, 0, 0, 0, 28, 584, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 532, 1, 40, 553, 1], "image_id": 108809, "bbox": [13.76, 531.22, 50.13, 65.88], "category_id": 1, "id": 157774}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [597, 131, 2, 493, 128, 2, 600, 209, 2, 464, 180, 2, 527, 223, 2, 461, 198, 2, 580, 305, 2, 513, 305, 2, 605, 408, 2, 515, 413, 2, 0, 0, 0, 0, 0, 0, 544, 31, 1, 544, 106, 1], "image_id": 108877, "bbox": [444.98, 33.03, 193.69, 403.26], "category_id": 1, "id": 157794}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [105, 210, 2, 40, 214, 2, 123, 275, 2, 29, 272, 2, 91, 308, 2, 27, 303, 2, 94, 338, 1, 41, 336, 2, 100, 416, 1, 43, 424, 2, 0, 0, 0, 0, 0, 0, 72, 144, 1, 76, 198, 1], "image_id": 108877, "bbox": [13.32, 138.32, 127.83, 302.77], "category_id": 1, "id": 157800}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [258, 179, 2, 182, 167, 1, 257, 256, 1, 151, 214, 2, 212, 250, 1, 0, 0, 0, 223, 275, 1, 167, 268, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, 102, 1, 219, 161, 1], "image_id": 108991, "bbox": [145.48, 95.59, 136.45, 171.87], "category_id": 1, "id": 157820}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [304, 206, 2, 227, 233, 2, 319, 295, 2, 229, 355, 2, 359, 357, 2, 340, 386, 2, 281, 326, 2, 194, 374, 2, 393, 352, 1, 283, 420, 2, 285, 409, 2, 0, 0, 0, 272, 88, 1, 260, 193, 1], "image_id": 108741, "bbox": [156.76, 76.76, 318.92, 401.08], "category_id": 1, "id": 157856}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [443, 173, 2, 341, 164, 2, 409, 275, 2, 321, 250, 1, 339, 253, 1, 375, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 95, 1, 391, 163, 1], "image_id": 108991, "bbox": [312.11, 81.92, 148.52, 196.95], "category_id": 1, "id": 157864}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 214, 2, 335, 238, 2, 407, 245, 2, 340, 276, 2, 409, 263, 2, 379, 280, 2, 389, 296, 2, 358, 308, 2, 424, 307, 2, 341, 329, 1, 470, 337, 2, 363, 360, 1, 362, 148, 1, 358, 212, 1], "image_id": 108741, "bbox": [328.99, 143.46, 171.5, 222.2], "category_id": 1, "id": 157880}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [626, 241, 2, 523, 203, 2, 0, 0, 0, 488, 243, 2, 576, 314, 2, 456, 250, 2, 566, 359, 1, 500, 335, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 120, 1, 563, 197, 1], "image_id": 108991, "bbox": [447.9, 89.27, 192.1, 276.12], "category_id": 1, "id": 157883}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 433, 27, 2, 275, 27, 2, 360, 68, 2, 355, 55, 2, 398, 44, 2, 298, 45, 2, 440, 78, 2, 282, 76, 2, 347, 200, 1, 391, 194, 1, 0, 0, 0, 0, 0, 0], "image_id": 108741, "bbox": [259.96, 2.16, 196.31, 185.53], "category_id": 1, "id": 157887}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [569, 124, 1, 612, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108991, "bbox": [563.75, 47.94, 50.1, 75.67], "category_id": 1, "id": 157912}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [83, 157, 2, 3, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 101, 1, 43, 154, 1], "image_id": 108991, "bbox": [2.16, 95.43, 102.47, 97.08], "category_id": 1, "id": 157955}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [125, 321, 2, 95, 322, 2, 136, 342, 1, 75, 330, 2, 113, 337, 2, 48, 343, 2, 122, 361, 2, 98, 361, 2, 128, 352, 2, 73, 356, 2, 105, 388, 2, 71, 388, 2, 107, 295, 1, 110, 317, 1], "image_id": 108885, "bbox": [33.36, 290.05, 102.41, 119.96], "category_id": 1, "id": 157960}, {"num_keypoints": 1, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 635, 428, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108991, "bbox": [523, 410.09, 117, 65.08], "category_id": 1, "id": 157973}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108991, "bbox": [367.18, 59.06, 35.62, 28.81], "category_id": 1, "id": 157978}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [195, 320, 2, 170, 320, 2, 203, 341, 2, 154, 334, 2, 202, 366, 2, 137, 346, 2, 193, 351, 2, 174, 351, 1, 213, 358, 2, 140, 355, 2, 0, 0, 0, 153, 389, 2, 181, 297, 1, 183, 316, 1], "image_id": 108885, "bbox": [131.3, 290.71, 87.54, 117.3], "category_id": 1, "id": 157988}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 313, 2, 463, 312, 2, 502, 324, 2, 453, 317, 2, 486, 325, 2, 471, 326, 2, 483, 352, 2, 465, 352, 2, 494, 324, 2, 462, 322, 2, 483, 362, 2, 475, 362, 2, 475, 286, 1, 473, 307, 1], "image_id": 108885, "bbox": [450.24, 280.96, 55.26, 95.17], "category_id": 1, "id": 157995}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [254, 213, 2, 230, 210, 2, 262, 234, 2, 216, 231, 2, 265, 249, 2, 211, 249, 2, 249, 254, 2, 229, 252, 2, 247, 288, 2, 227, 286, 2, 242, 313, 1, 227, 313, 2, 242, 184, 1, 242, 206, 1], "image_id": 108885, "bbox": [204.97, 179.81, 66.64, 150.11], "category_id": 1, "id": 157997}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [308, 203, 2, 274, 198, 2, 310, 227, 2, 267, 220, 2, 313, 249, 2, 274, 226, 2, 297, 251, 2, 278, 250, 2, 299, 281, 2, 272, 281, 2, 298, 313, 2, 268, 313, 2, 294, 173, 1, 291, 195, 1], "image_id": 108885, "bbox": [260.33, 169.63, 56.88, 156.9], "category_id": 1, "id": 158000}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [341, 125, 2, 298, 123, 2, 0, 0, 0, 308, 170, 2, 0, 0, 0, 355, 172, 1, 323, 199, 1, 285, 202, 1, 0, 0, 0, 332, 233, 1, 0, 0, 0, 0, 0, 0, 336, 77, 1, 323, 111, 1], "image_id": 108991, "bbox": [276.76, 60.68, 89.71, 138.17], "category_id": 1, "id": 158009}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [353, 212, 2, 320, 211, 2, 0, 0, 0, 310, 222, 1, 0, 0, 0, 294, 222, 1, 341, 255, 2, 322, 254, 2, 343, 284, 1, 319, 284, 2, 346, 311, 1, 317, 312, 2, 337, 189, 1, 337, 208, 1], "image_id": 108885, "bbox": [309.88, 188.21, 49.86, 131.17], "category_id": 1, "id": 158017}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [540, 232, 2, 527, 230, 2, 545, 248, 2, 528, 245, 2, 542, 237, 2, 537, 234, 2, 537, 261, 2, 527, 261, 2, 524, 288, 2, 539, 286, 2, 515, 306, 2, 543, 311, 2, 538, 212, 1, 534, 226, 1], "image_id": 108885, "bbox": [511.12, 212.3, 44.14, 105.84], "category_id": 1, "id": 158021}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [385, 303, 2, 357, 300, 2, 387, 329, 2, 349, 325, 2, 384, 345, 2, 343, 347, 2, 377, 341, 2, 357, 339, 2, 377, 371, 2, 356, 368, 2, 0, 0, 0, 352, 346, 1, 370, 275, 1, 371, 297, 1], "image_id": 108885, "bbox": [340.11, 271.77, 50.35, 106.47], "category_id": 1, "id": 158033}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [360, 276, 2, 333, 283, 2, 388, 295, 2, 331, 301, 2, 0, 0, 0, 336, 307, 2, 361, 307, 1, 343, 307, 2, 0, 0, 0, 330, 323, 2, 0, 0, 0, 337, 331, 2, 349, 251, 1, 349, 274, 1], "image_id": 108885, "bbox": [323.7, 249.83, 71.95, 102.38], "category_id": 1, "id": 158035}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [195, 198, 2, 169, 205, 2, 197, 218, 2, 166, 231, 2, 199, 245, 2, 186, 241, 2, 190, 256, 2, 174, 257, 2, 189, 285, 2, 167, 285, 2, 193, 320, 1, 170, 320, 1, 185, 177, 1, 180, 197, 1], "image_id": 108885, "bbox": [154.17, 174.47, 52.1, 140.35], "category_id": 1, "id": 158047}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [376, 216, 2, 356, 216, 2, 385, 233, 2, 0, 0, 0, 369, 235, 2, 0, 0, 0, 375, 253, 2, 360, 254, 2, 375, 282, 1, 360, 280, 1, 0, 0, 0, 0, 0, 0, 361, 194, 1, 365, 212, 1], "image_id": 108885, "bbox": [353.63, 190.29, 36.37, 90.72], "category_id": 1, "id": 158048}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [484, 213, 2, 451, 213, 2, 492, 235, 2, 446, 234, 2, 478, 247, 2, 461, 243, 2, 476, 253, 2, 458, 254, 2, 481, 287, 1, 451, 290, 2, 483, 319, 1, 450, 320, 1, 466, 187, 1, 467, 208, 1], "image_id": 108885, "bbox": [438.43, 184.62, 57.29, 147.87], "category_id": 1, "id": 158050}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 444, 195, 2, 0, 0, 0, 432, 229, 2, 0, 0, 0, 441, 246, 2, 470, 242, 2, 448, 238, 2, 458, 268, 2, 413, 258, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108877, "bbox": [414.4, 183.54, 84.15, 90.6], "category_id": 1, "id": 158075}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [31, 215, 2, 14, 216, 1, 40, 228, 2, 0, 0, 0, 34, 241, 2, 0, 0, 0, 26, 249, 2, 16, 249, 2, 25, 264, 2, 10, 263, 2, 25, 284, 2, 19, 277, 2, 20, 198, 1, 21, 212, 1], "image_id": 108885, "bbox": [7.53, 197.21, 37.16, 94.35], "category_id": 1, "id": 158104}, {"num_keypoints": 2, "iscrowd": 0, "keypoints": [492, 144, 2, 0, 0, 0, 466, 199, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108991, "bbox": [457.98, 68.75, 78.37, 153.4], "category_id": 1, "id": 158137}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [388, 114, 2, 334, 114, 2, 358, 138, 2, 293, 133, 2, 314, 133, 2, 299, 122, 2, 405, 200, 2, 366, 200, 2, 434, 259, 2, 336, 258, 2, 496, 315, 2, 315, 336, 2, 362, 67, 1, 358, 108, 1], "image_id": 108869, "bbox": [284.1, 59.44, 241.27, 300.71], "category_id": 1, "id": 158152}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [182, 280, 2, 243, 264, 2, 130, 309, 2, 276, 259, 2, 78, 319, 2, 305, 230, 2, 206, 386, 2, 250, 377, 2, 204, 473, 2, 246, 461, 2, 202, 544, 2, 245, 538, 2, 193, 213, 1, 204, 255, 1], "image_id": 108961, "bbox": [51.54, 210.61, 270.61, 352.21], "category_id": 1, "id": 158155}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [511, 111, 2, 478, 107, 2, 481, 134, 2, 453, 106, 2, 456, 113, 2, 450, 98, 2, 520, 178, 2, 487, 182, 2, 539, 223, 2, 472, 224, 2, 570, 276, 2, 459, 279, 1, 487, 73, 1, 491, 101, 1], "image_id": 108869, "bbox": [436.2, 68.24, 150.36, 233.4], "category_id": 1, "id": 158158}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 350, 161, 2, 0, 0, 0, 289, 217, 2, 331, 281, 2, 299, 282, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 109010, "bbox": [279.15, 101.03, 95.85, 246.63], "category_id": 1, "id": 158159}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [285, 361, 2, 267, 362, 1, 295, 339, 2, 253, 345, 1, 300, 312, 2, 0, 0, 0, 292, 424, 2, 278, 426, 2, 301, 470, 2, 275, 472, 2, 284, 500, 2, 265, 509, 1, 287, 326, 1, 277, 359, 1], "image_id": 108961, "bbox": [264.03, 301.51, 44.22, 223.14], "category_id": 1, "id": 158167}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 447, 1, 200, 458, 1], "image_id": 108924, "bbox": [193.6, 446.01, 15.89, 53.99], "category_id": 1, "id": 158175}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [634, 353, 2, 632, 272, 2, 597, 425, 2, 0, 0, 0, 508, 392, 2, 550, 357, 2, 0, 0, 0, 591, 388, 2, 483, 419, 2, 500, 374, 2, 0, 0, 0, 0, 0, 0, 624, 151, 1, 0, 0, 0], "image_id": 109019, "bbox": [472.89, 133.78, 166.61, 292.22], "category_id": 1, "id": 158191}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 584, 256, 2, 0, 0, 0, 515, 314, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 306, 2, 584, 273, 2, 0, 0, 0, 0, 0, 0, 622, 85, 1, 0, 0, 0], "image_id": 109019, "bbox": [452.45, 68.57, 186.9, 275.86], "category_id": 1, "id": 158199}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [592, 94, 2, 557, 94, 2, 597, 123, 2, 552, 123, 2, 601, 151, 2, 559, 152, 2, 585, 151, 2, 565, 148, 2, 578, 205, 2, 560, 204, 2, 570, 245, 2, 558, 249, 1, 577, 52, 1, 574, 83, 1], "image_id": 108869, "bbox": [542.85, 45.46, 68.19, 212.42], "category_id": 1, "id": 158207}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [88, 236, 2, 41, 230, 2, 124, 262, 2, 29, 276, 2, 154, 254, 1, 75, 277, 2, 53, 304, 2, 26, 308, 2, 133, 304, 2, 79, 300, 2, 90, 354, 2, 25, 361, 2, 73, 176, 1, 66, 216, 1], "image_id": 108869, "bbox": [6.13, 168.65, 185.74, 202.39], "category_id": 1, "id": 158212}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [352, 381, 2, 360, 381, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 354, 401, 2, 363, 400, 2, 355, 415, 2, 365, 414, 2, 357, 425, 2, 366, 427, 2, 354, 363, 1, 357, 373, 1], "image_id": 108924, "bbox": [348.22, 359.81, 22.04, 72.06], "category_id": 1, "id": 158213}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 414, 1, 0, 0, 0], "image_id": 108924, "bbox": [122.44, 412.68, 8.25, 10.94], "category_id": 1, "id": 158214}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108924, "bbox": [197.67, 402.44, 10.88, 21.49], "category_id": 1, "id": 158215}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108924, "bbox": [173.13, 416.01, 8.65, 25.05], "category_id": 1, "id": 158236}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [133, 166, 2, 29, 169, 2, 145, 241, 2, 24, 282, 2, 172, 276, 2, 89, 352, 2, 135, 286, 2, 84, 294, 2, 249, 362, 1, 100, 404, 2, 0, 0, 0, 0, 0, 0, 98, 38, 1, 72, 147, 1], "image_id": 109004, "bbox": [0.96, 13.54, 287.47, 406.68], "category_id": 1, "id": 158239}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 410, 224, 1, 409, 228, 1], "image_id": 108961, "bbox": [405.62, 224.61, 8.22, 13.85], "category_id": 1, "id": 158240}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [243, 7, 2, 199, 11, 2, 259, 37, 2, 188, 42, 2, 256, 60, 2, 199, 65, 2, 246, 71, 2, 212, 72, 2, 248, 105, 1, 217, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108869, "bbox": [181.32, 0.02, 89.93, 86.2], "category_id": 1, "id": 158242}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [268, 136, 2, 182, 117, 2, 281, 216, 2, 160, 219, 2, 350, 210, 2, 254, 238, 2, 285, 251, 2, 220, 261, 1, 375, 315, 2, 311, 349, 2, 0, 0, 0, 0, 0, 0, 290, 59, 1, 235, 117, 1], "image_id": 109004, "bbox": [141.03, 24.46, 281.11, 393.55], "category_id": 1, "id": 158263}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 221, 1, 446, 224, 1], "image_id": 108961, "bbox": [436.67, 221, 16.78, 12.91], "category_id": 1, "id": 158266}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108961, "bbox": [474.79, 220.05, 5.47, 7.72], "category_id": 1, "id": 158275}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108961, "bbox": [120.2, 217.97, 7.47, 16.96], "category_id": 1, "id": 158285}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 218, 1, 111, 222, 1], "image_id": 108961, "bbox": [106.42, 218.85, 6.9, 15.93], "category_id": 1, "id": 158295}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 224, 1], "image_id": 108961, "bbox": [384.8, 221.5, 7.94, 17.43], "category_id": 1, "id": 158300}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [344, 153, 2, 283, 156, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 219, 2, 356, 241, 2, 317, 249, 1, 447, 272, 2, 417, 290, 2, 439, 374, 2, 417, 404, 2, 334, 67, 1, 305, 133, 1], "image_id": 109004, "bbox": [282.7, 41.07, 185.28, 378.2], "category_id": 1, "id": 158303}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 127, 2, 437, 129, 2, 400, 173, 1, 430, 171, 2, 453, 192, 1, 465, 191, 1, 413, 207, 1, 434, 198, 1, 497, 240, 1, 512, 228, 2, 490, 316, 1, 499, 310, 1, 479, 97, 1, 434, 124, 1], "image_id": 109004, "bbox": [401.77, 79.28, 142.48, 238.69], "category_id": 1, "id": 158311}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 71, 1, 433, 89, 1], "image_id": 109004, "bbox": [422.36, 68.4, 20.78, 39.76], "category_id": 1, "id": 158329}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [603, 97, 2, 561, 91, 2, 599, 139, 2, 531, 113, 1, 596, 153, 2, 0, 0, 0, 579, 161, 2, 558, 162, 1, 614, 188, 2, 595, 194, 2, 587, 244, 2, 567, 241, 2, 602, 57, 1, 585, 92, 1], "image_id": 109004, "bbox": [538.62, 45.97, 85.42, 227.07], "category_id": 1, "id": 158330}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [634, 49, 2, 588, 50, 2, 0, 0, 0, 0, 0, 0, 616, 84, 2, 0, 0, 0, 614, 105, 2, 593, 105, 1, 612, 157, 2, 589, 154, 1, 613, 209, 1, 586, 210, 1, 603, 10, 1, 609, 38, 1], "image_id": 109004, "bbox": [569.74, 5.92, 70.26, 213.52], "category_id": 1, "id": 158344}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [521, 135, 2, 515, 138, 2, 501, 166, 1, 478, 179, 1, 526, 171, 1, 526, 179, 1, 488, 192, 1, 475, 198, 1, 524, 201, 1, 517, 207, 1, 0, 0, 0, 0, 0, 0, 575, 108, 1, 534, 129, 1], "image_id": 109004, "bbox": [468.99, 93.01, 127.06, 84.7], "category_id": 1, "id": 158362}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108924, "bbox": [100.82, 405.17, 10.98, 22.71], "category_id": 1, "id": 158364}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108924, "bbox": [39.3, 473, 16.82, 27], "category_id": 1, "id": 158365}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 226, 1], "image_id": 108961, "bbox": [457.9, 222.81, 7.11, 8.53], "category_id": 1, "id": 158367}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108961, "bbox": [417.65, 215.74, 4.19, 8.84], "category_id": 1, "id": 158368}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 463, 1, 0, 0, 0], "image_id": 108924, "bbox": [298.13, 466.58, 43.07, 32.71], "category_id": 1, "id": 158371}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [390, 131, 2, 339, 133, 1, 409, 175, 2, 337, 192, 1, 448, 193, 1, 380, 195, 2, 414, 214, 1, 368, 216, 1, 484, 243, 2, 460, 266, 2, 457, 326, 2, 424, 355, 1, 388, 72, 1, 359, 119, 1], "image_id": 109004, "bbox": [344.19, 54.9, 156.17, 329.58], "category_id": 1, "id": 158398}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [280, 371, 2, 295, 371, 2, 0, 0, 0, 305, 377, 2, 0, 0, 0, 0, 0, 0, 284, 395, 2, 295, 395, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 358, 1, 288, 367, 1], "image_id": 108924, "bbox": [271.51, 356.54, 35.32, 71.57], "category_id": 1, "id": 158403}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [238, 110, 2, 118, 106, 1, 282, 184, 2, 77, 181, 2, 247, 257, 2, 108, 246, 2, 212, 264, 2, 136, 263, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 19, 1, 178, 99, 1], "image_id": 109010, "bbox": [65.27, 3.28, 237.69, 289.41], "category_id": 1, "id": 158404}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108924, "bbox": [73.56, 426.29, 12.91, 36.25], "category_id": 1, "id": 158418}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, 413, 1], "image_id": 108924, "bbox": [110.76, 409.82, 8.93, 24.61], "category_id": 1, "id": 158419}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [527, 62, 2, 561, 51, 2, 0, 0, 0, 580, 73, 1, 0, 0, 0, 0, 0, 0, 538, 118, 1, 560, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 16, 1, 546, 41, 1], "image_id": 109004, "bbox": [522.99, 16.64, 59.46, 92.49], "category_id": 1, "id": 158426}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [500, 127, 2, 483, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 170, 1, 473, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 109004, "bbox": [467.77, 69.14, 60.69, 96.09], "category_id": 1, "id": 158430}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 452, 1, 188, 463, 1], "image_id": 108924, "bbox": [178.93, 451.79, 19.48, 48.21], "category_id": 1, "id": 158449}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [305, 362, 2, 318, 361, 2, 302, 369, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 384, 2, 319, 384, 2, 307, 402, 2, 318, 400, 2, 311, 419, 2, 322, 417, 2, 310, 345, 1, 311, 356, 1], "image_id": 108924, "bbox": [300.61, 344.42, 26.94, 79.06], "category_id": 1, "id": 158455}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [193, 122, 2, 170, 120, 2, 158, 131, 2, 143, 126, 2, 146, 112, 2, 143, 112, 2, 204, 186, 2, 178, 189, 2, 203, 232, 2, 160, 236, 1, 236, 270, 2, 169, 272, 2, 179, 91, 1, 182, 114, 1], "image_id": 108869, "bbox": [132.55, 86.28, 123.9, 210.35], "category_id": 1, "id": 158458}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [250, 268, 2, 103, 280, 2, 267, 380, 2, 46, 302, 2, 306, 435, 2, 190, 334, 2, 243, 485, 1, 100, 502, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 113, 1, 174, 258, 1], "image_id": 108871, "bbox": [32.68, 89.38, 310.43, 395.54], "category_id": 1, "id": 158476}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [573, 288, 2, 370, 262, 2, 0, 0, 0, 299, 380, 2, 0, 0, 0, 323, 376, 2, 526, 581, 1, 394, 577, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 71, 1, 469, 240, 1], "image_id": 108871, "bbox": [277.2, 59.67, 316.05, 479.38], "category_id": 1, "id": 158804}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108782, "bbox": [0, 0, 639, 218], "category_id": 1, "id": 158815}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108752, "bbox": [1, 26, 638, 354], "category_id": 1, "id": 158829}, {"num_keypoints": 0, "iscrowd": 1, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 108924, "bbox": [1, 0, 373, 499], "category_id": 1, "id": 158853}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [519, 319, 1, 319, 300, 1, 553, 488, 1, 265, 453, 1, 491, 595, 1, 168, 432, 1, 472, 658, 1, 350, 663, 1, 450, 883, 1, 382, 889, 1, 0, 0, 0, 0, 0, 0, 179, 61, 1, 197, 225, 1], "image_id": 117659, "bbox": [116, 35, 468, 902], "category_id": 1, "id": 158867}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [412, 266, 1, 221, 243, 1, 402, 431, 1, 126, 362, 1, 401, 559, 1, 129, 393, 1, 303, 557, 1, 211, 557, 1, 264, 741, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 304, 58, 1, 309, 217, 1], "image_id": 113209, "bbox": [103, 31, 342, 717], "category_id": 1, "id": 158872}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 336, 1, 275, 320, 1, 305, 435, 1, 235, 420, 1, 362, 425, 1, 210, 502, 1, 298, 530, 1, 247, 536, 1, 341, 680, 1, 273, 693, 1, 313, 832, 1, 168, 715, 1, 301, 186, 1, 312, 288, 1], "image_id": 113047, "bbox": [110, 163, 276, 752], "category_id": 1, "id": 158873}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [341, 282, 1, 400, 310, 1, 459, 288, 1, 387, 450, 1, 518, 340, 1, 485, 492, 1, 381, 577, 1, 354, 575, 1, 357, 778, 1, 392, 770, 1, 0, 0, 0, 186, 726, 1, 457, 172, 1, 396, 266, 1], "image_id": 119155, "bbox": [97, 128, 449, 810], "category_id": 1, "id": 158875}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 255, 1, 346, 191, 1, 462, 344, 1, 272, 173, 1, 388, 373, 1, 204, 95, 1, 368, 405, 1, 308, 404, 1, 367, 549, 1, 326, 544, 1, 315, 681, 1, 376, 669, 1, 424, 117, 1, 399, 202, 1], "image_id": 109500, "bbox": [170, 51, 305, 709], "category_id": 1, "id": 158896}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 95, 1, 178, 98, 1, 300, 191, 1, 156, 192, 1, 286, 274, 1, 158, 272, 1, 244, 275, 1, 191, 278, 1, 237, 375, 1, 193, 395, 1, 227, 485, 1, 204, 460, 1, 316, 41, 1, 312, 150, 1], "image_id": 109210, "bbox": [132, 2, 247, 567], "category_id": 1, "id": 158900}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [200, 382, 1, 116, 385, 1, 215, 475, 1, 135, 482, 1, 271, 476, 1, 189, 496, 1, 184, 573, 1, 142, 573, 1, 187, 709, 1, 148, 709, 1, 188, 819, 1, 147, 818, 1, 168, 300, 1, 159, 373, 1], "image_id": 109153, "bbox": [72, 287, 162, 573], "category_id": 1, "id": 158906}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 106, 321, 1, 0, 0, 0, 115, 485, 1, 0, 0, 0, 106, 576, 1, 0, 0, 0, 74, 556, 1, 0, 0, 0, 185, 745, 1, 0, 0, 0, 273, 940, 1, 326, 277, 1, 286, 372, 1], "image_id": 119951, "bbox": [0, 181, 353, 806], "category_id": 1, "id": 158918}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [234, 246, 1, 110, 214, 1, 233, 335, 1, 78, 314, 1, 209, 321, 1, 157, 312, 1, 186, 417, 1, 123, 420, 1, 189, 572, 1, 139, 551, 1, 204, 736, 1, 149, 643, 1, 175, 102, 1, 170, 197, 1], "image_id": 114831, "bbox": [45, 83, 217, 721], "category_id": 1, "id": 158932}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [660, 481, 1, 635, 472, 1, 626, 475, 1, 616, 471, 1, 601, 467, 1, 598, 460, 1, 637, 536, 1, 632, 539, 1, 596, 530, 1, 637, 580, 1, 597, 576, 1, 644, 624, 1, 653, 442, 1, 647, 472, 1], "image_id": 109066, "bbox": [579, 437, 95, 210], "category_id": 1, "id": 158946}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [729, 265, 1, 617, 292, 1, 766, 225, 1, 547, 328, 1, 794, 181, 1, 490, 351, 1, 765, 447, 1, 698, 445, 1, 724, 576, 1, 620, 549, 1, 0, 0, 0, 553, 685, 1, 667, 179, 1, 675, 260, 1], "image_id": 117429, "bbox": [433, 162, 360, 567], "category_id": 1, "id": 158950}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 79, 1, 173, 88, 1, 219, 114, 1, 191, 120, 1, 237, 115, 1, 211, 128, 1, 207, 118, 1, 179, 121, 1, 216, 103, 1, 161, 101, 1, 211, 146, 1, 158, 137, 1, 189, 34, 1, 191, 74, 1], "image_id": 117100, "bbox": [145, 20, 78, 145], "category_id": 1, "id": 158965}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 121, 1, 270, 121, 1, 392, 207, 1, 256, 208, 1, 364, 126, 1, 288, 127, 1, 357, 243, 1, 308, 245, 1, 339, 316, 1, 295, 313, 1, 354, 386, 1, 304, 386, 1, 313, 54, 1, 326, 114, 1], "image_id": 118781, "bbox": [277, 25, 133, 195], "category_id": 1, "id": 158969}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [657, 249, 1, 524, 245, 1, 561, 349, 1, 457, 357, 1, 562, 428, 1, 499, 458, 1, 554, 449, 1, 467, 445, 1, 578, 588, 1, 539, 573, 1, 458, 642, 1, 522, 731, 1, 617, 96, 1, 602, 211, 1], "image_id": 119703, "bbox": [404, 76, 273, 709], "category_id": 1, "id": 159006}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 272, 1, 410, 286, 1, 381, 294, 1, 448, 311, 1, 382, 266, 1, 469, 300, 1, 368, 346, 1, 386, 348, 1, 404, 317, 1, 423, 323, 1, 419, 352, 1, 441, 352, 1, 396, 235, 1, 391, 268, 1], "image_id": 114289, "bbox": [352, 224, 129, 150], "category_id": 1, "id": 159017}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [614, 246, 1, 444, 242, 1, 646, 385, 1, 420, 350, 1, 601, 437, 1, 373, 429, 1, 568, 514, 1, 493, 511, 1, 576, 702, 1, 489, 698, 1, 601, 881, 1, 479, 879, 1, 543, 71, 1, 530, 209, 1], "image_id": 119598, "bbox": [427, 44, 239, 899], "category_id": 1, "id": 159018}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [149, 183, 1, 61, 170, 1, 170, 261, 1, 36, 260, 1, 166, 321, 1, 52, 329, 1, 112, 304, 1, 57, 303, 1, 124, 412, 1, 47, 417, 1, 144, 495, 1, 44, 506, 1, 127, 78, 1, 111, 159, 1], "image_id": 117274, "bbox": [1, 58, 186, 447], "category_id": 1, "id": 159037}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [526, 234, 1, 470, 180, 1, 516, 337, 1, 424, 214, 1, 457, 394, 1, 409, 214, 1, 469, 370, 1, 484, 369, 1, 354, 426, 1, 463, 476, 1, 358, 566, 1, 582, 543, 1, 474, 104, 1, 497, 180, 1], "image_id": 116706, "bbox": [277, 75, 353, 523], "category_id": 1, "id": 159067}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [378, 540, 1, 306, 547, 1, 414, 565, 1, 268, 583, 1, 405, 520, 1, 265, 546, 1, 366, 651, 1, 326, 651, 1, 347, 710, 1, 315, 713, 1, 335, 774, 1, 310, 768, 1, 334, 482, 1, 337, 533, 1], "image_id": 116338, "bbox": [232, 453, 203, 355], "category_id": 1, "id": 159070}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [560, 340, 1, 441, 303, 1, 552, 429, 1, 368, 356, 1, 546, 491, 1, 307, 345, 1, 500, 516, 1, 448, 504, 1, 455, 591, 1, 406, 587, 1, 0, 0, 0, 0, 0, 0, 493, 156, 1, 496, 294, 1], "image_id": 114234, "bbox": [410, 133, 191, 499], "category_id": 1, "id": 159072}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 294, 1, 313, 295, 1, 453, 384, 1, 282, 395, 1, 463, 465, 1, 246, 463, 1, 415, 506, 1, 353, 507, 1, 412, 612, 1, 365, 616, 1, 419, 731, 1, 367, 730, 1, 392, 162, 1, 372, 266, 1], "image_id": 109621, "bbox": [228, 142, 255, 718], "category_id": 1, "id": 159080}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [478, 184, 1, 416, 143, 1, 503, 262, 1, 320, 155, 1, 580, 275, 1, 260, 194, 1, 376, 339, 1, 376, 336, 1, 323, 484, 1, 472, 428, 1, 195, 559, 1, 368, 530, 1, 492, 72, 1, 449, 141, 1], "image_id": 119773, "bbox": [145, 48, 459, 573], "category_id": 1, "id": 159089}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [846, 197, 1, 693, 186, 1, 852, 311, 1, 654, 289, 1, 866, 399, 1, 659, 387, 1, 799, 406, 1, 723, 406, 1, 812, 578, 1, 735, 564, 1, 0, 0, 0, 0, 0, 0, 759, 65, 1, 770, 167, 1], "image_id": 114221, "bbox": [623, 37, 256, 564], "category_id": 1, "id": 159103}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [206, 392, 1, 186, 401, 1, 285, 273, 1, 298, 270, 1, 333, 145, 1, 347, 155, 1, 195, 692, 1, 172, 694, 1, 214, 895, 1, 191, 918, 1, 0, 0, 0, 0, 0, 0, 139, 302, 1, 196, 371, 1], "image_id": 111621, "bbox": [36, 16, 339, 983], "category_id": 1, "id": 159118}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [657, 320, 1, 766, 270, 1, 481, 394, 1, 668, 351, 1, 498, 308, 1, 582, 282, 1, 657, 561, 1, 676, 480, 1, 502, 390, 1, 517, 400, 1, 382, 472, 1, 549, 544, 1, 659, 85, 1, 695, 254, 1], "image_id": 114339, "bbox": [296, 40, 548, 536], "category_id": 1, "id": 159119}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [364, 183, 1, 201, 197, 1, 449, 240, 1, 204, 310, 1, 535, 249, 1, 282, 326, 1, 298, 397, 1, 197, 375, 1, 260, 504, 1, 137, 463, 1, 0, 0, 0, 0, 0, 0, 299, 61, 1, 276, 174, 1], "image_id": 118855, "bbox": [151, 36, 240, 562], "category_id": 1, "id": 159129}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [668, 140, 1, 602, 146, 1, 661, 195, 1, 623, 238, 1, 612, 233, 1, 587, 305, 1, 692, 336, 1, 660, 338, 1, 656, 467, 1, 667, 470, 1, 681, 611, 1, 706, 587, 1, 571, 72, 1, 624, 125, 1], "image_id": 116906, "bbox": [551, 37, 195, 626], "category_id": 1, "id": 159138}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [321, 432, 1, 152, 459, 1, 389, 532, 1, 111, 558, 1, 430, 628, 1, 84, 657, 1, 323, 533, 1, 228, 552, 1, 358, 682, 1, 156, 677, 1, 452, 811, 1, 80, 816, 1, 192, 336, 1, 218, 418, 1], "image_id": 119952, "bbox": [18, 308, 486, 562], "category_id": 1, "id": 159140}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [512, 305, 1, 501, 278, 1, 546, 408, 1, 473, 301, 1, 523, 509, 1, 382, 334, 1, 652, 450, 1, 572, 458, 1, 709, 613, 1, 434, 513, 1, 849, 674, 1, 403, 691, 1, 488, 179, 1, 493, 258, 1], "image_id": 115830, "bbox": [287, 163, 620, 583], "category_id": 1, "id": 159145}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [273, 184, 1, 157, 192, 1, 296, 271, 1, 140, 275, 1, 316, 341, 1, 128, 346, 1, 237, 360, 1, 167, 357, 1, 240, 481, 1, 175, 477, 1, 247, 596, 1, 187, 597, 1, 207, 83, 1, 211, 167, 1], "image_id": 116202, "bbox": [111, 66, 205, 559], "category_id": 1, "id": 159151}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [385, 237, 1, 240, 244, 1, 376, 317, 1, 231, 363, 1, 354, 363, 1, 241, 462, 1, 344, 432, 1, 273, 426, 1, 343, 548, 1, 292, 527, 1, 0, 0, 0, 0, 0, 0, 308, 117, 1, 312, 213, 1], "image_id": 114221, "bbox": [199, 86, 216, 515], "category_id": 1, "id": 159168}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [501, 353, 1, 409, 354, 1, 508, 437, 1, 409, 458, 1, 479, 388, 1, 404, 527, 1, 487, 508, 1, 430, 511, 1, 502, 644, 1, 439, 642, 1, 526, 721, 1, 452, 747, 1, 452, 254, 1, 452, 328, 1], "image_id": 114577, "bbox": [386, 245, 171, 555], "category_id": 1, "id": 159186}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [466, 238, 1, 345, 219, 1, 540, 308, 1, 273, 288, 1, 555, 259, 1, 281, 254, 1, 414, 432, 1, 350, 411, 1, 483, 586, 1, 340, 334, 1, 423, 689, 1, 245, 380, 1, 410, 115, 1, 405, 211, 1], "image_id": 111305, "bbox": [182, 97, 414, 655], "category_id": 1, "id": 159208}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [490, 185, 1, 312, 187, 1, 484, 290, 1, 301, 299, 1, 440, 355, 1, 297, 404, 1, 413, 353, 1, 343, 357, 1, 407, 473, 1, 343, 469, 1, 405, 560, 1, 342, 564, 1, 400, 56, 1, 397, 150, 1], "image_id": 113188, "bbox": [238, 0, 289, 470], "category_id": 1, "id": 159210}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [535, 400, 1, 593, 394, 1, 537, 447, 1, 600, 433, 1, 573, 455, 1, 621, 445, 1, 558, 502, 1, 590, 500, 1, 566, 574, 1, 605, 554, 1, 568, 645, 1, 597, 626, 1, 559, 332, 1, 562, 375, 1], "image_id": 114577, "bbox": [517, 314, 114, 352], "category_id": 1, "id": 159212}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [495, 143, 1, 387, 214, 1, 515, 109, 1, 327, 322, 1, 574, 94, 1, 304, 461, 1, 405, 403, 1, 341, 414, 1, 452, 559, 1, 364, 592, 1, 335, 562, 1, 355, 696, 1, 441, 70, 1, 446, 161, 1], "image_id": 114167, "bbox": [287, 28, 337, 800], "category_id": 1, "id": 159232}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [393, 185, 1, 283, 208, 1, 435, 265, 1, 280, 284, 1, 357, 285, 1, 305, 345, 1, 433, 390, 1, 351, 384, 1, 428, 571, 1, 245, 463, 1, 493, 688, 1, 156, 645, 1, 186, 209, 1, 248, 272, 1], "image_id": 114778, "bbox": [58, 55, 469, 704], "category_id": 1, "id": 159269}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [300, 254, 1, 320, 228, 1, 0, 0, 0, 343, 271, 1, 0, 0, 0, 278, 260, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 126, 1, 316, 202, 1], "image_id": 109925, "bbox": [102, 103, 296, 196], "category_id": 1, "id": 159290}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [636, 271, 1, 632, 262, 1, 585, 308, 1, 612, 323, 1, 519, 288, 1, 592, 369, 1, 605, 396, 1, 596, 388, 1, 559, 426, 1, 548, 416, 1, 557, 473, 1, 543, 470, 1, 0, 0, 0, 651, 251, 1], "image_id": 109059, "bbox": [462, 229, 199, 110], "category_id": 1, "id": 159292}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [191, 306, 1, 131, 230, 1, 257, 406, 1, 3, 254, 1, 378, 456, 1, 87, 337, 1, 35, 488, 1, 50, 480, 1, 122, 646, 1, 209, 586, 1, 20, 773, 1, 54, 759, 1, 176, 121, 1, 164, 227, 1], "image_id": 115553, "bbox": [1, 97, 496, 782], "category_id": 1, "id": 159308}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 231, 1, 352, 244, 1, 460, 147, 1, 439, 155, 1, 460, 150, 1, 435, 141, 1, 377, 509, 1, 356, 511, 1, 366, 688, 1, 311, 658, 1, 350, 845, 1, 235, 779, 1, 298, 163, 1, 340, 223, 1], "image_id": 110722, "bbox": [185, 122, 305, 809], "category_id": 1, "id": 159326}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [503, 400, 1, 210, 403, 1, 521, 634, 1, 178, 605, 1, 340, 797, 1, 112, 655, 1, 478, 785, 1, 242, 758, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 109, 1, 333, 368, 1], "image_id": 116704, "bbox": [0, 56, 581, 843], "category_id": 1, "id": 159332}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [178, 349, 1, 52, 308, 1, 218, 424, 1, 45, 427, 1, 234, 458, 1, 145, 393, 1, 91, 488, 1, 18, 485, 1, 178, 597, 1, 147, 598, 1, 123, 700, 1, 205, 768, 1, 130, 202, 1, 120, 299, 1], "image_id": 116555, "bbox": [0, 177, 295, 648], "category_id": 1, "id": 159364}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [673, 185, 1, 595, 180, 1, 685, 233, 1, 573, 238, 1, 662, 285, 1, 586, 267, 1, 645, 269, 1, 613, 268, 1, 623, 301, 1, 580, 305, 1, 623, 352, 1, 591, 360, 1, 626, 113, 1, 629, 174, 1], "image_id": 118969, "bbox": [558, 96, 120, 326], "category_id": 1, "id": 159366}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [648, 155, 1, 547, 157, 1, 734, 196, 1, 501, 185, 1, 740, 234, 1, 439, 181, 1, 659, 333, 1, 596, 314, 1, 609, 464, 1, 548, 421, 1, 691, 403, 1, 541, 544, 1, 581, 65, 1, 592, 144, 1], "image_id": 110601, "bbox": [366, 52, 397, 529], "category_id": 1, "id": 159372}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [826, 328, 1, 905, 307, 1, 784, 500, 1, 0, 0, 0, 733, 476, 1, 912, 478, 1, 822, 636, 1, 897, 633, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 799, 173, 1, 837, 275, 1], "image_id": 111013, "bbox": [690, 153, 309, 513], "category_id": 1, "id": 159373}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [356, 258, 1, 228, 290, 1, 421, 319, 1, 252, 428, 1, 412, 275, 1, 347, 466, 1, 363, 436, 1, 242, 468, 1, 495, 470, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 147, 1, 306, 246, 1], "image_id": 112303, "bbox": [188, 112, 354, 420], "category_id": 1, "id": 159375}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 536, 124, 1, 0, 0, 0, 486, 163, 1, 413, 157, 1, 501, 332, 1, 455, 337, 1, 494, 489, 1, 470, 541, 1, 261, 118, 1, 293, 206, 1], "image_id": 109568, "bbox": [255, 2, 295, 637], "category_id": 1, "id": 159398}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [372, 174, 1, 260, 194, 1, 393, 262, 1, 250, 293, 1, 388, 344, 1, 252, 375, 1, 355, 378, 1, 281, 378, 1, 357, 518, 1, 283, 520, 1, 355, 633, 1, 284, 638, 1, 317, 79, 1, 317, 165, 1], "image_id": 109194, "bbox": [244, 72, 170, 622], "category_id": 1, "id": 159405}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 383, 1, 227, 383, 1, 376, 509, 1, 199, 446, 1, 388, 600, 1, 168, 489, 1, 376, 577, 1, 275, 583, 1, 427, 655, 1, 156, 716, 1, 416, 786, 1, 82, 890, 1, 261, 307, 1, 284, 374, 1], "image_id": 110189, "bbox": [135, 257, 312, 600], "category_id": 1, "id": 159406}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [522, 241, 1, 433, 248, 1, 505, 285, 1, 401, 234, 1, 461, 241, 1, 377, 223, 1, 513, 415, 1, 450, 413, 1, 502, 483, 1, 395, 485, 1, 544, 458, 1, 454, 467, 1, 474, 157, 1, 471, 226, 1], "image_id": 117258, "bbox": [337, 130, 289, 398], "category_id": 1, "id": 159433}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [231, 372, 1, 403, 363, 1, 159, 426, 1, 501, 433, 1, 68, 458, 1, 543, 411, 1, 228, 602, 1, 269, 543, 1, 413, 683, 1, 355, 671, 1, 300, 750, 1, 298, 776, 1, 0, 0, 0, 294, 328, 1], "image_id": 114091, "bbox": [16, 288, 558, 545], "category_id": 1, "id": 159434}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [450, 224, 1, 274, 220, 1, 442, 369, 1, 198, 356, 1, 520, 466, 1, 314, 393, 1, 385, 520, 1, 285, 530, 1, 498, 657, 1, 387, 744, 1, 446, 860, 1, 271, 794, 1, 361, 53, 1, 343, 215, 1], "image_id": 112937, "bbox": [176, 12, 403, 953], "category_id": 1, "id": 159447}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 386, 1, 310, 394, 1, 402, 474, 1, 328, 476, 1, 413, 445, 1, 372, 446, 1, 392, 546, 1, 351, 550, 1, 402, 669, 1, 357, 665, 1, 405, 775, 1, 361, 785, 1, 372, 300, 1, 347, 374, 1], "image_id": 112404, "bbox": [308, 283, 149, 549], "category_id": 1, "id": 159452}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [146, 161, 1, 38, 176, 1, 140, 186, 1, 25, 251, 1, 128, 190, 1, 25, 314, 1, 101, 398, 1, 24, 381, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 80, 1, 88, 156, 1], "image_id": 114221, "bbox": [2, 53, 183, 547], "category_id": 1, "id": 159473}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [176, 125, 1, 114, 148, 1, 156, 177, 1, 178, 198, 1, 198, 219, 1, 268, 195, 1, 159, 316, 1, 99, 329, 1, 214, 386, 1, 127, 460, 1, 175, 484, 1, 148, 559, 1, 145, 34, 1, 141, 112, 1], "image_id": 119583, "bbox": [46, 21, 276, 576], "category_id": 1, "id": 159476}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [351, 325, 1, 146, 275, 1, 417, 469, 1, 79, 353, 1, 494, 589, 1, 133, 419, 1, 304, 480, 1, 216, 507, 1, 382, 688, 1, 320, 634, 1, 343, 783, 1, 404, 787, 1, 281, 142, 1, 257, 267, 1], "image_id": 115104, "bbox": [63, 112, 515, 794], "category_id": 1, "id": 159485}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [503, 154, 1, 341, 189, 1, 610, 237, 1, 403, 314, 1, 737, 274, 1, 511, 290, 1, 510, 370, 1, 411, 401, 1, 530, 507, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 485, 50, 1, 422, 139, 1], "image_id": 116518, "bbox": [302, 46, 523, 553], "category_id": 1, "id": 159493}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [272, 312, 1, 185, 312, 1, 308, 398, 1, 186, 391, 1, 234, 409, 1, 274, 383, 1, 279, 522, 1, 215, 530, 1, 272, 658, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 197, 1, 228, 277, 1], "image_id": 115210, "bbox": [173, 168, 159, 530], "category_id": 1, "id": 159499}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 139, 1, 176, 156, 1, 319, 217, 1, 174, 225, 1, 329, 288, 1, 190, 236, 1, 292, 337, 1, 230, 337, 1, 298, 448, 1, 221, 446, 1, 296, 550, 1, 218, 553, 1, 221, 37, 1, 237, 120, 1], "image_id": 113403, "bbox": [146, 30, 202, 572], "category_id": 1, "id": 159507}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [370, 318, 1, 224, 290, 1, 333, 436, 1, 191, 411, 1, 240, 412, 1, 283, 448, 1, 330, 560, 1, 244, 561, 1, 350, 720, 1, 235, 703, 1, 366, 852, 1, 235, 881, 1, 278, 157, 1, 290, 271, 1], "image_id": 110464, "bbox": [168, 133, 239, 806], "category_id": 1, "id": 159517}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [363, 312, 1, 241, 315, 1, 309, 457, 1, 206, 428, 1, 285, 343, 1, 170, 354, 1, 315, 548, 1, 251, 538, 1, 215, 718, 1, 267, 722, 1, 0, 0, 0, 0, 0, 0, 268, 146, 1, 289, 286, 1], "image_id": 114661, "bbox": [109, 121, 280, 618], "category_id": 1, "id": 159520}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [414, 508, 1, 286, 510, 1, 439, 611, 1, 342, 668, 1, 459, 532, 1, 384, 701, 1, 419, 760, 1, 368, 763, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 351, 1, 346, 478, 1], "image_id": 109595, "bbox": [209, 333, 291, 404], "category_id": 1, "id": 159521}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [257, 223, 1, 164, 222, 1, 224, 345, 1, 115, 339, 1, 301, 369, 1, 208, 307, 1, 250, 427, 1, 190, 424, 1, 173, 641, 1, 253, 661, 1, 104, 767, 1, 303, 844, 1, 234, 80, 1, 222, 198, 1], "image_id": 114566, "bbox": [62, 49, 327, 860], "category_id": 1, "id": 159528}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [684, 220, 1, 550, 223, 1, 713, 267, 1, 468, 292, 1, 784, 320, 1, 386, 356, 1, 624, 391, 1, 551, 392, 1, 739, 462, 1, 463, 553, 1, 709, 636, 1, 367, 678, 1, 639, 102, 1, 614, 199, 1], "image_id": 112608, "bbox": [309, 78, 544, 651], "category_id": 1, "id": 159536}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [813, 152, 1, 768, 157, 1, 829, 200, 1, 762, 199, 1, 808, 216, 1, 773, 223, 1, 804, 234, 1, 780, 234, 1, 801, 293, 1, 780, 293, 1, 800, 350, 1, 780, 350, 1, 792, 96, 1, 792, 139, 1], "image_id": 111855, "bbox": [749, 92, 81, 279], "category_id": 1, "id": 159554}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [202, 117, 1, 163, 109, 1, 186, 139, 1, 146, 124, 1, 166, 156, 1, 164, 141, 1, 206, 150, 1, 186, 144, 1, 191, 167, 1, 176, 168, 1, 206, 192, 1, 181, 185, 1, 172, 78, 1, 192, 102, 1], "image_id": 119053, "bbox": [129, 61, 102, 153], "category_id": 1, "id": 159574}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [458, 95, 1, 374, 122, 1, 537, 141, 1, 393, 168, 1, 520, 142, 1, 344, 199, 1, 514, 300, 1, 440, 275, 1, 474, 444, 1, 324, 279, 1, 579, 504, 1, 269, 420, 1, 365, 20, 1, 411, 90, 1], "image_id": 114158, "bbox": [173, 3, 460, 582], "category_id": 1, "id": 159608}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [531, 265, 1, 437, 274, 1, 587, 317, 1, 392, 321, 1, 548, 323, 1, 426, 329, 1, 510, 414, 1, 454, 411, 1, 506, 501, 1, 447, 510, 1, 502, 603, 1, 439, 588, 1, 493, 192, 1, 486, 254, 1], "image_id": 115881, "bbox": [397, 178, 211, 462], "category_id": 1, "id": 159612}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [127, 66, 1, 25, 76, 1, 129, 156, 1, 13, 175, 1, 150, 221, 1, 12, 254, 1, 110, 253, 1, 49, 267, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 60, 1], "image_id": 109925, "bbox": [1, 0, 183, 299], "category_id": 1, "id": 159623}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 370, 1, 396, 339, 1, 380, 425, 1, 398, 394, 1, 386, 465, 1, 394, 431, 1, 425, 487, 1, 448, 443, 1, 382, 546, 1, 440, 424, 1, 484, 554, 1, 478, 454, 1, 363, 294, 1, 380, 345, 1], "image_id": 109564, "bbox": [341, 280, 206, 310], "category_id": 1, "id": 159632}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [618, 109, 1, 455, 145, 1, 592, 265, 1, 447, 247, 1, 437, 274, 1, 473, 250, 1, 623, 299, 1, 512, 306, 1, 580, 328, 1, 425, 317, 1, 0, 0, 0, 486, 505, 1, 431, 31, 1, 517, 117, 1], "image_id": 114306, "bbox": [356, 0, 320, 530], "category_id": 1, "id": 159647}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [590, 245, 1, 452, 176, 1, 564, 250, 1, 348, 172, 1, 613, 309, 1, 251, 195, 1, 384, 356, 1, 350, 355, 1, 287, 536, 1, 486, 445, 1, 133, 655, 1, 416, 617, 1, 585, 113, 1, 529, 203, 1], "image_id": 113840, "bbox": [79, 77, 602, 588], "category_id": 1, "id": 159650}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [667, 218, 1, 584, 219, 1, 662, 279, 1, 554, 293, 1, 668, 343, 1, 561, 355, 1, 654, 374, 1, 584, 374, 1, 668, 476, 1, 584, 467, 1, 656, 583, 1, 575, 550, 1, 629, 133, 1, 632, 198, 1], "image_id": 115937, "bbox": [545, 118, 149, 507], "category_id": 1, "id": 159652}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [473, 181, 1, 360, 187, 1, 500, 261, 1, 343, 267, 1, 470, 255, 1, 376, 268, 1, 445, 334, 1, 402, 334, 1, 449, 465, 1, 390, 462, 1, 460, 587, 1, 385, 586, 1, 408, 82, 1, 411, 159, 1], "image_id": 111175, "bbox": [326, 71, 191, 559], "category_id": 1, "id": 159654}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 175, 1, 215, 132, 1, 385, 210, 1, 125, 161, 1, 461, 223, 1, 133, 184, 1, 229, 334, 1, 188, 318, 1, 210, 454, 1, 271, 399, 1, 145, 521, 1, 277, 536, 1, 298, 68, 1, 263, 139, 1], "image_id": 117034, "bbox": [106, 53, 374, 549], "category_id": 1, "id": 159662}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 240, 1, 238, 301, 1, 454, 291, 1, 261, 425, 1, 433, 381, 1, 221, 513, 1, 364, 480, 1, 283, 480, 1, 267, 593, 1, 219, 618, 1, 263, 766, 1, 326, 664, 1, 226, 159, 1, 267, 247, 1], "image_id": 111548, "bbox": [151, 133, 270, 687], "category_id": 1, "id": 159678}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [332, 226, 1, 209, 234, 1, 318, 346, 1, 226, 338, 1, 367, 313, 1, 260, 277, 1, 310, 478, 1, 238, 483, 1, 336, 616, 1, 228, 616, 1, 0, 0, 0, 0, 0, 0, 277, 123, 1, 277, 210, 1], "image_id": 111160, "bbox": [180, 95, 215, 600], "category_id": 1, "id": 159679}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [639, 215, 1, 625, 202, 1, 627, 341, 1, 614, 306, 1, 524, 356, 1, 544, 325, 1, 738, 368, 1, 720, 366, 1, 676, 542, 1, 662, 523, 1, 0, 0, 0, 0, 0, 0, 540, 96, 1, 601, 176, 1], "image_id": 112724, "bbox": [453, 62, 385, 556], "category_id": 1, "id": 159685}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [518, 223, 1, 311, 203, 1, 514, 355, 1, 240, 278, 1, 490, 480, 1, 211, 390, 1, 448, 488, 1, 346, 488, 1, 421, 644, 1, 352, 637, 1, 406, 779, 1, 353, 782, 1, 434, 43, 1, 422, 178, 1], "image_id": 113583, "bbox": [152, 22, 394, 849], "category_id": 1, "id": 159691}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 262, 1, 302, 244, 1, 313, 339, 1, 294, 296, 1, 261, 352, 1, 263, 318, 1, 334, 400, 1, 309, 400, 1, 333, 480, 1, 312, 455, 1, 335, 555, 1, 311, 510, 1, 259, 182, 1, 299, 227, 1], "image_id": 116501, "bbox": [217, 148, 150, 375], "category_id": 1, "id": 159694}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [449, 533, 1, 375, 526, 1, 459, 572, 1, 358, 565, 1, 452, 603, 1, 345, 594, 1, 424, 618, 1, 392, 616, 1, 416, 649, 1, 393, 673, 1, 412, 673, 1, 396, 711, 1, 378, 450, 1, 403, 509, 1], "image_id": 116168, "bbox": [327, 431, 170, 326], "category_id": 1, "id": 159696}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 226, 1, 147, 180, 1, 360, 324, 1, 108, 349, 1, 466, 345, 1, 246, 329, 1, 246, 465, 1, 158, 466, 1, 235, 624, 1, 152, 619, 1, 226, 748, 1, 148, 764, 1, 307, 47, 1, 252, 182, 1], "image_id": 116242, "bbox": [40, 0, 481, 800], "category_id": 1, "id": 159701}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [310, 370, 1, 219, 361, 1, 338, 448, 1, 179, 408, 1, 285, 504, 1, 205, 464, 1, 282, 538, 1, 236, 536, 1, 281, 652, 1, 220, 641, 1, 283, 766, 1, 227, 762, 1, 265, 257, 1, 265, 340, 1], "image_id": 111658, "bbox": [157, 240, 196, 555], "category_id": 1, "id": 159712}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [313, 245, 1, 465, 300, 1, 210, 400, 1, 448, 500, 1, 176, 604, 1, 625, 462, 1, 177, 644, 1, 314, 670, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 55, 1, 478, 210, 1], "image_id": 114064, "bbox": [94, 14, 664, 725], "category_id": 1, "id": 159715}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 959, 153, 1, 0, 0, 0, 910, 225, 1, 0, 0, 0, 891, 278, 1, 0, 0, 0, 972, 375, 1, 0, 0, 0, 0, 0, 0, 935, 685, 1, 939, 595, 1, 0, 0, 0, 0, 0, 0], "image_id": 119797, "bbox": [867, 82, 131, 686], "category_id": 1, "id": 159718}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [668, 217, 1, 585, 200, 1, 639, 313, 1, 513, 245, 1, 558, 279, 1, 429, 291, 1, 610, 406, 1, 561, 374, 1, 501, 470, 1, 482, 458, 1, 477, 568, 1, 588, 544, 1, 618, 99, 1, 638, 183, 1], "image_id": 111782, "bbox": [383, 67, 315, 531], "category_id": 1, "id": 159721}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [53, 252, 1, 0, 0, 0, 111, 343, 1, 0, 0, 0, 110, 425, 1, 0, 0, 0, 66, 415, 1, 10, 428, 1, 96, 525, 1, 49, 537, 1, 165, 486, 1, 125, 668, 1, 154, 212, 1, 146, 277, 1], "image_id": 114749, "bbox": [1, 175, 158, 543], "category_id": 1, "id": 159733}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [506, 265, 1, 377, 256, 1, 515, 370, 1, 319, 337, 1, 479, 315, 1, 329, 266, 1, 482, 431, 1, 418, 435, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 445, 137, 1, 442, 241, 1], "image_id": 116311, "bbox": [283, 111, 255, 487], "category_id": 1, "id": 159738}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [275, 307, 1, 260, 300, 1, 303, 429, 1, 281, 432, 1, 391, 422, 1, 328, 528, 1, 300, 524, 1, 284, 525, 1, 294, 716, 1, 278, 713, 1, 291, 906, 1, 274, 906, 1, 268, 163, 1, 256, 275, 1], "image_id": 117093, "bbox": [0, 140, 375, 855], "category_id": 1, "id": 159756}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [479, 278, 1, 348, 286, 1, 487, 410, 1, 285, 388, 1, 502, 536, 1, 209, 430, 1, 456, 537, 1, 356, 540, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 125, 1, 406, 247, 1], "image_id": 111463, "bbox": [316, 109, 210, 481], "category_id": 1, "id": 159757}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [361, 350, 1, 207, 349, 1, 410, 497, 1, 58, 451, 1, 428, 419, 1, 103, 431, 1, 326, 605, 1, 227, 605, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 222, 1, 277, 295, 1], "image_id": 109726, "bbox": [43, 189, 411, 496], "category_id": 1, "id": 159763}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [598, 52, 1, 405, 75, 1, 616, 132, 1, 380, 181, 1, 575, 183, 1, 355, 287, 1, 564, 214, 1, 486, 215, 1, 604, 214, 1, 410, 231, 1, 581, 311, 1, 483, 263, 1, 0, 0, 0, 501, 32, 1], "image_id": 116024, "bbox": [322, 0, 325, 378], "category_id": 1, "id": 159766}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 247, 1, 221, 274, 1, 455, 261, 1, 152, 312, 1, 516, 281, 1, 86, 331, 1, 353, 485, 1, 273, 487, 1, 386, 680, 1, 215, 684, 1, 466, 779, 1, 207, 833, 1, 258, 136, 1, 275, 237, 1], "image_id": 115924, "bbox": [7, 108, 509, 746], "category_id": 1, "id": 159770}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 183, 1, 299, 174, 1, 453, 221, 1, 238, 189, 1, 501, 256, 1, 162, 231, 1, 356, 328, 1, 300, 318, 1, 364, 437, 1, 253, 427, 1, 326, 507, 1, 217, 461, 1, 364, 129, 1, 360, 170, 1], "image_id": 112304, "bbox": [105, 99, 434, 450], "category_id": 1, "id": 159810}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 467, 1, 229, 423, 1, 444, 469, 1, 230, 392, 1, 525, 546, 1, 216, 357, 1, 393, 594, 1, 296, 597, 1, 395, 716, 1, 181, 720, 1, 534, 828, 1, 127, 878, 1, 189, 394, 1, 257, 446, 1], "image_id": 116513, "bbox": [25, 321, 596, 610], "category_id": 1, "id": 159811}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [735, 240, 1, 612, 220, 1, 749, 354, 1, 537, 244, 1, 727, 428, 1, 487, 250, 1, 687, 445, 1, 620, 445, 1, 691, 606, 1, 617, 608, 1, 0, 0, 0, 0, 0, 0, 651, 103, 1, 663, 200, 1], "image_id": 115609, "bbox": [446, 81, 326, 543], "category_id": 1, "id": 159823}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 324, 1, 402, 279, 1, 387, 437, 1, 431, 288, 1, 303, 483, 1, 443, 305, 1, 476, 519, 1, 415, 529, 1, 575, 645, 1, 322, 613, 1, 697, 722, 1, 389, 748, 1, 318, 204, 1, 365, 285, 1], "image_id": 109827, "bbox": [227, 185, 513, 631], "category_id": 1, "id": 159831}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [369, 669, 1, 444, 646, 1, 327, 777, 1, 419, 756, 1, 342, 829, 1, 369, 674, 1, 427, 852, 1, 495, 840, 1, 320, 815, 1, 434, 759, 1, 436, 908, 1, 472, 887, 1, 370, 527, 1, 391, 615, 1], "image_id": 112267, "bbox": [285, 482, 281, 486], "category_id": 1, "id": 159845}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 200, 1, 202, 205, 1, 364, 301, 1, 186, 289, 1, 418, 306, 1, 130, 324, 1, 303, 415, 1, 237, 415, 1, 304, 549, 1, 232, 549, 1, 300, 651, 1, 246, 649, 1, 263, 65, 1, 272, 172, 1], "image_id": 111446, "bbox": [88, 43, 365, 714], "category_id": 1, "id": 159885}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [242, 116, 1, 106, 112, 1, 273, 219, 1, 101, 226, 1, 201, 250, 1, 93, 323, 1, 215, 346, 1, 148, 344, 1, 207, 489, 1, 135, 492, 1, 0, 0, 0, 0, 0, 0, 140, 14, 1, 166, 100, 1], "image_id": 116439, "bbox": [58, 1, 236, 377], "category_id": 1, "id": 159897}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [236, 500, 1, 195, 505, 1, 277, 547, 1, 176, 574, 1, 282, 593, 1, 107, 571, 1, 185, 574, 1, 127, 578, 1, 197, 463, 1, 27, 571, 1, 193, 359, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 111161, "bbox": [0, 346, 226, 267], "category_id": 1, "id": 159904}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [712, 168, 1, 577, 141, 1, 743, 238, 1, 504, 140, 1, 768, 299, 1, 433, 177, 1, 631, 338, 1, 576, 312, 1, 636, 445, 1, 603, 406, 1, 623, 513, 1, 623, 535, 1, 665, 70, 1, 653, 139, 1], "image_id": 112593, "bbox": [401, 49, 324, 594], "category_id": 1, "id": 159906}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [224, 200, 1, 175, 209, 1, 243, 227, 1, 170, 243, 1, 263, 253, 1, 170, 278, 1, 231, 278, 1, 201, 287, 1, 246, 322, 1, 212, 332, 1, 243, 357, 1, 211, 361, 1, 201, 154, 1, 203, 192, 1], "image_id": 114487, "bbox": [155, 145, 132, 252], "category_id": 1, "id": 159911}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [504, 192, 1, 373, 196, 1, 525, 260, 1, 349, 262, 1, 504, 314, 1, 349, 301, 1, 485, 348, 1, 418, 339, 1, 402, 399, 1, 350, 454, 1, 370, 527, 1, 333, 556, 1, 446, 96, 1, 442, 174, 1], "image_id": 114929, "bbox": [256, 70, 302, 505], "category_id": 1, "id": 159912}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 363, 1, 323, 343, 1, 305, 436, 1, 236, 388, 1, 397, 479, 1, 308, 420, 1, 340, 560, 1, 292, 569, 1, 447, 656, 1, 352, 718, 1, 484, 788, 1, 265, 708, 1, 398, 268, 1, 366, 351, 1], "image_id": 113504, "bbox": [202, 245, 379, 612], "category_id": 1, "id": 159913}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [525, 277, 1, 314, 289, 1, 559, 425, 1, 314, 421, 1, 544, 540, 1, 328, 547, 1, 520, 439, 1, 354, 441, 1, 532, 603, 1, 328, 600, 1, 561, 840, 1, 326, 843, 1, 404, 142, 1, 404, 234, 1], "image_id": 113246, "bbox": [260, 99, 356, 817], "category_id": 1, "id": 159921}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [530, 244, 1, 287, 255, 1, 662, 276, 1, 278, 416, 1, 682, 168, 1, 174, 472, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 463, 33, 1, 417, 201, 1], "image_id": 113013, "bbox": [99, 11, 619, 595], "category_id": 1, "id": 159923}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [673, 245, 1, 544, 249, 1, 708, 334, 1, 542, 323, 1, 656, 351, 1, 588, 342, 1, 660, 402, 1, 590, 402, 1, 710, 373, 1, 532, 365, 1, 694, 516, 1, 546, 516, 1, 590, 144, 1, 600, 226, 1], "image_id": 115789, "bbox": [491, 117, 257, 455], "category_id": 1, "id": 159925}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [100, 170, 1, 218, 163, 1, 78, 284, 1, 318, 154, 1, 161, 271, 1, 405, 121, 1, 118, 372, 1, 170, 373, 1, 126, 552, 1, 168, 535, 1, 72, 723, 1, 139, 725, 1, 202, 37, 1, 172, 117, 1], "image_id": 113043, "bbox": [30, 25, 454, 747], "category_id": 1, "id": 159928}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [284, 166, 1, 266, 160, 1, 294, 181, 1, 256, 174, 1, 307, 184, 1, 254, 177, 1, 274, 208, 1, 265, 209, 1, 273, 241, 1, 272, 239, 1, 265, 265, 1, 277, 274, 1, 294, 141, 1, 278, 155, 1], "image_id": 119215, "bbox": [246, 124, 66, 161], "category_id": 1, "id": 159943}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [133, 305, 1, 100, 295, 1, 109, 367, 1, 93, 363, 1, 122, 430, 1, 143, 423, 1, 125, 450, 1, 109, 450, 1, 139, 556, 1, 124, 560, 1, 128, 641, 1, 110, 647, 1, 183, 179, 1, 122, 269, 1], "image_id": 116331, "bbox": [36, 131, 204, 574], "category_id": 1, "id": 159949}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [412, 201, 1, 303, 204, 1, 445, 277, 1, 283, 275, 1, 429, 297, 1, 314, 310, 1, 383, 378, 1, 338, 383, 1, 350, 504, 1, 359, 499, 1, 386, 623, 1, 403, 615, 1, 345, 94, 1, 350, 177, 1], "image_id": 116528, "bbox": [308, 76, 159, 585], "category_id": 1, "id": 159952}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [339, 245, 1, 224, 251, 1, 333, 369, 1, 261, 331, 1, 367, 478, 1, 323, 243, 1, 321, 500, 1, 251, 503, 1, 363, 678, 1, 272, 691, 1, 327, 871, 1, 258, 870, 1, 285, 103, 1, 273, 215, 1], "image_id": 114137, "bbox": [187, 82, 216, 855], "category_id": 1, "id": 159954}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [598, 210, 1, 551, 195, 1, 625, 259, 1, 583, 245, 1, 596, 266, 1, 627, 251, 1, 602, 335, 1, 577, 339, 1, 667, 405, 1, 585, 462, 1, 633, 501, 1, 590, 555, 1, 602, 129, 1, 576, 177, 1], "image_id": 116035, "bbox": [524, 109, 174, 433], "category_id": 1, "id": 159979}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 11, 261, 1, 0, 0, 0, 35, 299, 1, 0, 0, 0, 62, 322, 1, 6, 309, 1, 2, 327, 1, 29, 287, 1, 52, 324, 1, 20, 326, 1, 17, 304, 1, 35, 217, 1, 15, 244, 1], "image_id": 110024, "bbox": [0, 206, 78, 145], "category_id": 1, "id": 159999}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [353, 84, 1, 427, 114, 1, 394, 123, 1, 473, 127, 1, 429, 141, 1, 505, 116, 1, 314, 222, 1, 343, 228, 1, 365, 291, 1, 364, 314, 1, 366, 381, 1, 314, 395, 1, 384, 35, 1, 387, 82, 1], "image_id": 118016, "bbox": [276, 23, 248, 422], "category_id": 1, "id": 160001}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 218, 1, 203, 216, 1, 316, 329, 1, 205, 348, 1, 368, 367, 1, 217, 438, 1, 309, 405, 1, 254, 406, 1, 264, 566, 1, 314, 580, 1, 252, 706, 1, 268, 734, 1, 239, 79, 1, 244, 183, 1], "image_id": 109431, "bbox": [109, 52, 233, 787], "category_id": 1, "id": 160010}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [231, 134, 1, 89, 169, 1, 327, 160, 1, 100, 266, 1, 395, 207, 1, 186, 289, 1, 199, 334, 1, 113, 337, 1, 236, 480, 1, 110, 472, 1, 151, 526, 1, 138, 619, 1, 160, 49, 1, 147, 135, 1], "image_id": 119812, "bbox": [58, 22, 423, 646], "category_id": 1, "id": 160013}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [517, 298, 1, 333, 306, 1, 538, 428, 1, 324, 467, 1, 567, 538, 1, 235, 458, 1, 494, 554, 1, 391, 556, 1, 500, 733, 1, 407, 732, 1, 513, 874, 1, 427, 860, 1, 412, 125, 1, 418, 255, 1], "image_id": 117093, "bbox": [199, 97, 405, 854], "category_id": 1, "id": 160026}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [632, 338, 1, 587, 342, 1, 683, 408, 1, 648, 417, 1, 720, 414, 1, 727, 434, 1, 676, 475, 1, 630, 480, 1, 785, 410, 1, 710, 419, 1, 708, 483, 1, 752, 483, 1, 631, 227, 1, 614, 309, 1], "image_id": 118139, "bbox": [525, 201, 301, 343], "category_id": 1, "id": 160036}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [184, 239, 1, 78, 250, 1, 219, 338, 1, 116, 339, 1, 246, 268, 1, 163, 259, 1, 188, 441, 1, 127, 449, 1, 217, 615, 1, 172, 615, 1, 0, 0, 0, 0, 0, 0, 161, 137, 1, 136, 219, 1], "image_id": 114230, "bbox": [58, 109, 232, 520], "category_id": 1, "id": 160039}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [156, 74, 1, 100, 79, 1, 169, 116, 1, 84, 128, 1, 176, 145, 1, 83, 157, 1, 141, 146, 1, 111, 147, 1, 143, 193, 1, 116, 204, 1, 143, 222, 1, 118, 242, 1, 132, 28, 1, 130, 68, 1], "image_id": 109775, "bbox": [62, 16, 125, 254], "category_id": 1, "id": 160046}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [553, 327, 1, 320, 290, 1, 576, 488, 1, 211, 378, 1, 446, 552, 1, 194, 464, 1, 502, 629, 1, 409, 597, 1, 533, 607, 1, 292, 627, 1, 492, 805, 1, 443, 652, 1, 411, 123, 1, 417, 300, 1], "image_id": 113281, "bbox": [156, 65, 507, 851], "category_id": 1, "id": 160047}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [273, 251, 1, 199, 251, 1, 278, 310, 1, 198, 316, 1, 280, 375, 1, 198, 373, 1, 270, 368, 1, 224, 371, 1, 266, 448, 1, 230, 453, 1, 0, 0, 0, 0, 0, 0, 235, 172, 1, 235, 230, 1], "image_id": 114274, "bbox": [173, 166, 104, 334], "category_id": 1, "id": 160055}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 227, 1, 407, 230, 1, 455, 244, 1, 400, 245, 1, 456, 261, 1, 390, 265, 1, 439, 278, 1, 421, 280, 1, 451, 309, 1, 417, 313, 1, 451, 317, 1, 417, 331, 1, 423, 198, 1, 424, 220, 1], "image_id": 119743, "bbox": [378, 190, 89, 164], "category_id": 1, "id": 160064}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [448, 226, 1, 266, 285, 1, 566, 234, 1, 227, 421, 1, 0, 0, 0, 273, 393, 1, 481, 544, 1, 368, 554, 1, 432, 736, 1, 212, 762, 1, 493, 809, 1, 230, 927, 1, 296, 96, 1, 334, 227, 1], "image_id": 112937, "bbox": [103, 64, 494, 913], "category_id": 1, "id": 160065}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 19, 425, 1, 22, 574, 1, 141, 605, 1, 160, 571, 1, 271, 574, 1, 45, 760, 1, 20, 787, 1, 210, 759, 1, 254, 865, 1, 0, 0, 0, 0, 0, 0, 184, 261, 1, 151, 388, 1], "image_id": 114849, "bbox": [0, 196, 320, 803], "category_id": 1, "id": 160070}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [680, 270, 1, 478, 267, 1, 704, 405, 1, 437, 351, 1, 633, 452, 1, 459, 372, 1, 613, 495, 1, 500, 491, 1, 657, 548, 1, 426, 539, 1, 486, 578, 1, 573, 584, 1, 580, 129, 1, 580, 257, 1], "image_id": 113307, "bbox": [422, 102, 314, 518], "category_id": 1, "id": 160078}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [448, 145, 1, 366, 160, 1, 433, 245, 1, 356, 248, 1, 375, 305, 1, 343, 311, 1, 473, 297, 1, 418, 295, 1, 454, 403, 1, 405, 403, 1, 460, 513, 1, 395, 510, 1, 379, 41, 1, 399, 129, 1], "image_id": 117274, "bbox": [314, 28, 184, 553], "category_id": 1, "id": 160094}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [384, 235, 1, 274, 243, 1, 444, 340, 1, 240, 314, 1, 468, 425, 1, 165, 342, 1, 418, 525, 1, 310, 527, 1, 570, 658, 1, 244, 672, 1, 636, 539, 1, 228, 837, 1, 250, 96, 1, 306, 207, 1], "image_id": 118164, "bbox": [80, 51, 649, 855], "category_id": 1, "id": 160101}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [492, 277, 1, 351, 314, 1, 546, 281, 1, 356, 390, 1, 603, 313, 1, 394, 409, 1, 478, 486, 1, 417, 488, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 184, 1, 418, 277, 1], "image_id": 113576, "bbox": [316, 148, 321, 483], "category_id": 1, "id": 160102}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [465, 359, 1, 321, 343, 1, 458, 530, 1, 302, 480, 1, 330, 557, 1, 212, 550, 1, 424, 676, 1, 327, 676, 1, 381, 901, 1, 327, 877, 1, 0, 0, 0, 0, 0, 0, 400, 195, 1, 389, 311, 1], "image_id": 115501, "bbox": [137, 169, 373, 768], "category_id": 1, "id": 160103}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [292, 220, 1, 248, 223, 1, 283, 272, 1, 244, 264, 1, 249, 279, 1, 227, 292, 1, 287, 325, 1, 262, 328, 1, 294, 387, 1, 260, 386, 1, 332, 414, 1, 273, 446, 1, 257, 151, 1, 265, 198, 1], "image_id": 114544, "bbox": [204, 141, 105, 333], "category_id": 1, "id": 160104}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 85, 1, 240, 87, 1, 274, 102, 1, 220, 102, 1, 289, 100, 1, 225, 124, 1, 254, 141, 1, 248, 141, 1, 240, 174, 1, 264, 173, 1, 227, 208, 1, 267, 211, 1, 261, 56, 1, 254, 76, 1], "image_id": 119562, "bbox": [214, 48, 71, 176], "category_id": 1, "id": 160137}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [768, 165, 1, 644, 178, 1, 810, 244, 1, 668, 251, 1, 761, 290, 1, 713, 293, 1, 758, 356, 1, 688, 348, 1, 748, 461, 1, 676, 455, 1, 743, 562, 1, 676, 553, 1, 662, 91, 1, 696, 162, 1], "image_id": 114190, "bbox": [617, 65, 225, 349], "category_id": 1, "id": 160151}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [605, 637, 1, 508, 577, 1, 598, 714, 1, 437, 641, 1, 589, 730, 1, 511, 628, 1, 518, 756, 1, 463, 742, 1, 518, 913, 1, 390, 900, 1, 0, 0, 0, 0, 0, 0, 610, 514, 1, 565, 591, 1], "image_id": 118172, "bbox": [377, 494, 255, 505], "category_id": 1, "id": 160153}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [386, 157, 1, 322, 175, 1, 386, 252, 1, 354, 270, 1, 438, 282, 1, 460, 288, 1, 285, 349, 1, 275, 363, 1, 417, 320, 1, 384, 336, 1, 387, 440, 1, 360, 430, 1, 422, 108, 1, 359, 165, 1], "image_id": 116597, "bbox": [177, 76, 355, 355], "category_id": 1, "id": 160154}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [439, 252, 1, 178, 317, 1, 543, 453, 1, 171, 500, 1, 481, 427, 1, 258, 474, 1, 447, 646, 1, 283, 670, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 86, 1, 265, 229, 1], "image_id": 113133, "bbox": [96, 26, 499, 927], "category_id": 1, "id": 160163}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 186, 1, 210, 203, 1, 366, 282, 1, 195, 293, 1, 377, 356, 1, 174, 369, 1, 307, 390, 1, 246, 392, 1, 301, 489, 1, 250, 512, 1, 330, 579, 1, 262, 607, 1, 271, 48, 1, 275, 154, 1], "image_id": 111350, "bbox": [140, 32, 274, 592], "category_id": 1, "id": 160170}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [160, 261, 1, 89, 291, 1, 212, 280, 1, 120, 318, 1, 261, 317, 1, 134, 259, 1, 209, 398, 1, 192, 401, 1, 258, 455, 1, 218, 473, 1, 282, 520, 1, 229, 546, 1, 117, 159, 1, 125, 259, 1], "image_id": 113209, "bbox": [53, 114, 230, 495], "category_id": 1, "id": 160179}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [822, 299, 1, 689, 300, 1, 853, 431, 1, 684, 417, 1, 756, 450, 1, 690, 445, 1, 795, 542, 1, 708, 543, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 743, 145, 1, 753, 261, 1], "image_id": 117095, "bbox": [628, 121, 262, 510], "category_id": 1, "id": 160211}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [503, 209, 1, 486, 229, 1, 501, 345, 1, 488, 336, 1, 477, 450, 1, 462, 405, 1, 556, 434, 1, 487, 395, 1, 501, 614, 1, 411, 255, 1, 671, 650, 1, 261, 340, 1, 420, 102, 1, 478, 177, 1], "image_id": 118814, "bbox": [156, 75, 583, 669], "category_id": 1, "id": 160219}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [664, 170, 1, 827, 186, 1, 725, 248, 1, 810, 258, 1, 799, 280, 1, 795, 164, 1, 697, 415, 1, 796, 405, 1, 771, 377, 1, 835, 392, 1, 775, 481, 1, 838, 497, 1, 768, 34, 1, 753, 132, 1], "image_id": 116931, "bbox": [637, 16, 224, 428], "category_id": 1, "id": 160221}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [469, 278, 1, 337, 247, 1, 469, 393, 1, 258, 227, 1, 369, 423, 1, 185, 222, 1, 431, 475, 1, 343, 471, 1, 349, 526, 1, 222, 503, 1, 235, 682, 1, 285, 673, 1, 343, 167, 1, 408, 237, 1], "image_id": 112021, "bbox": [132, 126, 376, 609], "category_id": 1, "id": 160227}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [485, 359, 1, 329, 466, 1, 547, 217, 1, 240, 507, 1, 606, 106, 1, 195, 528, 1, 582, 428, 1, 556, 543, 1, 711, 461, 1, 612, 576, 1, 867, 479, 1, 653, 588, 1, 370, 384, 1, 406, 420, 1], "image_id": 114252, "bbox": [150, 6, 814, 691], "category_id": 1, "id": 160231}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [440, 102, 1, 348, 94, 1, 563, 143, 1, 232, 105, 1, 655, 205, 1, 117, 122, 1, 474, 295, 1, 437, 305, 1, 365, 404, 1, 441, 431, 1, 259, 546, 1, 577, 490, 1, 322, 40, 1, 376, 94, 1], "image_id": 112587, "bbox": [36, 5, 598, 602], "category_id": 1, "id": 160238}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [241, 280, 1, 145, 290, 1, 238, 371, 1, 103, 427, 1, 320, 371, 1, 230, 440, 1, 238, 532, 1, 154, 546, 1, 287, 687, 1, 146, 737, 1, 226, 856, 1, 114, 900, 1, 227, 140, 1, 197, 256, 1], "image_id": 112962, "bbox": [69, 110, 311, 883], "category_id": 1, "id": 160268}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 108, 1, 313, 103, 1, 409, 167, 1, 275, 129, 1, 403, 149, 1, 269, 167, 1, 367, 217, 1, 328, 217, 1, 350, 304, 1, 360, 276, 1, 322, 363, 1, 293, 317, 1, 355, 38, 1, 357, 93, 1], "image_id": 116660, "bbox": [253, 31, 167, 335], "category_id": 1, "id": 160276}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [680, 326, 1, 550, 246, 1, 720, 446, 1, 470, 319, 1, 667, 513, 1, 465, 353, 1, 596, 409, 1, 532, 373, 1, 538, 595, 1, 412, 460, 1, 580, 545, 1, 409, 496, 1, 648, 194, 1, 620, 270, 1], "image_id": 118090, "bbox": [318, 173, 426, 446], "category_id": 1, "id": 160299}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [305, 149, 1, 362, 77, 1, 331, 240, 1, 327, 133, 1, 403, 231, 1, 453, 118, 1, 356, 371, 1, 398, 340, 1, 339, 541, 1, 566, 410, 1, 167, 649, 1, 646, 616, 1, 626, 43, 1, 602, 157, 1], "image_id": 116201, "bbox": [109, 17, 636, 666], "category_id": 1, "id": 160308}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 53, 1, 461, 62, 1, 557, 128, 1, 467, 128, 1, 547, 155, 1, 482, 153, 1, 522, 188, 1, 485, 190, 1, 526, 270, 1, 499, 267, 1, 530, 336, 1, 514, 314, 1, 0, 0, 0, 490, 32, 1], "image_id": 117227, "bbox": [436, 0, 151, 408], "category_id": 1, "id": 160313}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [104, 176, 1, 171, 176, 1, 98, 287, 1, 221, 294, 1, 172, 342, 1, 147, 340, 1, 133, 397, 1, 192, 396, 1, 124, 551, 1, 184, 555, 1, 118, 676, 1, 190, 704, 1, 141, 28, 1, 130, 125, 1], "image_id": 117616, "bbox": [39, 7, 230, 741], "category_id": 1, "id": 160324}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [673, 203, 1, 555, 203, 1, 739, 263, 1, 515, 251, 1, 740, 247, 1, 483, 261, 1, 666, 393, 1, 599, 416, 1, 723, 483, 1, 636, 503, 1, 697, 533, 1, 660, 651, 1, 625, 97, 1, 616, 184, 1], "image_id": 115129, "bbox": [429, 76, 334, 622], "category_id": 1, "id": 160326}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [281, 136, 1, 362, 122, 1, 227, 171, 1, 381, 190, 1, 185, 226, 1, 443, 230, 1, 330, 302, 1, 360, 299, 1, 383, 431, 1, 402, 420, 1, 407, 558, 1, 303, 508, 1, 362, 30, 1, 334, 98, 1], "image_id": 114012, "bbox": [135, 10, 355, 599], "category_id": 1, "id": 160332}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [437, 251, 1, 325, 260, 1, 440, 358, 1, 296, 349, 1, 444, 456, 1, 348, 379, 1, 411, 465, 1, 348, 463, 1, 386, 611, 1, 335, 612, 1, 373, 756, 1, 318, 754, 1, 387, 124, 1, 381, 219, 1], "image_id": 114554, "bbox": [277, 102, 194, 707], "category_id": 1, "id": 160343}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [669, 196, 1, 693, 215, 1, 632, 307, 1, 691, 301, 1, 587, 381, 1, 653, 361, 1, 869, 191, 1, 867, 196, 1, 791, 295, 1, 760, 309, 1, 912, 421, 1, 700, 449, 1, 596, 133, 1, 656, 174, 1], "image_id": 118089, "bbox": [565, 93, 403, 419], "category_id": 1, "id": 160344}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 304, 1, 226, 313, 1, 324, 359, 1, 242, 390, 1, 325, 416, 1, 263, 442, 1, 278, 418, 1, 223, 420, 1, 272, 501, 1, 235, 502, 1, 273, 576, 1, 231, 576, 1, 292, 246, 1, 276, 283, 1], "image_id": 118056, "bbox": [173, 202, 161, 417], "category_id": 1, "id": 160350}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [140, 214, 1, 241, 237, 1, 162, 274, 1, 313, 323, 1, 245, 305, 1, 333, 365, 1, 71, 455, 1, 159, 430, 1, 145, 497, 1, 353, 497, 1, 247, 501, 1, 243, 520, 1, 240, 120, 1, 202, 192, 1], "image_id": 117525, "bbox": [26, 96, 348, 459], "category_id": 1, "id": 160351}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 246, 1, 185, 279, 1, 257, 376, 1, 187, 411, 1, 329, 342, 1, 271, 367, 1, 284, 481, 1, 235, 492, 1, 376, 657, 1, 250, 683, 1, 480, 838, 1, 235, 880, 1, 254, 109, 1, 229, 215, 1], "image_id": 110841, "bbox": [152, 84, 423, 878], "category_id": 1, "id": 160355}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [627, 98, 1, 477, 160, 1, 702, 41, 1, 379, 180, 1, 747, 103, 1, 398, 239, 1, 641, 288, 1, 582, 311, 1, 581, 404, 1, 661, 427, 1, 518, 481, 1, 476, 466, 1, 498, 47, 1, 544, 120, 1], "image_id": 109889, "bbox": [352, 17, 430, 471], "category_id": 1, "id": 160363}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [860, 22, 1, 741, 35, 1, 913, 101, 1, 715, 141, 1, 894, 159, 1, 737, 113, 1, 815, 243, 1, 795, 242, 1, 747, 320, 1, 839, 342, 1, 843, 381, 1, 909, 461, 1, 0, 0, 0, 792, 8, 1], "image_id": 116134, "bbox": [696, 0, 243, 518], "category_id": 1, "id": 160374}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 297, 1, 233, 216, 1, 391, 445, 1, 187, 312, 1, 400, 571, 1, 203, 431, 1, 293, 557, 1, 240, 542, 1, 245, 724, 1, 288, 645, 1, 174, 904, 1, 374, 759, 1, 305, 90, 1, 311, 213, 1], "image_id": 110321, "bbox": [65, 60, 370, 879], "category_id": 1, "id": 160376}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [70, 203, 1, 0, 0, 0, 160, 316, 1, 34, 335, 1, 264, 371, 1, 148, 381, 1, 46, 459, 1, 0, 0, 0, 105, 648, 1, 73, 635, 1, 0, 0, 0, 31, 836, 1, 12, 53, 1, 6, 171, 1], "image_id": 115104, "bbox": [0, 27, 301, 906], "category_id": 1, "id": 160380}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 295, 1, 254, 280, 1, 425, 402, 1, 232, 336, 1, 366, 374, 1, 143, 387, 1, 421, 485, 1, 324, 494, 1, 511, 618, 1, 304, 564, 1, 615, 725, 1, 388, 728, 1, 306, 158, 1, 317, 260, 1], "image_id": 111908, "bbox": [63, 147, 606, 642], "category_id": 1, "id": 160388}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [481, 298, 1, 294, 255, 1, 508, 411, 1, 168, 240, 1, 467, 303, 1, 143, 145, 1, 413, 582, 1, 322, 593, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 108, 1, 395, 242, 1], "image_id": 115574, "bbox": [116, 40, 420, 591], "category_id": 1, "id": 160443}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [353, 333, 1, 431, 337, 1, 415, 449, 1, 504, 423, 1, 459, 368, 1, 500, 323, 1, 402, 562, 1, 450, 554, 1, 518, 582, 1, 564, 562, 1, 0, 0, 0, 0, 0, 0, 396, 169, 1, 389, 305, 1], "image_id": 115743, "bbox": [297, 143, 338, 461], "category_id": 1, "id": 160450}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 33, 1, 554, 30, 1, 376, 143, 1, 594, 137, 1, 349, 277, 1, 615, 239, 1, 431, 281, 1, 521, 284, 1, 419, 420, 1, 516, 431, 1, 411, 589, 1, 507, 576, 1, 302, 98, 1, 346, 193, 1], "image_id": 115777, "bbox": [329, 0, 283, 634], "category_id": 1, "id": 160456}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [270, 356, 1, 514, 407, 1, 248, 424, 1, 529, 604, 1, 366, 274, 1, 422, 607, 1, 281, 735, 1, 392, 739, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 137, 1, 393, 305, 1], "image_id": 113995, "bbox": [218, 111, 356, 644], "category_id": 1, "id": 160460}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [576, 230, 1, 521, 240, 1, 582, 253, 1, 569, 271, 1, 600, 230, 1, 608, 257, 1, 554, 302, 1, 514, 302, 1, 560, 273, 1, 537, 274, 1, 560, 324, 1, 533, 329, 1, 554, 173, 1, 551, 225, 1], "image_id": 114850, "bbox": [473, 156, 155, 211], "category_id": 1, "id": 160463}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 263, 1, 251, 268, 1, 388, 368, 1, 256, 378, 1, 339, 307, 1, 292, 449, 1, 404, 469, 1, 323, 475, 1, 440, 630, 1, 282, 628, 1, 500, 770, 1, 253, 783, 1, 276, 163, 1, 292, 252, 1], "image_id": 113228, "bbox": [186, 132, 344, 704], "category_id": 1, "id": 160465}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [306, 280, 1, 231, 283, 1, 320, 310, 1, 223, 331, 1, 298, 264, 1, 218, 383, 1, 292, 378, 1, 248, 380, 1, 290, 467, 1, 250, 465, 1, 0, 0, 0, 0, 0, 0, 269, 205, 1, 267, 264, 1], "image_id": 114274, "bbox": [211, 195, 123, 305], "category_id": 1, "id": 160508}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [158, 333, 1, 0, 0, 0, 200, 434, 1, 0, 0, 0, 211, 526, 1, 0, 0, 0, 117, 579, 1, 25, 579, 1, 116, 727, 1, 16, 760, 1, 112, 855, 1, 22, 892, 1, 70, 173, 1, 76, 288, 1], "image_id": 119518, "bbox": [0, 160, 238, 809], "category_id": 1, "id": 160512}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [227, 246, 1, 104, 257, 1, 224, 355, 1, 60, 390, 1, 366, 354, 1, 153, 422, 1, 202, 491, 1, 124, 493, 1, 338, 612, 1, 130, 632, 1, 240, 784, 1, 98, 830, 1, 185, 124, 1, 174, 231, 1], "image_id": 113921, "bbox": [38, 104, 381, 745], "category_id": 1, "id": 160534}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [704, 143, 1, 568, 166, 1, 769, 227, 1, 516, 250, 1, 722, 311, 1, 468, 327, 1, 751, 306, 1, 666, 302, 1, 682, 398, 1, 576, 377, 1, 678, 575, 1, 618, 551, 1, 573, 51, 1, 618, 126, 1], "image_id": 111939, "bbox": [439, 17, 397, 586], "category_id": 1, "id": 160542}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [376, 187, 1, 426, 192, 1, 354, 215, 1, 437, 229, 1, 347, 233, 1, 418, 256, 1, 395, 269, 1, 424, 267, 1, 394, 319, 1, 449, 314, 1, 403, 365, 1, 486, 360, 1, 408, 147, 1, 402, 175, 1], "image_id": 119930, "bbox": [332, 138, 188, 246], "category_id": 1, "id": 160549}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 203, 1, 476, 35, 1, 538, 366, 1, 355, 46, 1, 625, 529, 1, 282, 46, 1, 424, 295, 1, 444, 205, 1, 673, 347, 1, 686, 263, 1, 787, 505, 1, 510, 435, 1, 642, 48, 1, 537, 113, 1], "image_id": 117942, "bbox": [178, 4, 742, 578], "category_id": 1, "id": 160551}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 183, 1, 316, 153, 1, 578, 195, 1, 236, 151, 1, 669, 239, 1, 126, 168, 1, 468, 356, 1, 355, 361, 1, 475, 521, 1, 307, 519, 1, 532, 613, 1, 389, 528, 1, 369, 79, 1, 381, 151, 1], "image_id": 109989, "bbox": [87, 51, 644, 629], "category_id": 1, "id": 160572}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [259, 219, 1, 375, 183, 1, 197, 258, 1, 386, 228, 1, 163, 328, 1, 466, 246, 1, 296, 392, 1, 371, 380, 1, 346, 500, 1, 383, 441, 1, 421, 603, 1, 398, 579, 1, 325, 111, 1, 321, 170, 1], "image_id": 118224, "bbox": [128, 99, 375, 562], "category_id": 1, "id": 160587}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 771, 165, 1, 0, 0, 0, 736, 324, 1, 752, 480, 1, 684, 406, 1, 911, 596, 1, 831, 595, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 856, 117, 1], "image_id": 119650, "bbox": [573, 2, 386, 637], "category_id": 1, "id": 160588}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 129, 1, 188, 187, 1, 301, 198, 1, 201, 243, 1, 373, 222, 1, 208, 272, 1, 294, 376, 1, 206, 383, 1, 350, 501, 1, 175, 562, 1, 396, 670, 1, 127, 710, 1, 166, 42, 1, 216, 137, 1], "image_id": 114528, "bbox": [93, 16, 371, 777], "category_id": 1, "id": 160590}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 220, 1, 407, 210, 1, 416, 310, 1, 388, 297, 1, 368, 340, 1, 365, 326, 1, 372, 381, 1, 364, 354, 1, 259, 380, 1, 268, 342, 1, 164, 404, 1, 211, 395, 1, 355, 111, 1, 388, 185, 1], "image_id": 117983, "bbox": [180, 89, 313, 333], "category_id": 1, "id": 160592}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [667, 198, 1, 683, 190, 1, 672, 247, 1, 677, 224, 1, 648, 274, 1, 653, 232, 1, 670, 289, 1, 681, 288, 1, 679, 349, 1, 688, 346, 1, 687, 398, 1, 695, 395, 1, 660, 144, 1, 667, 180, 1], "image_id": 119922, "bbox": [636, 132, 76, 296], "category_id": 1, "id": 160593}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 357, 1, 272, 383, 1, 388, 387, 1, 285, 440, 1, 420, 409, 1, 326, 439, 1, 416, 437, 1, 369, 458, 1, 488, 497, 1, 427, 538, 1, 562, 557, 1, 473, 609, 1, 265, 319, 1, 299, 353, 1], "image_id": 118064, "bbox": [205, 284, 393, 365], "category_id": 1, "id": 160615}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [362, 230, 1, 267, 229, 1, 359, 311, 1, 215, 290, 1, 374, 376, 1, 255, 283, 1, 330, 381, 1, 272, 380, 1, 327, 504, 1, 276, 504, 1, 0, 0, 0, 0, 0, 0, 319, 121, 1, 319, 202, 1], "image_id": 110761, "bbox": [200, 108, 188, 293], "category_id": 1, "id": 160616}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 931, 40, 1, 736, 51, 1, 797, 35, 1, 827, 75, 1, 902, 176, 1, 791, 175, 1, 872, 311, 1, 747, 294, 1, 848, 415, 1, 719, 410, 1, 0, 0, 0, 0, 0, 0], "image_id": 119002, "bbox": [712, 1, 238, 329], "category_id": 1, "id": 160634}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [25, 343, 1, 0, 0, 0, 112, 403, 1, 0, 0, 0, 28, 434, 1, 0, 0, 0, 42, 558, 1, 0, 0, 0, 36, 705, 1, 0, 0, 0, 65, 860, 1, 0, 0, 0, 124, 205, 1, 135, 291, 1], "image_id": 117159, "bbox": [0, 210, 143, 716], "category_id": 1, "id": 160635}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 189, 1, 258, 185, 1, 428, 298, 1, 247, 294, 1, 404, 415, 1, 164, 334, 1, 304, 462, 1, 245, 432, 1, 164, 576, 1, 216, 590, 1, 343, 659, 1, 240, 770, 1, 293, 32, 1, 293, 156, 1], "image_id": 116086, "bbox": [101, 4, 361, 791], "category_id": 1, "id": 160639}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [195, 257, 1, 83, 337, 1, 273, 322, 1, 168, 417, 1, 376, 325, 1, 216, 349, 1, 180, 431, 1, 115, 475, 1, 291, 450, 1, 247, 487, 1, 205, 584, 1, 175, 581, 1, 136, 230, 1, 132, 281, 1], "image_id": 117475, "bbox": [25, 185, 401, 466], "category_id": 1, "id": 160641}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [321, 268, 1, 177, 269, 1, 326, 365, 1, 114, 351, 1, 306, 451, 1, 132, 416, 1, 279, 451, 1, 201, 451, 1, 355, 477, 1, 105, 481, 1, 247, 637, 1, 138, 646, 1, 252, 152, 1, 247, 251, 1], "image_id": 109607, "bbox": [28, 116, 331, 599], "category_id": 1, "id": 160647}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [331, 218, 1, 228, 245, 1, 423, 227, 1, 336, 348, 1, 529, 167, 1, 351, 224, 1, 306, 510, 1, 287, 508, 1, 208, 665, 1, 348, 710, 1, 119, 779, 1, 413, 879, 1, 295, 44, 1, 265, 197, 1], "image_id": 119647, "bbox": [65, 21, 478, 921], "category_id": 1, "id": 160658}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [584, 167, 1, 463, 185, 1, 651, 181, 1, 371, 203, 1, 737, 171, 1, 284, 216, 1, 497, 368, 1, 425, 338, 1, 561, 430, 1, 332, 441, 1, 489, 527, 1, 224, 517, 1, 492, 88, 1, 527, 170, 1], "image_id": 118610, "bbox": [147, 64, 626, 561], "category_id": 1, "id": 160674}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [718, 209, 1, 579, 196, 1, 763, 351, 1, 594, 308, 1, 800, 452, 1, 519, 335, 1, 650, 462, 1, 582, 451, 1, 654, 659, 1, 527, 592, 1, 652, 777, 1, 613, 655, 1, 607, 29, 1, 633, 155, 1], "image_id": 119693, "bbox": [462, 15, 370, 830], "category_id": 1, "id": 160676}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [161, 177, 1, 133, 176, 1, 176, 198, 1, 117, 198, 1, 189, 215, 1, 101, 213, 1, 158, 226, 1, 139, 225, 1, 169, 261, 1, 132, 259, 1, 178, 295, 1, 123, 296, 1, 117, 149, 1, 123, 169, 1], "image_id": 118286, "bbox": [78, 145, 115, 173], "category_id": 1, "id": 160691}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [162, 237, 1, 224, 234, 1, 252, 286, 1, 359, 285, 1, 338, 251, 1, 449, 229, 1, 198, 485, 1, 251, 485, 1, 217, 624, 1, 407, 539, 1, 109, 759, 1, 465, 700, 1, 179, 90, 1, 184, 189, 1], "image_id": 114091, "bbox": [125, 68, 452, 693], "category_id": 1, "id": 160700}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [706, 60, 1, 781, 74, 1, 694, 117, 1, 824, 135, 1, 657, 183, 1, 777, 190, 1, 696, 246, 1, 747, 246, 1, 700, 375, 1, 738, 374, 1, 706, 498, 1, 727, 500, 1, 0, 0, 0, 734, 38, 1], "image_id": 118893, "bbox": [640, 2, 207, 532], "category_id": 1, "id": 160753}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 164, 1, 447, 200, 1, 555, 299, 1, 363, 267, 1, 422, 343, 1, 274, 287, 1, 655, 370, 1, 592, 382, 1, 567, 482, 1, 517, 572, 1, 686, 655, 1, 657, 702, 1, 474, 18, 1, 484, 135, 1], "image_id": 117189, "bbox": [355, 3, 364, 803], "category_id": 1, "id": 160755}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [843, 192, 1, 887, 185, 1, 822, 307, 1, 930, 299, 1, 781, 384, 1, 956, 391, 1, 828, 422, 1, 875, 428, 1, 815, 544, 1, 847, 544, 1, 879, 684, 1, 853, 683, 1, 846, 71, 1, 850, 158, 1], "image_id": 111161, "bbox": [759, 45, 239, 689], "category_id": 1, "id": 160756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [499, 423, 1, 345, 432, 1, 544, 526, 1, 301, 525, 1, 478, 531, 1, 360, 529, 1, 449, 629, 1, 373, 627, 1, 442, 824, 1, 305, 718, 1, 532, 876, 1, 439, 779, 1, 420, 287, 1, 416, 417, 1], "image_id": 114849, "bbox": [276, 250, 285, 618], "category_id": 1, "id": 160762}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [102, 124, 1, 176, 105, 1, 90, 204, 1, 194, 159, 1, 103, 232, 1, 203, 211, 1, 127, 274, 1, 165, 272, 1, 141, 362, 1, 150, 360, 1, 156, 454, 1, 180, 404, 1, 116, 28, 1, 130, 86, 1], "image_id": 110464, "bbox": [72, 20, 161, 477], "category_id": 1, "id": 160771}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [87, 184, 1, 0, 0, 0, 63, 339, 1, 0, 0, 0, 83, 469, 1, 0, 0, 0, 61, 498, 1, 0, 0, 0, 79, 656, 1, 0, 0, 0, 100, 790, 1, 0, 0, 0, 147, 41, 1, 42, 158, 1], "image_id": 118056, "bbox": [0, 0, 213, 842], "category_id": 1, "id": 160775}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [521, 477, 1, 425, 468, 1, 507, 571, 1, 369, 547, 1, 484, 535, 1, 378, 482, 1, 499, 576, 1, 439, 576, 1, 510, 609, 1, 441, 615, 1, 0, 0, 0, 0, 0, 0, 488, 373, 1, 475, 458, 1], "image_id": 117785, "bbox": [352, 350, 189, 315], "category_id": 1, "id": 160805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 234, 1, 337, 285, 1, 489, 316, 1, 324, 385, 1, 551, 366, 1, 375, 485, 1, 419, 475, 1, 369, 485, 1, 379, 611, 1, 438, 607, 1, 320, 743, 1, 401, 750, 1, 389, 116, 1, 389, 223, 1], "image_id": 112962, "bbox": [284, 87, 318, 754], "category_id": 1, "id": 160817}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 137, 1, 362, 127, 1, 360, 208, 1, 377, 202, 1, 374, 275, 1, 379, 269, 1, 360, 270, 1, 390, 268, 1, 346, 353, 1, 396, 344, 1, 356, 433, 1, 394, 414, 1, 321, 34, 1, 339, 109, 1], "image_id": 113597, "bbox": [280, 16, 164, 442], "category_id": 1, "id": 160819}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 240, 1, 243, 244, 1, 421, 365, 1, 218, 362, 1, 343, 401, 1, 242, 395, 1, 347, 507, 1, 262, 510, 1, 330, 684, 1, 278, 687, 1, 337, 867, 1, 291, 867, 1, 308, 78, 1, 320, 202, 1], "image_id": 112930, "bbox": [183, 63, 269, 898], "category_id": 1, "id": 160820}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [339, 210, 1, 173, 211, 1, 356, 355, 1, 158, 351, 1, 338, 464, 1, 160, 433, 1, 291, 490, 1, 190, 490, 1, 289, 685, 1, 205, 688, 1, 280, 863, 1, 218, 863, 1, 253, 44, 1, 253, 175, 1], "image_id": 111005, "bbox": [124, 15, 264, 918], "category_id": 1, "id": 160824}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [636, 207, 1, 481, 235, 1, 699, 303, 1, 473, 361, 1, 714, 325, 1, 484, 470, 1, 559, 418, 1, 492, 416, 1, 658, 379, 1, 381, 351, 1, 592, 484, 1, 485, 507, 1, 625, 99, 1, 555, 193, 1], "image_id": 116188, "bbox": [349, 48, 385, 525], "category_id": 1, "id": 160832}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [101, 334, 1, 33, 362, 1, 146, 390, 1, 40, 432, 1, 127, 368, 1, 64, 382, 1, 112, 457, 1, 73, 465, 1, 117, 543, 1, 121, 558, 1, 63, 609, 1, 150, 639, 1, 70, 263, 1, 66, 331, 1], "image_id": 114067, "bbox": [0, 247, 189, 430], "category_id": 1, "id": 160833}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [365, 314, 1, 203, 370, 1, 436, 375, 1, 207, 489, 1, 538, 402, 1, 161, 584, 1, 369, 523, 1, 294, 555, 1, 470, 698, 1, 310, 651, 1, 514, 667, 1, 453, 805, 1, 228, 195, 1, 267, 310, 1], "image_id": 116341, "bbox": [105, 173, 494, 731], "category_id": 1, "id": 160838}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [242, 182, 1, 223, 181, 1, 253, 192, 1, 217, 194, 1, 262, 198, 1, 226, 191, 1, 236, 213, 1, 227, 215, 1, 228, 227, 1, 230, 232, 1, 232, 240, 1, 235, 248, 1, 236, 162, 1, 234, 179, 1], "image_id": 118659, "bbox": [210, 156, 63, 108], "category_id": 1, "id": 160858}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 491, 1, 585, 486, 1, 604, 502, 1, 568, 497, 1, 588, 485, 1, 570, 481, 1, 599, 539, 1, 586, 543, 1, 577, 532, 1, 594, 575, 1, 573, 573, 1, 601, 621, 1, 609, 453, 1, 608, 478, 1], "image_id": 109066, "bbox": [561, 448, 58, 186], "category_id": 1, "id": 160864}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [371, 227, 1, 305, 202, 1, 362, 288, 1, 275, 259, 1, 382, 366, 1, 341, 274, 1, 320, 360, 1, 253, 358, 1, 381, 424, 1, 215, 484, 1, 363, 540, 1, 154, 545, 1, 383, 141, 1, 347, 202, 1], "image_id": 111073, "bbox": [134, 108, 286, 480], "category_id": 1, "id": 160879}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [634, 272, 1, 565, 273, 1, 677, 365, 1, 550, 385, 1, 616, 375, 1, 528, 385, 1, 608, 445, 1, 578, 446, 1, 605, 594, 1, 578, 594, 1, 0, 0, 0, 0, 0, 0, 568, 155, 1, 578, 226, 1], "image_id": 111322, "bbox": [497, 135, 160, 494], "category_id": 1, "id": 160880}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [405, 263, 1, 293, 270, 1, 419, 387, 1, 293, 376, 1, 408, 465, 1, 284, 456, 1, 375, 472, 1, 314, 470, 1, 359, 598, 1, 311, 593, 1, 350, 735, 1, 309, 710, 1, 359, 126, 1, 349, 227, 1], "image_id": 109557, "bbox": [248, 106, 197, 678], "category_id": 1, "id": 160884}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [613, 268, 1, 537, 285, 1, 566, 345, 1, 507, 332, 1, 492, 364, 1, 461, 281, 1, 537, 410, 1, 490, 382, 1, 325, 370, 1, 414, 338, 1, 167, 486, 1, 311, 285, 1, 653, 182, 1, 609, 242, 1], "image_id": 116700, "bbox": [0, 176, 636, 412], "category_id": 1, "id": 160890}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [657, 336, 1, 775, 202, 1, 469, 581, 1, 585, 239, 1, 436, 371, 1, 442, 274, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 685, 205, 1], "image_id": 116481, "bbox": [353, 0, 446, 600], "category_id": 1, "id": 160914}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [675, 209, 1, 459, 217, 1, 748, 333, 1, 469, 355, 1, 815, 423, 1, 445, 474, 1, 603, 482, 1, 503, 480, 1, 708, 562, 1, 353, 531, 1, 0, 0, 0, 0, 0, 0, 488, 12, 1, 544, 176, 1], "image_id": 115056, "bbox": [286, 2, 602, 582], "category_id": 1, "id": 160916}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [67, 164, 1, 21, 159, 1, 82, 196, 1, 9, 190, 1, 87, 194, 1, 26, 201, 1, 66, 221, 1, 34, 223, 1, 63, 281, 1, 38, 281, 1, 62, 330, 1, 37, 334, 1, 48, 117, 1, 48, 150, 1], "image_id": 117643, "bbox": [1, 108, 108, 236], "category_id": 1, "id": 160930}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 120, 1, 269, 97, 1, 287, 179, 1, 241, 121, 1, 238, 148, 1, 220, 97, 1, 300, 218, 1, 276, 215, 1, 297, 274, 1, 285, 273, 1, 304, 327, 1, 287, 308, 1, 261, 50, 1, 292, 97, 1], "image_id": 118662, "bbox": [199, 30, 142, 315], "category_id": 1, "id": 160934}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [107, 284, 1, 236, 297, 1, 113, 383, 1, 293, 432, 1, 162, 512, 1, 362, 535, 1, 48, 497, 1, 122, 495, 1, 126, 606, 1, 307, 637, 1, 102, 771, 1, 215, 816, 1, 215, 163, 1, 187, 247, 1], "image_id": 117135, "bbox": [0, 131, 447, 765], "category_id": 1, "id": 160944}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 205, 1, 332, 184, 1, 160, 292, 1, 397, 230, 1, 190, 313, 1, 351, 225, 1, 263, 368, 1, 332, 368, 1, 271, 515, 1, 311, 503, 1, 278, 635, 1, 305, 620, 1, 256, 117, 1, 260, 174, 1], "image_id": 117711, "bbox": [121, 96, 301, 588], "category_id": 1, "id": 160959}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 241, 1, 374, 239, 1, 460, 285, 1, 365, 303, 1, 464, 321, 1, 375, 342, 1, 431, 344, 1, 391, 346, 1, 423, 418, 1, 394, 417, 1, 417, 484, 1, 398, 484, 1, 405, 163, 1, 407, 218, 1], "image_id": 114428, "bbox": [348, 151, 127, 365], "category_id": 1, "id": 160963}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [725, 350, 1, 525, 345, 1, 585, 466, 1, 430, 366, 1, 525, 317, 1, 373, 310, 1, 713, 604, 1, 580, 590, 1, 0, 0, 0, 504, 655, 1, 0, 0, 0, 0, 0, 0, 657, 151, 1, 629, 304, 1], "image_id": 113622, "bbox": [314, 111, 496, 601], "category_id": 1, "id": 160967}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [307, 431, 1, 201, 520, 1, 374, 506, 1, 206, 609, 1, 340, 598, 1, 223, 684, 1, 429, 583, 1, 384, 636, 1, 481, 541, 1, 399, 721, 1, 578, 622, 1, 509, 705, 1, 198, 374, 1, 238, 458, 1], "image_id": 113710, "bbox": [137, 323, 472, 420], "category_id": 1, "id": 160973}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [300, 319, 1, 135, 319, 1, 413, 450, 1, 155, 499, 1, 348, 416, 1, 320, 501, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 115, 1, 207, 274, 1], "image_id": 113013, "bbox": [83, 91, 352, 515], "category_id": 1, "id": 160976}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [442, 415, 1, 196, 425, 1, 543, 565, 1, 106, 566, 1, 593, 639, 1, 166, 635, 1, 386, 706, 1, 238, 713, 1, 419, 777, 1, 260, 800, 1, 396, 957, 1, 225, 951, 1, 326, 191, 1, 316, 377, 1], "image_id": 115278, "bbox": [63, 162, 604, 582], "category_id": 1, "id": 160979}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [450, 297, 1, 374, 225, 1, 430, 361, 1, 355, 273, 1, 369, 373, 1, 310, 273, 1, 415, 407, 1, 367, 391, 1, 418, 468, 1, 376, 440, 1, 413, 507, 1, 377, 472, 1, 364, 143, 1, 415, 226, 1], "image_id": 110043, "bbox": [262, 94, 234, 454], "category_id": 1, "id": 160986}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [397, 462, 1, 299, 430, 1, 419, 569, 1, 243, 493, 1, 377, 671, 1, 225, 543, 1, 349, 654, 1, 298, 632, 1, 262, 765, 1, 227, 734, 1, 216, 881, 1, 187, 846, 1, 282, 293, 1, 328, 441, 1], "image_id": 117154, "bbox": [89, 253, 371, 693], "category_id": 1, "id": 160987}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 262, 1, 201, 388, 1, 348, 284, 1, 206, 503, 1, 385, 330, 1, 178, 605, 1, 352, 369, 1, 274, 391, 1, 307, 423, 1, 215, 497, 1, 324, 584, 1, 215, 595, 1, 219, 308, 1, 235, 324, 1], "image_id": 116209, "bbox": [175, 244, 262, 387], "category_id": 1, "id": 161003}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [658, 474, 1, 553, 474, 1, 670, 658, 1, 561, 639, 1, 669, 817, 1, 562, 792, 1, 653, 857, 1, 618, 857, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 275, 1, 588, 416, 1], "image_id": 115315, "bbox": [472, 245, 272, 568], "category_id": 1, "id": 161006}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [504, 236, 1, 375, 181, 1, 541, 309, 1, 286, 199, 1, 520, 327, 1, 203, 193, 1, 332, 378, 1, 296, 317, 1, 238, 432, 1, 234, 335, 1, 98, 479, 1, 140, 345, 1, 423, 109, 1, 432, 190, 1], "image_id": 115347, "bbox": [51, 85, 510, 435], "category_id": 1, "id": 161008}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [518, 274, 1, 376, 257, 1, 539, 371, 1, 357, 386, 1, 511, 469, 1, 397, 424, 1, 498, 423, 1, 413, 428, 1, 368, 457, 1, 376, 528, 1, 572, 511, 1, 558, 541, 1, 448, 105, 1, 445, 228, 1], "image_id": 118663, "bbox": [283, 85, 386, 500], "category_id": 1, "id": 161035}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 394, 1, 246, 318, 1, 372, 439, 1, 229, 370, 1, 354, 501, 1, 233, 437, 1, 447, 426, 1, 435, 392, 1, 527, 503, 1, 536, 499, 1, 608, 591, 1, 610, 577, 1, 188, 307, 1, 263, 342, 1], "image_id": 118564, "bbox": [158, 261, 471, 389], "category_id": 1, "id": 161064}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [394, 393, 1, 312, 368, 1, 384, 459, 1, 273, 383, 1, 346, 447, 1, 233, 389, 1, 254, 543, 1, 191, 534, 1, 235, 592, 1, 134, 574, 1, 223, 699, 1, 161, 671, 1, 417, 279, 1, 359, 368, 1], "image_id": 109492, "bbox": [90, 256, 372, 523], "category_id": 1, "id": 161078}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [661, 187, 1, 505, 119, 1, 712, 241, 1, 396, 46, 1, 724, 326, 1, 265, 32, 1, 500, 242, 1, 462, 174, 1, 355, 370, 1, 309, 295, 1, 265, 302, 1, 157, 356, 1, 587, 94, 1, 580, 148, 1], "image_id": 116230, "bbox": [33, 7, 760, 443], "category_id": 1, "id": 161088}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [111, 265, 1, 223, 203, 1, 96, 370, 1, 325, 235, 1, 58, 444, 1, 408, 251, 1, 208, 406, 1, 284, 404, 1, 113, 487, 1, 292, 503, 1, 75, 614, 1, 311, 582, 1, 123, 135, 1, 156, 206, 1], "image_id": 114018, "bbox": [14, 106, 456, 553], "category_id": 1, "id": 161098}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 263, 1, 223, 279, 1, 401, 404, 1, 198, 392, 1, 434, 505, 1, 198, 516, 1, 363, 517, 1, 259, 520, 1, 417, 676, 1, 214, 682, 1, 410, 820, 1, 198, 827, 1, 304, 126, 1, 316, 229, 1], "image_id": 111370, "bbox": [145, 111, 314, 792], "category_id": 1, "id": 161124}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [799, 371, 1, 774, 318, 1, 707, 425, 1, 683, 377, 1, 702, 338, 1, 669, 287, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 843, 203, 1, 817, 318, 1], "image_id": 117227, "bbox": [626, 168, 284, 266], "category_id": 1, "id": 161125}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [919, 141, 1, 811, 159, 1, 0, 0, 0, 788, 241, 1, 0, 0, 0, 800, 228, 1, 910, 289, 1, 859, 300, 1, 884, 367, 1, 907, 397, 1, 908, 487, 1, 0, 0, 0, 853, 67, 1, 860, 133, 1], "image_id": 114338, "bbox": [772, 56, 176, 467], "category_id": 1, "id": 161132}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [643, 249, 1, 0, 0, 0, 607, 300, 1, 0, 0, 0, 617, 339, 1, 0, 0, 0, 634, 363, 1, 0, 0, 0, 607, 420, 1, 0, 0, 0, 586, 475, 1, 0, 0, 0, 582, 234, 1, 580, 265, 1], "image_id": 115278, "bbox": [581, 225, 84, 191], "category_id": 1, "id": 161139}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 172, 1, 188, 195, 1, 397, 244, 1, 175, 302, 1, 307, 249, 1, 149, 259, 1, 314, 388, 1, 234, 385, 1, 307, 560, 1, 202, 535, 1, 360, 510, 1, 184, 701, 1, 245, 41, 1, 250, 148, 1], "image_id": 109126, "bbox": [78, 24, 340, 736], "category_id": 1, "id": 161159}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 581, 128, 1, 0, 0, 0, 567, 217, 1, 0, 0, 0, 608, 216, 1, 0, 0, 0, 638, 338, 1, 661, 387, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 14, 1, 643, 101, 1], "image_id": 111077, "bbox": [544, 0, 129, 482], "category_id": 1, "id": 161165}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 279, 1, 367, 375, 1, 384, 373, 1, 325, 481, 1, 384, 514, 1, 377, 607, 1, 303, 477, 1, 355, 500, 1, 261, 600, 1, 417, 624, 1, 199, 747, 1, 484, 791, 1, 515, 179, 1, 417, 266, 1], "image_id": 110513, "bbox": [131, 98, 478, 771], "category_id": 1, "id": 161176}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [307, 475, 1, 183, 447, 1, 296, 556, 1, 136, 525, 1, 231, 597, 1, 141, 603, 1, 238, 588, 1, 150, 583, 1, 285, 616, 1, 72, 627, 1, 0, 0, 0, 0, 0, 0, 292, 344, 1, 254, 438, 1], "image_id": 117546, "bbox": [39, 321, 304, 428], "category_id": 1, "id": 161196}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [689, 63, 1, 579, 115, 1, 807, 121, 1, 599, 217, 1, 729, 218, 1, 624, 249, 1, 767, 320, 1, 693, 327, 1, 765, 498, 1, 685, 492, 1, 761, 664, 1, 679, 662, 1, 516, 71, 1, 614, 71, 1], "image_id": 115376, "bbox": [487, 10, 349, 710], "category_id": 1, "id": 161198}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [622, 267, 1, 367, 287, 1, 601, 495, 1, 325, 440, 1, 495, 533, 1, 412, 459, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 436, 57, 1, 492, 244, 1], "image_id": 110994, "bbox": [297, 37, 335, 641], "category_id": 1, "id": 161213}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [161, 230, 1, 287, 210, 1, 130, 342, 1, 387, 301, 1, 117, 467, 1, 523, 224, 1, 142, 474, 1, 183, 476, 1, 189, 655, 1, 272, 664, 1, 0, 0, 0, 0, 0, 0, 231, 90, 1, 236, 183, 1], "image_id": 113757, "bbox": [61, 49, 554, 718], "category_id": 1, "id": 161220}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [442, 172, 1, 346, 209, 1, 531, 222, 1, 401, 276, 1, 539, 214, 1, 331, 285, 1, 508, 332, 1, 467, 363, 1, 603, 435, 1, 574, 476, 1, 702, 553, 1, 708, 487, 1, 714, 130, 1, 695, 217, 1], "image_id": 115937, "bbox": [271, 80, 515, 571], "category_id": 1, "id": 161223}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [200, 249, 1, 116, 248, 1, 195, 315, 1, 119, 317, 1, 142, 295, 1, 117, 281, 1, 165, 384, 1, 118, 378, 1, 157, 482, 1, 100, 475, 1, 149, 576, 1, 83, 566, 1, 153, 163, 1, 153, 233, 1], "image_id": 116620, "bbox": [54, 148, 163, 456], "category_id": 1, "id": 161238}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [691, 248, 1, 459, 285, 1, 838, 362, 1, 440, 506, 1, 760, 248, 1, 435, 538, 1, 655, 650, 1, 531, 654, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 60, 1, 556, 218, 1], "image_id": 110315, "bbox": [402, 34, 474, 627], "category_id": 1, "id": 161242}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [538, 97, 1, 500, 101, 1, 440, 70, 1, 522, 198, 1, 389, 58, 1, 465, 220, 1, 537, 272, 1, 515, 272, 1, 529, 392, 1, 511, 394, 1, 529, 519, 1, 510, 480, 1, 504, 23, 1, 522, 81, 1], "image_id": 109636, "bbox": [368, 8, 218, 554], "category_id": 1, "id": 161265}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [850, 161, 1, 871, 159, 1, 842, 249, 1, 862, 251, 1, 795, 281, 1, 799, 302, 1, 866, 297, 1, 888, 296, 1, 862, 447, 1, 873, 447, 1, 874, 602, 1, 879, 572, 1, 787, 76, 1, 834, 131, 1], "image_id": 119573, "bbox": [758, 57, 183, 567], "category_id": 1, "id": 161266}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [425, 235, 1, 221, 262, 1, 463, 382, 1, 233, 431, 1, 399, 478, 1, 197, 541, 1, 446, 425, 1, 318, 437, 1, 451, 663, 1, 279, 662, 1, 426, 848, 1, 253, 848, 1, 220, 140, 1, 295, 209, 1], "image_id": 118646, "bbox": [157, 73, 359, 876], "category_id": 1, "id": 161272}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [498, 234, 1, 329, 247, 1, 524, 349, 1, 322, 360, 1, 482, 449, 1, 369, 425, 1, 460, 492, 1, 384, 490, 1, 471, 673, 1, 400, 670, 1, 473, 837, 1, 406, 835, 1, 376, 85, 1, 399, 208, 1], "image_id": 119904, "bbox": [287, 61, 266, 849], "category_id": 1, "id": 161274}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 174, 1, 211, 177, 1, 391, 293, 1, 196, 308, 1, 375, 332, 1, 222, 374, 1, 339, 408, 1, 248, 411, 1, 352, 630, 1, 273, 629, 1, 342, 782, 1, 297, 782, 1, 276, 32, 1, 281, 147, 1], "image_id": 116506, "bbox": [171, 0, 245, 801], "category_id": 1, "id": 161285}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [492, 197, 1, 267, 198, 1, 549, 354, 1, 141, 312, 1, 478, 332, 1, 176, 352, 1, 401, 495, 1, 296, 480, 1, 440, 750, 1, 261, 671, 1, 329, 852, 1, 176, 917, 1, 448, 53, 1, 385, 171, 1], "image_id": 119124, "bbox": [110, 19, 470, 959], "category_id": 1, "id": 161289}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [760, 324, 1, 662, 320, 1, 715, 358, 1, 627, 371, 1, 706, 292, 1, 637, 343, 1, 750, 476, 1, 678, 479, 1, 820, 578, 1, 655, 569, 1, 0, 0, 0, 801, 536, 1, 705, 224, 1, 700, 299, 1], "image_id": 117258, "bbox": [561, 195, 337, 403], "category_id": 1, "id": 161298}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [253, 216, 1, 139, 229, 1, 285, 299, 1, 121, 295, 1, 253, 379, 1, 89, 339, 1, 273, 394, 1, 206, 395, 1, 343, 490, 1, 178, 504, 1, 445, 559, 1, 262, 566, 1, 180, 125, 1, 192, 202, 1], "image_id": 119300, "bbox": [59, 113, 434, 507], "category_id": 1, "id": 161300}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [403, 218, 1, 357, 249, 1, 418, 353, 1, 274, 327, 1, 398, 333, 1, 227, 256, 1, 375, 420, 1, 367, 420, 1, 406, 632, 1, 307, 618, 1, 0, 0, 0, 0, 0, 0, 314, 112, 1, 365, 202, 1], "image_id": 113203, "bbox": [204, 93, 240, 572], "category_id": 1, "id": 161336}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [488, 161, 1, 415, 166, 1, 504, 243, 1, 425, 262, 1, 540, 186, 1, 444, 332, 1, 495, 319, 1, 462, 322, 1, 501, 461, 1, 467, 462, 1, 504, 572, 1, 469, 576, 1, 466, 57, 1, 454, 136, 1], "image_id": 119416, "bbox": [343, 36, 306, 596], "category_id": 1, "id": 161344}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 168, 1, 208, 152, 1, 354, 239, 1, 180, 237, 1, 378, 302, 1, 170, 300, 1, 300, 271, 1, 221, 271, 1, 363, 321, 1, 194, 338, 1, 419, 399, 1, 168, 409, 1, 293, 48, 1, 276, 140, 1], "image_id": 109726, "bbox": [123, 19, 365, 453], "category_id": 1, "id": 161345}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [500, 243, 1, 404, 241, 1, 541, 300, 1, 350, 272, 1, 516, 344, 1, 393, 216, 1, 462, 374, 1, 420, 372, 1, 468, 523, 1, 438, 497, 1, 0, 0, 0, 0, 0, 0, 440, 136, 1, 449, 219, 1], "image_id": 115293, "bbox": [338, 117, 203, 415], "category_id": 1, "id": 161354}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [503, 145, 1, 349, 147, 1, 550, 226, 1, 258, 180, 1, 557, 322, 1, 226, 272, 1, 459, 329, 1, 381, 293, 1, 433, 459, 1, 426, 349, 1, 317, 588, 1, 405, 517, 1, 469, 66, 1, 430, 126, 1], "image_id": 114713, "bbox": [223, 37, 360, 595], "category_id": 1, "id": 161396}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 295, 1, 309, 286, 1, 408, 406, 1, 341, 387, 1, 361, 485, 1, 368, 475, 1, 479, 333, 1, 401, 336, 1, 455, 438, 1, 410, 449, 1, 495, 554, 1, 455, 544, 1, 357, 232, 1, 363, 274, 1], "image_id": 115618, "bbox": [273, 184, 267, 399], "category_id": 1, "id": 161400}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 198, 1, 528, 201, 1, 634, 258, 1, 492, 259, 1, 609, 284, 1, 523, 271, 1, 595, 305, 1, 545, 304, 1, 563, 329, 1, 512, 323, 1, 571, 375, 1, 530, 373, 1, 567, 120, 1, 571, 190, 1], "image_id": 114114, "bbox": [475, 108, 152, 184], "category_id": 1, "id": 161402}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [221, 440, 1, 172, 491, 1, 266, 463, 1, 196, 538, 1, 280, 478, 1, 226, 512, 1, 287, 554, 1, 250, 582, 1, 346, 556, 1, 286, 575, 1, 357, 627, 1, 286, 634, 1, 149, 416, 1, 187, 463, 1], "image_id": 109225, "bbox": [112, 390, 291, 268], "category_id": 1, "id": 161417}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [362, 289, 1, 232, 265, 1, 377, 404, 1, 162, 335, 1, 310, 480, 1, 140, 444, 1, 266, 488, 1, 212, 464, 1, 107, 555, 1, 75, 542, 1, 0, 0, 0, 141, 647, 1, 317, 155, 1, 294, 244, 1], "image_id": 112036, "bbox": [43, 117, 367, 561], "category_id": 1, "id": 161424}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [437, 219, 1, 307, 198, 1, 408, 317, 1, 215, 210, 1, 326, 361, 1, 137, 185, 1, 451, 387, 1, 373, 412, 1, 510, 476, 1, 281, 515, 1, 637, 552, 1, 0, 0, 0, 389, 108, 1, 377, 191, 1], "image_id": 114759, "bbox": [71, 89, 631, 536], "category_id": 1, "id": 161430}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [465, 131, 1, 395, 157, 1, 479, 209, 1, 474, 215, 1, 538, 239, 1, 551, 235, 1, 496, 328, 1, 434, 329, 1, 471, 462, 1, 398, 454, 1, 452, 583, 1, 312, 539, 1, 399, 53, 1, 419, 132, 1], "image_id": 116620, "bbox": [278, 34, 326, 595], "category_id": 1, "id": 161451}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [626, 233, 1, 519, 246, 1, 631, 317, 1, 470, 288, 1, 615, 393, 1, 416, 303, 1, 596, 392, 1, 535, 394, 1, 590, 515, 1, 524, 510, 1, 0, 0, 0, 0, 0, 0, 562, 130, 1, 572, 209, 1], "image_id": 111322, "bbox": [380, 109, 218, 518], "category_id": 1, "id": 161453}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 215, 1, 169, 283, 1, 314, 256, 1, 116, 380, 1, 415, 288, 1, 192, 447, 1, 289, 403, 1, 195, 414, 1, 296, 475, 1, 293, 487, 1, 257, 602, 1, 376, 664, 1, 250, 179, 1, 241, 239, 1], "image_id": 110618, "bbox": [114, 148, 319, 593], "category_id": 1, "id": 161502}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [560, 210, 1, 425, 222, 1, 0, 0, 0, 365, 332, 1, 0, 0, 0, 396, 342, 1, 384, 449, 1, 313, 419, 1, 372, 625, 1, 361, 613, 1, 0, 0, 0, 160, 643, 1, 396, 25, 1, 322, 139, 1], "image_id": 109516, "bbox": [62, 52, 507, 623], "category_id": 1, "id": 161526}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [683, 267, 1, 448, 268, 1, 710, 487, 1, 436, 462, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 41, 1, 556, 220, 1], "image_id": 110804, "bbox": [402, 18, 349, 563], "category_id": 1, "id": 161531}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [537, 355, 1, 362, 338, 1, 523, 478, 1, 316, 444, 1, 433, 422, 1, 355, 427, 1, 465, 520, 1, 375, 519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 209, 1, 450, 322, 1], "image_id": 115712, "bbox": [322, 170, 244, 322], "category_id": 1, "id": 161532}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 25, 1, 445, 62, 1, 346, 59, 1, 465, 281, 1, 356, 277, 1, 461, 495, 1, 340, 464, 1, 287, 78, 1, 298, 226, 1], "image_id": 114322, "bbox": [256, 1, 385, 486], "category_id": 1, "id": 161534}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [96, 262, 1, 13, 259, 1, 116, 331, 1, 0, 0, 0, 115, 388, 1, 0, 0, 0, 79, 393, 1, 35, 400, 1, 86, 486, 1, 44, 486, 1, 103, 557, 1, 55, 565, 1, 47, 171, 1, 50, 235, 1], "image_id": 116120, "bbox": [0, 154, 126, 447], "category_id": 1, "id": 161536}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [756, 339, 1, 517, 344, 1, 805, 492, 1, 512, 476, 1, 736, 514, 1, 450, 539, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 144, 1, 630, 293, 1], "image_id": 111726, "bbox": [491, 125, 347, 585], "category_id": 1, "id": 161541}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [383, 278, 1, 146, 303, 1, 440, 397, 1, 117, 480, 1, 357, 405, 1, 208, 523, 1, 315, 546, 1, 183, 559, 1, 444, 456, 1, 222, 801, 1, 349, 727, 1, 196, 714, 1, 286, 82, 1, 280, 254, 1], "image_id": 113112, "bbox": [58, 32, 439, 802], "category_id": 1, "id": 161542}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [761, 116, 1, 616, 115, 1, 780, 212, 1, 572, 211, 1, 732, 251, 1, 568, 306, 1, 715, 353, 1, 631, 350, 1, 689, 513, 1, 627, 511, 1, 0, 0, 0, 0, 0, 0, 713, 5, 1, 695, 95, 1], "image_id": 110807, "bbox": [547, 0, 255, 597], "category_id": 1, "id": 161547}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [510, 236, 1, 282, 173, 1, 663, 244, 1, 169, 48, 1, 822, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 39, 1, 399, 202, 1], "image_id": 111105, "bbox": [86, 0, 815, 632], "category_id": 1, "id": 161555}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [258, 347, 1, 162, 314, 1, 254, 417, 1, 114, 353, 1, 254, 457, 1, 151, 325, 1, 218, 472, 1, 165, 472, 1, 245, 560, 1, 128, 570, 1, 272, 644, 1, 169, 651, 1, 210, 239, 1, 210, 314, 1], "image_id": 118746, "bbox": [76, 215, 217, 454], "category_id": 1, "id": 161558}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [247, 306, 1, 183, 305, 1, 256, 440, 1, 116, 286, 1, 240, 578, 1, 185, 250, 1, 225, 571, 1, 212, 573, 1, 99, 697, 1, 258, 747, 1, 276, 748, 1, 258, 906, 1, 253, 158, 1, 235, 277, 1], "image_id": 119793, "bbox": [53, 134, 299, 856], "category_id": 1, "id": 161569}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 418, 1, 229, 393, 1, 293, 528, 1, 233, 524, 1, 363, 560, 1, 309, 550, 1, 259, 596, 1, 175, 594, 1, 327, 739, 1, 241, 709, 1, 273, 884, 1, 141, 829, 1, 328, 279, 1, 288, 370, 1], "image_id": 119951, "bbox": [101, 259, 268, 678], "category_id": 1, "id": 161622}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [472, 190, 1, 349, 170, 1, 465, 282, 1, 305, 178, 1, 480, 305, 1, 274, 219, 1, 412, 346, 1, 351, 351, 1, 435, 462, 1, 385, 458, 1, 380, 579, 1, 343, 414, 1, 424, 95, 1, 420, 167, 1], "image_id": 119583, "bbox": [260, 79, 237, 532], "category_id": 1, "id": 161644}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 260, 1, 388, 259, 1, 458, 349, 1, 324, 342, 1, 387, 353, 1, 355, 304, 1, 401, 494, 1, 381, 484, 1, 316, 574, 1, 293, 572, 1, 334, 746, 1, 351, 739, 1, 434, 136, 1, 439, 234, 1], "image_id": 116130, "bbox": [242, 115, 276, 690], "category_id": 1, "id": 161662}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [517, 338, 1, 373, 335, 1, 564, 442, 1, 348, 446, 1, 547, 534, 1, 338, 570, 1, 460, 560, 1, 386, 558, 1, 451, 702, 1, 384, 702, 1, 442, 796, 1, 386, 848, 1, 442, 176, 1, 442, 291, 1], "image_id": 119518, "bbox": [309, 154, 285, 788], "category_id": 1, "id": 161665}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [346, 168, 1, 243, 256, 1, 415, 206, 1, 304, 397, 1, 509, 271, 1, 411, 485, 1, 275, 439, 1, 220, 442, 1, 244, 647, 1, 353, 575, 1, 65, 714, 1, 346, 824, 1, 278, 95, 1, 267, 199, 1], "image_id": 118492, "bbox": [8, 70, 494, 833], "category_id": 1, "id": 161670}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 688, 246, 1, 0, 0, 0, 669, 289, 1, 788, 297, 1, 696, 278, 1, 748, 351, 1, 685, 343, 1, 718, 476, 1, 669, 432, 1, 0, 0, 0, 647, 512, 1, 763, 171, 1, 750, 240, 1], "image_id": 115293, "bbox": [660, 145, 138, 387], "category_id": 1, "id": 161680}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [750, 275, 1, 628, 210, 1, 781, 364, 1, 537, 244, 1, 770, 368, 1, 421, 225, 1, 584, 377, 1, 533, 301, 1, 593, 495, 1, 438, 239, 1, 519, 623, 1, 302, 305, 1, 716, 128, 1, 694, 218, 1], "image_id": 115937, "bbox": [203, 111, 597, 556], "category_id": 1, "id": 161709}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [646, 282, 1, 756, 179, 1, 570, 354, 1, 732, 244, 1, 443, 378, 1, 659, 254, 1, 811, 392, 1, 884, 379, 1, 684, 497, 1, 871, 485, 1, 759, 661, 1, 901, 623, 1, 669, 136, 1, 686, 208, 1], "image_id": 117687, "bbox": [350, 113, 590, 630], "category_id": 1, "id": 161716}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 291, 1, 451, 276, 1, 362, 342, 1, 446, 363, 1, 467, 367, 1, 486, 432, 1, 461, 521, 1, 379, 502, 1, 592, 592, 1, 308, 657, 1, 655, 786, 1, 132, 769, 1, 546, 190, 1, 490, 258, 1], "image_id": 119608, "bbox": [72, 149, 696, 713], "category_id": 1, "id": 161720}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [320, 211, 1, 181, 210, 1, 336, 300, 1, 163, 315, 1, 355, 395, 1, 161, 393, 1, 280, 370, 1, 209, 366, 1, 280, 477, 1, 216, 523, 1, 276, 528, 1, 225, 656, 1, 242, 77, 1, 242, 172, 1], "image_id": 112895, "bbox": [127, 26, 266, 749], "category_id": 1, "id": 161729}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [268, 116, 1, 209, 123, 1, 274, 144, 1, 209, 190, 1, 280, 184, 1, 214, 235, 1, 228, 143, 1, 187, 146, 1, 273, 138, 1, 190, 171, 1, 250, 181, 1, 192, 192, 1, 272, 32, 1, 250, 95, 1], "image_id": 117100, "bbox": [143, 15, 160, 251], "category_id": 1, "id": 161749}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [85, 216, 1, 79, 214, 1, 88, 231, 1, 77, 231, 1, 95, 238, 1, 80, 244, 1, 72, 247, 1, 78, 247, 1, 77, 266, 1, 91, 264, 1, 68, 281, 1, 98, 280, 1, 83, 194, 1, 83, 207, 1], "image_id": 113412, "bbox": [56, 189, 62, 106], "category_id": 1, "id": 161753}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 275, 1, 290, 290, 1, 409, 349, 1, 275, 339, 1, 418, 418, 1, 251, 340, 1, 385, 428, 1, 334, 428, 1, 395, 556, 1, 344, 544, 1, 397, 647, 1, 344, 649, 1, 319, 176, 1, 331, 256, 1], "image_id": 115059, "bbox": [210, 161, 231, 547], "category_id": 1, "id": 161758}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 233, 1, 311, 262, 1, 409, 286, 1, 402, 345, 1, 448, 260, 1, 437, 265, 1, 347, 337, 1, 308, 385, 1, 431, 300, 1, 427, 383, 1, 380, 333, 1, 445, 346, 1, 388, 128, 1, 349, 221, 1], "image_id": 114339, "bbox": [232, 94, 252, 326], "category_id": 1, "id": 161774}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [896, 250, 1, 819, 275, 1, 948, 315, 1, 842, 336, 1, 931, 345, 1, 798, 396, 1, 842, 453, 1, 767, 433, 1, 817, 546, 1, 648, 467, 1, 840, 542, 1, 523, 550, 1, 830, 161, 1, 854, 232, 1], "image_id": 119748, "bbox": [444, 134, 526, 439], "category_id": 1, "id": 161776}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [588, 262, 1, 403, 252, 1, 597, 417, 1, 337, 275, 1, 524, 430, 1, 296, 200, 1, 552, 462, 1, 430, 463, 1, 565, 418, 1, 425, 613, 1, 402, 544, 1, 0, 0, 0, 489, 81, 1, 495, 223, 1], "image_id": 116898, "bbox": [273, 53, 361, 412], "category_id": 1, "id": 161780}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [537, 177, 1, 479, 187, 1, 584, 245, 1, 540, 272, 1, 639, 278, 1, 619, 301, 1, 532, 330, 1, 502, 348, 1, 640, 309, 1, 629, 331, 1, 642, 397, 1, 639, 420, 1, 543, 77, 1, 511, 150, 1], "image_id": 116597, "bbox": [432, 55, 230, 326], "category_id": 1, "id": 161791}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 127, 1, 290, 124, 1, 368, 171, 1, 275, 174, 1, 366, 206, 1, 317, 178, 1, 361, 219, 1, 305, 215, 1, 379, 285, 1, 286, 275, 1, 394, 350, 1, 265, 351, 1, 332, 64, 1, 325, 111, 1], "image_id": 115438, "bbox": [238, 54, 192, 331], "category_id": 1, "id": 161794}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [703, 270, 1, 565, 268, 1, 745, 345, 1, 529, 255, 1, 782, 376, 1, 523, 210, 1, 692, 508, 1, 596, 527, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 600, 103, 1, 629, 237, 1], "image_id": 114399, "bbox": [408, 72, 447, 521], "category_id": 1, "id": 161805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [528, 355, 1, 544, 357, 1, 500, 393, 1, 539, 406, 1, 457, 398, 1, 512, 440, 1, 530, 488, 1, 540, 489, 1, 532, 569, 1, 527, 572, 1, 569, 641, 1, 538, 645, 1, 504, 320, 1, 501, 380, 1], "image_id": 115190, "bbox": [482, 281, 120, 399], "category_id": 1, "id": 161844}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [517, 260, 1, 752, 263, 1, 520, 448, 1, 786, 446, 1, 652, 581, 1, 722, 579, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 671, 69, 1, 643, 191, 1], "image_id": 117411, "bbox": [465, 47, 361, 585], "category_id": 1, "id": 161846}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [614, 117, 1, 472, 135, 1, 627, 198, 1, 468, 235, 1, 647, 296, 1, 570, 267, 1, 568, 311, 1, 480, 318, 1, 681, 346, 1, 575, 387, 1, 706, 499, 1, 616, 524, 1, 600, 16, 1, 547, 96, 1], "image_id": 118364, "bbox": [401, 1, 313, 431], "category_id": 1, "id": 161874}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [297, 257, 1, 254, 257, 1, 302, 293, 1, 232, 292, 1, 290, 314, 1, 241, 315, 1, 272, 367, 1, 242, 368, 1, 271, 455, 1, 238, 455, 1, 0, 0, 0, 0, 0, 0, 267, 197, 1, 274, 244, 1], "image_id": 117864, "bbox": [147, 175, 212, 325], "category_id": 1, "id": 161876}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [698, 179, 1, 619, 217, 1, 703, 279, 1, 605, 312, 1, 723, 306, 1, 696, 315, 1, 677, 413, 1, 617, 416, 1, 706, 543, 1, 623, 560, 1, 679, 690, 1, 620, 687, 1, 647, 74, 1, 652, 171, 1], "image_id": 114728, "bbox": [562, 54, 173, 653], "category_id": 1, "id": 161887}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [437, 303, 1, 248, 296, 1, 447, 426, 1, 204, 459, 1, 466, 580, 1, 176, 429, 1, 398, 628, 1, 307, 631, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 86, 1, 343, 250, 1], "image_id": 113758, "bbox": [146, 64, 353, 685], "category_id": 1, "id": 161896}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [393, 206, 1, 560, 224, 1, 255, 304, 1, 514, 342, 1, 166, 344, 1, 423, 401, 1, 413, 449, 1, 513, 519, 1, 293, 313, 1, 588, 685, 1, 180, 216, 1, 641, 824, 1, 418, 90, 1, 449, 159, 1], "image_id": 119756, "bbox": [141, 68, 561, 891], "category_id": 1, "id": 161906}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [332, 158, 1, 206, 174, 1, 389, 200, 1, 141, 227, 1, 458, 228, 1, 129, 318, 1, 325, 329, 1, 247, 355, 1, 389, 448, 1, 317, 467, 1, 356, 495, 1, 380, 602, 1, 281, 99, 1, 277, 154, 1], "image_id": 118208, "bbox": [110, 71, 406, 568], "category_id": 1, "id": 161908}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [475, 362, 1, 345, 364, 1, 483, 470, 1, 332, 463, 1, 480, 548, 1, 326, 543, 1, 438, 585, 1, 364, 580, 1, 428, 727, 1, 346, 719, 1, 420, 850, 1, 333, 849, 1, 370, 247, 1, 401, 336, 1], "image_id": 112267, "bbox": [302, 216, 212, 593], "category_id": 1, "id": 161915}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [528, 205, 1, 371, 230, 1, 556, 315, 1, 331, 386, 1, 552, 409, 1, 322, 513, 1, 546, 521, 1, 438, 522, 1, 552, 709, 1, 438, 728, 1, 463, 844, 1, 453, 924, 1, 459, 65, 1, 459, 190, 1], "image_id": 110838, "bbox": [282, 30, 324, 969], "category_id": 1, "id": 161946}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [110, 244, 1, 265, 238, 1, 88, 382, 1, 298, 368, 1, 144, 331, 1, 270, 308, 1, 137, 486, 1, 216, 482, 1, 153, 675, 1, 232, 671, 1, 0, 0, 0, 0, 0, 0, 211, 97, 1, 193, 191, 1], "image_id": 119554, "bbox": [63, 84, 265, 683], "category_id": 1, "id": 161954}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [630, 205, 1, 560, 254, 1, 678, 246, 1, 595, 321, 1, 610, 246, 1, 614, 288, 1, 646, 365, 1, 596, 362, 1, 593, 437, 1, 533, 437, 1, 629, 553, 1, 478, 540, 1, 550, 164, 1, 587, 204, 1], "image_id": 116770, "bbox": [405, 140, 287, 449], "category_id": 1, "id": 161960}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [696, 522, 1, 610, 510, 1, 765, 573, 1, 600, 570, 1, 839, 611, 1, 550, 568, 1, 609, 573, 1, 586, 621, 1, 508, 506, 1, 463, 584, 1, 412, 443, 1, 383, 611, 1, 644, 419, 1, 654, 500, 1], "image_id": 111859, "bbox": [303, 396, 579, 247], "category_id": 1, "id": 161962}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [657, 187, 1, 744, 190, 1, 639, 264, 1, 755, 277, 1, 628, 324, 1, 758, 353, 1, 675, 341, 1, 721, 345, 1, 675, 435, 1, 715, 437, 1, 683, 526, 1, 703, 527, 1, 704, 85, 1, 700, 154, 1], "image_id": 118936, "bbox": [597, 78, 175, 479], "category_id": 1, "id": 161966}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [422, 230, 1, 226, 194, 1, 457, 356, 1, 183, 340, 1, 463, 429, 1, 295, 386, 1, 360, 532, 1, 249, 531, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 58, 1, 338, 176, 1], "image_id": 113852, "bbox": [148, 17, 340, 590], "category_id": 1, "id": 161967}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 293, 1, 340, 231, 1, 541, 322, 1, 275, 243, 1, 501, 274, 1, 228, 246, 1, 346, 449, 1, 278, 433, 1, 330, 556, 1, 329, 515, 1, 295, 713, 1, 406, 603, 1, 437, 177, 1, 407, 244, 1], "image_id": 118190, "bbox": [189, 154, 349, 590], "category_id": 1, "id": 161982}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 147, 1, 235, 146, 1, 459, 150, 1, 149, 141, 1, 549, 162, 1, 71, 127, 1, 309, 327, 1, 238, 309, 1, 321, 413, 1, 223, 374, 1, 275, 554, 1, 144, 499, 1, 308, 65, 1, 298, 130, 1], "image_id": 114789, "bbox": [2, 32, 623, 598], "category_id": 1, "id": 161985}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [532, 286, 1, 444, 295, 1, 565, 414, 1, 446, 436, 1, 587, 535, 1, 437, 530, 1, 520, 526, 1, 466, 525, 1, 493, 706, 1, 509, 710, 1, 472, 887, 1, 579, 877, 1, 444, 164, 1, 462, 252, 1], "image_id": 111963, "bbox": [410, 137, 228, 818], "category_id": 1, "id": 161989}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [501, 153, 1, 450, 235, 1, 581, 202, 1, 518, 288, 1, 501, 182, 1, 546, 389, 1, 496, 351, 1, 574, 389, 1, 311, 336, 1, 583, 630, 1, 138, 468, 1, 633, 842, 1, 383, 77, 1, 439, 159, 1], "image_id": 112361, "bbox": [24, 46, 659, 911], "category_id": 1, "id": 162006}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [93, 36, 1, 0, 0, 0, 117, 147, 1, 0, 0, 0, 137, 272, 1, 0, 0, 0, 76, 291, 1, 0, 0, 0, 93, 489, 1, 11, 486, 1, 110, 680, 1, 18, 666, 1, 0, 0, 0, 31, 23, 1], "image_id": 113821, "bbox": [0, 1, 183, 747], "category_id": 1, "id": 162011}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [551, 203, 1, 443, 198, 1, 569, 278, 1, 431, 265, 1, 591, 348, 1, 387, 287, 1, 516, 352, 1, 455, 357, 1, 512, 476, 1, 481, 484, 1, 515, 611, 1, 501, 616, 1, 485, 96, 1, 485, 178, 1], "image_id": 118190, "bbox": [388, 79, 173, 574], "category_id": 1, "id": 162012}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [711, 233, 1, 584, 200, 1, 711, 302, 1, 491, 230, 1, 775, 273, 1, 467, 209, 1, 567, 377, 1, 527, 311, 1, 425, 427, 1, 480, 354, 1, 286, 434, 1, 355, 414, 1, 638, 136, 1, 638, 206, 1], "image_id": 114994, "bbox": [211, 110, 626, 352], "category_id": 1, "id": 162018}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [726, 211, 1, 631, 230, 1, 789, 292, 1, 618, 319, 1, 704, 323, 1, 587, 322, 1, 764, 421, 1, 703, 423, 1, 676, 546, 1, 715, 561, 1, 827, 600, 1, 0, 0, 0, 648, 106, 1, 672, 190, 1], "image_id": 116773, "bbox": [546, 87, 312, 577], "category_id": 1, "id": 162042}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 161, 1, 228, 146, 1, 258, 200, 1, 215, 170, 1, 243, 222, 1, 211, 195, 1, 248, 222, 1, 223, 220, 1, 248, 272, 1, 222, 273, 1, 248, 310, 1, 222, 316, 1, 237, 103, 1, 247, 141, 1], "image_id": 113030, "bbox": [210, 93, 69, 166], "category_id": 1, "id": 162057}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [349, 181, 1, 218, 163, 1, 386, 241, 1, 145, 226, 1, 342, 247, 1, 106, 281, 1, 261, 362, 1, 205, 343, 1, 299, 474, 1, 206, 455, 1, 165, 534, 1, 109, 569, 1, 303, 64, 1, 284, 145, 1], "image_id": 116103, "bbox": [47, 33, 354, 587], "category_id": 1, "id": 162073}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 197, 1, 332, 205, 1, 426, 265, 1, 404, 294, 1, 477, 289, 1, 472, 291, 1, 374, 291, 1, 319, 325, 1, 457, 297, 1, 434, 318, 1, 462, 420, 1, 436, 464, 1, 396, 139, 1, 361, 194, 1], "image_id": 116113, "bbox": [272, 116, 257, 383], "category_id": 1, "id": 162111}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [590, 184, 1, 570, 188, 1, 654, 299, 1, 623, 301, 1, 556, 360, 1, 509, 343, 1, 627, 456, 1, 601, 454, 1, 643, 645, 1, 577, 643, 1, 0, 0, 0, 544, 840, 1, 485, 63, 1, 552, 160, 1], "image_id": 118886, "bbox": [438, 23, 354, 861], "category_id": 1, "id": 162125}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [365, 266, 1, 191, 269, 1, 500, 404, 1, 147, 436, 1, 394, 506, 1, 154, 557, 1, 291, 625, 1, 188, 611, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 72, 1, 269, 237, 1], "image_id": 111876, "bbox": [116, 49, 412, 752], "category_id": 1, "id": 162140}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [193, 257, 1, 150, 252, 1, 187, 329, 1, 149, 350, 1, 237, 300, 1, 153, 428, 1, 194, 446, 1, 161, 447, 1, 173, 561, 1, 135, 566, 1, 161, 638, 1, 121, 658, 1, 187, 142, 1, 171, 219, 1], "image_id": 110455, "bbox": [86, 127, 191, 560], "category_id": 1, "id": 162148}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [485, 122, 1, 461, 117, 1, 440, 203, 1, 443, 190, 1, 414, 124, 1, 421, 121, 1, 486, 313, 1, 471, 310, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 56, 1, 468, 106, 1], "image_id": 115917, "bbox": [361, 44, 167, 304], "category_id": 1, "id": 162149}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 171, 1, 245, 170, 1, 271, 211, 1, 239, 211, 1, 293, 222, 1, 267, 190, 1, 281, 243, 1, 268, 245, 1, 331, 262, 1, 328, 282, 1, 346, 333, 1, 328, 344, 1, 273, 130, 1, 262, 166, 1], "image_id": 114520, "bbox": [226, 123, 133, 240], "category_id": 1, "id": 162169}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [545, 212, 1, 347, 222, 1, 575, 314, 1, 345, 342, 1, 504, 428, 1, 421, 434, 1, 497, 462, 1, 416, 459, 1, 503, 624, 1, 412, 598, 1, 495, 766, 1, 405, 724, 1, 422, 50, 1, 434, 181, 1], "image_id": 111664, "bbox": [350, 32, 258, 838], "category_id": 1, "id": 162180}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [391, 273, 1, 160, 324, 1, 496, 493, 1, 259, 586, 1, 291, 548, 1, 413, 455, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 88, 1, 283, 273, 1], "image_id": 115133, "bbox": [105, 39, 416, 591], "category_id": 1, "id": 162181}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [66, 170, 1, 104, 169, 1, 63, 210, 1, 108, 219, 1, 64, 243, 1, 95, 252, 1, 72, 252, 1, 103, 251, 1, 67, 314, 1, 95, 311, 1, 66, 367, 1, 92, 367, 1, 71, 113, 1, 79, 153, 1], "image_id": 114661, "bbox": [41, 104, 79, 173], "category_id": 1, "id": 162191}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [606, 187, 1, 572, 227, 1, 662, 262, 1, 563, 297, 1, 620, 311, 1, 526, 370, 1, 696, 294, 1, 690, 289, 1, 605, 372, 1, 611, 366, 1, 652, 492, 1, 643, 488, 1, 501, 163, 1, 559, 201, 1], "image_id": 117909, "bbox": [483, 146, 289, 387], "category_id": 1, "id": 162192}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [362, 204, 1, 157, 177, 1, 363, 342, 1, 77, 294, 1, 354, 455, 1, 126, 333, 1, 271, 450, 1, 181, 453, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 26, 1, 262, 139, 1], "image_id": 109122, "bbox": [44, 2, 351, 646], "category_id": 1, "id": 162197}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [415, 321, 1, 272, 323, 1, 503, 416, 1, 183, 420, 1, 445, 475, 1, 273, 455, 1, 379, 561, 1, 303, 561, 1, 363, 728, 1, 325, 726, 1, 354, 898, 1, 345, 926, 1, 337, 171, 1, 337, 290, 1], "image_id": 109883, "bbox": [74, 8, 470, 987], "category_id": 1, "id": 162203}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 186, 1, 419, 186, 1, 356, 220, 1, 421, 229, 1, 351, 264, 1, 423, 288, 1, 375, 279, 1, 406, 279, 1, 380, 338, 1, 403, 341, 1, 380, 393, 1, 401, 397, 1, 394, 119, 1, 389, 159, 1], "image_id": 118936, "bbox": [342, 107, 107, 317], "category_id": 1, "id": 162235}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [724, 154, 1, 588, 179, 1, 800, 153, 1, 535, 264, 1, 870, 145, 1, 536, 351, 1, 720, 379, 1, 630, 377, 1, 797, 523, 1, 569, 446, 1, 799, 614, 1, 552, 622, 1, 626, 51, 1, 644, 145, 1], "image_id": 119365, "bbox": [494, 24, 425, 668], "category_id": 1, "id": 162251}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [599, 177, 1, 436, 197, 1, 701, 203, 1, 396, 291, 1, 796, 217, 1, 320, 305, 1, 539, 409, 1, 491, 432, 1, 449, 533, 1, 509, 579, 1, 412, 728, 1, 678, 646, 1, 473, 69, 1, 507, 163, 1], "image_id": 111908, "bbox": [265, 46, 589, 747], "category_id": 1, "id": 162266}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [246, 201, 1, 122, 201, 1, 262, 296, 1, 107, 299, 1, 340, 315, 1, 105, 372, 1, 205, 388, 1, 147, 388, 1, 197, 536, 1, 152, 536, 1, 185, 675, 1, 154, 674, 1, 283, 42, 1, 303, 157, 1], "image_id": 109743, "bbox": [82, 55, 298, 685], "category_id": 1, "id": 162278}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [294, 410, 1, 192, 391, 1, 296, 473, 1, 188, 471, 1, 253, 498, 1, 196, 495, 1, 253, 528, 1, 187, 518, 1, 229, 597, 1, 171, 590, 1, 190, 704, 1, 124, 676, 1, 262, 296, 1, 243, 382, 1], "image_id": 109596, "bbox": [59, 261, 287, 520], "category_id": 1, "id": 162280}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [457, 224, 1, 368, 191, 1, 530, 214, 1, 268, 170, 1, 544, 128, 1, 175, 103, 1, 388, 376, 1, 314, 374, 1, 428, 467, 1, 334, 290, 1, 315, 478, 1, 323, 435, 1, 308, 94, 1, 312, 116, 1], "image_id": 112843, "bbox": [107, 44, 468, 455], "category_id": 1, "id": 162285}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [253, 248, 1, 128, 233, 1, 213, 322, 1, 70, 314, 1, 199, 386, 1, 109, 385, 1, 130, 397, 1, 88, 396, 1, 145, 524, 1, 121, 518, 1, 26, 470, 1, 0, 0, 0, 286, 137, 1, 225, 188, 1], "image_id": 113725, "bbox": [0, 99, 326, 455], "category_id": 1, "id": 162303}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [425, 183, 1, 290, 215, 1, 510, 235, 1, 278, 296, 1, 547, 318, 1, 272, 350, 1, 426, 376, 1, 330, 369, 1, 405, 469, 1, 228, 483, 1, 380, 553, 1, 125, 605, 1, 329, 104, 1, 346, 174, 1], "image_id": 110867, "bbox": [76, 85, 467, 550], "category_id": 1, "id": 162305}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [450, 178, 1, 288, 93, 1, 408, 292, 1, 228, 144, 1, 296, 267, 1, 234, 222, 1, 413, 321, 1, 326, 315, 1, 457, 498, 1, 391, 465, 1, 411, 613, 1, 380, 590, 1, 405, 52, 1, 380, 116, 1], "image_id": 114091, "bbox": [187, 24, 312, 700], "category_id": 1, "id": 162312}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [410, 338, 1, 202, 338, 1, 395, 486, 1, 183, 486, 1, 343, 574, 1, 252, 572, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 145, 1, 306, 294, 1], "image_id": 110804, "bbox": [145, 110, 287, 472], "category_id": 1, "id": 162322}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [91, 349, 1, 145, 346, 1, 81, 411, 1, 154, 401, 1, 106, 437, 1, 162, 449, 1, 106, 460, 1, 137, 458, 1, 125, 528, 1, 126, 535, 1, 134, 608, 1, 101, 611, 1, 123, 311, 1, 113, 338, 1], "image_id": 115663, "bbox": [67, 295, 111, 357], "category_id": 1, "id": 162325}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [661, 278, 1, 453, 273, 1, 715, 391, 1, 427, 303, 1, 799, 485, 1, 449, 408, 1, 652, 510, 1, 536, 523, 1, 699, 656, 1, 591, 673, 1, 665, 685, 1, 719, 791, 1, 561, 137, 1, 555, 251, 1], "image_id": 115553, "bbox": [394, 108, 465, 758], "category_id": 1, "id": 162351}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [171, 428, 1, 262, 404, 1, 160, 522, 1, 299, 486, 1, 156, 591, 1, 285, 564, 1, 228, 584, 1, 259, 584, 1, 247, 706, 1, 213, 721, 1, 295, 820, 1, 165, 828, 1, 172, 336, 1, 198, 391, 1], "image_id": 115315, "bbox": [121, 310, 201, 567], "category_id": 1, "id": 162352}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [552, 255, 1, 379, 283, 1, 569, 401, 1, 377, 434, 1, 502, 505, 1, 428, 504, 1, 529, 539, 1, 429, 538, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 112, 1, 448, 227, 1], "image_id": 111562, "bbox": [336, 77, 265, 522], "category_id": 1, "id": 162355}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [263, 255, 1, 347, 197, 1, 170, 260, 1, 352, 162, 1, 165, 185, 1, 335, 100, 1, 292, 443, 1, 312, 371, 1, 285, 572, 1, 206, 341, 1, 443, 574, 1, 213, 388, 1, 288, 145, 1, 297, 217, 1], "image_id": 113612, "bbox": [136, 17, 369, 623], "category_id": 1, "id": 162362}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [257, 293, 1, 71, 357, 1, 401, 364, 1, 125, 659, 1, 430, 417, 1, 298, 582, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 59, 1, 171, 260, 1], "image_id": 109492, "bbox": [3, 27, 464, 797], "category_id": 1, "id": 162367}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [281, 174, 1, 101, 220, 1, 311, 265, 1, 74, 341, 1, 354, 280, 1, 160, 436, 1, 302, 409, 1, 211, 462, 1, 399, 569, 1, 255, 635, 1, 464, 718, 1, 275, 748, 1, 178, 47, 1, 188, 172, 1], "image_id": 117756, "bbox": [38, 22, 492, 777], "category_id": 1, "id": 162371}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [840, 151, 1, 927, 116, 1, 849, 277, 1, 932, 207, 1, 865, 296, 1, 915, 272, 1, 925, 314, 1, 0, 0, 0, 789, 384, 1, 0, 0, 0, 889, 505, 1, 0, 0, 0, 829, 56, 1, 868, 107, 1], "image_id": 119496, "bbox": [757, 20, 181, 556], "category_id": 1, "id": 162386}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [668, 166, 1, 518, 176, 1, 711, 266, 1, 473, 263, 1, 720, 361, 1, 477, 359, 1, 624, 389, 1, 541, 379, 1, 618, 544, 1, 581, 502, 1, 536, 443, 1, 589, 677, 1, 597, 49, 1, 592, 134, 1], "image_id": 111675, "bbox": [440, 5, 310, 720], "category_id": 1, "id": 162390}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [242, 569, 1, 404, 595, 1, 264, 511, 1, 498, 561, 1, 343, 492, 1, 387, 552, 1, 371, 519, 1, 460, 575, 1, 454, 412, 1, 592, 491, 1, 383, 568, 1, 475, 594, 1, 297, 596, 1, 320, 577, 1], "image_id": 116291, "bbox": [214, 388, 408, 238], "category_id": 1, "id": 162391}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [259, 226, 1, 300, 244, 1, 268, 357, 1, 273, 393, 1, 361, 403, 1, 386, 336, 1, 284, 434, 1, 267, 450, 1, 434, 455, 1, 447, 483, 1, 0, 0, 0, 0, 0, 0, 367, 107, 1, 333, 201, 1], "image_id": 116179, "bbox": [152, 81, 321, 549], "category_id": 1, "id": 162398}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [411, 465, 1, 352, 474, 1, 406, 522, 1, 346, 531, 1, 434, 578, 1, 351, 575, 1, 415, 578, 1, 383, 579, 1, 437, 665, 1, 377, 665, 1, 463, 741, 1, 373, 741, 1, 377, 402, 1, 382, 450, 1], "image_id": 119554, "bbox": [335, 395, 76, 371], "category_id": 1, "id": 162403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [528, 239, 1, 416, 247, 1, 534, 343, 1, 448, 364, 1, 517, 388, 1, 516, 400, 1, 508, 405, 1, 446, 441, 1, 534, 456, 1, 567, 492, 1, 517, 598, 1, 596, 589, 1, 454, 126, 1, 477, 229, 1], "image_id": 112576, "bbox": [382, 109, 240, 530], "category_id": 1, "id": 162406}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [413, 346, 1, 282, 356, 1, 432, 413, 1, 241, 451, 1, 507, 421, 1, 331, 486, 1, 412, 525, 1, 323, 526, 1, 488, 648, 1, 301, 659, 1, 564, 779, 1, 294, 756, 1, 326, 235, 1, 346, 327, 1], "image_id": 117135, "bbox": [213, 210, 420, 646], "category_id": 1, "id": 162419}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [561, 609, 1, 488, 576, 1, 611, 638, 1, 429, 539, 1, 630, 645, 1, 387, 531, 1, 411, 549, 1, 362, 608, 1, 376, 423, 1, 276, 570, 1, 317, 245, 1, 265, 626, 1, 552, 562, 1, 527, 592, 1], "image_id": 117023, "bbox": [195, 151, 455, 537], "category_id": 1, "id": 162425}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [590, 232, 1, 369, 273, 1, 753, 248, 1, 179, 363, 1, 888, 225, 1, 57, 359, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448, 50, 1, 463, 228, 1], "image_id": 113501, "bbox": [5, 43, 942, 554], "category_id": 1, "id": 162451}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [748, 225, 1, 725, 228, 1, 759, 244, 1, 717, 245, 1, 767, 252, 1, 717, 266, 1, 743, 270, 1, 729, 272, 1, 751, 283, 1, 731, 298, 1, 741, 300, 1, 734, 322, 1, 738, 194, 1, 738, 219, 1], "image_id": 118663, "bbox": [706, 184, 74, 156], "category_id": 1, "id": 162454}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 298, 1, 510, 300, 1, 526, 333, 1, 512, 338, 1, 532, 367, 1, 521, 365, 1, 521, 378, 1, 514, 378, 1, 518, 418, 1, 514, 418, 1, 517, 460, 1, 513, 461, 1, 524, 253, 1, 520, 285, 1], "image_id": 117351, "bbox": [496, 244, 48, 231], "category_id": 1, "id": 162456}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 123, 1, 273, 143, 1, 403, 200, 1, 257, 209, 1, 406, 268, 1, 250, 260, 1, 363, 305, 1, 310, 304, 1, 364, 411, 1, 302, 411, 1, 369, 521, 1, 313, 522, 1, 305, 47, 1, 313, 112, 1], "image_id": 119426, "bbox": [234, 28, 200, 527], "category_id": 1, "id": 162465}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [639, 161, 1, 519, 158, 1, 646, 237, 1, 482, 230, 1, 636, 225, 1, 543, 215, 1, 606, 285, 1, 547, 288, 1, 697, 330, 1, 543, 389, 1, 680, 439, 1, 537, 467, 1, 601, 89, 1, 578, 160, 1], "image_id": 118629, "bbox": [472, 70, 211, 280], "category_id": 1, "id": 162478}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 477, 1, 356, 480, 1, 377, 506, 1, 364, 503, 1, 386, 499, 1, 383, 493, 1, 364, 543, 1, 372, 541, 1, 365, 577, 1, 404, 552, 1, 359, 613, 1, 397, 589, 1, 359, 443, 1, 359, 471, 1], "image_id": 109066, "bbox": [327, 434, 86, 206], "category_id": 1, "id": 162488}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [672, 159, 1, 563, 151, 1, 688, 237, 1, 482, 200, 1, 751, 204, 1, 528, 164, 1, 675, 326, 1, 615, 360, 1, 728, 332, 1, 597, 500, 1, 828, 421, 1, 559, 636, 1, 676, 66, 1, 626, 135, 1], "image_id": 111161, "bbox": [467, 36, 351, 657], "category_id": 1, "id": 162490}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [473, 321, 1, 428, 321, 1, 487, 350, 1, 421, 357, 1, 497, 368, 1, 417, 381, 1, 462, 380, 1, 437, 379, 1, 458, 433, 1, 439, 430, 1, 457, 476, 1, 442, 448, 1, 453, 283, 1, 450, 313, 1], "image_id": 116825, "bbox": [394, 273, 111, 232], "category_id": 1, "id": 162497}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [394, 165, 1, 311, 167, 1, 410, 280, 1, 295, 269, 1, 394, 373, 1, 290, 319, 1, 361, 383, 1, 310, 381, 1, 359, 521, 1, 318, 534, 1, 360, 651, 1, 351, 653, 1, 343, 53, 1, 343, 142, 1], "image_id": 110277, "bbox": [270, 36, 211, 693], "category_id": 1, "id": 162498}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [594, 33, 1, 435, 29, 1, 616, 111, 1, 407, 105, 1, 571, 179, 1, 438, 165, 1, 540, 232, 1, 454, 228, 1, 546, 384, 1, 455, 378, 1, 539, 510, 1, 460, 515, 1, 0, 0, 0, 527, 13, 1], "image_id": 119487, "bbox": [375, 1, 253, 573], "category_id": 1, "id": 162508}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [468, 177, 1, 335, 146, 1, 429, 257, 1, 256, 178, 1, 463, 300, 1, 209, 189, 1, 330, 337, 1, 271, 304, 1, 253, 458, 1, 241, 435, 1, 100, 527, 1, 164, 375, 1, 432, 85, 1, 406, 153, 1], "image_id": 114105, "bbox": [52, 57, 457, 531], "category_id": 1, "id": 162525}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [297, 216, 1, 213, 219, 1, 329, 278, 1, 186, 276, 1, 342, 327, 1, 169, 318, 1, 281, 359, 1, 232, 362, 1, 288, 446, 1, 233, 446, 1, 295, 515, 1, 239, 518, 1, 246, 129, 1, 253, 204, 1], "image_id": 117274, "bbox": [143, 109, 204, 451], "category_id": 1, "id": 162542}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [192, 195, 1, 73, 192, 1, 194, 291, 1, 51, 265, 1, 143, 250, 1, 99, 248, 1, 160, 355, 1, 102, 356, 1, 165, 504, 1, 85, 503, 1, 166, 624, 1, 71, 631, 1, 127, 81, 1, 136, 161, 1], "image_id": 113068, "bbox": [25, 46, 200, 651], "category_id": 1, "id": 162543}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [303, 280, 1, 352, 247, 1, 268, 373, 1, 286, 286, 1, 218, 352, 1, 240, 316, 1, 339, 488, 1, 384, 484, 1, 314, 645, 1, 382, 639, 1, 329, 799, 1, 413, 789, 1, 311, 157, 1, 321, 230, 1], "image_id": 115231, "bbox": [203, 141, 263, 693], "category_id": 1, "id": 162555}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 484, 57, 1, 366, 84, 1, 394, 35, 1, 472, 47, 1, 464, 204, 1, 377, 206, 1, 463, 341, 1, 376, 341, 1, 461, 489, 1, 371, 487, 1, 0, 0, 0, 0, 0, 0], "image_id": 119002, "bbox": [319, 0, 209, 307], "category_id": 1, "id": 162556}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [943, 459, 1, 823, 448, 1, 939, 543, 1, 794, 527, 1, 904, 493, 1, 822, 509, 1, 911, 578, 1, 859, 581, 1, 951, 641, 1, 910, 635, 1, 0, 0, 0, 0, 0, 0, 880, 353, 1, 887, 433, 1], "image_id": 117785, "bbox": [788, 320, 188, 345], "category_id": 1, "id": 162562}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [233, 225, 1, 149, 273, 1, 279, 195, 1, 107, 356, 1, 266, 121, 1, 63, 402, 1, 251, 421, 1, 229, 456, 1, 215, 369, 1, 218, 579, 1, 210, 419, 1, 300, 694, 1, 153, 184, 1, 174, 242, 1], "image_id": 119555, "bbox": [36, 54, 303, 708], "category_id": 1, "id": 162565}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [660, 319, 1, 553, 298, 1, 688, 400, 1, 548, 337, 1, 715, 476, 1, 544, 413, 1, 685, 400, 1, 619, 423, 1, 712, 486, 1, 638, 519, 1, 727, 410, 1, 746, 577, 1, 591, 233, 1, 604, 292, 1], "image_id": 114784, "bbox": [518, 213, 268, 432], "category_id": 1, "id": 162582}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [569, 228, 1, 494, 262, 1, 568, 390, 1, 494, 417, 1, 510, 527, 1, 429, 556, 1, 556, 526, 1, 496, 522, 1, 529, 734, 1, 425, 725, 1, 748, 703, 1, 650, 693, 1, 437, 74, 1, 504, 193, 1], "image_id": 117261, "bbox": [351, 40, 505, 729], "category_id": 1, "id": 162583}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [476, 247, 1, 344, 252, 1, 437, 379, 1, 329, 352, 1, 522, 387, 1, 413, 355, 1, 461, 510, 1, 386, 509, 1, 500, 645, 1, 386, 644, 1, 456, 782, 1, 373, 802, 1, 419, 98, 1, 413, 205, 1], "image_id": 114979, "bbox": [322, 68, 234, 820], "category_id": 1, "id": 162601}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [567, 233, 1, 461, 231, 1, 582, 367, 1, 447, 323, 1, 562, 447, 1, 410, 399, 1, 529, 439, 1, 468, 432, 1, 533, 604, 1, 447, 594, 1, 524, 757, 1, 420, 747, 1, 503, 103, 1, 509, 202, 1], "image_id": 114442, "bbox": [384, 81, 223, 737], "category_id": 1, "id": 162613}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [652, 280, 1, 512, 294, 1, 668, 381, 1, 493, 394, 1, 673, 447, 1, 463, 459, 1, 613, 497, 1, 550, 493, 1, 601, 618, 1, 523, 616, 1, 0, 0, 0, 0, 0, 0, 581, 159, 1, 584, 259, 1], "image_id": 116694, "bbox": [457, 132, 273, 501], "category_id": 1, "id": 162617}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [576, 646, 1, 589, 539, 1, 511, 761, 1, 519, 601, 1, 407, 795, 1, 438, 660, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 494, 538, 1, 563, 579, 1], "image_id": 118886, "bbox": [321, 493, 471, 331], "category_id": 1, "id": 162625}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 209, 1, 244, 210, 1, 405, 331, 1, 182, 301, 1, 331, 314, 1, 245, 320, 1, 344, 437, 1, 278, 440, 1, 345, 626, 1, 296, 625, 1, 345, 770, 1, 304, 771, 1, 304, 77, 1, 314, 184, 1], "image_id": 110330, "bbox": [158, 58, 276, 788], "category_id": 1, "id": 162644}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [243, 295, 1, 99, 282, 1, 247, 405, 1, 98, 437, 1, 261, 477, 1, 170, 379, 1, 247, 502, 1, 131, 526, 1, 381, 538, 1, 232, 562, 1, 0, 0, 0, 0, 0, 0, 258, 113, 1, 184, 258, 1], "image_id": 116482, "bbox": [40, 65, 352, 541], "category_id": 1, "id": 162646}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 143, 1, 389, 106, 1, 472, 257, 1, 307, 102, 1, 385, 304, 1, 221, 115, 1, 466, 297, 1, 376, 287, 1, 521, 440, 1, 323, 376, 1, 591, 545, 1, 383, 496, 1, 433, 27, 1, 428, 112, 1], "image_id": 113820, "bbox": [148, 4, 477, 580], "category_id": 1, "id": 162655}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [423, 446, 1, 329, 451, 1, 422, 586, 1, 307, 544, 1, 399, 690, 1, 355, 582, 1, 395, 699, 1, 373, 696, 1, 374, 840, 1, 365, 840, 1, 0, 0, 0, 0, 0, 0, 375, 286, 1, 371, 417, 1], "image_id": 112665, "bbox": [312, 260, 202, 633], "category_id": 1, "id": 162664}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [428, 216, 1, 289, 220, 1, 426, 366, 1, 273, 362, 1, 446, 498, 1, 288, 494, 1, 395, 464, 1, 327, 466, 1, 418, 682, 1, 337, 681, 1, 363, 875, 1, 346, 900, 1, 350, 40, 1, 363, 165, 1], "image_id": 114137, "bbox": [246, 12, 228, 979], "category_id": 1, "id": 162677}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [220, 255, 1, 103, 239, 1, 178, 382, 1, 51, 397, 1, 268, 405, 1, 179, 470, 1, 202, 526, 1, 163, 528, 1, 233, 641, 1, 177, 680, 1, 185, 783, 1, 193, 846, 1, 232, 90, 1, 170, 202, 1], "image_id": 111664, "bbox": [19, 66, 275, 892], "category_id": 1, "id": 162682}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [460, 226, 1, 443, 227, 1, 449, 244, 1, 418, 246, 1, 432, 231, 1, 401, 243, 1, 454, 288, 1, 437, 288, 1, 453, 332, 1, 437, 332, 1, 454, 381, 1, 440, 380, 1, 444, 195, 1, 449, 221, 1], "image_id": 114473, "bbox": [383, 189, 113, 206], "category_id": 1, "id": 162693}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [766, 309, 1, 645, 221, 1, 661, 421, 1, 554, 311, 1, 528, 368, 1, 446, 316, 1, 590, 507, 1, 526, 421, 1, 512, 444, 1, 471, 275, 1, 287, 536, 1, 341, 461, 1, 797, 156, 1, 727, 239, 1], "image_id": 114107, "bbox": [168, 129, 679, 456], "category_id": 1, "id": 162694}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [320, 281, 1, 136, 303, 1, 333, 424, 1, 129, 443, 1, 350, 543, 1, 160, 564, 1, 298, 552, 1, 212, 564, 1, 301, 712, 1, 229, 732, 1, 303, 843, 1, 253, 872, 1, 222, 96, 1, 235, 246, 1], "image_id": 116007, "bbox": [90, 64, 284, 928], "category_id": 1, "id": 162698}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [288, 258, 1, 195, 253, 1, 287, 350, 1, 185, 367, 1, 320, 375, 1, 218, 447, 1, 279, 476, 1, 232, 473, 1, 271, 637, 1, 226, 634, 1, 247, 760, 1, 207, 757, 1, 252, 127, 1, 247, 223, 1], "image_id": 115625, "bbox": [135, 102, 251, 720], "category_id": 1, "id": 162705}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [701, 140, 1, 615, 142, 1, 739, 204, 1, 582, 199, 1, 709, 253, 1, 590, 249, 1, 679, 286, 1, 623, 285, 1, 669, 382, 1, 617, 382, 1, 668, 464, 1, 610, 471, 1, 670, 54, 1, 657, 124, 1], "image_id": 118706, "bbox": [559, 41, 239, 255], "category_id": 1, "id": 162709}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 342, 1, 283, 356, 1, 374, 409, 1, 293, 460, 1, 378, 463, 1, 380, 421, 1, 348, 550, 1, 296, 548, 1, 358, 715, 1, 281, 720, 1, 353, 865, 1, 272, 840, 1, 327, 214, 1, 322, 328, 1], "image_id": 118382, "bbox": [215, 197, 209, 728], "category_id": 1, "id": 162716}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [407, 274, 1, 240, 281, 1, 449, 399, 1, 218, 416, 1, 425, 518, 1, 299, 507, 1, 367, 539, 1, 284, 541, 1, 406, 732, 1, 314, 735, 1, 395, 903, 1, 271, 868, 1, 333, 109, 1, 326, 234, 1], "image_id": 114653, "bbox": [170, 76, 320, 876], "category_id": 1, "id": 162726}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [629, 237, 1, 479, 222, 1, 642, 328, 1, 426, 323, 1, 662, 401, 1, 430, 419, 1, 581, 450, 1, 486, 442, 1, 561, 600, 1, 465, 582, 1, 0, 0, 0, 0, 0, 0, 565, 99, 1, 550, 205, 1], "image_id": 113136, "bbox": [386, 73, 295, 553], "category_id": 1, "id": 162735}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [485, 257, 1, 297, 277, 1, 613, 360, 1, 213, 382, 1, 527, 469, 1, 126, 327, 1, 455, 583, 1, 357, 587, 1, 505, 762, 1, 366, 764, 1, 0, 0, 0, 0, 0, 0, 304, 110, 1, 367, 240, 1], "image_id": 119833, "bbox": [79, 79, 559, 696], "category_id": 1, "id": 162745}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [859, 101, 1, 776, 85, 1, 866, 150, 1, 757, 137, 1, 883, 176, 1, 736, 188, 1, 817, 188, 1, 776, 182, 1, 815, 293, 1, 750, 282, 1, 781, 359, 1, 705, 342, 1, 825, 17, 1, 819, 75, 1], "image_id": 118106, "bbox": [658, 0, 252, 387], "category_id": 1, "id": 162747}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [722, 210, 1, 573, 194, 1, 756, 297, 1, 554, 292, 1, 774, 305, 1, 541, 359, 1, 660, 419, 1, 574, 418, 1, 628, 561, 1, 564, 572, 1, 566, 706, 1, 604, 495, 1, 654, 55, 1, 649, 161, 1], "image_id": 118190, "bbox": [504, 31, 315, 715], "category_id": 1, "id": 162759}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 212, 1, 313, 215, 1, 379, 299, 1, 286, 281, 1, 312, 297, 1, 263, 295, 1, 354, 381, 1, 313, 383, 1, 337, 476, 1, 303, 473, 1, 404, 525, 1, 325, 575, 1, 334, 112, 1, 346, 189, 1], "image_id": 114544, "bbox": [233, 100, 192, 513], "category_id": 1, "id": 162761}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [423, 258, 1, 432, 258, 1, 397, 255, 1, 420, 253, 1, 377, 245, 1, 410, 244, 1, 415, 333, 1, 421, 337, 1, 432, 371, 1, 438, 377, 1, 394, 344, 1, 398, 349, 1, 442, 221, 1, 436, 248, 1], "image_id": 114314, "bbox": [351, 212, 113, 181], "category_id": 1, "id": 162773}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 516, 1, 240, 523, 1, 319, 562, 1, 255, 559, 1, 315, 587, 1, 277, 520, 1, 292, 618, 1, 256, 620, 1, 305, 706, 1, 249, 706, 1, 326, 779, 1, 252, 785, 1, 243, 461, 1, 266, 511, 1], "image_id": 110014, "bbox": [211, 450, 169, 372], "category_id": 1, "id": 162780}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 412, 1, 476, 443, 1, 461, 422, 1, 397, 521, 1, 362, 452, 1, 485, 526, 1, 333, 431, 1, 277, 469, 1, 275, 412, 1, 223, 433, 1, 229, 394, 1, 184, 399, 1, 630, 409, 1, 540, 439, 1], "image_id": 115750, "bbox": [137, 355, 533, 194], "category_id": 1, "id": 162787}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 294, 1, 381, 260, 1, 347, 366, 1, 417, 270, 1, 272, 364, 1, 401, 278, 1, 413, 440, 1, 356, 428, 1, 453, 538, 1, 271, 496, 1, 509, 569, 1, 319, 608, 1, 309, 217, 1, 343, 272, 1], "image_id": 118571, "bbox": [198, 184, 338, 491], "category_id": 1, "id": 162789}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [884, 170, 1, 866, 171, 1, 875, 278, 1, 858, 266, 1, 825, 347, 1, 812, 343, 1, 887, 363, 1, 850, 362, 1, 888, 517, 1, 835, 516, 1, 903, 650, 1, 850, 649, 1, 845, 52, 1, 863, 131, 1], "image_id": 117711, "bbox": [753, 32, 207, 653], "category_id": 1, "id": 162811}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [580, 237, 1, 448, 248, 1, 635, 321, 1, 462, 342, 1, 680, 384, 1, 532, 343, 1, 569, 455, 1, 490, 452, 1, 554, 577, 1, 471, 585, 1, 0, 0, 0, 0, 0, 0, 532, 73, 1, 508, 203, 1], "image_id": 110202, "bbox": [412, 34, 244, 598], "category_id": 1, "id": 162820}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [282, 179, 1, 217, 174, 1, 252, 257, 1, 185, 240, 1, 213, 286, 1, 219, 252, 1, 272, 349, 1, 241, 348, 1, 272, 478, 1, 242, 479, 1, 274, 587, 1, 245, 586, 1, 212, 71, 1, 241, 147, 1], "image_id": 119650, "bbox": [151, 2, 171, 459], "category_id": 1, "id": 162886}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [597, 352, 1, 428, 340, 1, 659, 249, 1, 390, 236, 1, 586, 291, 1, 483, 280, 1, 434, 522, 1, 315, 485, 1, 379, 727, 1, 140, 648, 1, 0, 0, 0, 0, 0, 0, 546, 237, 1, 508, 325, 1], "image_id": 111221, "bbox": [2, 188, 679, 751], "category_id": 1, "id": 162892}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [343, 235, 1, 167, 185, 1, 398, 356, 1, 175, 336, 1, 463, 461, 1, 261, 357, 1, 214, 388, 1, 106, 395, 1, 227, 547, 1, 141, 617, 1, 263, 786, 1, 177, 764, 1, 295, 75, 1, 265, 184, 1], "image_id": 119473, "bbox": [34, 56, 391, 829], "category_id": 1, "id": 162903}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [634, 112, 1, 506, 133, 1, 590, 211, 1, 420, 193, 1, 535, 261, 1, 438, 224, 1, 598, 345, 1, 513, 340, 1, 727, 445, 1, 574, 464, 1, 599, 595, 1, 599, 663, 1, 614, 38, 1, 573, 106, 1], "image_id": 115413, "bbox": [399, 2, 362, 702], "category_id": 1, "id": 162923}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 146, 1, 344, 162, 1, 452, 244, 1, 336, 245, 1, 410, 270, 1, 316, 319, 1, 417, 325, 1, 368, 321, 1, 412, 468, 1, 363, 451, 1, 416, 602, 1, 385, 605, 1, 365, 37, 1, 391, 120, 1], "image_id": 119693, "bbox": [293, 14, 149, 624], "category_id": 1, "id": 162928}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 104, 1, 411, 97, 1, 386, 132, 1, 407, 129, 1, 369, 111, 1, 394, 168, 1, 409, 179, 1, 400, 180, 1, 404, 230, 1, 394, 225, 1, 432, 262, 1, 390, 268, 1, 387, 55, 1, 397, 84, 1], "image_id": 119562, "bbox": [372, 50, 76, 237], "category_id": 1, "id": 162937}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [320, 331, 1, 148, 375, 1, 419, 369, 1, 98, 464, 1, 516, 395, 1, 98, 426, 1, 346, 566, 1, 269, 617, 1, 373, 702, 1, 263, 785, 1, 373, 815, 1, 388, 867, 1, 191, 206, 1, 213, 318, 1], "image_id": 114867, "bbox": [69, 179, 541, 761], "category_id": 1, "id": 162940}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [249, 120, 1, 132, 103, 1, 266, 179, 1, 83, 170, 1, 261, 240, 1, 101, 196, 1, 203, 267, 1, 154, 268, 1, 196, 390, 1, 149, 401, 1, 174, 434, 1, 147, 490, 1, 194, 16, 1, 191, 89, 1], "image_id": 114929, "bbox": [68, 2, 213, 532], "category_id": 1, "id": 162946}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [267, 345, 1, 411, 280, 1, 251, 461, 1, 513, 355, 1, 238, 564, 1, 433, 241, 1, 337, 558, 1, 418, 559, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 412, 187, 1], "image_id": 110594, "bbox": [212, 176, 326, 573], "category_id": 1, "id": 162950}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [250, 346, 1, 167, 348, 1, 343, 437, 1, 163, 464, 1, 335, 531, 1, 125, 541, 1, 222, 588, 1, 233, 590, 1, 139, 762, 1, 250, 764, 1, 127, 924, 1, 436, 764, 1, 189, 225, 1, 205, 318, 1], "image_id": 118814, "bbox": [32, 194, 460, 764], "category_id": 1, "id": 162960}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [597, 169, 1, 508, 175, 1, 614, 276, 1, 496, 245, 1, 546, 316, 1, 481, 282, 1, 600, 321, 1, 558, 321, 1, 590, 444, 1, 567, 440, 1, 569, 552, 1, 553, 532, 1, 540, 97, 1, 601, 174, 1], "image_id": 112724, "bbox": [447, 57, 213, 533], "category_id": 1, "id": 162968}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [246, 211, 1, 109, 186, 1, 286, 322, 1, 122, 216, 1, 245, 339, 1, 191, 139, 1, 220, 449, 1, 135, 451, 1, 213, 626, 1, 126, 607, 1, 192, 771, 1, 127, 771, 1, 191, 85, 1, 186, 189, 1], "image_id": 111174, "bbox": [82, 58, 224, 767], "category_id": 1, "id": 162971}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [458, 206, 1, 436, 204, 1, 399, 283, 1, 379, 283, 1, 441, 336, 1, 478, 316, 1, 430, 411, 1, 369, 412, 1, 484, 534, 1, 322, 559, 1, 513, 696, 1, 174, 524, 1, 484, 84, 1, 460, 166, 1], "image_id": 113784, "bbox": [111, 60, 482, 691], "category_id": 1, "id": 162973}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [307, 491, 1, 164, 492, 1, 351, 623, 1, 91, 604, 1, 296, 524, 1, 74, 522, 1, 271, 765, 1, 200, 762, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, 368, 1, 214, 466, 1], "image_id": 109910, "bbox": [38, 340, 349, 459], "category_id": 1, "id": 162978}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [317, 195, 1, 194, 198, 1, 330, 297, 1, 178, 316, 1, 307, 366, 1, 166, 410, 1, 274, 388, 1, 206, 390, 1, 285, 535, 1, 222, 528, 1, 309, 691, 1, 242, 656, 1, 234, 62, 1, 249, 162, 1], "image_id": 109113, "bbox": [134, 45, 236, 739], "category_id": 1, "id": 162991}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [438, 129, 1, 591, 149, 1, 340, 182, 1, 676, 234, 1, 352, 211, 1, 749, 296, 1, 382, 283, 1, 473, 312, 1, 305, 417, 1, 375, 453, 1, 245, 451, 1, 278, 505, 1, 520, 14, 1, 514, 101, 1], "image_id": 118120, "bbox": [151, 4, 617, 585], "category_id": 1, "id": 162995}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [252, 247, 1, 312, 252, 1, 348, 307, 1, 462, 330, 1, 470, 268, 1, 472, 291, 1, 287, 509, 1, 341, 510, 1, 294, 702, 1, 354, 705, 1, 0, 0, 0, 0, 0, 0, 256, 146, 1, 325, 142, 1], "image_id": 109297, "bbox": [204, 124, 293, 669], "category_id": 1, "id": 163020}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [727, 162, 1, 752, 177, 1, 724, 270, 1, 749, 264, 1, 650, 239, 1, 675, 231, 1, 736, 368, 1, 744, 366, 1, 749, 517, 1, 672, 497, 1, 793, 662, 1, 691, 657, 1, 709, 40, 1, 723, 130, 1], "image_id": 116598, "bbox": [594, 24, 245, 687], "category_id": 1, "id": 163030}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [540, 338, 1, 419, 339, 1, 579, 412, 1, 411, 414, 1, 602, 486, 1, 462, 390, 1, 509, 534, 1, 447, 528, 1, 490, 660, 1, 445, 640, 1, 466, 795, 1, 422, 757, 1, 492, 227, 1, 492, 311, 1], "image_id": 111313, "bbox": [397, 208, 224, 625], "category_id": 1, "id": 163032}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [627, 144, 1, 595, 137, 1, 627, 174, 1, 581, 162, 1, 626, 191, 1, 571, 177, 1, 605, 190, 1, 591, 187, 1, 593, 219, 1, 582, 214, 1, 586, 246, 1, 592, 229, 1, 615, 107, 1, 613, 131, 1], "image_id": 112795, "bbox": [558, 96, 80, 161], "category_id": 1, "id": 163054}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 745, 267, 1, 789, 483, 1, 687, 360, 1, 696, 483, 1, 644, 450, 1, 0, 0, 0, 706, 454, 1, 0, 0, 0, 596, 503, 1, 0, 0, 0, 0, 0, 0, 676, 113, 1, 683, 221, 1], "image_id": 118051, "bbox": [578, 55, 223, 476], "category_id": 1, "id": 163057}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [698, 197, 1, 752, 254, 1, 694, 290, 1, 759, 319, 1, 649, 344, 1, 726, 262, 1, 539, 292, 1, 568, 373, 1, 452, 208, 1, 546, 512, 1, 325, 137, 1, 570, 636, 1, 497, 103, 1, 497, 187, 1], "image_id": 116654, "bbox": [236, 84, 559, 625], "category_id": 1, "id": 163061}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [495, 258, 1, 324, 246, 1, 594, 265, 1, 222, 243, 1, 677, 263, 1, 142, 212, 1, 403, 375, 1, 322, 346, 1, 315, 451, 1, 238, 469, 1, 254, 548, 1, 180, 546, 1, 392, 148, 1, 398, 242, 1], "image_id": 109460, "bbox": [55, 16, 681, 602], "category_id": 1, "id": 163067}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [532, 265, 1, 472, 265, 1, 520, 308, 1, 499, 335, 1, 457, 280, 1, 439, 334, 1, 517, 425, 1, 480, 425, 1, 500, 499, 1, 476, 503, 1, 526, 592, 1, 505, 594, 1, 466, 176, 1, 487, 235, 1], "image_id": 116081, "bbox": [393, 159, 171, 461], "category_id": 1, "id": 163100}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [322, 212, 1, 124, 242, 1, 354, 379, 1, 248, 409, 1, 394, 295, 1, 374, 305, 1, 296, 499, 1, 199, 512, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 80, 1, 225, 197, 1], "image_id": 114399, "bbox": [89, 35, 431, 558], "category_id": 1, "id": 163114}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [234, 675, 1, 427, 669, 1, 166, 621, 1, 409, 586, 1, 311, 624, 1, 276, 700, 1, 274, 508, 1, 375, 507, 1, 260, 310, 1, 419, 330, 1, 248, 487, 1, 410, 514, 1, 356, 727, 1, 0, 0, 0], "image_id": 116868, "bbox": [111, 266, 363, 496], "category_id": 1, "id": 163115}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 490, 1, 263, 536, 1, 320, 600, 1, 240, 610, 1, 368, 633, 1, 221, 703, 1, 290, 685, 1, 276, 692, 1, 252, 771, 1, 335, 787, 1, 217, 845, 1, 352, 890, 1, 324, 386, 1, 279, 481, 1], "image_id": 110513, "bbox": [131, 332, 310, 621], "category_id": 1, "id": 163124}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [643, 365, 1, 509, 373, 1, 661, 490, 1, 457, 444, 1, 580, 502, 1, 462, 477, 1, 615, 532, 1, 521, 540, 1, 647, 572, 1, 594, 573, 1, 0, 0, 0, 0, 0, 0, 601, 237, 1, 576, 345, 1], "image_id": 111414, "bbox": [436, 209, 249, 415], "category_id": 1, "id": 163134}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [451, 228, 1, 363, 228, 1, 455, 297, 1, 355, 288, 1, 418, 316, 1, 388, 323, 1, 430, 365, 1, 377, 365, 1, 428, 457, 1, 375, 459, 1, 0, 0, 0, 0, 0, 0, 399, 145, 1, 402, 207, 1], "image_id": 114274, "bbox": [340, 138, 152, 362], "category_id": 1, "id": 163162}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 187, 1, 313, 175, 1, 426, 232, 1, 289, 233, 1, 435, 274, 1, 322, 267, 1, 357, 243, 1, 306, 236, 1, 387, 210, 1, 267, 200, 1, 378, 268, 1, 292, 276, 1, 349, 117, 1, 351, 168, 1], "image_id": 119171, "bbox": [240, 97, 226, 222], "category_id": 1, "id": 163169}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [512, 235, 1, 456, 239, 1, 494, 185, 1, 449, 202, 1, 471, 146, 1, 440, 153, 1, 494, 373, 1, 453, 379, 1, 498, 457, 1, 453, 461, 1, 504, 527, 1, 452, 528, 1, 441, 114, 1, 458, 172, 1], "image_id": 114863, "bbox": [419, 104, 124, 456], "category_id": 1, "id": 163173}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [147, 282, 1, 129, 282, 1, 156, 348, 1, 144, 369, 1, 168, 407, 1, 99, 385, 1, 113, 418, 1, 134, 417, 1, 92, 485, 1, 167, 483, 1, 101, 563, 1, 221, 529, 1, 121, 212, 1, 130, 263, 1], "image_id": 109488, "bbox": [51, 200, 198, 397], "category_id": 1, "id": 163180}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [601, 245, 1, 536, 242, 1, 614, 332, 1, 561, 304, 1, 545, 335, 1, 569, 387, 1, 651, 370, 1, 601, 370, 1, 671, 483, 1, 540, 417, 1, 803, 494, 1, 511, 495, 1, 573, 142, 1, 566, 218, 1], "image_id": 116767, "bbox": [445, 118, 396, 407], "category_id": 1, "id": 163183}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [343, 184, 1, 215, 184, 1, 397, 299, 1, 211, 282, 1, 435, 370, 1, 212, 357, 1, 311, 387, 1, 238, 388, 1, 275, 533, 1, 266, 532, 1, 248, 688, 1, 286, 623, 1, 256, 52, 1, 266, 147, 1], "image_id": 110399, "bbox": [183, 19, 292, 758], "category_id": 1, "id": 163187}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 167, 1, 295, 140, 1, 366, 241, 1, 241, 212, 1, 445, 229, 1, 236, 293, 1, 324, 344, 1, 284, 340, 1, 266, 468, 1, 360, 459, 1, 217, 605, 1, 409, 607, 1, 356, 61, 1, 328, 136, 1], "image_id": 111343, "bbox": [183, 45, 319, 587], "category_id": 1, "id": 163197}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [773, 429, 1, 545, 441, 1, 854, 556, 1, 553, 574, 1, 828, 537, 1, 661, 565, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 236, 1, 659, 381, 1], "image_id": 111579, "bbox": [507, 209, 327, 390], "category_id": 1, "id": 163202}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [115, 136, 1, 80, 142, 1, 116, 166, 1, 74, 170, 1, 118, 187, 1, 73, 187, 1, 107, 186, 1, 86, 186, 1, 106, 223, 1, 90, 222, 1, 109, 259, 1, 91, 261, 1, 92, 101, 1, 96, 128, 1], "image_id": 115251, "bbox": [64, 96, 64, 180], "category_id": 1, "id": 163203}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 297, 1, 239, 271, 1, 375, 379, 1, 217, 370, 1, 386, 303, 1, 303, 336, 1, 268, 486, 1, 212, 483, 1, 266, 648, 1, 211, 648, 1, 247, 815, 1, 195, 814, 1, 354, 193, 1, 299, 265, 1], "image_id": 114457, "bbox": [131, 160, 287, 732], "category_id": 1, "id": 163218}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [354, 256, 1, 230, 244, 1, 360, 375, 1, 185, 348, 1, 377, 450, 1, 181, 461, 1, 305, 460, 1, 233, 453, 1, 316, 645, 1, 224, 638, 1, 319, 833, 1, 194, 826, 1, 312, 109, 1, 293, 221, 1], "image_id": 115318, "bbox": [133, 72, 290, 865], "category_id": 1, "id": 163220}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [689, 201, 1, 542, 211, 1, 690, 373, 1, 521, 336, 1, 571, 391, 1, 464, 361, 1, 660, 514, 1, 579, 503, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, 36, 1, 599, 176, 1], "image_id": 113852, "bbox": [380, 6, 367, 601], "category_id": 1, "id": 163232}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [298, 243, 1, 173, 240, 1, 317, 332, 1, 146, 320, 1, 376, 352, 1, 157, 385, 1, 267, 448, 1, 191, 446, 1, 270, 571, 1, 185, 566, 1, 271, 688, 1, 177, 684, 1, 353, 77, 1, 363, 183, 1], "image_id": 114159, "bbox": [118, 95, 302, 679], "category_id": 1, "id": 163235}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [505, 166, 1, 616, 185, 1, 492, 274, 1, 625, 271, 1, 471, 343, 1, 562, 219, 1, 532, 382, 1, 597, 386, 1, 528, 519, 1, 616, 507, 1, 525, 647, 1, 671, 616, 1, 535, 90, 1, 548, 141, 1], "image_id": 115116, "bbox": [446, 75, 261, 601], "category_id": 1, "id": 163244}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [219, 166, 1, 373, 175, 1, 185, 245, 1, 421, 273, 1, 147, 345, 1, 463, 351, 1, 250, 383, 1, 336, 375, 1, 210, 462, 1, 444, 466, 1, 244, 511, 1, 517, 593, 1, 311, 63, 1, 298, 138, 1], "image_id": 113276, "bbox": [93, 42, 467, 588], "category_id": 1, "id": 163247}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [156, 191, 1, 160, 184, 1, 164, 235, 1, 166, 229, 1, 138, 257, 1, 143, 250, 1, 223, 225, 1, 227, 222, 1, 212, 267, 1, 216, 261, 1, 257, 262, 1, 258, 258, 1, 116, 146, 1, 141, 175, 1], "image_id": 110619, "bbox": [102, 131, 179, 154], "category_id": 1, "id": 163257}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [674, 187, 1, 536, 185, 1, 703, 268, 1, 492, 262, 1, 680, 312, 1, 461, 329, 1, 627, 358, 1, 563, 357, 1, 639, 477, 1, 558, 493, 1, 633, 603, 1, 549, 453, 1, 607, 91, 1, 607, 162, 1], "image_id": 119893, "bbox": [426, 67, 296, 528], "category_id": 1, "id": 163258}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [688, 330, 1, 607, 295, 1, 640, 391, 1, 550, 261, 1, 618, 321, 1, 593, 236, 1, 628, 452, 1, 580, 436, 1, 602, 543, 1, 553, 530, 1, 568, 644, 1, 557, 605, 1, 657, 240, 1, 645, 303, 1], "image_id": 114067, "bbox": [524, 206, 176, 495], "category_id": 1, "id": 163259}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [439, 174, 1, 347, 152, 1, 464, 219, 1, 252, 189, 1, 498, 260, 1, 180, 230, 1, 370, 315, 1, 312, 313, 1, 438, 424, 1, 348, 419, 1, 421, 506, 1, 352, 509, 1, 402, 79, 1, 394, 149, 1], "image_id": 117618, "bbox": [129, 50, 418, 528], "category_id": 1, "id": 163277}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [491, 373, 1, 359, 364, 1, 504, 454, 1, 356, 476, 1, 512, 494, 1, 372, 560, 1, 448, 593, 1, 389, 598, 1, 433, 743, 1, 396, 747, 1, 382, 842, 1, 413, 896, 1, 422, 229, 1, 422, 338, 1], "image_id": 116041, "bbox": [335, 208, 203, 786], "category_id": 1, "id": 163304}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 203, 1, 104, 196, 1, 286, 358, 1, 73, 344, 1, 410, 351, 1, 107, 467, 1, 230, 476, 1, 152, 486, 1, 218, 598, 1, 164, 634, 1, 211, 686, 1, 174, 742, 1, 189, 26, 1, 189, 160, 1], "image_id": 118169, "bbox": [47, 7, 241, 760], "category_id": 1, "id": 163311}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [177, 93, 1, 210, 97, 1, 147, 213, 1, 167, 190, 1, 243, 289, 1, 160, 308, 1, 135, 329, 1, 166, 329, 1, 234, 453, 1, 292, 434, 1, 144, 612, 1, 124, 526, 1, 0, 0, 0, 203, 55, 1], "image_id": 111549, "bbox": [63, 2, 261, 653], "category_id": 1, "id": 163313}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [473, 342, 1, 345, 332, 1, 508, 441, 1, 296, 431, 1, 525, 511, 1, 271, 515, 1, 422, 546, 1, 346, 546, 1, 419, 665, 1, 327, 668, 1, 397, 757, 1, 325, 784, 1, 408, 214, 1, 404, 316, 1], "image_id": 116381, "bbox": [233, 188, 347, 683], "category_id": 1, "id": 163328}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [182, 217, 1, 114, 212, 1, 203, 256, 1, 76, 248, 1, 208, 290, 1, 97, 281, 1, 177, 325, 1, 133, 329, 1, 181, 389, 1, 137, 399, 1, 176, 449, 1, 129, 450, 1, 155, 155, 1, 147, 203, 1], "image_id": 113980, "bbox": [52, 137, 184, 351], "category_id": 1, "id": 163330}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [365, 209, 1, 271, 172, 1, 322, 275, 1, 215, 219, 1, 278, 272, 1, 229, 237, 1, 337, 394, 1, 261, 394, 1, 346, 534, 1, 242, 528, 1, 350, 653, 1, 225, 651, 1, 312, 89, 1, 307, 175, 1], "image_id": 109072, "bbox": [145, 64, 244, 643], "category_id": 1, "id": 163333}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 360, 1, 467, 406, 1, 454, 404, 1, 427, 466, 1, 379, 389, 1, 401, 422, 1, 621, 459, 1, 603, 501, 1, 737, 474, 1, 732, 511, 1, 826, 481, 1, 823, 519, 1, 448, 304, 1, 485, 369, 1], "image_id": 114199, "bbox": [360, 287, 364, 188], "category_id": 1, "id": 163349}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [786, 365, 1, 748, 362, 1, 791, 401, 1, 744, 402, 1, 799, 431, 1, 743, 427, 1, 780, 437, 1, 759, 435, 1, 780, 485, 1, 761, 485, 1, 782, 533, 1, 761, 535, 1, 771, 318, 1, 769, 351, 1], "image_id": 116764, "bbox": [732, 311, 80, 236], "category_id": 1, "id": 163350}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 198, 1, 309, 194, 1, 487, 295, 1, 267, 294, 1, 536, 316, 1, 205, 348, 1, 405, 403, 1, 337, 401, 1, 377, 535, 1, 353, 547, 1, 345, 629, 1, 368, 700, 1, 381, 67, 1, 376, 173, 1], "image_id": 114831, "bbox": [197, 50, 385, 717], "category_id": 1, "id": 163359}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [500, 234, 1, 357, 225, 1, 511, 361, 1, 344, 353, 1, 521, 450, 1, 414, 409, 1, 469, 463, 1, 404, 468, 1, 451, 616, 1, 406, 614, 1, 444, 744, 1, 400, 759, 1, 436, 81, 1, 430, 193, 1], "image_id": 110617, "bbox": [319, 62, 229, 758], "category_id": 1, "id": 163368}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 67, 298, 1, 0, 0, 0, 74, 416, 1, 0, 0, 0, 79, 534, 1, 0, 0, 0, 38, 540, 1, 0, 0, 0, 40, 718, 1, 0, 0, 0, 0, 0, 0, 9, 199, 1, 22, 293, 1], "image_id": 110800, "bbox": [0, 178, 107, 622], "category_id": 1, "id": 163377}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [752, 315, 1, 647, 292, 1, 767, 407, 1, 641, 233, 1, 769, 400, 1, 634, 135, 1, 739, 509, 1, 678, 509, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 701, 188, 1, 701, 278, 1], "image_id": 115710, "bbox": [553, 69, 240, 542], "category_id": 1, "id": 163380}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [493, 291, 1, 447, 309, 1, 458, 384, 1, 427, 350, 1, 422, 358, 1, 419, 377, 1, 455, 462, 1, 441, 462, 1, 459, 570, 1, 445, 547, 1, 465, 675, 1, 442, 628, 1, 440, 186, 1, 469, 265, 1], "image_id": 115897, "bbox": [392, 156, 136, 559], "category_id": 1, "id": 163393}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [96, 622, 1, 143, 596, 1, 94, 679, 1, 101, 611, 1, 51, 646, 1, 60, 616, 1, 131, 750, 1, 139, 732, 1, 148, 823, 1, 154, 786, 1, 156, 876, 1, 161, 823, 1, 54, 482, 1, 101, 567, 1], "image_id": 115660, "bbox": [9, 446, 179, 474], "category_id": 1, "id": 163399}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 164, 1, 390, 224, 1, 683, 166, 1, 327, 346, 1, 791, 145, 1, 286, 304, 1, 563, 466, 1, 506, 466, 1, 533, 676, 1, 504, 613, 1, 658, 800, 1, 487, 777, 1, 400, 70, 1, 454, 173, 1], "image_id": 113314, "bbox": [256, 23, 592, 866], "category_id": 1, "id": 163427}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [191, 594, 1, 77, 589, 1, 196, 647, 1, 67, 663, 1, 166, 583, 1, 90, 589, 1, 169, 759, 1, 115, 758, 1, 204, 770, 1, 83, 763, 1, 0, 0, 0, 83, 826, 1, 126, 463, 1, 137, 573, 1], "image_id": 113886, "bbox": [33, 436, 272, 401], "category_id": 1, "id": 163431}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [505, 343, 1, 399, 343, 1, 527, 438, 1, 402, 421, 1, 501, 391, 1, 437, 349, 1, 502, 546, 1, 437, 548, 1, 512, 678, 1, 436, 668, 1, 496, 800, 1, 404, 746, 1, 444, 232, 1, 448, 319, 1], "image_id": 116095, "bbox": [362, 199, 197, 660], "category_id": 1, "id": 163438}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [705, 826, 1, 645, 814, 1, 0, 0, 0, 640, 943, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 638, 657, 1, 658, 780, 1], "image_id": 114728, "bbox": [547, 627, 187, 371], "category_id": 1, "id": 163440}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [369, 48, 1, 505, 46, 1, 325, 139, 1, 525, 140, 1, 387, 177, 1, 471, 179, 1, 398, 260, 1, 476, 256, 1, 398, 406, 1, 480, 392, 1, 398, 519, 1, 482, 515, 1, 0, 0, 0, 431, 8, 1], "image_id": 116422, "bbox": [346, 1, 199, 470], "category_id": 1, "id": 163441}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [427, 266, 1, 331, 277, 1, 444, 346, 1, 305, 350, 1, 468, 399, 1, 273, 410, 1, 411, 410, 1, 363, 411, 1, 406, 511, 1, 373, 512, 1, 401, 615, 1, 383, 615, 1, 367, 167, 1, 374, 240, 1], "image_id": 113026, "bbox": [263, 148, 243, 508], "category_id": 1, "id": 163446}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 247, 1, 451, 256, 1, 537, 295, 1, 449, 309, 1, 542, 335, 1, 455, 348, 1, 513, 342, 1, 479, 344, 1, 511, 427, 1, 478, 428, 1, 503, 494, 1, 484, 496, 1, 474, 182, 1, 488, 235, 1], "image_id": 114428, "bbox": [432, 163, 121, 353], "category_id": 1, "id": 163449}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [41, 515, 1, 122, 560, 1, 58, 621, 1, 137, 714, 1, 89, 720, 1, 217, 714, 1, 136, 658, 1, 147, 704, 1, 202, 639, 1, 270, 678, 1, 135, 696, 1, 176, 725, 1, 133, 379, 1, 102, 490, 1], "image_id": 117475, "bbox": [2, 340, 293, 513], "category_id": 1, "id": 163469}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [441, 291, 1, 329, 250, 1, 422, 387, 1, 281, 350, 1, 347, 463, 1, 267, 443, 1, 357, 497, 1, 289, 479, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, 145, 1, 399, 240, 1], "image_id": 117410, "bbox": [220, 119, 276, 478], "category_id": 1, "id": 163490}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [520, 173, 1, 645, 175, 1, 488, 262, 1, 644, 255, 1, 534, 216, 1, 598, 301, 1, 539, 348, 1, 613, 352, 1, 549, 443, 1, 590, 456, 1, 553, 559, 1, 572, 579, 1, 584, 69, 1, 584, 136, 1], "image_id": 116933, "bbox": [472, 54, 197, 561], "category_id": 1, "id": 163507}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [683, 346, 1, 641, 263, 1, 571, 382, 1, 587, 243, 1, 529, 296, 1, 536, 275, 1, 531, 454, 1, 535, 439, 1, 466, 344, 1, 464, 333, 1, 413, 477, 1, 403, 473, 1, 752, 215, 1, 674, 288, 1], "image_id": 113708, "bbox": [346, 174, 434, 371], "category_id": 1, "id": 163508}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 277, 1, 170, 284, 1, 371, 372, 1, 152, 408, 1, 439, 391, 1, 150, 514, 1, 265, 529, 1, 199, 530, 1, 276, 692, 1, 210, 692, 1, 260, 846, 1, 218, 839, 1, 234, 128, 1, 239, 246, 1], "image_id": 119383, "bbox": [118, 118, 367, 781], "category_id": 1, "id": 163510}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 184, 1, 302, 138, 1, 465, 162, 1, 268, 192, 1, 510, 113, 1, 355, 218, 1, 318, 394, 1, 266, 323, 1, 440, 515, 1, 385, 218, 1, 364, 714, 1, 506, 263, 1, 367, 62, 1, 334, 154, 1], "image_id": 118603, "bbox": [187, 31, 421, 760], "category_id": 1, "id": 163515}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [291, 160, 1, 215, 225, 1, 360, 160, 1, 279, 290, 1, 426, 160, 1, 330, 235, 1, 272, 251, 1, 200, 257, 1, 253, 369, 1, 190, 370, 1, 236, 310, 1, 208, 380, 1, 245, 146, 1, 248, 180, 1], "image_id": 114784, "bbox": [163, 125, 304, 319], "category_id": 1, "id": 163540}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [627, 150, 1, 534, 161, 1, 674, 217, 1, 547, 233, 1, 656, 186, 1, 591, 181, 1, 656, 286, 1, 593, 293, 1, 702, 353, 1, 579, 412, 1, 804, 463, 1, 612, 566, 1, 565, 69, 1, 573, 126, 1], "image_id": 115732, "bbox": [515, 63, 336, 577], "category_id": 1, "id": 163546}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [307, 323, 1, 279, 315, 1, 330, 438, 1, 370, 361, 1, 342, 407, 1, 447, 374, 1, 322, 496, 1, 292, 499, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 336, 186, 1, 293, 301, 1], "image_id": 118547, "bbox": [210, 154, 300, 343], "category_id": 1, "id": 163547}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [617, 187, 1, 558, 207, 1, 687, 195, 1, 577, 259, 1, 717, 250, 1, 557, 297, 1, 676, 296, 1, 666, 297, 1, 635, 364, 1, 671, 389, 1, 710, 393, 1, 747, 463, 1, 563, 133, 1, 580, 185, 1], "image_id": 118434, "bbox": [543, 125, 225, 365], "category_id": 1, "id": 163549}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [500, 212, 1, 347, 241, 1, 584, 303, 1, 351, 309, 1, 602, 396, 1, 333, 414, 1, 550, 465, 1, 455, 478, 1, 652, 613, 1, 468, 579, 1, 680, 626, 1, 0, 0, 0, 427, 89, 1, 423, 205, 1], "image_id": 115123, "bbox": [294, 43, 429, 623], "category_id": 1, "id": 163556}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [800, 343, 1, 636, 384, 1, 953, 407, 1, 644, 495, 1, 874, 334, 1, 700, 542, 1, 798, 519, 1, 724, 554, 1, 885, 560, 1, 732, 654, 1, 817, 712, 1, 887, 741, 1, 694, 213, 1, 710, 334, 1], "image_id": 117546, "bbox": [596, 183, 388, 566], "category_id": 1, "id": 163571}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 240, 1, 292, 254, 1, 422, 119, 1, 243, 374, 1, 347, 34, 1, 203, 465, 1, 377, 482, 1, 292, 478, 1, 348, 680, 1, 261, 647, 1, 349, 839, 1, 301, 764, 1, 320, 102, 1, 337, 214, 1], "image_id": 119691, "bbox": [170, 0, 306, 917], "category_id": 1, "id": 163581}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [509, 164, 1, 336, 174, 1, 529, 302, 1, 323, 320, 1, 525, 414, 1, 308, 435, 1, 485, 450, 1, 376, 449, 1, 459, 604, 1, 393, 588, 1, 436, 722, 1, 406, 754, 1, 188, 82, 1, 198, 177, 1], "image_id": 110454, "bbox": [70, 60, 271, 739], "category_id": 1, "id": 163604}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [237, 244, 1, 176, 220, 1, 228, 387, 1, 265, 267, 1, 308, 386, 1, 338, 181, 1, 229, 482, 1, 193, 480, 1, 226, 676, 1, 198, 661, 1, 215, 865, 1, 94, 817, 1, 236, 96, 1, 205, 195, 1], "image_id": 112533, "bbox": [49, 76, 331, 835], "category_id": 1, "id": 163611}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [472, 203, 1, 339, 221, 1, 530, 195, 1, 300, 340, 1, 427, 184, 1, 352, 251, 1, 487, 482, 1, 400, 488, 1, 522, 666, 1, 394, 669, 1, 452, 832, 1, 397, 852, 1, 391, 103, 1, 397, 203, 1], "image_id": 112785, "bbox": [273, 85, 293, 841], "category_id": 1, "id": 163621}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [178, 254, 1, 259, 208, 1, 236, 384, 1, 364, 176, 1, 346, 368, 1, 428, 101, 1, 233, 492, 1, 280, 480, 1, 282, 677, 1, 348, 672, 1, 141, 844, 1, 312, 889, 1, 225, 91, 1, 207, 198, 1], "image_id": 113699, "bbox": [80, 55, 438, 892], "category_id": 1, "id": 163628}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 190, 1, 265, 197, 1, 419, 295, 1, 243, 313, 1, 349, 343, 1, 244, 266, 1, 366, 392, 1, 302, 393, 1, 373, 556, 1, 304, 552, 1, 370, 707, 1, 298, 707, 1, 317, 82, 1, 332, 172, 1], "image_id": 119168, "bbox": [214, 52, 241, 693], "category_id": 1, "id": 163656}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [674, 217, 1, 595, 218, 1, 684, 277, 1, 579, 276, 1, 698, 329, 1, 602, 317, 1, 661, 340, 1, 619, 340, 1, 674, 429, 1, 613, 434, 1, 682, 516, 1, 598, 504, 1, 640, 132, 1, 634, 194, 1], "image_id": 111207, "bbox": [566, 159, 157, 393], "category_id": 1, "id": 163662}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [270, 108, 1, 243, 138, 1, 278, 200, 1, 205, 235, 1, 277, 248, 1, 277, 284, 1, 154, 273, 1, 115, 275, 1, 269, 267, 1, 245, 305, 1, 244, 408, 1, 155, 452, 1, 367, 93, 1, 292, 133, 1], "image_id": 119307, "bbox": [10, 61, 385, 427], "category_id": 1, "id": 163671}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [268, 474, 1, 162, 478, 1, 268, 556, 1, 180, 571, 1, 248, 539, 1, 164, 550, 1, 241, 575, 1, 184, 576, 1, 207, 627, 1, 156, 639, 1, 0, 0, 0, 0, 0, 0, 207, 381, 1, 212, 460, 1], "image_id": 117785, "bbox": [124, 344, 152, 320], "category_id": 1, "id": 163677}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [719, 230, 1, 560, 254, 1, 831, 325, 1, 551, 373, 1, 708, 263, 1, 612, 352, 1, 730, 461, 1, 640, 484, 1, 773, 607, 1, 715, 609, 1, 0, 0, 0, 0, 0, 0, 617, 112, 1, 636, 218, 1], "image_id": 110728, "bbox": [524, 75, 343, 550], "category_id": 1, "id": 163686}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [122, 443, 1, 181, 444, 1, 125, 501, 1, 191, 486, 1, 141, 499, 1, 174, 505, 1, 146, 541, 1, 176, 538, 1, 149, 586, 1, 173, 583, 1, 159, 624, 1, 171, 649, 1, 147, 391, 1, 149, 426, 1], "image_id": 114577, "bbox": [115, 379, 91, 294], "category_id": 1, "id": 163697}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [507, 308, 1, 419, 266, 1, 429, 398, 1, 333, 225, 1, 367, 319, 1, 300, 170, 1, 594, 450, 1, 518, 457, 1, 515, 530, 1, 464, 543, 1, 0, 0, 0, 0, 0, 0, 492, 152, 1, 454, 252, 1], "image_id": 116179, "bbox": [268, 129, 362, 501], "category_id": 1, "id": 163699}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [629, 377, 1, 673, 355, 1, 601, 410, 1, 691, 393, 1, 567, 390, 1, 698, 408, 1, 627, 461, 1, 648, 460, 1, 607, 496, 1, 634, 490, 1, 603, 531, 1, 640, 522, 1, 616, 294, 1, 646, 347, 1], "image_id": 110070, "bbox": [540, 271, 177, 283], "category_id": 1, "id": 163717}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 334, 1, 149, 336, 1, 298, 437, 1, 136, 451, 1, 354, 429, 1, 128, 542, 1, 250, 518, 1, 189, 524, 1, 273, 694, 1, 223, 698, 1, 249, 818, 1, 207, 761, 1, 200, 193, 1, 200, 302, 1], "image_id": 115350, "bbox": [108, 165, 289, 727], "category_id": 1, "id": 163724}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [279, 181, 1, 188, 180, 1, 289, 251, 1, 176, 243, 1, 306, 251, 1, 152, 252, 1, 257, 339, 1, 201, 340, 1, 242, 438, 1, 203, 437, 1, 228, 525, 1, 197, 526, 1, 228, 90, 1, 228, 162, 1], "image_id": 117820, "bbox": [122, 71, 201, 506], "category_id": 1, "id": 163768}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [390, 163, 1, 300, 151, 1, 369, 227, 1, 259, 203, 1, 329, 171, 1, 285, 280, 1, 359, 326, 1, 310, 319, 1, 376, 455, 1, 295, 446, 1, 355, 580, 1, 215, 520, 1, 350, 52, 1, 346, 135, 1], "image_id": 118090, "bbox": [244, 35, 167, 579], "category_id": 1, "id": 163777}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 212, 1, 435, 229, 1, 381, 326, 1, 423, 318, 1, 402, 443, 1, 452, 391, 1, 296, 383, 1, 329, 368, 1, 316, 489, 1, 486, 436, 1, 191, 601, 1, 446, 593, 1, 402, 98, 1, 398, 174, 1], "image_id": 114179, "bbox": [146, 102, 395, 553], "category_id": 1, "id": 163790}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [469, 274, 1, 361, 319, 1, 492, 382, 1, 272, 330, 1, 394, 336, 1, 343, 350, 1, 571, 414, 1, 493, 419, 1, 564, 515, 1, 464, 460, 1, 0, 0, 0, 543, 521, 1, 295, 281, 1, 390, 278, 1], "image_id": 113065, "bbox": [255, 217, 362, 313], "category_id": 1, "id": 163793}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [343, 185, 1, 311, 188, 1, 356, 206, 1, 307, 208, 1, 367, 223, 1, 304, 217, 1, 338, 241, 1, 320, 238, 1, 342, 274, 1, 309, 271, 1, 349, 312, 1, 327, 307, 1, 321, 148, 1, 325, 175, 1], "image_id": 119930, "bbox": [294, 141, 70, 192], "category_id": 1, "id": 163803}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [549, 171, 1, 334, 156, 1, 646, 287, 1, 272, 296, 1, 651, 352, 1, 281, 417, 1, 458, 276, 1, 350, 279, 1, 552, 315, 1, 349, 367, 1, 433, 332, 1, 395, 329, 1, 467, 27, 1, 458, 150, 1], "image_id": 118000, "bbox": [226, 0, 453, 486], "category_id": 1, "id": 163808}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [371, 266, 1, 282, 248, 1, 370, 350, 1, 282, 340, 1, 340, 386, 1, 318, 373, 1, 348, 431, 1, 299, 431, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341, 157, 1, 319, 236, 1], "image_id": 118024, "bbox": [279, 132, 118, 332], "category_id": 1, "id": 163810}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [463, 205, 1, 334, 203, 1, 500, 270, 1, 286, 251, 1, 503, 223, 1, 232, 312, 1, 409, 358, 1, 357, 324, 1, 341, 476, 1, 335, 420, 1, 254, 564, 1, 266, 525, 1, 406, 92, 1, 397, 173, 1], "image_id": 117982, "bbox": [178, 64, 355, 539], "category_id": 1, "id": 163832}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [353, 185, 1, 242, 241, 1, 430, 275, 1, 335, 352, 1, 531, 301, 1, 452, 371, 1, 287, 480, 1, 200, 478, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 318, 50, 1, 300, 185, 1], "image_id": 113796, "bbox": [139, 22, 401, 505], "category_id": 1, "id": 163854}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [370, 402, 1, 272, 406, 1, 424, 491, 1, 259, 371, 1, 367, 449, 1, 213, 374, 1, 403, 568, 1, 318, 572, 1, 356, 527, 1, 243, 634, 1, 400, 639, 1, 337, 624, 1, 283, 287, 1, 311, 387, 1], "image_id": 109386, "bbox": [151, 239, 317, 459], "category_id": 1, "id": 163864}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [695, 130, 1, 732, 134, 1, 684, 172, 1, 750, 183, 1, 690, 220, 1, 767, 219, 1, 705, 229, 1, 723, 229, 1, 711, 289, 1, 726, 289, 1, 680, 346, 1, 731, 350, 1, 713, 71, 1, 716, 106, 1], "image_id": 117294, "bbox": [664, 60, 116, 306], "category_id": 1, "id": 163867}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [643, 217, 1, 535, 217, 1, 570, 328, 1, 403, 258, 1, 455, 334, 1, 442, 339, 1, 742, 448, 1, 646, 469, 1, 683, 524, 1, 644, 585, 1, 0, 0, 0, 0, 0, 0, 560, 99, 1, 584, 206, 1], "image_id": 116147, "bbox": [385, 67, 404, 596], "category_id": 1, "id": 163873}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [464, 380, 1, 421, 390, 1, 484, 411, 1, 409, 433, 1, 478, 440, 1, 422, 411, 1, 467, 461, 1, 443, 461, 1, 479, 505, 1, 455, 506, 1, 487, 529, 1, 472, 560, 1, 437, 346, 1, 443, 378, 1], "image_id": 115663, "bbox": [400, 337, 122, 249], "category_id": 1, "id": 163877}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [378, 405, 1, 244, 441, 1, 473, 464, 1, 254, 498, 1, 517, 492, 1, 254, 568, 1, 455, 564, 1, 398, 607, 1, 502, 693, 1, 427, 721, 1, 580, 663, 1, 598, 805, 1, 286, 306, 1, 303, 408, 1], "image_id": 116555, "bbox": [231, 288, 394, 596], "category_id": 1, "id": 163879}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 162, 1, 471, 164, 1, 537, 197, 1, 463, 196, 1, 531, 201, 1, 469, 207, 1, 517, 230, 1, 485, 229, 1, 526, 285, 1, 469, 279, 1, 528, 330, 1, 461, 322, 1, 499, 119, 1, 499, 153, 1], "image_id": 117643, "bbox": [445, 106, 104, 243], "category_id": 1, "id": 163882}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [655, 290, 1, 500, 270, 1, 702, 449, 1, 500, 375, 1, 649, 460, 1, 451, 456, 1, 611, 545, 1, 529, 532, 1, 537, 682, 1, 537, 662, 1, 509, 821, 1, 609, 699, 1, 530, 134, 1, 566, 260, 1], "image_id": 112262, "bbox": [426, 104, 294, 797], "category_id": 1, "id": 163888}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [546, 157, 1, 482, 162, 1, 551, 293, 1, 482, 287, 1, 530, 401, 1, 444, 384, 1, 535, 388, 1, 512, 389, 1, 542, 545, 1, 530, 545, 1, 567, 707, 1, 549, 699, 1, 472, 23, 1, 504, 109, 1], "image_id": 116095, "bbox": [423, 4, 189, 770], "category_id": 1, "id": 163901}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [383, 285, 1, 176, 257, 1, 386, 449, 1, 145, 433, 1, 373, 563, 1, 143, 558, 1, 300, 576, 1, 200, 572, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 76, 1, 284, 230, 1], "image_id": 110102, "bbox": [115, 50, 302, 615], "category_id": 1, "id": 163922}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [459, 299, 1, 270, 272, 1, 469, 437, 1, 221, 414, 1, 434, 487, 1, 327, 484, 1, 412, 566, 1, 310, 561, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 97, 1, 375, 227, 1], "image_id": 110332, "bbox": [190, 78, 311, 574], "category_id": 1, "id": 163926}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [379, 177, 1, 244, 174, 1, 371, 289, 1, 238, 285, 1, 386, 376, 1, 213, 363, 1, 359, 385, 1, 294, 386, 1, 357, 540, 1, 301, 544, 1, 350, 709, 1, 292, 663, 1, 301, 27, 1, 311, 133, 1], "image_id": 109488, "bbox": [195, 13, 268, 766], "category_id": 1, "id": 163931}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [571, 264, 1, 457, 160, 1, 581, 348, 1, 361, 147, 1, 549, 391, 1, 417, 189, 1, 472, 377, 1, 380, 370, 1, 414, 379, 1, 311, 393, 1, 458, 519, 1, 305, 505, 1, 549, 113, 1, 513, 193, 1], "image_id": 110167, "bbox": [228, 82, 386, 498], "category_id": 1, "id": 163934}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [443, 273, 1, 257, 254, 1, 450, 440, 1, 185, 386, 1, 432, 562, 1, 109, 273, 1, 379, 562, 1, 265, 557, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 102, 1, 335, 235, 1], "image_id": 109638, "bbox": [42, 83, 443, 583], "category_id": 1, "id": 163936}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 165, 1, 397, 184, 1, 515, 214, 1, 377, 241, 1, 533, 261, 1, 367, 301, 1, 506, 302, 1, 443, 307, 1, 512, 396, 1, 433, 394, 1, 520, 494, 1, 426, 493, 1, 409, 107, 1, 439, 160, 1], "image_id": 115732, "bbox": [350, 100, 222, 444], "category_id": 1, "id": 163937}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [548, 275, 1, 422, 252, 1, 502, 380, 1, 388, 377, 1, 415, 419, 1, 343, 450, 1, 483, 504, 1, 419, 506, 1, 476, 697, 1, 416, 693, 1, 466, 861, 1, 415, 861, 1, 471, 110, 1, 483, 222, 1], "image_id": 110969, "bbox": [327, 91, 271, 830], "category_id": 1, "id": 163954}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [911, 365, 1, 767, 354, 1, 909, 470, 1, 723, 458, 1, 913, 562, 1, 731, 558, 1, 869, 591, 1, 782, 589, 1, 875, 713, 1, 759, 708, 1, 875, 838, 1, 749, 809, 1, 851, 214, 1, 840, 323, 1], "image_id": 119518, "bbox": [697, 197, 239, 732], "category_id": 1, "id": 163974}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [742, 229, 1, 593, 273, 1, 820, 400, 1, 516, 294, 1, 685, 335, 1, 444, 248, 1, 747, 540, 1, 638, 513, 1, 0, 0, 0, 471, 566, 1, 0, 0, 0, 0, 0, 0, 598, 67, 1, 641, 210, 1], "image_id": 118495, "bbox": [522, 41, 327, 578], "category_id": 1, "id": 163975}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 206, 1, 329, 204, 1, 422, 289, 1, 319, 288, 1, 417, 342, 1, 316, 346, 1, 389, 335, 1, 343, 334, 1, 379, 438, 1, 352, 437, 1, 372, 522, 1, 356, 521, 1, 373, 105, 1, 370, 174, 1], "image_id": 109636, "bbox": [295, 95, 147, 478], "category_id": 1, "id": 163982}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [388, 460, 1, 299, 395, 1, 265, 540, 1, 257, 483, 1, 201, 425, 1, 208, 383, 1, 198, 693, 1, 148, 605, 1, 0, 0, 0, 22, 566, 1, 0, 0, 0, 0, 0, 0, 359, 268, 1, 344, 396, 1], "image_id": 110551, "bbox": [9, 246, 430, 472], "category_id": 1, "id": 163985}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 324, 1, 369, 303, 1, 381, 427, 1, 337, 408, 1, 301, 424, 1, 287, 355, 1, 366, 514, 1, 346, 511, 1, 354, 683, 1, 341, 683, 1, 356, 831, 1, 332, 805, 1, 357, 167, 1, 362, 271, 1], "image_id": 113008, "bbox": [238, 148, 216, 691], "category_id": 1, "id": 163996}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [149, 220, 1, 0, 0, 0, 212, 318, 1, 92, 442, 1, 263, 389, 1, 188, 310, 1, 263, 453, 1, 175, 519, 1, 385, 456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 63, 1, 62, 206, 1], "image_id": 117379, "bbox": [0, 26, 417, 542], "category_id": 1, "id": 163998}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [512, 300, 1, 0, 0, 0, 495, 457, 1, 0, 0, 0, 476, 574, 1, 0, 0, 0, 587, 570, 1, 0, 0, 0, 551, 783, 1, 0, 0, 0, 549, 988, 1, 0, 0, 0, 584, 109, 1, 597, 221, 1], "image_id": 116697, "bbox": [440, 63, 217, 934], "category_id": 1, "id": 163999}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [598, 272, 1, 473, 281, 1, 613, 383, 1, 470, 371, 1, 609, 466, 1, 467, 464, 1, 570, 454, 1, 498, 457, 1, 528, 597, 1, 524, 597, 1, 0, 0, 0, 0, 0, 0, 540, 157, 1, 533, 241, 1], "image_id": 115609, "bbox": [450, 138, 157, 486], "category_id": 1, "id": 164003}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [429, 331, 1, 245, 363, 1, 479, 342, 1, 120, 472, 1, 600, 390, 1, 79, 585, 1, 274, 542, 1, 165, 523, 1, 283, 769, 1, 189, 711, 1, 248, 863, 1, 135, 840, 1, 363, 238, 1, 352, 328, 1], "image_id": 112092, "bbox": [5, 190, 703, 754], "category_id": 1, "id": 164037}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [171, 185, 1, 45, 173, 1, 155, 286, 1, 26, 297, 1, 226, 290, 1, 83, 369, 1, 159, 451, 1, 66, 455, 1, 227, 603, 1, 46, 620, 1, 268, 796, 1, 16, 813, 1, 275, 95, 1, 275, 199, 1], "image_id": 118492, "bbox": [0, 16, 328, 846], "category_id": 1, "id": 164040}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 641, 130, 1, 0, 0, 0, 500, 259, 1, 0, 0, 0, 655, 378, 1, 562, 506, 1, 606, 519, 1, 546, 671, 1, 615, 703, 1, 449, 851, 1, 557, 884, 1, 0, 0, 0, 0, 0, 0], "image_id": 115378, "bbox": [388, 5, 278, 935], "category_id": 1, "id": 164041}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 137, 1, 302, 152, 1, 410, 180, 1, 298, 201, 1, 426, 185, 1, 313, 189, 1, 372, 215, 1, 335, 218, 1, 382, 246, 1, 347, 246, 1, 376, 288, 1, 339, 287, 1, 325, 97, 1, 340, 135, 1], "image_id": 117730, "bbox": [286, 78, 171, 156], "category_id": 1, "id": 164043}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 397, 1, 285, 406, 1, 329, 381, 1, 258, 415, 1, 341, 363, 1, 271, 397, 1, 315, 453, 1, 295, 452, 1, 303, 449, 1, 307, 451, 1, 280, 486, 1, 284, 497, 1, 290, 365, 1, 299, 392, 1], "image_id": 109066, "bbox": [255, 334, 107, 182], "category_id": 1, "id": 164053}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [611, 248, 1, 447, 278, 1, 723, 257, 1, 421, 397, 1, 677, 153, 1, 507, 386, 1, 614, 503, 1, 522, 512, 1, 668, 718, 1, 598, 698, 1, 601, 776, 1, 649, 908, 1, 522, 134, 1, 528, 240, 1], "image_id": 119660, "bbox": [401, 43, 349, 938], "category_id": 1, "id": 164074}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [833, 227, 1, 735, 223, 1, 837, 307, 1, 721, 282, 1, 790, 331, 1, 676, 302, 1, 790, 360, 1, 742, 348, 1, 740, 395, 1, 690, 377, 1, 733, 465, 1, 690, 462, 1, 760, 132, 1, 782, 207, 1], "image_id": 119519, "bbox": [715, 118, 155, 232], "category_id": 1, "id": 164085}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [430, 183, 1, 403, 181, 1, 449, 205, 1, 394, 205, 1, 464, 219, 1, 383, 220, 1, 428, 229, 1, 411, 230, 1, 435, 261, 1, 409, 264, 1, 442, 300, 1, 398, 295, 1, 411, 155, 1, 416, 177, 1], "image_id": 118286, "bbox": [374, 150, 107, 168], "category_id": 1, "id": 164091}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 118, 1, 222, 167, 1, 423, 142, 1, 186, 251, 1, 417, 232, 1, 201, 310, 1, 365, 291, 1, 298, 285, 1, 353, 431, 1, 262, 354, 1, 308, 562, 1, 292, 488, 1, 286, 41, 1, 274, 120, 1], "image_id": 112821, "bbox": [163, 22, 283, 591], "category_id": 1, "id": 164105}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [347, 178, 1, 266, 164, 1, 316, 299, 1, 247, 265, 1, 253, 281, 1, 265, 319, 1, 418, 352, 1, 355, 337, 1, 308, 332, 1, 227, 326, 1, 303, 527, 1, 209, 508, 1, 264, 79, 1, 297, 161, 1], "image_id": 119210, "bbox": [113, 48, 365, 551], "category_id": 1, "id": 164110}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [546, 178, 1, 564, 200, 1, 478, 236, 1, 563, 300, 1, 397, 293, 1, 587, 363, 1, 443, 329, 1, 403, 307, 1, 495, 449, 1, 387, 457, 1, 427, 580, 1, 364, 602, 1, 640, 127, 1, 582, 176, 1], "image_id": 111207, "bbox": [331, 93, 345, 571], "category_id": 1, "id": 164117}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [538, 245, 1, 0, 0, 0, 554, 369, 1, 0, 0, 0, 497, 436, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 587, 1, 0, 0, 0, 487, 788, 1, 0, 0, 0, 553, 107, 1, 565, 202, 1], "image_id": 113110, "bbox": [387, 88, 191, 775], "category_id": 1, "id": 164133}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [369, 327, 1, 184, 326, 1, 422, 433, 1, 164, 453, 1, 496, 425, 1, 193, 535, 1, 314, 565, 1, 232, 561, 1, 300, 750, 1, 210, 742, 1, 287, 903, 1, 185, 913, 1, 284, 171, 1, 266, 289, 1], "image_id": 113898, "bbox": [115, 139, 274, 818], "category_id": 1, "id": 164135}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [138, 305, 1, 104, 287, 1, 176, 341, 1, 153, 237, 1, 235, 332, 1, 212, 186, 1, 119, 498, 1, 103, 492, 1, 170, 643, 1, 160, 642, 1, 174, 805, 1, 166, 811, 1, 115, 203, 1, 120, 285, 1], "image_id": 119427, "bbox": [54, 189, 199, 697], "category_id": 1, "id": 164139}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [762, 345, 1, 556, 302, 1, 681, 551, 1, 350, 461, 1, 599, 338, 1, 429, 421, 1, 0, 0, 0, 599, 569, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 576, 116, 1, 628, 305, 1], "image_id": 117009, "bbox": [327, 81, 504, 514], "category_id": 1, "id": 164157}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [249, 232, 1, 314, 232, 1, 286, 271, 1, 309, 260, 1, 332, 256, 1, 335, 309, 1, 220, 399, 1, 263, 398, 1, 164, 477, 1, 339, 467, 1, 100, 546, 1, 253, 526, 1, 314, 159, 1, 286, 213, 1], "image_id": 116244, "bbox": [62, 126, 303, 469], "category_id": 1, "id": 164163}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [35, 179, 1, 17, 179, 1, 50, 287, 1, 37, 311, 1, 103, 284, 1, 139, 337, 1, 43, 427, 1, 29, 427, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 81, 1, 45, 142, 1], "image_id": 110198, "bbox": [1, 52, 189, 486], "category_id": 1, "id": 164166}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [299, 303, 1, 434, 325, 1, 253, 413, 1, 390, 412, 1, 172, 390, 1, 291, 441, 1, 317, 517, 1, 386, 517, 1, 303, 689, 1, 415, 691, 1, 291, 843, 1, 425, 846, 1, 356, 192, 1, 310, 266, 1], "image_id": 114457, "bbox": [149, 157, 363, 761], "category_id": 1, "id": 164173}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [326, 74, 1, 246, 102, 1, 382, 131, 1, 228, 165, 1, 404, 186, 1, 194, 205, 1, 342, 239, 1, 285, 245, 1, 371, 336, 1, 304, 346, 1, 391, 445, 1, 319, 433, 1, 255, 5, 1, 279, 61, 1], "image_id": 119943, "bbox": [152, 1, 278, 486], "category_id": 1, "id": 164181}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [453, 151, 1, 436, 181, 1, 501, 233, 1, 495, 266, 1, 391, 292, 1, 490, 362, 1, 519, 416, 1, 473, 406, 1, 409, 573, 1, 328, 574, 1, 504, 749, 1, 177, 707, 1, 353, 72, 1, 417, 152, 1], "image_id": 116726, "bbox": [75, 39, 540, 759], "category_id": 1, "id": 164183}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 233, 1, 236, 241, 1, 434, 295, 1, 189, 189, 1, 475, 310, 1, 145, 135, 1, 380, 411, 1, 320, 447, 1, 453, 519, 1, 414, 558, 1, 427, 612, 1, 482, 650, 1, 284, 139, 1, 284, 219, 1], "image_id": 111051, "bbox": [120, 94, 414, 594], "category_id": 1, "id": 164191}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [526, 259, 1, 346, 301, 1, 559, 375, 1, 322, 412, 1, 523, 421, 1, 302, 521, 1, 479, 535, 1, 381, 537, 1, 481, 696, 1, 391, 697, 1, 429, 812, 1, 409, 863, 1, 371, 161, 1, 425, 245, 1], "image_id": 110524, "bbox": [269, 120, 320, 816], "category_id": 1, "id": 164207}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [876, 334, 1, 755, 317, 1, 893, 409, 1, 706, 396, 1, 860, 456, 1, 681, 350, 1, 819, 491, 1, 734, 491, 1, 837, 563, 1, 680, 533, 1, 815, 692, 1, 706, 683, 1, 792, 215, 1, 807, 305, 1], "image_id": 110293, "bbox": [635, 191, 306, 520], "category_id": 1, "id": 164237}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [393, 180, 1, 290, 157, 1, 386, 266, 1, 322, 230, 1, 409, 287, 1, 394, 232, 1, 360, 384, 1, 300, 399, 1, 428, 517, 1, 325, 534, 1, 364, 418, 1, 336, 677, 1, 371, 58, 1, 344, 150, 1], "image_id": 119269, "bbox": [255, 22, 213, 533], "category_id": 1, "id": 164238}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [741, 253, 1, 623, 226, 1, 707, 376, 1, 577, 314, 1, 627, 405, 1, 576, 372, 1, 679, 420, 1, 605, 384, 1, 588, 462, 1, 529, 423, 1, 0, 0, 0, 0, 0, 0, 675, 111, 1, 681, 224, 1], "image_id": 118051, "bbox": [450, 74, 303, 456], "category_id": 1, "id": 164247}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [512, 167, 1, 324, 156, 1, 506, 276, 1, 277, 248, 1, 414, 311, 1, 344, 287, 1, 414, 353, 1, 339, 352, 1, 461, 339, 1, 259, 335, 1, 479, 524, 1, 271, 512, 1, 421, 34, 1, 417, 143, 1], "image_id": 119308, "bbox": [211, 2, 351, 581], "category_id": 1, "id": 164251}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [579, 115, 1, 503, 138, 1, 638, 169, 1, 497, 164, 1, 623, 179, 1, 426, 181, 1, 620, 286, 1, 570, 299, 1, 676, 426, 1, 577, 411, 1, 733, 380, 1, 662, 519, 1, 488, 55, 1, 534, 108, 1], "image_id": 111969, "bbox": [383, 24, 406, 542], "category_id": 1, "id": 164269}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [41, 350, 1, 0, 0, 0, 40, 416, 1, 0, 0, 0, 53, 456, 1, 0, 0, 0, 30, 468, 1, 0, 0, 0, 27, 555, 1, 0, 0, 0, 25, 624, 1, 0, 0, 0, 4, 284, 1, 7, 334, 1], "image_id": 115663, "bbox": [0, 272, 75, 383], "category_id": 1, "id": 164270}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 391, 1, 287, 417, 1, 371, 473, 1, 246, 493, 1, 410, 461, 1, 281, 483, 1, 376, 539, 1, 333, 541, 1, 370, 664, 1, 334, 673, 1, 357, 781, 1, 280, 732, 1, 353, 286, 1, 332, 379, 1], "image_id": 114566, "bbox": [260, 261, 191, 559], "category_id": 1, "id": 164284}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [860, 188, 1, 741, 187, 1, 856, 284, 1, 742, 246, 1, 780, 267, 1, 771, 283, 1, 825, 314, 1, 763, 310, 1, 790, 355, 1, 701, 348, 1, 780, 427, 1, 728, 425, 1, 770, 101, 1, 796, 179, 1], "image_id": 114114, "bbox": [712, 88, 172, 213], "category_id": 1, "id": 164286}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 454, 1, 389, 289, 1, 410, 480, 1, 250, 244, 1, 390, 433, 1, 116, 191, 1, 280, 556, 1, 270, 567, 1, 424, 639, 1, 417, 654, 1, 438, 827, 1, 352, 831, 1, 502, 275, 1, 428, 354, 1], "image_id": 112518, "bbox": [15, 128, 525, 753], "category_id": 1, "id": 164292}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [502, 182, 1, 443, 134, 1, 488, 273, 1, 413, 190, 1, 549, 306, 1, 485, 239, 1, 497, 344, 1, 442, 343, 1, 557, 450, 1, 428, 463, 1, 529, 570, 1, 332, 534, 1, 496, 37, 1, 480, 129, 1], "image_id": 119843, "bbox": [281, 8, 308, 612], "category_id": 1, "id": 164295}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [406, 73, 1, 348, 71, 1, 403, 107, 1, 345, 108, 1, 389, 123, 1, 367, 117, 1, 392, 167, 1, 358, 171, 1, 389, 237, 1, 354, 232, 1, 387, 291, 1, 356, 290, 1, 379, 5, 1, 376, 54, 1], "image_id": 110102, "bbox": [330, 1, 87, 320], "category_id": 1, "id": 164306}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [614, 200, 1, 523, 193, 1, 553, 299, 1, 510, 273, 1, 473, 337, 1, 535, 317, 1, 564, 335, 1, 505, 308, 1, 479, 356, 1, 424, 332, 1, 465, 492, 1, 404, 459, 1, 541, 95, 1, 573, 178, 1], "image_id": 118051, "bbox": [327, 63, 317, 466], "category_id": 1, "id": 164310}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [538, 277, 1, 486, 356, 1, 574, 225, 1, 487, 414, 1, 589, 157, 1, 483, 470, 1, 583, 362, 1, 535, 359, 1, 560, 388, 1, 511, 392, 1, 557, 454, 1, 527, 456, 1, 442, 259, 1, 508, 308, 1], "image_id": 111387, "bbox": [410, 116, 228, 382], "category_id": 1, "id": 164321}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [598, 205, 1, 418, 198, 1, 691, 268, 1, 285, 249, 1, 779, 333, 1, 230, 232, 1, 603, 410, 1, 525, 450, 1, 728, 540, 1, 644, 585, 1, 831, 492, 1, 783, 690, 1, 505, 65, 1, 505, 169, 1], "image_id": 117837, "bbox": [130, 34, 812, 710], "category_id": 1, "id": 164328}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [617, 171, 1, 496, 170, 1, 681, 249, 1, 442, 247, 1, 717, 281, 1, 383, 288, 1, 580, 344, 1, 513, 347, 1, 559, 465, 1, 515, 462, 1, 567, 579, 1, 522, 567, 1, 539, 58, 1, 556, 144, 1], "image_id": 110293, "bbox": [330, 33, 457, 599], "category_id": 1, "id": 164332}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 245, 1, 291, 221, 1, 448, 326, 1, 248, 305, 1, 455, 419, 1, 297, 300, 1, 390, 390, 1, 314, 406, 1, 422, 533, 1, 352, 535, 1, 454, 662, 1, 388, 656, 1, 388, 121, 1, 372, 208, 1], "image_id": 117475, "bbox": [223, 97, 255, 528], "category_id": 1, "id": 164351}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [752, 461, 1, 600, 422, 1, 0, 0, 0, 486, 479, 1, 0, 0, 0, 547, 327, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 681, 200, 1, 662, 379, 1], "image_id": 114234, "bbox": [522, 163, 396, 469], "category_id": 1, "id": 164352}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 298, 1, 365, 311, 1, 542, 422, 1, 336, 438, 1, 541, 507, 1, 434, 458, 1, 515, 562, 1, 431, 570, 1, 519, 711, 1, 454, 738, 1, 437, 746, 1, 466, 866, 1, 465, 153, 1, 453, 268, 1], "image_id": 115350, "bbox": [295, 114, 287, 844], "category_id": 1, "id": 164353}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [163, 309, 1, 200, 315, 1, 148, 334, 1, 211, 335, 1, 143, 358, 1, 237, 326, 1, 186, 384, 1, 229, 379, 1, 200, 401, 1, 273, 372, 1, 210, 425, 1, 314, 378, 1, 189, 250, 1, 193, 301, 1], "image_id": 118203, "bbox": [130, 228, 219, 219], "category_id": 1, "id": 164359}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 129, 1, 381, 127, 1, 449, 214, 1, 363, 235, 1, 334, 231, 1, 331, 144, 1, 344, 388, 1, 353, 396, 1, 200, 539, 1, 232, 531, 1, 228, 752, 1, 269, 710, 1, 360, 19, 1, 360, 120, 1], "image_id": 110973, "bbox": [116, 1, 371, 814], "category_id": 1, "id": 164367}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [638, 439, 1, 426, 409, 1, 651, 589, 1, 317, 523, 1, 530, 684, 1, 233, 446, 1, 556, 758, 1, 429, 753, 1, 552, 980, 1, 436, 977, 1, 0, 0, 0, 0, 0, 0, 522, 213, 1, 527, 376, 1], "image_id": 116407, "bbox": [155, 180, 537, 819], "category_id": 1, "id": 164371}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [428, 205, 1, 325, 229, 1, 535, 218, 1, 241, 280, 1, 563, 301, 1, 176, 303, 1, 477, 376, 1, 427, 368, 1, 390, 471, 1, 359, 495, 1, 337, 622, 1, 399, 634, 1, 317, 165, 1, 366, 209, 1], "image_id": 114549, "bbox": [119, 140, 472, 528], "category_id": 1, "id": 164377}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [476, 121, 1, 414, 132, 1, 497, 147, 1, 415, 196, 1, 494, 167, 1, 458, 193, 1, 475, 194, 1, 425, 198, 1, 515, 173, 1, 430, 231, 1, 491, 240, 1, 416, 252, 1, 456, 76, 1, 442, 110, 1], "image_id": 119171, "bbox": [385, 50, 165, 230], "category_id": 1, "id": 164385}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [299, 165, 1, 199, 165, 1, 336, 252, 1, 157, 245, 1, 294, 303, 1, 188, 310, 1, 268, 331, 1, 210, 330, 1, 290, 440, 1, 205, 435, 1, 313, 540, 1, 203, 532, 1, 224, 89, 1, 243, 143, 1], "image_id": 111322, "bbox": [165, 63, 200, 528], "category_id": 1, "id": 164388}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [617, 159, 1, 651, 159, 1, 598, 176, 1, 636, 179, 1, 607, 161, 1, 628, 155, 1, 621, 229, 1, 639, 229, 1, 619, 269, 1, 643, 266, 1, 618, 312, 1, 649, 306, 1, 633, 122, 1, 633, 147, 1], "image_id": 118024, "bbox": [587, 114, 81, 214], "category_id": 1, "id": 164407}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [386, 317, 1, 300, 404, 1, 506, 363, 1, 220, 482, 1, 517, 451, 1, 133, 519, 1, 500, 540, 1, 428, 563, 1, 435, 659, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 239, 1, 322, 337, 1], "image_id": 110354, "bbox": [40, 215, 564, 451], "category_id": 1, "id": 164412}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [496, 174, 1, 413, 199, 1, 612, 187, 1, 364, 215, 1, 678, 255, 1, 312, 233, 1, 527, 384, 1, 515, 376, 1, 372, 484, 1, 464, 498, 1, 243, 618, 1, 527, 660, 1, 369, 108, 1, 428, 161, 1], "image_id": 118750, "bbox": [152, 76, 568, 607], "category_id": 1, "id": 164418}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [503, 233, 1, 387, 209, 1, 498, 298, 1, 327, 272, 1, 471, 336, 1, 360, 282, 1, 442, 403, 1, 391, 405, 1, 439, 497, 1, 384, 505, 1, 0, 0, 0, 0, 0, 0, 502, 154, 1, 459, 205, 1], "image_id": 111420, "bbox": [301, 114, 240, 416], "category_id": 1, "id": 164425}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [812, 300, 1, 843, 300, 1, 810, 368, 1, 841, 377, 1, 775, 405, 1, 810, 409, 1, 802, 421, 1, 831, 421, 1, 801, 514, 1, 826, 513, 1, 794, 590, 1, 821, 579, 1, 816, 232, 1, 822, 280, 1], "image_id": 115657, "bbox": [746, 226, 132, 398], "category_id": 1, "id": 164436}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 98, 1, 339, 117, 1, 220, 200, 1, 340, 215, 1, 235, 287, 1, 372, 293, 1, 226, 323, 1, 275, 320, 1, 217, 443, 1, 257, 447, 1, 211, 570, 1, 241, 571, 1, 334, 22, 1, 313, 84, 1], "image_id": 117956, "bbox": [252, 6, 144, 597], "category_id": 1, "id": 164448}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [335, 373, 1, 307, 353, 1, 356, 428, 1, 336, 419, 1, 416, 445, 1, 423, 454, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 392, 320, 1, 339, 342, 1], "image_id": 119246, "bbox": [176, 262, 297, 267], "category_id": 1, "id": 164460}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [548, 373, 1, 413, 400, 1, 564, 286, 1, 317, 425, 1, 546, 180, 1, 301, 390, 1, 468, 593, 1, 403, 583, 1, 435, 760, 1, 342, 676, 1, 496, 908, 1, 409, 781, 1, 479, 296, 1, 473, 365, 1], "image_id": 118683, "bbox": [263, 83, 327, 916], "category_id": 1, "id": 164462}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [234, 233, 1, 110, 217, 1, 285, 302, 1, 86, 159, 1, 354, 283, 1, 96, 86, 1, 185, 462, 1, 116, 462, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 131, 1, 168, 217, 1], "image_id": 111477, "bbox": [50, 19, 363, 556], "category_id": 1, "id": 164466}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [177, 351, 1, 18, 357, 1, 213, 451, 1, 0, 0, 0, 160, 425, 1, 0, 0, 0, 149, 529, 1, 0, 0, 0, 232, 629, 1, 0, 0, 0, 306, 735, 1, 0, 0, 0, 104, 241, 1, 95, 336, 1], "image_id": 116341, "bbox": [0, 250, 358, 601], "category_id": 1, "id": 164473}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [158, 191, 1, 233, 183, 1, 139, 239, 1, 256, 272, 1, 178, 253, 1, 229, 296, 1, 182, 334, 1, 233, 334, 1, 189, 316, 1, 221, 312, 1, 191, 394, 1, 221, 397, 1, 188, 112, 1, 186, 164, 1], "image_id": 114190, "bbox": [143, 102, 155, 261], "category_id": 1, "id": 164478}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 214, 1, 132, 204, 1, 275, 329, 1, 114, 328, 1, 307, 430, 1, 99, 432, 1, 219, 439, 1, 146, 440, 1, 208, 586, 1, 153, 602, 1, 226, 710, 1, 192, 745, 1, 392, 32, 1, 412, 142, 1], "image_id": 110454, "bbox": [279, 4, 271, 796], "category_id": 1, "id": 164489}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [587, 249, 1, 478, 241, 1, 594, 339, 1, 463, 323, 1, 583, 428, 1, 493, 367, 1, 547, 426, 1, 492, 425, 1, 547, 530, 1, 496, 523, 1, 542, 620, 1, 493, 611, 1, 536, 123, 1, 527, 221, 1], "image_id": 110156, "bbox": [437, 100, 177, 589], "category_id": 1, "id": 164491}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 426, 1, 468, 376, 1, 675, 544, 1, 378, 451, 1, 697, 664, 1, 340, 438, 1, 439, 661, 1, 354, 630, 1, 320, 784, 1, 236, 729, 1, 444, 804, 1, 297, 866, 1, 582, 268, 1, 549, 376, 1], "image_id": 112110, "bbox": [200, 239, 577, 679], "category_id": 1, "id": 164501}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [458, 200, 1, 316, 210, 1, 474, 303, 1, 301, 328, 1, 453, 328, 1, 372, 335, 1, 435, 395, 1, 366, 393, 1, 434, 526, 1, 364, 519, 1, 429, 640, 1, 361, 636, 1, 341, 103, 1, 380, 188, 1], "image_id": 116960, "bbox": [271, 60, 229, 438], "category_id": 1, "id": 164509}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [591, 172, 1, 514, 116, 1, 602, 271, 1, 425, 124, 1, 681, 330, 1, 497, 126, 1, 545, 335, 1, 472, 335, 1, 633, 447, 1, 525, 448, 1, 732, 588, 1, 505, 533, 1, 600, 46, 1, 565, 125, 1], "image_id": 113817, "bbox": [459, 20, 331, 635], "category_id": 1, "id": 164514}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [675, 153, 1, 569, 131, 1, 691, 230, 1, 537, 211, 1, 715, 307, 1, 520, 284, 1, 644, 309, 1, 582, 306, 1, 648, 414, 1, 578, 410, 1, 661, 541, 1, 564, 504, 1, 623, 54, 1, 623, 117, 1], "image_id": 112389, "bbox": [508, 40, 228, 530], "category_id": 1, "id": 164515}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [662, 426, 1, 603, 353, 1, 585, 512, 1, 507, 286, 1, 598, 454, 1, 472, 200, 1, 415, 419, 1, 405, 393, 1, 376, 255, 1, 295, 295, 1, 247, 363, 1, 256, 447, 1, 633, 132, 1, 595, 203, 1], "image_id": 116098, "bbox": [146, 145, 579, 383], "category_id": 1, "id": 164527}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [455, 227, 1, 576, 251, 1, 413, 342, 1, 613, 345, 1, 386, 342, 1, 580, 306, 1, 447, 493, 1, 536, 496, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 119, 1, 518, 201, 1], "image_id": 110761, "bbox": [358, 101, 270, 444], "category_id": 1, "id": 164536}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [666, 274, 1, 482, 278, 1, 752, 357, 1, 383, 352, 1, 827, 412, 1, 333, 431, 1, 619, 520, 1, 520, 523, 1, 629, 715, 1, 578, 698, 1, 548, 865, 1, 496, 746, 1, 604, 135, 1, 575, 245, 1], "image_id": 118492, "bbox": [271, 94, 638, 807], "category_id": 1, "id": 164541}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [780, 364, 1, 697, 358, 1, 837, 456, 1, 705, 445, 1, 828, 540, 1, 658, 498, 1, 630, 497, 1, 622, 512, 1, 457, 528, 1, 470, 589, 1, 297, 555, 1, 624, 648, 1, 720, 242, 1, 733, 334, 1], "image_id": 111360, "bbox": [209, 221, 659, 444], "category_id": 1, "id": 164563}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 261, 1, 215, 239, 1, 442, 400, 1, 170, 371, 1, 565, 429, 1, 166, 500, 1, 355, 512, 1, 255, 514, 1, 344, 692, 1, 240, 697, 1, 333, 826, 1, 220, 865, 1, 329, 65, 1, 323, 209, 1], "image_id": 117694, "bbox": [134, 39, 273, 914], "category_id": 1, "id": 164567}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 163, 1, 392, 180, 1, 623, 188, 1, 348, 228, 1, 654, 217, 1, 351, 272, 1, 561, 298, 1, 546, 350, 1, 469, 384, 1, 589, 494, 1, 553, 504, 1, 734, 491, 1, 443, 72, 1, 455, 160, 1], "image_id": 115144, "bbox": [326, 58, 449, 526], "category_id": 1, "id": 164572}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [289, 454, 1, 271, 463, 1, 306, 482, 1, 274, 493, 1, 317, 505, 1, 259, 503, 1, 296, 516, 1, 292, 518, 1, 291, 570, 1, 313, 566, 1, 0, 0, 0, 0, 0, 0, 267, 422, 1, 275, 449, 1], "image_id": 113501, "bbox": [241, 412, 95, 185], "category_id": 1, "id": 164593}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [615, 404, 1, 522, 416, 1, 699, 523, 1, 531, 522, 1, 0, 0, 0, 445, 492, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 475, 271, 1, 554, 381, 1], "image_id": 116439, "bbox": [398, 221, 335, 311], "category_id": 1, "id": 164596}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [845, 295, 1, 791, 291, 1, 894, 324, 1, 773, 334, 1, 926, 338, 1, 807, 356, 1, 821, 389, 1, 787, 389, 1, 816, 457, 1, 775, 456, 1, 819, 518, 1, 754, 503, 1, 816, 233, 1, 823, 278, 1], "image_id": 115657, "bbox": [738, 226, 221, 316], "category_id": 1, "id": 164599}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [570, 195, 1, 423, 217, 1, 644, 302, 1, 325, 294, 1, 585, 319, 1, 244, 358, 1, 538, 468, 1, 478, 460, 1, 497, 631, 1, 517, 640, 1, 0, 0, 0, 0, 0, 0, 528, 71, 1, 513, 178, 1], "image_id": 117953, "bbox": [173, 40, 520, 625], "category_id": 1, "id": 164607}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [401, 283, 1, 481, 268, 1, 483, 385, 1, 576, 437, 1, 638, 329, 1, 729, 417, 1, 428, 542, 1, 523, 573, 1, 586, 486, 1, 753, 543, 1, 0, 0, 0, 0, 0, 0, 480, 86, 1, 446, 215, 1], "image_id": 116705, "bbox": [335, 58, 459, 574], "category_id": 1, "id": 164610}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [407, 355, 1, 585, 307, 1, 323, 423, 1, 657, 377, 1, 307, 530, 1, 712, 428, 1, 485, 581, 1, 573, 567, 1, 540, 699, 1, 689, 678, 1, 506, 915, 1, 639, 871, 1, 489, 198, 1, 489, 288, 1], "image_id": 114385, "bbox": [275, 177, 480, 764], "category_id": 1, "id": 164616}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [449, 324, 1, 291, 329, 1, 470, 466, 1, 281, 469, 1, 473, 564, 1, 274, 570, 1, 421, 586, 1, 321, 584, 1, 420, 767, 1, 323, 767, 1, 0, 0, 0, 0, 0, 0, 344, 171, 1, 363, 295, 1], "image_id": 109484, "bbox": [245, 153, 259, 662], "category_id": 1, "id": 164619}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [430, 249, 1, 311, 252, 1, 488, 337, 1, 252, 358, 1, 541, 416, 1, 251, 282, 1, 399, 456, 1, 337, 481, 1, 427, 534, 1, 412, 621, 1, 453, 676, 1, 463, 635, 1, 378, 148, 1, 369, 233, 1], "image_id": 114636, "bbox": [230, 115, 365, 625], "category_id": 1, "id": 164631}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [354, 408, 1, 414, 408, 1, 330, 455, 1, 424, 455, 1, 332, 444, 1, 408, 442, 1, 365, 530, 1, 395, 529, 1, 352, 585, 1, 396, 582, 1, 343, 641, 1, 394, 639, 1, 398, 339, 1, 384, 392, 1], "image_id": 111552, "bbox": [299, 328, 136, 337], "category_id": 1, "id": 164639}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [431, 247, 1, 316, 206, 1, 430, 398, 1, 369, 236, 1, 534, 343, 1, 503, 284, 1, 398, 493, 1, 295, 501, 1, 484, 636, 1, 247, 737, 1, 0, 0, 0, 0, 0, 0, 386, 83, 1, 381, 208, 1], "image_id": 113757, "bbox": [195, 47, 417, 720], "category_id": 1, "id": 164659}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [621, 288, 1, 461, 298, 1, 620, 417, 1, 498, 417, 1, 548, 476, 1, 570, 468, 1, 583, 523, 1, 516, 526, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 509, 130, 1, 530, 237, 1], "image_id": 113270, "bbox": [433, 113, 228, 517], "category_id": 1, "id": 164662}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [384, 191, 1, 221, 197, 1, 352, 357, 1, 223, 351, 1, 308, 439, 1, 292, 447, 1, 0, 0, 0, 242, 533, 1, 0, 0, 0, 335, 533, 1, 0, 0, 0, 0, 0, 0, 270, 28, 1, 296, 162, 1], "image_id": 111562, "bbox": [174, 6, 226, 593], "category_id": 1, "id": 164669}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [235, 235, 1, 271, 241, 1, 163, 171, 1, 238, 318, 1, 170, 101, 1, 191, 383, 1, 225, 405, 1, 216, 405, 1, 232, 529, 1, 201, 532, 1, 248, 673, 1, 180, 669, 1, 292, 142, 1, 257, 207, 1], "image_id": 109500, "bbox": [136, 61, 199, 683], "category_id": 1, "id": 164671}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [437, 278, 1, 391, 292, 1, 390, 376, 1, 326, 375, 1, 320, 319, 1, 275, 274, 1, 460, 505, 1, 410, 508, 1, 459, 658, 1, 385, 636, 1, 557, 790, 1, 383, 817, 1, 344, 169, 1, 393, 250, 1], "image_id": 119010, "bbox": [246, 136, 348, 722], "category_id": 1, "id": 164685}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [544, 178, 1, 416, 154, 1, 625, 225, 1, 359, 205, 1, 714, 241, 1, 320, 241, 1, 506, 328, 1, 447, 318, 1, 474, 479, 1, 526, 349, 1, 343, 537, 1, 545, 499, 1, 526, 62, 1, 482, 131, 1], "image_id": 116103, "bbox": [267, 38, 524, 561], "category_id": 1, "id": 164692}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [532, 195, 1, 413, 192, 1, 637, 239, 1, 353, 239, 1, 639, 210, 1, 418, 194, 1, 498, 418, 1, 439, 414, 1, 503, 575, 1, 401, 571, 1, 0, 0, 0, 0, 0, 0, 532, 107, 1, 528, 205, 1], "image_id": 112083, "bbox": [327, 67, 341, 532], "category_id": 1, "id": 164708}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [692, 186, 1, 653, 210, 1, 688, 280, 1, 629, 295, 1, 629, 341, 1, 599, 329, 1, 733, 416, 1, 682, 412, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, 104, 1, 666, 171, 1], "image_id": 117931, "bbox": [540, 77, 257, 441], "category_id": 1, "id": 164729}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [749, 452, 1, 771, 480, 1, 793, 558, 1, 806, 565, 1, 876, 588, 1, 861, 601, 1, 546, 428, 1, 555, 454, 1, 392, 494, 1, 449, 511, 1, 241, 554, 1, 306, 515, 1, 825, 430, 1, 772, 463, 1], "image_id": 118167, "bbox": [175, 381, 773, 251], "category_id": 1, "id": 164733}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [710, 397, 1, 670, 405, 1, 692, 362, 1, 640, 419, 1, 673, 332, 1, 612, 414, 1, 711, 453, 1, 689, 454, 1, 679, 452, 1, 658, 457, 1, 685, 498, 1, 668, 496, 1, 677, 360, 1, 686, 392, 1], "image_id": 114314, "bbox": [590, 315, 132, 164], "category_id": 1, "id": 164758}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [416, 279, 1, 498, 215, 1, 440, 392, 1, 550, 333, 1, 419, 498, 1, 525, 407, 1, 455, 458, 1, 485, 452, 1, 448, 652, 1, 450, 629, 1, 611, 642, 1, 482, 788, 1, 460, 71, 1, 477, 168, 1], "image_id": 111548, "bbox": [359, 108, 317, 718], "category_id": 1, "id": 164764}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [247, 264, 1, 133, 272, 1, 290, 336, 1, 146, 387, 1, 339, 339, 1, 194, 364, 1, 220, 494, 1, 145, 497, 1, 232, 664, 1, 179, 659, 1, 0, 0, 0, 0, 0, 0, 206, 129, 1, 175, 231, 1], "image_id": 112035, "bbox": [106, 108, 275, 641], "category_id": 1, "id": 164800}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 177, 1, 407, 152, 1, 486, 267, 1, 347, 217, 1, 522, 323, 1, 384, 181, 1, 506, 339, 1, 443, 345, 1, 558, 404, 1, 411, 458, 1, 543, 538, 1, 352, 476, 1, 455, 56, 1, 455, 135, 1], "image_id": 115366, "bbox": [325, 37, 280, 538], "category_id": 1, "id": 164836}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [373, 156, 1, 216, 185, 1, 426, 222, 1, 195, 307, 1, 512, 261, 1, 280, 378, 1, 307, 347, 1, 188, 371, 1, 424, 383, 1, 314, 410, 1, 424, 487, 1, 324, 517, 1, 294, 48, 1, 298, 151, 1], "image_id": 113065, "bbox": [114, 25, 440, 506], "category_id": 1, "id": 164845}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [254, 222, 1, 174, 226, 1, 262, 325, 1, 141, 329, 1, 183, 354, 1, 89, 291, 1, 286, 426, 1, 221, 434, 1, 362, 555, 1, 171, 557, 1, 462, 667, 1, 119, 696, 1, 194, 114, 1, 203, 195, 1], "image_id": 119703, "bbox": [18, 100, 471, 647], "category_id": 1, "id": 164847}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [307, 248, 1, 140, 218, 1, 319, 351, 1, 118, 363, 1, 296, 438, 1, 182, 473, 1, 245, 481, 1, 149, 487, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 173, 1, 237, 213, 1], "image_id": 118031, "bbox": [62, 120, 286, 412], "category_id": 1, "id": 164850}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [372, 150, 1, 278, 204, 1, 438, 118, 1, 313, 262, 1, 463, 115, 1, 282, 284, 1, 428, 319, 1, 374, 339, 1, 432, 424, 1, 350, 440, 1, 504, 538, 1, 359, 530, 1, 270, 115, 1, 311, 173, 1], "image_id": 112389, "bbox": [243, 96, 292, 479], "category_id": 1, "id": 164865}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [415, 134, 1, 280, 141, 1, 434, 231, 1, 202, 242, 1, 463, 283, 1, 129, 327, 1, 406, 364, 1, 312, 351, 1, 420, 583, 1, 292, 484, 1, 388, 629, 1, 242, 668, 1, 352, 22, 1, 347, 114, 1], "image_id": 115834, "bbox": [50, 2, 490, 705], "category_id": 1, "id": 164878}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [440, 264, 1, 354, 260, 1, 436, 323, 1, 339, 313, 1, 425, 332, 1, 384, 312, 1, 409, 389, 1, 366, 386, 1, 405, 464, 1, 365, 463, 1, 399, 566, 1, 365, 562, 1, 394, 170, 1, 394, 232, 1], "image_id": 112549, "bbox": [310, 160, 152, 458], "category_id": 1, "id": 164889}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 281, 1, 306, 369, 1, 402, 338, 1, 359, 458, 1, 316, 344, 1, 329, 459, 1, 450, 416, 1, 407, 443, 1, 501, 394, 1, 431, 380, 1, 543, 430, 1, 473, 430, 1, 286, 263, 1, 331, 311, 1], "image_id": 115800, "bbox": [236, 247, 340, 228], "category_id": 1, "id": 164905}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 250, 1, 216, 224, 1, 236, 359, 1, 214, 356, 1, 233, 442, 1, 279, 459, 1, 220, 462, 1, 201, 460, 1, 232, 605, 1, 204, 618, 1, 237, 698, 1, 176, 771, 1, 339, 110, 1, 276, 195, 1], "image_id": 115663, "bbox": [117, 71, 269, 758], "category_id": 1, "id": 164927}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [302, 190, 1, 117, 209, 1, 385, 288, 1, 63, 345, 1, 407, 362, 1, 107, 455, 1, 270, 265, 1, 155, 266, 1, 263, 305, 1, 99, 376, 1, 275, 483, 1, 93, 438, 1, 218, 155, 1, 214, 182, 1], "image_id": 115750, "bbox": [39, 97, 415, 453], "category_id": 1, "id": 164928}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [619, 210, 1, 506, 214, 1, 623, 300, 1, 472, 299, 1, 604, 267, 1, 468, 353, 1, 514, 392, 1, 540, 384, 1, 439, 512, 1, 628, 470, 1, 301, 439, 1, 616, 624, 1, 564, 111, 1, 564, 193, 1], "image_id": 113612, "bbox": [230, 92, 459, 582], "category_id": 1, "id": 164932}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [681, 214, 1, 568, 232, 1, 775, 207, 1, 624, 250, 1, 708, 279, 1, 620, 279, 1, 766, 283, 1, 696, 296, 1, 814, 422, 1, 602, 391, 1, 850, 371, 1, 714, 366, 1, 493, 192, 1, 598, 216, 1], "image_id": 110619, "bbox": [442, 142, 430, 299], "category_id": 1, "id": 164934}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [378, 374, 1, 267, 372, 1, 382, 463, 1, 261, 453, 1, 422, 442, 1, 286, 543, 1, 310, 535, 1, 258, 531, 1, 243, 644, 1, 353, 657, 1, 158, 701, 1, 386, 795, 1, 349, 261, 1, 321, 338, 1], "image_id": 114948, "bbox": [112, 234, 370, 608], "category_id": 1, "id": 164951}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 346, 24, 1, 0, 0, 0, 382, 83, 1, 510, 125, 1, 459, 121, 1, 519, 295, 1, 468, 312, 1, 516, 456, 1, 470, 456, 1, 0, 0, 0, 0, 0, 0], "image_id": 116868, "bbox": [295, 1, 234, 519], "category_id": 1, "id": 164957}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [419, 145, 1, 343, 126, 1, 447, 197, 1, 335, 194, 1, 470, 239, 1, 352, 168, 1, 396, 275, 1, 350, 282, 1, 386, 337, 1, 367, 336, 1, 370, 395, 1, 381, 403, 1, 376, 70, 1, 379, 119, 1], "image_id": 119148, "bbox": [317, 42, 183, 410], "category_id": 1, "id": 164960}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [150, 54, 1, 200, 56, 1, 140, 97, 1, 209, 99, 1, 130, 128, 1, 214, 125, 1, 153, 132, 1, 185, 134, 1, 157, 197, 1, 182, 200, 1, 158, 259, 1, 183, 257, 1, 181, 5, 1, 177, 35, 1], "image_id": 112325, "bbox": [114, 1, 112, 295], "category_id": 1, "id": 164978}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [600, 131, 1, 478, 155, 1, 641, 161, 1, 499, 266, 1, 665, 237, 1, 499, 243, 1, 592, 307, 1, 525, 322, 1, 602, 427, 1, 551, 457, 1, 607, 473, 1, 605, 565, 1, 506, 53, 1, 522, 124, 1], "image_id": 112829, "bbox": [451, 30, 241, 569], "category_id": 1, "id": 164984}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [566, 198, 1, 493, 164, 1, 616, 342, 1, 423, 231, 1, 501, 310, 1, 327, 213, 1, 708, 422, 1, 656, 409, 1, 571, 621, 1, 523, 607, 1, 686, 839, 1, 626, 807, 1, 509, 46, 1, 534, 165, 1], "image_id": 112092, "bbox": [239, 28, 482, 910], "category_id": 1, "id": 165006}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [236, 207, 1, 116, 167, 1, 150, 330, 1, 93, 306, 1, 199, 352, 1, 185, 381, 1, 171, 449, 1, 81, 430, 1, 295, 581, 1, 201, 604, 1, 209, 817, 1, 191, 847, 1, 202, 28, 1, 190, 140, 1], "image_id": 118297, "bbox": [15, 14, 281, 955], "category_id": 1, "id": 165021}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [919, 227, 1, 866, 233, 1, 930, 196, 1, 854, 197, 1, 919, 168, 1, 869, 168, 1, 902, 314, 1, 878, 314, 1, 897, 376, 1, 874, 376, 1, 894, 430, 1, 877, 431, 1, 893, 179, 1, 888, 224, 1], "image_id": 114863, "bbox": [848, 131, 90, 330], "category_id": 1, "id": 165025}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [622, 111, 1, 467, 182, 1, 667, 188, 1, 473, 292, 1, 706, 261, 1, 415, 364, 1, 654, 324, 1, 581, 371, 1, 650, 469, 1, 613, 543, 1, 654, 686, 1, 737, 633, 1, 501, 65, 1, 528, 128, 1], "image_id": 115834, "bbox": [332, 35, 434, 686], "category_id": 1, "id": 165042}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 434, 1, 76, 410, 1, 238, 571, 1, 23, 569, 1, 285, 517, 1, 195, 533, 1, 206, 666, 1, 91, 680, 1, 303, 716, 1, 229, 737, 1, 329, 943, 1, 188, 913, 1, 190, 259, 1, 153, 393, 1], "image_id": 114849, "bbox": [50, 222, 340, 770], "category_id": 1, "id": 165049}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 164, 1, 426, 162, 1, 554, 220, 1, 297, 163, 1, 682, 265, 1, 218, 281, 1, 403, 424, 1, 372, 446, 1, 587, 458, 1, 519, 526, 1, 532, 674, 1, 412, 687, 1, 522, 24, 1, 478, 130, 1], "image_id": 116601, "bbox": [267, 1, 515, 748], "category_id": 1, "id": 165062}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 269, 1, 342, 248, 1, 473, 371, 1, 296, 331, 1, 456, 451, 1, 257, 343, 1, 415, 427, 1, 316, 413, 1, 313, 441, 1, 284, 283, 1, 224, 501, 1, 244, 427, 1, 405, 121, 1, 391, 225, 1], "image_id": 113684, "bbox": [196, 108, 298, 338], "category_id": 1, "id": 165063}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [138, 247, 1, 186, 254, 1, 251, 332, 1, 206, 369, 1, 334, 305, 1, 308, 355, 1, 148, 508, 1, 128, 508, 1, 198, 658, 1, 128, 673, 1, 91, 829, 1, 93, 867, 1, 231, 152, 1, 195, 229, 1], "image_id": 112785, "bbox": [32, 128, 298, 797], "category_id": 1, "id": 165071}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 345, 1, 126, 339, 1, 260, 446, 1, 134, 439, 1, 226, 367, 1, 168, 360, 1, 268, 582, 1, 187, 593, 1, 275, 707, 1, 230, 719, 1, 316, 850, 1, 243, 857, 1, 226, 162, 1, 203, 311, 1], "image_id": 110550, "bbox": [81, 122, 274, 837], "category_id": 1, "id": 165100}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [228, 275, 1, 248, 284, 1, 354, 340, 1, 377, 359, 1, 455, 362, 1, 518, 338, 1, 126, 604, 1, 106, 610, 1, 223, 601, 1, 326, 571, 1, 367, 623, 1, 277, 643, 1, 327, 150, 1, 250, 259, 1], "image_id": 113307, "bbox": [0, 116, 600, 553], "category_id": 1, "id": 165112}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 205, 1, 121, 206, 1, 256, 302, 1, 66, 311, 1, 332, 322, 1, 113, 277, 1, 199, 429, 1, 138, 426, 1, 191, 573, 1, 124, 567, 1, 196, 701, 1, 121, 713, 1, 185, 103, 1, 175, 187, 1], "image_id": 119168, "bbox": [41, 74, 234, 673], "category_id": 1, "id": 165114}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 244, 1, 335, 222, 1, 450, 266, 1, 257, 219, 1, 492, 266, 1, 284, 155, 1, 424, 413, 1, 372, 428, 1, 516, 494, 1, 460, 536, 1, 496, 614, 1, 473, 640, 1, 419, 135, 1, 386, 216, 1], "image_id": 119893, "bbox": [235, 105, 332, 565], "category_id": 1, "id": 165127}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 96, 327, 1, 0, 0, 0, 130, 460, 1, 0, 0, 0, 128, 547, 1, 0, 0, 0, 65, 597, 1, 0, 0, 0, 68, 730, 1, 0, 0, 0, 70, 866, 1, 0, 0, 0, -3, 291, 1], "image_id": 114728, "bbox": [0, 169, 151, 622], "category_id": 1, "id": 165131}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [402, 250, 1, 310, 243, 1, 387, 367, 1, 275, 314, 1, 293, 395, 1, 281, 387, 1, 343, 425, 1, 299, 421, 1, 341, 540, 1, 296, 540, 1, 340, 647, 1, 293, 645, 1, 322, 135, 1, 346, 225, 1], "image_id": 109191, "bbox": [227, 83, 300, 591], "category_id": 1, "id": 165135}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [437, 265, 1, 236, 286, 1, 507, 393, 1, 178, 426, 1, 546, 456, 1, 157, 506, 1, 429, 543, 1, 286, 555, 1, 466, 694, 1, 303, 704, 1, 501, 909, 1, 284, 786, 1, 316, 59, 1, 328, 252, 1], "image_id": 114475, "bbox": [114, 25, 486, 973], "category_id": 1, "id": 165150}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [844, 175, 1, 713, 208, 1, 890, 368, 1, 700, 311, 1, 808, 516, 1, 605, 334, 1, 821, 365, 1, 754, 363, 1, 700, 269, 1, 632, 372, 1, 727, 460, 1, 763, 415, 1, 629, 70, 1, 743, 162, 1], "image_id": 119171, "bbox": [527, 22, 401, 583], "category_id": 1, "id": 165173}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [537, 179, 1, 417, 103, 1, 589, 247, 1, 358, 119, 1, 671, 297, 1, 289, 91, 1, 419, 308, 1, 342, 293, 1, 421, 434, 1, 220, 410, 1, 419, 522, 1, 235, 532, 1, 511, 35, 1, 500, 117, 1], "image_id": 119496, "bbox": [184, 6, 584, 583], "category_id": 1, "id": 165175}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [538, 327, 1, 438, 299, 1, 522, 407, 1, 348, 288, 1, 450, 403, 1, 270, 277, 1, 549, 560, 1, 499, 557, 1, 467, 670, 1, 424, 689, 1, 450, 823, 1, 514, 852, 1, 448, 195, 1, 488, 292, 1], "image_id": 116513, "bbox": [171, 155, 436, 756], "category_id": 1, "id": 165193}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [508, 201, 1, 380, 185, 1, 502, 256, 1, 257, 244, 1, 546, 344, 1, 378, 260, 1, 435, 443, 1, 342, 446, 1, 573, 575, 1, 331, 652, 1, 524, 714, 1, 242, 762, 1, 492, 75, 1, 441, 165, 1], "image_id": 111067, "bbox": [207, 51, 419, 794], "category_id": 1, "id": 165209}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [681, 199, 1, 553, 197, 1, 718, 238, 1, 491, 264, 1, 752, 233, 1, 445, 319, 1, 666, 371, 1, 589, 376, 1, 644, 464, 1, 548, 516, 1, 598, 610, 1, 614, 579, 1, 599, 91, 1, 616, 177, 1], "image_id": 119269, "bbox": [401, 59, 427, 616], "category_id": 1, "id": 165212}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [722, 261, 1, 617, 275, 1, 651, 378, 1, 553, 347, 1, 536, 339, 1, 542, 303, 1, 741, 510, 1, 720, 534, 1, 544, 575, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 538, 135, 1, 637, 239, 1], "image_id": 117175, "bbox": [415, 5, 441, 683], "category_id": 1, "id": 165221}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [318, 287, 1, 102, 327, 1, 432, 414, 1, 93, 479, 1, 346, 422, 1, 134, 478, 1, 305, 561, 1, 184, 559, 1, 427, 577, 1, 64, 573, 1, 0, 0, 0, 0, 0, 0, 178, 128, 1, 203, 278, 1], "image_id": 112065, "bbox": [0, 94, 465, 728], "category_id": 1, "id": 165239}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [635, 115, 1, 499, 116, 1, 720, 138, 1, 457, 191, 1, 754, 165, 1, 464, 273, 1, 559, 284, 1, 478, 282, 1, 612, 342, 1, 390, 371, 1, 542, 471, 1, 283, 426, 1, 495, 88, 1, 528, 164, 1], "image_id": 118610, "bbox": [203, 4, 580, 558], "category_id": 1, "id": 165266}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [548, 205, 1, 441, 229, 1, 567, 282, 1, 400, 336, 1, 562, 339, 1, 420, 419, 1, 557, 382, 1, 489, 413, 1, 657, 421, 1, 590, 497, 1, 760, 458, 1, 667, 604, 1, 497, 41, 1, 481, 187, 1], "image_id": 110586, "bbox": [380, 9, 472, 631], "category_id": 1, "id": 165273}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [228, 399, 1, 323, 427, 1, 165, 509, 1, 329, 559, 1, 237, 584, 1, 383, 572, 1, 232, 647, 1, 250, 649, 1, 377, 685, 1, 304, 831, 1, 0, 0, 0, 156, 802, 1, 368, 334, 1, 297, 380, 1], "image_id": 113609, "bbox": [75, 300, 357, 557], "category_id": 1, "id": 165282}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 303, 178, 1, 0, 0, 0, 294, 259, 1, 374, 307, 1, 333, 306, 1, 390, 345, 1, 315, 346, 1, 382, 451, 1, 315, 444, 1, 373, 529, 1, 317, 530, 1, 365, 69, 1, 357, 153, 1], "image_id": 117820, "bbox": [269, 47, 155, 541], "category_id": 1, "id": 165300}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [703, 474, 1, 634, 365, 1, 740, 532, 1, 587, 444, 1, 690, 540, 1, 603, 517, 1, 597, 496, 1, 580, 439, 1, 544, 513, 1, 438, 464, 1, 503, 495, 1, 444, 449, 1, 718, 432, 1, 683, 411, 1], "image_id": 111866, "bbox": [398, 341, 372, 236], "category_id": 1, "id": 165301}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [289, 190, 1, 110, 188, 1, 295, 321, 1, 87, 330, 1, 294, 321, 1, 163, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197, 25, 1, 197, 157, 1], "image_id": 110661, "bbox": [63, 8, 265, 478], "category_id": 1, "id": 165307}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [313, 192, 1, 205, 190, 1, 401, 330, 1, 268, 305, 1, 310, 447, 1, 202, 387, 1, 284, 499, 1, 221, 495, 1, 311, 706, 1, 182, 679, 1, 424, 813, 1, 210, 892, 1, 210, 15, 1, 247, 152, 1], "image_id": 115227, "bbox": [138, 2, 338, 995], "category_id": 1, "id": 165311}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [230, 182, 1, 145, 182, 1, 295, 237, 1, 205, 243, 1, 341, 273, 1, 295, 274, 1, 211, 379, 1, 176, 377, 1, 234, 511, 1, 139, 502, 1, 253, 615, 1, 99, 622, 1, 171, 64, 1, 180, 154, 1], "image_id": 112018, "bbox": [65, 37, 307, 660], "category_id": 1, "id": 165347}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [336, 217, 1, 220, 132, 1, 387, 295, 1, 177, 153, 1, 409, 379, 1, 143, 170, 1, 286, 391, 1, 302, 388, 1, 218, 495, 1, 378, 501, 1, 136, 629, 1, 541, 498, 1, 273, 99, 1, 269, 155, 1], "image_id": 113137, "bbox": [38, 52, 551, 632], "category_id": 1, "id": 165350}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [317, 216, 1, 129, 170, 1, 349, 343, 1, 58, 388, 1, 385, 416, 1, 206, 440, 1, 228, 413, 1, 139, 405, 1, 296, 257, 1, 135, 259, 1, 296, 491, 1, 112, 514, 1, 296, 41, 1, 213, 173, 1], "image_id": 111303, "bbox": [3, 0, 461, 604], "category_id": 1, "id": 165363}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [937, 261, 1, 820, 274, 1, 972, 333, 1, 791, 356, 1, 0, 0, 0, 780, 432, 1, 915, 456, 1, 856, 461, 1, 935, 589, 1, 835, 591, 1, 0, 0, 0, 0, 0, 0, 879, 163, 1, 882, 247, 1], "image_id": 117953, "bbox": [751, 134, 248, 531], "category_id": 1, "id": 165376}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [254, 160, 1, 195, 158, 1, 263, 202, 1, 178, 201, 1, 268, 259, 1, 176, 243, 1, 242, 249, 1, 207, 250, 1, 245, 316, 1, 211, 318, 1, 251, 387, 1, 211, 376, 1, 225, 104, 1, 223, 147, 1], "image_id": 119893, "bbox": [157, 92, 125, 321], "category_id": 1, "id": 165379}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [613, 203, 1, 507, 185, 1, 583, 298, 1, 459, 289, 1, 578, 371, 1, 454, 398, 1, 535, 378, 1, 466, 376, 1, 556, 478, 1, 482, 504, 1, 469, 429, 1, 396, 427, 1, 631, 79, 1, 576, 170, 1], "image_id": 119846, "bbox": [409, 50, 266, 486], "category_id": 1, "id": 165384}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [739, 301, 1, 569, 287, 1, 730, 361, 1, 503, 340, 1, 699, 276, 1, 413, 371, 1, 672, 553, 1, 583, 519, 1, 666, 714, 1, 508, 513, 1, 675, 908, 1, 400, 595, 1, 617, 192, 1, 651, 283, 1], "image_id": 114203, "bbox": [290, 166, 482, 791], "category_id": 1, "id": 165388}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [236, 187, 1, 118, 144, 1, 236, 285, 1, 97, 69, 1, 245, 315, 1, 180, 28, 1, 187, 388, 1, 128, 387, 1, 208, 539, 1, 137, 526, 1, 209, 678, 1, 175, 680, 1, 184, 58, 1, 174, 156, 1], "image_id": 111171, "bbox": [60, 6, 225, 729], "category_id": 1, "id": 165408}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [176, 513, 1, 65, 542, 1, 208, 401, 1, 0, 0, 0, 211, 294, 1, 0, 0, 0, 201, 763, 1, 120, 774, 1, 295, 903, 1, 34, 920, 1, 0, 0, 0, 0, 0, 0, 92, 417, 1, 107, 511, 1], "image_id": 118481, "bbox": [0, 188, 343, 758], "category_id": 1, "id": 165431}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [505, 342, 1, 494, 362, 1, 496, 449, 1, 518, 476, 1, 445, 519, 1, 440, 528, 1, 666, 421, 1, 657, 436, 1, 504, 406, 1, 663, 604, 1, 525, 573, 1, 814, 564, 1, 401, 349, 1, 472, 353, 1], "image_id": 111939, "bbox": [374, 265, 504, 371], "category_id": 1, "id": 165452}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 474, 1, 344, 468, 1, 282, 545, 1, 253, 472, 1, 239, 514, 1, 196, 432, 1, 238, 581, 1, 267, 597, 1, 113, 569, 1, 183, 585, 1, 139, 690, 1, 144, 664, 1, 298, 376, 1, 327, 453, 1], "image_id": 109607, "bbox": [62, 343, 342, 397], "category_id": 1, "id": 165458}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [872, 374, 1, 959, 305, 1, 726, 612, 1, 901, 596, 1, 521, 476, 1, 781, 510, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 816, 16, 1, 878, 242, 1], "image_id": 116596, "bbox": [402, 2, 597, 673], "category_id": 1, "id": 165459}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [296, 276, 1, 162, 258, 1, 342, 387, 1, 126, 386, 1, 420, 468, 1, 84, 504, 1, 249, 505, 1, 174, 509, 1, 259, 698, 1, 199, 707, 1, 263, 888, 1, 224, 870, 1, 259, 112, 1, 221, 218, 1], "image_id": 112863, "bbox": [40, 90, 429, 860], "category_id": 1, "id": 165465}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 227, 1, 234, 236, 1, 464, 156, 1, 223, 325, 1, 396, 67, 1, 275, 239, 1, 338, 476, 1, 247, 475, 1, 401, 654, 1, 179, 678, 1, 475, 818, 1, 138, 836, 1, 302, 88, 1, 302, 206, 1], "image_id": 119702, "bbox": [118, 10, 396, 850], "category_id": 1, "id": 165470}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [467, 262, 1, 319, 289, 1, 527, 283, 1, 233, 294, 1, 460, 275, 1, 137, 267, 1, 490, 429, 1, 436, 467, 1, 480, 542, 1, 525, 601, 1, 491, 679, 1, 603, 645, 1, 380, 181, 1, 397, 269, 1], "image_id": 115830, "bbox": [61, 167, 590, 579], "category_id": 1, "id": 165501}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [780, 237, 1, 675, 214, 1, 769, 330, 1, 626, 287, 1, 718, 325, 1, 638, 298, 1, 734, 406, 1, 666, 397, 1, 712, 508, 1, 662, 508, 1, 688, 588, 1, 658, 545, 1, 735, 121, 1, 724, 211, 1], "image_id": 115143, "bbox": [614, 107, 188, 525], "category_id": 1, "id": 165515}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [557, 288, 1, 362, 299, 1, 598, 394, 1, 349, 442, 1, 543, 451, 1, 440, 487, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 458, 123, 1, 455, 259, 1], "image_id": 119190, "bbox": [331, 101, 285, 470], "category_id": 1, "id": 165526}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [383, 475, 1, 203, 484, 1, 429, 540, 1, 90, 550, 1, 350, 570, 1, 160, 566, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 309, 1, 276, 460, 1], "image_id": 115262, "bbox": [43, 273, 424, 332], "category_id": 1, "id": 165529}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [449, 157, 1, 352, 156, 1, 489, 226, 1, 339, 204, 1, 524, 268, 1, 322, 232, 1, 445, 292, 1, 384, 298, 1, 420, 378, 1, 428, 382, 1, 429, 494, 1, 532, 422, 1, 393, 61, 1, 393, 136, 1], "image_id": 119402, "bbox": [292, 32, 243, 513], "category_id": 1, "id": 165530}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [562, 184, 1, 384, 174, 1, 622, 259, 1, 300, 225, 1, 720, 260, 1, 218, 224, 1, 517, 412, 1, 421, 420, 1, 492, 560, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 482, 42, 1, 476, 143, 1], "image_id": 115636, "bbox": [147, 25, 678, 573], "category_id": 1, "id": 165537}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [502, 285, 1, 340, 221, 1, 482, 425, 1, 249, 317, 1, 411, 505, 1, 276, 411, 1, 421, 490, 1, 331, 484, 1, 406, 677, 1, 301, 681, 1, 400, 843, 1, 267, 830, 1, 452, 109, 1, 421, 221, 1], "image_id": 117000, "bbox": [209, 56, 331, 859], "category_id": 1, "id": 165570}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [461, 240, 1, 347, 245, 1, 498, 336, 1, 340, 372, 1, 588, 332, 1, 452, 407, 1, 434, 487, 1, 370, 491, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 136, 1, 401, 234, 1], "image_id": 110581, "bbox": [294, 116, 204, 507], "category_id": 1, "id": 165594}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [340, 123, 1, 152, 172, 1, 447, 177, 1, 147, 313, 1, 476, 273, 1, 82, 390, 1, 350, 325, 1, 255, 333, 1, 350, 537, 1, 244, 538, 1, 0, 0, 0, 0, 0, 0, 193, 14, 1, 229, 121, 1], "image_id": 117009, "bbox": [70, 3, 475, 457], "category_id": 1, "id": 165602}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [488, 397, 1, 353, 407, 1, 501, 514, 1, 323, 501, 1, 483, 559, 1, 350, 513, 1, 437, 577, 1, 381, 569, 1, 443, 623, 1, 345, 623, 1, 0, 0, 0, 0, 0, 0, 409, 271, 1, 412, 378, 1], "image_id": 117546, "bbox": [304, 248, 249, 502], "category_id": 1, "id": 165604}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [178, 174, 1, 107, 172, 1, 188, 219, 1, 72, 190, 1, 184, 268, 1, 36, 207, 1, 174, 283, 1, 130, 283, 1, 171, 363, 1, 118, 363, 1, 0, 0, 0, 0, 0, 0, 132, 104, 1, 145, 153, 1], "image_id": 118570, "bbox": [39, 89, 163, 315], "category_id": 1, "id": 165606}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [391, 281, 1, 253, 259, 1, 427, 427, 1, 150, 443, 1, 442, 578, 1, 168, 426, 1, 415, 590, 1, 331, 597, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 80, 1, 325, 216, 1], "image_id": 111540, "bbox": [136, 64, 341, 615], "category_id": 1, "id": 165617}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [501, 323, 1, 538, 301, 1, 530, 395, 1, 570, 352, 1, 521, 468, 1, 565, 394, 1, 510, 449, 1, 535, 448, 1, 484, 502, 1, 524, 500, 1, 491, 564, 1, 529, 548, 1, 462, 233, 1, 505, 296, 1], "image_id": 110070, "bbox": [433, 207, 154, 382], "category_id": 1, "id": 165620}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [0, 0, 0, 853, 377, 1, 963, 446, 1, 833, 453, 1, 911, 477, 1, 927, 480, 1, 927, 535, 1, 844, 529, 1, 964, 582, 1, 806, 560, 1, 826, 601, 1, 940, 590, 1, 915, 266, 1, 915, 373, 1], "image_id": 113307, "bbox": [740, 240, 259, 386], "category_id": 1, "id": 165633}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [163, 329, 1, 0, 0, 0, 151, 541, 1, 0, 0, 0, 37, 414, 1, 0, 0, 0, 63, 725, 1, 0, 0, 0, 67, 920, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 65, 1, 72, 277, 1], "image_id": 117154, "bbox": [2, 35, 216, 962], "category_id": 1, "id": 165637}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [411, 189, 1, 235, 172, 1, 406, 293, 1, 179, 244, 1, 392, 353, 1, 177, 278, 1, 376, 414, 1, 263, 417, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 37, 1, 322, 143, 1], "image_id": 117296, "bbox": [157, 1, 334, 525], "category_id": 1, "id": 165653}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [339, 304, 1, 231, 247, 1, 323, 355, 1, 178, 244, 1, 390, 348, 1, 169, 228, 1, 260, 490, 1, 170, 504, 1, 302, 590, 1, 234, 641, 1, 297, 656, 1, 324, 750, 1, 301, 187, 1, 281, 274, 1], "image_id": 116130, "bbox": [113, 158, 304, 645], "category_id": 1, "id": 165656}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [797, 221, 1, 616, 165, 1, 878, 301, 1, 492, 190, 1, 0, 0, 0, 591, 246, 1, 639, 323, 1, 576, 266, 1, 506, 381, 1, 442, 329, 1, 374, 363, 1, 308, 330, 1, 592, 97, 1, 570, 168, 1], "image_id": 115757, "bbox": [267, 53, 631, 399], "category_id": 1, "id": 165660}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 144, 1, 285, 146, 1, 336, 172, 1, 284, 180, 1, 331, 188, 1, 286, 210, 1, 318, 226, 1, 294, 227, 1, 321, 281, 1, 293, 287, 1, 324, 318, 1, 291, 323, 1, 310, 97, 1, 310, 132, 1], "image_id": 118570, "bbox": [279, 89, 48, 252], "category_id": 1, "id": 165669}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 238, 1, 402, 243, 1, 587, 367, 1, 400, 370, 1, 641, 482, 1, 398, 489, 1, 569, 441, 1, 484, 448, 1, 711, 607, 1, 479, 608, 1, 604, 591, 1, 396, 597, 1, 436, 81, 1, 476, 182, 1], "image_id": 113644, "bbox": [285, 41, 465, 606], "category_id": 1, "id": 165670}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [198, 212, 1, 118, 309, 1, 359, 272, 1, 200, 385, 1, 265, 259, 1, 192, 258, 1, 345, 494, 1, 328, 502, 1, 345, 699, 1, 463, 611, 1, 316, 913, 1, 573, 739, 1, 62, 203, 1, 143, 250, 1], "image_id": 119756, "bbox": [10, 154, 680, 802], "category_id": 1, "id": 165676}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [601, 350, 1, 473, 400, 1, 703, 444, 1, 397, 407, 1, 742, 509, 1, 278, 382, 1, 515, 650, 1, 440, 640, 1, 371, 687, 1, 353, 763, 1, 274, 863, 1, 475, 889, 1, 466, 238, 1, 516, 344, 1], "image_id": 113314, "bbox": [143, 207, 665, 741], "category_id": 1, "id": 165678}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 282, 1, 237, 298, 1, 517, 371, 1, 130, 378, 1, 521, 309, 1, 130, 459, 1, 408, 560, 1, 308, 570, 1, 475, 724, 1, 248, 759, 1, 416, 859, 1, 177, 945, 1, 300, 144, 1, 318, 261, 1], "image_id": 110297, "bbox": [98, 108, 472, 889], "category_id": 1, "id": 165699}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [719, 189, 1, 504, 205, 1, 761, 364, 1, 411, 324, 1, 694, 486, 1, 530, 292, 1, 680, 498, 1, 564, 498, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 473, 129, 1, 628, 160, 1], "image_id": 115730, "bbox": [387, 13, 410, 606], "category_id": 1, "id": 165700}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 472, 1, 456, 474, 1, 446, 503, 1, 457, 501, 1, 469, 491, 1, 476, 493, 1, 441, 538, 1, 450, 536, 1, 438, 579, 1, 467, 573, 1, 436, 618, 1, 449, 620, 1, 439, 442, 1, 445, 467, 1], "image_id": 109066, "bbox": [416, 433, 70, 191], "category_id": 1, "id": 165703}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [480, 315, 1, 326, 287, 1, 632, 264, 1, 186, 227, 1, 750, 210, 1, 131, 100, 1, 435, 594, 1, 287, 591, 1, 555, 698, 1, 199, 771, 1, 523, 897, 1, 78, 917, 1, 432, 164, 1, 399, 275, 1], "image_id": 113273, "bbox": [0, 8, 821, 963], "category_id": 1, "id": 165734}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [142, 253, 1, 29, 298, 1, 196, 353, 1, 69, 394, 1, 208, 334, 1, 149, 345, 1, 165, 376, 1, 112, 414, 1, 262, 406, 1, 203, 443, 1, 0, 0, 0, 0, 0, 0, 97, 171, 1, 81, 250, 1], "image_id": 118281, "bbox": [35, 131, 228, 317], "category_id": 1, "id": 165756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [374, 599, 1, 419, 621, 1, 375, 568, 1, 453, 605, 1, 411, 568, 1, 430, 580, 1, 381, 705, 1, 407, 703, 1, 386, 756, 1, 409, 754, 1, 389, 808, 1, 411, 811, 1, 399, 536, 1, 406, 597, 1], "image_id": 109791, "bbox": [329, 508, 153, 314], "category_id": 1, "id": 165758}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 603, 274, 1, 0, 0, 0, 567, 390, 1, 0, 0, 0, 470, 360, 1, 0, 0, 0, 609, 542, 1, 0, 0, 0, 604, 711, 1, 0, 0, 0, 589, 879, 1, 0, 0, 0, 0, 0, 0], "image_id": 116081, "bbox": [440, 215, 193, 720], "category_id": 1, "id": 165768}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [615, 274, 1, 542, 280, 1, 646, 334, 1, 576, 355, 1, 660, 367, 1, 606, 292, 1, 646, 404, 1, 601, 405, 1, 740, 355, 1, 691, 357, 1, 767, 485, 1, 737, 487, 1, 575, 177, 1, 580, 257, 1], "image_id": 117190, "bbox": [518, 163, 288, 380], "category_id": 1, "id": 165776}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [346, 91, 1, 219, 174, 1, 372, 120, 1, 222, 288, 1, 372, 155, 1, 234, 354, 1, 434, 306, 1, 361, 326, 1, 495, 448, 1, 355, 467, 1, 572, 513, 1, 436, 577, 1, 214, 43, 1, 265, 116, 1], "image_id": 119783, "bbox": [181, 7, 456, 609], "category_id": 1, "id": 165778}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [371, 178, 1, 341, 179, 1, 382, 206, 1, 334, 203, 1, 397, 225, 1, 322, 223, 1, 368, 227, 1, 347, 227, 1, 381, 268, 1, 336, 265, 1, 392, 298, 1, 322, 299, 1, 347, 151, 1, 354, 175, 1], "image_id": 118286, "bbox": [311, 146, 96, 172], "category_id": 1, "id": 165781}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [232, 182, 1, 92, 140, 1, 227, 320, 1, 83, 356, 1, 288, 318, 1, 206, 280, 1, 215, 442, 1, 126, 471, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 30, 1, 174, 139, 1], "image_id": 118710, "bbox": [25, 0, 371, 533], "category_id": 1, "id": 165790}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 211, 1, 225, 194, 1, 414, 296, 1, 216, 307, 1, 346, 341, 1, 202, 314, 1, 296, 387, 1, 234, 381, 1, 296, 539, 1, 232, 539, 1, 296, 674, 1, 226, 664, 1, 285, 46, 1, 285, 158, 1], "image_id": 118132, "bbox": [185, 30, 269, 341], "category_id": 1, "id": 165795}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [157, 302, 1, 112, 311, 1, 156, 405, 1, 233, 327, 1, 235, 408, 1, 322, 336, 1, 170, 545, 1, 153, 544, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 176, 1, 132, 272, 1], "image_id": 111322, "bbox": [57, 151, 351, 478], "category_id": 1, "id": 165804}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [247, 305, 1, 157, 338, 1, 260, 400, 1, 125, 447, 1, 316, 424, 1, 154, 541, 1, 236, 546, 1, 173, 544, 1, 196, 679, 1, 207, 684, 1, 146, 831, 1, 260, 857, 1, 250, 183, 1, 204, 275, 1], "image_id": 118456, "bbox": [95, 142, 271, 771], "category_id": 1, "id": 165822}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [612, 259, 1, 493, 259, 1, 608, 382, 1, 444, 371, 1, 641, 492, 1, 414, 487, 1, 606, 525, 1, 521, 530, 1, 611, 708, 1, 528, 693, 1, 598, 873, 1, 401, 806, 1, 571, 132, 1, 559, 231, 1], "image_id": 111122, "bbox": [351, 96, 349, 835], "category_id": 1, "id": 165823}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [343, 278, 1, 364, 269, 1, 456, 390, 1, 456, 374, 1, 592, 343, 1, 586, 332, 1, 425, 550, 1, 446, 549, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 117, 1, 373, 229, 1], "image_id": 112433, "bbox": [288, 100, 375, 537], "category_id": 1, "id": 165825}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [104, 185, 1, 215, 166, 1, 130, 141, 1, 310, 163, 1, 170, 121, 1, 329, 90, 1, 147, 385, 1, 211, 385, 1, 135, 526, 1, 225, 536, 1, 123, 643, 1, 229, 647, 1, 102, 77, 1, 140, 147, 1], "image_id": 117901, "bbox": [79, 65, 268, 655], "category_id": 1, "id": 165826}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 457, 1, 381, 532, 1, 341, 436, 1, 432, 484, 1, 361, 460, 1, 450, 444, 1, 281, 427, 1, 272, 484, 1, 323, 392, 1, 322, 415, 1, 297, 372, 1, 279, 373, 1, 494, 495, 1, 412, 501, 1], "image_id": 118964, "bbox": [233, 346, 314, 202], "category_id": 1, "id": 165831}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 361, 1, 221, 403, 1, 369, 451, 1, 193, 530, 1, 332, 504, 1, 231, 593, 1, 402, 454, 1, 370, 530, 1, 499, 502, 1, 453, 572, 1, 573, 542, 1, 473, 539, 1, 225, 311, 1, 261, 368, 1], "image_id": 110637, "bbox": [174, 273, 468, 316], "category_id": 1, "id": 165833}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 581, 479, 1, 0, 0, 0, 560, 544, 1, 682, 629, 1, 526, 572, 1, 0, 0, 0, 662, 687, 1, 698, 835, 1, 627, 805, 1, 0, 0, 0, 645, 952, 1, 648, 356, 1, 643, 461, 1], "image_id": 118989, "bbox": [487, 339, 232, 660], "category_id": 1, "id": 165835}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [190, 366, 1, 74, 335, 1, 188, 466, 1, 26, 437, 1, 207, 419, 1, 46, 507, 1, 143, 557, 1, 73, 560, 1, 122, 709, 1, 111, 714, 1, 0, 0, 0, 0, 0, 0, 183, 242, 1, 144, 332, 1], "image_id": 113585, "bbox": [0, 227, 237, 572], "category_id": 1, "id": 165845}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [476, 451, 1, 466, 415, 1, 525, 493, 1, 504, 395, 1, 570, 475, 1, 527, 419, 1, 553, 430, 1, 557, 389, 1, 570, 504, 1, 602, 486, 1, 670, 492, 1, 686, 471, 1, 0, 0, 0, 0, 0, 0], "image_id": 119893, "bbox": [444, 376, 292, 144], "category_id": 1, "id": 165854}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [393, 380, 1, 351, 381, 1, 405, 416, 1, 338, 416, 1, 406, 439, 1, 348, 439, 1, 389, 456, 1, 364, 449, 1, 386, 501, 1, 367, 498, 1, 379, 550, 1, 364, 543, 1, 367, 341, 1, 371, 374, 1], "image_id": 115663, "bbox": [329, 333, 87, 254], "category_id": 1, "id": 165858}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 352, 1, 312, 330, 1, 441, 440, 1, 398, 405, 1, 505, 382, 1, 495, 367, 1, 362, 585, 1, 288, 571, 1, 419, 711, 1, 297, 708, 1, 453, 850, 1, 276, 853, 1, 418, 240, 1, 356, 318, 1], "image_id": 115164, "bbox": [236, 208, 339, 693], "category_id": 1, "id": 165876}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 139, 1, 279, 127, 1, 409, 230, 1, 230, 215, 1, 351, 279, 1, 281, 273, 1, 357, 304, 1, 289, 301, 1, 427, 317, 1, 215, 305, 1, 428, 464, 1, 170, 448, 1, 425, 33, 1, 418, 146, 1], "image_id": 119308, "bbox": [89, 3, 373, 510], "category_id": 1, "id": 165882}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [233, 209, 1, 321, 252, 1, 176, 310, 1, 404, 368, 1, 222, 360, 1, 511, 432, 1, 131, 453, 1, 210, 462, 1, 132, 571, 1, 326, 603, 1, 0, 0, 0, 189, 745, 1, 313, 99, 1, 298, 196, 1], "image_id": 112608, "bbox": [0, 42, 556, 735], "category_id": 1, "id": 165886}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [302, 297, 1, 264, 409, 1, 279, 430, 1, 264, 579, 1, 302, 533, 1, 421, 602, 1, 162, 561, 1, 99, 563, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 290, 1, 341, 344, 1], "image_id": 114808, "bbox": [11, 237, 509, 399], "category_id": 1, "id": 165902}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [438, 552, 1, 323, 555, 1, 470, 599, 1, 285, 578, 1, 432, 522, 1, 347, 507, 1, 422, 744, 1, 354, 750, 1, 522, 756, 1, 403, 740, 1, 0, 0, 0, 548, 805, 1, 397, 416, 1, 382, 531, 1], "image_id": 113886, "bbox": [258, 399, 340, 438], "category_id": 1, "id": 165903}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [727, 391, 1, 596, 367, 1, 774, 414, 1, 536, 334, 1, 788, 426, 1, 470, 311, 1, 713, 521, 1, 610, 530, 1, 677, 497, 1, 543, 517, 1, 599, 578, 1, 608, 583, 1, 652, 255, 1, 652, 365, 1], "image_id": 111656, "bbox": [404, 233, 450, 388], "category_id": 1, "id": 165913}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [294, 214, 1, 165, 214, 1, 322, 311, 1, 125, 338, 1, 417, 328, 1, 180, 428, 1, 238, 507, 1, 212, 505, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 57, 1, 236, 171, 1], "image_id": 112905, "bbox": [103, 31, 334, 602], "category_id": 1, "id": 165916}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 267, 1, 228, 351, 1, 402, 285, 1, 220, 419, 1, 457, 277, 1, 210, 460, 1, 410, 426, 1, 356, 465, 1, 515, 495, 1, 375, 563, 1, 594, 575, 1, 460, 600, 1, 226, 221, 1, 265, 287, 1], "image_id": 112593, "bbox": [166, 195, 466, 428], "category_id": 1, "id": 165926}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [228, 248, 1, 36, 257, 1, 260, 374, 1, 32, 386, 1, 251, 488, 1, 36, 494, 1, 195, 509, 1, 94, 514, 1, 209, 709, 1, 116, 719, 1, 209, 904, 1, 134, 912, 1, 125, 84, 1, 125, 209, 1], "image_id": 112931, "bbox": [1, 61, 279, 929], "category_id": 1, "id": 165931}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [406, 471, 1, 307, 483, 1, 429, 581, 1, 315, 601, 1, 453, 631, 1, 400, 655, 1, 416, 638, 1, 339, 664, 1, 519, 734, 1, 472, 734, 1, 523, 895, 1, 474, 891, 1, 371, 333, 1, 366, 447, 1], "image_id": 119643, "bbox": [267, 308, 346, 665], "category_id": 1, "id": 165935}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [430, 317, 1, 332, 377, 1, 390, 371, 1, 348, 463, 1, 311, 333, 1, 380, 505, 1, 476, 524, 1, 409, 540, 1, 488, 556, 1, 399, 577, 1, 472, 681, 1, 431, 677, 1, 352, 226, 1, 381, 308, 1], "image_id": 113843, "bbox": [254, 209, 300, 551], "category_id": 1, "id": 165937}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [314, 220, 1, 116, 274, 1, 372, 363, 1, 83, 501, 1, 385, 446, 1, 110, 608, 1, 338, 480, 1, 229, 537, 1, 458, 565, 1, 372, 619, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 212, 1], "image_id": 110586, "bbox": [1, 3, 508, 635], "category_id": 1, "id": 165940}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [313, 334, 1, 265, 346, 1, 415, 347, 1, 362, 340, 1, 427, 249, 1, 405, 216, 1, 303, 561, 1, 314, 542, 1, 347, 755, 1, 477, 570, 1, 248, 947, 1, 342, 700, 1, 230, 239, 1, 260, 315, 1], "image_id": 111546, "bbox": [197, 129, 319, 850], "category_id": 1, "id": 165953}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [854, 157, 1, 779, 161, 1, 881, 150, 1, 760, 212, 1, 858, 115, 1, 737, 257, 1, 826, 289, 1, 793, 287, 1, 846, 366, 1, 773, 365, 1, 856, 449, 1, 780, 445, 1, 819, 98, 1, 819, 148, 1], "image_id": 118434, "bbox": [721, 80, 182, 394], "category_id": 1, "id": 165967}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [223, 220, 1, 131, 242, 1, 245, 304, 1, 133, 325, 1, 249, 372, 1, 168, 360, 1, 224, 378, 1, 167, 379, 1, 228, 479, 1, 175, 494, 1, 222, 531, 1, 190, 586, 1, 147, 142, 1, 171, 216, 1], "image_id": 117340, "bbox": [95, 119, 195, 516], "category_id": 1, "id": 165970}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [785, 249, 1, 689, 223, 1, 776, 381, 1, 666, 335, 1, 667, 417, 1, 600, 407, 1, 744, 460, 1, 680, 458, 1, 734, 591, 1, 681, 589, 1, 0, 0, 0, 0, 0, 0, 709, 106, 1, 735, 213, 1], "image_id": 115006, "bbox": [549, 77, 264, 393], "category_id": 1, "id": 165982}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [600, 369, 1, 397, 339, 1, 598, 493, 1, 288, 409, 1, 501, 444, 1, 382, 411, 1, 534, 553, 1, 418, 553, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 161, 1, 499, 330, 1], "image_id": 115329, "bbox": [285, 127, 353, 337], "category_id": 1, "id": 165992}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [67, 172, 1, 101, 169, 1, 55, 190, 1, 108, 195, 1, 74, 186, 1, 92, 186, 1, 72, 226, 1, 91, 226, 1, 64, 262, 1, 91, 261, 1, 58, 292, 1, 89, 294, 1, 79, 141, 1, 82, 158, 1], "image_id": 116244, "bbox": [39, 133, 80, 177], "category_id": 1, "id": 166003}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [438, 265, 1, 364, 273, 1, 442, 314, 1, 381, 330, 1, 482, 310, 1, 419, 326, 1, 436, 386, 1, 396, 388, 1, 440, 463, 1, 404, 463, 1, 0, 0, 0, 0, 0, 0, 402, 188, 1, 404, 248, 1], "image_id": 116485, "bbox": [345, 172, 141, 349], "category_id": 1, "id": 166004}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [687, 255, 1, 453, 252, 1, 738, 409, 1, 401, 370, 1, 721, 490, 1, 373, 477, 1, 624, 569, 1, 488, 567, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 63, 1, 569, 203, 1], "image_id": 113528, "bbox": [433, 44, 352, 614], "category_id": 1, "id": 166007}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [552, 323, 1, 600, 463, 1, 559, 217, 1, 700, 544, 1, 540, 96, 1, 839, 559, 1, 556, 592, 1, 571, 592, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507, 335, 1, 575, 399, 1], "image_id": 110648, "bbox": [468, 1, 486, 612], "category_id": 1, "id": 166009}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [249, 256, 1, 76, 248, 1, 215, 436, 1, 81, 427, 1, 315, 454, 1, 218, 508, 1, 220, 638, 1, 112, 637, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 51, 1, 169, 194, 1], "image_id": 109595, "bbox": [1, 1, 348, 732], "category_id": 1, "id": 166032}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [268, 214, 1, 176, 188, 1, 300, 275, 1, 98, 236, 1, 327, 294, 1, 102, 312, 1, 218, 361, 1, 152, 377, 1, 259, 493, 1, 225, 486, 1, 243, 579, 1, 132, 462, 1, 240, 92, 1, 221, 172, 1], "image_id": 115634, "bbox": [79, 76, 282, 535], "category_id": 1, "id": 166050}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [628, 89, 1, 523, 140, 1, 674, 108, 1, 469, 216, 1, 658, 126, 1, 401, 266, 1, 644, 306, 1, 570, 314, 1, 562, 394, 1, 508, 407, 1, 561, 559, 1, 464, 509, 1, 547, 5, 1, 566, 87, 1], "image_id": 114105, "bbox": [314, 1, 390, 598], "category_id": 1, "id": 166073}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [538, 136, 1, 637, 152, 1, 513, 227, 1, 707, 264, 1, 429, 213, 1, 617, 268, 1, 640, 396, 1, 609, 396, 1, 634, 574, 1, 544, 564, 1, 843, 558, 1, 742, 521, 1, 520, 32, 1, 551, 115, 1], "image_id": 114934, "bbox": [343, 9, 588, 583], "category_id": 1, "id": 166087}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [84, 170, 1, 52, 171, 1, 102, 188, 1, 35, 192, 1, 115, 203, 1, 21, 208, 1, 77, 217, 1, 57, 217, 1, 82, 256, 1, 54, 254, 1, 90, 293, 1, 42, 295, 1, 69, 142, 1, 66, 164, 1], "image_id": 118286, "bbox": [4, 135, 109, 183], "category_id": 1, "id": 166121}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [420, 141, 1, 294, 128, 1, 419, 229, 1, 288, 207, 1, 406, 209, 1, 360, 192, 1, 364, 315, 1, 299, 311, 1, 370, 467, 1, 273, 427, 1, 377, 576, 1, 243, 552, 1, 347, 31, 1, 360, 114, 1], "image_id": 109975, "bbox": [258, 14, 192, 616], "category_id": 1, "id": 166127}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 103, 1, 372, 113, 1, 511, 99, 1, 335, 150, 1, 539, 104, 1, 303, 149, 1, 466, 289, 1, 456, 302, 1, 370, 350, 1, 535, 422, 1, 421, 470, 1, 614, 484, 1, 393, 47, 1, 408, 104, 1], "image_id": 117490, "bbox": [258, 25, 404, 541], "category_id": 1, "id": 166129}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [348, 277, 1, 570, 265, 1, 350, 462, 1, 618, 442, 1, 0, 0, 0, 518, 426, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 76, 1, 448, 197, 1], "image_id": 112629, "bbox": [302, 58, 349, 473], "category_id": 1, "id": 166131}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [446, 265, 1, 350, 245, 1, 444, 339, 1, 307, 322, 1, 420, 375, 1, 350, 380, 1, 411, 407, 1, 347, 405, 1, 419, 523, 1, 365, 525, 1, 424, 610, 1, 374, 602, 1, 418, 145, 1, 401, 228, 1], "image_id": 110156, "bbox": [285, 118, 180, 563], "category_id": 1, "id": 166134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [352, 150, 1, 345, 158, 1, 404, 140, 1, 427, 193, 1, 460, 132, 1, 462, 127, 1, 470, 295, 1, 469, 351, 1, 477, 198, 1, 576, 294, 1, 595, 250, 1, 696, 367, 1, 323, 61, 1, 338, 132, 1], "image_id": 113194, "bbox": [248, 37, 541, 369], "category_id": 1, "id": 166138}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [245, 383, 1, 239, 375, 1, 369, 520, 1, 240, 578, 1, 459, 409, 1, 396, 564, 1, 245, 750, 1, 273, 748, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 218, 1, 254, 331, 1], "image_id": 115023, "bbox": [135, 173, 393, 824], "category_id": 1, "id": 166145}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [259, 112, 1, 90, 168, 1, 384, 150, 1, 119, 281, 1, 448, 215, 1, 271, 288, 1, 275, 412, 1, 180, 426, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 25, 1, 183, 124, 1], "image_id": 114969, "bbox": [44, 1, 440, 598], "category_id": 1, "id": 166146}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [354, 196, 1, 255, 212, 1, 387, 262, 1, 266, 292, 1, 398, 319, 1, 335, 248, 1, 386, 349, 1, 332, 369, 1, 461, 383, 1, 412, 424, 1, 470, 468, 1, 404, 507, 1, 307, 90, 1, 307, 181, 1], "image_id": 117379, "bbox": [229, 77, 211, 348], "category_id": 1, "id": 166162}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [777, 210, 1, 614, 196, 1, 763, 344, 1, 599, 323, 1, 675, 420, 1, 627, 395, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 675, 74, 1, 697, 176, 1], "image_id": 118031, "bbox": [594, 2, 204, 461], "category_id": 1, "id": 166171}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [457, 465, 1, 370, 476, 1, 462, 574, 1, 380, 550, 1, 368, 613, 1, 351, 601, 1, 552, 565, 1, 461, 558, 1, 461, 618, 1, 363, 602, 1, 509, 790, 1, 346, 773, 1, 314, 412, 1, 392, 454, 1], "image_id": 118384, "bbox": [288, 365, 313, 476], "category_id": 1, "id": 166200}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [384, 394, 1, 272, 367, 1, 411, 545, 1, 167, 411, 1, 335, 658, 1, 197, 333, 1, 393, 643, 1, 327, 615, 1, 296, 782, 1, 158, 618, 1, 460, 685, 1, 313, 690, 1, 300, 222, 1, 316, 343, 1], "image_id": 115726, "bbox": [127, 194, 381, 606], "category_id": 1, "id": 166212}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [400, 312, 1, 266, 306, 1, 428, 418, 1, 240, 439, 1, 468, 346, 1, 261, 540, 1, 381, 542, 1, 312, 544, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 159, 1, 329, 263, 1], "image_id": 113270, "bbox": [208, 143, 301, 488], "category_id": 1, "id": 166238}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [498, 248, 1, 310, 237, 1, 511, 355, 1, 303, 365, 1, 509, 435, 1, 376, 394, 1, 458, 535, 1, 356, 538, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 49, 1, 413, 200, 1], "image_id": 111961, "bbox": [293, 31, 253, 605], "category_id": 1, "id": 166240}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [245, 300, 1, 178, 306, 1, 283, 323, 1, 171, 396, 1, 359, 290, 1, 180, 440, 1, 243, 500, 1, 198, 504, 1, 252, 629, 1, 191, 636, 1, 146, 585, 1, 100, 592, 1, 221, 199, 1, 214, 283, 1], "image_id": 114558, "bbox": [57, 181, 361, 472], "category_id": 1, "id": 166251}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [464, 192, 1, 355, 152, 1, 392, 286, 1, 314, 304, 1, 438, 273, 1, 449, 298, 1, 307, 342, 1, 228, 345, 1, 458, 337, 1, 365, 432, 1, 350, 481, 1, 170, 461, 1, 535, 94, 1, 436, 159, 1], "image_id": 111866, "bbox": [117, 49, 461, 525], "category_id": 1, "id": 166261}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [673, 323, 1, 501, 285, 1, 700, 435, 1, 414, 323, 1, 669, 420, 1, 334, 327, 1, 600, 498, 1, 523, 495, 1, 615, 669, 1, 575, 650, 1, 571, 793, 1, 537, 703, 1, 607, 165, 1, 591, 280, 1], "image_id": 114752, "bbox": [401, 154, 321, 696], "category_id": 1, "id": 166278}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 519, 1, 286, 513, 1, 430, 562, 1, 280, 566, 1, 473, 557, 1, 331, 579, 1, 360, 667, 1, 259, 665, 1, 383, 740, 1, 201, 727, 1, 383, 819, 1, 185, 800, 1, 357, 379, 1, 338, 499, 1], "image_id": 111325, "bbox": [149, 356, 383, 515], "category_id": 1, "id": 166281}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [324, 300, 1, 255, 312, 1, 362, 403, 1, 244, 428, 1, 455, 445, 1, 275, 521, 1, 289, 534, 1, 255, 535, 1, 280, 689, 1, 252, 690, 1, 267, 810, 1, 249, 808, 1, 320, 172, 1, 288, 273, 1], "image_id": 114728, "bbox": [177, 144, 338, 612], "category_id": 1, "id": 166293}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [388, 354, 1, 245, 320, 1, 405, 480, 1, 151, 359, 1, 371, 588, 1, 56, 289, 1, 271, 607, 1, 200, 581, 1, 263, 760, 1, 149, 718, 1, 370, 884, 1, 250, 826, 1, 338, 215, 1, 322, 303, 1], "image_id": 112410, "bbox": [3, 197, 428, 774], "category_id": 1, "id": 166303}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [287, 53, 1, 199, 62, 1, 287, 127, 1, 181, 112, 1, 223, 134, 1, 144, 127, 1, 273, 183, 1, 215, 177, 1, 210, 237, 1, 155, 222, 1, 241, 308, 1, 181, 300, 1, 0, 0, 0, 239, 46, 1], "image_id": 116481, "bbox": [80, 0, 247, 162], "category_id": 1, "id": 166314}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [596, 362, 1, 637, 364, 1, 540, 469, 1, 553, 434, 1, 486, 423, 1, 529, 389, 1, 489, 523, 1, 541, 515, 1, 458, 420, 1, 458, 417, 1, 382, 430, 1, 402, 489, 1, 641, 249, 1, 610, 322, 1], "image_id": 113136, "bbox": [343, 183, 371, 422], "category_id": 1, "id": 166325}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [296, 246, 1, 144, 326, 1, 459, 240, 1, 105, 400, 1, 584, 280, 1, 63, 439, 1, 383, 434, 1, 287, 477, 1, 318, 521, 1, 201, 707, 1, 304, 735, 1, 341, 738, 1, 126, 215, 1, 205, 271, 1], "image_id": 117189, "bbox": [12, 173, 655, 675], "category_id": 1, "id": 166331}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [330, 215, 1, 187, 207, 1, 347, 329, 1, 158, 334, 1, 361, 415, 1, 124, 437, 1, 292, 438, 1, 210, 439, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 76, 1, 262, 181, 1], "image_id": 118354, "bbox": [88, 34, 308, 558], "category_id": 1, "id": 166334}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [344, 38, 1, 386, 38, 1, 339, 62, 1, 399, 67, 1, 337, 89, 1, 375, 65, 1, 355, 100, 1, 378, 99, 1, 361, 141, 1, 381, 142, 1, 365, 174, 1, 380, 169, 1, 366, 7, 1, 365, 29, 1], "image_id": 110807, "bbox": [330, 0, 75, 197], "category_id": 1, "id": 166343}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [640, 125, 1, 575, 123, 1, 656, 170, 1, 558, 159, 1, 636, 199, 1, 571, 171, 1, 618, 222, 1, 581, 219, 1, 623, 284, 1, 576, 285, 1, 621, 353, 1, 567, 353, 1, 601, 65, 1, 606, 106, 1], "image_id": 119943, "bbox": [527, 48, 142, 325], "category_id": 1, "id": 166354}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [249, 236, 1, 97, 222, 1, 261, 337, 1, 52, 352, 1, 298, 285, 1, 77, 473, 1, 213, 518, 1, 111, 522, 1, 247, 681, 1, 100, 677, 1, 0, 0, 0, 0, 0, 0, 206, 89, 1, 167, 189, 1], "image_id": 111160, "bbox": [20, 41, 306, 654], "category_id": 1, "id": 166355}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [290, 237, 1, 202, 251, 1, 308, 310, 1, 186, 323, 1, 264, 350, 1, 208, 357, 1, 277, 396, 1, 234, 400, 1, 300, 511, 1, 238, 511, 1, 281, 612, 1, 244, 632, 1, 230, 144, 1, 243, 221, 1], "image_id": 115059, "bbox": [163, 123, 174, 571], "category_id": 1, "id": 166372}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [558, 225, 1, 489, 217, 1, 531, 335, 1, 468, 255, 1, 456, 393, 1, 420, 265, 1, 535, 461, 1, 472, 459, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 504, 83, 1, 511, 182, 1], "image_id": 110511, "bbox": [390, 49, 218, 540], "category_id": 1, "id": 166375}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [768, 189, 1, 792, 184, 1, 764, 287, 1, 812, 286, 1, 708, 235, 1, 833, 385, 1, 783, 378, 1, 784, 376, 1, 788, 484, 1, 719, 497, 1, 894, 637, 1, 697, 645, 1, 710, 40, 1, 724, 130, 1], "image_id": 116598, "bbox": [691, 59, 243, 638], "category_id": 1, "id": 166377}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [236, 356, 1, 133, 400, 1, 259, 427, 1, 85, 429, 1, 212, 430, 1, 99, 384, 1, 256, 522, 1, 216, 533, 1, 274, 605, 1, 241, 621, 1, 288, 689, 1, 259, 694, 1, 186, 279, 1, 186, 355, 1], "image_id": 116157, "bbox": [66, 243, 258, 516], "category_id": 1, "id": 166380}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [354, 320, 1, 462, 350, 1, 307, 411, 1, 480, 445, 1, 250, 465, 1, 473, 525, 1, 358, 541, 1, 416, 556, 1, 316, 662, 1, 388, 666, 1, 371, 748, 1, 367, 812, 1, 388, 216, 1, 392, 297, 1], "image_id": 111313, "bbox": [260, 201, 242, 638], "category_id": 1, "id": 166391}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [486, 245, 1, 353, 168, 1, 390, 312, 1, 304, 243, 1, 289, 280, 1, 343, 211, 1, 415, 469, 1, 320, 458, 1, 387, 618, 1, 234, 637, 1, 499, 782, 1, 335, 780, 1, 463, 49, 1, 428, 172, 1], "image_id": 114988, "bbox": [220, 31, 364, 851], "category_id": 1, "id": 166407}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [606, 233, 1, 438, 243, 1, 671, 268, 1, 376, 346, 1, 721, 361, 1, 414, 390, 1, 511, 457, 1, 443, 448, 1, 414, 572, 1, 420, 586, 1, 343, 714, 1, 411, 678, 1, 515, 116, 1, 515, 215, 1], "image_id": 113080, "bbox": [266, 90, 465, 692], "category_id": 1, "id": 166423}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [470, 194, 1, 336, 192, 1, 487, 293, 1, 296, 272, 1, 441, 310, 1, 365, 296, 1, 427, 398, 1, 363, 395, 1, 425, 535, 1, 364, 538, 1, 0, 0, 0, 0, 0, 0, 395, 104, 1, 402, 170, 1], "image_id": 119650, "bbox": [267, 87, 221, 443], "category_id": 1, "id": 166435}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [437, 234, 1, 312, 245, 1, 462, 348, 1, 273, 316, 1, 367, 379, 1, 217, 344, 1, 403, 459, 1, 336, 459, 1, 398, 605, 1, 347, 608, 1, 397, 759, 1, 360, 763, 1, 347, 86, 1, 357, 196, 1], "image_id": 110960, "bbox": [185, 75, 309, 759], "category_id": 1, "id": 166436}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [536, 215, 1, 469, 220, 1, 551, 268, 1, 463, 277, 1, 565, 301, 1, 462, 321, 1, 543, 295, 1, 499, 302, 1, 595, 334, 1, 523, 316, 1, 585, 417, 1, 529, 416, 1, 516, 98, 1, 549, 170, 1], "image_id": 112415, "bbox": [436, 116, 194, 343], "category_id": 1, "id": 166454}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 235, 1, 322, 242, 1, 386, 357, 1, 375, 336, 1, 279, 331, 1, 319, 427, 1, 376, 486, 1, 321, 484, 1, 420, 638, 1, 250, 624, 1, 536, 610, 1, 215, 809, 1, 330, 81, 1, 319, 193, 1], "image_id": 110213, "bbox": [122, 41, 479, 829], "category_id": 1, "id": 166455}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [842, 123, 1, 787, 112, 1, 752, 259, 1, 739, 158, 1, 788, 175, 1, 691, 178, 1, 797, 366, 1, 748, 268, 1, 626, 375, 1, 573, 282, 1, 638, 528, 1, 586, 441, 1, 0, 0, 0, 816, 81, 1], "image_id": 112973, "bbox": [603, 1, 345, 333], "category_id": 1, "id": 166467}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [649, 156, 1, 553, 165, 1, 677, 229, 1, 551, 229, 1, 690, 284, 1, 536, 286, 1, 629, 288, 1, 586, 285, 1, 627, 383, 1, 578, 345, 1, 627, 443, 1, 598, 393, 1, 582, 77, 1, 595, 140, 1], "image_id": 114094, "bbox": [513, 38, 195, 445], "category_id": 1, "id": 166480}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 256, 1, 327, 152, 1, 296, 321, 1, 240, 189, 1, 210, 230, 1, 226, 190, 1, 397, 419, 1, 348, 406, 1, 273, 540, 1, 237, 520, 1, 394, 706, 1, 329, 664, 1, 410, 59, 1, 388, 166, 1], "image_id": 117691, "bbox": [155, 19, 336, 805], "category_id": 1, "id": 166486}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [287, 181, 1, 327, 183, 1, 339, 256, 1, 406, 223, 1, 418, 271, 1, 460, 177, 1, 294, 367, 1, 318, 367, 1, 285, 477, 1, 333, 474, 1, 262, 598, 1, 327, 602, 1, 307, 92, 1, 307, 156, 1], "image_id": 117767, "bbox": [229, 75, 264, 566], "category_id": 1, "id": 166496}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [424, 400, 1, 329, 365, 1, 451, 522, 1, 314, 439, 1, 339, 579, 1, 304, 498, 1, 431, 566, 1, 353, 549, 1, 400, 767, 1, 353, 647, 1, 0, 0, 0, 361, 704, 1, 308, 278, 1, 367, 353, 1], "image_id": 116501, "bbox": [253, 228, 258, 571], "category_id": 1, "id": 166498}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [784, 294, 1, 655, 294, 1, 795, 413, 1, 581, 375, 1, 801, 414, 1, 637, 441, 1, 706, 520, 1, 671, 513, 1, 646, 673, 1, 748, 660, 1, 571, 816, 1, 747, 840, 1, 738, 173, 1, 727, 268, 1], "image_id": 117233, "bbox": [512, 144, 338, 751], "category_id": 1, "id": 166504}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [537, 294, 1, 325, 296, 1, 590, 407, 1, 282, 448, 1, 487, 316, 1, 357, 538, 1, 498, 610, 1, 405, 616, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 113, 1, 433, 253, 1], "image_id": 114144, "bbox": [238, 97, 379, 614], "category_id": 1, "id": 166511}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [597, 279, 1, 435, 273, 1, 625, 387, 1, 412, 374, 1, 668, 430, 1, 359, 451, 1, 546, 481, 1, 467, 481, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 512, 134, 1, 517, 241, 1], "image_id": 114221, "bbox": [287, 105, 456, 496], "category_id": 1, "id": 166515}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [575, 178, 1, 467, 174, 1, 656, 145, 1, 425, 231, 1, 715, 112, 1, 389, 275, 1, 515, 374, 1, 468, 371, 1, 534, 477, 1, 473, 491, 1, 533, 559, 1, 479, 564, 1, 514, 92, 1, 518, 163, 1], "image_id": 117391, "bbox": [419, 55, 345, 565], "category_id": 1, "id": 166522}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [376, 227, 1, 397, 230, 1, 373, 247, 1, 403, 252, 1, 389, 250, 1, 410, 262, 1, 376, 269, 1, 390, 270, 1, 387, 293, 1, 414, 294, 1, 382, 313, 1, 430, 316, 1, 386, 209, 1, 387, 222, 1], "image_id": 113412, "bbox": [366, 201, 77, 127], "category_id": 1, "id": 166527}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [618, 148, 1, 599, 155, 1, 603, 175, 1, 632, 187, 1, 608, 201, 1, 670, 194, 1, 594, 246, 1, 574, 244, 1, 596, 300, 1, 576, 299, 1, 596, 353, 1, 577, 352, 1, 624, 98, 1, 610, 136, 1], "image_id": 113028, "bbox": [550, 81, 166, 162], "category_id": 1, "id": 166558}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [81, 514, 1, 19, 514, 1, 100, 555, 1, 0, 0, 0, 88, 586, 1, 9, 569, 1, 65, 616, 1, 41, 617, 1, 59, 681, 1, 44, 667, 1, 58, 733, 1, 50, 731, 1, 49, 464, 1, 49, 504, 1], "image_id": 119554, "bbox": [0, 454, 96, 313], "category_id": 1, "id": 166561}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [419, 439, 1, 320, 502, 1, 477, 502, 1, 265, 548, 1, 536, 555, 1, 188, 552, 1, 477, 466, 1, 436, 516, 1, 521, 415, 1, 510, 534, 1, 602, 475, 1, 623, 541, 1, 321, 387, 1, 363, 450, 1], "image_id": 114375, "bbox": [117, 364, 561, 220], "category_id": 1, "id": 166566}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [128, 168, 1, 182, 174, 1, 76, 218, 1, 250, 212, 1, 144, 272, 1, 312, 137, 1, 223, 356, 1, 203, 377, 1, 353, 461, 1, 314, 443, 1, 441, 605, 1, 285, 611, 1, 204, 64, 1, 172, 142, 1], "image_id": 114713, "bbox": [49, 40, 490, 613], "category_id": 1, "id": 166579}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [351, 222, 1, 229, 241, 1, 396, 281, 1, 204, 294, 1, 385, 355, 1, 159, 329, 1, 348, 389, 1, 286, 391, 1, 378, 502, 1, 286, 503, 1, 391, 614, 1, 299, 606, 1, 254, 130, 1, 277, 207, 1], "image_id": 110455, "bbox": [109, 124, 302, 530], "category_id": 1, "id": 166595}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [382, 220, 1, 259, 223, 1, 397, 314, 1, 254, 327, 1, 307, 305, 1, 347, 263, 1, 385, 435, 1, 301, 445, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 326, 90, 1, 320, 196, 1], "image_id": 112629, "bbox": [231, 72, 169, 402], "category_id": 1, "id": 166622}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 340, 1, 339, 287, 1, 454, 460, 1, 293, 351, 1, 374, 406, 1, 312, 394, 1, 366, 535, 1, 312, 525, 1, 224, 597, 1, 312, 731, 1, 294, 767, 1, 330, 929, 1, 423, 179, 1, 385, 294, 1], "image_id": 115138, "bbox": [174, 152, 308, 797], "category_id": 1, "id": 166638}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [220, 227, 1, 184, 232, 1, 232, 398, 1, 204, 400, 1, 281, 557, 1, 261, 581, 1, 267, 589, 1, 239, 591, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 36, 1, 223, 176, 1], "image_id": 111540, "bbox": [127, 23, 231, 654], "category_id": 1, "id": 166654}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [458, 329, 1, 354, 325, 1, 479, 417, 1, 335, 410, 1, 475, 472, 1, 326, 473, 1, 430, 480, 1, 377, 476, 1, 426, 591, 1, 362, 577, 1, 427, 679, 1, 393, 656, 1, 399, 232, 1, 403, 302, 1], "image_id": 116338, "bbox": [294, 207, 215, 550], "category_id": 1, "id": 166666}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [212, 197, 1, 260, 205, 1, 163, 291, 1, 318, 309, 1, 96, 272, 1, 281, 374, 1, 231, 422, 1, 257, 420, 1, 236, 604, 1, 204, 579, 1, 256, 744, 1, 286, 715, 1, 208, 86, 1, 223, 171, 1], "image_id": 117351, "bbox": [175, 35, 172, 758], "category_id": 1, "id": 166677}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [336, 241, 1, 187, 229, 1, 378, 386, 1, 149, 357, 1, 405, 455, 1, 138, 467, 1, 293, 494, 1, 208, 495, 1, 299, 677, 1, 203, 667, 1, 311, 804, 1, 201, 825, 1, 279, 90, 1, 267, 215, 1], "image_id": 110886, "bbox": [107, 70, 277, 856], "category_id": 1, "id": 166687}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 193, 19, 1, 0, 0, 0, 228, 25, 1, 0, 0, 0, 238, 9, 1, 221, 90, 1, 212, 91, 1, 220, 139, 1, 211, 140, 1, 222, 188, 1, 209, 189, 1, 0, 0, 0, 197, 7, 1], "image_id": 115738, "bbox": [167, 0, 93, 199], "category_id": 1, "id": 166705}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [506, 363, 1, 397, 275, 1, 529, 475, 1, 410, 432, 1, 531, 575, 1, 355, 519, 1, 460, 575, 1, 390, 585, 1, 510, 693, 1, 412, 718, 1, 570, 816, 1, 433, 821, 1, 520, 132, 1, 440, 286, 1], "image_id": 117042, "bbox": [304, 73, 329, 829], "category_id": 1, "id": 166711}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [95, 100, 1, 0, 0, 0, 106, 217, 1, 8, 251, 1, 103, 315, 1, 45, 351, 1, 67, 236, 1, 23, 237, 1, 76, 406, 1, 27, 410, 1, 76, 510, 1, 35, 522, 1, 34, 81, 1, 31, 90, 1], "image_id": 115618, "bbox": [0, 24, 139, 396], "category_id": 1, "id": 166716}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [490, 508, 1, 334, 456, 1, 569, 590, 1, 295, 488, 1, 655, 675, 1, 254, 490, 1, 499, 639, 1, 402, 628, 1, 596, 777, 1, 361, 740, 1, 683, 883, 1, 310, 900, 1, 394, 356, 1, 403, 452, 1], "image_id": 119951, "bbox": [219, 336, 526, 611], "category_id": 1, "id": 166730}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [690, 267, 1, 758, 239, 1, 736, 357, 1, 802, 293, 1, 757, 448, 1, 736, 313, 1, 688, 426, 1, 721, 428, 1, 560, 458, 1, 764, 517, 1, 457, 573, 1, 870, 597, 1, 682, 145, 1, 706, 217, 1], "image_id": 114119, "bbox": [386, 118, 527, 518], "category_id": 1, "id": 166748}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 98, 1, 116, 113, 1, 219, 169, 1, 98, 193, 1, 227, 231, 1, 67, 244, 1, 192, 286, 1, 133, 288, 1, 195, 408, 1, 126, 403, 1, 198, 500, 1, 117, 488, 1, 0, 0, 0, 153, 82, 1], "image_id": 118349, "bbox": [29, 1, 215, 555], "category_id": 1, "id": 166756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [523, 219, 1, 353, 284, 1, 561, 220, 1, 363, 420, 1, 606, 192, 1, 382, 466, 1, 543, 523, 1, 437, 525, 1, 561, 709, 1, 441, 727, 1, 578, 890, 1, 432, 892, 1, 423, 103, 1, 423, 221, 1], "image_id": 112245, "bbox": [326, 76, 352, 859], "category_id": 1, "id": 166760}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [520, 220, 1, 268, 223, 1, 436, 436, 1, 223, 399, 1, 357, 608, 1, 155, 552, 1, 535, 441, 1, 401, 470, 1, 238, 576, 1, 371, 625, 1, 424, 581, 1, 508, 569, 1, 388, 70, 1, 388, 192, 1], "image_id": 118107, "bbox": [36, 15, 583, 670], "category_id": 1, "id": 166770}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [381, 191, 1, 410, 225, 1, 331, 216, 1, 357, 305, 1, 346, 298, 1, 329, 381, 1, 372, 350, 1, 376, 363, 1, 500, 339, 1, 468, 320, 1, 509, 434, 1, 476, 445, 1, 371, 75, 1, 412, 158, 1], "image_id": 110167, "bbox": [270, 47, 310, 462], "category_id": 1, "id": 166798}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [719, 279, 1, 654, 288, 1, 763, 327, 1, 667, 378, 1, 876, 355, 1, 722, 453, 1, 557, 491, 1, 534, 479, 1, 487, 533, 1, 486, 637, 1, 369, 579, 1, 366, 665, 1, 762, 167, 1, 692, 254, 1], "image_id": 119797, "bbox": [317, 121, 644, 612], "category_id": 1, "id": 166799}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [309, 200, 1, 325, 262, 1, 310, 317, 1, 415, 366, 1, 313, 418, 1, 542, 462, 1, 312, 399, 1, 205, 447, 1, 403, 440, 1, 326, 488, 1, 409, 590, 1, 292, 625, 1, 405, 62, 1, 359, 197, 1], "image_id": 118364, "bbox": [116, 36, 554, 520], "category_id": 1, "id": 166805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [539, 412, 1, 679, 418, 1, 549, 304, 1, 685, 296, 1, 546, 184, 1, 687, 185, 1, 622, 316, 1, 735, 334, 1, 593, 310, 1, 823, 328, 1, 577, 417, 1, 820, 456, 1, 581, 447, 1, 606, 409, 1], "image_id": 116113, "bbox": [525, 144, 335, 352], "category_id": 1, "id": 166806}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [421, 163, 1, 326, 174, 1, 467, 249, 1, 304, 233, 1, 421, 290, 1, 258, 276, 1, 420, 347, 1, 361, 347, 1, 411, 453, 1, 352, 438, 1, 0, 0, 0, 341, 523, 1, 349, 76, 1, 365, 139, 1], "image_id": 113914, "bbox": [241, 45, 246, 418], "category_id": 1, "id": 166810}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 67, 1, 298, 112, 1, 176, 104, 1, 252, 125, 1, 226, 104, 1, 238, 80, 1, 193, 238, 1, 222, 259, 1, 144, 214, 1, 143, 276, 1, 94, 310, 1, 154, 375, 1, 311, 35, 1, 285, 75, 1], "image_id": 115732, "bbox": [37, 23, 301, 393], "category_id": 1, "id": 166811}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [413, 92, 1, 354, 88, 1, 408, 130, 1, 348, 133, 1, 401, 168, 1, 346, 172, 1, 366, 120, 1, 335, 121, 1, 391, 129, 1, 331, 104, 1, 366, 151, 1, 333, 156, 1, 407, 39, 1, 389, 77, 1], "image_id": 117100, "bbox": [315, 18, 121, 179], "category_id": 1, "id": 166817}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [426, 153, 1, 329, 141, 1, 452, 217, 1, 309, 196, 1, 411, 256, 1, 274, 235, 1, 396, 295, 1, 345, 292, 1, 393, 402, 1, 346, 400, 1, 448, 454, 1, 374, 506, 1, 375, 49, 1, 375, 122, 1], "image_id": 119639, "bbox": [242, 34, 234, 502], "category_id": 1, "id": 166825}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [528, 132, 1, 557, 102, 1, 467, 184, 1, 478, 165, 1, 390, 193, 1, 403, 186, 1, 564, 271, 1, 581, 270, 1, 570, 425, 1, 465, 305, 1, 628, 550, 1, 394, 423, 1, 460, 57, 1, 516, 100, 1], "image_id": 117716, "bbox": [333, 27, 331, 575], "category_id": 1, "id": 166838}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [611, 185, 1, 570, 139, 1, 542, 265, 1, 496, 146, 1, 436, 257, 1, 411, 131, 1, 579, 373, 1, 608, 371, 1, 436, 420, 1, 625, 522, 1, 287, 506, 1, 763, 644, 1, 599, 49, 1, 617, 136, 1], "image_id": 114793, "bbox": [201, 32, 618, 693], "category_id": 1, "id": 166849}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [427, 192, 1, 300, 174, 1, 478, 259, 1, 272, 244, 1, 491, 304, 1, 240, 302, 1, 432, 320, 1, 335, 334, 1, 475, 401, 1, 325, 348, 1, 481, 539, 1, 375, 491, 1, 373, 55, 1, 369, 167, 1], "image_id": 111410, "bbox": [189, 37, 340, 567], "category_id": 1, "id": 166851}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 140, 1, 245, 133, 1, 315, 171, 1, 176, 154, 1, 344, 184, 1, 85, 165, 1, 294, 346, 1, 350, 345, 1, 225, 478, 1, 462, 439, 1, 119, 568, 1, 585, 547, 1, 300, 35, 1, 271, 109, 1], "image_id": 119843, "bbox": [0, 5, 666, 620], "category_id": 1, "id": 166861}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [572, 296, 1, 506, 310, 1, 578, 348, 1, 468, 343, 1, 536, 309, 1, 492, 302, 1, 571, 458, 1, 525, 464, 1, 568, 578, 1, 537, 584, 1, 569, 693, 1, 557, 699, 1, 523, 224, 1, 533, 287, 1], "image_id": 115663, "bbox": [450, 215, 170, 420], "category_id": 1, "id": 166874}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 305, 1, 291, 302, 1, 429, 420, 1, 264, 420, 1, 363, 383, 1, 291, 403, 1, 371, 491, 1, 314, 491, 1, 364, 672, 1, 314, 669, 1, 357, 834, 1, 318, 831, 1, 337, 156, 1, 348, 262, 1], "image_id": 115925, "bbox": [215, 132, 262, 795], "category_id": 1, "id": 166876}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [524, 312, 1, 311, 313, 1, 572, 487, 1, 308, 514, 1, 683, 511, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, 95, 1, 429, 251, 1], "image_id": 111930, "bbox": [251, 75, 303, 600], "category_id": 1, "id": 166878}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [720, 785, 1, 873, 733, 1, 596, 660, 1, 807, 574, 1, 544, 502, 1, 713, 478, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 739, 620, 1, 786, 747, 1], "image_id": 110718, "bbox": [455, 402, 467, 580], "category_id": 1, "id": 166882}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [615, 347, 1, 496, 301, 1, 614, 439, 1, 452, 340, 1, 595, 436, 1, 506, 326, 1, 554, 503, 1, 492, 499, 1, 583, 628, 1, 456, 591, 1, 0, 0, 0, 526, 549, 1, 566, 228, 1, 557, 302, 1], "image_id": 114487, "bbox": [436, 217, 195, 417], "category_id": 1, "id": 166897}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 580, 564, 1, 0, 0, 0, 505, 598, 1, 0, 0, 0, 445, 539, 1, 668, 772, 1, 606, 774, 1, 672, 918, 1, 576, 926, 1, 0, 0, 0, 0, 0, 0, 620, 446, 1, 620, 535, 1], "image_id": 117697, "bbox": [380, 439, 299, 560], "category_id": 1, "id": 166905}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [349, 416, 1, 157, 288, 1, 279, 559, 1, 63, 442, 1, 132, 440, 1, 204, 564, 1, 171, 803, 1, 65, 747, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 135, 1, 258, 322, 1], "image_id": 109513, "bbox": [1, 92, 407, 907], "category_id": 1, "id": 166908}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 510, 223, 1, 0, 0, 0, 469, 350, 1, 0, 0, 0, 561, 337, 1, 644, 521, 1, 552, 520, 1, 639, 728, 1, 558, 693, 1, 624, 904, 1, 556, 814, 1, 609, 40, 1, 622, 177, 1], "image_id": 115014, "bbox": [434, 3, 231, 969], "category_id": 1, "id": 166920}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [475, 348, 1, 349, 350, 1, 408, 449, 1, 278, 444, 1, 390, 541, 1, 244, 539, 1, 426, 583, 1, 341, 583, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 222, 1, 430, 315, 1], "image_id": 112800, "bbox": [215, 179, 322, 452], "category_id": 1, "id": 166922}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [421, 303, 1, 294, 221, 1, 451, 390, 1, 139, 238, 1, 521, 465, 1, 217, 338, 1, 260, 484, 1, 153, 469, 1, 320, 602, 1, 205, 704, 1, 371, 723, 1, 309, 850, 1, 427, 155, 1, 368, 243, 1], "image_id": 114988, "bbox": [99, 79, 475, 826], "category_id": 1, "id": 166945}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [519, 369, 1, 242, 297, 1, 445, 591, 1, 91, 461, 1, 214, 643, 1, 183, 525, 1, 383, 829, 1, 233, 827, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 422, 68, 1, 398, 284, 1], "image_id": 110550, "bbox": [53, 17, 505, 942], "category_id": 1, "id": 166951}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [841, 318, 1, 870, 288, 1, 787, 492, 1, 781, 466, 1, 697, 523, 1, 695, 517, 1, 786, 574, 1, 763, 518, 1, 0, 0, 0, 622, 538, 1, 0, 0, 0, 0, 0, 0, 802, 90, 1, 833, 235, 1], "image_id": 118755, "bbox": [522, 59, 426, 570], "category_id": 1, "id": 166956}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [173, 154, 1, 227, 143, 1, 274, 295, 1, 250, 269, 1, 385, 327, 1, 311, 251, 1, 248, 371, 1, 269, 379, 1, 434, 349, 1, 453, 345, 1, 525, 511, 1, 527, 512, 1, 210, 4, 1, 206, 108, 1], "image_id": 117190, "bbox": [108, 2, 503, 597], "category_id": 1, "id": 166966}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [525, 246, 1, 424, 243, 1, 527, 323, 1, 425, 322, 1, 534, 386, 1, 423, 385, 1, 509, 386, 1, 451, 386, 1, 503, 489, 1, 464, 501, 1, 504, 566, 1, 481, 536, 1, 459, 133, 1, 470, 218, 1], "image_id": 115143, "bbox": [394, 97, 172, 534], "category_id": 1, "id": 166976}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [452, 171, 1, 329, 181, 1, 476, 236, 1, 348, 279, 1, 459, 290, 1, 448, 280, 1, 379, 383, 1, 303, 387, 1, 524, 335, 1, 415, 294, 1, 456, 500, 1, 374, 503, 1, 436, 62, 1, 409, 153, 1], "image_id": 115376, "bbox": [258, 36, 292, 519], "category_id": 1, "id": 166985}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [46, 483, 1, 0, 0, 0, 48, 603, 1, 0, 0, 0, 129, 581, 1, 0, 0, 0, 202, 605, 1, 195, 515, 1, 387, 540, 1, 346, 495, 1, 369, 589, 1, 498, 482, 1, 12, 363, 1, 12, 456, 1], "image_id": 116134, "bbox": [0, 333, 600, 306], "category_id": 1, "id": 166991}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [517, 180, 1, 446, 141, 1, 509, 277, 1, 463, 244, 1, 442, 328, 1, 431, 319, 1, 534, 330, 1, 458, 322, 1, 612, 434, 1, 348, 409, 1, 740, 517, 1, 341, 533, 1, 463, 36, 1, 479, 131, 1], "image_id": 111871, "bbox": [254, 14, 561, 577], "category_id": 1, "id": 167011}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [260, 215, 1, 242, 208, 1, 265, 267, 1, 247, 268, 1, 287, 235, 1, 274, 300, 1, 248, 331, 1, 229, 333, 1, 251, 419, 1, 236, 422, 1, 249, 496, 1, 232, 497, 1, 268, 143, 1, 252, 191, 1], "image_id": 115005, "bbox": [195, 130, 117, 194], "category_id": 1, "id": 167014}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 179, 1, 106, 187, 1, 250, 285, 1, 86, 297, 1, 270, 356, 1, 92, 391, 1, 223, 368, 1, 149, 378, 1, 248, 508, 1, 173, 530, 1, 250, 652, 1, 193, 674, 1, 172, 63, 1, 162, 160, 1], "image_id": 116095, "bbox": [70, 31, 240, 711], "category_id": 1, "id": 167019}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 162, 1, 472, 166, 1, 518, 177, 1, 527, 240, 1, 506, 121, 1, 571, 297, 1, 381, 470, 1, 422, 468, 1, 268, 585, 1, 446, 548, 1, 194, 732, 1, 586, 474, 1, 368, 46, 1, 423, 140, 1], "image_id": 111985, "bbox": [83, 16, 636, 756], "category_id": 1, "id": 167020}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [276, 236, 1, 232, 238, 1, 267, 316, 1, 285, 322, 1, 294, 389, 1, 348, 354, 1, 259, 400, 1, 230, 403, 1, 330, 438, 1, 317, 415, 1, 204, 478, 1, 228, 526, 1, 276, 110, 1, 257, 199, 1], "image_id": 115789, "bbox": [139, 92, 263, 496], "category_id": 1, "id": 167031}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [892, 250, 1, 788, 196, 1, 914, 333, 1, 740, 239, 1, 917, 397, 1, 648, 234, 1, 822, 415, 1, 748, 415, 1, 831, 480, 1, 703, 525, 1, 860, 605, 1, 698, 605, 1, 828, 111, 1, 841, 206, 1], "image_id": 114018, "bbox": [597, 76, 355, 577], "category_id": 1, "id": 167045}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [492, 291, 1, 318, 310, 1, 552, 267, 1, 218, 388, 1, 544, 379, 1, 248, 474, 1, 418, 603, 1, 313, 589, 1, 566, 691, 1, 396, 653, 1, 540, 917, 1, 388, 855, 1, 428, 238, 1, 412, 298, 1], "image_id": 119124, "bbox": [185, 198, 471, 778], "category_id": 1, "id": 167046}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [282, 106, 1, 133, 98, 1, 400, 175, 1, 67, 226, 1, 481, 189, 1, 151, 240, 1, 216, 343, 1, 119, 347, 1, 228, 548, 1, 144, 537, 1, 165, 565, 1, 196, 680, 1, 219, 45, 1, 204, 103, 1], "image_id": 113500, "bbox": [38, 6, 526, 668], "category_id": 1, "id": 167056}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 898, 49, 1, 0, 0, 0, 904, 153, 1, 0, 0, 0, 813, 106, 1, 722, 99, 1, 785, 303, 1, 703, 307, 1, 731, 465, 1, 751, 462, 1, 0, 0, 0, 0, 0, 0], "image_id": 114322, "bbox": [472, 0, 436, 607], "category_id": 1, "id": 167062}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [592, 239, 1, 497, 248, 1, 552, 286, 1, 453, 263, 1, 495, 277, 1, 405, 253, 1, 600, 395, 1, 530, 393, 1, 610, 507, 1, 529, 514, 1, 612, 613, 1, 520, 610, 1, 520, 171, 1, 536, 232, 1], "image_id": 110753, "bbox": [465, 106, 215, 509], "category_id": 1, "id": 167085}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [341, 167, 1, 133, 261, 1, 509, 359, 1, 347, 421, 1, 468, 164, 1, 239, 216, 1, 227, 542, 1, 113, 546, 1, 396, 280, 1, 231, 403, 1, 379, 510, 1, 0, 0, 0, 257, 9, 1, 257, 162, 1], "image_id": 110431, "bbox": [24, 0, 518, 598], "category_id": 1, "id": 167091}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [761, 337, 1, 665, 317, 1, 839, 309, 1, 649, 247, 1, 900, 251, 1, 655, 159, 1, 678, 510, 1, 623, 482, 1, 665, 557, 1, 598, 522, 1, 654, 603, 1, 586, 546, 1, 732, 257, 1, 713, 323, 1], "image_id": 114487, "bbox": [586, 73, 345, 561], "category_id": 1, "id": 167097}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [635, 201, 1, 526, 209, 1, 648, 287, 1, 487, 259, 1, 625, 346, 1, 437, 253, 1, 604, 357, 1, 560, 359, 1, 606, 479, 1, 563, 479, 1, 606, 571, 1, 567, 571, 1, 563, 93, 1, 574, 178, 1], "image_id": 119416, "bbox": [422, 71, 248, 561], "category_id": 1, "id": 167111}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [614, 117, 1, 532, 128, 1, 584, 205, 1, 500, 184, 1, 525, 145, 1, 447, 236, 1, 616, 309, 1, 550, 300, 1, 636, 450, 1, 473, 392, 1, 704, 534, 1, 546, 478, 1, 567, 28, 1, 575, 99, 1], "image_id": 117490, "bbox": [401, 14, 330, 573], "category_id": 1, "id": 167135}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [128, 243, 1, 279, 266, 1, 206, 459, 1, 329, 525, 1, 299, 501, 1, 483, 463, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 21, 1, 228, 194, 1], "image_id": 111311, "bbox": [81, 1, 497, 748], "category_id": 1, "id": 167146}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [482, 228, 1, 387, 220, 1, 522, 321, 1, 337, 136, 1, 564, 343, 1, 274, 38, 1, 498, 443, 1, 431, 446, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 114, 1, 431, 201, 1], "image_id": 115710, "bbox": [180, 0, 407, 537], "category_id": 1, "id": 167161}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [255, 189, 1, 167, 187, 1, 269, 275, 1, 144, 267, 1, 292, 352, 1, 122, 343, 1, 224, 337, 1, 179, 336, 1, 218, 448, 1, 170, 451, 1, 214, 549, 1, 184, 513, 1, 213, 100, 1, 209, 170, 1], "image_id": 110330, "bbox": [91, 81, 187, 514], "category_id": 1, "id": 167165}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 152, 1, 239, 170, 1, 460, 219, 1, 282, 266, 1, 513, 257, 1, 361, 217, 1, 350, 354, 1, 266, 360, 1, 276, 455, 1, 233, 530, 1, 270, 587, 1, 227, 621, 1, 285, 56, 1, 290, 151, 1], "image_id": 119409, "bbox": [118, 33, 313, 628], "category_id": 1, "id": 167174}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [253, 282, 1, 56, 267, 1, 227, 403, 1, 51, 421, 1, 170, 497, 1, 122, 527, 1, 210, 553, 1, 112, 554, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 85, 1, 161, 243, 1], "image_id": 109638, "bbox": [16, 57, 260, 609], "category_id": 1, "id": 167177}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 271, 1, 155, 238, 1, 343, 416, 1, 260, 338, 1, 389, 317, 1, 337, 247, 1, 279, 530, 1, 195, 538, 1, 312, 741, 1, 187, 730, 1, 308, 879, 1, 187, 863, 1, 261, 59, 1, 236, 221, 1], "image_id": 115378, "bbox": [125, 33, 291, 961], "category_id": 1, "id": 167185}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [628, 244, 1, 622, 221, 1, 540, 283, 1, 542, 222, 1, 495, 368, 1, 470, 284, 1, 440, 290, 1, 487, 297, 1, 353, 429, 1, 572, 407, 1, 211, 443, 1, 517, 561, 1, 746, 194, 1, 665, 223, 1], "image_id": 110637, "bbox": [152, 157, 617, 434], "category_id": 1, "id": 167192}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [304, 149, 1, 150, 161, 1, 303, 272, 1, 179, 221, 1, 193, 262, 1, 163, 309, 1, 336, 407, 1, 261, 406, 1, 374, 594, 1, 258, 543, 1, 361, 681, 1, 323, 716, 1, 211, 52, 1, 211, 143, 1], "image_id": 119797, "bbox": [102, 26, 314, 768], "category_id": 1, "id": 167197}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [310, 353, 1, 194, 348, 1, 302, 459, 1, 141, 426, 1, 281, 387, 1, 92, 341, 1, 283, 539, 1, 218, 538, 1, 271, 672, 1, 214, 683, 1, 0, 0, 0, 0, 0, 0, 239, 230, 1, 243, 324, 1], "image_id": 113585, "bbox": [47, 206, 300, 593], "category_id": 1, "id": 167209}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [401, 212, 1, 239, 187, 1, 452, 311, 1, 299, 244, 1, 478, 348, 1, 356, 212, 1, 296, 476, 1, 200, 470, 1, 348, 645, 1, 190, 643, 1, 382, 758, 1, 89, 842, 1, 485, 140, 1, 442, 246, 1], "image_id": 118458, "bbox": [20, 16, 496, 919], "category_id": 1, "id": 167215}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [747, 404, 1, 734, 401, 1, 722, 428, 1, 708, 402, 1, 686, 428, 1, 698, 374, 1, 752, 468, 1, 745, 465, 1, 707, 468, 1, 695, 463, 1, 728, 497, 1, 720, 494, 1, 726, 363, 1, 738, 390, 1], "image_id": 114314, "bbox": [666, 352, 115, 131], "category_id": 1, "id": 167227}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [203, 180, 1, 182, 180, 1, 210, 188, 1, 179, 190, 1, 213, 198, 1, 176, 195, 1, 196, 214, 1, 186, 214, 1, 190, 228, 1, 184, 236, 1, 194, 237, 1, 191, 245, 1, 193, 158, 1, 193, 176, 1], "image_id": 118659, "bbox": [171, 153, 47, 109], "category_id": 1, "id": 167235}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 332, 1, 169, 331, 1, 396, 434, 1, 169, 371, 1, 487, 510, 1, 143, 410, 1, 358, 492, 1, 268, 511, 1, 429, 675, 1, 337, 640, 1, 414, 700, 1, 459, 788, 1, 238, 175, 1, 244, 293, 1], "image_id": 112889, "bbox": [126, 153, 435, 716], "category_id": 1, "id": 167262}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [114, 95, 1, 61, 96, 1, 134, 124, 1, 49, 131, 1, 137, 146, 1, 40, 165, 1, 115, 176, 1, 86, 179, 1, 120, 221, 1, 94, 227, 1, 122, 263, 1, 105, 256, 1, 84, 42, 1, 88, 85, 1], "image_id": 118662, "bbox": [24, 26, 131, 275], "category_id": 1, "id": 167273}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 471, 1, 199, 475, 1, 226, 499, 1, 223, 499, 1, 241, 483, 1, 237, 473, 1, 211, 541, 1, 214, 540, 1, 215, 577, 1, 230, 575, 1, 203, 614, 1, 208, 616, 1, 193, 438, 1, 203, 467, 1], "image_id": 109066, "bbox": [173, 430, 78, 206], "category_id": 1, "id": 167281}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [286, 538, 1, 196, 552, 1, 262, 667, 1, 164, 674, 1, 200, 733, 1, 0, 0, 0, 297, 789, 1, 236, 793, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 390, 1, 240, 512, 1], "image_id": 109199, "bbox": [109, 362, 254, 467], "category_id": 1, "id": 167295}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [563, 208, 1, 494, 198, 1, 581, 263, 1, 462, 229, 1, 599, 291, 1, 474, 266, 1, 540, 295, 1, 505, 294, 1, 550, 376, 1, 492, 381, 1, 557, 454, 1, 464, 431, 1, 543, 151, 1, 532, 190, 1], "image_id": 117557, "bbox": [435, 129, 197, 367], "category_id": 1, "id": 167306}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [356, 386, 1, 295, 364, 1, 401, 506, 1, 296, 411, 1, 285, 516, 1, 230, 434, 1, 340, 626, 1, 315, 616, 1, 166, 714, 1, 257, 751, 1, 133, 884, 1, 450, 814, 1, 314, 227, 1, 319, 346, 1], "image_id": 112765, "bbox": [26, 205, 474, 722], "category_id": 1, "id": 167340}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [635, 586, 1, 653, 512, 1, 613, 588, 1, 608, 508, 1, 651, 541, 1, 616, 581, 1, 476, 551, 1, 524, 523, 1, 504, 582, 1, 633, 595, 1, 437, 585, 1, 568, 607, 1, 696, 577, 1, 648, 562, 1], "image_id": 117956, "bbox": [401, 480, 319, 145], "category_id": 1, "id": 167342}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [653, 258, 1, 593, 241, 1, 683, 203, 1, 589, 203, 1, 703, 143, 1, 602, 149, 1, 576, 366, 1, 545, 346, 1, 591, 449, 1, 473, 371, 1, 651, 418, 1, 512, 442, 1, 642, 194, 1, 624, 239, 1], "image_id": 116404, "bbox": [479, 119, 252, 347], "category_id": 1, "id": 167349}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [107, 264, 1, 136, 209, 1, 218, 355, 1, 259, 214, 1, 353, 328, 1, 363, 158, 1, 275, 446, 1, 317, 411, 1, 324, 521, 1, 449, 537, 1, 257, 567, 1, 245, 554, 1, 79, 157, 1, 111, 214, 1], "image_id": 114934, "bbox": [39, 77, 436, 512], "category_id": 1, "id": 167356}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [386, 308, 1, 230, 289, 1, 404, 400, 1, 153, 352, 1, 433, 455, 1, 80, 424, 1, 340, 486, 1, 273, 506, 1, 294, 704, 1, 342, 670, 1, 258, 878, 1, 398, 808, 1, 316, 157, 1, 305, 257, 1], "image_id": 116651, "bbox": [33, 129, 420, 799], "category_id": 1, "id": 167360}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [466, 232, 1, 264, 195, 1, 487, 413, 1, 206, 344, 1, 508, 455, 1, 243, 322, 1, 432, 510, 1, 305, 512, 1, 460, 640, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 58, 1, 371, 188, 1], "image_id": 109720, "bbox": [175, 16, 380, 633], "category_id": 1, "id": 167370}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [467, 219, 1, 372, 148, 1, 561, 338, 1, 256, 179, 1, 644, 357, 1, 291, 203, 1, 448, 390, 1, 454, 354, 1, 421, 565, 1, 627, 389, 1, 256, 628, 1, 727, 474, 1, 434, 75, 1, 422, 158, 1], "image_id": 115413, "bbox": [210, 60, 632, 622], "category_id": 1, "id": 167376}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [326, 231, 1, 213, 230, 1, 359, 339, 1, 199, 364, 1, 414, 407, 1, 275, 352, 1, 309, 446, 1, 251, 457, 1, 336, 586, 1, 226, 594, 1, 0, 0, 0, 0, 0, 0, 263, 112, 1, 263, 208, 1], "image_id": 114668, "bbox": [159, 94, 323, 537], "category_id": 1, "id": 167380}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [343, 188, 1, 310, 218, 1, 427, 147, 1, 407, 218, 1, 347, 94, 1, 425, 170, 1, 515, 296, 1, 503, 245, 1, 664, 356, 1, 546, 127, 1, 623, 503, 1, 687, 161, 1, 209, 150, 1, 288, 187, 1], "image_id": 116209, "bbox": [189, 56, 565, 538], "category_id": 1, "id": 167388}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [531, 236, 1, 465, 236, 1, 561, 278, 1, 466, 298, 1, 568, 240, 1, 476, 351, 1, 528, 344, 1, 496, 346, 1, 529, 434, 1, 500, 432, 1, 530, 481, 1, 500, 483, 1, 501, 162, 1, 501, 217, 1], "image_id": 112198, "bbox": [453, 141, 140, 391], "category_id": 1, "id": 167395}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [576, 252, 1, 473, 246, 1, 580, 311, 1, 468, 338, 1, 586, 342, 1, 503, 351, 1, 547, 403, 1, 481, 406, 1, 623, 413, 1, 560, 415, 1, 607, 503, 1, 538, 508, 1, 570, 170, 1, 527, 233, 1], "image_id": 115994, "bbox": [452, 150, 194, 298], "category_id": 1, "id": 167397}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 199, 1, 255, 184, 1, 424, 330, 1, 150, 279, 1, 383, 232, 1, 133, 360, 1, 353, 490, 1, 264, 479, 1, 338, 693, 1, 190, 655, 1, 315, 877, 1, 64, 815, 1, 396, 71, 1, 346, 170, 1], "image_id": 117216, "bbox": [3, 31, 475, 916], "category_id": 1, "id": 167402}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [793, 322, 1, 580, 323, 1, 776, 456, 1, 534, 420, 1, 785, 534, 1, 498, 523, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 757, 71, 1, 684, 297, 1], "image_id": 111419, "bbox": [435, 40, 410, 574], "category_id": 1, "id": 167408}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 221, 1, 556, 257, 1, 337, 369, 1, 578, 397, 1, 349, 314, 1, 578, 359, 1, 455, 482, 1, 535, 485, 1, 380, 663, 1, 585, 671, 1, 374, 877, 1, 667, 863, 1, 396, 109, 1, 396, 202, 1], "image_id": 112785, "bbox": [276, 74, 436, 850], "category_id": 1, "id": 167418}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 414, 1, 575, 414, 1, 580, 444, 1, 602, 422, 1, 588, 467, 1, 628, 418, 1, 562, 483, 1, 573, 483, 1, 561, 535, 1, 573, 539, 1, 553, 583, 1, 571, 588, 1, 582, 379, 1, 575, 405, 1], "image_id": 110435, "bbox": [536, 372, 106, 235], "category_id": 1, "id": 167420}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [606, 177, 1, 484, 128, 1, 665, 256, 1, 434, 205, 1, 704, 271, 1, 450, 190, 1, 582, 310, 1, 518, 283, 1, 687, 415, 1, 632, 279, 1, 721, 582, 1, 735, 400, 1, 576, 24, 1, 542, 115, 1], "image_id": 119822, "bbox": [414, 1, 404, 597], "category_id": 1, "id": 167422}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 163, 1, 421, 151, 1, 532, 224, 1, 400, 185, 1, 511, 264, 1, 398, 249, 1, 472, 310, 1, 430, 297, 1, 449, 412, 1, 439, 382, 1, 419, 467, 1, 409, 459, 1, 486, 73, 1, 476, 143, 1], "image_id": 115136, "bbox": [374, 59, 173, 465], "category_id": 1, "id": 167425}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [218, 55, 1, 185, 50, 1, 236, 107, 1, 184, 83, 1, 216, 127, 1, 160, 92, 1, 280, 98, 1, 248, 101, 1, 267, 139, 1, 244, 138, 1, 272, 188, 1, 249, 180, 1, 132, 28, 1, 192, 44, 1], "image_id": 119053, "bbox": [123, 5, 212, 208], "category_id": 1, "id": 167458}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [627, 200, 1, 429, 223, 1, 727, 229, 1, 337, 329, 1, 842, 165, 1, 238, 413, 1, 527, 545, 1, 426, 533, 1, 0, 0, 0, 0, 0, 0, 390, 493, 1, 282, 510, 1, 477, 31, 1, 504, 165, 1], "image_id": 113623, "bbox": [170, 2, 763, 629], "category_id": 1, "id": 167462}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 564, 1, 452, 508, 1, 396, 721, 1, 445, 623, 1, 273, 731, 1, 416, 553, 1, 449, 820, 1, 495, 786, 1, 250, 827, 1, 313, 801, 1, 406, 882, 1, 448, 859, 1, 306, 406, 1, 382, 494, 1], "image_id": 118047, "bbox": [188, 366, 440, 576], "category_id": 1, "id": 167471}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [570, 323, 1, 447, 338, 1, 0, 0, 0, 435, 456, 1, 0, 0, 0, 399, 546, 1, 564, 539, 1, 500, 557, 1, 564, 661, 1, 510, 670, 1, 595, 787, 1, 534, 829, 1, 486, 230, 1, 496, 315, 1], "image_id": 115501, "bbox": [442, 205, 183, 672], "category_id": 1, "id": 167474}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [547, 265, 1, 393, 269, 1, 547, 394, 1, 377, 402, 1, 572, 378, 1, 386, 375, 1, 506, 485, 1, 427, 485, 1, 504, 705, 1, 448, 698, 1, 498, 846, 1, 452, 885, 1, 459, 109, 1, 459, 227, 1], "image_id": 114567, "bbox": [354, 85, 268, 877], "category_id": 1, "id": 167481}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [497, 585, 1, 620, 604, 1, 413, 628, 1, 640, 713, 1, 453, 541, 1, 660, 715, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 579, 495, 1, 558, 562, 1], "image_id": 111051, "bbox": [389, 472, 326, 295], "category_id": 1, "id": 167483}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [271, 118, 1, 300, 119, 1, 268, 154, 1, 297, 152, 1, 250, 172, 1, 287, 168, 1, 269, 187, 1, 286, 187, 1, 268, 232, 1, 286, 234, 1, 265, 271, 1, 284, 274, 1, 268, 87, 1, 279, 110, 1], "image_id": 110798, "bbox": [243, 79, 64, 215], "category_id": 1, "id": 167489}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [567, 307, 1, 427, 312, 1, 570, 416, 1, 385, 423, 1, 576, 490, 1, 316, 450, 1, 521, 521, 1, 453, 521, 1, 501, 644, 1, 466, 655, 1, 533, 790, 1, 480, 773, 1, 472, 174, 1, 488, 276, 1], "image_id": 118991, "bbox": [407, 158, 190, 710], "category_id": 1, "id": 167490}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [51, 151, 1, 160, 167, 1, 52, 252, 1, 189, 291, 1, 126, 238, 1, 271, 393, 1, 0, 0, 0, 67, 381, 1, 0, 0, 0, 236, 459, 1, 0, 0, 0, 179, 676, 1, 126, 36, 1, 107, 117, 1], "image_id": 110618, "bbox": [1, 13, 338, 732], "category_id": 1, "id": 167541}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [533, 196, 1, 399, 201, 1, 555, 285, 1, 384, 309, 1, 575, 356, 1, 407, 376, 1, 514, 404, 1, 446, 412, 1, 531, 526, 1, 470, 533, 1, 518, 585, 1, 0, 0, 0, 467, 58, 1, 463, 165, 1], "image_id": 113723, "bbox": [352, 31, 258, 576], "category_id": 1, "id": 167543}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [452, 157, 1, 352, 155, 1, 531, 221, 1, 333, 224, 1, 554, 304, 1, 270, 286, 1, 419, 363, 1, 367, 352, 1, 323, 452, 1, 272, 456, 1, 273, 604, 1, 358, 552, 1, 434, 29, 1, 430, 108, 1], "image_id": 113820, "bbox": [194, 29, 399, 602], "category_id": 1, "id": 167563}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [270, 269, 1, 99, 237, 1, 255, 394, 1, 87, 396, 1, 334, 389, 1, 205, 408, 1, 218, 472, 1, 140, 474, 1, 268, 582, 1, 178, 586, 1, 263, 680, 1, 181, 684, 1, 228, 86, 1, 202, 221, 1], "image_id": 111126, "bbox": [40, 59, 253, 503], "category_id": 1, "id": 167584}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [415, 223, 1, 336, 237, 1, 380, 316, 1, 280, 237, 1, 293, 356, 1, 248, 277, 1, 388, 407, 1, 341, 413, 1, 202, 380, 1, 204, 421, 1, 69, 473, 1, 149, 588, 1, 290, 162, 1, 364, 209, 1], "image_id": 109356, "bbox": [2, 140, 484, 511], "category_id": 1, "id": 167632}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 193, 1, 207, 191, 1, 337, 246, 1, 116, 239, 1, 410, 218, 1, 103, 275, 1, 274, 359, 1, 234, 355, 1, 204, 520, 1, 272, 448, 1, 95, 495, 1, 241, 588, 1, 289, 88, 1, 265, 166, 1], "image_id": 118672, "bbox": [26, 61, 447, 573], "category_id": 1, "id": 167634}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 103, 1, 378, 97, 1, 465, 129, 1, 368, 120, 1, 444, 129, 1, 366, 136, 1, 424, 172, 1, 394, 168, 1, 416, 237, 1, 399, 231, 1, 409, 290, 1, 402, 301, 1, 406, 45, 1, 408, 88, 1], "image_id": 115251, "bbox": [352, 36, 124, 292], "category_id": 1, "id": 167646}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [226, 156, 1, 200, 154, 1, 234, 174, 1, 190, 170, 1, 233, 183, 1, 185, 187, 1, 221, 196, 1, 207, 192, 1, 219, 223, 1, 205, 220, 1, 217, 247, 1, 202, 212, 1, 214, 128, 1, 214, 150, 1], "image_id": 118186, "bbox": [180, 122, 61, 136], "category_id": 1, "id": 167655}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [287, 147, 1, 146, 89, 1, 275, 265, 1, 123, 264, 1, 267, 360, 1, 153, 362, 1, 235, 235, 1, 120, 224, 1, 271, 363, 1, 99, 346, 1, 304, 473, 1, 99, 479, 1, 257, 47, 1, 220, 102, 1], "image_id": 112130, "bbox": [69, 7, 245, 440], "category_id": 1, "id": 167690}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [285, 239, 1, 189, 246, 1, 322, 289, 1, 150, 343, 1, 324, 228, 1, 236, 370, 1, 285, 426, 1, 236, 429, 1, 282, 594, 1, 231, 587, 1, 277, 740, 1, 236, 758, 1, 242, 114, 1, 232, 212, 1], "image_id": 110960, "bbox": [81, 87, 298, 732], "category_id": 1, "id": 167715}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [371, 403, 1, 455, 344, 1, 334, 500, 1, 451, 417, 1, 296, 521, 1, 402, 470, 1, 437, 581, 1, 493, 569, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 360, 236, 1, 394, 334, 1], "image_id": 117171, "bbox": [239, 217, 297, 409], "category_id": 1, "id": 167726}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [364, 389, 1, 342, 389, 1, 371, 419, 1, 342, 416, 1, 350, 411, 1, 323, 413, 1, 363, 454, 1, 352, 454, 1, 349, 496, 1, 346, 493, 1, 387, 514, 1, 363, 536, 1, 345, 343, 1, 350, 378, 1], "image_id": 112279, "bbox": [309, 334, 99, 224], "category_id": 1, "id": 167736}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [392, 328, 1, 430, 351, 1, 408, 410, 1, 535, 385, 1, 440, 480, 1, 0, 0, 0, 370, 500, 1, 356, 497, 1, 365, 551, 1, 346, 569, 1, 359, 596, 1, 338, 618, 1, 441, 238, 1, 428, 318, 1], "image_id": 117457, "bbox": [323, 232, 280, 425], "category_id": 1, "id": 167739}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [138, 191, 1, 181, 188, 1, 110, 262, 1, 195, 268, 1, 110, 330, 1, 243, 321, 1, 153, 359, 1, 169, 357, 1, 190, 432, 1, 133, 440, 1, 218, 536, 1, 66, 529, 1, 187, 116, 1, 173, 168, 1], "image_id": 117767, "bbox": [37, 105, 227, 466], "category_id": 1, "id": 167750}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [684, 187, 1, 531, 156, 1, 636, 255, 1, 395, 162, 1, 715, 311, 1, 398, 120, 1, 552, 461, 1, 456, 426, 1, 514, 628, 1, 305, 537, 1, 494, 489, 1, 220, 439, 1, 625, 49, 1, 606, 155, 1], "image_id": 116201, "bbox": [117, 26, 663, 626], "category_id": 1, "id": 167756}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [489, 258, 1, 410, 229, 1, 481, 325, 1, 370, 264, 1, 436, 332, 1, 314, 271, 1, 512, 406, 1, 450, 435, 1, 548, 505, 1, 481, 517, 1, 581, 589, 1, 576, 541, 1, 431, 180, 1, 445, 235, 1], "image_id": 117196, "bbox": [249, 155, 348, 466], "category_id": 1, "id": 167757}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [239, 531, 1, 135, 534, 1, 253, 621, 1, 121, 620, 1, 250, 666, 1, 125, 683, 1, 212, 722, 1, 156, 718, 1, 214, 809, 1, 147, 808, 1, 214, 879, 1, 149, 881, 1, 184, 411, 1, 184, 503, 1], "image_id": 110886, "bbox": [96, 382, 181, 555], "category_id": 1, "id": 167761}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 112, 1, 511, 141, 1, 328, 214, 1, 535, 298, 1, 312, 344, 1, 554, 385, 1, 381, 366, 1, 459, 370, 1, 379, 505, 1, 461, 527, 1, 377, 650, 1, 436, 704, 1, 494, 13, 1, 452, 85, 1], "image_id": 110589, "bbox": [278, 0, 313, 758], "category_id": 1, "id": 167767}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [370, 174, 1, 276, 123, 1, 413, 240, 1, 235, 90, 1, 421, 297, 1, 162, 77, 1, 342, 306, 1, 278, 305, 1, 354, 411, 1, 181, 411, 1, 413, 551, 1, 176, 535, 1, 274, 73, 1, 306, 128, 1], "image_id": 116706, "bbox": [91, 30, 364, 567], "category_id": 1, "id": 167769}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 174, 1, 319, 172, 1, 392, 213, 1, 319, 218, 1, 395, 265, 1, 319, 268, 1, 369, 256, 1, 329, 257, 1, 360, 339, 1, 329, 339, 1, 354, 404, 1, 330, 406, 1, 352, 105, 1, 352, 155, 1], "image_id": 114428, "bbox": [315, 97, 77, 340], "category_id": 1, "id": 167774}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [535, 183, 1, 563, 190, 1, 589, 250, 1, 621, 263, 1, 651, 247, 1, 657, 225, 1, 528, 370, 1, 507, 370, 1, 511, 462, 1, 531, 474, 1, 472, 594, 1, 452, 582, 1, 520, 116, 1, 508, 181, 1], "image_id": 117767, "bbox": [437, 95, 245, 544], "category_id": 1, "id": 167792}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [430, 168, 1, 461, 144, 1, 476, 295, 1, 502, 263, 1, 407, 383, 1, 528, 392, 1, 545, 352, 1, 597, 350, 1, 456, 493, 1, 602, 511, 1, 511, 692, 1, 639, 691, 1, 345, 42, 1, 395, 132, 1], "image_id": 113606, "bbox": [303, 21, 366, 762], "category_id": 1, "id": 167794}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 211, 1, 337, 239, 1, 463, 181, 1, 332, 325, 1, 481, 134, 1, 412, 326, 1, 400, 502, 1, 304, 491, 1, 493, 611, 1, 197, 651, 1, 483, 813, 1, 104, 777, 1, 425, 96, 1, 390, 202, 1], "image_id": 114752, "bbox": [72, 70, 455, 802], "category_id": 1, "id": 167805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [55, 228, 1, 108, 217, 1, 71, 309, 1, 144, 303, 1, 120, 360, 1, 175, 362, 1, 89, 392, 1, 136, 384, 1, 89, 516, 1, 170, 503, 1, 76, 625, 1, 204, 609, 1, 100, 131, 1, 84, 197, 1], "image_id": 119687, "bbox": [25, 114, 213, 550], "category_id": 1, "id": 167811}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [227, 285, 1, 247, 286, 1, 243, 395, 1, 306, 453, 1, 315, 390, 1, 351, 416, 1, 270, 455, 1, 306, 497, 1, 387, 404, 1, 435, 436, 1, 386, 532, 1, 406, 554, 1, 255, 133, 1, 208, 228, 1], "image_id": 118969, "bbox": [96, 107, 357, 493], "category_id": 1, "id": 167812}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [198, 361, 1, 237, 362, 1, 233, 447, 1, 296, 493, 1, 300, 475, 1, 329, 496, 1, 244, 534, 1, 304, 560, 1, 374, 514, 1, 407, 548, 1, 475, 501, 1, 487, 529, 1, 246, 220, 1, 227, 324, 1], "image_id": 114471, "bbox": [144, 204, 239, 422], "category_id": 1, "id": 167814}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [533, 296, 1, 440, 288, 1, 556, 362, 1, 429, 344, 1, 513, 352, 1, 465, 306, 1, 514, 431, 1, 457, 431, 1, 505, 530, 1, 463, 529, 1, 505, 616, 1, 464, 614, 1, 480, 202, 1, 484, 273, 1], "image_id": 117785, "bbox": [407, 174, 162, 287], "category_id": 1, "id": 167825}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [266, 279, 1, 361, 412, 1, 220, 429, 1, 341, 600, 1, 341, 471, 1, 446, 517, 1, 0, 0, 0, 94, 609, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 459, 270, 1, 345, 316, 1], "image_id": 115738, "bbox": [1, 196, 487, 469], "category_id": 1, "id": 167834}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [516, 180, 1, 425, 172, 1, 607, 190, 1, 520, 209, 1, 672, 177, 1, 618, 189, 1, 377, 345, 1, 344, 348, 1, 273, 466, 1, 436, 428, 1, 151, 506, 1, 497, 563, 1, 475, 75, 1, 475, 163, 1], "image_id": 112072, "bbox": [98, 52, 630, 571], "category_id": 1, "id": 167835}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [595, 194, 1, 439, 138, 1, 577, 326, 1, 372, 254, 1, 497, 338, 1, 432, 315, 1, 527, 381, 1, 405, 358, 1, 657, 499, 1, 291, 495, 1, 805, 623, 1, 172, 619, 1, 522, 45, 1, 507, 134, 1], "image_id": 111059, "bbox": [42, 4, 882, 697], "category_id": 1, "id": 167840}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [470, 311, 1, 323, 289, 1, 511, 432, 1, 369, 401, 1, 521, 376, 1, 508, 381, 1, 461, 536, 1, 374, 536, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 434, 183, 1, 411, 298, 1], "image_id": 118412, "bbox": [305, 159, 301, 254], "category_id": 1, "id": 167843}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [162, 376, 1, 67, 384, 1, 182, 454, 1, 64, 460, 1, 161, 494, 1, 101, 501, 1, 143, 532, 1, 101, 531, 1, 153, 626, 1, 101, 632, 1, 158, 737, 1, 96, 737, 1, 126, 275, 1, 115, 359, 1], "image_id": 112056, "bbox": [43, 246, 156, 534], "category_id": 1, "id": 167848}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [415, 238, 1, 238, 246, 1, 541, 288, 1, 218, 392, 1, 565, 162, 1, 244, 433, 1, 359, 523, 1, 246, 515, 1, 359, 639, 1, 151, 687, 1, 355, 831, 1, 140, 654, 1, 294, 96, 1, 318, 196, 1], "image_id": 113149, "bbox": [109, 68, 483, 820], "category_id": 1, "id": 167855}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 374, 1, 451, 371, 1, 303, 398, 1, 399, 387, 1, 263, 359, 1, 333, 337, 1, 479, 573, 1, 546, 562, 1, 401, 630, 1, 648, 693, 1, 394, 696, 1, 775, 722, 1, 376, 288, 1, 387, 353, 1], "image_id": 111305, "bbox": [241, 280, 631, 482], "category_id": 1, "id": 167870}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 107, 1, 411, 112, 1, 384, 222, 1, 443, 217, 1, 394, 209, 1, 408, 258, 1, 461, 335, 1, 430, 334, 1, 448, 452, 1, 390, 437, 1, 585, 551, 1, 408, 604, 1, 279, 85, 1, 354, 97, 1], "image_id": 111039, "bbox": [258, 50, 372, 593], "category_id": 1, "id": 167881}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [349, 516, 1, 620, 480, 1, 215, 497, 1, 767, 495, 1, 338, 564, 1, 682, 523, 1, 346, 335, 1, 497, 332, 1, 313, 130, 1, 491, 121, 1, 326, 290, 1, 474, 286, 1, 502, 68, 1, 496, 151, 1], "image_id": 113952, "bbox": [159, 107, 633, 499], "category_id": 1, "id": 167883}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [311, 277, 1, 227, 299, 1, 387, 312, 1, 185, 366, 1, 448, 270, 1, 148, 411, 1, 378, 425, 1, 371, 434, 1, 468, 510, 1, 486, 466, 1, 356, 554, 1, 576, 561, 1, 252, 184, 1, 257, 267, 1], "image_id": 114012, "bbox": [109, 173, 551, 457], "category_id": 1, "id": 167889}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 252, 1, 338, 263, 1, 530, 394, 1, 334, 418, 1, 577, 309, 1, 350, 488, 1, 476, 524, 1, 403, 524, 1, 509, 752, 1, 417, 722, 1, 530, 924, 1, 438, 929, 1, 426, 115, 1, 414, 234, 1], "image_id": 116697, "bbox": [291, 78, 290, 902], "category_id": 1, "id": 167890}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [840, 269, 1, 726, 256, 1, 843, 371, 1, 646, 293, 1, 779, 426, 1, 568, 337, 1, 852, 470, 1, 769, 434, 1, 815, 422, 1, 641, 343, 1, 784, 597, 1, 626, 490, 1, 736, 130, 1, 766, 229, 1], "image_id": 116597, "bbox": [528, 104, 386, 576], "category_id": 1, "id": 167907}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [665, 224, 1, 670, 149, 1, 753, 299, 1, 674, 247, 1, 736, 414, 1, 582, 298, 1, 773, 382, 1, 720, 351, 1, 708, 567, 1, 594, 413, 1, 787, 761, 1, 391, 490, 1, 532, 225, 1, 614, 207, 1], "image_id": 112361, "bbox": [284, 107, 597, 782], "category_id": 1, "id": 167909}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [388, 341, 1, 310, 335, 1, 408, 356, 1, 264, 346, 1, 387, 305, 1, 297, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 347, 252, 1, 345, 327, 1], "image_id": 117263, "bbox": [240, 211, 183, 278], "category_id": 1, "id": 167914}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 172, 1, 260, 172, 1, 348, 184, 1, 260, 226, 1, 371, 166, 1, 260, 277, 1, 311, 246, 1, 277, 244, 1, 311, 326, 1, 278, 328, 1, 311, 398, 1, 277, 398, 1, 295, 114, 1, 295, 161, 1], "image_id": 114428, "bbox": [256, 104, 61, 322], "category_id": 1, "id": 167922}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [425, 195, 1, 295, 177, 1, 507, 238, 1, 225, 233, 1, 613, 197, 1, 155, 273, 1, 454, 381, 1, 405, 426, 1, 618, 342, 1, 534, 552, 1, 700, 518, 1, 465, 728, 1, 376, 27, 1, 349, 145, 1], "image_id": 119292, "bbox": [80, 12, 739, 771], "category_id": 1, "id": 167925}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [515, 155, 1, 418, 144, 1, 532, 228, 1, 383, 209, 1, 555, 266, 1, 378, 241, 1, 472, 310, 1, 422, 307, 1, 477, 427, 1, 392, 426, 1, 464, 541, 1, 359, 525, 1, 492, 60, 1, 472, 130, 1], "image_id": 117956, "bbox": [333, 36, 268, 532], "category_id": 1, "id": 167940}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [560, 223, 1, 438, 216, 1, 585, 316, 1, 413, 310, 1, 590, 391, 1, 399, 388, 1, 537, 408, 1, 480, 414, 1, 540, 531, 1, 492, 544, 1, 545, 659, 1, 500, 663, 1, 499, 102, 1, 495, 189, 1], "image_id": 116654, "bbox": [372, 91, 234, 606], "category_id": 1, "id": 167944}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 216, 1, 130, 257, 1, 326, 321, 1, 77, 384, 1, 265, 398, 1, 147, 461, 1, 271, 367, 1, 186, 375, 1, 345, 359, 1, 126, 401, 1, 288, 462, 1, 199, 484, 1, 158, 162, 1, 183, 222, 1], "image_id": 116868, "bbox": [49, 118, 317, 419], "category_id": 1, "id": 167945}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [540, 266, 1, 398, 268, 1, 545, 360, 1, 320, 336, 1, 551, 441, 1, 332, 406, 1, 508, 473, 1, 435, 471, 1, 509, 622, 1, 435, 623, 1, 0, 0, 0, 0, 0, 0, 497, 151, 1, 480, 240, 1], "image_id": 110486, "bbox": [292, 129, 281, 369], "category_id": 1, "id": 167947}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [751, 132, 1, 603, 43, 1, 743, 183, 1, 450, 63, 1, 720, 292, 1, 393, 155, 1, 598, 238, 1, 534, 189, 1, 515, 295, 1, 467, 226, 1, 401, 291, 1, 366, 245, 1, 694, 34, 1, 678, 85, 1], "image_id": 116230, "bbox": [357, 2, 446, 377], "category_id": 1, "id": 167948}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [263, 269, 1, 113, 272, 1, 306, 401, 1, 121, 448, 1, 334, 466, 1, 255, 480, 1, 104, 478, 1, 44, 492, 1, 252, 374, 1, 202, 395, 1, 192, 574, 1, 116, 565, 1, 260, 96, 1, 200, 227, 1], "image_id": 112683, "bbox": [0, 42, 383, 590], "category_id": 1, "id": 167955}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [331, 260, 1, 228, 249, 1, 345, 365, 1, 178, 285, 1, 357, 449, 1, 217, 200, 1, 311, 430, 1, 233, 447, 1, 334, 616, 1, 280, 615, 1, 371, 799, 1, 322, 765, 1, 300, 99, 1, 275, 217, 1], "image_id": 118531, "bbox": [154, 89, 249, 857], "category_id": 1, "id": 167991}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [213, 385, 1, 163, 372, 1, 199, 479, 1, 162, 438, 1, 141, 477, 1, 117, 439, 1, 140, 527, 1, 137, 471, 1, 38, 492, 1, 36, 447, 1, 0, 0, 0, 0, 0, 0, 145, 269, 1, 181, 345, 1], "image_id": 110551, "bbox": [12, 243, 209, 318], "category_id": 1, "id": 167994}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [150, 578, 1, 289, 584, 1, 173, 433, 1, 289, 436, 1, 205, 305, 1, 297, 307, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 477, 1, 218, 566, 1], "image_id": 117250, "bbox": [109, 194, 256, 405], "category_id": 1, "id": 168000}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [410, 308, 1, 229, 394, 1, 581, 382, 1, 215, 549, 1, 565, 250, 1, 223, 619, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 187, 1, 289, 302, 1], "image_id": 115604, "bbox": [155, 156, 452, 471], "category_id": 1, "id": 168001}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [270, 180, 1, 125, 176, 1, 284, 311, 1, 107, 268, 1, 265, 427, 1, 50, 319, 1, 215, 476, 1, 121, 474, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, 27, 1, 192, 141, 1], "image_id": 116154, "bbox": [163, 12, 151, 576], "category_id": 1, "id": 168012}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [886, 154, 1, 834, 157, 1, 896, 195, 1, 829, 201, 1, 876, 223, 1, 841, 226, 1, 874, 236, 1, 849, 236, 1, 870, 295, 1, 848, 294, 1, 865, 355, 1, 848, 355, 1, 860, 104, 1, 860, 141, 1], "image_id": 111855, "bbox": [821, 93, 77, 285], "category_id": 1, "id": 168015}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [197, 317, 1, 227, 273, 1, 233, 404, 1, 269, 198, 1, 302, 446, 1, 307, 88, 1, 185, 559, 1, 198, 562, 1, 150, 678, 1, 308, 685, 1, 62, 769, 1, 302, 827, 1, 198, 216, 1, 210, 287, 1], "image_id": 113504, "bbox": [0, 0, 388, 899], "category_id": 1, "id": 168029}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [868, 270, 1, 781, 266, 1, 885, 329, 1, 761, 336, 1, 888, 344, 1, 740, 402, 1, 867, 421, 1, 814, 421, 1, 865, 563, 1, 822, 556, 1, 865, 682, 1, 832, 683, 1, 835, 169, 1, 827, 243, 1], "image_id": 119217, "bbox": [698, 155, 214, 570], "category_id": 1, "id": 168051}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [311, 179, 1, 286, 181, 1, 324, 202, 1, 276, 208, 1, 340, 218, 1, 261, 225, 1, 311, 229, 1, 294, 229, 1, 310, 268, 1, 285, 262, 1, 310, 307, 1, 273, 300, 1, 300, 149, 1, 299, 176, 1], "image_id": 118286, "bbox": [246, 140, 111, 186], "category_id": 1, "id": 168053}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [448, 305, 1, 280, 378, 1, 483, 339, 1, 308, 523, 1, 442, 270, 1, 316, 660, 1, 500, 597, 1, 400, 633, 1, 568, 804, 1, 467, 832, 1, 625, 990, 1, 0, 0, 0, 315, 170, 1, 351, 301, 1], "image_id": 109779, "bbox": [251, 135, 405, 864], "category_id": 1, "id": 168058}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [586, 192, 1, 0, 0, 0, 521, 292, 1, 0, 0, 0, 444, 385, 1, 0, 0, 0, 654, 452, 1, 0, 0, 0, 617, 590, 1, 0, 0, 0, 622, 799, 1, 0, 0, 0, 617, 71, 1, 629, 152, 1], "image_id": 119229, "bbox": [369, 49, 342, 791], "category_id": 1, "id": 168082}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [304, 295, 1, 232, 288, 1, 364, 342, 1, 329, 367, 1, 457, 284, 1, 445, 317, 1, 258, 554, 1, 205, 556, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 144, 1, 258, 242, 1], "image_id": 119573, "bbox": [163, 113, 370, 472], "category_id": 1, "id": 168097}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [373, 173, 1, 308, 181, 1, 393, 311, 1, 289, 255, 1, 352, 427, 1, 253, 315, 1, 323, 444, 1, 279, 433, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 39, 1, 328, 138, 1], "image_id": 116439, "bbox": [209, 20, 218, 436], "category_id": 1, "id": 168115}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [656, 246, 1, 531, 260, 1, 694, 366, 1, 544, 356, 1, 659, 481, 1, 510, 392, 1, 608, 457, 1, 529, 449, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 119, 1, 573, 225, 1], "image_id": 115293, "bbox": [462, 89, 286, 443], "category_id": 1, "id": 168119}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [456, 236, 1, 361, 232, 1, 416, 353, 1, 380, 318, 1, 328, 356, 1, 301, 315, 1, 469, 497, 1, 398, 495, 1, 474, 639, 1, 397, 649, 1, 483, 786, 1, 437, 780, 1, 354, 99, 1, 408, 201, 1], "image_id": 109752, "bbox": [233, 58, 307, 455], "category_id": 1, "id": 168143}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [308, 275, 1, 160, 312, 1, 339, 385, 1, 165, 453, 1, 400, 433, 1, 165, 565, 1, 288, 536, 1, 187, 551, 1, 306, 745, 1, 169, 756, 1, 332, 918, 1, 0, 0, 0, 285, 173, 1, 257, 257, 1], "image_id": 115138, "bbox": [122, 134, 210, 809], "category_id": 1, "id": 168146}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [329, 268, 1, 212, 236, 1, 393, 305, 1, 117, 293, 1, 482, 307, 1, 50, 350, 1, 243, 451, 1, 189, 428, 1, 320, 531, 1, 222, 499, 1, 263, 650, 1, 186, 621, 1, 323, 165, 1, 280, 236, 1], "image_id": 112287, "bbox": [0, 134, 549, 558], "category_id": 1, "id": 168154}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [842, 318, 1, 528, 310, 1, 872, 507, 1, 424, 479, 1, 899, 648, 1, 490, 385, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 689, 70, 1, 684, 255, 1], "image_id": 113693, "bbox": [383, 40, 554, 660], "category_id": 1, "id": 168157}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 285, 1, 566, 263, 1, 398, 317, 1, 621, 243, 1, 410, 367, 1, 669, 222, 1, 468, 430, 1, 544, 431, 1, 449, 453, 1, 578, 451, 1, 446, 504, 1, 587, 506, 1, 515, 157, 1, 500, 250, 1], "image_id": 115765, "bbox": [387, 151, 321, 402], "category_id": 1, "id": 168164}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [309, 264, 1, 248, 259, 1, 306, 312, 1, 232, 285, 1, 298, 356, 1, 232, 314, 1, 292, 345, 1, 258, 344, 1, 309, 375, 1, 243, 374, 1, 315, 418, 1, 237, 420, 1, 286, 211, 1, 280, 252, 1], "image_id": 113981, "bbox": [211, 187, 128, 288], "category_id": 1, "id": 168178}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 442, 31, 1, 0, 0, 0, 412, 158, 1, 0, 0, 0, 412, 263, 1, 0, 0, 0, 465, 272, 1, 523, 431, 1, 416, 426, 1, 498, 597, 1, 411, 596, 1, 0, 0, 0, 521, 11, 1], "image_id": 115726, "bbox": [369, 0, 163, 657], "category_id": 1, "id": 168186}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [747, 257, 1, 574, 137, 1, 716, 433, 1, 409, 152, 1, 725, 590, 1, 395, 232, 1, 520, 436, 1, 428, 363, 1, 358, 606, 1, 258, 466, 1, 368, 633, 1, 167, 583, 1, 698, 28, 1, 685, 161, 1], "image_id": 116369, "bbox": [92, 0, 675, 681], "category_id": 1, "id": 168189}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [729, 619, 1, 743, 489, 1, 605, 673, 1, 616, 527, 1, 491, 699, 1, 490, 545, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 497, 1, 717, 557, 1], "image_id": 116726, "bbox": [370, 444, 578, 301], "category_id": 1, "id": 168194}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [677, 147, 1, 684, 142, 1, 585, 127, 1, 709, 99, 1, 597, 206, 1, 783, 115, 1, 618, 290, 1, 550, 300, 1, 743, 254, 1, 506, 447, 1, 0, 0, 0, 372, 489, 1, 772, 143, 1, 703, 167, 1], "image_id": 115460, "bbox": [326, 81, 471, 471], "category_id": 1, "id": 168235}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 197, 1, 255, 238, 1, 379, 227, 1, 320, 374, 1, 444, 182, 1, 403, 402, 1, 328, 488, 1, 238, 489, 1, 315, 689, 1, 240, 660, 1, 279, 861, 1, 118, 802, 1, 303, 79, 1, 280, 196, 1], "image_id": 114372, "bbox": [71, 55, 401, 852], "category_id": 1, "id": 168253}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [432, 178, 1, 336, 246, 1, 348, 208, 1, 242, 270, 1, 255, 195, 1, 150, 249, 1, 480, 371, 1, 407, 426, 1, 410, 263, 1, 365, 562, 1, 301, 343, 1, 422, 721, 1, 375, 100, 1, 390, 174, 1], "image_id": 115423, "bbox": [93, 78, 424, 691], "category_id": 1, "id": 168259}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [556, 89, 1, 466, 103, 1, 582, 153, 1, 456, 157, 1, 554, 153, 1, 488, 155, 1, 528, 214, 1, 477, 228, 1, 602, 278, 1, 490, 311, 1, 619, 371, 1, 495, 389, 1, 505, 27, 1, 505, 75, 1], "image_id": 114199, "bbox": [431, 12, 183, 282], "category_id": 1, "id": 168268}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [491, 90, 1, 441, 316, 1, 749, 178, 1, 400, 399, 1, 577, 327, 1, 348, 419, 1, 908, 169, 1, 892, 311, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 194, 1, 465, 200, 1], "image_id": 112527, "bbox": [162, 49, 785, 450], "category_id": 1, "id": 168291}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [281, 384, 1, 297, 369, 1, 273, 518, 1, 384, 301, 1, 333, 570, 1, 456, 224, 1, 291, 580, 1, 250, 577, 1, 310, 729, 1, 223, 719, 1, 333, 866, 1, 121, 849, 1, 268, 308, 1, 286, 362, 1], "image_id": 118683, "bbox": [62, 125, 467, 823], "category_id": 1, "id": 168299}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [373, 326, 1, 210, 337, 1, 380, 459, 1, 215, 457, 1, 339, 506, 1, 252, 511, 1, 340, 579, 1, 247, 580, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 182, 1, 285, 298, 1], "image_id": 117095, "bbox": [163, 154, 248, 408], "category_id": 1, "id": 168305}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [821, 263, 1, 672, 171, 1, 785, 399, 1, 570, 162, 1, 713, 492, 1, 560, 89, 1, 701, 496, 1, 604, 432, 1, 696, 688, 1, 531, 558, 1, 698, 880, 1, 531, 730, 1, 762, 78, 1, 750, 196, 1], "image_id": 110918, "bbox": [480, 33, 377, 921], "category_id": 1, "id": 168314}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [481, 156, 1, 364, 161, 1, 491, 277, 1, 358, 294, 1, 503, 335, 1, 462, 338, 1, 383, 347, 1, 287, 347, 1, 358, 526, 1, 266, 536, 1, 221, 446, 1, 126, 445, 1, 405, 52, 1, 423, 138, 1], "image_id": 112800, "bbox": [55, 15, 480, 561], "category_id": 1, "id": 168323}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 78, 1, 286, 104, 1, 339, 117, 1, 293, 145, 1, 304, 127, 1, 292, 183, 1, 333, 171, 1, 312, 171, 1, 328, 231, 1, 306, 225, 1, 334, 292, 1, 311, 283, 1, 269, 60, 1, 297, 81, 1], "image_id": 119562, "bbox": [259, 50, 91, 259], "category_id": 1, "id": 168328}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [317, 290, 1, 229, 287, 1, 385, 328, 1, 209, 372, 1, 444, 285, 1, 236, 443, 1, 299, 503, 1, 226, 512, 1, 371, 610, 1, 250, 663, 1, 435, 732, 1, 234, 833, 1, 322, 170, 1, 278, 257, 1], "image_id": 117688, "bbox": [169, 142, 356, 729], "category_id": 1, "id": 168338}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [477, 250, 1, 341, 248, 1, 517, 330, 1, 296, 331, 1, 0, 0, 0, 341, 406, 1, 444, 464, 1, 366, 461, 1, 444, 575, 1, 328, 573, 1, 425, 710, 1, 321, 710, 1, 397, 125, 1, 406, 220, 1], "image_id": 117603, "bbox": [248, 104, 285, 668], "category_id": 1, "id": 168339}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [577, 271, 1, 406, 211, 1, 540, 362, 1, 318, 217, 1, 500, 434, 1, 226, 268, 1, 471, 407, 1, 390, 394, 1, 431, 599, 1, 341, 558, 1, 306, 696, 1, 290, 626, 1, 521, 112, 1, 506, 216, 1], "image_id": 112210, "bbox": [146, 83, 460, 663], "category_id": 1, "id": 168344}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [471, 185, 1, 285, 202, 1, 555, 266, 1, 180, 324, 1, 619, 202, 1, 116, 373, 1, 458, 487, 1, 350, 513, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 31, 1, 383, 166, 1], "image_id": 118615, "bbox": [39, 12, 646, 620], "category_id": 1, "id": 168349}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 523, 134, 1, 0, 0, 0, 501, 241, 1, 0, 0, 0, 577, 274, 1, 0, 0, 0, 541, 435, 1, 0, 0, 0, 621, 587, 1, 0, 0, 0, 0, 0, 0], "image_id": 110190, "bbox": [462, 1, 171, 687], "category_id": 1, "id": 168351}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [321, 195, 1, 177, 233, 1, 411, 149, 1, 51, 242, 1, 401, 155, 1, 142, 204, 1, 387, 404, 1, 301, 434, 1, 548, 435, 1, 332, 474, 1, 692, 459, 1, 504, 485, 1, 224, 106, 1, 250, 191, 1], "image_id": 116098, "bbox": [25, 84, 733, 442], "category_id": 1, "id": 168367}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [204, 176, 1, 85, 176, 1, 238, 288, 1, 201, 319, 1, 288, 388, 1, 335, 403, 1, 206, 430, 1, 131, 437, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 38, 1, 163, 132, 1], "image_id": 116458, "bbox": [24, 1, 371, 530], "category_id": 1, "id": 168399}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [139, 176, 1, 108, 175, 1, 164, 178, 1, 87, 179, 1, 181, 171, 1, 67, 175, 1, 133, 222, 1, 114, 224, 1, 137, 258, 1, 112, 256, 1, 142, 294, 1, 106, 296, 1, 119, 150, 1, 124, 171, 1], "image_id": 118286, "bbox": [90, 138, 104, 175], "category_id": 1, "id": 168406}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [528, 497, 1, 335, 513, 1, 561, 722, 1, 302, 720, 1, 377, 752, 1, 154, 741, 1, 501, 870, 1, 389, 871, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 387, 269, 1, 424, 464, 1], "image_id": 118464, "bbox": [272, 233, 392, 765], "category_id": 1, "id": 168427}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [331, 171, 1, 228, 169, 1, 353, 252, 1, 197, 257, 1, 322, 172, 1, 208, 352, 1, 304, 409, 1, 232, 402, 1, 264, 539, 1, 242, 557, 1, 264, 707, 1, 268, 706, 1, 261, 69, 1, 267, 152, 1], "image_id": 111174, "bbox": [212, 33, 136, 725], "category_id": 1, "id": 168452}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [365, 214, 1, 291, 211, 1, 386, 276, 1, 289, 270, 1, 375, 303, 1, 293, 329, 1, 348, 334, 1, 310, 334, 1, 343, 417, 1, 307, 415, 1, 337, 492, 1, 314, 489, 1, 330, 141, 1, 327, 197, 1], "image_id": 114428, "bbox": [275, 131, 118, 385], "category_id": 1, "id": 168469}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [376, 196, 1, 262, 182, 1, 398, 321, 1, 227, 291, 1, 364, 417, 1, 157, 306, 1, 330, 429, 1, 260, 428, 1, 342, 580, 1, 275, 560, 1, 351, 707, 1, 290, 677, 1, 280, 42, 1, 305, 157, 1], "image_id": 109743, "bbox": [112, 22, 313, 770], "category_id": 1, "id": 168471}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [571, 430, 1, 454, 390, 1, 658, 497, 1, 359, 500, 1, 718, 430, 1, 347, 441, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 313, 1, 463, 357, 1], "image_id": 118432, "bbox": [327, 283, 429, 340], "category_id": 1, "id": 168478}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [376, 279, 1, 221, 286, 1, 407, 381, 1, 214, 411, 1, 458, 449, 1, 206, 509, 1, 369, 508, 1, 272, 511, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 322, 128, 1, 304, 240, 1], "image_id": 113455, "bbox": [180, 110, 310, 529], "category_id": 1, "id": 168484}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [478, 148, 1, 374, 121, 1, 474, 190, 1, 355, 177, 1, 530, 254, 1, 382, 199, 1, 392, 358, 1, 308, 366, 1, 499, 413, 1, 222, 488, 1, 463, 572, 1, 132, 585, 1, 449, 67, 1, 431, 128, 1], "image_id": 113817, "bbox": [75, 37, 501, 626], "category_id": 1, "id": 168491}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [382, 368, 1, 47, 417, 1, 452, 515, 1, 97, 705, 1, 539, 576, 1, 318, 546, 1, 294, 852, 1, 70, 847, 1, 273, 733, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 90, 1, 222, 334, 1], "image_id": 117042, "bbox": [0, 24, 604, 975], "category_id": 1, "id": 168493}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 853, 46, 1, 982, 56, 1, 923, 53, 1, 979, 217, 1, 916, 212, 1, 973, 369, 1, 910, 367, 1, 0, 0, 0, 0, 0, 0], "image_id": 118089, "bbox": [826, 0, 172, 410], "category_id": 1, "id": 168528}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [255, 253, 1, 159, 347, 1, 375, 261, 1, 218, 439, 1, 333, 343, 1, 293, 518, 1, 311, 459, 1, 233, 468, 1, 343, 628, 1, 210, 649, 1, 279, 772, 1, 183, 778, 1, 146, 244, 1, 190, 293, 1], "image_id": 114944, "bbox": [100, 182, 313, 679], "category_id": 1, "id": 168542}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [381, 349, 1, 267, 339, 1, 388, 434, 1, 226, 391, 1, 387, 496, 1, 265, 329, 1, 361, 526, 1, 298, 524, 1, 368, 649, 1, 293, 637, 1, 367, 747, 1, 287, 747, 1, 310, 241, 1, 310, 324, 1], "image_id": 114577, "bbox": [206, 219, 196, 583], "category_id": 1, "id": 168548}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [759, 298, 1, 686, 297, 1, 805, 342, 1, 652, 355, 1, 845, 372, 1, 614, 317, 1, 745, 412, 1, 703, 412, 1, 742, 491, 1, 710, 493, 1, 740, 564, 1, 714, 566, 1, 731, 221, 1, 722, 279, 1], "image_id": 119217, "bbox": [567, 206, 238, 247], "category_id": 1, "id": 168552}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [658, 448, 1, 626, 467, 1, 578, 482, 1, 577, 460, 1, 509, 461, 1, 566, 441, 1, 490, 491, 1, 469, 518, 1, 380, 447, 1, 353, 461, 1, 273, 545, 1, 222, 506, 1, 683, 413, 1, 641, 454, 1], "image_id": 115800, "bbox": [147, 394, 556, 200], "category_id": 1, "id": 168555}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [833, 301, 1, 764, 307, 1, 796, 560, 1, 754, 463, 1, 661, 579, 1, 681, 543, 1, 860, 613, 1, 772, 524, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 86, 1, 786, 226, 1], "image_id": 115613, "bbox": [570, 38, 378, 603], "category_id": 1, "id": 168565}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 254, 1, 467, 302, 1, 490, 330, 1, 403, 379, 1, 439, 393, 1, 329, 414, 1, 582, 440, 1, 565, 441, 1, 557, 557, 1, 543, 552, 1, 549, 643, 1, 535, 643, 1, 420, 201, 1, 479, 258, 1], "image_id": 113030, "bbox": [287, 164, 311, 335], "category_id": 1, "id": 168583}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [502, 131, 1, 298, 134, 1, 583, 268, 1, 331, 292, 1, 588, 395, 1, 450, 411, 1, 482, 286, 1, 371, 287, 1, 496, 362, 1, 341, 399, 1, 508, 298, 1, 377, 319, 1, 349, 53, 1, 388, 126, 1], "image_id": 110269, "bbox": [264, 0, 352, 443], "category_id": 1, "id": 168631}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [753, 388, 1, 591, 416, 1, 809, 412, 1, 575, 469, 1, 853, 415, 1, 586, 515, 1, 631, 375, 1, 563, 390, 1, 610, 361, 1, 490, 436, 1, 592, 349, 1, 511, 395, 1, 671, 255, 1, 676, 379, 1], "image_id": 110269, "bbox": [448, 216, 490, 358], "category_id": 1, "id": 168632}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 330, 1, 244, 337, 1, 400, 428, 1, 245, 425, 1, 385, 495, 1, 240, 486, 1, 333, 521, 1, 276, 524, 1, 330, 710, 1, 281, 702, 1, 342, 875, 1, 309, 854, 1, 297, 196, 1, 303, 297, 1], "image_id": 109404, "bbox": [166, 178, 258, 799], "category_id": 1, "id": 168635}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [518, 133, 1, 474, 159, 1, 509, 119, 1, 477, 268, 1, 504, 110, 1, 537, 330, 1, 460, 285, 1, 386, 281, 1, 521, 381, 1, 382, 423, 1, 467, 480, 1, 340, 543, 1, 568, 117, 1, 512, 163, 1], "image_id": 115041, "bbox": [293, 85, 308, 501], "category_id": 1, "id": 168645}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 156, 1, 244, 183, 1, 408, 243, 1, 236, 272, 1, 403, 307, 1, 244, 311, 1, 378, 386, 1, 314, 387, 1, 408, 528, 1, 331, 536, 1, 418, 690, 1, 346, 684, 1, 282, 42, 1, 302, 146, 1], "image_id": 111985, "bbox": [210, 30, 240, 695], "category_id": 1, "id": 168658}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [252, 272, 1, 148, 271, 1, 307, 331, 1, 116, 302, 1, 286, 390, 1, 166, 213, 1, 209, 503, 1, 148, 500, 1, 193, 657, 1, 150, 647, 1, 176, 778, 1, 136, 799, 1, 201, 165, 1, 201, 263, 1], "image_id": 110720, "bbox": [77, 134, 203, 686], "category_id": 1, "id": 168685}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 249, 1, 213, 258, 1, 437, 313, 1, 158, 329, 1, 513, 289, 1, 95, 308, 1, 353, 484, 1, 279, 486, 1, 335, 652, 1, 279, 650, 1, 324, 802, 1, 280, 802, 1, 298, 113, 1, 303, 223, 1], "image_id": 113905, "bbox": [44, 90, 567, 779], "category_id": 1, "id": 168722}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [783, 168, 1, 623, 115, 1, 852, 235, 1, 567, 129, 1, 905, 312, 1, 516, 161, 1, 745, 331, 1, 681, 336, 1, 711, 412, 1, 735, 478, 1, 756, 529, 1, 817, 503, 1, 690, 66, 1, 698, 131, 1], "image_id": 119639, "bbox": [494, 31, 476, 575], "category_id": 1, "id": 168733}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [105, 121, 1, 179, 101, 1, 37, 204, 1, 260, 148, 1, 16, 264, 1, 340, 146, 1, 84, 258, 1, 108, 263, 1, 109, 381, 1, 86, 411, 1, 46, 480, 1, 48, 541, 1, 196, 26, 1, 163, 79, 1], "image_id": 113854, "bbox": [0, 3, 412, 596], "category_id": 1, "id": 168744}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [652, 443, 1, 451, 527, 1, 829, 521, 1, 298, 598, 1, 791, 495, 1, 165, 632, 1, 900, 470, 1, 900, 603, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 403, 1, 547, 488, 1], "image_id": 118107, "bbox": [100, 347, 899, 320], "category_id": 1, "id": 168749}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [414, 236, 1, 280, 234, 1, 417, 342, 1, 283, 343, 1, 432, 434, 1, 275, 430, 1, 377, 451, 1, 309, 451, 1, 362, 599, 1, 316, 602, 1, 362, 749, 1, 319, 748, 1, 346, 103, 1, 346, 207, 1], "image_id": 110305, "bbox": [248, 79, 202, 720], "category_id": 1, "id": 168762}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [573, 173, 1, 423, 193, 1, 599, 277, 1, 316, 271, 1, 649, 346, 1, 317, 242, 1, 543, 416, 1, 471, 424, 1, 502, 596, 1, 516, 595, 1, 447, 791, 1, 573, 776, 1, 522, 88, 1, 506, 152, 1], "image_id": 115577, "bbox": [288, 44, 399, 808], "category_id": 1, "id": 168763}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 260, 1, 353, 205, 1, 569, 351, 1, 308, 280, 1, 502, 367, 1, 314, 319, 1, 491, 360, 1, 394, 321, 1, 380, 476, 1, 306, 453, 1, 288, 617, 1, 240, 605, 1, 407, 163, 1, 419, 210, 1], "image_id": 111059, "bbox": [141, 111, 452, 597], "category_id": 1, "id": 168782}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 119, 1, 488, 100, 1, 404, 141, 1, 483, 162, 1, 361, 161, 1, 471, 212, 1, 475, 220, 1, 498, 217, 1, 510, 308, 1, 449, 289, 1, 585, 372, 1, 501, 368, 1, 435, 52, 1, 452, 97, 1], "image_id": 118016, "bbox": [410, 36, 225, 393], "category_id": 1, "id": 168790}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [592, 342, 1, 640, 345, 1, 598, 386, 1, 648, 391, 1, 593, 435, 1, 618, 414, 1, 619, 446, 1, 655, 446, 1, 606, 515, 1, 642, 515, 1, 0, 0, 0, 0, 0, 0, 612, 288, 1, 612, 327, 1], "image_id": 117424, "bbox": [564, 275, 108, 247], "category_id": 1, "id": 168792}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [446, 416, 1, 200, 393, 1, 437, 618, 1, 155, 590, 1, 490, 793, 1, 61, 710, 1, 405, 745, 1, 260, 752, 1, 419, 841, 1, 260, 848, 1, 0, 0, 0, 0, 0, 0, 304, 152, 1, 311, 352, 1], "image_id": 113421, "bbox": [0, 63, 648, 936], "category_id": 1, "id": 168805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [93, 338, 1, 205, 350, 1, 62, 449, 1, 233, 458, 1, 93, 519, 1, 273, 539, 1, 95, 555, 1, 176, 555, 1, 100, 663, 1, 199, 652, 1, 79, 800, 1, 233, 802, 1, 146, 231, 1, 146, 305, 1], "image_id": 115501, "bbox": [34, 216, 259, 657], "category_id": 1, "id": 168809}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 381, 1, 487, 340, 1, 686, 437, 1, 420, 272, 1, 759, 505, 1, 332, 197, 1, 592, 565, 1, 534, 573, 1, 613, 699, 1, 549, 706, 1, 630, 803, 1, 556, 815, 1, 584, 270, 1, 552, 347, 1], "image_id": 117256, "bbox": [248, 156, 581, 732], "category_id": 1, "id": 168812}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [485, 262, 1, 385, 267, 1, 491, 339, 1, 377, 339, 1, 483, 392, 1, 380, 401, 1, 459, 414, 1, 408, 414, 1, 474, 493, 1, 405, 495, 1, 0, 0, 0, 0, 0, 0, 431, 178, 1, 431, 247, 1], "image_id": 113978, "bbox": [359, 170, 148, 331], "category_id": 1, "id": 168836}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [653, 169, 1, 561, 158, 1, 713, 242, 1, 509, 224, 1, 659, 300, 1, 546, 303, 1, 615, 321, 1, 565, 317, 1, 613, 444, 1, 565, 435, 1, 622, 545, 1, 555, 537, 1, 613, 78, 1, 607, 150, 1], "image_id": 117956, "bbox": [494, 58, 216, 453], "category_id": 1, "id": 168882}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [402, 123, 1, 462, 91, 1, 323, 255, 1, 435, 114, 1, 260, 345, 1, 522, 194, 1, 387, 320, 1, 409, 300, 1, 482, 428, 1, 504, 420, 1, 478, 600, 1, 487, 607, 1, 508, 39, 1, 471, 81, 1], "image_id": 114308, "bbox": [201, 8, 378, 646], "category_id": 1, "id": 168900}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [166, 193, 1, 17, 187, 1, 196, 281, 1, 8, 293, 1, 186, 377, 1, 24, 386, 1, 154, 424, 1, 83, 426, 1, 149, 551, 1, 71, 554, 1, 139, 669, 1, 52, 685, 1, 90, 52, 1, 90, 152, 1], "image_id": 111563, "bbox": [12, 38, 213, 694], "category_id": 1, "id": 168925}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [591, 184, 1, 434, 196, 1, 679, 235, 1, 337, 227, 1, 754, 272, 1, 239, 251, 1, 549, 392, 1, 448, 392, 1, 545, 484, 1, 379, 535, 1, 446, 642, 1, 384, 545, 1, 508, 85, 1, 508, 168, 1], "image_id": 119812, "bbox": [172, 47, 632, 626], "category_id": 1, "id": 168935}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [485, 401, 1, 339, 371, 1, 414, 505, 1, 283, 490, 1, 349, 417, 1, 206, 556, 1, 467, 599, 1, 364, 596, 1, 338, 629, 1, 223, 603, 1, 0, 0, 0, 0, 0, 0, 389, 247, 1, 404, 357, 1], "image_id": 109328, "bbox": [141, 215, 390, 533], "category_id": 1, "id": 168949}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 190, 1, 313, 174, 1, 265, 304, 1, 211, 254, 1, 243, 261, 1, 258, 206, 1, 464, 409, 1, 377, 378, 1, 323, 495, 1, 241, 497, 1, 274, 661, 1, 224, 674, 1, 302, 42, 1, 322, 146, 1], "image_id": 109297, "bbox": [92, 17, 407, 745], "category_id": 1, "id": 168955}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [368, 161, 1, 263, 157, 1, 365, 260, 1, 241, 261, 1, 351, 280, 1, 188, 273, 1, 345, 386, 1, 283, 384, 1, 349, 527, 1, 289, 527, 1, 0, 0, 0, 0, 0, 0, 307, 37, 1, 310, 135, 1], "image_id": 113659, "bbox": [226, 9, 166, 570], "category_id": 1, "id": 168978}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [351, 188, 1, 213, 191, 1, 363, 243, 1, 184, 297, 1, 384, 282, 1, 213, 379, 1, 280, 325, 1, 213, 312, 1, 316, 431, 1, 164, 416, 1, 384, 540, 1, 79, 548, 1, 300, 105, 1, 280, 172, 1], "image_id": 111276, "bbox": [23, 72, 417, 553], "category_id": 1, "id": 168979}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [164, 340, 1, 46, 342, 1, 179, 453, 1, 38, 450, 1, 96, 495, 1, 25, 507, 1, 164, 515, 1, 79, 511, 1, 71, 589, 1, 0, 0, 0, 72, 728, 1, 0, 0, 0, 88, 199, 1, 96, 308, 1], "image_id": 111041, "bbox": [0, 187, 203, 612], "category_id": 1, "id": 168987}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [30, 331, 1, 0, 0, 0, 99, 431, 1, 0, 0, 0, 217, 512, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 127, 1, 244, 234, 1], "image_id": 119477, "bbox": [1, 78, 301, 921], "category_id": 1, "id": 169000}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [498, 346, 1, 554, 338, 1, 496, 399, 1, 564, 397, 1, 501, 428, 1, 572, 449, 1, 511, 453, 1, 550, 451, 1, 520, 520, 1, 544, 535, 1, 514, 596, 1, 540, 620, 1, 540, 285, 1, 529, 322, 1], "image_id": 119180, "bbox": [476, 269, 115, 352], "category_id": 1, "id": 169009}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [613, 353, 1, 375, 479, 1, 745, 479, 1, 395, 683, 1, 909, 549, 1, 323, 761, 1, 737, 619, 1, 626, 692, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 229, 1, 462, 386, 1], "image_id": 115918, "bbox": [203, 190, 796, 643], "category_id": 1, "id": 169016}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 541, 408, 1, 0, 0, 0, 561, 539, 1, 0, 0, 0, 588, 651, 1, 616, 634, 1, 524, 639, 1, 625, 798, 1, 527, 788, 1, 625, 923, 1, 532, 928, 1, 651, 253, 1, 612, 343, 1], "image_id": 118646, "bbox": [461, 177, 204, 782], "category_id": 1, "id": 169026}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [797, 293, 1, 658, 182, 1, 832, 408, 1, 545, 190, 1, 804, 454, 1, 427, 228, 1, 562, 460, 1, 498, 358, 1, 0, 0, 0, 412, 391, 1, 0, 0, 0, 279, 362, 1, 734, 97, 1, 727, 212, 1], "image_id": 113928, "bbox": [180, 62, 681, 554], "category_id": 1, "id": 169028}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [333, 483, 1, 232, 470, 1, 354, 577, 1, 206, 553, 1, 356, 665, 1, 175, 628, 1, 290, 680, 1, 221, 674, 1, 292, 787, 1, 211, 781, 1, 295, 866, 1, 201, 863, 1, 260, 381, 1, 270, 456, 1], "image_id": 118646, "bbox": [94, 272, 299, 662], "category_id": 1, "id": 169033}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 198, 1, 421, 170, 1, 489, 277, 1, 342, 175, 1, 501, 315, 1, 331, 215, 1, 419, 348, 1, 354, 339, 1, 481, 448, 1, 299, 468, 1, 444, 586, 1, 254, 458, 1, 491, 104, 1, 467, 168, 1], "image_id": 118672, "bbox": [184, 77, 353, 553], "category_id": 1, "id": 169037}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [125, 93, 1, 161, 83, 1, 135, 145, 1, 159, 114, 1, 149, 187, 1, 183, 154, 1, 118, 195, 1, 137, 195, 1, 127, 260, 1, 137, 266, 1, 136, 328, 1, 115, 339, 1, 153, 55, 1, 146, 76, 1], "image_id": 119562, "bbox": [84, 48, 113, 309], "category_id": 1, "id": 169073}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [268, 265, 1, 247, 261, 1, 261, 281, 1, 238, 269, 1, 257, 267, 1, 227, 263, 1, 266, 305, 1, 252, 304, 1, 266, 335, 1, 256, 337, 1, 269, 367, 1, 259, 368, 1, 266, 240, 1, 279, 266, 1], "image_id": 114473, "bbox": [223, 233, 70, 154], "category_id": 1, "id": 169079}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [582, 210, 1, 423, 203, 1, 594, 325, 1, 414, 316, 1, 568, 412, 1, 419, 406, 1, 557, 442, 1, 450, 439, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 84, 1, 507, 186, 1], "image_id": 118031, "bbox": [372, 59, 256, 423], "category_id": 1, "id": 169090}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [191, 228, 1, 37, 210, 1, 195, 366, 1, 0, 0, 0, 187, 492, 1, 0, 0, 0, 148, 487, 1, 63, 486, 1, 158, 676, 1, 10, 681, 1, 139, 853, 1, 0, 0, 0, 135, 64, 1, 123, 182, 1], "image_id": 119570, "bbox": [0, 45, 230, 859], "category_id": 1, "id": 169098}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [269, 383, 1, 193, 412, 1, 293, 419, 1, 159, 461, 1, 313, 394, 1, 115, 487, 1, 233, 536, 1, 187, 541, 1, 206, 611, 1, 162, 656, 1, 203, 741, 1, 141, 774, 1, 201, 292, 1, 229, 373, 1], "image_id": 111281, "bbox": [86, 263, 226, 580], "category_id": 1, "id": 169101}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 277, 1, 253, 317, 1, 250, 300, 1, 338, 379, 1, 291, 312, 1, 345, 324, 1, 207, 516, 1, 176, 516, 1, 219, 658, 1, 167, 680, 1, 139, 755, 1, 67, 837, 1, 225, 190, 1, 240, 273, 1], "image_id": 114497, "bbox": [22, 176, 347, 720], "category_id": 1, "id": 169124}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [386, 261, 1, 477, 306, 1, 421, 295, 1, 531, 399, 1, 338, 349, 1, 497, 473, 1, 454, 486, 1, 486, 489, 1, 362, 614, 1, 483, 618, 1, 460, 762, 1, 611, 733, 1, 403, 199, 1, 408, 258, 1], "image_id": 116228, "bbox": [239, 184, 425, 654], "category_id": 1, "id": 169128}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [579, 316, 1, 454, 277, 1, 614, 366, 1, 347, 306, 1, 605, 264, 1, 249, 307, 1, 365, 428, 1, 361, 382, 1, 202, 425, 1, 226, 381, 1, 108, 377, 1, 124, 358, 1, 566, 199, 1, 526, 273, 1], "image_id": 118735, "bbox": [2, 184, 661, 264], "category_id": 1, "id": 169134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [433, 157, 1, 509, 145, 1, 472, 152, 1, 555, 183, 1, 494, 134, 1, 550, 145, 1, 464, 312, 1, 501, 310, 1, 463, 416, 1, 503, 417, 1, 459, 499, 1, 504, 502, 1, 468, 72, 1, 468, 125, 1], "image_id": 112303, "bbox": [416, 53, 154, 479], "category_id": 1, "id": 169156}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [515, 189, 1, 548, 168, 1, 458, 241, 1, 618, 157, 1, 387, 279, 1, 661, 142, 1, 679, 314, 1, 648, 318, 1, 612, 453, 1, 598, 450, 1, 673, 592, 1, 694, 544, 1, 573, 70, 1, 547, 173, 1], "image_id": 119409, "bbox": [320, 83, 443, 568], "category_id": 1, "id": 169160}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [499, 164, 1, 368, 159, 1, 488, 261, 1, 323, 271, 1, 424, 324, 1, 366, 318, 1, 508, 340, 1, 447, 350, 1, 482, 414, 1, 323, 463, 1, 501, 561, 1, 429, 567, 1, 321, 61, 1, 341, 133, 1], "image_id": 113194, "bbox": [285, 17, 260, 579], "category_id": 1, "id": 169162}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [463, 202, 1, 376, 194, 1, 503, 224, 1, 342, 227, 1, 556, 233, 1, 303, 244, 1, 411, 277, 1, 372, 282, 1, 446, 267, 1, 394, 274, 1, 427, 303, 1, 369, 316, 1, 432, 142, 1, 425, 184, 1], "image_id": 114850, "bbox": [297, 125, 249, 210], "category_id": 1, "id": 169183}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [338, 171, 1, 243, 165, 1, 359, 252, 1, 223, 237, 1, 368, 313, 1, 229, 298, 1, 339, 329, 1, 270, 329, 1, 341, 468, 1, 281, 469, 1, 0, 0, 0, 0, 0, 0, 309, 86, 1, 292, 150, 1], "image_id": 119246, "bbox": [200, 62, 188, 316], "category_id": 1, "id": 169188}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [343, 236, 1, 177, 223, 1, 336, 371, 1, 167, 366, 1, 263, 451, 1, 244, 469, 1, 295, 403, 1, 183, 400, 1, 354, 527, 1, 133, 535, 1, 433, 687, 1, 83, 714, 1, 281, 84, 1, 265, 204, 1], "image_id": 117585, "bbox": [34, 51, 457, 745], "category_id": 1, "id": 169190}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [276, 325, 1, 207, 340, 1, 326, 379, 1, 197, 403, 1, 385, 423, 1, 181, 463, 1, 271, 491, 1, 220, 490, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 246, 1, 231, 313, 1], "image_id": 114274, "bbox": [159, 234, 277, 266], "category_id": 1, "id": 169206}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 234, 1, 251, 234, 1, 417, 380, 1, 207, 379, 1, 376, 263, 1, 279, 296, 1, 388, 498, 1, 306, 498, 1, 410, 688, 1, 295, 693, 1, 453, 888, 1, 288, 887, 1, 340, 71, 1, 334, 209, 1], "image_id": 119598, "bbox": [175, 47, 337, 908], "category_id": 1, "id": 169215}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [668, 242, 1, 492, 259, 1, 776, 335, 1, 491, 375, 1, 726, 428, 1, 516, 395, 1, 666, 550, 1, 570, 556, 1, 660, 719, 1, 588, 719, 1, 0, 0, 0, 0, 0, 0, 576, 53, 1, 576, 198, 1], "image_id": 113758, "bbox": [463, 35, 335, 713], "category_id": 1, "id": 169223}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [119, 335, 1, 168, 328, 1, 99, 420, 1, 152, 422, 1, 37, 471, 1, 93, 465, 1, 99, 552, 1, 135, 553, 1, 85, 695, 1, 75, 682, 1, 117, 843, 1, 155, 789, 1, 126, 206, 1, 131, 292, 1], "image_id": 117159, "bbox": [30, 184, 187, 716], "category_id": 1, "id": 169244}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [322, 421, 1, 141, 431, 1, 340, 637, 1, 157, 683, 1, 503, 706, 1, 352, 750, 1, 345, 865, 1, 227, 872, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 158, 1, 232, 366, 1], "image_id": 118464, "bbox": [61, 110, 447, 888], "category_id": 1, "id": 169252}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [490, 296, 1, 427, 296, 1, 573, 395, 1, 458, 439, 1, 594, 484, 1, 424, 447, 1, 554, 507, 1, 492, 510, 1, 482, 643, 1, 455, 673, 1, 623, 764, 1, 475, 823, 1, 380, 211, 1, 444, 280, 1], "image_id": 115924, "bbox": [296, 163, 359, 706], "category_id": 1, "id": 169254}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [813, 173, 1, 760, 176, 1, 810, 214, 1, 753, 216, 1, 798, 231, 1, 775, 233, 1, 797, 247, 1, 775, 247, 1, 792, 313, 1, 765, 308, 1, 789, 359, 1, 757, 364, 1, 791, 120, 1, 791, 161, 1], "image_id": 117909, "bbox": [735, 118, 93, 265], "category_id": 1, "id": 169257}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [305, 150, 1, 276, 153, 1, 313, 165, 1, 272, 173, 1, 323, 182, 1, 275, 190, 1, 305, 192, 1, 288, 195, 1, 317, 216, 1, 292, 217, 1, 322, 238, 1, 293, 244, 1, 287, 125, 1, 290, 144, 1], "image_id": 117306, "bbox": [264, 120, 71, 143], "category_id": 1, "id": 169261}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [426, 303, 1, 318, 227, 1, 341, 384, 1, 226, 261, 1, 240, 385, 1, 294, 308, 1, 412, 496, 1, 313, 492, 1, 497, 638, 1, 249, 617, 1, 554, 768, 1, 254, 731, 1, 400, 159, 1, 380, 242, 1], "image_id": 114497, "bbox": [182, 148, 422, 693], "category_id": 1, "id": 169281}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [529, 280, 1, 354, 356, 1, 586, 386, 1, 277, 433, 1, 688, 348, 1, 161, 477, 1, 570, 513, 1, 457, 510, 1, 596, 616, 1, 300, 619, 1, 0, 0, 0, 0, 0, 0, 297, 129, 1, 360, 241, 1], "image_id": 118767, "bbox": [60, 169, 674, 517], "category_id": 1, "id": 169282}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [498, 161, 1, 412, 144, 1, 525, 274, 1, 318, 163, 1, 544, 238, 1, 331, 148, 1, 455, 326, 1, 474, 325, 1, 407, 455, 1, 556, 399, 1, 313, 524, 1, 582, 541, 1, 492, 38, 1, 459, 116, 1], "image_id": 116365, "bbox": [271, 37, 398, 567], "category_id": 1, "id": 169311}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [136, 267, 1, 0, 0, 0, 188, 310, 1, 19, 397, 1, 154, 263, 1, 71, 510, 1, 143, 561, 1, 128, 563, 1, 140, 670, 1, 174, 670, 1, 0, 0, 0, 0, 0, 0, 74, 105, 1, 49, 220, 1], "image_id": 116470, "bbox": [2, 72, 231, 618], "category_id": 1, "id": 169328}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [411, 294, 1, 393, 266, 1, 403, 461, 1, 323, 388, 1, 268, 465, 1, 217, 324, 1, 395, 530, 1, 385, 529, 1, 396, 720, 1, 387, 717, 1, 0, 0, 0, 0, 0, 0, 380, 93, 1, 404, 227, 1], "image_id": 110764, "bbox": [178, 63, 347, 704], "category_id": 1, "id": 169334}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [638, 183, 1, 502, 171, 1, 692, 243, 1, 424, 201, 1, 703, 286, 1, 345, 223, 1, 605, 335, 1, 543, 327, 1, 655, 462, 1, 505, 403, 1, 684, 539, 1, 474, 531, 1, 572, 78, 1, 577, 151, 1], "image_id": 119402, "bbox": [286, 53, 458, 528], "category_id": 1, "id": 169335}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [221, 794, 1, 280, 768, 1, 223, 947, 1, 286, 925, 1, 167, 976, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 661, 1, 229, 756, 1], "image_id": 114728, "bbox": [134, 625, 199, 372], "category_id": 1, "id": 169336}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [472, 187, 1, 434, 191, 1, 489, 227, 1, 428, 251, 1, 518, 251, 1, 481, 270, 1, 438, 300, 1, 409, 300, 1, 433, 390, 1, 414, 387, 1, 440, 459, 1, 416, 456, 1, 503, 120, 1, 460, 162, 1], "image_id": 113028, "bbox": [381, 96, 166, 206], "category_id": 1, "id": 169365}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [698, 459, 1, 601, 361, 1, 642, 552, 1, 537, 279, 1, 541, 543, 1, 520, 195, 1, 623, 652, 1, 549, 648, 1, 612, 812, 1, 537, 774, 1, 611, 986, 1, 512, 893, 1, 704, 341, 1, 655, 396, 1], "image_id": 118683, "bbox": [415, 109, 328, 890], "category_id": 1, "id": 169378}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [488, 201, 1, 395, 195, 1, 505, 268, 1, 320, 245, 1, 472, 308, 1, 402, 275, 1, 367, 387, 1, 390, 379, 1, 392, 488, 1, 502, 462, 1, 0, 0, 0, 0, 0, 0, 465, 91, 1, 443, 174, 1], "image_id": 118226, "bbox": [294, 77, 237, 527], "category_id": 1, "id": 169389}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [284, 322, 1, 201, 321, 1, 288, 396, 1, 163, 357, 1, 281, 443, 1, 159, 421, 1, 272, 405, 1, 234, 407, 1, 288, 491, 1, 241, 475, 1, 324, 556, 1, 195, 562, 1, 230, 228, 1, 237, 303, 1], "image_id": 111276, "bbox": [142, 206, 231, 418], "category_id": 1, "id": 169399}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [518, 189, 1, 450, 184, 1, 530, 253, 1, 449, 243, 1, 524, 304, 1, 442, 300, 1, 515, 298, 1, 465, 299, 1, 513, 381, 1, 463, 373, 1, 509, 454, 1, 461, 450, 1, 464, 105, 1, 480, 161, 1], "image_id": 117931, "bbox": [417, 95, 139, 139], "category_id": 1, "id": 169414}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [382, 163, 1, 178, 51, 1, 469, 231, 1, 0, 0, 0, 518, 284, 1, 45, 95, 1, 291, 307, 1, 146, 289, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 16, 1, 276, 113, 1], "image_id": 109834, "bbox": [2, 1, 623, 434], "category_id": 1, "id": 169451}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 272, 1, 172, 361, 1, 347, 225, 1, 159, 443, 1, 368, 172, 1, 145, 513, 1, 351, 450, 1, 299, 486, 1, 419, 520, 1, 404, 526, 1, 387, 567, 1, 530, 573, 1, 184, 212, 1, 208, 295, 1], "image_id": 115041, "bbox": [93, 126, 494, 462], "category_id": 1, "id": 169474}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [356, 170, 1, 244, 188, 1, 361, 275, 1, 229, 291, 1, 369, 355, 1, 211, 378, 1, 341, 369, 1, 265, 358, 1, 312, 512, 1, 286, 509, 1, 291, 620, 1, 295, 656, 1, 284, 57, 1, 294, 147, 1], "image_id": 116003, "bbox": [191, 41, 202, 709], "category_id": 1, "id": 169478}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [91, 282, 1, 126, 297, 1, 60, 390, 1, 91, 396, 1, 68, 456, 1, 50, 459, 1, 122, 485, 1, 129, 485, 1, 118, 628, 1, 123, 628, 1, 123, 750, 1, 127, 751, 1, 140, 172, 1, 126, 247, 1], "image_id": 111370, "bbox": [32, 158, 165, 620], "category_id": 1, "id": 169519}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [75, 141, 1, 26, 138, 1, 36, 244, 1, 8, 261, 1, 130, 244, 1, 108, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 19, 1, 72, 101, 1], "image_id": 114518, "bbox": [0, 8, 177, 280], "category_id": 1, "id": 169525}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [356, 224, 1, 360, 224, 1, 335, 343, 1, 359, 318, 1, 297, 304, 1, 303, 304, 1, 399, 447, 1, 384, 445, 1, 406, 628, 1, 403, 624, 1, 472, 782, 1, 448, 779, 1, 285, 98, 1, 335, 176, 1], "image_id": 119641, "bbox": [246, 63, 275, 802], "category_id": 1, "id": 169526}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [239, 229, 1, 217, 231, 1, 229, 344, 1, 216, 384, 1, 156, 292, 1, 177, 520, 1, 239, 530, 1, 216, 536, 1, 244, 737, 1, 166, 706, 1, 275, 923, 1, 289, 873, 1, 170, 84, 1, 220, 184, 1], "image_id": 116984, "bbox": [103, 57, 267, 940], "category_id": 1, "id": 169538}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [595, 213, 1, 461, 228, 1, 649, 297, 1, 462, 363, 1, 641, 326, 1, 449, 353, 1, 573, 377, 1, 482, 389, 1, 578, 257, 1, 491, 261, 1, 610, 430, 1, 518, 437, 1, 470, 99, 1, 517, 191, 1], "image_id": 111303, "bbox": [404, 68, 268, 419], "category_id": 1, "id": 169546}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [329, 345, 1, 25, 322, 1, 328, 599, 1, 0, 0, 0, 207, 710, 1, 0, 0, 0, 198, 687, 1, 51, 659, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 69, 1, 151, 293, 1], "image_id": 109132, "bbox": [1, 25, 384, 694], "category_id": 1, "id": 169556}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [666, 277, 1, 758, 242, 1, 599, 327, 1, 660, 292, 1, 590, 235, 1, 627, 225, 1, 730, 465, 1, 743, 434, 1, 616, 447, 1, 651, 403, 1, 665, 573, 1, 677, 570, 1, 701, 139, 1, 701, 218, 1], "image_id": 118969, "bbox": [567, 120, 292, 445], "category_id": 1, "id": 169557}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 236, 1, 80, 224, 1, 289, 280, 1, 31, 275, 1, 245, 327, 1, 68, 333, 1, 200, 406, 1, 140, 407, 1, 198, 531, 1, 123, 528, 1, 191, 621, 1, 116, 624, 1, 174, 124, 1, 152, 204, 1], "image_id": 116168, "bbox": [0, 97, 313, 593], "category_id": 1, "id": 169569}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 282, 1, 162, 272, 1, 271, 388, 1, 144, 365, 1, 226, 453, 1, 182, 461, 1, 207, 501, 1, 147, 490, 1, 182, 612, 1, 138, 607, 1, 158, 727, 1, 122, 725, 1, 237, 134, 1, 232, 242, 1], "image_id": 109621, "bbox": [96, 116, 226, 713], "category_id": 1, "id": 169572}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [338, 194, 1, 300, 198, 1, 331, 228, 1, 300, 234, 1, 334, 254, 1, 310, 255, 1, 330, 266, 1, 307, 266, 1, 330, 304, 1, 317, 302, 1, 328, 337, 1, 315, 346, 1, 329, 139, 1, 323, 182, 1], "image_id": 116280, "bbox": [287, 126, 72, 249], "category_id": 1, "id": 169590}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [225, 213, 1, 207, 211, 1, 226, 229, 1, 197, 226, 1, 228, 240, 1, 201, 238, 1, 213, 246, 1, 203, 246, 1, 220, 266, 1, 202, 266, 1, 214, 285, 1, 196, 285, 1, 214, 192, 1, 217, 206, 1], "image_id": 113412, "bbox": [187, 188, 46, 110], "category_id": 1, "id": 169597}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [408, 250, 1, 358, 234, 1, 412, 202, 1, 351, 203, 1, 415, 157, 1, 347, 157, 1, 351, 352, 1, 321, 341, 1, 369, 419, 1, 278, 357, 1, 424, 413, 1, 315, 409, 1, 401, 196, 1, 385, 231, 1], "image_id": 116404, "bbox": [262, 114, 170, 312], "category_id": 1, "id": 169604}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [589, 239, 1, 528, 237, 1, 592, 280, 1, 522, 290, 1, 584, 313, 1, 557, 319, 1, 572, 350, 1, 543, 348, 1, 568, 412, 1, 531, 417, 1, 570, 472, 1, 526, 483, 1, 564, 166, 1, 564, 218, 1], "image_id": 111552, "bbox": [509, 155, 96, 354], "category_id": 1, "id": 169609}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [761, 153, 1, 780, 154, 1, 760, 191, 1, 787, 191, 1, 782, 180, 1, 802, 181, 1, 769, 243, 1, 785, 244, 1, 758, 284, 1, 796, 292, 1, 724, 335, 1, 806, 340, 1, 792, 106, 1, 781, 134, 1], "image_id": 117294, "bbox": [735, 93, 91, 266], "category_id": 1, "id": 169623}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 63, 1, 30, 76, 1, 109, 58, 1, 62, 58, 1, 111, 145, 1, 66, 151, 1, 111, 222, 1, 73, 223, 1, 0, 0, 0, 0, 0, 0], "image_id": 118089, "bbox": [9, 0, 144, 256], "category_id": 1, "id": 169643}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [378, 370, 1, 216, 437, 1, 481, 399, 1, 208, 534, 1, 596, 410, 1, 174, 606, 1, 383, 558, 1, 301, 607, 1, 346, 630, 1, 173, 726, 1, 379, 824, 1, 171, 875, 1, 281, 272, 1, 291, 377, 1], "image_id": 119542, "bbox": [87, 246, 533, 651], "category_id": 1, "id": 169645}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [548, 291, 1, 407, 318, 1, 552, 408, 1, 430, 432, 1, 536, 503, 1, 473, 508, 1, 550, 475, 1, 489, 483, 1, 544, 641, 1, 489, 641, 1, 532, 798, 1, 473, 799, 1, 461, 168, 1, 466, 276, 1], "image_id": 113905, "bbox": [381, 152, 245, 714], "category_id": 1, "id": 169646}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [506, 319, 1, 602, 338, 1, 470, 422, 1, 679, 407, 1, 557, 428, 1, 718, 392, 1, 502, 545, 1, 565, 549, 1, 502, 698, 1, 553, 698, 1, 489, 861, 1, 534, 857, 1, 565, 221, 1, 554, 289, 1], "image_id": 118894, "bbox": [445, 194, 295, 704], "category_id": 1, "id": 169669}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [0, 0, 0, 567, 11, 1, 637, 39, 1, 528, 91, 1, 676, 75, 1, 517, 188, 1, 614, 159, 1, 554, 167, 1, 632, 250, 1, 525, 286, 1, 620, 351, 1, 478, 416, 1, 0, 0, 0, 0, 0, 0], "image_id": 111051, "bbox": [444, 1, 285, 482], "category_id": 1, "id": 169672}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [889, 543, 1, 845, 475, 1, 760, 619, 1, 750, 529, 1, 698, 494, 1, 746, 463, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 365, 1, 0, 0, 0], "image_id": 117227, "bbox": [637, 339, 311, 294], "category_id": 1, "id": 169681}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [544, 104, 1, 444, 117, 1, 611, 179, 1, 429, 169, 1, 581, 198, 1, 401, 201, 1, 542, 219, 1, 491, 219, 1, 539, 274, 1, 459, 271, 1, 588, 250, 1, 513, 256, 1, 464, 53, 1, 488, 106, 1], "image_id": 115303, "bbox": [378, 19, 257, 293], "category_id": 1, "id": 169696}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [472, 193, 1, 384, 219, 1, 430, 300, 1, 362, 316, 1, 327, 286, 1, 294, 275, 1, 518, 392, 1, 449, 390, 1, 513, 567, 1, 379, 501, 1, 555, 637, 1, 338, 664, 1, 408, 86, 1, 422, 180, 1], "image_id": 114749, "bbox": [250, 62, 343, 662], "category_id": 1, "id": 169699}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [292, 310, 1, 214, 295, 1, 353, 351, 1, 150, 349, 1, 441, 293, 1, 84, 391, 1, 395, 486, 1, 416, 459, 1, 403, 603, 1, 524, 519, 1, 250, 601, 1, 621, 592, 1, 238, 215, 1, 244, 289, 1], "image_id": 115115, "bbox": [28, 202, 694, 455], "category_id": 1, "id": 169707}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [15, 311, 1, 30, 311, 1, 9, 360, 1, 31, 364, 1, 34, 390, 1, 52, 397, 1, 12, 409, 1, 28, 409, 1, 14, 474, 1, 29, 474, 1, 0, 0, 0, 0, 0, 0, 19, 259, 1, 15, 293, 1], "image_id": 117424, "bbox": [0, 244, 71, 278], "category_id": 1, "id": 169708}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [257, 267, 1, 160, 287, 1, 313, 315, 1, 117, 287, 1, 357, 343, 1, 57, 276, 1, 313, 445, 1, 249, 451, 1, 383, 546, 1, 170, 533, 1, 418, 647, 1, 198, 637, 1, 200, 224, 1, 215, 282, 1], "image_id": 112031, "bbox": [3, 203, 450, 493], "category_id": 1, "id": 169717}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [99, 327, 1, 84, 326, 1, 95, 357, 1, 87, 361, 1, 105, 379, 1, 92, 381, 1, 84, 382, 1, 78, 382, 1, 97, 417, 1, 93, 418, 1, 87, 452, 1, 89, 460, 1, 90, 293, 1, 92, 318, 1], "image_id": 117424, "bbox": [59, 284, 56, 191], "category_id": 1, "id": 169724}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [646, 236, 1, 507, 261, 1, 735, 257, 1, 467, 342, 1, 776, 243, 1, 463, 321, 1, 665, 452, 1, 576, 478, 1, 700, 602, 1, 583, 613, 1, 725, 721, 1, 630, 671, 1, 566, 140, 1, 566, 228, 1], "image_id": 118801, "bbox": [459, 114, 368, 642], "category_id": 1, "id": 169735}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [335, 256, 1, 249, 262, 1, 385, 261, 1, 229, 346, 1, 397, 245, 1, 270, 406, 1, 308, 389, 1, 255, 392, 1, 342, 487, 1, 296, 457, 1, 0, 0, 0, 0, 0, 0, 312, 187, 1, 294, 251, 1], "image_id": 113978, "bbox": [215, 172, 202, 329], "category_id": 1, "id": 169740}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [420, 268, 1, 315, 259, 1, 418, 361, 1, 304, 365, 1, 386, 416, 1, 340, 435, 1, 375, 414, 1, 316, 415, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 376, 147, 1, 365, 242, 1], "image_id": 109885, "bbox": [262, 132, 173, 326], "category_id": 1, "id": 169741}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [562, 376, 1, 639, 351, 1, 471, 364, 1, 700, 414, 1, 402, 423, 1, 766, 493, 1, 423, 437, 1, 361, 410, 1, 431, 604, 1, 322, 578, 1, 417, 795, 1, 230, 737, 1, 676, 442, 1, 603, 393, 1], "image_id": 116390, "bbox": [186, 255, 647, 583], "category_id": 1, "id": 169793}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [152, 48, 1, 189, 68, 1, 87, 56, 1, 171, 142, 1, 74, 114, 1, 215, 138, 1, 119, 205, 1, 98, 201, 1, 174, 261, 1, 92, 285, 1, 94, 312, 1, 17, 358, 1, 232, 15, 1, 193, 42, 1], "image_id": 114237, "bbox": [41, 1, 215, 335], "category_id": 1, "id": 169801}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [527, 271, 1, 439, 260, 1, 589, 284, 1, 392, 297, 1, 527, 245, 1, 431, 306, 1, 502, 496, 1, 430, 487, 1, 0, 0, 0, 390, 608, 1, 0, 0, 0, 0, 0, 0, 482, 182, 1, 469, 257, 1], "image_id": 114759, "bbox": [339, 170, 258, 455], "category_id": 1, "id": 169812}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [291, 269, 1, 136, 266, 1, 299, 363, 1, 110, 371, 1, 336, 413, 1, 148, 386, 1, 253, 511, 1, 180, 513, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 132, 1, 211, 244, 1], "image_id": 119527, "bbox": [85, 119, 282, 479], "category_id": 1, "id": 169817}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [578, 242, 1, 475, 226, 1, 572, 299, 1, 456, 310, 1, 595, 303, 1, 514, 300, 1, 502, 376, 1, 446, 358, 1, 542, 485, 1, 425, 442, 1, 481, 572, 1, 367, 564, 1, 550, 166, 1, 529, 215, 1], "image_id": 116770, "bbox": [342, 135, 288, 465], "category_id": 1, "id": 169830}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [98, 45, 1, 0, 0, 0, 77, 221, 1, 0, 0, 0, 170, 268, 1, 79, 265, 1, 82, 397, 1, 0, 0, 0, 122, 666, 1, 0, 0, 0, 55, 886, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 119598, "bbox": [0, 0, 237, 1000], "category_id": 1, "id": 169837}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [51, 132, 1, 15, 126, 1, 54, 162, 1, 6, 158, 1, 51, 183, 1, 0, 0, 0, 39, 184, 1, 18, 184, 1, 38, 239, 1, 16, 233, 1, 33, 271, 1, 19, 265, 1, 27, 95, 1, 28, 121, 1], "image_id": 115251, "bbox": [1, 87, 62, 199], "category_id": 1, "id": 169841}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [283, 476, 1, 174, 461, 1, 321, 557, 1, 102, 537, 1, 274, 488, 1, 148, 486, 1, 213, 637, 1, 151, 631, 1, 243, 643, 1, 99, 738, 1, 64, 699, 1, 0, 0, 0, 260, 374, 1, 230, 457, 1], "image_id": 113435, "bbox": [3, 353, 346, 443], "category_id": 1, "id": 169887}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [472, 262, 1, 288, 282, 1, 504, 372, 1, 294, 400, 1, 445, 417, 1, 348, 439, 1, 459, 501, 1, 368, 512, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 138, 1, 379, 240, 1], "image_id": 111885, "bbox": [259, 119, 271, 477], "category_id": 1, "id": 169909}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [154, 257, 1, 300, 234, 1, 164, 360, 1, 366, 406, 1, 186, 460, 1, 409, 501, 1, 253, 584, 1, 348, 581, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 66, 1, 236, 183, 1], "image_id": 116470, "bbox": [116, 26, 348, 664], "category_id": 1, "id": 169917}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [488, 265, 1, 361, 281, 1, 582, 355, 1, 339, 419, 1, 515, 430, 1, 254, 459, 1, 459, 504, 1, 391, 502, 1, 456, 677, 1, 421, 667, 1, 466, 844, 1, 451, 844, 1, 387, 122, 1, 412, 245, 1], "image_id": 115199, "bbox": [336, 97, 270, 825], "category_id": 1, "id": 169920}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [142, 322, 1, 0, 0, 0, 158, 399, 1, 0, 0, 0, 115, 417, 1, 81, 431, 1, 119, 510, 1, 42, 511, 1, 121, 658, 1, 45, 659, 1, 113, 754, 1, 49, 762, 1, 71, 193, 1, 71, 280, 1], "image_id": 113434, "bbox": [2, 173, 176, 644], "category_id": 1, "id": 169921}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [328, 272, 1, 196, 317, 1, 371, 400, 1, 196, 447, 1, 435, 495, 1, 301, 436, 1, 387, 450, 1, 317, 495, 1, 562, 536, 1, 435, 446, 1, 712, 644, 1, 490, 631, 1, 253, 126, 1, 246, 246, 1], "image_id": 114409, "bbox": [114, 93, 714, 644], "category_id": 1, "id": 169944}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [235, 136, 1, 187, 127, 1, 214, 149, 1, 105, 163, 1, 279, 152, 1, 169, 201, 1, 225, 313, 1, 168, 326, 1, 279, 429, 1, 222, 461, 1, 203, 482, 1, 188, 562, 1, 238, 58, 1, 212, 122, 1], "image_id": 118167, "bbox": [72, 26, 259, 603], "category_id": 1, "id": 169961}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [328, 153, 1, 213, 137, 1, 357, 212, 1, 147, 206, 1, 320, 280, 1, 170, 201, 1, 269, 332, 1, 231, 329, 1, 181, 420, 1, 266, 456, 1, 195, 544, 1, 329, 543, 1, 280, 38, 1, 272, 126, 1], "image_id": 112593, "bbox": [132, 12, 244, 593], "category_id": 1, "id": 169963}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [902, 242, 1, 840, 234, 1, 888, 174, 1, 816, 171, 1, 887, 132, 1, 869, 135, 1, 852, 390, 1, 812, 374, 1, 850, 489, 1, 740, 395, 1, 905, 460, 1, 769, 485, 1, 853, 168, 1, 869, 229, 1], "image_id": 116404, "bbox": [719, 107, 206, 408], "category_id": 1, "id": 169967}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [104, 213, 1, 20, 191, 1, 88, 317, 1, 10, 298, 1, 143, 298, 1, 108, 289, 1, 110, 398, 1, 56, 401, 1, 98, 525, 1, 114, 546, 1, 91, 620, 1, 71, 675, 1, 116, 100, 1, 67, 183, 1], "image_id": 115005, "bbox": [1, 81, 189, 665], "category_id": 1, "id": 169970}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [499, 284, 1, 464, 279, 1, 490, 422, 1, 324, 293, 1, 467, 540, 1, 231, 226, 1, 457, 565, 1, 420, 564, 1, 485, 743, 1, 417, 727, 1, 503, 933, 1, 469, 909, 1, 268, 121, 1, 231, 215, 1], "image_id": 110306, "bbox": [173, 82, 385, 917], "category_id": 1, "id": 169983}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [257, 230, 1, 176, 239, 1, 273, 311, 1, 199, 352, 1, 300, 380, 1, 279, 390, 1, 262, 353, 1, 193, 376, 1, 367, 366, 1, 266, 415, 1, 322, 492, 1, 270, 519, 1, 227, 144, 1, 217, 225, 1], "image_id": 116113, "bbox": [144, 127, 251, 450], "category_id": 1, "id": 169984}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [184, 147, 1, 236, 162, 1, 136, 202, 1, 263, 212, 1, 176, 200, 1, 275, 232, 1, 179, 285, 1, 227, 287, 1, 185, 368, 1, 224, 369, 1, 0, 0, 0, 0, 0, 0, 216, 90, 1, 209, 131, 1], "image_id": 109841, "bbox": [109, 79, 177, 239], "category_id": 1, "id": 170008}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [674, 153, 1, 838, 171, 1, 544, 176, 1, 888, 294, 1, 542, 172, 1, 912, 394, 1, 728, 389, 1, 811, 399, 1, 707, 581, 1, 789, 583, 1, 0, 0, 0, 0, 0, 0, 718, 53, 1, 742, 120, 1], "image_id": 112152, "bbox": [525, 17, 408, 613], "category_id": 1, "id": 170023}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [202, 275, 1, 346, 338, 1, 178, 462, 1, 345, 523, 1, 290, 422, 1, 402, 446, 1, 169, 568, 1, 256, 590, 1, 352, 534, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 113, 1, 293, 244, 1], "image_id": 116705, "bbox": [119, 83, 467, 549], "category_id": 1, "id": 170035}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [487, 339, 1, 346, 323, 1, 552, 249, 1, 268, 233, 1, 585, 129, 1, 242, 119, 1, 453, 586, 1, 354, 583, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 236, 1, 415, 311, 1], "image_id": 114624, "bbox": [208, 25, 418, 570], "category_id": 1, "id": 170050}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [523, 145, 1, 419, 163, 1, 533, 249, 1, 450, 254, 1, 509, 304, 1, 430, 335, 1, 494, 366, 1, 430, 366, 1, 447, 515, 1, 355, 480, 1, 491, 651, 1, 380, 626, 1, 429, 22, 1, 459, 118, 1], "image_id": 119693, "bbox": [282, 0, 270, 731], "category_id": 1, "id": 170054}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [535, 213, 1, 384, 167, 1, 468, 304, 1, 303, 240, 1, 403, 266, 1, 313, 275, 1, 469, 446, 1, 376, 434, 1, 463, 629, 1, 368, 584, 1, 461, 759, 1, 365, 699, 1, 480, 61, 1, 469, 172, 1], "image_id": 112455, "bbox": [280, 27, 289, 798], "category_id": 1, "id": 170058}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [351, 216, 1, 206, 229, 1, 389, 287, 1, 152, 319, 1, 393, 370, 1, 124, 414, 1, 303, 394, 1, 221, 407, 1, 308, 532, 1, 161, 540, 1, 276, 672, 1, 127, 660, 1, 284, 102, 1, 279, 199, 1], "image_id": 112210, "bbox": [80, 77, 335, 649], "category_id": 1, "id": 170061}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 146, 1, 479, 132, 1, 709, 179, 1, 389, 151, 1, 768, 210, 1, 290, 174, 1, 604, 313, 1, 523, 314, 1, 549, 396, 1, 453, 453, 1, 471, 536, 1, 537, 480, 1, 555, 61, 1, 549, 125, 1], "image_id": 119377, "bbox": [216, 41, 626, 545], "category_id": 1, "id": 170091}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [228, 214, 1, 183, 229, 1, 235, 166, 1, 180, 309, 1, 265, 161, 1, 190, 371, 1, 221, 352, 1, 202, 352, 1, 209, 458, 1, 199, 457, 1, 196, 561, 1, 192, 560, 1, 226, 142, 1, 209, 209, 1], "image_id": 109194, "bbox": [155, 128, 126, 470], "category_id": 1, "id": 170094}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [397, 236, 1, 294, 281, 1, 453, 295, 1, 321, 427, 1, 497, 311, 1, 434, 394, 1, 377, 483, 1, 315, 512, 1, 442, 561, 1, 380, 669, 1, 557, 718, 1, 434, 794, 1, 343, 146, 1, 343, 242, 1], "image_id": 115715, "bbox": [243, 122, 384, 737], "category_id": 1, "id": 170103}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [674, 349, 1, 596, 351, 1, 699, 395, 1, 566, 385, 1, 706, 430, 1, 570, 388, 1, 656, 464, 1, 617, 461, 1, 651, 527, 1, 619, 516, 1, 654, 575, 1, 625, 551, 1, 638, 265, 1, 635, 330, 1], "image_id": 113723, "bbox": [550, 246, 179, 361], "category_id": 1, "id": 170120}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 207, 1, 101, 215, 1, 330, 324, 1, 80, 334, 1, 287, 344, 1, 106, 355, 1, 263, 445, 1, 165, 450, 1, 271, 614, 1, 180, 614, 1, 237, 720, 1, 198, 791, 1, 183, 41, 1, 194, 169, 1], "image_id": 111914, "bbox": [42, 23, 310, 844], "category_id": 1, "id": 170131}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [287, 114, 1, 200, 112, 1, 308, 189, 1, 187, 183, 1, 275, 205, 1, 203, 193, 1, 267, 265, 1, 224, 264, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 40, 1, 241, 96, 1], "image_id": 113653, "bbox": [173, 17, 150, 282], "category_id": 1, "id": 170134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [437, 270, 1, 324, 284, 1, 481, 385, 1, 330, 391, 1, 446, 474, 1, 276, 451, 1, 397, 506, 1, 337, 509, 1, 402, 686, 1, 337, 686, 1, 429, 785, 1, 330, 831, 1, 330, 132, 1, 367, 249, 1], "image_id": 119477, "bbox": [220, 97, 350, 848], "category_id": 1, "id": 170148}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [406, 215, 1, 258, 220, 1, 409, 331, 1, 242, 320, 1, 385, 467, 1, 232, 430, 1, 485, 246, 1, 374, 268, 1, 419, 296, 1, 295, 318, 1, 425, 411, 1, 391, 374, 1, 308, 164, 1, 320, 195, 1], "image_id": 111387, "bbox": [195, 108, 337, 400], "category_id": 1, "id": 170150}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [454, 835, 1, 607, 833, 1, 379, 868, 1, 560, 880, 1, 416, 774, 1, 526, 785, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 554, 739, 1, 537, 813, 1], "image_id": 118172, "bbox": [364, 721, 261, 278], "category_id": 1, "id": 170165}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [747, 215, 1, 617, 208, 1, 823, 258, 1, 554, 270, 1, 856, 335, 1, 510, 330, 1, 687, 390, 1, 631, 390, 1, 662, 465, 1, 611, 513, 1, 624, 600, 1, 603, 600, 1, 686, 111, 1, 686, 195, 1], "image_id": 117845, "bbox": [472, 79, 417, 586], "category_id": 1, "id": 170167}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [302, 115, 1, 281, 75, 1, 242, 220, 1, 274, 145, 1, 270, 334, 1, 364, 211, 1, 243, 290, 1, 181, 289, 1, 340, 336, 1, 171, 450, 1, 445, 379, 1, 86, 630, 1, 406, 20, 1, 316, 73, 1], "image_id": 115113, "bbox": [46, 0, 512, 666], "category_id": 1, "id": 170172}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 244, 1, 123, 287, 1, 357, 345, 1, 126, 431, 1, 371, 458, 1, 221, 455, 1, 328, 477, 1, 220, 491, 1, 450, 487, 1, 137, 548, 1, 373, 666, 1, 219, 695, 1, 176, 95, 1, 218, 241, 1], "image_id": 116902, "bbox": [85, 54, 421, 695], "category_id": 1, "id": 170175}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [726, 272, 1, 516, 262, 1, 770, 429, 1, 525, 442, 1, 709, 577, 1, 537, 575, 1, 652, 621, 1, 527, 620, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 66, 1, 604, 212, 1], "image_id": 112214, "bbox": [477, 29, 332, 621], "category_id": 1, "id": 170176}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [408, 217, 1, 245, 253, 1, 437, 356, 1, 295, 371, 1, 431, 472, 1, 362, 267, 1, 393, 477, 1, 306, 478, 1, 395, 633, 1, 271, 653, 1, 407, 759, 1, 237, 827, 1, 275, 55, 1, 310, 202, 1], "image_id": 117616, "bbox": [156, 37, 315, 876], "category_id": 1, "id": 170191}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 171, 1, 509, 223, 1, 276, 219, 1, 544, 365, 1, 178, 279, 1, 592, 478, 1, 318, 380, 1, 320, 398, 1, 404, 512, 1, 285, 560, 1, 338, 712, 1, 106, 636, 1, 556, 112, 1, 495, 173, 1], "image_id": 115376, "bbox": [57, 80, 592, 682], "category_id": 1, "id": 170211}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 236, 1, 290, 244, 1, 313, 328, 1, 296, 319, 1, 278, 389, 1, 263, 379, 1, 322, 414, 1, 304, 414, 1, 342, 536, 1, 331, 539, 1, 332, 636, 1, 326, 642, 1, 275, 148, 1, 300, 215, 1], "image_id": 117351, "bbox": [256, 123, 127, 559], "category_id": 1, "id": 170226}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [586, 222, 1, 431, 196, 1, 658, 263, 1, 337, 198, 1, 714, 264, 1, 257, 189, 1, 513, 416, 1, 445, 402, 1, 520, 529, 1, 386, 533, 1, 548, 625, 1, 409, 595, 1, 498, 101, 1, 509, 189, 1], "image_id": 115645, "bbox": [193, 92, 583, 564], "category_id": 1, "id": 170238}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [828, 202, 1, 640, 190, 1, 891, 301, 1, 511, 173, 1, 872, 296, 1, 532, 213, 1, 736, 475, 1, 642, 450, 1, 0, 0, 0, 727, 604, 1, 0, 0, 0, 0, 0, 0, 749, 64, 1, 741, 183, 1], "image_id": 118615, "bbox": [485, 48, 426, 584], "category_id": 1, "id": 170240}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [427, 214, 1, 267, 236, 1, 438, 329, 1, 264, 349, 1, 389, 408, 1, 304, 416, 1, 382, 445, 1, 325, 450, 1, 396, 584, 1, 338, 587, 1, 396, 681, 1, 344, 705, 1, 333, 55, 1, 343, 184, 1], "image_id": 118169, "bbox": [228, 36, 283, 731], "category_id": 1, "id": 170251}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 547, 1, 214, 555, 1, 438, 667, 1, 236, 684, 1, 329, 692, 1, 250, 593, 1, 340, 783, 1, 287, 783, 1, 383, 738, 1, 223, 753, 1, 369, 849, 1, 255, 852, 1, 277, 402, 1, 289, 516, 1], "image_id": 115526, "bbox": [180, 377, 280, 545], "category_id": 1, "id": 170252}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [781, 181, 1, 629, 163, 1, 840, 244, 1, 592, 235, 1, 814, 300, 1, 583, 296, 1, 722, 336, 1, 653, 338, 1, 753, 451, 1, 577, 461, 1, 730, 581, 1, 509, 568, 1, 709, 62, 1, 701, 147, 1], "image_id": 114713, "bbox": [465, 39, 391, 591], "category_id": 1, "id": 170261}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [680, 345, 1, 728, 350, 1, 670, 376, 1, 740, 383, 1, 684, 392, 1, 724, 396, 1, 687, 425, 1, 712, 426, 1, 683, 464, 1, 714, 464, 1, 679, 500, 1, 717, 502, 1, 693, 311, 1, 702, 341, 1], "image_id": 111552, "bbox": [655, 303, 96, 217], "category_id": 1, "id": 170264}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [596, 480, 1, 523, 481, 1, 608, 540, 1, 496, 533, 1, 616, 585, 1, 487, 591, 1, 576, 612, 1, 534, 609, 1, 576, 673, 1, 534, 673, 1, 550, 712, 1, 532, 742, 1, 576, 384, 1, 564, 457, 1], "image_id": 114488, "bbox": [464, 365, 172, 423], "category_id": 1, "id": 170281}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [556, 147, 1, 471, 143, 1, 586, 225, 1, 451, 172, 1, 495, 215, 1, 421, 164, 1, 554, 333, 1, 499, 330, 1, 556, 480, 1, 418, 446, 1, 0, 0, 0, 513, 525, 1, 453, 29, 1, 499, 114, 1], "image_id": 119867, "bbox": [352, 0, 263, 563], "category_id": 1, "id": 170294}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [315, 212, 1, 139, 192, 1, 325, 317, 1, 21, 184, 1, 280, 249, 1, 0, 0, 0, 265, 444, 1, 175, 435, 1, 214, 619, 1, 282, 541, 1, 147, 723, 1, 273, 716, 1, 232, 58, 1, 221, 176, 1], "image_id": 111067, "bbox": [2, 30, 344, 794], "category_id": 1, "id": 170296}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [275, 255, 1, 113, 259, 1, 298, 409, 1, 89, 409, 1, 279, 542, 1, 80, 530, 1, 238, 542, 1, 134, 545, 1, 250, 755, 1, 115, 744, 1, 253, 883, 1, 108, 875, 1, 176, 84, 1, 182, 209, 1], "image_id": 111461, "bbox": [53, 58, 266, 899], "category_id": 1, "id": 170299}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [188, 561, 1, 110, 567, 1, 218, 588, 1, 100, 622, 1, 239, 581, 1, 90, 666, 1, 179, 674, 1, 130, 678, 1, 182, 740, 1, 138, 743, 1, 182, 794, 1, 148, 814, 1, 134, 479, 1, 146, 546, 1], "image_id": 114488, "bbox": [69, 458, 188, 406], "category_id": 1, "id": 170320}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [166, 450, 1, 266, 441, 1, 275, 392, 1, 372, 408, 1, 350, 339, 1, 455, 342, 1, 212, 632, 1, 249, 644, 1, 297, 472, 1, 338, 488, 1, 395, 624, 1, 441, 637, 1, 230, 353, 1, 211, 426, 1], "image_id": 114613, "bbox": [131, 273, 412, 403], "category_id": 1, "id": 170337}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [452, 166, 1, 429, 165, 1, 451, 206, 1, 423, 195, 1, 459, 224, 1, 422, 228, 1, 445, 231, 1, 430, 231, 1, 449, 274, 1, 433, 276, 1, 446, 315, 1, 419, 315, 1, 449, 126, 1, 442, 153, 1], "image_id": 109772, "bbox": [398, 115, 80, 226], "category_id": 1, "id": 170338}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [405, 299, 1, 214, 280, 1, 439, 436, 1, 54, 318, 1, 480, 527, 1, 165, 270, 1, 357, 644, 1, 256, 643, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 100, 1, 290, 259, 1], "image_id": 110095, "bbox": [40, 82, 482, 677], "category_id": 1, "id": 170343}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 512, 317, 1, 0, 0, 0, 394, 215, 1, 0, 0, 0, 492, 171, 1, 0, 0, 0, 559, 642, 1, 0, 0, 0, 401, 834, 1, 0, 0, 0, 0, 0, 0, 602, 128, 1, 602, 271, 1], "image_id": 112991, "bbox": [379, 106, 244, 733], "category_id": 1, "id": 170349}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 308, 1, 202, 270, 1, 348, 452, 1, 172, 397, 1, 285, 556, 1, 145, 503, 1, 294, 476, 1, 213, 465, 1, 351, 549, 1, 101, 471, 1, 161, 554, 1, 251, 619, 1, 270, 138, 1, 279, 260, 1], "image_id": 109596, "bbox": [69, 82, 323, 623], "category_id": 1, "id": 170357}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 322, 1, 209, 305, 1, 413, 357, 1, 73, 275, 1, 507, 342, 1, 38, 221, 1, 350, 490, 1, 279, 515, 1, 442, 572, 1, 309, 629, 1, 549, 650, 1, 419, 682, 1, 306, 225, 1, 273, 302, 1], "image_id": 111675, "bbox": [1, 166, 641, 568], "category_id": 1, "id": 170367}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [567, 330, 1, 519, 324, 1, 532, 446, 1, 505, 385, 1, 450, 412, 1, 464, 391, 1, 536, 555, 1, 517, 555, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 515, 169, 1, 540, 271, 1], "image_id": 115657, "bbox": [410, 156, 201, 510], "category_id": 1, "id": 170382}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [218, 717, 1, 247, 837, 1, 357, 759, 1, 371, 823, 1, 236, 810, 1, 235, 833, 1, 486, 736, 1, 481, 807, 1, 676, 811, 1, 627, 813, 1, 0, 0, 0, 0, 0, 0, 116, 817, 1, 202, 780, 1], "image_id": 119229, "bbox": [91, 672, 620, 179], "category_id": 1, "id": 170403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [568, 253, 1, 407, 291, 1, 599, 400, 1, 393, 408, 1, 630, 515, 1, 422, 414, 1, 552, 511, 1, 449, 514, 1, 583, 703, 1, 463, 693, 1, 623, 885, 1, 483, 840, 1, 445, 103, 1, 470, 240, 1], "image_id": 117694, "bbox": [372, 74, 293, 910], "category_id": 1, "id": 170426}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [624, 312, 1, 407, 341, 1, 747, 324, 1, 327, 285, 1, 817, 296, 1, 457, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 498, 218, 1, 509, 317, 1], "image_id": 114451, "bbox": [300, 162, 621, 430], "category_id": 1, "id": 170427}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [311, 438, 1, 204, 429, 1, 307, 514, 1, 167, 401, 1, 267, 450, 1, 147, 364, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 312, 1, 245, 404, 1], "image_id": 117258, "bbox": [109, 293, 240, 305], "category_id": 1, "id": 170442}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 320, 1, 307, 319, 1, 309, 369, 1, 308, 363, 1, 340, 359, 1, 335, 351, 1, 321, 423, 1, 316, 423, 1, 320, 486, 1, 316, 486, 1, 319, 557, 1, 317, 558, 1, 317, 264, 1, 312, 303, 1], "image_id": 116567, "bbox": [245, 243, 132, 350], "category_id": 1, "id": 170446}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [318, 291, 1, 175, 240, 1, 443, 323, 1, 158, 201, 1, 578, 333, 1, 88, 171, 1, 255, 439, 1, 170, 411, 1, 217, 558, 1, 55, 468, 1, 201, 515, 1, 0, 0, 0, 216, 199, 1, 226, 259, 1], "image_id": 111317, "bbox": [1, 135, 670, 451], "category_id": 1, "id": 170456}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [556, 315, 1, 398, 277, 1, 535, 421, 1, 400, 404, 1, 429, 411, 1, 446, 489, 1, 523, 540, 1, 429, 542, 1, 505, 711, 1, 396, 710, 1, 495, 859, 1, 361, 861, 1, 493, 149, 1, 469, 268, 1], "image_id": 112930, "bbox": [294, 125, 286, 793], "category_id": 1, "id": 170459}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [704, 237, 1, 585, 249, 1, 768, 273, 1, 509, 308, 1, 840, 268, 1, 454, 368, 1, 704, 412, 1, 656, 396, 1, 728, 494, 1, 614, 500, 1, 667, 608, 1, 477, 535, 1, 624, 136, 1, 643, 217, 1], "image_id": 118323, "bbox": [403, 111, 505, 523], "category_id": 1, "id": 170461}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [591, 416, 1, 462, 404, 1, 613, 503, 1, 425, 460, 1, 561, 527, 1, 414, 386, 1, 555, 605, 1, 474, 605, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 530, 273, 1, 533, 383, 1], "image_id": 116796, "bbox": [362, 241, 225, 399], "category_id": 1, "id": 170462}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [719, 471, 1, 453, 378, 1, 607, 731, 1, 262, 513, 1, 366, 829, 1, 309, 549, 1, 430, 940, 1, 324, 880, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 618, 109, 1, 580, 371, 1], "image_id": 117154, "bbox": [200, 72, 548, 925], "category_id": 1, "id": 170478}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [500, 283, 1, 379, 245, 1, 505, 420, 1, 270, 250, 1, 473, 522, 1, 162, 221, 1, 442, 508, 1, 394, 503, 1, 401, 679, 1, 395, 675, 1, 364, 864, 1, 502, 789, 1, 443, 126, 1, 443, 224, 1], "image_id": 114904, "bbox": [80, 108, 490, 815], "category_id": 1, "id": 170497}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [593, 240, 1, 557, 112, 1, 504, 332, 1, 629, 68, 1, 389, 394, 1, 666, 146, 1, 833, 294, 1, 682, 297, 1, 751, 432, 1, 645, 432, 1, 0, 0, 0, 0, 0, 0, 464, 127, 1, 550, 202, 1], "image_id": 119002, "bbox": [277, 43, 609, 404], "category_id": 1, "id": 170513}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [171, 176, 1, 329, 133, 1, 236, 366, 1, 380, 375, 1, 343, 491, 1, 484, 543, 1, 224, 584, 1, 323, 599, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245, 100, 1], "image_id": 117411, "bbox": [125, 2, 402, 630], "category_id": 1, "id": 170531}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [401, 43, 1, 210, 45, 1, 427, 146, 1, 127, 127, 1, 409, 212, 1, 186, 188, 1, 356, 306, 1, 269, 311, 1, 359, 494, 1, 277, 494, 1, 351, 679, 1, 266, 682, 1, 332, 106, 1, 321, 236, 1], "image_id": 114653, "bbox": [90, 2, 375, 754], "category_id": 1, "id": 170535}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [280, 241, 1, 162, 255, 1, 323, 340, 1, 132, 340, 1, 355, 409, 1, 70, 382, 1, 271, 425, 1, 182, 422, 1, 344, 531, 1, 108, 506, 1, 384, 650, 1, 91, 628, 1, 205, 146, 1, 209, 225, 1], "image_id": 118767, "bbox": [17, 135, 369, 551], "category_id": 1, "id": 170544}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 195, 1, 184, 199, 1, 391, 272, 1, 161, 312, 1, 358, 326, 1, 152, 412, 1, 311, 435, 1, 227, 440, 1, 262, 572, 1, 240, 563, 1, 235, 758, 1, 260, 694, 1, 258, 57, 1, 264, 168, 1], "image_id": 109273, "bbox": [122, 35, 290, 827], "category_id": 1, "id": 170553}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [420, 161, 1, 260, 154, 1, 449, 287, 1, 217, 275, 1, 485, 383, 1, 163, 367, 1, 369, 383, 1, 291, 381, 1, 369, 588, 1, 268, 576, 1, 367, 751, 1, 213, 724, 1, 345, 13, 1, 339, 120, 1], "image_id": 113809, "bbox": [134, 1, 327, 813], "category_id": 1, "id": 170562}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [54, 253, 1, 9, 271, 1, 78, 268, 1, 18, 296, 1, 91, 287, 1, 32, 321, 1, 75, 302, 1, 53, 314, 1, 95, 328, 1, 69, 334, 1, 109, 363, 1, 80, 348, 1, 15, 232, 1, 30, 255, 1], "image_id": 117306, "bbox": [0, 219, 125, 160], "category_id": 1, "id": 170566}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [422, 350, 1, 388, 371, 1, 437, 378, 1, 436, 389, 1, 468, 323, 1, 482, 330, 1, 451, 478, 1, 405, 478, 1, 467, 558, 1, 395, 562, 1, 0, 0, 0, 0, 0, 0, 387, 284, 1, 408, 343, 1], "image_id": 110388, "bbox": [351, 251, 155, 316], "category_id": 1, "id": 170574}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [508, 248, 1, 379, 247, 1, 594, 280, 1, 313, 301, 1, 638, 331, 1, 246, 337, 1, 442, 399, 1, 392, 377, 1, 331, 438, 1, 282, 444, 1, 336, 570, 1, 373, 554, 1, 427, 164, 1, 437, 229, 1], "image_id": 111782, "bbox": [193, 143, 493, 454], "category_id": 1, "id": 170585}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [708, 295, 1, 540, 307, 1, 771, 388, 1, 520, 446, 1, 735, 400, 1, 605, 498, 1, 679, 608, 1, 617, 612, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 149, 1, 615, 270, 1], "image_id": 114144, "bbox": [512, 130, 275, 582], "category_id": 1, "id": 170587}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 100, 1, 250, 100, 1, 364, 159, 1, 255, 129, 1, 329, 164, 1, 194, 155, 1, 321, 247, 1, 272, 246, 1, 358, 350, 1, 251, 330, 1, 350, 408, 1, 225, 438, 1, 286, 21, 1, 286, 82, 1], "image_id": 111950, "bbox": [172, 9, 207, 464], "category_id": 1, "id": 170603}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [682, 275, 1, 592, 317, 1, 548, 320, 1, 568, 422, 1, 527, 212, 1, 492, 362, 1, 636, 546, 1, 596, 531, 1, 477, 440, 1, 473, 390, 1, 307, 552, 1, 341, 532, 1, 685, 165, 1, 650, 252, 1], "image_id": 116188, "bbox": [197, 147, 544, 440], "category_id": 1, "id": 170620}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [166, 104, 1, 41, 136, 1, 201, 181, 1, 57, 235, 1, 249, 261, 1, 73, 315, 1, 187, 293, 1, 117, 312, 1, 222, 409, 1, 159, 435, 1, 0, 0, 0, 0, 0, 0, 105, 4, 1, 105, 93, 1], "image_id": 118580, "bbox": [24, 1, 259, 433], "category_id": 1, "id": 170622}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [262, 139, 1, 158, 145, 1, 272, 204, 1, 167, 207, 1, 239, 242, 1, 113, 270, 1, 232, 311, 1, 176, 307, 1, 262, 428, 1, 149, 424, 1, 319, 487, 1, 139, 554, 1, 199, 35, 1, 199, 121, 1], "image_id": 114579, "bbox": [78, 17, 280, 584], "category_id": 1, "id": 170624}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [757, 502, 1, 726, 488, 1, 694, 418, 1, 668, 404, 1, 742, 381, 1, 739, 373, 1, 486, 504, 1, 489, 488, 1, 291, 452, 1, 382, 382, 1, 144, 391, 1, 267, 489, 1, 834, 410, 1, 755, 460, 1], "image_id": 113725, "bbox": [95, 294, 778, 254], "category_id": 1, "id": 170638}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [480, 181, 1, 366, 173, 1, 412, 254, 1, 313, 229, 1, 340, 251, 1, 249, 260, 1, 501, 330, 1, 437, 340, 1, 535, 469, 1, 351, 421, 1, 644, 558, 1, 347, 578, 1, 422, 87, 1, 431, 159, 1], "image_id": 114119, "bbox": [277, 51, 398, 573], "category_id": 1, "id": 170639}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [292, 361, 1, 306, 371, 1, 371, 422, 1, 376, 445, 1, 422, 375, 1, 431, 364, 1, 256, 570, 1, 274, 588, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 268, 1, 313, 348, 1], "image_id": 110388, "bbox": [188, 245, 285, 351], "category_id": 1, "id": 170648}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [385, 309, 1, 96, 319, 1, 423, 526, 1, 138, 519, 1, 344, 662, 1, 220, 655, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 55, 1, 226, 250, 1], "image_id": 109110, "bbox": [72, 26, 382, 754], "category_id": 1, "id": 170651}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 253, 1, 400, 247, 1, 472, 309, 1, 352, 280, 1, 471, 330, 1, 372, 281, 1, 450, 342, 1, 412, 338, 1, 480, 375, 1, 416, 373, 1, 429, 422, 1, 433, 419, 1, 428, 191, 1, 428, 234, 1], "image_id": 118349, "bbox": [339, 178, 160, 289], "category_id": 1, "id": 170661}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [531, 262, 1, 443, 252, 1, 485, 365, 1, 451, 355, 1, 418, 413, 1, 393, 405, 1, 531, 428, 1, 455, 424, 1, 0, 0, 0, 418, 441, 1, 0, 0, 0, 0, 0, 0, 475, 138, 1, 482, 237, 1], "image_id": 109885, "bbox": [368, 122, 198, 337], "category_id": 1, "id": 170662}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [220, 185, 1, 281, 173, 1, 159, 250, 1, 225, 210, 1, 171, 235, 1, 161, 208, 1, 239, 350, 1, 273, 350, 1, 144, 457, 1, 245, 472, 1, 192, 590, 1, 325, 583, 1, 249, 47, 1, 224, 109, 1], "image_id": 119186, "bbox": [120, 60, 246, 560], "category_id": 1, "id": 170666}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [84, 643, 1, 170, 643, 1, 71, 708, 1, 184, 712, 1, 72, 673, 1, 195, 672, 1, 101, 771, 1, 143, 772, 1, 53, 715, 1, 191, 718, 1, 95, 738, 1, 148, 739, 1, 124, 560, 1, 126, 619, 1], "image_id": 110400, "bbox": [32, 544, 190, 248], "category_id": 1, "id": 170680}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [370, 190, 1, 229, 192, 1, 413, 317, 1, 173, 239, 1, 478, 279, 1, 104, 193, 1, 338, 467, 1, 260, 468, 1, 337, 617, 1, 263, 613, 1, 332, 761, 1, 267, 763, 1, 284, 50, 1, 290, 163, 1], "image_id": 109441, "bbox": [52, 21, 475, 816], "category_id": 1, "id": 170694}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 227, 1, 206, 252, 1, 315, 339, 1, 211, 353, 1, 238, 395, 1, 188, 304, 1, 294, 443, 1, 259, 441, 1, 294, 598, 1, 258, 591, 1, 324, 761, 1, 269, 746, 1, 209, 122, 1, 231, 221, 1], "image_id": 119641, "bbox": [146, 88, 209, 736], "category_id": 1, "id": 170705}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [421, 237, 1, 296, 273, 1, 438, 365, 1, 318, 368, 1, 368, 464, 1, 255, 272, 1, 428, 509, 1, 329, 523, 1, 373, 477, 1, 422, 565, 1, 329, 700, 1, 349, 785, 1, 261, 134, 1, 337, 231, 1], "image_id": 110112, "bbox": [175, 108, 308, 785], "category_id": 1, "id": 170710}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [629, 264, 1, 482, 140, 1, 636, 351, 1, 362, 253, 1, 640, 451, 1, 429, 309, 1, 471, 330, 1, 390, 262, 1, 397, 386, 1, 237, 391, 1, 246, 482, 1, 72, 488, 1, 592, 97, 1, 568, 177, 1], "image_id": 115757, "bbox": [0, 47, 715, 522], "category_id": 1, "id": 170726}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [285, 275, 1, 195, 286, 1, 357, 360, 1, 171, 395, 1, 425, 345, 1, 245, 403, 1, 299, 453, 1, 241, 458, 1, 332, 581, 1, 258, 608, 1, 338, 726, 1, 259, 726, 1, 227, 169, 1, 241, 258, 1], "image_id": 109851, "bbox": [148, 151, 341, 475], "category_id": 1, "id": 170727}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [682, 232, 1, 528, 222, 1, 782, 182, 1, 454, 200, 1, 854, 112, 1, 375, 211, 1, 651, 541, 1, 560, 540, 1, 674, 713, 1, 538, 724, 1, 696, 919, 1, 644, 860, 1, 582, 101, 1, 594, 213, 1], "image_id": 119296, "bbox": [332, 28, 593, 948], "category_id": 1, "id": 170758}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [413, 205, 1, 221, 112, 1, 357, 384, 1, 37, 205, 1, 410, 411, 1, 121, 234, 1, 100, 404, 1, 83, 397, 1, 0, 0, 0, 271, 525, 1, 0, 0, 0, 0, 0, 0, 399, 27, 1, 326, 143, 1], "image_id": 109516, "bbox": [0, 0, 497, 672], "category_id": 1, "id": 170762}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [357, 247, 1, 264, 232, 1, 354, 368, 1, 198, 340, 1, 370, 474, 1, 234, 412, 1, 346, 496, 1, 289, 495, 1, 339, 643, 1, 306, 640, 1, 0, 0, 0, 213, 669, 1, 344, 102, 1, 323, 203, 1], "image_id": 110365, "bbox": [180, 89, 224, 608], "category_id": 1, "id": 170763}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [236, 216, 1, 94, 217, 1, 237, 328, 1, 93, 331, 1, 199, 394, 1, 142, 386, 1, 197, 422, 1, 133, 423, 1, 189, 613, 1, 138, 613, 1, 170, 764, 1, 136, 766, 1, 165, 68, 1, 160, 183, 1], "image_id": 109899, "bbox": [8, 48, 319, 803], "category_id": 1, "id": 170781}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [654, 138, 1, 574, 168, 1, 657, 279, 1, 608, 302, 1, 541, 310, 1, 482, 345, 1, 682, 404, 1, 645, 402, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 525, 37, 1, 599, 115, 1], "image_id": 119573, "bbox": [407, 11, 366, 614], "category_id": 1, "id": 170799}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [578, 468, 1, 702, 519, 1, 563, 549, 1, 681, 666, 1, 633, 559, 1, 684, 571, 1, 501, 603, 1, 574, 595, 1, 509, 788, 1, 637, 767, 1, 500, 881, 1, 626, 932, 1, 0, 0, 0, 638, 459, 1], "image_id": 112538, "bbox": [458, 453, 268, 512], "category_id": 1, "id": 170802}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [163, 295, 1, 227, 295, 1, 147, 342, 1, 257, 351, 1, 175, 375, 1, 283, 392, 1, 177, 436, 1, 231, 435, 1, 179, 507, 1, 260, 508, 1, 169, 572, 1, 247, 585, 1, 231, 193, 1, 204, 277, 1], "image_id": 111022, "bbox": [132, 179, 168, 449], "category_id": 1, "id": 170823}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 160, 1, 349, 158, 1, 466, 256, 1, 320, 243, 1, 494, 315, 1, 328, 312, 1, 426, 325, 1, 363, 326, 1, 423, 461, 1, 331, 463, 1, 406, 571, 1, 263, 533, 1, 415, 54, 1, 399, 130, 1], "image_id": 114012, "bbox": [220, 29, 306, 591], "category_id": 1, "id": 170872}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [746, 296, 1, 698, 288, 1, 758, 340, 1, 689, 329, 1, 758, 380, 1, 663, 351, 1, 734, 380, 1, 704, 380, 1, 735, 435, 1, 690, 442, 1, 738, 493, 1, 693, 500, 1, 721, 241, 1, 719, 282, 1], "image_id": 117256, "bbox": [641, 220, 131, 306], "category_id": 1, "id": 170880}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [460, 264, 1, 391, 233, 1, 455, 359, 1, 280, 270, 1, 514, 351, 1, 333, 263, 1, 438, 444, 1, 365, 432, 1, 464, 572, 1, 402, 568, 1, 396, 669, 1, 359, 692, 1, 464, 132, 1, 431, 220, 1], "image_id": 118801, "bbox": [262, 109, 306, 632], "category_id": 1, "id": 170911}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [627, 240, 1, 676, 200, 1, 605, 293, 1, 768, 228, 1, 565, 262, 1, 800, 253, 1, 490, 434, 1, 434, 400, 1, 517, 575, 1, 297, 424, 1, 676, 624, 1, 137, 470, 1, 647, 112, 1, 625, 191, 1], "image_id": 110433, "bbox": [81, 75, 766, 608], "category_id": 1, "id": 170920}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [310, 242, 1, 193, 276, 1, 333, 328, 1, 163, 361, 1, 305, 348, 1, 196, 354, 1, 322, 408, 1, 248, 431, 1, 413, 446, 1, 246, 576, 1, 473, 476, 1, 228, 721, 1, 270, 145, 1, 245, 228, 1], "image_id": 118203, "bbox": [149, 111, 403, 650], "category_id": 1, "id": 170926}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 246, 1, 420, 240, 1, 461, 341, 1, 439, 325, 1, 539, 312, 1, 492, 290, 1, 453, 421, 1, 436, 422, 1, 457, 527, 1, 435, 523, 1, 387, 625, 1, 428, 643, 1, 445, 139, 1, 437, 206, 1], "image_id": 115116, "bbox": [348, 121, 143, 557], "category_id": 1, "id": 170959}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [199, 237, 1, 97, 235, 1, 238, 308, 1, 180, 303, 1, 263, 230, 1, 241, 236, 1, 213, 415, 1, 164, 441, 1, 325, 394, 1, 0, 0, 0, 322, 525, 1, 0, 0, 0, 159, 110, 1, 146, 206, 1], "image_id": 109773, "bbox": [56, 51, 303, 480], "category_id": 1, "id": 170962}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [504, 216, 1, 415, 218, 1, 485, 327, 1, 412, 345, 1, 573, 351, 1, 436, 453, 1, 510, 431, 1, 457, 436, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 73, 1, 463, 179, 1], "image_id": 112905, "bbox": [372, 51, 242, 581], "category_id": 1, "id": 170966}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [396, 282, 1, 305, 277, 1, 402, 354, 1, 292, 349, 1, 373, 333, 1, 307, 322, 1, 378, 408, 1, 326, 410, 1, 378, 511, 1, 333, 512, 1, 381, 608, 1, 336, 610, 1, 355, 181, 1, 351, 253, 1], "image_id": 117785, "bbox": [272, 160, 153, 276], "category_id": 1, "id": 170975}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [765, 258, 1, 683, 271, 1, 809, 321, 1, 683, 329, 1, 793, 391, 1, 716, 396, 1, 794, 344, 1, 751, 343, 1, 781, 450, 1, 720, 437, 1, 779, 579, 1, 705, 568, 1, 688, 262, 1, 716, 253, 1], "image_id": 117956, "bbox": [654, 200, 153, 413], "category_id": 1, "id": 170979}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [255, 478, 1, 401, 450, 1, 172, 625, 1, 433, 598, 1, 278, 635, 1, 341, 561, 1, 313, 823, 1, 412, 825, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 292, 1, 311, 413, 1], "image_id": 117221, "bbox": [138, 245, 333, 631], "category_id": 1, "id": 170992}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [162, 335, 1, 258, 342, 1, 119, 407, 1, 281, 430, 1, 160, 396, 1, 270, 483, 1, 161, 500, 1, 213, 500, 1, 155, 592, 1, 221, 605, 1, 156, 685, 1, 230, 689, 1, 230, 252, 1, 214, 313, 1], "image_id": 116746, "bbox": [95, 227, 210, 544], "category_id": 1, "id": 170994}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 150, 1, 268, 141, 1, 411, 223, 1, 222, 188, 1, 391, 232, 1, 240, 236, 1, 349, 303, 1, 287, 304, 1, 340, 443, 1, 314, 421, 1, 277, 451, 1, 335, 560, 1, 327, 41, 1, 323, 120, 1], "image_id": 115634, "bbox": [243, 23, 180, 562], "category_id": 1, "id": 171001}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [394, 191, 1, 253, 184, 1, 422, 310, 1, 239, 301, 1, 418, 413, 1, 230, 407, 1, 373, 408, 1, 290, 408, 1, 389, 568, 1, 276, 578, 1, 0, 0, 0, 0, 0, 0, 320, 58, 1, 327, 159, 1], "image_id": 118178, "bbox": [221, 30, 225, 568], "category_id": 1, "id": 171004}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [679, 236, 1, 538, 215, 1, 758, 358, 1, 535, 337, 1, 685, 473, 1, 518, 438, 1, 664, 511, 1, 566, 501, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 60, 1, 593, 194, 1], "image_id": 113796, "bbox": [495, 38, 288, 495], "category_id": 1, "id": 171009}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [538, 398, 1, 471, 398, 1, 544, 449, 1, 468, 455, 1, 548, 463, 1, 495, 472, 1, 524, 504, 1, 483, 507, 1, 517, 588, 1, 471, 589, 1, 515, 670, 1, 457, 678, 1, 504, 320, 1, 501, 379, 1], "image_id": 115190, "bbox": [457, 311, 104, 393], "category_id": 1, "id": 171013}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [277, 290, 1, 166, 320, 1, 348, 208, 1, 114, 411, 1, 411, 147, 1, 164, 488, 1, 241, 525, 1, 218, 525, 1, 254, 671, 1, 242, 673, 1, 130, 831, 1, 258, 842, 1, 227, 168, 1, 221, 274, 1], "image_id": 111313, "bbox": [90, 90, 388, 790], "category_id": 1, "id": 171023}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [697, 295, 1, 675, 282, 1, 570, 316, 1, 573, 312, 1, 468, 316, 1, 463, 312, 1, 657, 490, 1, 668, 485, 1, 558, 351, 1, 568, 342, 1, 443, 209, 1, 458, 205, 1, 720, 149, 1, 705, 250, 1], "image_id": 119045, "bbox": [382, 98, 411, 451], "category_id": 1, "id": 171044}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [143, 476, 1, 307, 482, 1, 85, 415, 1, 367, 379, 1, 101, 304, 1, 387, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 461, 1, 240, 513, 1], "image_id": 114487, "bbox": [61, 95, 355, 539], "category_id": 1, "id": 171074}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [568, 257, 1, 379, 256, 1, 572, 399, 1, 374, 404, 1, 474, 486, 1, 421, 478, 1, 508, 537, 1, 416, 538, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 484, 93, 1, 473, 210, 1], "image_id": 117095, "bbox": [331, 40, 273, 497], "category_id": 1, "id": 171076}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [790, 229, 1, 941, 230, 1, 741, 328, 1, 0, 0, 0, 801, 287, 1, 0, 0, 0, 834, 475, 1, 901, 471, 1, 829, 607, 1, 892, 573, 1, 0, 0, 0, 0, 0, 0, 854, 106, 1, 858, 185, 1], "image_id": 117956, "bbox": [704, 91, 294, 574], "category_id": 1, "id": 171093}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [95, 199, 1, 45, 211, 1, 115, 207, 1, 55, 258, 1, 122, 224, 1, 98, 256, 1, 120, 280, 1, 93, 297, 1, 167, 282, 1, 174, 307, 1, 169, 342, 1, 178, 375, 1, 86, 134, 1, 61, 183, 1], "image_id": 119519, "bbox": [15, 113, 179, 222], "category_id": 1, "id": 171099}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [434, 153, 1, 422, 154, 1, 462, 209, 1, 424, 235, 1, 0, 0, 0, 478, 300, 1, 432, 317, 1, 449, 316, 1, 422, 428, 1, 444, 431, 1, 410, 536, 1, 446, 538, 1, 443, 60, 1, 432, 119, 1], "image_id": 117901, "bbox": [380, 43, 120, 533], "category_id": 1, "id": 171113}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [186, 178, 1, 67, 157, 1, 247, 228, 1, 60, 262, 1, 236, 172, 1, 137, 224, 1, 203, 394, 1, 115, 398, 1, 219, 521, 1, 150, 552, 1, 161, 651, 1, 162, 678, 1, 143, 43, 1, 129, 136, 1], "image_id": 110463, "bbox": [43, 33, 224, 692], "category_id": 1, "id": 171123}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [521, 224, 1, 471, 196, 1, 584, 359, 1, 341, 198, 1, 567, 507, 1, 202, 176, 1, 502, 496, 1, 597, 500, 1, 464, 673, 1, 562, 681, 1, 445, 890, 1, 553, 902, 1, 483, 46, 1, 508, 159, 1], "image_id": 112511, "bbox": [123, 19, 535, 944], "category_id": 1, "id": 171149}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [581, 119, 1, 535, 182, 1, 657, 137, 1, 567, 265, 1, 624, 183, 1, 520, 232, 1, 605, 302, 1, 634, 300, 1, 514, 389, 1, 665, 453, 1, 639, 450, 1, 737, 559, 1, 517, 50, 1, 543, 121, 1], "image_id": 111950, "bbox": [474, 28, 292, 572], "category_id": 1, "id": 171156}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 225, 1, 192, 235, 1, 391, 369, 1, 168, 373, 1, 401, 487, 1, 146, 492, 1, 344, 504, 1, 243, 504, 1, 329, 699, 1, 241, 695, 1, 318, 885, 1, 261, 846, 1, 271, 71, 1, 283, 190, 1], "image_id": 113385, "bbox": [120, 55, 309, 909], "category_id": 1, "id": 171158}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [799, 336, 1, 672, 332, 1, 855, 510, 1, 650, 552, 1, 668, 535, 1, 477, 468, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 105, 1, 719, 256, 1], "image_id": 114064, "bbox": [508, 74, 390, 665], "category_id": 1, "id": 171172}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 269, 1, 168, 247, 1, 336, 428, 1, 125, 368, 1, 397, 483, 1, 189, 422, 1, 262, 527, 1, 185, 522, 1, 230, 743, 1, 173, 725, 1, 207, 902, 1, 141, 904, 1, 274, 84, 1, 256, 209, 1], "image_id": 110589, "bbox": [85, 44, 361, 917], "category_id": 1, "id": 171173}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [100, 161, 1, 56, 165, 1, 113, 192, 1, 56, 198, 1, 120, 220, 1, 54, 229, 1, 100, 229, 1, 75, 232, 1, 108, 276, 1, 70, 277, 1, 117, 321, 1, 74, 326, 1, 77, 121, 1, 79, 151, 1], "image_id": 111317, "bbox": [46, 118, 83, 230], "category_id": 1, "id": 171193}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [460, 147, 1, 435, 118, 1, 494, 178, 1, 406, 127, 1, 544, 127, 1, 376, 116, 1, 452, 342, 1, 389, 338, 1, 599, 399, 1, 276, 448, 1, 687, 519, 1, 194, 427, 1, 484, 43, 1, 452, 112, 1], "image_id": 116365, "bbox": [123, 13, 666, 561], "category_id": 1, "id": 171202}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 206, 1, 174, 246, 1, 351, 275, 1, 192, 342, 1, 339, 294, 1, 263, 337, 1, 230, 434, 1, 166, 418, 1, 176, 572, 1, 139, 527, 1, 131, 704, 1, 67, 664, 1, 223, 126, 1, 213, 213, 1], "image_id": 117530, "bbox": [32, 85, 336, 683], "category_id": 1, "id": 171204}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [452, 238, 1, 311, 237, 1, 520, 260, 1, 286, 334, 1, 563, 206, 1, 302, 427, 1, 435, 459, 1, 351, 458, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 120, 1, 382, 211, 1], "image_id": 118031, "bbox": [270, 96, 334, 396], "category_id": 1, "id": 171208}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [167, 493, 1, 133, 523, 1, 296, 623, 1, 179, 738, 1, 407, 575, 1, 333, 652, 1, 240, 814, 1, 200, 839, 1, 405, 870, 1, 407, 933, 1, 0, 0, 0, 0, 0, 0, 158, 272, 1, 147, 442, 1], "image_id": 112175, "bbox": [74, 220, 430, 731], "category_id": 1, "id": 171215}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [250, 211, 1, 97, 206, 1, 258, 351, 1, 69, 342, 1, 228, 457, 1, 44, 439, 1, 206, 435, 1, 136, 442, 1, 231, 601, 1, 134, 614, 1, 253, 754, 1, 129, 756, 1, 136, 80, 1, 158, 180, 1], "image_id": 114442, "bbox": [23, 51, 262, 764], "category_id": 1, "id": 171222}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [262, 327, 1, 188, 223, 1, 314, 396, 1, 160, 148, 1, 362, 425, 1, 239, 127, 1, 175, 423, 1, 116, 423, 1, 123, 478, 1, 78, 534, 1, 108, 581, 1, 127, 611, 1, 314, 229, 1, 167, 83, 1], "image_id": 113854, "bbox": [25, 102, 402, 544], "category_id": 1, "id": 171224}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [498, 295, 1, 423, 303, 1, 403, 358, 1, 383, 370, 1, 397, 268, 1, 382, 265, 1, 511, 548, 1, 460, 548, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 441, 172, 1, 461, 276, 1], "image_id": 111130, "bbox": [349, 152, 222, 493], "category_id": 1, "id": 171228}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [725, 209, 1, 614, 227, 1, 730, 344, 1, 596, 354, 1, 714, 453, 1, 591, 276, 1, 678, 448, 1, 628, 449, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 84, 1, 660, 181, 1], "image_id": 116311, "bbox": [559, 47, 207, 551], "category_id": 1, "id": 171239}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [672, 287, 1, 508, 298, 1, 699, 407, 1, 491, 429, 1, 672, 345, 1, 544, 386, 1, 653, 493, 1, 551, 496, 1, 668, 441, 1, 685, 571, 1, 651, 670, 1, 654, 801, 1, 599, 127, 1, 587, 262, 1], "image_id": 112633, "bbox": [464, 104, 277, 834], "category_id": 1, "id": 171240}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [254, 165, 1, 149, 184, 1, 327, 236, 1, 140, 300, 1, 413, 258, 1, 201, 377, 1, 226, 421, 1, 174, 422, 1, 232, 571, 1, 261, 549, 1, 216, 742, 1, 179, 702, 1, 379, 102, 1, 394, 172, 1], "image_id": 115423, "bbox": [113, 35, 378, 741], "category_id": 1, "id": 171253}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [725, 170, 1, 595, 181, 1, 745, 262, 1, 579, 274, 1, 725, 253, 1, 631, 262, 1, 700, 387, 1, 629, 390, 1, 699, 510, 1, 630, 513, 1, 699, 625, 1, 630, 625, 1, 666, 76, 1, 660, 153, 1], "image_id": 114808, "bbox": [558, 27, 203, 410], "category_id": 1, "id": 171265}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [372, 226, 1, 271, 264, 1, 408, 298, 1, 284, 363, 1, 461, 295, 1, 353, 338, 1, 356, 410, 1, 302, 416, 1, 345, 479, 1, 311, 533, 1, 345, 605, 1, 284, 652, 1, 287, 135, 1, 312, 226, 1], "image_id": 111554, "bbox": [232, 116, 252, 598], "category_id": 1, "id": 171271}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [397, 242, 1, 292, 256, 1, 416, 355, 1, 338, 370, 1, 489, 366, 1, 461, 367, 1, 373, 444, 1, 299, 452, 1, 517, 358, 1, 285, 334, 1, 551, 474, 1, 425, 471, 1, 378, 141, 1, 340, 234, 1], "image_id": 117525, "bbox": [245, 114, 410, 421], "category_id": 1, "id": 171279}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [348, 342, 1, 245, 358, 1, 427, 285, 1, 316, 437, 1, 425, 161, 1, 413, 321, 1, 295, 629, 1, 220, 633, 1, 352, 789, 1, 268, 838, 1, 273, 950, 1, 0, 0, 0, 294, 219, 1, 288, 319, 1], "image_id": 111621, "bbox": [220, 192, 254, 807], "category_id": 1, "id": 171280}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 118, 1, 411, 144, 1, 383, 95, 1, 411, 249, 1, 359, 159, 1, 461, 344, 1, 343, 300, 1, 270, 276, 1, 500, 274, 1, 191, 354, 1, 674, 319, 1, 61, 396, 1, 521, 65, 1, 458, 146, 1], "image_id": 115460, "bbox": [4, 29, 773, 404], "category_id": 1, "id": 171285}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [681, 204, 1, 586, 205, 1, 710, 286, 1, 576, 287, 1, 718, 359, 1, 560, 360, 1, 659, 356, 1, 611, 352, 1, 640, 474, 1, 636, 478, 1, 618, 594, 1, 695, 582, 1, 602, 109, 1, 630, 173, 1], "image_id": 119186, "bbox": [537, 83, 198, 546], "category_id": 1, "id": 171286}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [544, 107, 1, 576, 124, 1, 459, 189, 1, 423, 159, 1, 359, 223, 1, 246, 195, 1, 426, 343, 1, 379, 344, 1, 448, 478, 1, 388, 489, 1, 338, 683, 1, 180, 569, 1, 368, 84, 1, 387, 160, 1], "image_id": 117626, "bbox": [121, 25, 680, 669], "category_id": 1, "id": 171299}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [594, 227, 1, 383, 231, 1, 682, 369, 1, 372, 407, 1, 730, 465, 1, 404, 435, 1, 576, 485, 1, 519, 493, 1, 525, 672, 1, 620, 748, 1, 644, 891, 1, 727, 655, 1, 472, 65, 1, 478, 190, 1], "image_id": 119473, "bbox": [338, 39, 453, 940], "category_id": 1, "id": 171301}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 322, 1, 91, 320, 1, 239, 456, 1, 39, 416, 1, 291, 532, 1, 130, 454, 1, 215, 556, 1, 142, 556, 1, 223, 718, 1, 149, 744, 1, 141, 857, 1, 151, 913, 1, 171, 154, 1, 159, 273, 1], "image_id": 110838, "bbox": [4, 129, 357, 851], "category_id": 1, "id": 171307}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [426, 127, 1, 296, 171, 1, 511, 175, 1, 292, 265, 1, 528, 150, 1, 254, 353, 1, 417, 339, 1, 342, 346, 1, 457, 480, 1, 331, 464, 1, 452, 567, 1, 285, 597, 1, 346, 41, 1, 350, 123, 1], "image_id": 111859, "bbox": [217, 13, 332, 643], "category_id": 1, "id": 171309}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 326, 1, 263, 321, 1, 336, 248, 1, 211, 229, 1, 295, 145, 1, 234, 132, 1, 348, 582, 1, 282, 583, 1, 363, 745, 1, 270, 745, 1, 376, 906, 1, 259, 913, 1, 333, 245, 1, 321, 316, 1], "image_id": 118481, "bbox": [188, 69, 214, 877], "category_id": 1, "id": 171314}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [234, 176, 1, 79, 198, 1, 331, 223, 1, 169, 220, 1, 284, 118, 1, 213, 118, 1, 241, 453, 1, 132, 463, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 55, 1, 162, 159, 1], "image_id": 113928, "bbox": [50, 28, 313, 588], "category_id": 1, "id": 171327}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [504, 220, 1, 325, 245, 1, 506, 345, 1, 328, 367, 1, 529, 328, 1, 367, 427, 1, 471, 471, 1, 386, 471, 1, 461, 630, 1, 391, 630, 1, 446, 751, 1, 404, 750, 1, 409, 55, 1, 409, 185, 1], "image_id": 115660, "bbox": [293, 14, 262, 844], "category_id": 1, "id": 171338}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [327, 232, 1, 237, 217, 1, 351, 289, 1, 189, 235, 1, 290, 304, 1, 154, 221, 1, 318, 383, 1, 265, 378, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 149, 1, 275, 202, 1], "image_id": 114288, "bbox": [93, 122, 271, 300], "category_id": 1, "id": 171365}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 534, 153, 1, 0, 0, 0, 521, 259, 1, 0, 0, 0, 512, 346, 1, 0, 0, 0, 541, 375, 1, 0, 0, 0, 535, 500, 1, 0, 0, 0, 523, 652, 1, 0, 0, 0, 0, 0, 0], "image_id": 115423, "bbox": [475, 127, 73, 564], "category_id": 1, "id": 171371}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [473, 265, 1, 484, 262, 1, 486, 312, 1, 478, 320, 1, 473, 347, 1, 460, 360, 1, 478, 376, 1, 488, 377, 1, 479, 457, 1, 488, 454, 1, 479, 538, 1, 486, 538, 1, 463, 198, 1, 469, 247, 1], "image_id": 117351, "bbox": [457, 192, 77, 379], "category_id": 1, "id": 171395}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [637, 386, 1, 614, 296, 1, 567, 359, 1, 542, 333, 1, 646, 368, 1, 627, 358, 1, 498, 375, 1, 504, 342, 1, 598, 403, 1, 598, 378, 1, 470, 391, 1, 475, 380, 1, 725, 325, 1, 638, 341, 1], "image_id": 110216, "bbox": [411, 279, 343, 154], "category_id": 1, "id": 171401}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [415, 286, 1, 168, 247, 1, 417, 462, 1, 55, 415, 1, 408, 511, 1, 74, 319, 1, 319, 645, 1, 189, 648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 55, 1, 299, 208, 1], "image_id": 110315, "bbox": [11, 26, 441, 635], "category_id": 1, "id": 171406}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [645, 171, 1, 567, 170, 1, 667, 224, 1, 516, 190, 1, 607, 193, 1, 488, 150, 1, 645, 350, 1, 598, 351, 1, 659, 484, 1, 573, 479, 1, 675, 598, 1, 545, 599, 1, 523, 116, 1, 510, 180, 1], "image_id": 117767, "bbox": [438, 78, 260, 563], "category_id": 1, "id": 171430}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [114, 309, 1, 0, 0, 0, 165, 453, 1, 0, 0, 0, 229, 562, 1, 10, 471, 1, 80, 557, 1, 0, 0, 0, 61, 861, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 155, 1, 32, 289, 1], "image_id": 115138, "bbox": [3, 133, 256, 816], "category_id": 1, "id": 171432}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [264, 127, 1, 123, 135, 1, 320, 245, 1, 92, 254, 1, 327, 336, 1, 54, 359, 1, 237, 376, 1, 138, 375, 1, 254, 523, 1, 108, 506, 1, 267, 687, 1, 101, 676, 1, 170, 57, 1, 190, 142, 1], "image_id": 115423, "bbox": [23, 1, 311, 730], "category_id": 1, "id": 171436}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 210, 1, 176, 233, 1, 368, 334, 1, 181, 350, 1, 374, 446, 1, 163, 429, 1, 318, 433, 1, 235, 411, 1, 267, 536, 1, 110, 528, 1, 338, 679, 1, 184, 663, 1, 199, 102, 1, 239, 197, 1], "image_id": 109910, "bbox": [67, 36, 350, 717], "category_id": 1, "id": 171437}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 256, 1, 163, 250, 1, 301, 343, 1, 142, 330, 1, 330, 408, 1, 114, 401, 1, 247, 412, 1, 189, 411, 1, 248, 538, 1, 182, 537, 1, 230, 665, 1, 211, 611, 1, 221, 148, 1, 221, 230, 1], "image_id": 113026, "bbox": [71, 130, 288, 579], "category_id": 1, "id": 171450}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [557, 137, 1, 455, 149, 1, 596, 194, 1, 408, 225, 1, 600, 163, 1, 341, 268, 1, 520, 297, 1, 465, 300, 1, 524, 427, 1, 444, 422, 1, 521, 543, 1, 480, 526, 1, 489, 39, 1, 502, 117, 1], "image_id": 118088, "bbox": [293, 13, 331, 611], "category_id": 1, "id": 171463}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [692, 252, 1, 445, 225, 1, 690, 404, 1, 361, 336, 1, 690, 513, 1, 239, 445, 1, 588, 495, 1, 477, 495, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 62, 1, 564, 207, 1], "image_id": 115262, "bbox": [134, 13, 597, 564], "category_id": 1, "id": 171478}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [252, 209, 1, 111, 227, 1, 258, 335, 1, 121, 349, 1, 250, 434, 1, 91, 441, 1, 209, 437, 1, 151, 439, 1, 262, 626, 1, 108, 639, 1, 0, 0, 0, 0, 0, 0, 166, 97, 1, 178, 196, 1], "image_id": 109469, "bbox": [1, 74, 378, 576], "category_id": 1, "id": 171492}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [665, 220, 1, 557, 196, 1, 665, 301, 1, 523, 246, 1, 597, 310, 1, 493, 271, 1, 603, 345, 1, 538, 334, 1, 549, 381, 1, 492, 374, 1, 557, 458, 1, 505, 456, 1, 609, 131, 1, 604, 188, 1], "image_id": 118281, "bbox": [438, 109, 265, 251], "category_id": 1, "id": 171501}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [390, 402, 1, 303, 395, 1, 369, 487, 1, 273, 538, 1, 423, 507, 1, 396, 489, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 377, 225, 1, 366, 348, 1], "image_id": 116035, "bbox": [218, 201, 289, 397], "category_id": 1, "id": 171517}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [341, 355, 1, 251, 387, 1, 406, 420, 1, 332, 498, 1, 485, 400, 1, 446, 506, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 231, 1, 293, 349, 1], "image_id": 118432, "bbox": [207, 215, 299, 408], "category_id": 1, "id": 171526}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [246, 485, 1, 333, 476, 1, 174, 384, 1, 437, 505, 1, 142, 291, 1, 474, 581, 1, 121, 524, 1, 152, 533, 1, 97, 660, 1, 94, 673, 1, 179, 789, 1, 68, 823, 1, 353, 581, 1, 310, 490, 1], "image_id": 112738, "bbox": [2, 262, 507, 637], "category_id": 1, "id": 171569}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [422, 262, 1, 483, 298, 1, 300, 204, 1, 351, 397, 1, 275, 100, 1, 403, 269, 1, 346, 545, 1, 333, 527, 1, 0, 0, 0, 161, 539, 1, 152, 553, 1, 0, 0, 0, 465, 153, 1, 442, 248, 1], "image_id": 118535, "bbox": [0, 18, 523, 586], "category_id": 1, "id": 171573}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [270, 359, 1, 326, 384, 1, 354, 348, 1, 426, 458, 1, 426, 368, 1, 488, 434, 1, 251, 585, 1, 313, 585, 1, 269, 666, 1, 340, 672, 1, 201, 755, 1, 340, 810, 1, 188, 307, 1, 260, 343, 1], "image_id": 118564, "bbox": [167, 262, 344, 599], "category_id": 1, "id": 171575}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [556, 491, 1, 536, 480, 1, 536, 502, 1, 510, 493, 1, 530, 475, 1, 522, 473, 1, 533, 543, 1, 518, 540, 1, 512, 579, 1, 516, 579, 1, 546, 615, 1, 534, 622, 1, 566, 457, 1, 548, 480, 1], "image_id": 109066, "bbox": [493, 450, 84, 190], "category_id": 1, "id": 171581}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [512, 246, 1, 410, 241, 1, 519, 324, 1, 395, 318, 1, 520, 380, 1, 393, 374, 1, 485, 383, 1, 428, 382, 1, 471, 489, 1, 442, 488, 1, 461, 575, 1, 448, 590, 1, 457, 146, 1, 457, 216, 1], "image_id": 113516, "bbox": [366, 130, 172, 514], "category_id": 1, "id": 171602}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [361, 316, 1, 219, 333, 1, 372, 410, 1, 165, 430, 1, 386, 440, 1, 190, 421, 1, 344, 543, 1, 268, 554, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, 187, 1, 288, 286, 1], "image_id": 114163, "bbox": [138, 169, 259, 464], "category_id": 1, "id": 171604}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 286, 1, 285, 316, 1, 473, 379, 1, 242, 414, 1, 530, 415, 1, 241, 324, 1, 386, 524, 1, 304, 530, 1, 477, 678, 1, 286, 689, 1, 530, 852, 1, 315, 848, 1, 321, 177, 1, 333, 286, 1], "image_id": 117159, "bbox": [218, 155, 363, 786], "category_id": 1, "id": 171606}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [572, 298, 1, 0, 0, 0, 523, 403, 1, 0, 0, 0, 457, 383, 1, 0, 0, 0, 601, 520, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, 167, 1, 627, 248, 1], "image_id": 115231, "bbox": [413, 151, 219, 714], "category_id": 1, "id": 171607}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [469, 257, 1, 262, 275, 1, 530, 363, 1, 236, 397, 1, 572, 483, 1, 203, 519, 1, 423, 519, 1, 321, 520, 1, 451, 730, 1, 299, 694, 1, 460, 888, 1, 287, 898, 1, 347, 84, 1, 360, 221, 1], "image_id": 118894, "bbox": [168, 55, 441, 906], "category_id": 1, "id": 171611}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 329, 1, 277, 381, 1, 331, 268, 1, 196, 400, 1, 362, 192, 1, 125, 398, 1, 317, 575, 1, 240, 574, 1, 345, 709, 1, 275, 733, 1, 237, 762, 1, 221, 854, 1, 285, 216, 1, 326, 331, 1], "image_id": 114167, "bbox": [32, 157, 401, 825], "category_id": 1, "id": 171621}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [744, 222, 1, 618, 156, 1, 740, 340, 1, 540, 171, 1, 711, 438, 1, 471, 108, 1, 648, 395, 1, 562, 353, 1, 525, 504, 1, 437, 460, 1, 516, 634, 1, 428, 612, 1, 674, 61, 1, 687, 159, 1], "image_id": 117667, "bbox": [401, 42, 373, 582], "category_id": 1, "id": 171622}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 603, 208, 1, 0, 0, 0, 534, 314, 1, 0, 0, 0, 472, 261, 1, 0, 0, 0, 588, 462, 1, 0, 0, 0, 562, 669, 1, 0, 0, 0, 603, 716, 1, 0, 0, 0, 0, 0, 0], "image_id": 117616, "bbox": [411, 28, 213, 903], "category_id": 1, "id": 171635}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 282, 1, 219, 308, 1, 324, 305, 1, 303, 366, 1, 364, 269, 1, 312, 283, 1, 224, 501, 1, 213, 503, 1, 260, 542, 1, 286, 603, 1, 164, 504, 1, 173, 537, 1, 182, 205, 1, 222, 265, 1], "image_id": 109975, "bbox": [92, 175, 251, 447], "category_id": 1, "id": 171639}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [402, 231, 1, 363, 232, 1, 375, 271, 1, 361, 262, 1, 335, 264, 1, 330, 261, 1, 412, 312, 1, 392, 308, 1, 364, 297, 1, 356, 278, 1, 320, 345, 1, 331, 343, 1, 361, 187, 1, 380, 223, 1], "image_id": 110024, "bbox": [296, 176, 143, 175], "category_id": 1, "id": 171642}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [676, 317, 1, 628, 288, 1, 741, 269, 1, 562, 318, 1, 766, 159, 1, 525, 326, 1, 609, 442, 1, 622, 439, 1, 617, 507, 1, 634, 484, 1, 627, 562, 1, 646, 511, 1, 688, 253, 1, 653, 285, 1], "image_id": 117306, "bbox": [506, 118, 317, 459], "category_id": 1, "id": 171653}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [420, 534, 1, 234, 487, 1, 418, 683, 1, 203, 569, 1, 447, 694, 1, 235, 425, 1, 364, 909, 1, 261, 909, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 301, 1, 331, 460, 1], "image_id": 113243, "bbox": [170, 277, 368, 722], "category_id": 1, "id": 171681}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [429, 153, 1, 301, 169, 1, 494, 182, 1, 218, 211, 1, 535, 129, 1, 223, 145, 1, 436, 318, 1, 376, 329, 1, 481, 468, 1, 374, 500, 1, 421, 508, 1, 347, 561, 1, 391, 23, 1, 366, 131, 1], "image_id": 116157, "bbox": [187, 7, 371, 622], "category_id": 1, "id": 171690}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [645, 220, 1, 635, 217, 1, 645, 323, 1, 615, 314, 1, 607, 412, 1, 577, 368, 1, 666, 426, 1, 640, 425, 1, 663, 539, 1, 641, 538, 1, 0, 0, 0, 0, 0, 0, 558, 115, 1, 624, 189, 1], "image_id": 115006, "bbox": [524, 85, 176, 364], "category_id": 1, "id": 171691}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [596, 144, 1, 523, 177, 1, 623, 240, 1, 521, 270, 1, 620, 304, 1, 510, 329, 1, 582, 328, 1, 540, 330, 1, 587, 448, 1, 538, 448, 1, 599, 576, 1, 558, 575, 1, 546, 57, 1, 554, 132, 1], "image_id": 111175, "bbox": [493, 33, 151, 585], "category_id": 1, "id": 171711}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [190, 248, 1, 141, 246, 1, 198, 395, 1, 204, 402, 1, 246, 277, 1, 277, 296, 1, 223, 495, 1, 192, 525, 1, 395, 568, 1, 382, 647, 1, 180, 569, 1, 174, 600, 1, 162, 54, 1, 153, 190, 1], "image_id": 112784, "bbox": [62, 40, 355, 639], "category_id": 1, "id": 171716}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [509, 254, 1, 403, 315, 1, 576, 406, 1, 392, 451, 1, 433, 372, 1, 417, 339, 1, 613, 469, 1, 473, 486, 1, 518, 478, 1, 314, 519, 1, 0, 0, 0, 0, 0, 0, 394, 161, 1, 452, 265, 1], "image_id": 116147, "bbox": [274, 140, 375, 523], "category_id": 1, "id": 171730}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [713, 106, 1, 661, 111, 1, 720, 140, 1, 654, 147, 1, 714, 159, 1, 674, 149, 1, 698, 192, 1, 671, 194, 1, 695, 240, 1, 668, 236, 1, 695, 268, 1, 665, 270, 1, 703, 56, 1, 692, 93, 1], "image_id": 114094, "bbox": [635, 47, 109, 296], "category_id": 1, "id": 171739}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 212, 1, 233, 213, 1, 352, 312, 1, 247, 223, 1, 262, 358, 1, 201, 305, 1, 372, 420, 1, 291, 410, 1, 406, 560, 1, 219, 523, 1, 480, 607, 1, 193, 676, 1, 223, 148, 1, 274, 203, 1], "image_id": 116528, "bbox": [141, 120, 378, 611], "category_id": 1, "id": 171747}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [332, 244, 1, 240, 312, 1, 324, 351, 1, 286, 438, 1, 391, 364, 1, 389, 373, 1, 375, 490, 1, 311, 529, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 88, 1, 276, 218, 1], "image_id": 118768, "bbox": [158, 70, 306, 529], "category_id": 1, "id": 171753}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 258, 1, 380, 256, 1, 211, 352, 1, 417, 333, 1, 181, 306, 1, 364, 307, 1, 323, 471, 1, 380, 471, 1, 256, 571, 1, 406, 551, 1, 295, 722, 1, 400, 718, 1, 296, 161, 1, 316, 234, 1], "image_id": 112366, "bbox": [144, 154, 293, 583], "category_id": 1, "id": 171762}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 238, 1, 287, 310, 1, 457, 240, 1, 230, 367, 1, 498, 198, 1, 163, 402, 1, 431, 402, 1, 364, 402, 1, 499, 462, 1, 284, 443, 1, 574, 537, 1, 286, 548, 1, 278, 193, 1, 314, 253, 1], "image_id": 111470, "bbox": [104, 156, 491, 432], "category_id": 1, "id": 171784}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [629, 243, 1, 703, 201, 1, 645, 329, 1, 748, 291, 1, 605, 431, 1, 706, 376, 1, 781, 398, 1, 747, 396, 1, 759, 540, 1, 706, 488, 1, 924, 554, 1, 809, 616, 1, 624, 124, 1, 646, 192, 1], "image_id": 118893, "bbox": [553, 99, 395, 525], "category_id": 1, "id": 171788}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [683, 281, 1, 595, 272, 1, 683, 345, 1, 572, 338, 1, 685, 363, 1, 588, 309, 1, 665, 414, 1, 614, 417, 1, 678, 513, 1, 616, 511, 1, 679, 600, 1, 618, 595, 1, 649, 178, 1, 640, 251, 1], "image_id": 117785, "bbox": [555, 152, 145, 390], "category_id": 1, "id": 171795}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [480, 300, 1, 321, 286, 1, 555, 408, 1, 292, 417, 1, 583, 381, 1, 269, 542, 1, 411, 617, 1, 318, 613, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 141, 1, 390, 264, 1], "image_id": 111013, "bbox": [237, 123, 411, 543], "category_id": 1, "id": 171804}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [714, 146, 1, 610, 147, 1, 741, 214, 1, 586, 209, 1, 742, 268, 1, 538, 260, 1, 671, 298, 1, 637, 296, 1, 647, 403, 1, 631, 389, 1, 601, 481, 1, 630, 490, 1, 659, 59, 1, 663, 127, 1], "image_id": 112304, "bbox": [514, 45, 245, 496], "category_id": 1, "id": 171805}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 242, 1, 101, 242, 1, 219, 335, 1, 83, 332, 1, 232, 315, 1, 153, 342, 1, 183, 408, 1, 142, 406, 1, 185, 535, 1, 156, 532, 1, 188, 670, 1, 175, 644, 1, 151, 134, 1, 151, 217, 1], "image_id": 112131, "bbox": [65, 119, 177, 612], "category_id": 1, "id": 171809}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 227, 1, 212, 197, 1, 423, 277, 1, 128, 219, 1, 417, 324, 1, 64, 248, 1, 331, 409, 1, 242, 408, 1, 382, 539, 1, 213, 548, 1, 426, 647, 1, 195, 659, 1, 283, 60, 1, 278, 182, 1], "image_id": 109168, "bbox": [12, 28, 473, 718], "category_id": 1, "id": 171820}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [573, 176, 1, 435, 197, 1, 642, 269, 1, 419, 298, 1, 582, 220, 1, 343, 331, 1, 544, 411, 1, 480, 411, 1, 545, 580, 1, 485, 581, 1, 528, 722, 1, 486, 716, 1, 472, 77, 1, 492, 167, 1], "image_id": 119168, "bbox": [406, 55, 267, 706], "category_id": 1, "id": 171822}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [733, 37, 1, 650, 28, 1, 712, 124, 1, 627, 113, 1, 653, 174, 1, 633, 168, 1, 689, 179, 1, 642, 174, 1, 675, 271, 1, 632, 267, 1, 651, 370, 1, 618, 352, 1, 0, 0, 0, 692, 9, 1], "image_id": 117227, "bbox": [569, 0, 205, 408], "category_id": 1, "id": 171831}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [444, 142, 1, 395, 143, 1, 468, 187, 1, 418, 185, 1, 464, 146, 1, 449, 155, 1, 439, 246, 1, 402, 246, 1, 416, 319, 1, 420, 322, 1, 406, 377, 1, 407, 393, 1, 434, 84, 1, 423, 132, 1], "image_id": 117643, "bbox": [366, 71, 113, 353], "category_id": 1, "id": 171835}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [0, 0, 0, 147, 302, 1, 0, 0, 0, 240, 461, 1, 0, 0, 0, 305, 449, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 89, 1, 68, 222, 1], "image_id": 117890, "bbox": [0, 54, 371, 610], "category_id": 1, "id": 171841}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [235, 148, 1, 58, 159, 1, 279, 278, 1, 15, 276, 1, 276, 382, 1, 10, 391, 1, 192, 411, 1, 91, 415, 1, 211, 599, 1, 103, 607, 1, 157, 743, 1, 105, 778, 1, 158, 8, 1, 141, 123, 1], "image_id": 118646, "bbox": [0, 4, 262, 830], "category_id": 1, "id": 171845}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [297, 339, 1, 168, 322, 1, 319, 423, 1, 153, 388, 1, 304, 535, 1, 125, 424, 1, 245, 539, 1, 182, 540, 1, 242, 673, 1, 194, 642, 1, 225, 720, 1, 198, 802, 1, 236, 201, 1, 227, 300, 1], "image_id": 119608, "bbox": [61, 181, 238, 662], "category_id": 1, "id": 171860}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [135, 224, 1, 135, 216, 1, 106, 256, 1, 101, 251, 1, 63, 284, 1, 59, 277, 1, 188, 268, 1, 187, 260, 1, 121, 275, 1, 120, 269, 1, 37, 287, 1, 39, 284, 1, 94, 205, 1, 123, 215, 1], "image_id": 110619, "bbox": [3, 187, 207, 110], "category_id": 1, "id": 171874}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 275, 1, 244, 281, 1, 344, 346, 1, 265, 433, 1, 417, 378, 1, 266, 349, 1, 339, 495, 1, 303, 502, 1, 313, 608, 1, 384, 639, 1, 290, 725, 1, 356, 781, 1, 319, 110, 1, 301, 233, 1], "image_id": 111664, "bbox": [237, 92, 194, 778], "category_id": 1, "id": 171888}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [285, 411, 1, 203, 415, 1, 327, 453, 1, 197, 478, 1, 301, 504, 1, 206, 514, 1, 274, 538, 1, 227, 538, 1, 255, 625, 1, 217, 622, 1, 294, 667, 1, 223, 709, 1, 228, 329, 1, 245, 387, 1], "image_id": 119518, "bbox": [170, 309, 168, 454], "category_id": 1, "id": 171910}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [522, 310, 1, 449, 288, 1, 536, 400, 1, 368, 297, 1, 470, 448, 1, 375, 216, 1, 499, 467, 1, 449, 464, 1, 522, 572, 1, 451, 570, 1, 547, 679, 1, 451, 671, 1, 496, 193, 1, 488, 275, 1], "image_id": 114776, "bbox": [347, 171, 229, 568], "category_id": 1, "id": 171927}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 116, 1, 138, 166, 1, 295, 224, 1, 155, 274, 1, 373, 224, 1, 177, 359, 1, 253, 346, 1, 177, 344, 1, 213, 482, 1, 197, 481, 1, 179, 632, 1, 216, 591, 1, 184, 18, 1, 196, 118, 1], "image_id": 109317, "bbox": [117, 4, 280, 662], "category_id": 1, "id": 171936}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [103, 409, 1, 78, 401, 1, 23, 489, 1, 49, 545, 1, 15, 387, 1, 20, 670, 1, 55, 663, 1, 37, 666, 1, 89, 897, 1, 54, 904, 1, 0, 0, 0, 0, 0, 0, 43, 229, 1, 65, 348, 1], "image_id": 115315, "bbox": [0, 205, 164, 766], "category_id": 1, "id": 171954}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [121, 150, 1, 0, 0, 0, 177, 242, 1, 0, 0, 0, 100, 261, 1, 0, 0, 0, 109, 366, 1, 25, 359, 1, 122, 506, 1, 0, 0, 0, 165, 644, 1, 57, 636, 1, 50, 12, 1, 50, 110, 1], "image_id": 112232, "bbox": [0, 0, 203, 716], "category_id": 1, "id": 171956}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [292, 250, 1, 89, 267, 1, 312, 349, 1, 27, 366, 1, 287, 449, 1, 69, 462, 1, 227, 503, 1, 108, 503, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 105, 1, 189, 236, 1], "image_id": 114451, "bbox": [0, 71, 334, 560], "category_id": 1, "id": 171957}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [647, 265, 1, 551, 270, 1, 690, 376, 1, 546, 377, 1, 759, 448, 1, 604, 427, 1, 655, 439, 1, 589, 438, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 147, 1, 591, 245, 1], "image_id": 109885, "bbox": [524, 135, 257, 323], "category_id": 1, "id": 171976}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [306, 321, 1, 289, 324, 1, 321, 455, 1, 305, 475, 1, 398, 385, 1, 411, 461, 1, 0, 0, 0, 0, 0, 0, 512, 490, 1, 518, 507, 1, 0, 0, 0, 0, 0, 0, 478, 211, 1, 442, 318, 1], "image_id": 115712, "bbox": [173, 142, 394, 388], "category_id": 1, "id": 171979}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [727, 216, 1, 576, 230, 1, 749, 350, 1, 504, 305, 1, 741, 477, 1, 402, 270, 1, 687, 494, 1, 605, 496, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647, 88, 1, 643, 185, 1], "image_id": 114032, "bbox": [369, 77, 414, 522], "category_id": 1, "id": 171981}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [778, 255, 1, 613, 295, 1, 764, 522, 1, 653, 476, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 606, 9, 1, 669, 196, 1], "image_id": 116154, "bbox": [536, 2, 322, 586], "category_id": 1, "id": 171990}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [720, 297, 1, 570, 285, 1, 724, 386, 1, 555, 387, 1, 695, 422, 1, 652, 425, 1, 686, 463, 1, 590, 467, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 685, 185, 1, 650, 270, 1], "image_id": 114969, "bbox": [521, 162, 239, 308], "category_id": 1, "id": 172000}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [645, 202, 1, 724, 176, 1, 592, 279, 1, 724, 251, 1, 549, 273, 1, 671, 262, 1, 712, 365, 1, 770, 354, 1, 585, 407, 1, 801, 447, 1, 630, 542, 1, 864, 536, 1, 651, 98, 1, 680, 157, 1], "image_id": 114685, "bbox": [495, 75, 398, 498], "category_id": 1, "id": 172001}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [456, 197, 1, 248, 227, 1, 618, 262, 1, 240, 444, 1, 671, 276, 1, 434, 389, 1, 548, 506, 1, 421, 560, 1, 708, 519, 1, 660, 559, 1, 0, 0, 0, 0, 0, 0, 358, 17, 1, 345, 181, 1], "image_id": 119911, "bbox": [176, 0, 763, 631], "category_id": 1, "id": 172030}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [267, 219, 1, 161, 235, 1, 286, 284, 1, 132, 347, 1, 318, 256, 1, 240, 356, 1, 283, 372, 1, 227, 387, 1, 289, 513, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 98, 1, 227, 197, 1], "image_id": 115293, "bbox": [106, 80, 265, 452], "category_id": 1, "id": 172048}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [457, 171, 1, 307, 164, 1, 436, 288, 1, 270, 292, 1, 438, 398, 1, 258, 420, 1, 347, 286, 1, 234, 286, 1, 393, 403, 1, 283, 402, 1, 377, 592, 1, 250, 611, 1, 431, 44, 1, 392, 142, 1], "image_id": 117166, "bbox": [196, 21, 279, 604], "category_id": 1, "id": 172053}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [633, 187, 1, 800, 180, 1, 583, 323, 1, 840, 311, 1, 536, 401, 1, 882, 396, 1, 679, 444, 1, 761, 444, 1, 658, 607, 1, 768, 617, 1, 0, 0, 0, 0, 0, 0, 711, 45, 1, 711, 137, 1], "image_id": 114668, "bbox": [482, 26, 446, 605], "category_id": 1, "id": 172060}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 326, 1, 223, 343, 1, 315, 429, 1, 221, 471, 1, 350, 392, 1, 289, 396, 1, 314, 523, 1, 253, 525, 1, 279, 674, 1, 333, 651, 1, 247, 805, 1, 286, 792, 1, 283, 220, 1, 259, 305, 1], "image_id": 114948, "bbox": [146, 174, 251, 701], "category_id": 1, "id": 172072}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [772, 221, 1, 641, 249, 1, 787, 314, 1, 635, 327, 1, 820, 393, 1, 676, 415, 1, 749, 416, 1, 671, 417, 1, 771, 572, 1, 665, 575, 1, 0, 0, 0, 0, 0, 0, 698, 91, 1, 710, 187, 1], "image_id": 114230, "bbox": [603, 68, 249, 561], "category_id": 1, "id": 172089}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [354, 355, 1, 225, 361, 1, 373, 393, 1, 196, 375, 1, 386, 394, 1, 222, 341, 1, 315, 546, 1, 260, 546, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 264, 1, 288, 347, 1], "image_id": 111474, "bbox": [171, 215, 238, 448], "category_id": 1, "id": 172097}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 213, 1, 263, 216, 1, 259, 293, 1, 258, 293, 1, 227, 340, 1, 241, 361, 1, 269, 371, 1, 250, 374, 1, 270, 465, 1, 222, 426, 1, 270, 551, 1, 264, 533, 1, 249, 144, 1, 268, 195, 1], "image_id": 111885, "bbox": [194, 133, 121, 439], "category_id": 1, "id": 172102}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [500, 189, 1, 366, 223, 1, 556, 270, 1, 427, 304, 1, 639, 272, 1, 507, 321, 1, 518, 408, 1, 427, 412, 1, 577, 546, 1, 417, 523, 1, 667, 650, 1, 0, 0, 0, 409, 72, 1, 430, 172, 1], "image_id": 116773, "bbox": [346, 37, 348, 626], "category_id": 1, "id": 172129}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [623, 203, 1, 490, 224, 1, 655, 318, 1, 471, 332, 1, 642, 402, 1, 471, 410, 1, 604, 416, 1, 513, 421, 1, 630, 583, 1, 517, 592, 1, 654, 725, 1, 519, 722, 1, 525, 87, 1, 548, 188, 1], "image_id": 119953, "bbox": [439, 68, 223, 616], "category_id": 1, "id": 172134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [584, 105, 1, 544, 97, 1, 569, 183, 1, 531, 189, 1, 615, 226, 1, 582, 234, 1, 542, 248, 1, 524, 242, 1, 601, 354, 1, 504, 349, 1, 597, 483, 1, 442, 411, 1, 586, 12, 1, 575, 77, 1], "image_id": 116365, "bbox": [482, 0, 184, 524], "category_id": 1, "id": 172143}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [716, 461, 1, 774, 596, 1, 593, 453, 1, 759, 630, 1, 633, 460, 1, 804, 591, 1, 524, 554, 1, 558, 639, 1, 366, 573, 1, 376, 619, 1, 180, 601, 1, 366, 631, 1, 825, 448, 1, 760, 505, 1], "image_id": 117667, "bbox": [96, 425, 764, 240], "category_id": 1, "id": 172172}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [137, 234, 1, 22, 141, 1, 158, 355, 1, 0, 0, 0, 211, 444, 1, 0, 0, 0, 52, 403, 1, 0, 0, 0, 110, 599, 1, 0, 0, 0, 137, 792, 1, 0, 0, 0, 122, 75, 1, 74, 165, 1], "image_id": 116341, "bbox": [0, 54, 218, 824], "category_id": 1, "id": 172183}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 200, 1, 243, 232, 1, 349, 142, 1, 226, 182, 1, 336, 68, 1, 216, 114, 1, 301, 394, 1, 252, 387, 1, 281, 503, 1, 271, 477, 1, 268, 525, 1, 223, 536, 1, 268, 118, 1, 292, 210, 1], "image_id": 109568, "bbox": [181, 31, 202, 574], "category_id": 1, "id": 172188}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [121, 139, 1, 0, 0, 0, 147, 269, 1, 0, 0, 0, 177, 364, 1, 0, 0, 0, 84, 368, 1, 11, 377, 1, 89, 549, 1, 0, 0, 0, 82, 708, 1, 10, 639, 1, 72, 16, 1, 40, 114, 1], "image_id": 110283, "bbox": [0, 0, 222, 745], "category_id": 1, "id": 172216}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [561, 151, 1, 461, 134, 1, 598, 246, 1, 389, 186, 1, 641, 320, 1, 305, 194, 1, 561, 345, 1, 495, 346, 1, 584, 477, 1, 459, 477, 1, 595, 609, 1, 454, 597, 1, 470, 67, 1, 500, 141, 1], "image_id": 114558, "bbox": [239, 48, 423, 605], "category_id": 1, "id": 172224}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [309, 292, 1, 386, 281, 1, 273, 420, 1, 390, 407, 1, 216, 514, 1, 388, 514, 1, 325, 530, 1, 409, 533, 1, 296, 712, 1, 420, 689, 1, 257, 859, 1, 0, 0, 0, 173, 85, 1, 238, 192, 1], "image_id": 116984, "bbox": [162, 132, 333, 787], "category_id": 1, "id": 172225}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [433, 225, 1, 219, 279, 1, 549, 284, 1, 224, 407, 1, 646, 314, 1, 152, 410, 1, 462, 486, 1, 338, 496, 1, 555, 657, 1, 268, 617, 1, 647, 841, 1, 310, 857, 1, 295, 116, 1, 295, 239, 1], "image_id": 118297, "bbox": [49, 101, 681, 862], "category_id": 1, "id": 172228}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [161, 24, 1, 0, 0, 0, 195, 102, 1, 0, 0, 0, 212, 159, 1, 0, 0, 0, 145, 208, 1, 80, 205, 1, 149, 344, 1, 77, 319, 1, 176, 438, 1, 113, 456, 1, 0, 0, 0, 115, 8, 1], "image_id": 115347, "bbox": [29, 0, 208, 473], "category_id": 1, "id": 172234}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [346, 405, 1, 224, 387, 1, 372, 519, 1, 219, 506, 1, 382, 601, 1, 295, 443, 1, 320, 588, 1, 257, 591, 1, 326, 761, 1, 267, 774, 1, 306, 908, 1, 233, 906, 1, 311, 263, 1, 291, 366, 1], "image_id": 116041, "bbox": [192, 248, 224, 746], "category_id": 1, "id": 172245}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 172, 1, 351, 184, 1, 381, 189, 1, 344, 211, 1, 397, 198, 1, 358, 238, 1, 383, 230, 1, 363, 233, 1, 385, 259, 1, 370, 267, 1, 388, 288, 1, 354, 292, 1, 364, 147, 1, 367, 170, 1], "image_id": 117306, "bbox": [337, 142, 65, 177], "category_id": 1, "id": 172277}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [771, 152, 1, 650, 225, 1, 883, 195, 1, 641, 360, 1, 915, 190, 1, 564, 390, 1, 844, 374, 1, 761, 375, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 762, 111, 1, 847, 218, 1], "image_id": 118547, "bbox": [499, 25, 456, 448], "category_id": 1, "id": 172281}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [761, 236, 1, 669, 240, 1, 773, 307, 1, 656, 313, 1, 778, 358, 1, 656, 385, 1, 733, 383, 1, 695, 384, 1, 735, 500, 1, 685, 510, 1, 724, 568, 1, 696, 601, 1, 696, 119, 1, 707, 206, 1], "image_id": 117845, "bbox": [648, 135, 152, 500], "category_id": 1, "id": 172282}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [60, 180, 1, 18, 156, 1, 6, 250, 1, 0, 0, 0, 0, 0, 0, 64, 274, 1, 0, 0, 0, 0, 0, 0, 75, 366, 1, 0, 0, 0, 24, 504, 1, 0, 0, 0, 109, 102, 1, 51, 152, 1], "image_id": 114237, "bbox": [2, 76, 141, 485], "category_id": 1, "id": 172285}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [464, 120, 1, 354, 116, 1, 505, 152, 1, 307, 172, 1, 556, 185, 1, 345, 175, 1, 424, 276, 1, 362, 287, 1, 435, 381, 1, 377, 423, 1, 463, 488, 1, 404, 519, 1, 417, 31, 1, 413, 95, 1], "image_id": 112209, "bbox": [290, 15, 303, 567], "category_id": 1, "id": 172286}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [583, 319, 1, 606, 283, 1, 613, 512, 1, 644, 455, 1, 729, 525, 1, 796, 421, 1, 0, 0, 0, 462, 576, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 687, 148, 1, 618, 278, 1], "image_id": 114197, "bbox": [363, 126, 433, 506], "category_id": 1, "id": 172292}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [557, 174, 1, 409, 190, 1, 586, 268, 1, 386, 281, 1, 480, 258, 1, 442, 320, 1, 528, 304, 1, 449, 301, 1, 608, 322, 1, 522, 321, 1, 454, 481, 1, 499, 505, 1, 482, 81, 1, 475, 164, 1], "image_id": 110500, "bbox": [376, 49, 269, 483], "category_id": 1, "id": 172293}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [221, 257, 1, 147, 262, 1, 230, 362, 1, 159, 397, 1, 263, 485, 1, 221, 473, 1, 195, 496, 1, 148, 492, 1, 257, 669, 1, 126, 674, 1, 282, 847, 1, 63, 833, 1, 205, 134, 1, 199, 224, 1], "image_id": 117233, "bbox": [39, 98, 304, 797], "category_id": 1, "id": 172305}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [49, 95, 1, 0, 0, 0, 73, 178, 1, 0, 0, 0, 11, 178, 1, 0, 0, 0, 19, 262, 1, 0, 0, 0, 39, 396, 1, 0, 0, 0, 20, 487, 1, 0, 0, 0, 0, 0, 0, 3, 74, 1], "image_id": 118349, "bbox": [0, 1, 98, 504], "category_id": 1, "id": 172310}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [661, 181, 1, 710, 186, 1, 596, 265, 1, 657, 290, 1, 551, 273, 1, 592, 354, 1, 793, 337, 1, 754, 341, 1, 676, 373, 1, 732, 487, 1, 674, 542, 1, 840, 551, 1, 661, 82, 1, 677, 150, 1], "image_id": 114929, "bbox": [511, 60, 374, 520], "category_id": 1, "id": 172318}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [674, 406, 1, 742, 400, 1, 674, 459, 1, 753, 438, 1, 690, 478, 1, 743, 473, 1, 702, 506, 1, 733, 505, 1, 706, 563, 1, 738, 559, 1, 712, 628, 1, 743, 598, 1, 700, 337, 1, 704, 377, 1], "image_id": 114577, "bbox": [655, 330, 107, 316], "category_id": 1, "id": 172320}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [660, 183, 1, 532, 192, 1, 689, 263, 1, 525, 268, 1, 663, 301, 1, 541, 294, 1, 640, 339, 1, 580, 340, 1, 649, 474, 1, 592, 468, 1, 633, 562, 1, 607, 584, 1, 581, 107, 1, 593, 170, 1], "image_id": 117268, "bbox": [477, 82, 237, 547], "category_id": 1, "id": 172324}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [535, 224, 1, 385, 216, 1, 535, 357, 1, 387, 354, 1, 433, 407, 1, 429, 459, 1, 505, 490, 1, 405, 492, 1, 499, 682, 1, 416, 683, 1, 494, 857, 1, 423, 859, 1, 469, 59, 1, 457, 190, 1], "image_id": 110777, "bbox": [324, 30, 248, 919], "category_id": 1, "id": 172331}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [547, 232, 1, 319, 187, 1, 532, 406, 1, 260, 346, 1, 478, 508, 1, 258, 434, 1, 475, 507, 1, 361, 498, 1, 461, 703, 1, 355, 688, 1, 0, 0, 0, 0, 0, 0, 416, 52, 1, 416, 177, 1], "image_id": 112382, "bbox": [210, 0, 372, 669], "category_id": 1, "id": 172375}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 310, 1, 365, 297, 1, 420, 323, 1, 346, 314, 1, 448, 324, 1, 328, 314, 1, 393, 369, 1, 376, 368, 1, 391, 404, 1, 375, 403, 1, 377, 448, 1, 370, 448, 1, 386, 262, 1, 383, 292, 1], "image_id": 109066, "bbox": [303, 254, 166, 212], "category_id": 1, "id": 172378}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [316, 336, 1, 263, 348, 1, 262, 414, 1, 225, 399, 1, 222, 371, 1, 201, 378, 1, 295, 513, 1, 281, 518, 1, 170, 563, 1, 272, 660, 1, 101, 649, 1, 0, 0, 0, 217, 258, 1, 277, 314, 1], "image_id": 117175, "bbox": [160, 182, 231, 507], "category_id": 1, "id": 172383}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [348, 196, 1, 372, 181, 1, 403, 274, 1, 382, 266, 1, 414, 335, 1, 403, 335, 1, 450, 346, 1, 427, 346, 1, 474, 444, 1, 403, 446, 1, 500, 566, 1, 407, 557, 1, 278, 150, 1, 324, 182, 1], "image_id": 117716, "bbox": [245, 121, 281, 492], "category_id": 1, "id": 172400}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 113, 1, 249, 105, 1, 358, 185, 1, 218, 151, 1, 367, 239, 1, 198, 186, 1, 334, 250, 1, 287, 250, 1, 326, 374, 1, 283, 369, 1, 319, 462, 1, 278, 468, 1, 303, 25, 1, 299, 97, 1], "image_id": 115608, "bbox": [172, 0, 218, 538], "category_id": 1, "id": 172410}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [253, 290, 1, 279, 320, 1, 250, 337, 1, 274, 371, 1, 268, 311, 1, 286, 415, 1, 253, 407, 1, 279, 406, 1, 244, 454, 1, 312, 470, 1, 210, 492, 1, 274, 528, 1, 309, 245, 1, 279, 295, 1], "image_id": 114040, "bbox": [181, 218, 161, 366], "category_id": 1, "id": 172412}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [896, 219, 1, 722, 237, 1, 861, 303, 1, 669, 319, 1, 830, 180, 1, 692, 191, 1, 823, 471, 1, 722, 463, 1, 737, 582, 1, 619, 573, 1, 0, 0, 0, 0, 0, 0, 804, 57, 1, 807, 194, 1], "image_id": 116898, "bbox": [638, 34, 300, 400], "category_id": 1, "id": 172414}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [842, 418, 1, 808, 367, 1, 732, 525, 1, 752, 520, 1, 678, 389, 1, 747, 566, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 734, 143, 1, 812, 310, 1], "image_id": 117238, "bbox": [633, 99, 264, 496], "category_id": 1, "id": 172418}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [656, 288, 1, 564, 277, 1, 619, 187, 1, 462, 194, 1, 646, 214, 1, 603, 206, 1, 563, 521, 1, 499, 518, 1, 428, 375, 1, 380, 384, 1, 312, 532, 1, 271, 521, 1, 560, 154, 1, 599, 256, 1], "image_id": 113684, "bbox": [171, 130, 520, 448], "category_id": 1, "id": 172422}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 155, 1, 159, 188, 1, 384, 144, 1, 89, 282, 1, 445, 109, 1, 164, 315, 1, 238, 414, 1, 176, 412, 1, 195, 580, 1, 242, 561, 1, 70, 600, 1, 207, 724, 1, 228, 41, 1, 228, 152, 1], "image_id": 113109, "bbox": [22, 11, 496, 758], "category_id": 1, "id": 172443}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [352, 223, 1, 233, 212, 1, 405, 238, 1, 161, 266, 1, 462, 268, 1, 106, 316, 1, 313, 344, 1, 249, 348, 1, 318, 448, 1, 324, 438, 1, 269, 537, 1, 374, 536, 1, 318, 156, 1, 292, 206, 1], "image_id": 116660, "bbox": [44, 129, 479, 444], "category_id": 1, "id": 172468}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [466, 252, 1, 370, 250, 1, 492, 330, 1, 310, 326, 1, 527, 229, 1, 329, 233, 1, 451, 448, 1, 397, 448, 1, 457, 601, 1, 415, 603, 1, 465, 753, 1, 404, 754, 1, 457, 137, 1, 426, 215, 1], "image_id": 109791, "bbox": [280, 111, 277, 689], "category_id": 1, "id": 172493}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [496, 118, 1, 573, 142, 1, 543, 168, 1, 611, 219, 1, 629, 169, 1, 684, 285, 1, 377, 313, 1, 427, 328, 1, 397, 481, 1, 451, 501, 1, 342, 637, 1, 330, 631, 1, 569, 41, 1, 548, 102, 1], "image_id": 115467, "bbox": [293, 24, 436, 659], "category_id": 1, "id": 172499}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [477, 363, 1, 263, 256, 1, 406, 559, 1, 61, 270, 1, 291, 665, 1, 180, 199, 1, 369, 613, 1, 214, 601, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 78, 1, 375, 275, 1], "image_id": 109132, "bbox": [2, 29, 519, 690], "category_id": 1, "id": 172503}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [512, 246, 1, 484, 249, 1, 531, 366, 1, 487, 328, 1, 493, 284, 1, 442, 375, 1, 502, 488, 1, 493, 486, 1, 0, 0, 0, 453, 656, 1, 0, 0, 0, 0, 0, 0, 452, 117, 1, 472, 229, 1], "image_id": 113203, "bbox": [389, 102, 209, 562], "category_id": 1, "id": 172517}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 163, 1, 304, 162, 1, 408, 239, 1, 273, 237, 1, 385, 187, 1, 321, 217, 1, 379, 279, 1, 343, 280, 1, 368, 359, 1, 346, 360, 1, 378, 443, 1, 341, 425, 1, 347, 86, 1, 354, 142, 1], "image_id": 112895, "bbox": [313, 70, 117, 419], "category_id": 1, "id": 172518}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 148, 1, 438, 111, 1, 300, 221, 1, 436, 205, 1, 356, 211, 1, 371, 180, 1, 364, 288, 1, 426, 283, 1, 309, 393, 1, 470, 352, 1, 363, 527, 1, 533, 441, 1, 366, 37, 1, 378, 104, 1], "image_id": 114784, "bbox": [285, 26, 277, 549], "category_id": 1, "id": 172528}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [285, 590, 1, 195, 594, 1, 307, 629, 1, 184, 651, 1, 330, 606, 1, 177, 700, 1, 261, 717, 1, 216, 714, 1, 254, 784, 1, 223, 786, 1, 246, 852, 1, 231, 848, 1, 235, 498, 1, 238, 574, 1], "image_id": 112267, "bbox": [153, 476, 206, 421], "category_id": 1, "id": 172547}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 269, 1, 90, 274, 1, 243, 378, 1, 64, 370, 1, 258, 479, 1, 100, 390, 1, 191, 486, 1, 127, 488, 1, 191, 614, 1, 144, 616, 1, 211, 753, 1, 161, 758, 1, 140, 121, 1, 151, 238, 1], "image_id": 118772, "bbox": [2, 82, 329, 745], "category_id": 1, "id": 172550}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 54, 1, 447, 80, 1, 552, 95, 1, 437, 141, 1, 604, 125, 1, 477, 158, 1, 551, 204, 1, 504, 219, 1, 588, 308, 1, 508, 318, 1, 617, 405, 1, 465, 336, 1, 618, 101, 1, 484, 47, 1], "image_id": 115347, "bbox": [415, 0, 233, 442], "category_id": 1, "id": 172558}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [461, 383, 1, 322, 349, 1, 331, 483, 1, 185, 419, 1, 225, 385, 1, 83, 374, 1, 367, 648, 1, 293, 644, 1, 370, 806, 1, 302, 796, 1, 0, 0, 0, 0, 0, 0, 393, 156, 1, 129, 298, 1], "image_id": 115356, "bbox": [5, 130, 495, 769], "category_id": 1, "id": 172583}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [203, 136, 1, 187, 164, 1, 308, 101, 1, 200, 193, 1, 321, 121, 1, 156, 244, 1, 371, 268, 1, 321, 310, 1, 429, 398, 1, 260, 408, 1, 572, 494, 1, 330, 572, 1, 109, 80, 1, 172, 139, 1], "image_id": 119377, "bbox": [57, 51, 565, 563], "category_id": 1, "id": 172601}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [674, 380, 1, 478, 384, 1, 684, 535, 1, 416, 534, 1, 718, 633, 1, 447, 652, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 165, 1, 579, 316, 1], "image_id": 111164, "bbox": [370, 144, 401, 522], "category_id": 1, "id": 172607}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [294, 157, 1, 198, 138, 1, 340, 252, 1, 138, 222, 1, 373, 200, 1, 169, 252, 1, 250, 349, 1, 191, 322, 1, 250, 500, 1, 263, 291, 1, 212, 646, 1, 323, 310, 1, 282, 39, 1, 250, 126, 1], "image_id": 111161, "bbox": [118, 7, 306, 688], "category_id": 1, "id": 172618}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 207, 1, 557, 205, 1, 442, 274, 1, 611, 212, 1, 497, 273, 1, 604, 182, 1, 469, 383, 1, 541, 384, 1, 443, 498, 1, 577, 499, 1, 422, 606, 1, 614, 610, 1, 514, 116, 1, 510, 181, 1], "image_id": 117767, "bbox": [393, 104, 271, 545], "category_id": 1, "id": 172623}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 193, 1, 303, 184, 1, 423, 295, 1, 253, 268, 1, 426, 285, 1, 302, 210, 1, 388, 361, 1, 329, 364, 1, 426, 472, 1, 363, 486, 1, 361, 569, 1, 385, 624, 1, 375, 88, 1, 361, 169, 1], "image_id": 114776, "bbox": [237, 74, 209, 599], "category_id": 1, "id": 172632}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [284, 350, 1, 135, 323, 1, 283, 474, 1, 110, 452, 1, 210, 431, 1, 133, 426, 1, 247, 588, 1, 168, 590, 1, 243, 743, 1, 165, 756, 1, 231, 882, 1, 158, 916, 1, 254, 201, 1, 214, 308, 1], "image_id": 115190, "bbox": [86, 179, 229, 814], "category_id": 1, "id": 172642}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 238, 1, 202, 243, 1, 283, 307, 1, 219, 290, 1, 267, 248, 1, 242, 256, 1, 285, 413, 1, 230, 412, 1, 278, 540, 1, 239, 539, 1, 282, 671, 1, 262, 671, 1, 254, 142, 1, 258, 222, 1], "image_id": 109072, "bbox": [183, 120, 156, 592], "category_id": 1, "id": 172665}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 321, 1, 402, 287, 1, 419, 411, 1, 376, 321, 1, 361, 387, 1, 300, 294, 1, 503, 489, 1, 441, 494, 1, 565, 587, 1, 416, 625, 1, 669, 591, 1, 403, 746, 1, 412, 204, 1, 421, 286, 1], "image_id": 117530, "bbox": [309, 185, 430, 608], "category_id": 1, "id": 172672}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [280, 336, 1, 354, 327, 1, 231, 397, 1, 406, 436, 1, 300, 401, 1, 426, 446, 1, 280, 564, 1, 310, 564, 1, 268, 716, 1, 298, 717, 1, 261, 843, 1, 282, 855, 1, 361, 232, 1, 324, 315, 1], "image_id": 114072, "bbox": [208, 205, 238, 699], "category_id": 1, "id": 172675}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [657, 429, 1, 535, 435, 1, 658, 516, 1, 532, 545, 1, 638, 563, 1, 509, 461, 1, 624, 555, 1, 553, 556, 1, 665, 595, 1, 512, 587, 1, 0, 0, 0, 0, 0, 0, 594, 306, 1, 594, 410, 1], "image_id": 117546, "bbox": [481, 290, 231, 452], "category_id": 1, "id": 172678}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [678, 242, 1, 548, 199, 1, 729, 301, 1, 459, 249, 1, 791, 347, 1, 383, 270, 1, 560, 386, 1, 494, 375, 1, 501, 494, 1, 444, 498, 1, 426, 603, 1, 437, 454, 1, 647, 127, 1, 612, 197, 1], "image_id": 111531, "bbox": [312, 101, 535, 545], "category_id": 1, "id": 172682}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [243, 137, 1, 229, 132, 1, 190, 233, 1, 209, 201, 1, 241, 269, 1, 291, 218, 1, 322, 333, 1, 275, 344, 1, 378, 462, 1, 304, 496, 1, 371, 602, 1, 224, 596, 1, 291, 36, 1, 252, 113, 1], "image_id": 111207, "bbox": [166, 15, 263, 670], "category_id": 1, "id": 172685}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [618, 224, 1, 0, 0, 0, 563, 326, 1, 0, 0, 0, 553, 358, 1, 0, 0, 0, 663, 472, 1, 0, 0, 0, 672, 635, 1, 0, 0, 0, 620, 830, 1, 0, 0, 0, 623, 79, 1, 659, 145, 1], "image_id": 119229, "bbox": [504, 0, 207, 871], "category_id": 1, "id": 172701}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [289, 289, 1, 183, 348, 1, 334, 357, 1, 217, 448, 1, 399, 346, 1, 310, 442, 1, 238, 420, 1, 185, 443, 1, 325, 475, 1, 207, 529, 1, 281, 552, 1, 136, 503, 1, 327, 132, 1, 352, 225, 1], "image_id": 109191, "bbox": [55, 29, 397, 645], "category_id": 1, "id": 172703}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [185, 660, 1, 260, 695, 1, 181, 754, 1, 291, 768, 1, 246, 793, 1, 270, 826, 1, 135, 811, 1, 198, 791, 1, 213, 746, 1, 270, 770, 1, 172, 834, 1, 208, 848, 1, 223, 584, 1, 218, 662, 1], "image_id": 118384, "bbox": [74, 554, 236, 335], "category_id": 1, "id": 172708}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [234, 166, 1, 141, 153, 1, 247, 277, 1, 115, 270, 1, 248, 364, 1, 94, 367, 1, 188, 389, 1, 129, 389, 1, 199, 526, 1, 136, 523, 1, 193, 658, 1, 132, 650, 1, 165, 30, 1, 174, 133, 1], "image_id": 110277, "bbox": [55, 14, 225, 717], "category_id": 1, "id": 172711}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [246, 213, 1, 118, 208, 1, 291, 305, 1, 92, 315, 1, 355, 311, 1, 156, 284, 1, 210, 424, 1, 136, 421, 1, 196, 580, 1, 127, 561, 1, 193, 677, 1, 112, 686, 1, 187, 85, 1, 187, 189, 1], "image_id": 109982, "bbox": [72, 68, 316, 652], "category_id": 1, "id": 172714}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [546, 163, 1, 361, 259, 1, 691, 228, 1, 391, 348, 1, 650, 239, 1, 384, 396, 1, 585, 424, 1, 481, 428, 1, 550, 611, 1, 457, 632, 1, 560, 837, 1, 541, 830, 1, 379, 79, 1, 433, 186, 1], "image_id": 112339, "bbox": [321, 54, 397, 856], "category_id": 1, "id": 172730}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [535, 154, 1, 571, 109, 1, 483, 238, 1, 633, 148, 1, 383, 212, 1, 548, 213, 1, 705, 310, 1, 639, 320, 1, 766, 487, 1, 509, 354, 1, 893, 563, 1, 548, 518, 1, 470, 59, 1, 526, 121, 1], "image_id": 112587, "bbox": [296, 19, 640, 588], "category_id": 1, "id": 172731}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 273, 1, 124, 251, 1, 270, 377, 1, 120, 362, 1, 161, 339, 1, 216, 374, 1, 224, 502, 1, 143, 501, 1, 220, 671, 1, 115, 659, 1, 212, 789, 1, 94, 783, 1, 201, 104, 1, 195, 230, 1], "image_id": 118991, "bbox": [54, 76, 253, 802], "category_id": 1, "id": 172741}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [727, 250, 1, 576, 251, 1, 767, 331, 1, 579, 344, 1, 710, 249, 1, 615, 253, 1, 704, 532, 1, 632, 529, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 646, 121, 1, 646, 228, 1], "image_id": 119527, "bbox": [539, 111, 251, 487], "category_id": 1, "id": 172758}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 418, 170, 1, 0, 0, 0, 410, 297, 1, 0, 0, 0, 414, 372, 1, 0, 0, 0, 508, 418, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 30, 1, 388, 142, 1], "image_id": 117756, "bbox": [360, 0, 172, 680], "category_id": 1, "id": 172772}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [485, 142, 1, 359, 116, 1, 558, 188, 1, 314, 164, 1, 619, 235, 1, 291, 175, 1, 465, 308, 1, 410, 304, 1, 374, 448, 1, 404, 449, 1, 414, 573, 1, 471, 535, 1, 384, 37, 1, 415, 107, 1], "image_id": 111077, "bbox": [250, 6, 423, 621], "category_id": 1, "id": 172785}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 199, 1, 219, 182, 1, 309, 243, 1, 206, 234, 1, 251, 240, 1, 215, 253, 1, 281, 318, 1, 260, 314, 1, 284, 386, 1, 282, 372, 1, 306, 431, 1, 299, 402, 1, 219, 107, 1, 256, 165, 1], "image_id": 110043, "bbox": [185, 70, 152, 407], "category_id": 1, "id": 172791}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [383, 153, 1, 237, 155, 1, 427, 267, 1, 190, 262, 1, 410, 347, 1, 138, 355, 1, 358, 258, 1, 262, 251, 1, 434, 376, 1, 159, 389, 1, 433, 527, 1, 83, 525, 1, 316, 55, 1, 316, 103, 1], "image_id": 118089, "bbox": [26, 33, 484, 540], "category_id": 1, "id": 172807}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [189, 246, 1, 111, 234, 1, 264, 302, 1, 160, 326, 1, 327, 275, 1, 250, 282, 1, 130, 433, 1, 75, 439, 1, 220, 541, 1, 183, 541, 1, 133, 679, 1, 98, 691, 1, 126, 119, 1, 144, 210, 1], "image_id": 114257, "bbox": [19, 104, 357, 641], "category_id": 1, "id": 172834}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [678, 153, 1, 526, 117, 1, 682, 271, 1, 449, 146, 1, 655, 284, 1, 347, 173, 1, 600, 314, 1, 517, 300, 1, 692, 452, 1, 487, 426, 1, 695, 609, 1, 420, 594, 1, 614, 48, 1, 605, 113, 1], "image_id": 114308, "bbox": [279, 24, 492, 625], "category_id": 1, "id": 172835}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [305, 195, 1, 383, 187, 1, 289, 277, 1, 399, 275, 1, 279, 344, 1, 407, 340, 1, 320, 345, 1, 372, 345, 1, 321, 443, 1, 368, 451, 1, 324, 531, 1, 365, 536, 1, 343, 101, 1, 340, 159, 1], "image_id": 118936, "bbox": [256, 87, 172, 478], "category_id": 1, "id": 172842}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [354, 286, 1, 336, 290, 1, 365, 304, 1, 342, 309, 1, 360, 320, 1, 341, 328, 1, 361, 327, 1, 348, 330, 1, 368, 351, 1, 337, 350, 1, 388, 375, 1, 338, 380, 1, 339, 263, 1, 343, 282, 1], "image_id": 117424, "bbox": [321, 254, 76, 134], "category_id": 1, "id": 172844}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [603, 378, 1, 475, 394, 1, 639, 446, 1, 457, 488, 1, 651, 520, 1, 486, 551, 1, 583, 577, 1, 517, 584, 1, 581, 717, 1, 520, 735, 1, 589, 861, 1, 538, 866, 1, 0, 0, 0, 509, 293, 1], "image_id": 119542, "bbox": [365, 257, 313, 639], "category_id": 1, "id": 172856}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [713, 209, 1, 649, 176, 1, 621, 309, 1, 708, 315, 1, 740, 310, 1, 837, 363, 1, 528, 401, 1, 505, 356, 1, 445, 542, 1, 467, 493, 1, 222, 522, 1, 0, 0, 0, 773, 51, 1, 697, 158, 1], "image_id": 116300, "bbox": [72, 7, 821, 652], "category_id": 1, "id": 172858}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [453, 207, 1, 352, 207, 1, 455, 280, 1, 342, 283, 1, 446, 281, 1, 366, 287, 1, 436, 320, 1, 379, 320, 1, 414, 373, 1, 351, 371, 1, 422, 461, 1, 374, 458, 1, 401, 142, 1, 401, 192, 1], "image_id": 118281, "bbox": [320, 111, 177, 215], "category_id": 1, "id": 172867}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [292, 284, 1, 238, 287, 1, 306, 320, 1, 222, 325, 1, 309, 351, 1, 214, 367, 1, 289, 360, 1, 259, 361, 1, 295, 397, 1, 247, 423, 1, 294, 432, 1, 240, 461, 1, 0, 0, 0, 270, 266, 1], "image_id": 117457, "bbox": [207, 266, 108, 232], "category_id": 1, "id": 172883}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [449, 279, 1, 336, 286, 1, 475, 375, 1, 324, 381, 1, 481, 451, 1, 351, 440, 1, 480, 354, 1, 397, 355, 1, 482, 474, 1, 377, 473, 1, 482, 590, 1, 359, 590, 1, 366, 209, 1, 384, 263, 1], "image_id": 116906, "bbox": [291, 181, 211, 477], "category_id": 1, "id": 172890}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [753, 276, 1, 608, 225, 1, 721, 372, 1, 560, 305, 1, 646, 329, 1, 529, 313, 1, 691, 447, 1, 615, 411, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 119, 1, 677, 220, 1], "image_id": 118710, "bbox": [473, 76, 304, 358], "category_id": 1, "id": 172893}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [516, 198, 1, 517, 240, 1, 408, 287, 1, 443, 355, 1, 290, 295, 1, 378, 450, 1, 531, 492, 1, 443, 488, 1, 544, 671, 1, 436, 655, 1, 543, 868, 1, 464, 849, 1, 484, 61, 1, 502, 167, 1], "image_id": 114372, "bbox": [215, 43, 381, 866], "category_id": 1, "id": 172899}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [639, 135, 1, 538, 130, 1, 680, 225, 1, 470, 213, 1, 713, 195, 1, 440, 257, 1, 598, 304, 1, 548, 305, 1, 640, 438, 1, 627, 386, 1, 570, 521, 1, 555, 508, 1, 602, 49, 1, 594, 120, 1], "image_id": 117034, "bbox": [380, 22, 385, 575], "category_id": 1, "id": 172903}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [488, 220, 1, 355, 197, 1, 491, 330, 1, 326, 297, 1, 492, 397, 1, 311, 382, 1, 442, 419, 1, 370, 411, 1, 426, 530, 1, 363, 514, 1, 414, 621, 1, 361, 582, 1, 448, 105, 1, 425, 188, 1], "image_id": 110429, "bbox": [322, 81, 193, 621], "category_id": 1, "id": 172914}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [502, 159, 1, 378, 164, 1, 457, 271, 1, 364, 246, 1, 375, 284, 1, 306, 243, 1, 472, 390, 1, 407, 390, 1, 504, 544, 1, 401, 548, 1, 0, 0, 0, 0, 0, 0, 417, 27, 1, 431, 128, 1], "image_id": 113659, "bbox": [347, 3, 195, 576], "category_id": 1, "id": 172921}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [634, 278, 1, 458, 244, 1, 594, 424, 1, 394, 371, 1, 483, 475, 1, 274, 387, 1, 516, 580, 1, 418, 583, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 500, 61, 1, 531, 211, 1], "image_id": 110083, "bbox": [202, 25, 470, 593], "category_id": 1, "id": 172934}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [536, 201, 1, 407, 178, 1, 620, 238, 1, 334, 165, 1, 703, 264, 1, 256, 157, 1, 538, 353, 1, 484, 353, 1, 501, 468, 1, 485, 478, 1, 601, 479, 1, 557, 592, 1, 441, 105, 1, 457, 180, 1], "image_id": 119300, "bbox": [203, 85, 568, 539], "category_id": 1, "id": 172935}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [335, 256, 1, 234, 265, 1, 285, 380, 1, 224, 381, 1, 359, 334, 1, 304, 336, 1, 299, 495, 1, 260, 500, 1, 283, 645, 1, 328, 654, 1, 261, 800, 1, 276, 775, 1, 300, 117, 1, 284, 224, 1], "image_id": 114979, "bbox": [181, 90, 212, 711], "category_id": 1, "id": 172936}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [491, 253, 1, 315, 225, 1, 427, 386, 1, 308, 362, 1, 332, 427, 1, 276, 432, 1, 420, 456, 1, 305, 458, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 63, 1, 416, 186, 1], "image_id": 113108, "bbox": [240, 32, 301, 469], "category_id": 1, "id": 172971}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [593, 296, 1, 469, 297, 1, 620, 409, 1, 451, 413, 1, 558, 363, 1, 485, 346, 1, 560, 509, 1, 487, 513, 1, 553, 675, 1, 507, 673, 1, 565, 855, 1, 520, 855, 1, 520, 153, 1, 526, 259, 1], "image_id": 115925, "bbox": [418, 142, 229, 787], "category_id": 1, "id": 172981}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 176, 1, 164, 160, 1, 232, 207, 1, 116, 188, 1, 282, 201, 1, 100, 176, 1, 184, 283, 1, 159, 280, 1, 159, 356, 1, 157, 355, 1, 131, 432, 1, 150, 436, 1, 212, 118, 1, 195, 154, 1], "image_id": 109961, "bbox": [81, 105, 238, 373], "category_id": 1, "id": 172989}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [571, 304, 1, 401, 308, 1, 608, 438, 1, 385, 473, 1, 516, 396, 1, 387, 587, 1, 522, 591, 1, 442, 588, 1, 502, 763, 1, 474, 780, 1, 499, 944, 1, 547, 875, 1, 460, 152, 1, 484, 279, 1], "image_id": 116752, "bbox": [349, 116, 290, 881], "category_id": 1, "id": 173011}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [148, 244, 1, 205, 283, 1, 147, 335, 1, 223, 393, 1, 240, 338, 1, 277, 342, 1, 178, 486, 1, 213, 486, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 137, 1, 191, 223, 1], "image_id": 118178, "bbox": [127, 100, 174, 498], "category_id": 1, "id": 173014}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [398, 278, 1, 395, 276, 1, 410, 276, 1, 417, 286, 1, 422, 273, 1, 428, 280, 1, 383, 322, 1, 376, 322, 1, 386, 357, 1, 375, 358, 1, 389, 386, 1, 370, 392, 1, 405, 257, 1, 396, 272, 1], "image_id": 109773, "bbox": [359, 250, 77, 156], "category_id": 1, "id": 173037}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [365, 135, 1, 271, 132, 1, 389, 186, 1, 273, 190, 1, 350, 193, 1, 268, 219, 1, 331, 257, 1, 294, 256, 1, 329, 334, 1, 289, 335, 1, 328, 404, 1, 289, 404, 1, 310, 67, 1, 315, 120, 1], "image_id": 109841, "bbox": [256, 59, 144, 220], "category_id": 1, "id": 173043}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 310, 1, 441, 318, 1, 560, 469, 1, 431, 433, 1, 539, 585, 1, 405, 528, 1, 501, 565, 1, 441, 564, 1, 494, 706, 1, 436, 704, 1, 491, 806, 1, 428, 804, 1, 477, 197, 1, 487, 285, 1], "image_id": 116120, "bbox": [423, 165, 168, 469], "category_id": 1, "id": 173049}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [338, 237, 1, 185, 280, 1, 381, 305, 1, 190, 401, 1, 463, 270, 1, 181, 514, 1, 308, 520, 1, 229, 526, 1, 287, 664, 1, 233, 684, 1, 268, 796, 1, 254, 746, 1, 365, 121, 1, 415, 245, 1], "image_id": 109426, "bbox": [117, 4, 404, 899], "category_id": 1, "id": 173056}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [602, 169, 1, 486, 156, 1, 618, 286, 1, 431, 252, 1, 552, 245, 1, 390, 188, 1, 563, 344, 1, 491, 337, 1, 572, 446, 1, 439, 429, 1, 601, 557, 1, 452, 587, 1, 553, 49, 1, 545, 140, 1], "image_id": 114789, "bbox": [363, 26, 290, 604], "category_id": 1, "id": 173062}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 49, 24, 1, 31, 25, 1, 102, 57, 1, 90, 49, 1, 53, 84, 1, 27, 84, 1, 90, 179, 1, 77, 181, 1, 100, 268, 1, 91, 277, 1, 0, 0, 0, 0, 0, 0], "image_id": 119171, "bbox": [0, 0, 162, 303], "category_id": 1, "id": 173064}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [282, 267, 1, 65, 210, 1, 374, 365, 1, 0, 0, 0, 367, 386, 1, 175, 393, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 73, 1, 204, 228, 1], "image_id": 118412, "bbox": [0, 15, 429, 492], "category_id": 1, "id": 173066}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [397, 267, 1, 341, 267, 1, 358, 309, 1, 321, 291, 1, 319, 300, 1, 304, 276, 1, 400, 324, 1, 360, 323, 1, 375, 319, 1, 333, 307, 1, 389, 348, 1, 350, 344, 1, 375, 211, 1, 369, 259, 1], "image_id": 114850, "bbox": [311, 194, 116, 193], "category_id": 1, "id": 173079}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [506, 255, 1, 354, 257, 1, 528, 377, 1, 319, 361, 1, 481, 393, 1, 398, 357, 1, 479, 420, 1, 388, 416, 1, 482, 481, 1, 456, 534, 1, 0, 0, 0, 0, 0, 0, 432, 113, 1, 432, 228, 1], "image_id": 118855, "bbox": [288, 93, 300, 505], "category_id": 1, "id": 173092}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 205, 1, 235, 199, 1, 328, 293, 1, 238, 291, 1, 245, 318, 1, 232, 369, 1, 323, 378, 1, 293, 395, 1, 377, 486, 1, 352, 501, 1, 422, 589, 1, 420, 598, 1, 259, 76, 1, 272, 186, 1], "image_id": 112784, "bbox": [196, 53, 263, 602], "category_id": 1, "id": 173098}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 149, 1, 367, 152, 1, 394, 267, 1, 381, 262, 1, 316, 290, 1, 326, 270, 1, 397, 379, 1, 380, 376, 1, 413, 517, 1, 392, 517, 1, 428, 657, 1, 402, 648, 1, 341, 12, 1, 360, 103, 1], "image_id": 116095, "bbox": [258, 6, 181, 694], "category_id": 1, "id": 173109}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [406, 148, 1, 268, 165, 1, 436, 237, 1, 248, 281, 1, 396, 332, 1, 316, 350, 1, 402, 326, 1, 310, 327, 1, 388, 288, 1, 294, 264, 1, 404, 444, 1, 231, 450, 1, 324, 62, 1, 334, 140, 1], "image_id": 114107, "bbox": [183, 18, 293, 502], "category_id": 1, "id": 173125}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [530, 384, 1, 577, 351, 1, 494, 426, 1, 505, 373, 1, 439, 412, 1, 447, 383, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 245, 1, 554, 342, 1], "image_id": 118580, "bbox": [384, 236, 296, 280], "category_id": 1, "id": 173126}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [317, 297, 1, 79, 435, 1, 379, 496, 1, 221, 742, 1, 407, 627, 1, 398, 548, 1, 372, 673, 1, 245, 745, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, 95, 1, 220, 319, 1], "image_id": 119953, "bbox": [27, 36, 580, 722], "category_id": 1, "id": 173145}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [508, 288, 1, 445, 269, 1, 524, 208, 1, 456, 195, 1, 523, 142, 1, 500, 143, 1, 448, 459, 1, 403, 436, 1, 497, 551, 1, 305, 439, 1, 551, 508, 1, 325, 548, 1, 478, 202, 1, 478, 268, 1], "image_id": 116404, "bbox": [270, 92, 322, 487], "category_id": 1, "id": 173158}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [535, 312, 1, 413, 219, 1, 555, 425, 1, 280, 201, 1, 560, 524, 1, 354, 247, 1, 399, 422, 1, 306, 410, 1, 510, 570, 1, 314, 614, 1, 463, 696, 1, 260, 728, 1, 531, 172, 1, 489, 246, 1], "image_id": 114944, "bbox": [222, 108, 375, 705], "category_id": 1, "id": 173178}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [440, 287, 1, 223, 270, 1, 515, 385, 1, 178, 442, 1, 508, 264, 1, 164, 578, 1, 358, 643, 1, 235, 640, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 95, 1, 330, 238, 1], "image_id": 116073, "bbox": [125, 71, 398, 594], "category_id": 1, "id": 173183}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [743, 251, 1, 558, 250, 1, 814, 325, 1, 524, 341, 1, 885, 353, 1, 498, 407, 1, 706, 402, 1, 599, 404, 1, 751, 437, 1, 589, 433, 1, 743, 611, 1, 605, 611, 1, 637, 104, 1, 637, 216, 1], "image_id": 115682, "bbox": [455, 88, 525, 537], "category_id": 1, "id": 173185}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [494, 367, 1, 355, 357, 1, 455, 533, 1, 333, 545, 1, 352, 590, 1, 290, 686, 1, 445, 709, 1, 361, 707, 1, 472, 965, 1, 309, 970, 1, 0, 0, 0, 0, 0, 0, 394, 177, 1, 424, 304, 1], "image_id": 115315, "bbox": [251, 122, 317, 856], "category_id": 1, "id": 173201}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [113, 205, 1, 90, 204, 1, 138, 291, 1, 118, 291, 1, 122, 341, 1, 166, 365, 1, 94, 376, 1, 76, 371, 1, 104, 483, 1, 89, 476, 1, 92, 592, 1, 81, 594, 1, 162, 112, 1, 106, 168, 1], "image_id": 118936, "bbox": [16, 93, 190, 545], "category_id": 1, "id": 173208}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [489, 439, 1, 270, 414, 1, 528, 593, 1, 191, 571, 1, 517, 554, 1, 333, 543, 1, 437, 813, 1, 328, 816, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, 237, 1, 389, 384, 1], "image_id": 111410, "bbox": [160, 209, 397, 690], "category_id": 1, "id": 173213}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [524, 227, 1, 401, 198, 1, 523, 312, 1, 351, 228, 1, 545, 375, 1, 344, 272, 1, 452, 386, 1, 396, 386, 1, 451, 454, 1, 396, 458, 1, 452, 517, 1, 396, 518, 1, 494, 109, 1, 464, 197, 1], "image_id": 114047, "bbox": [299, 72, 263, 334], "category_id": 1, "id": 173309}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 211, 1, 337, 199, 1, 370, 249, 1, 315, 227, 1, 348, 278, 1, 289, 226, 1, 348, 286, 1, 326, 285, 1, 344, 346, 1, 324, 340, 1, 349, 380, 1, 321, 381, 1, 365, 151, 1, 363, 191, 1], "image_id": 113030, "bbox": [264, 137, 136, 207], "category_id": 1, "id": 173317}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [212, 286, 1, 267, 285, 1, 321, 419, 1, 414, 387, 1, 470, 380, 1, 556, 355, 1, 246, 609, 1, 268, 608, 1, 399, 729, 1, 445, 730, 1, 181, 721, 1, 230, 726, 1, 281, 103, 1, 248, 235, 1], "image_id": 117261, "bbox": [48, 66, 593, 709], "category_id": 1, "id": 173323}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [95, 165, 1, 134, 178, 1, 61, 211, 1, 111, 249, 1, 44, 274, 1, 133, 314, 1, 84, 301, 1, 94, 306, 1, 136, 371, 1, 140, 390, 1, 151, 428, 1, 117, 473, 1, 158, 81, 1, 123, 153, 1], "image_id": 113597, "bbox": [23, 58, 169, 421], "category_id": 1, "id": 173332}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 344, 1, 250, 339, 1, 268, 485, 1, 264, 444, 1, 215, 588, 1, 252, 547, 1, 423, 448, 1, 344, 445, 1, 417, 609, 1, 272, 581, 1, 466, 761, 1, 279, 780, 1, 195, 293, 1, 266, 328, 1], "image_id": 119229, "bbox": [159, 239, 326, 476], "category_id": 1, "id": 173339}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [373, 256, 1, 262, 267, 1, 395, 338, 1, 238, 338, 1, 402, 418, 1, 237, 418, 1, 356, 464, 1, 303, 468, 1, 400, 572, 1, 295, 579, 1, 431, 676, 1, 323, 686, 1, 300, 154, 1, 311, 231, 1], "image_id": 115210, "bbox": [241, 139, 207, 560], "category_id": 1, "id": 173340}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 79, 1, 373, 90, 1, 280, 127, 1, 389, 144, 1, 301, 159, 1, 391, 187, 1, 323, 181, 1, 353, 184, 1, 321, 246, 1, 345, 244, 1, 318, 310, 1, 339, 310, 1, 354, 20, 1, 345, 56, 1], "image_id": 112325, "bbox": [287, 15, 115, 249], "category_id": 1, "id": 173367}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [371, 112, 1, 338, 130, 1, 385, 192, 1, 371, 201, 1, 358, 285, 1, 339, 291, 1, 391, 315, 1, 384, 316, 1, 395, 427, 1, 385, 425, 1, 394, 526, 1, 385, 526, 1, 297, 54, 1, 340, 101, 1], "image_id": 113886, "bbox": [274, 40, 186, 313], "category_id": 1, "id": 173368}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [666, 267, 1, 649, 254, 1, 549, 382, 1, 555, 334, 1, 421, 374, 1, 433, 338, 1, 632, 556, 1, 616, 556, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 118, 1, 369, 230, 1], "image_id": 112433, "bbox": [319, 50, 413, 580], "category_id": 1, "id": 173382}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [406, 312, 1, 317, 350, 1, 355, 330, 1, 284, 412, 1, 293, 330, 1, 218, 433, 1, 336, 500, 1, 343, 502, 1, 312, 609, 1, 324, 608, 1, 311, 750, 1, 338, 723, 1, 351, 242, 1, 382, 321, 1], "image_id": 111894, "bbox": [161, 215, 262, 590], "category_id": 1, "id": 173389}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [648, 446, 1, 609, 451, 1, 656, 471, 1, 609, 476, 1, 660, 500, 1, 603, 498, 1, 636, 509, 1, 618, 508, 1, 630, 545, 1, 618, 545, 1, 640, 579, 1, 632, 577, 1, 629, 412, 1, 629, 436, 1], "image_id": 110435, "bbox": [592, 404, 77, 200], "category_id": 1, "id": 173392}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [537, 324, 1, 386, 249, 1, 484, 459, 1, 320, 359, 1, 402, 513, 1, 320, 419, 1, 464, 400, 1, 409, 369, 1, 395, 499, 1, 320, 458, 1, 0, 0, 0, 0, 0, 0, 509, 154, 1, 468, 260, 1], "image_id": 113289, "bbox": [281, 130, 286, 362], "category_id": 1, "id": 173406}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [494, 370, 1, 390, 400, 1, 521, 442, 1, 382, 471, 1, 504, 513, 1, 380, 529, 1, 525, 513, 1, 450, 522, 1, 531, 605, 1, 432, 633, 1, 0, 0, 0, 0, 0, 0, 426, 294, 1, 440, 371, 1], "image_id": 116470, "bbox": [370, 278, 223, 412], "category_id": 1, "id": 173429}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [302, 268, 1, 158, 256, 1, 285, 368, 1, 147, 367, 1, 230, 440, 1, 181, 453, 1, 210, 476, 1, 149, 474, 1, 179, 602, 1, 135, 599, 1, 148, 724, 1, 115, 724, 1, 235, 116, 1, 230, 224, 1], "image_id": 111238, "bbox": [84, 92, 239, 713], "category_id": 1, "id": 173440}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [434, 144, 1, 289, 136, 1, 462, 214, 1, 254, 228, 1, 440, 261, 1, 213, 299, 1, 366, 315, 1, 310, 307, 1, 313, 424, 1, 300, 417, 1, 242, 556, 1, 289, 560, 1, 384, 23, 1, 366, 115, 1], "image_id": 119578, "bbox": [166, 0, 316, 535], "category_id": 1, "id": 173446}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [414, 304, 1, 288, 293, 1, 416, 396, 1, 272, 406, 1, 426, 464, 1, 277, 486, 1, 391, 502, 1, 312, 505, 1, 388, 638, 1, 291, 636, 1, 0, 0, 0, 0, 0, 0, 376, 172, 1, 358, 271, 1], "image_id": 115657, "bbox": [245, 152, 203, 514], "category_id": 1, "id": 173454}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 885, 33, 1, 778, 33, 1, 869, 81, 1, 761, 73, 1, 830, 113, 1, 791, 113, 1, 817, 207, 1, 770, 194, 1, 828, 286, 1, 811, 231, 1, 0, 0, 0, 0, 0, 0], "image_id": 114759, "bbox": [743, 1, 158, 310], "category_id": 1, "id": 173455}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [484, 322, 1, 438, 264, 1, 436, 397, 1, 397, 264, 1, 506, 454, 1, 367, 266, 1, 339, 421, 1, 281, 403, 1, 386, 591, 1, 305, 523, 1, 404, 766, 1, 221, 681, 1, 526, 205, 1, 471, 279, 1], "image_id": 119427, "bbox": [176, 180, 378, 661], "category_id": 1, "id": 173479}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 69, 1, 251, 78, 1, 228, 132, 1, 261, 133, 1, 193, 167, 1, 230, 160, 1, 210, 205, 1, 240, 207, 1, 197, 265, 1, 239, 267, 1, 201, 332, 1, 240, 333, 1, 220, 22, 1, 226, 54, 1], "image_id": 116064, "bbox": [178, 16, 98, 233], "category_id": 1, "id": 173515}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [427, 248, 1, 311, 245, 1, 491, 304, 1, 342, 332, 1, 479, 308, 1, 433, 339, 1, 467, 362, 1, 403, 371, 1, 536, 312, 1, 533, 360, 1, 554, 417, 1, 607, 522, 1, 345, 136, 1, 363, 222, 1], "image_id": 117190, "bbox": [286, 125, 399, 440], "category_id": 1, "id": 173521}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [370, 208, 1, 157, 207, 1, 402, 339, 1, 77, 344, 1, 478, 450, 1, 190, 370, 1, 366, 462, 1, 261, 464, 1, 437, 639, 1, 214, 708, 1, 472, 866, 1, 327, 870, 1, 265, 127, 1, 265, 259, 1], "image_id": 112868, "bbox": [41, 8, 507, 968], "category_id": 1, "id": 173531}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [193, 142, 1, 122, 218, 1, 231, 206, 1, 212, 237, 1, 206, 271, 1, 289, 203, 1, 254, 232, 1, 209, 261, 1, 225, 330, 1, 260, 338, 1, 269, 469, 1, 312, 441, 1, 118, 122, 1, 140, 172, 1], "image_id": 118120, "bbox": [68, 96, 270, 313], "category_id": 1, "id": 173539}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [739, 203, 1, 587, 166, 1, 760, 327, 1, 562, 263, 1, 762, 292, 1, 576, 291, 1, 656, 385, 1, 567, 381, 1, 708, 531, 1, 543, 547, 1, 629, 649, 1, 488, 566, 1, 661, 69, 1, 661, 162, 1], "image_id": 117840, "bbox": [438, 47, 371, 666], "category_id": 1, "id": 173540}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [547, 284, 1, 499, 220, 1, 542, 371, 1, 449, 295, 1, 574, 451, 1, 492, 368, 1, 380, 324, 1, 367, 329, 1, 410, 465, 1, 475, 389, 1, 334, 567, 1, 459, 553, 1, 587, 191, 1, 531, 241, 1], "image_id": 113854, "bbox": [284, 166, 333, 450], "category_id": 1, "id": 173544}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [476, 327, 1, 299, 314, 1, 612, 539, 1, 216, 494, 1, 434, 650, 1, 292, 357, 1, 395, 701, 1, 290, 684, 1, 393, 915, 1, 218, 892, 1, 0, 0, 0, 0, 0, 0, 394, 115, 1, 375, 277, 1], "image_id": 114067, "bbox": [123, 71, 533, 926], "category_id": 1, "id": 173560}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [582, 220, 1, 425, 221, 1, 536, 337, 1, 412, 325, 1, 468, 251, 1, 453, 358, 1, 617, 414, 1, 513, 408, 1, 536, 376, 1, 408, 380, 1, 518, 556, 1, 390, 555, 1, 493, 111, 1, 497, 207, 1], "image_id": 113837, "bbox": [359, 85, 302, 493], "category_id": 1, "id": 173562}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [763, 469, 1, 832, 412, 1, 760, 610, 1, 815, 304, 1, 704, 716, 1, 790, 229, 1, 541, 705, 1, 569, 746, 1, 335, 733, 1, 482, 834, 1, 132, 825, 1, 683, 835, 1, 759, 287, 1, 774, 406, 1], "image_id": 115358, "bbox": [20, 154, 855, 717], "category_id": 1, "id": 173563}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 253, 1, 188, 249, 1, 328, 365, 1, 134, 331, 1, 316, 452, 1, 90, 271, 1, 272, 487, 1, 199, 484, 1, 275, 624, 1, 195, 624, 1, 267, 746, 1, 197, 760, 1, 254, 104, 1, 254, 219, 1], "image_id": 114036, "bbox": [51, 84, 280, 758], "category_id": 1, "id": 173564}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [414, 254, 1, 398, 264, 1, 419, 376, 1, 419, 405, 1, 484, 383, 1, 460, 491, 1, 434, 505, 1, 446, 501, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 136, 1, 420, 221, 1], "image_id": 112198, "bbox": [350, 119, 165, 512], "category_id": 1, "id": 173567}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 303, 1, 295, 226, 1, 459, 410, 1, 216, 341, 1, 405, 417, 1, 270, 381, 1, 370, 491, 1, 245, 484, 1, 498, 462, 1, 325, 534, 1, 436, 743, 1, 315, 822, 1, 445, 78, 1, 389, 221, 1], "image_id": 112633, "bbox": [176, 44, 370, 918], "category_id": 1, "id": 173576}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [475, 135, 1, 363, 187, 1, 551, 131, 1, 364, 269, 1, 638, 115, 1, 355, 352, 1, 497, 310, 1, 433, 339, 1, 440, 318, 1, 475, 485, 1, 466, 417, 1, 560, 537, 1, 394, 68, 1, 406, 138, 1], "image_id": 114375, "bbox": [331, 50, 366, 542], "category_id": 1, "id": 173581}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [715, 232, 1, 547, 268, 1, 810, 315, 1, 497, 354, 1, 887, 432, 1, 441, 413, 1, 737, 471, 1, 632, 460, 1, 583, 539, 1, 569, 662, 1, 649, 744, 1, 654, 759, 1, 540, 119, 1, 614, 212, 1], "image_id": 116086, "bbox": [379, 80, 556, 715], "category_id": 1, "id": 173583}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [489, 208, 1, 342, 320, 1, 557, 249, 1, 333, 441, 1, 604, 316, 1, 337, 559, 1, 531, 455, 1, 427, 467, 1, 515, 645, 1, 469, 617, 1, 494, 823, 1, 418, 773, 1, 362, 154, 1, 392, 239, 1], "image_id": 113821, "bbox": [299, 75, 351, 815], "category_id": 1, "id": 173601}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [676, 342, 1, 610, 309, 1, 625, 436, 1, 537, 390, 1, 498, 518, 1, 442, 482, 1, 745, 406, 1, 696, 379, 1, 644, 420, 1, 595, 406, 1, 543, 469, 1, 507, 450, 1, 556, 365, 1, 624, 345, 1], "image_id": 110619, "bbox": [355, 275, 423, 304], "category_id": 1, "id": 173606}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [752, 293, 1, 604, 258, 1, 760, 389, 1, 519, 203, 1, 765, 436, 1, 520, 127, 1, 654, 505, 1, 578, 493, 1, 625, 640, 1, 539, 631, 1, 745, 663, 1, 614, 681, 1, 691, 132, 1, 686, 234, 1], "image_id": 113710, "bbox": [494, 56, 313, 680], "category_id": 1, "id": 173607}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [317, 389, 1, 180, 389, 1, 323, 520, 1, 121, 531, 1, 338, 621, 1, 76, 434, 1, 290, 679, 1, 210, 688, 1, 320, 861, 1, 254, 866, 1, 0, 0, 0, 0, 0, 0, 247, 204, 1, 247, 356, 1], "image_id": 112665, "bbox": [0, 159, 381, 734], "category_id": 1, "id": 173611}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [0, 0, 0, 670, 40, 1, 886, 37, 1, 689, 164, 1, 806, 93, 1, 702, 220, 1, 809, 254, 1, 726, 253, 1, 795, 392, 1, 706, 403, 1, 778, 511, 1, 687, 549, 1, 0, 0, 0, 738, 13, 1], "image_id": 112472, "bbox": [634, 3, 275, 588], "category_id": 1, "id": 173627}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [286, 220, 1, 105, 215, 1, 310, 371, 1, 59, 356, 1, 290, 346, 1, 82, 366, 1, 250, 460, 1, 146, 462, 1, 234, 663, 1, 172, 686, 1, 231, 880, 1, 172, 883, 1, 197, 53, 1, 184, 184, 1], "image_id": 114567, "bbox": [29, 27, 304, 934], "category_id": 1, "id": 173659}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [709, 111, 1, 628, 185, 1, 752, 246, 1, 595, 291, 1, 747, 353, 1, 501, 323, 1, 829, 270, 1, 747, 276, 1, 768, 403, 1, 673, 418, 1, 760, 627, 1, 660, 613, 1, 596, 55, 1, 649, 122, 1], "image_id": 114613, "bbox": [426, 28, 460, 663], "category_id": 1, "id": 173663}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [440, 228, 1, 303, 233, 1, 528, 278, 1, 356, 313, 1, 437, 354, 1, 381, 340, 1, 480, 366, 1, 396, 360, 1, 337, 461, 1, 254, 424, 1, 481, 623, 1, 274, 643, 1, 306, 100, 1, 345, 197, 1], "image_id": 115777, "bbox": [159, 67, 378, 611], "category_id": 1, "id": 173667}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [71, 549, 1, 105, 555, 1, 123, 687, 1, 55, 672, 1, 171, 607, 1, 57, 799, 1, 68, 794, 1, 93, 779, 1, 194, 942, 1, 233, 938, 1, 0, 0, 0, 0, 0, 0, 69, 422, 1, 86, 512, 1], "image_id": 111546, "bbox": [0, 386, 264, 593], "category_id": 1, "id": 173673}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [131, 157, 1, 89, 158, 1, 138, 184, 1, 83, 184, 1, 127, 204, 1, 86, 206, 1, 117, 218, 1, 95, 220, 1, 117, 271, 1, 95, 270, 1, 117, 314, 1, 95, 316, 1, 106, 117, 1, 106, 145, 1], "image_id": 118570, "bbox": [72, 106, 56, 231], "category_id": 1, "id": 173679}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [496, 245, 1, 352, 188, 1, 484, 369, 1, 328, 222, 1, 423, 476, 1, 377, 231, 1, 431, 343, 1, 369, 336, 1, 394, 450, 1, 337, 448, 1, 435, 583, 1, 384, 580, 1, 422, 96, 1, 415, 187, 1], "image_id": 110594, "bbox": [300, 66, 234, 490], "category_id": 1, "id": 173690}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [497, 289, 1, 340, 288, 1, 487, 421, 1, 316, 420, 1, 439, 524, 1, 234, 404, 1, 473, 543, 1, 396, 544, 1, 410, 697, 1, 403, 702, 1, 449, 728, 1, 417, 816, 1, 359, 125, 1, 414, 241, 1], "image_id": 109426, "bbox": [171, 60, 407, 835], "category_id": 1, "id": 173692}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 319, 1, 201, 325, 1, 327, 421, 1, 197, 430, 1, 300, 498, 1, 218, 512, 1, 315, 509, 1, 243, 510, 1, 291, 660, 1, 268, 666, 1, 263, 806, 1, 290, 821, 1, 271, 197, 1, 254, 290, 1], "image_id": 116929, "bbox": [169, 175, 199, 728], "category_id": 1, "id": 173695}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [789, 484, 1, 685, 469, 1, 796, 544, 1, 682, 551, 1, 798, 566, 1, 699, 519, 1, 775, 593, 1, 723, 595, 1, 813, 656, 1, 764, 651, 1, 0, 0, 0, 0, 0, 0, 744, 364, 1, 737, 449, 1], "image_id": 117785, "bbox": [654, 347, 183, 318], "category_id": 1, "id": 173706}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 257, 1, 208, 244, 1, 382, 405, 1, 216, 298, 1, 417, 541, 1, 291, 184, 1, 342, 540, 1, 235, 549, 1, 353, 733, 1, 229, 732, 1, 357, 930, 1, 213, 910, 1, 291, 112, 1, 291, 229, 1], "image_id": 111963, "bbox": [142, 100, 306, 899], "category_id": 1, "id": 173711}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [523, 296, 1, 361, 304, 1, 560, 415, 1, 343, 429, 1, 480, 458, 1, 378, 470, 1, 469, 526, 1, 387, 524, 1, 443, 730, 1, 429, 730, 1, 403, 903, 1, 478, 875, 1, 422, 121, 1, 434, 257, 1], "image_id": 116007, "bbox": [302, 97, 284, 902], "category_id": 1, "id": 173718}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [531, 280, 1, 390, 295, 1, 538, 341, 1, 286, 385, 1, 577, 381, 1, 227, 452, 1, 435, 553, 1, 375, 510, 1, 0, 0, 0, 414, 657, 1, 0, 0, 0, 0, 0, 0, 526, 70, 1, 507, 183, 1], "image_id": 117953, "bbox": [150, 120, 503, 545], "category_id": 1, "id": 173731}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 208, 1, 426, 250, 1, 314, 144, 1, 444, 343, 1, 324, 69, 1, 393, 326, 1, 336, 423, 1, 387, 426, 1, 355, 579, 1, 404, 578, 1, 360, 721, 1, 337, 668, 1, 393, 130, 1, 383, 202, 1], "image_id": 112834, "bbox": [287, 17, 179, 739], "category_id": 1, "id": 173748}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [721, 144, 1, 568, 133, 1, 771, 230, 1, 551, 208, 1, 720, 221, 1, 614, 182, 1, 687, 301, 1, 600, 297, 1, 690, 359, 1, 601, 356, 1, 690, 469, 1, 601, 474, 1, 659, 10, 1, 649, 120, 1], "image_id": 116596, "bbox": [520, 2, 262, 278], "category_id": 1, "id": 173764}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [279, 318, 1, 223, 302, 1, 351, 291, 1, 302, 202, 1, 325, 189, 1, 263, 187, 1, 343, 500, 1, 285, 520, 1, 470, 600, 1, 322, 655, 1, 558, 644, 1, 285, 773, 1, 185, 245, 1, 223, 293, 1], "image_id": 117256, "bbox": [159, 104, 363, 737], "category_id": 1, "id": 173772}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [666, 483, 1, 555, 477, 1, 651, 574, 1, 569, 566, 1, 653, 543, 1, 570, 539, 1, 655, 584, 1, 577, 586, 1, 687, 653, 1, 567, 642, 1, 0, 0, 0, 0, 0, 0, 609, 369, 1, 611, 453, 1], "image_id": 117785, "bbox": [535, 350, 173, 315], "category_id": 1, "id": 173794}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [545, 227, 1, 423, 225, 1, 588, 325, 1, 434, 310, 1, 616, 417, 1, 408, 375, 1, 577, 364, 1, 524, 370, 1, 600, 477, 1, 467, 435, 1, 735, 558, 1, 518, 603, 1, 455, 113, 1, 475, 199, 1], "image_id": 114781, "bbox": [375, 97, 415, 554], "category_id": 1, "id": 173802}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [545, 223, 1, 399, 208, 1, 560, 304, 1, 361, 333, 1, 601, 339, 1, 485, 281, 1, 359, 496, 1, 339, 493, 1, 259, 700, 1, 511, 615, 1, 33, 818, 1, 472, 880, 1, 508, 71, 1, 470, 190, 1], "image_id": 115450, "bbox": [0, 33, 646, 907], "category_id": 1, "id": 173808}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [245, 169, 1, 130, 224, 1, 304, 133, 1, 59, 263, 1, 369, 85, 1, 78, 237, 1, 335, 300, 1, 300, 349, 1, 411, 355, 1, 404, 418, 1, 543, 393, 1, 537, 420, 1, 162, 132, 1, 178, 189, 1], "image_id": 116767, "bbox": [44, 33, 562, 423], "category_id": 1, "id": 173814}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [517, 123, 1, 439, 129, 1, 550, 145, 1, 383, 136, 1, 574, 169, 1, 327, 140, 1, 471, 260, 1, 433, 254, 1, 477, 354, 1, 380, 296, 1, 491, 398, 1, 318, 349, 1, 414, 62, 1, 471, 112, 1], "image_id": 118662, "bbox": [247, 32, 358, 398], "category_id": 1, "id": 173819}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [250, 195, 1, 312, 277, 1, 246, 278, 1, 310, 362, 1, 317, 328, 1, 381, 392, 1, 101, 375, 1, 161, 402, 1, 179, 496, 1, 237, 556, 1, 245, 628, 1, 0, 0, 0, 399, 164, 1, 314, 216, 1], "image_id": 115738, "bbox": [42, 128, 393, 537], "category_id": 1, "id": 173821}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [488, 210, 1, 428, 178, 1, 440, 299, 1, 376, 183, 1, 445, 377, 1, 349, 121, 1, 350, 419, 1, 383, 411, 1, 461, 527, 1, 502, 537, 1, 437, 661, 1, 365, 658, 1, 475, 112, 1, 451, 193, 1], "image_id": 112305, "bbox": [277, 47, 259, 704], "category_id": 1, "id": 173844}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [304, 126, 1, 269, 122, 1, 313, 146, 1, 256, 138, 1, 302, 155, 1, 242, 150, 1, 282, 172, 1, 261, 171, 1, 299, 174, 1, 251, 205, 1, 286, 207, 1, 243, 239, 1, 286, 90, 1, 286, 116, 1], "image_id": 117983, "bbox": [220, 81, 105, 179], "category_id": 1, "id": 173859}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [260, 117, 1, 407, 68, 1, 257, 245, 1, 512, 158, 1, 261, 343, 1, 549, 148, 1, 336, 303, 1, 391, 288, 1, 427, 443, 1, 499, 400, 1, 433, 545, 1, 507, 515, 1, 0, 0, 0, 327, 60, 1], "image_id": 119496, "bbox": [233, 2, 356, 622], "category_id": 1, "id": 173906}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [110, 311, 1, 195, 292, 1, 91, 403, 1, 209, 350, 1, 175, 418, 1, 278, 428, 1, 107, 516, 1, 167, 503, 1, 80, 619, 1, 334, 615, 1, 0, 0, 0, 454, 755, 1, 156, 210, 1, 146, 272, 1], "image_id": 114749, "bbox": [1, 200, 559, 622], "category_id": 1, "id": 173918}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [787, 225, 1, 685, 214, 1, 0, 0, 0, 655, 231, 1, 0, 0, 0, 648, 255, 1, 737, 381, 1, 692, 376, 1, 738, 467, 1, 671, 457, 1, 0, 0, 0, 0, 0, 0, 750, 120, 1, 741, 211, 1], "image_id": 111420, "bbox": [610, 121, 189, 409], "category_id": 1, "id": 173924}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 75, 1, 354, 82, 1, 489, 73, 1, 408, 73, 1, 489, 246, 1, 404, 246, 1, 487, 427, 1, 396, 424, 1, 507, 129, 1, 513, 233, 1], "image_id": 117525, "bbox": [333, 1, 251, 487], "category_id": 1, "id": 173930}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [790, 515, 1, 608, 507, 1, 875, 561, 1, 495, 569, 1, 760, 564, 1, 588, 545, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 347, 1, 699, 478, 1], "image_id": 115262, "bbox": [459, 301, 421, 295], "category_id": 1, "id": 173939}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [383, 112, 1, 376, 191, 1, 339, 241, 1, 307, 327, 1, 348, 372, 1, 359, 457, 1, 287, 371, 1, 219, 390, 1, 393, 440, 1, 289, 516, 1, 0, 0, 0, 0, 0, 0, 476, 65, 1, 401, 143, 1], "image_id": 113289, "bbox": [157, 24, 366, 492], "category_id": 1, "id": 173959}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [675, 223, 1, 567, 248, 1, 728, 275, 1, 609, 293, 1, 765, 323, 1, 607, 353, 1, 728, 372, 1, 660, 387, 1, 796, 474, 1, 638, 443, 1, 839, 461, 1, 714, 548, 1, 589, 141, 1, 605, 218, 1], "image_id": 114179, "bbox": [544, 87, 349, 512], "category_id": 1, "id": 173987}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [413, 80, 1, 308, 84, 1, 419, 151, 1, 294, 158, 1, 375, 141, 1, 306, 150, 1, 392, 256, 1, 326, 256, 1, 390, 375, 1, 328, 373, 1, 394, 492, 1, 331, 493, 1, 0, 0, 0, 361, 56, 1], "image_id": 115738, "bbox": [279, 0, 147, 175], "category_id": 1, "id": 173989}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [733, 194, 1, 644, 106, 1, 703, 289, 1, 584, 118, 1, 611, 297, 1, 573, 168, 1, 740, 359, 1, 650, 333, 1, 707, 503, 1, 563, 422, 1, 738, 590, 1, 602, 571, 1, 682, 68, 1, 696, 134, 1], "image_id": 109989, "bbox": [521, 40, 266, 613], "category_id": 1, "id": 173996}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [96, 502, 1, 230, 522, 1, 56, 614, 1, 284, 545, 1, 0, 0, 0, 281, 455, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 202, 389, 1, 170, 480, 1], "image_id": 115713, "bbox": [28, 363, 283, 263], "category_id": 1, "id": 174006}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [586, 137, 1, 461, 150, 1, 643, 212, 1, 383, 174, 1, 625, 175, 1, 418, 144, 1, 557, 340, 1, 483, 323, 1, 522, 485, 1, 452, 434, 1, 506, 495, 1, 431, 571, 1, 512, 44, 1, 516, 129, 1], "image_id": 118208, "bbox": [372, 20, 294, 600], "category_id": 1, "id": 174048}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [271, 176, 1, 205, 178, 1, 286, 239, 1, 213, 225, 1, 215, 233, 1, 201, 254, 1, 276, 318, 1, 211, 310, 1, 298, 408, 1, 181, 377, 1, 346, 466, 1, 194, 487, 1, 235, 101, 1, 235, 162, 1], "image_id": 117490, "bbox": [152, 81, 217, 451], "category_id": 1, "id": 174053}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [400, 333, 1, 242, 313, 1, 480, 435, 1, 146, 404, 1, 531, 495, 1, 91, 485, 1, 348, 508, 1, 257, 521, 1, 455, 677, 1, 189, 687, 1, 496, 795, 1, 120, 828, 1, 328, 172, 1, 318, 291, 1], "image_id": 119952, "bbox": [47, 134, 550, 719], "category_id": 1, "id": 174068}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [563, 131, 1, 487, 108, 1, 559, 206, 1, 452, 165, 1, 523, 261, 1, 397, 152, 1, 557, 304, 1, 507, 305, 1, 563, 423, 1, 515, 423, 1, 562, 517, 1, 532, 519, 1, 502, 32, 1, 514, 101, 1], "image_id": 116933, "bbox": [461, 12, 118, 547], "category_id": 1, "id": 174078}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 56, 1, 351, 50, 1, 439, 128, 1, 411, 131, 1, 453, 110, 1, 451, 89, 1, 441, 204, 1, 403, 208, 1, 445, 278, 1, 399, 312, 1, 423, 354, 1, 397, 370, 1, 0, 0, 0, 374, 25, 1], "image_id": 117227, "bbox": [301, 0, 187, 392], "category_id": 1, "id": 174084}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [607, 427, 1, 723, 386, 1, 624, 538, 1, 814, 433, 1, 615, 617, 1, 0, 0, 0, 709, 554, 1, 795, 551, 1, 631, 669, 1, 797, 628, 1, 627, 818, 1, 0, 0, 0, 624, 320, 1, 646, 379, 1], "image_id": 119934, "bbox": [563, 303, 254, 564], "category_id": 1, "id": 174102}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [299, 212, 1, 284, 212, 1, 293, 229, 1, 284, 226, 1, 304, 225, 1, 299, 226, 1, 284, 252, 1, 287, 252, 1, 283, 275, 1, 293, 273, 1, 273, 291, 1, 292, 298, 1, 285, 191, 1, 289, 207, 1], "image_id": 113412, "bbox": [263, 188, 42, 123], "category_id": 1, "id": 174105}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [162, 65, 1, 0, 0, 0, 261, 183, 1, 0, 0, 0, 306, 315, 1, 0, 0, 0, 141, 296, 1, 34, 314, 1, 246, 470, 1, 48, 502, 1, 247, 700, 1, 50, 721, 1, 127, 214, 1, 68, 66, 1], "image_id": 117189, "bbox": [1, 1, 303, 813], "category_id": 1, "id": 174117}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [912, 438, 1, 791, 418, 1, 904, 553, 1, 731, 461, 1, 815, 559, 1, 703, 473, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 810, 301, 1, 835, 403, 1], "image_id": 115006, "bbox": [647, 280, 295, 291], "category_id": 1, "id": 174119}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [251, 249, 1, 205, 248, 1, 253, 207, 1, 198, 217, 1, 247, 172, 1, 207, 173, 1, 241, 350, 1, 210, 349, 1, 244, 411, 1, 204, 412, 1, 253, 458, 1, 198, 459, 1, 225, 199, 1, 228, 241, 1], "image_id": 114863, "bbox": [179, 137, 107, 347], "category_id": 1, "id": 174130}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [270, 339, 1, 112, 332, 1, 312, 460, 1, 116, 489, 1, 407, 512, 1, 124, 631, 1, 274, 607, 1, 188, 615, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 159, 1, 215, 291, 1], "image_id": 119833, "bbox": [81, 133, 238, 642], "category_id": 1, "id": 174136}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [475, 351, 1, 368, 347, 1, 483, 466, 1, 342, 461, 1, 490, 541, 1, 347, 550, 1, 443, 564, 1, 380, 564, 1, 429, 732, 1, 392, 733, 1, 475, 837, 1, 408, 851, 1, 437, 236, 1, 420, 332, 1], "image_id": 113263, "bbox": [346, 214, 166, 714], "category_id": 1, "id": 174137}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 175, 1, 278, 169, 1, 464, 326, 1, 239, 326, 1, 462, 423, 1, 278, 405, 1, 374, 313, 1, 294, 311, 1, 366, 261, 1, 308, 240, 1, 383, 369, 1, 270, 376, 1, 359, 52, 1, 352, 157, 1], "image_id": 119159, "bbox": [217, 18, 281, 509], "category_id": 1, "id": 174144}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 181, 357, 1, 47, 619, 1, 300, 536, 1, 138, 520, 1, 495, 555, 1, 71, 835, 1, 231, 785, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 138, 1, 34, 315, 1], "image_id": 109779, "bbox": [1, 108, 634, 892], "category_id": 1, "id": 174165}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [572, 392, 1, 508, 370, 1, 566, 514, 1, 509, 457, 1, 497, 565, 1, 471, 516, 1, 616, 581, 1, 571, 585, 1, 604, 717, 1, 562, 715, 1, 592, 852, 1, 553, 832, 1, 495, 301, 1, 532, 365, 1], "image_id": 114728, "bbox": [413, 255, 234, 612], "category_id": 1, "id": 174166}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [719, 257, 1, 517, 212, 1, 596, 493, 1, 493, 376, 1, 437, 555, 1, 423, 475, 1, 612, 572, 1, 530, 536, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 511, 54, 1, 606, 184, 1], "image_id": 113444, "bbox": [307, 1, 461, 763], "category_id": 1, "id": 174174}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 631, 150, 1, 0, 0, 0, 622, 222, 1, 778, 262, 1, 626, 306, 1, 761, 357, 1, 671, 357, 1, 787, 509, 1, 626, 506, 1, 0, 0, 0, 0, 0, 0, 700, 24, 1, 703, 123, 1], "image_id": 117296, "bbox": [599, 6, 200, 520], "category_id": 1, "id": 174178}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [140, 347, 1, 0, 0, 0, 103, 471, 1, 0, 0, 0, 0, 0, 0, 37, 373, 1, 68, 555, 1, 0, 0, 0, 49, 580, 1, 0, 0, 0, 58, 644, 1, 0, 0, 0, 72, 187, 1, 64, 301, 1], "image_id": 109168, "bbox": [2, 166, 163, 543], "category_id": 1, "id": 174182}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [776, 304, 1, 662, 283, 1, 823, 383, 1, 631, 324, 1, 865, 443, 1, 685, 332, 1, 668, 412, 1, 650, 444, 1, 594, 347, 1, 626, 640, 1, 525, 295, 1, 0, 0, 0, 704, 196, 1, 709, 271, 1], "image_id": 111311, "bbox": [396, 175, 500, 570], "category_id": 1, "id": 174185}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [143, 371, 1, 252, 418, 1, 183, 488, 1, 258, 627, 1, 280, 485, 1, 360, 485, 1, 285, 573, 1, 340, 642, 1, 445, 555, 1, 530, 638, 1, 0, 0, 0, 0, 0, 0, 336, 196, 1, 244, 329, 1], "image_id": 119519, "bbox": [92, 167, 443, 495], "category_id": 1, "id": 174191}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [372, 233, 1, 215, 268, 1, 415, 304, 1, 273, 388, 1, 499, 308, 1, 341, 462, 1, 370, 407, 1, 263, 424, 1, 386, 528, 1, 281, 560, 1, 0, 0, 0, 0, 0, 0, 293, 78, 1, 273, 203, 1], "image_id": 110216, "bbox": [154, 43, 428, 571], "category_id": 1, "id": 174209}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [217, 86, 1, 94, 136, 1, 308, 136, 1, 98, 172, 1, 237, 157, 1, 83, 243, 1, 282, 295, 1, 216, 307, 1, 332, 406, 1, 248, 414, 1, 382, 489, 1, 345, 532, 1, 129, 9, 1, 149, 91, 1], "image_id": 118893, "bbox": [53, 0, 360, 588], "category_id": 1, "id": 174212}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [400, 215, 1, 236, 174, 1, 479, 308, 1, 123, 253, 1, 503, 307, 1, 85, 346, 1, 267, 426, 1, 191, 435, 1, 382, 607, 1, 323, 503, 1, 0, 0, 0, 0, 0, 0, 333, 63, 1, 324, 180, 1], "image_id": 114323, "bbox": [38, 43, 509, 623], "category_id": 1, "id": 174221}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [220, 242, 1, 90, 252, 1, 247, 306, 1, 33, 308, 1, 223, 376, 1, 83, 368, 1, 203, 433, 1, 129, 436, 1, 211, 567, 1, 135, 573, 1, 216, 704, 1, 138, 697, 1, 166, 140, 1, 161, 227, 1], "image_id": 112834, "bbox": [12, 121, 271, 620], "category_id": 1, "id": 174230}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 144, 1, 311, 117, 1, 428, 236, 1, 226, 151, 1, 381, 251, 1, 129, 163, 1, 365, 338, 1, 299, 318, 1, 335, 453, 1, 265, 456, 1, 257, 582, 1, 229, 400, 1, 396, 21, 1, 380, 103, 1], "image_id": 115180, "bbox": [56, 8, 412, 616], "category_id": 1, "id": 174233}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [215, 316, 1, 45, 307, 1, 291, 387, 1, 61, 495, 1, 345, 391, 1, 240, 457, 1, 211, 544, 1, 87, 569, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 149, 1, 131, 278, 1], "image_id": 118547, "bbox": [0, 112, 443, 451], "category_id": 1, "id": 174236}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 251, 1, 197, 280, 1, 281, 319, 1, 276, 350, 1, 354, 363, 1, 372, 338, 1, 349, 387, 1, 346, 395, 1, 533, 372, 1, 490, 476, 1, 575, 543, 1, 641, 566, 1, 203, 122, 1, 192, 214, 1], "image_id": 119487, "bbox": [147, 100, 614, 509], "category_id": 1, "id": 174267}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [231, 129, 1, 144, 140, 1, 273, 191, 1, 154, 239, 1, 312, 226, 1, 230, 241, 1, 234, 278, 1, 187, 285, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 199, 56, 1, 195, 119, 1], "image_id": 114518, "bbox": [121, 35, 222, 233], "category_id": 1, "id": 174275}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 143, 1, 358, 195, 1, 395, 246, 1, 370, 325, 1, 484, 296, 1, 447, 414, 1, 179, 263, 1, 179, 297, 1, 289, 410, 1, 270, 455, 1, 155, 550, 1, 190, 603, 1, 413, 51, 1, 366, 130, 1], "image_id": 118090, "bbox": [103, 25, 448, 631], "category_id": 1, "id": 174277}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [349, 299, 1, 189, 293, 1, 352, 433, 1, 224, 436, 1, 340, 540, 1, 262, 553, 1, 317, 540, 1, 222, 541, 1, 321, 763, 1, 203, 764, 1, 0, 0, 0, 0, 0, 0, 253, 119, 1, 263, 252, 1], "image_id": 111268, "bbox": [133, 79, 266, 745], "category_id": 1, "id": 174295}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [250, 144, 1, 376, 189, 1, 152, 175, 1, 417, 260, 1, 76, 192, 1, 490, 281, 1, 193, 330, 1, 258, 347, 1, 145, 420, 1, 274, 459, 1, 150, 483, 1, 254, 587, 1, 340, 66, 1, 326, 137, 1], "image_id": 118226, "bbox": [17, 39, 539, 565], "category_id": 1, "id": 174301}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [307, 236, 1, 144, 235, 1, 323, 330, 1, 112, 364, 1, 332, 376, 1, 231, 395, 1, 286, 522, 1, 213, 530, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 58, 1, 227, 184, 1], "image_id": 110486, "bbox": [67, 34, 271, 522], "category_id": 1, "id": 174305}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [435, 338, 1, 509, 327, 1, 396, 239, 1, 550, 230, 1, 360, 138, 1, 563, 148, 1, 500, 560, 1, 561, 551, 1, 494, 698, 1, 607, 712, 1, 385, 692, 1, 453, 697, 1, 483, 229, 1, 474, 308, 1], "image_id": 114101, "bbox": [303, 87, 332, 649], "category_id": 1, "id": 174317}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 64, 1, 340, 111, 1, 517, 70, 1, 307, 133, 1, 591, 71, 1, 238, 152, 1, 496, 273, 1, 430, 299, 1, 463, 373, 1, 387, 418, 1, 520, 519, 1, 436, 580, 1, 281, 38, 1, 362, 72, 1], "image_id": 116192, "bbox": [181, 2, 451, 615], "category_id": 1, "id": 174326}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [481, 366, 1, 352, 381, 1, 497, 468, 1, 349, 477, 1, 487, 498, 1, 363, 500, 1, 456, 575, 1, 382, 575, 1, 495, 735, 1, 402, 720, 1, 533, 885, 1, 418, 863, 1, 410, 243, 1, 415, 343, 1], "image_id": 115190, "bbox": [320, 229, 260, 727], "category_id": 1, "id": 174334}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [594, 515, 1, 485, 544, 1, 598, 676, 1, 430, 622, 1, 456, 685, 1, 360, 657, 1, 520, 880, 1, 465, 881, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 344, 1, 541, 493, 1], "image_id": 118423, "bbox": [304, 302, 352, 697], "category_id": 1, "id": 174339}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [672, 173, 1, 587, 165, 1, 706, 245, 1, 561, 251, 1, 757, 271, 1, 542, 196, 1, 635, 309, 1, 589, 301, 1, 623, 443, 1, 587, 433, 1, 601, 529, 1, 602, 565, 1, 637, 64, 1, 629, 143, 1], "image_id": 115248, "bbox": [489, 51, 202, 560], "category_id": 1, "id": 174348}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [344, 504, 1, 471, 405, 1, 214, 520, 1, 404, 359, 1, 101, 497, 1, 347, 325, 1, 187, 383, 1, 237, 321, 1, 80, 332, 1, 147, 285, 1, 0, 0, 0, 59, 248, 1, 0, 0, 0, 343, 167, 1], "image_id": 116024, "bbox": [0, 182, 529, 385], "category_id": 1, "id": 174352}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [230, 545, 1, 157, 532, 1, 287, 593, 1, 148, 585, 1, 257, 536, 1, 171, 513, 1, 220, 647, 1, 178, 646, 1, 261, 594, 1, 193, 597, 1, 252, 727, 1, 192, 712, 1, 212, 427, 1, 139, 567, 1], "image_id": 113886, "bbox": [115, 401, 197, 345], "category_id": 1, "id": 174376}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [232, 168, 1, 158, 200, 1, 270, 203, 1, 140, 251, 1, 281, 202, 1, 122, 303, 1, 250, 291, 1, 213, 309, 1, 290, 354, 1, 241, 382, 1, 259, 410, 1, 241, 446, 1, 175, 111, 1, 190, 165, 1], "image_id": 114685, "bbox": [104, 97, 209, 379], "category_id": 1, "id": 174380}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [281, 260, 1, 158, 263, 1, 290, 348, 1, 156, 394, 1, 325, 353, 1, 175, 475, 1, 272, 477, 1, 205, 477, 1, 273, 662, 1, 218, 659, 1, 265, 840, 1, 216, 838, 1, 215, 113, 1, 215, 228, 1], "image_id": 119904, "bbox": [113, 93, 233, 811], "category_id": 1, "id": 174387}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [238, 289, 1, 114, 263, 1, 249, 399, 1, 99, 388, 1, 262, 501, 1, 158, 451, 1, 238, 527, 1, 159, 520, 1, 0, 0, 0, 183, 582, 1, 0, 0, 0, 0, 0, 0, 191, 137, 1, 175, 242, 1], "image_id": 115210, "bbox": [41, 114, 248, 585], "category_id": 1, "id": 174427}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [325, 170, 1, 193, 201, 1, 325, 249, 1, 182, 295, 1, 249, 175, 1, 177, 348, 1, 297, 384, 1, 216, 390, 1, 298, 555, 1, 216, 528, 1, 318, 665, 1, 221, 666, 1, 231, 55, 1, 246, 158, 1], "image_id": 115584, "bbox": [148, 37, 201, 704], "category_id": 1, "id": 174431}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [531, 239, 1, 410, 240, 1, 556, 333, 1, 312, 244, 1, 533, 334, 1, 220, 240, 1, 542, 392, 1, 444, 405, 1, 542, 375, 1, 391, 402, 1, 526, 493, 1, 482, 457, 1, 485, 161, 1, 474, 226, 1], "image_id": 115608, "bbox": [169, 127, 408, 420], "category_id": 1, "id": 174437}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [117, 341, 1, 258, 380, 1, 153, 408, 1, 310, 494, 1, 199, 437, 1, 263, 475, 1, 182, 539, 1, 264, 561, 1, 235, 474, 1, 395, 501, 1, 176, 575, 1, 261, 616, 1, 200, 221, 1, 191, 321, 1], "image_id": 117227, "bbox": [72, 199, 345, 434], "category_id": 1, "id": 174442}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [301, 152, 1, 185, 172, 1, 352, 241, 1, 198, 284, 1, 335, 240, 1, 238, 329, 1, 263, 380, 1, 178, 376, 1, 361, 465, 1, 105, 475, 1, 370, 630, 1, 0, 0, 0, 230, 46, 1, 240, 139, 1], "image_id": 119427, "bbox": [0, 18, 450, 695], "category_id": 1, "id": 174449}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [275, 152, 1, 227, 152, 1, 277, 190, 1, 219, 191, 1, 284, 216, 1, 218, 214, 1, 262, 227, 1, 239, 227, 1, 260, 288, 1, 237, 283, 1, 259, 327, 1, 235, 333, 1, 253, 105, 1, 253, 138, 1], "image_id": 118570, "bbox": [209, 95, 86, 254], "category_id": 1, "id": 174460}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [427, 254, 1, 219, 272, 1, 451, 343, 1, 177, 364, 1, 407, 338, 1, 250, 355, 1, 391, 506, 1, 286, 515, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 128, 1, 318, 222, 1], "image_id": 114969, "bbox": [111, 92, 369, 481], "category_id": 1, "id": 174466}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [573, 175, 1, 414, 185, 1, 626, 276, 1, 387, 283, 1, 658, 377, 1, 371, 381, 1, 558, 414, 1, 455, 421, 1, 559, 588, 1, 466, 594, 1, 0, 0, 0, 0, 0, 0, 464, 43, 1, 485, 151, 1], "image_id": 111474, "bbox": [344, 5, 353, 658], "category_id": 1, "id": 174477}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [438, 300, 1, 300, 315, 1, 501, 285, 1, 217, 363, 1, 427, 231, 1, 257, 287, 1, 421, 559, 1, 348, 559, 1, 450, 700, 1, 331, 707, 1, 507, 831, 1, 319, 863, 1, 348, 192, 1, 364, 289, 1], "image_id": 116746, "bbox": [191, 166, 341, 680], "category_id": 1, "id": 174482}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [193, 291, 1, 64, 297, 1, 209, 371, 1, 40, 410, 1, 223, 448, 1, 38, 491, 1, 180, 505, 1, 115, 510, 1, 162, 616, 1, 144, 651, 1, 149, 751, 1, 161, 768, 1, 134, 219, 1, 125, 273, 1], "image_id": 116292, "bbox": [10, 191, 240, 636], "category_id": 1, "id": 174483}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 247, 1, 410, 244, 1, 477, 285, 1, 374, 274, 1, 507, 295, 1, 337, 300, 1, 442, 327, 1, 419, 325, 1, 441, 394, 1, 438, 392, 1, 414, 457, 1, 418, 452, 1, 443, 194, 1, 431, 230, 1], "image_id": 117557, "bbox": [304, 170, 239, 320], "category_id": 1, "id": 174496}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 256, 83, 1, 0, 0, 0, 290, 159, 1, 391, 148, 1, 328, 149, 1, 377, 296, 1, 302, 292, 1, 369, 440, 1, 272, 438, 1, 359, 233, 1, 0, 0, 0], "image_id": 115618, "bbox": [234, 0, 235, 352], "category_id": 1, "id": 174498}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 279, 1, 197, 295, 1, 319, 410, 1, 230, 437, 1, 398, 400, 1, 317, 523, 1, 338, 541, 1, 255, 543, 1, 317, 701, 1, 225, 699, 1, 319, 887, 1, 205, 887, 1, 258, 140, 1, 258, 255, 1], "image_id": 112245, "bbox": [148, 112, 336, 836], "category_id": 1, "id": 174519}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [714, 203, 1, 654, 135, 1, 618, 245, 1, 531, 187, 1, 627, 329, 1, 609, 286, 1, 571, 380, 1, 490, 378, 1, 641, 520, 1, 390, 516, 1, 468, 643, 1, 200, 618, 1, 778, 72, 1, 708, 143, 1], "image_id": 114237, "bbox": [134, 33, 682, 716], "category_id": 1, "id": 174541}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [566, 208, 1, 454, 288, 1, 619, 259, 1, 393, 377, 1, 527, 313, 1, 403, 419, 1, 675, 414, 1, 633, 470, 1, 780, 325, 1, 578, 394, 1, 942, 441, 1, 700, 450, 1, 501, 127, 1, 512, 229, 1], "image_id": 117525, "bbox": [373, 106, 625, 403], "category_id": 1, "id": 174563}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 211, 1, 180, 224, 1, 425, 286, 1, 227, 297, 1, 426, 301, 1, 275, 351, 1, 222, 481, 1, 133, 495, 1, 266, 658, 1, 216, 683, 1, 211, 761, 1, 208, 816, 1, 242, 87, 1, 248, 197, 1], "image_id": 113371, "bbox": [68, 64, 415, 824], "category_id": 1, "id": 174579}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [369, 235, 1, 268, 241, 1, 375, 306, 1, 280, 310, 1, 304, 313, 1, 361, 298, 1, 348, 373, 1, 297, 381, 1, 382, 331, 1, 311, 509, 1, 384, 464, 1, 320, 647, 1, 301, 141, 1, 310, 213, 1], "image_id": 113435, "bbox": [231, 119, 213, 419], "category_id": 1, "id": 174593}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [205, 293, 1, 83, 289, 1, 227, 403, 1, 49, 395, 1, 187, 438, 1, 107, 421, 1, 180, 534, 1, 122, 534, 1, 162, 707, 1, 127, 707, 1, 149, 867, 1, 123, 864, 1, 146, 150, 1, 140, 262, 1], "image_id": 115925, "bbox": [18, 132, 233, 792], "category_id": 1, "id": 174594}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [511, 155, 1, 462, 127, 1, 447, 232, 1, 390, 167, 1, 352, 249, 1, 420, 162, 1, 573, 350, 1, 499, 362, 1, 634, 473, 1, 439, 477, 1, 731, 592, 1, 411, 628, 1, 511, 58, 1, 497, 130, 1], "image_id": 114549, "bbox": [291, 44, 481, 622], "category_id": 1, "id": 174603}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [584, 215, 1, 454, 206, 1, 655, 285, 1, 414, 311, 1, 727, 297, 1, 478, 319, 1, 556, 434, 1, 476, 435, 1, 563, 530, 1, 425, 579, 1, 560, 570, 1, 0, 0, 0, 383, 34, 1, 379, 167, 1], "image_id": 118615, "bbox": [379, 80, 256, 552], "category_id": 1, "id": 174611}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [349, 209, 1, 217, 213, 1, 413, 263, 1, 153, 290, 1, 488, 320, 1, 85, 351, 1, 330, 393, 1, 252, 395, 1, 371, 505, 1, 204, 513, 1, 423, 644, 1, 144, 632, 1, 287, 83, 1, 282, 178, 1], "image_id": 111910, "bbox": [30, 74, 525, 596], "category_id": 1, "id": 174625}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [728, 263, 1, 711, 256, 1, 720, 395, 1, 687, 352, 1, 640, 467, 1, 653, 427, 1, 735, 483, 1, 712, 472, 1, 612, 544, 1, 598, 507, 1, 745, 541, 1, 744, 512, 1, 725, 121, 1, 721, 230, 1], "image_id": 119846, "bbox": [564, 103, 258, 474], "category_id": 1, "id": 174630}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [319, 170, 1, 204, 163, 1, 311, 259, 1, 188, 286, 1, 252, 306, 1, 241, 369, 1, 252, 336, 1, 183, 338, 1, 253, 468, 1, 192, 465, 1, 0, 0, 0, 0, 0, 0, 321, 64, 1, 263, 143, 1], "image_id": 118706, "bbox": [131, 23, 230, 377], "category_id": 1, "id": 174635}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 18, 1, 191, 33, 1, 378, 163, 1, 165, 140, 1, 243, 177, 1, 197, 192, 1, 266, 201, 1, 169, 184, 1, 161, 276, 1, 21, 172, 1, 162, 418, 1, 222, 288, 1, 0, 0, 0, 0, 0, 0], "image_id": 116898, "bbox": [0, 1, 407, 219], "category_id": 1, "id": 174639}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [290, 165, 1, 240, 147, 1, 263, 229, 1, 194, 172, 1, 295, 281, 1, 258, 199, 1, 206, 333, 1, 189, 331, 1, 220, 457, 1, 197, 462, 1, 143, 466, 1, 123, 569, 1, 319, 55, 1, 278, 125, 1], "image_id": 110679, "bbox": [89, 26, 259, 576], "category_id": 1, "id": 174645}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 286, 1, 359, 310, 1, 340, 386, 1, 309, 405, 1, 387, 469, 1, 389, 430, 1, 374, 479, 1, 361, 505, 1, 551, 441, 1, 486, 460, 1, 477, 580, 1, 422, 608, 1, 444, 191, 1, 372, 260, 1], "image_id": 116597, "bbox": [244, 161, 337, 506], "category_id": 1, "id": 174653}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [534, 280, 1, 390, 243, 1, 584, 348, 1, 304, 297, 1, 661, 377, 1, 301, 339, 1, 389, 467, 1, 344, 433, 1, 300, 576, 1, 418, 531, 1, 195, 668, 1, 310, 624, 1, 502, 135, 1, 474, 229, 1], "image_id": 117665, "bbox": [154, 117, 591, 631], "category_id": 1, "id": 174659}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [646, 289, 1, 467, 284, 1, 593, 432, 1, 384, 359, 1, 458, 420, 1, 271, 367, 1, 626, 550, 1, 524, 553, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, 121, 1, 561, 250, 1], "image_id": 119922, "bbox": [343, 99, 358, 550], "category_id": 1, "id": 174661}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 237, 1, 263, 223, 1, 406, 337, 1, 217, 348, 1, 442, 418, 1, 320, 405, 1, 285, 351, 1, 213, 365, 1, 402, 370, 1, 353, 297, 1, 270, 392, 1, 265, 417, 1, 412, 120, 1, 334, 201, 1], "image_id": 115753, "bbox": [157, 64, 359, 406], "category_id": 1, "id": 174669}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [356, 155, 1, 308, 158, 1, 327, 222, 1, 274, 231, 1, 390, 178, 1, 343, 196, 1, 350, 343, 1, 335, 342, 1, 387, 470, 1, 336, 467, 1, 350, 607, 1, 332, 616, 1, 329, 30, 1, 329, 119, 1], "image_id": 119340, "bbox": [262, 6, 159, 688], "category_id": 1, "id": 174685}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 204, 1, 307, 195, 1, 500, 227, 1, 267, 280, 1, 554, 245, 1, 271, 361, 1, 382, 413, 1, 336, 399, 1, 299, 510, 1, 334, 496, 1, 248, 633, 1, 453, 581, 1, 373, 87, 1, 373, 168, 1], "image_id": 118750, "bbox": [168, 58, 452, 624], "category_id": 1, "id": 174687}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [432, 211, 1, 291, 210, 1, 516, 271, 1, 294, 310, 1, 524, 316, 1, 360, 335, 1, 368, 439, 1, 295, 416, 1, 300, 569, 1, 234, 499, 1, 338, 754, 1, 286, 610, 1, 341, 82, 1, 346, 184, 1], "image_id": 119608, "bbox": [208, 56, 340, 792], "category_id": 1, "id": 174690}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [198, 242, 1, 126, 241, 1, 208, 320, 1, 106, 315, 1, 185, 362, 1, 71, 311, 1, 173, 415, 1, 114, 412, 1, 189, 520, 1, 97, 497, 1, 221, 618, 1, 79, 616, 1, 149, 146, 1, 157, 215, 1], "image_id": 119789, "bbox": [27, 138, 218, 510], "category_id": 1, "id": 174696}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [228, 288, 1, 203, 292, 1, 323, 312, 1, 329, 316, 1, 413, 318, 1, 418, 322, 1, 232, 476, 1, 224, 493, 1, 315, 354, 1, 309, 343, 1, 397, 228, 1, 395, 203, 1, 199, 154, 1, 188, 252, 1], "image_id": 119045, "bbox": [99, 105, 401, 439], "category_id": 1, "id": 174708}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [184, 209, 1, 285, 285, 1, 47, 246, 1, 213, 428, 1, 109, 359, 1, 301, 358, 1, 165, 461, 1, 239, 465, 1, 402, 442, 1, 392, 355, 1, 332, 607, 1, 434, 498, 1, 279, 92, 1, 234, 213, 1], "image_id": 117746, "bbox": [7, 50, 514, 594], "category_id": 1, "id": 174745}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [324, 174, 1, 239, 228, 1, 374, 123, 1, 207, 321, 1, 418, 132, 1, 158, 409, 1, 380, 344, 1, 334, 354, 1, 431, 249, 1, 396, 260, 1, 533, 352, 1, 500, 370, 1, 270, 127, 1, 275, 184, 1], "image_id": 113914, "bbox": [135, 99, 503, 345], "category_id": 1, "id": 174779}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [325, 255, 1, 221, 256, 1, 388, 315, 1, 209, 334, 1, 440, 299, 1, 158, 373, 1, 297, 444, 1, 235, 444, 1, 287, 552, 1, 246, 553, 1, 305, 687, 1, 255, 689, 1, 259, 142, 1, 263, 225, 1], "image_id": 117603, "bbox": [184, 124, 164, 618], "category_id": 1, "id": 174815}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [224, 230, 1, 183, 229, 1, 213, 260, 1, 175, 260, 1, 225, 261, 1, 198, 264, 1, 219, 290, 1, 190, 290, 1, 202, 275, 1, 176, 265, 1, 198, 329, 1, 184, 325, 1, 213, 189, 1, 206, 219, 1], "image_id": 110024, "bbox": [165, 181, 76, 169], "category_id": 1, "id": 174838}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [457, 168, 1, 333, 150, 1, 485, 239, 1, 292, 204, 1, 527, 298, 1, 287, 251, 1, 412, 312, 1, 336, 312, 1, 475, 414, 1, 335, 455, 1, 543, 511, 1, 360, 426, 1, 401, 61, 1, 397, 140, 1], "image_id": 110350, "bbox": [250, 39, 336, 513], "category_id": 1, "id": 174841}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [371, 272, 1, 208, 304, 1, 387, 385, 1, 179, 460, 1, 348, 491, 1, 219, 476, 1, 349, 529, 1, 245, 533, 1, 352, 730, 1, 209, 748, 1, 0, 0, 0, 0, 0, 0, 266, 131, 1, 277, 250, 1], "image_id": 119515, "bbox": [159, 110, 243, 790], "category_id": 1, "id": 174854}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [218, 194, 1, 86, 202, 1, 232, 317, 1, 77, 327, 1, 235, 429, 1, 67, 440, 1, 181, 432, 1, 113, 433, 1, 175, 606, 1, 126, 603, 1, 141, 761, 1, 144, 773, 1, 158, 40, 1, 152, 163, 1], "image_id": 109441, "bbox": [46, 29, 219, 829], "category_id": 1, "id": 174859}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [573, 166, 1, 427, 171, 1, 658, 170, 1, 341, 244, 1, 728, 126, 1, 337, 217, 1, 519, 333, 1, 439, 335, 1, 611, 425, 1, 379, 472, 1, 660, 582, 1, 290, 579, 1, 515, 71, 1, 500, 149, 1], "image_id": 115142, "bbox": [247, 45, 553, 583], "category_id": 1, "id": 174864}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [444, 204, 1, 303, 209, 1, 455, 325, 1, 270, 291, 1, 431, 417, 1, 194, 256, 1, 402, 445, 1, 330, 443, 1, 396, 573, 1, 335, 570, 1, 388, 681, 1, 343, 676, 1, 350, 77, 1, 360, 182, 1], "image_id": 114159, "bbox": [141, 60, 345, 682], "category_id": 1, "id": 174869}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 259, 1, 275, 275, 1, 260, 337, 1, 296, 342, 1, 282, 377, 1, 313, 387, 1, 244, 402, 1, 259, 403, 1, 250, 487, 1, 280, 483, 1, 245, 556, 1, 268, 556, 1, 316, 189, 1, 289, 244, 1], "image_id": 116478, "bbox": [220, 172, 119, 370], "category_id": 1, "id": 174873}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [559, 334, 1, 316, 412, 1, 697, 378, 1, 0, 0, 0, 730, 415, 1, 513, 525, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, 212, 1, 420, 354, 1], "image_id": 111105, "bbox": [279, 187, 473, 444], "category_id": 1, "id": 174892}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [634, 226, 1, 646, 207, 1, 659, 264, 1, 659, 244, 1, 645, 281, 1, 638, 262, 1, 646, 263, 1, 672, 283, 1, 610, 261, 1, 633, 267, 1, 634, 292, 1, 665, 293, 1, 606, 193, 1, 627, 208, 1], "image_id": 118663, "bbox": [589, 172, 102, 134], "category_id": 1, "id": 174906}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [556, 99, 1, 442, 109, 1, 716, 105, 1, 322, 134, 1, 848, 90, 1, 210, 166, 1, 712, 247, 1, 681, 255, 1, 514, 301, 1, 709, 444, 1, 494, 514, 1, 866, 541, 1, 424, 24, 1, 492, 106, 1], "image_id": 110743, "bbox": [146, 3, 793, 665], "category_id": 1, "id": 174916}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 260, 1, 207, 265, 1, 308, 372, 1, 162, 377, 1, 264, 409, 1, 226, 402, 1, 297, 508, 1, 242, 507, 1, 281, 649, 1, 236, 647, 1, 274, 782, 1, 233, 790, 1, 278, 127, 1, 267, 229, 1], "image_id": 114554, "bbox": [142, 116, 214, 713], "category_id": 1, "id": 174920}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [576, 212, 1, 439, 232, 1, 697, 287, 1, 331, 127, 1, 791, 349, 1, 313, 137, 1, 609, 470, 1, 520, 479, 1, 659, 661, 1, 514, 676, 1, 685, 835, 1, 512, 883, 1, 491, 89, 1, 503, 201, 1], "image_id": 117216, "bbox": [276, 60, 582, 886], "category_id": 1, "id": 174922}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [537, 286, 1, 517, 299, 1, 417, 296, 1, 417, 345, 1, 353, 211, 1, 341, 273, 1, 531, 537, 1, 466, 539, 1, 542, 708, 1, 402, 669, 1, 696, 810, 1, 397, 870, 1, 509, 136, 1, 509, 237, 1], "image_id": 112533, "bbox": [297, 124, 447, 790], "category_id": 1, "id": 174924}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [744, 238, 1, 666, 267, 1, 688, 254, 1, 653, 340, 1, 702, 327, 1, 727, 362, 1, 690, 383, 1, 635, 391, 1, 744, 468, 1, 586, 500, 1, 690, 545, 1, 532, 572, 1, 717, 168, 1, 710, 240, 1], "image_id": 113784, "bbox": [509, 146, 262, 479], "category_id": 1, "id": 174925}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [41, 279, 1, 0, 0, 0, 65, 334, 1, 0, 0, 0, 77, 375, 1, 0, 0, 0, 22, 383, 1, 0, 0, 0, 16, 453, 1, 30, 456, 1, 6, 531, 1, 55, 516, 1, 2, 224, 1, 13, 265, 1], "image_id": 117665, "bbox": [0, 210, 92, 357], "category_id": 1, "id": 174958}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [278, 177, 1, 240, 300, 1, 388, 181, 1, 379, 303, 1, 393, 198, 1, 334, 310, 1, 421, 219, 1, 426, 282, 1, 530, 222, 1, 532, 275, 1, 619, 217, 1, 625, 267, 1, 189, 178, 1, 252, 234, 1], "image_id": 114306, "bbox": [145, 137, 268, 207], "category_id": 1, "id": 174971}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [146, 135, 1, 230, 145, 1, 121, 206, 1, 255, 218, 1, 163, 221, 1, 208, 213, 1, 171, 266, 1, 212, 265, 1, 175, 333, 1, 208, 334, 1, 173, 395, 1, 208, 394, 1, 215, 90, 1, 209, 130, 1], "image_id": 109841, "bbox": [112, 65, 158, 256], "category_id": 1, "id": 174978}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [239, 568, 1, 346, 564, 1, 199, 611, 1, 380, 616, 1, 252, 655, 1, 318, 651, 1, 244, 466, 1, 332, 466, 1, 172, 455, 1, 398, 459, 1, 187, 423, 1, 382, 416, 1, 292, 612, 1, 292, 550, 1], "image_id": 109564, "bbox": [151, 398, 257, 292], "category_id": 1, "id": 174981}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 870, 89, 1, 706, 92, 1, 0, 0, 0, 763, 147, 1, 812, 243, 1, 841, 244, 1, 785, 400, 1, 911, 374, 1, 686, 532, 1, 807, 514, 1, 0, 0, 0, 0, 0, 0], "image_id": 116201, "bbox": [636, 2, 312, 616], "category_id": 1, "id": 174998}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [11, 605, 1, 78, 554, 1, 0, 0, 0, 113, 559, 1, 0, 0, 0, 65, 603, 1, 53, 722, 1, 114, 716, 1, 0, 0, 0, 155, 823, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 565, 1], "image_id": 119702, "bbox": [0, 499, 187, 361], "category_id": 1, "id": 175003}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [264, 190, 1, 230, 191, 1, 274, 213, 1, 221, 215, 1, 262, 221, 1, 225, 214, 1, 253, 241, 1, 231, 242, 1, 251, 280, 1, 221, 278, 1, 250, 319, 1, 213, 319, 1, 241, 156, 1, 245, 181, 1], "image_id": 110613, "bbox": [205, 147, 77, 169], "category_id": 1, "id": 175004}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [169, 209, 1, 91, 222, 1, 197, 263, 1, 84, 276, 1, 172, 263, 1, 41, 276, 1, 156, 344, 1, 110, 347, 1, 149, 439, 1, 115, 441, 1, 152, 525, 1, 115, 529, 1, 112, 138, 1, 118, 199, 1], "image_id": 116019, "bbox": [78, 127, 133, 368], "category_id": 1, "id": 175010}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [201, 290, 1, 127, 280, 1, 273, 320, 1, 181, 271, 1, 280, 287, 1, 255, 225, 1, 190, 448, 1, 157, 448, 1, 172, 596, 1, 150, 595, 1, 174, 733, 1, 148, 733, 1, 172, 174, 1, 162, 252, 1], "image_id": 116381, "bbox": [81, 139, 227, 656], "category_id": 1, "id": 175014}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [456, 290, 1, 280, 229, 1, 495, 366, 1, 174, 299, 1, 510, 399, 1, 157, 394, 1, 361, 498, 1, 265, 486, 1, 301, 649, 1, 284, 626, 1, 205, 789, 1, 389, 618, 1, 384, 114, 1, 367, 237, 1], "image_id": 110973, "bbox": [129, 83, 449, 771], "category_id": 1, "id": 175045}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [438, 213, 1, 283, 216, 1, 552, 371, 1, 257, 390, 1, 531, 469, 1, 235, 512, 1, 383, 503, 1, 296, 500, 1, 433, 714, 1, 282, 713, 1, 469, 908, 1, 291, 922, 1, 323, 34, 1, 354, 165, 1], "image_id": 116752, "bbox": [171, 3, 323, 994], "category_id": 1, "id": 175064}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [331, 183, 1, 213, 173, 1, 395, 272, 1, 194, 286, 1, 343, 317, 1, 180, 372, 1, 307, 361, 1, 232, 359, 1, 289, 538, 1, 212, 537, 1, 281, 696, 1, 226, 697, 1, 271, 47, 1, 266, 152, 1], "image_id": 109124, "bbox": [156, 30, 256, 758], "category_id": 1, "id": 175090}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [187, 156, 1, 321, 144, 1, 112, 249, 1, 333, 237, 1, 84, 337, 1, 362, 335, 1, 199, 323, 1, 248, 319, 1, 241, 450, 1, 307, 476, 1, 214, 606, 1, 197, 548, 1, 272, 56, 1, 263, 114, 1], "image_id": 118323, "bbox": [33, 44, 355, 594], "category_id": 1, "id": 175100}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [591, 206, 1, 500, 194, 1, 641, 295, 1, 387, 197, 1, 689, 247, 1, 414, 278, 1, 438, 400, 1, 460, 402, 1, 310, 563, 1, 591, 494, 1, 191, 697, 1, 454, 589, 1, 569, 68, 1, 541, 171, 1], "image_id": 119409, "bbox": [132, 33, 608, 725], "category_id": 1, "id": 175105}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [608, 249, 1, 562, 223, 1, 541, 296, 1, 612, 324, 1, 538, 385, 1, 675, 384, 1, 487, 315, 1, 452, 291, 1, 558, 336, 1, 548, 318, 1, 469, 419, 1, 402, 388, 1, 643, 132, 1, 593, 205, 1], "image_id": 116098, "bbox": [297, 102, 412, 412], "category_id": 1, "id": 175111}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [534, 247, 1, 395, 261, 1, 567, 372, 1, 366, 378, 1, 545, 483, 1, 263, 412, 1, 504, 544, 1, 435, 542, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 98, 1, 451, 215, 1], "image_id": 109654, "bbox": [204, 80, 378, 486], "category_id": 1, "id": 175129}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [792, 159, 1, 675, 144, 1, 846, 215, 1, 603, 193, 1, 907, 238, 1, 601, 190, 1, 749, 339, 1, 684, 333, 1, 812, 452, 1, 643, 440, 1, 828, 579, 1, 567, 589, 1, 715, 65, 1, 732, 141, 1], "image_id": 119300, "bbox": [508, 46, 462, 586], "category_id": 1, "id": 175150}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 868, 49, 1, 0, 0, 0, 861, 161, 1, 0, 0, 0, 856, 257, 1, 0, 0, 0, 901, 241, 1, 0, 0, 0, 860, 404, 1, 0, 0, 0, 818, 561, 1, 0, 0, 0, 926, 20, 1], "image_id": 119578, "bbox": [767, 1, 181, 605], "category_id": 1, "id": 175155}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [843, 315, 1, 876, 314, 1, 841, 354, 1, 876, 347, 1, 830, 355, 1, 857, 352, 1, 850, 388, 1, 867, 387, 1, 864, 434, 1, 850, 434, 1, 877, 480, 1, 836, 463, 1, 854, 270, 1, 856, 298, 1], "image_id": 117411, "bbox": [811, 259, 82, 241], "category_id": 1, "id": 175169}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [333, 279, 1, 204, 286, 1, 429, 362, 1, 107, 361, 1, 478, 451, 1, 197, 399, 1, 284, 523, 1, 200, 504, 1, 386, 677, 1, 194, 687, 1, 430, 795, 1, 142, 838, 1, 239, 159, 1, 262, 259, 1], "image_id": 116138, "bbox": [72, 130, 452, 780], "category_id": 1, "id": 175172}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [363, 219, 1, 298, 236, 1, 382, 262, 1, 296, 297, 1, 350, 220, 1, 300, 351, 1, 343, 365, 1, 308, 368, 1, 355, 462, 1, 322, 465, 1, 0, 0, 0, 0, 0, 0, 299, 153, 1, 321, 210, 1], "image_id": 117864, "bbox": [266, 141, 133, 360], "category_id": 1, "id": 175174}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 322, 1, 287, 292, 1, 357, 443, 1, 301, 428, 1, 363, 544, 1, 333, 545, 1, 351, 522, 1, 327, 524, 1, 356, 752, 1, 316, 753, 1, 362, 920, 1, 305, 923, 1, 335, 171, 1, 317, 281, 1], "image_id": 113263, "bbox": [168, 154, 247, 840], "category_id": 1, "id": 175194}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [496, 272, 1, 281, 284, 1, 511, 428, 1, 269, 440, 1, 626, 482, 1, 358, 555, 1, 434, 678, 1, 307, 678, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 68, 1, 398, 223, 1], "image_id": 111726, "bbox": [238, 42, 290, 665], "category_id": 1, "id": 175210}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [521, 208, 1, 349, 194, 1, 584, 324, 1, 238, 289, 1, 642, 378, 1, 171, 377, 1, 428, 379, 1, 321, 378, 1, 497, 554, 1, 284, 567, 1, 0, 0, 0, 0, 0, 0, 474, 77, 1, 436, 187, 1], "image_id": 109729, "bbox": [86, 55, 585, 543], "category_id": 1, "id": 175216}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [602, 171, 1, 461, 140, 1, 608, 251, 1, 401, 84, 1, 603, 286, 1, 461, 42, 1, 568, 370, 1, 483, 354, 1, 538, 522, 1, 419, 498, 1, 520, 495, 1, 393, 564, 1, 508, 57, 1, 534, 138, 1], "image_id": 114338, "bbox": [378, 1, 250, 543], "category_id": 1, "id": 175217}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [708, 322, 1, 640, 316, 1, 780, 399, 1, 637, 450, 1, 764, 414, 1, 565, 500, 1, 576, 601, 1, 565, 595, 1, 470, 723, 1, 477, 748, 1, 478, 955, 1, 673, 772, 1, 656, 158, 1, 662, 277, 1], "image_id": 112110, "bbox": [363, 128, 437, 866], "category_id": 1, "id": 175230}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 182, 1, 264, 215, 1, 404, 197, 1, 210, 269, 1, 418, 150, 1, 139, 249, 1, 316, 350, 1, 294, 356, 1, 310, 463, 1, 304, 463, 1, 369, 579, 1, 386, 595, 1, 204, 161, 1, 226, 231, 1], "image_id": 111826, "bbox": [88, 96, 351, 578], "category_id": 1, "id": 175246}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [521, 210, 1, 358, 216, 1, 561, 276, 1, 351, 307, 1, 600, 310, 1, 371, 313, 1, 457, 445, 1, 390, 444, 1, 451, 589, 1, 384, 583, 1, 0, 0, 0, 0, 0, 0, 459, 58, 1, 437, 185, 1], "image_id": 118768, "bbox": [339, 46, 380, 553], "category_id": 1, "id": 175253}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 163, 1, 185, 183, 1, 448, 203, 1, 119, 243, 1, 541, 252, 1, 118, 333, 1, 320, 424, 1, 217, 424, 1, 367, 587, 1, 226, 554, 1, 356, 713, 1, 297, 668, 1, 252, 53, 1, 268, 159, 1], "image_id": 111153, "bbox": [90, 30, 503, 736], "category_id": 1, "id": 175262}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [201, 274, 1, 91, 285, 1, 234, 385, 1, 124, 446, 1, 241, 460, 1, 215, 453, 1, 188, 479, 1, 98, 518, 1, 281, 500, 1, 221, 559, 1, 0, 0, 0, 0, 0, 0, 194, 112, 1, 157, 239, 1], "image_id": 118755, "bbox": [24, 85, 244, 447], "category_id": 1, "id": 175288}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [712, 135, 1, 629, 135, 1, 734, 193, 1, 555, 157, 1, 739, 225, 1, 565, 219, 1, 687, 311, 1, 629, 312, 1, 734, 416, 1, 598, 415, 1, 730, 521, 1, 460, 438, 1, 693, 63, 1, 675, 129, 1], "image_id": 119773, "bbox": [424, 35, 341, 471], "category_id": 1, "id": 175291}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [526, 290, 1, 314, 346, 1, 628, 325, 1, 313, 466, 1, 589, 440, 1, 309, 514, 1, 533, 662, 1, 403, 668, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 137, 1, 411, 284, 1], "image_id": 115557, "bbox": [267, 110, 387, 574], "category_id": 1, "id": 175306}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [498, 200, 1, 526, 192, 1, 428, 253, 1, 453, 207, 1, 388, 185, 1, 417, 169, 1, 510, 380, 1, 562, 380, 1, 455, 508, 1, 546, 528, 1, 472, 646, 1, 650, 612, 1, 478, 96, 1, 496, 173, 1], "image_id": 117711, "bbox": [350, 74, 351, 611], "category_id": 1, "id": 175341}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [695, 469, 1, 761, 480, 1, 665, 538, 1, 800, 563, 1, 593, 483, 1, 777, 563, 1, 538, 535, 1, 545, 525, 1, 446, 448, 1, 499, 448, 1, 308, 503, 1, 383, 517, 1, 747, 385, 1, 720, 443, 1], "image_id": 116660, "bbox": [259, 364, 561, 217], "category_id": 1, "id": 175344}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [549, 336, 1, 412, 367, 1, 576, 393, 1, 358, 430, 1, 622, 428, 1, 378, 499, 1, 519, 483, 1, 439, 493, 1, 626, 497, 1, 506, 520, 1, 600, 611, 1, 550, 627, 1, 416, 219, 1, 485, 333, 1], "image_id": 115748, "bbox": [332, 182, 330, 455], "category_id": 1, "id": 175351}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [489, 227, 1, 399, 222, 1, 505, 271, 1, 379, 298, 1, 484, 314, 1, 419, 256, 1, 498, 338, 1, 432, 342, 1, 542, 421, 1, 403, 422, 1, 633, 520, 1, 448, 531, 1, 428, 173, 1, 462, 227, 1], "image_id": 114685, "bbox": [366, 108, 298, 453], "category_id": 1, "id": 175360}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [426, 311, 1, 225, 328, 1, 495, 418, 1, 173, 461, 1, 410, 388, 1, 265, 437, 1, 380, 618, 1, 273, 619, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 373, 144, 1, 332, 280, 1], "image_id": 119922, "bbox": [139, 115, 384, 534], "category_id": 1, "id": 175375}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [50, 497, 1, 139, 497, 1, 53, 583, 1, 159, 586, 1, 51, 664, 1, 137, 647, 1, 88, 657, 1, 133, 654, 1, 61, 768, 1, 148, 782, 1, 111, 876, 1, 0, 0, 0, 65, 419, 1, 83, 471, 1], "image_id": 119515, "bbox": [26, 399, 159, 501], "category_id": 1, "id": 175385}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [569, 242, 1, 465, 185, 1, 536, 352, 1, 406, 214, 1, 478, 343, 1, 439, 298, 1, 549, 400, 1, 451, 402, 1, 664, 447, 1, 377, 452, 1, 637, 608, 1, 388, 590, 1, 500, 109, 1, 496, 171, 1], "image_id": 116209, "bbox": [348, 62, 348, 570], "category_id": 1, "id": 175386}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [234, 302, 1, 160, 234, 1, 321, 359, 1, 256, 321, 1, 409, 323, 1, 342, 246, 1, 191, 492, 1, 146, 457, 1, 173, 706, 1, 127, 637, 1, 164, 915, 1, 66, 842, 1, 232, 127, 1, 194, 227, 1], "image_id": 116697, "bbox": [20, 84, 376, 877], "category_id": 1, "id": 175399}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [505, 132, 1, 381, 199, 1, 607, 168, 1, 348, 302, 1, 642, 168, 1, 281, 378, 1, 541, 339, 1, 497, 361, 1, 476, 457, 1, 643, 497, 1, 469, 623, 1, 777, 494, 1, 377, 53, 1, 426, 133, 1], "image_id": 117023, "bbox": [212, 28, 657, 649], "category_id": 1, "id": 175406}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [348, 114, 1, 246, 146, 1, 402, 151, 1, 226, 219, 1, 450, 168, 1, 282, 187, 1, 376, 292, 1, 312, 290, 1, 376, 418, 1, 338, 404, 1, 320, 397, 1, 391, 505, 1, 292, 36, 1, 292, 112, 1], "image_id": 114760, "bbox": [216, 18, 284, 538], "category_id": 1, "id": 175407}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [685, 157, 1, 673, 152, 1, 0, 0, 0, 671, 180, 1, 0, 0, 0, 660, 188, 1, 671, 200, 1, 663, 199, 1, 658, 233, 1, 659, 230, 1, 651, 255, 1, 659, 255, 1, 687, 120, 1, 682, 147, 1], "image_id": 112795, "bbox": [634, 114, 55, 156], "category_id": 1, "id": 175419}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [252, 182, 1, 179, 274, 1, 362, 200, 1, 136, 347, 1, 452, 187, 1, 65, 312, 1, 289, 337, 1, 254, 407, 1, 321, 344, 1, 202, 536, 1, 355, 358, 1, 236, 687, 1, 169, 130, 1, 201, 208, 1], "image_id": 114158, "bbox": [13, 117, 528, 610], "category_id": 1, "id": 175431}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [304, 242, 1, 180, 322, 1, 382, 175, 1, 248, 446, 1, 329, 97, 1, 325, 401, 1, 392, 477, 1, 327, 511, 1, 470, 690, 1, 227, 671, 1, 610, 839, 1, 321, 869, 1, 182, 162, 1, 219, 253, 1], "image_id": 110571, "bbox": [140, 32, 530, 903], "category_id": 1, "id": 175432}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 270, 1, 304, 275, 1, 473, 385, 1, 278, 425, 1, 448, 498, 1, 338, 539, 1, 412, 516, 1, 342, 516, 1, 407, 652, 1, 344, 649, 1, 398, 758, 1, 338, 775, 1, 441, 102, 1, 396, 257, 1], "image_id": 116242, "bbox": [247, 60, 264, 739], "category_id": 1, "id": 175438}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [396, 164, 1, 392, 216, 1, 365, 118, 1, 345, 271, 1, 343, 51, 1, 289, 309, 1, 420, 312, 1, 414, 333, 1, 352, 337, 1, 399, 455, 1, 294, 327, 1, 395, 556, 1, 330, 144, 1, 385, 187, 1], "image_id": 117391, "bbox": [228, 0, 256, 624], "category_id": 1, "id": 175443}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [346, 93, 1, 317, 122, 1, 429, 76, 1, 320, 218, 1, 497, 121, 1, 278, 166, 1, 398, 308, 1, 437, 317, 1, 290, 382, 1, 534, 431, 1, 394, 491, 1, 655, 536, 1, 292, 15, 1, 314, 90, 1], "image_id": 117952, "bbox": [232, 0, 469, 598], "category_id": 1, "id": 175453}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [460, 247, 1, 361, 242, 1, 473, 334, 1, 332, 327, 1, 422, 345, 1, 286, 296, 1, 427, 417, 1, 374, 410, 1, 411, 507, 1, 351, 511, 1, 398, 610, 1, 348, 627, 1, 395, 134, 1, 408, 219, 1], "image_id": 111490, "bbox": [281, 117, 217, 563], "category_id": 1, "id": 175474}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 246, 1, 325, 260, 1, 446, 346, 1, 286, 366, 1, 432, 411, 1, 342, 414, 1, 401, 470, 1, 355, 464, 1, 403, 612, 1, 348, 595, 1, 409, 737, 1, 325, 754, 1, 360, 144, 1, 370, 241, 1], "image_id": 118868, "bbox": [255, 123, 247, 684], "category_id": 1, "id": 175489}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 200, 1, 212, 218, 1, 357, 262, 1, 203, 301, 1, 349, 271, 1, 250, 303, 1, 344, 292, 1, 279, 309, 1, 415, 378, 1, 340, 391, 1, 415, 475, 1, 347, 477, 1, 282, 136, 1, 273, 189, 1], "image_id": 117227, "bbox": [159, 104, 290, 391], "category_id": 1, "id": 175499}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [125, 370, 1, 22, 374, 1, 142, 455, 1, 38, 434, 1, 202, 506, 1, 60, 364, 1, 129, 564, 1, 75, 564, 1, 126, 716, 1, 91, 704, 1, 38, 822, 1, 89, 855, 1, 73, 264, 1, 78, 348, 1], "image_id": 118894, "bbox": [0, 239, 236, 657], "category_id": 1, "id": 175511}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [676, 182, 1, 536, 141, 1, 672, 297, 1, 511, 256, 1, 648, 370, 1, 572, 372, 1, 567, 275, 1, 474, 265, 1, 642, 283, 1, 557, 252, 1, 547, 374, 1, 502, 381, 1, 664, 82, 1, 621, 140, 1], "image_id": 119159, "bbox": [446, 42, 262, 410], "category_id": 1, "id": 175521}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [142, 176, 1, 20, 182, 1, 157, 257, 1, 15, 277, 1, 125, 310, 1, 57, 314, 1, 125, 337, 1, 47, 340, 1, 121, 437, 1, 41, 443, 1, 114, 519, 1, 41, 526, 1, 83, 77, 1, 79, 157, 1], "image_id": 117820, "bbox": [0, 53, 177, 539], "category_id": 1, "id": 175523}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [414, 321, 1, 291, 300, 1, 400, 420, 1, 237, 384, 1, 337, 427, 1, 250, 421, 1, 359, 495, 1, 295, 497, 1, 368, 629, 1, 303, 656, 1, 365, 768, 1, 308, 768, 1, 371, 215, 1, 357, 291, 1], "image_id": 114040, "bbox": [209, 181, 235, 637], "category_id": 1, "id": 175524}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [308, 281, 1, 208, 283, 1, 321, 352, 1, 173, 320, 1, 303, 416, 1, 147, 390, 1, 295, 380, 1, 247, 374, 1, 293, 484, 1, 254, 453, 1, 260, 507, 1, 227, 558, 1, 262, 199, 1, 259, 267, 1], "image_id": 115142, "bbox": [125, 184, 211, 409], "category_id": 1, "id": 175526}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [419, 130, 1, 415, 115, 1, 433, 178, 1, 396, 183, 1, 463, 198, 1, 426, 236, 1, 299, 257, 1, 340, 251, 1, 361, 380, 1, 416, 330, 1, 339, 480, 1, 435, 446, 1, 474, 79, 1, 430, 113, 1], "image_id": 114199, "bbox": [257, 32, 241, 464], "category_id": 1, "id": 175527}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [227, 110, 1, 114, 85, 1, 292, 191, 1, 86, 163, 1, 279, 143, 1, 182, 162, 1, 181, 256, 1, 114, 264, 1, 295, 293, 1, 232, 301, 1, 227, 399, 1, 202, 446, 1, 217, 8, 1, 173, 86, 1], "image_id": 118353, "bbox": [60, 1, 264, 491], "category_id": 1, "id": 175544}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [391, 397, 1, 282, 405, 1, 394, 496, 1, 333, 501, 1, 389, 573, 1, 391, 574, 1, 351, 571, 1, 269, 565, 1, 363, 717, 1, 264, 724, 1, 373, 862, 1, 192, 842, 1, 323, 292, 1, 333, 382, 1], "image_id": 118746, "bbox": [165, 267, 272, 668], "category_id": 1, "id": 175546}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [163, 197, 1, 56, 234, 1, 221, 302, 1, 60, 307, 1, 186, 375, 1, 67, 358, 1, 164, 405, 1, 90, 405, 1, 169, 542, 1, 80, 515, 1, 158, 661, 1, 89, 648, 1, 67, 99, 1, 105, 189, 1], "image_id": 115584, "bbox": [26, 80, 173, 644], "category_id": 1, "id": 175549}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [709, 256, 1, 571, 214, 1, 766, 302, 1, 482, 232, 1, 788, 376, 1, 410, 238, 1, 632, 416, 1, 564, 391, 1, 523, 467, 1, 490, 473, 1, 457, 544, 1, 501, 572, 1, 655, 137, 1, 639, 212, 1], "image_id": 113363, "bbox": [399, 78, 443, 521], "category_id": 1, "id": 175555}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [706, 181, 1, 527, 174, 1, 762, 258, 1, 460, 215, 1, 791, 332, 1, 367, 254, 1, 693, 370, 1, 583, 370, 1, 778, 444, 1, 474, 445, 1, 834, 586, 1, 432, 610, 1, 631, 56, 1, 625, 153, 1], "image_id": 115136, "bbox": [302, 37, 577, 614], "category_id": 1, "id": 175562}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 390, 12, 1, 311, 14, 1, 461, 127, 1, 487, 125, 1, 346, 250, 1, 318, 252, 1, 285, 473, 1, 401, 473, 1, 189, 680, 1, 466, 712, 1, 292, 47, 1, 269, 193, 1], "image_id": 119647, "bbox": [231, 3, 408, 811], "category_id": 1, "id": 175573}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [201, 110, 1, 308, 108, 1, 178, 171, 1, 341, 186, 1, 164, 230, 1, 382, 244, 1, 226, 276, 1, 281, 274, 1, 230, 372, 1, 283, 375, 1, 231, 463, 1, 283, 464, 1, 246, 28, 1, 249, 78, 1], "image_id": 111474, "bbox": [142, 3, 252, 485], "category_id": 1, "id": 175577}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [632, 384, 1, 566, 375, 1, 645, 432, 1, 550, 412, 1, 640, 490, 1, 554, 458, 1, 611, 489, 1, 574, 489, 1, 600, 558, 1, 576, 565, 1, 599, 622, 1, 582, 621, 1, 604, 302, 1, 604, 360, 1], "image_id": 119518, "bbox": [544, 288, 123, 382], "category_id": 1, "id": 175583}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [493, 189, 1, 438, 188, 1, 413, 263, 1, 420, 246, 1, 334, 272, 1, 338, 259, 1, 628, 278, 1, 548, 304, 1, 670, 360, 1, 520, 444, 1, 731, 476, 1, 562, 527, 1, 403, 101, 1, 451, 164, 1], "image_id": 119816, "bbox": [278, 48, 517, 543], "category_id": 1, "id": 175594}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [485, 386, 1, 335, 351, 1, 546, 452, 1, 221, 386, 1, 549, 404, 1, 129, 363, 1, 419, 592, 1, 349, 592, 1, 414, 749, 1, 344, 749, 1, 404, 892, 1, 337, 889, 1, 330, 259, 1, 330, 360, 1], "image_id": 115492, "bbox": [66, 224, 523, 733], "category_id": 1, "id": 175601}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [469, 327, 1, 450, 336, 1, 491, 355, 1, 452, 375, 1, 467, 370, 1, 441, 409, 1, 477, 409, 1, 461, 409, 1, 493, 462, 1, 440, 461, 1, 514, 516, 1, 424, 516, 1, 449, 294, 1, 457, 325, 1], "image_id": 112279, "bbox": [392, 278, 140, 264], "category_id": 1, "id": 175605}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [541, 241, 1, 372, 240, 1, 602, 233, 1, 245, 271, 1, 652, 212, 1, 161, 223, 1, 495, 541, 1, 408, 541, 1, 496, 721, 1, 400, 739, 1, 494, 904, 1, 428, 883, 1, 447, 114, 1, 447, 225, 1], "image_id": 119296, "bbox": [106, 85, 578, 885], "category_id": 1, "id": 175611}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [636, 274, 1, 415, 291, 1, 653, 442, 1, 368, 467, 1, 600, 527, 1, 497, 410, 1, 557, 552, 1, 453, 543, 1, 583, 618, 1, 457, 587, 1, 0, 0, 0, 0, 0, 0, 512, 66, 1, 512, 238, 1], "image_id": 115748, "bbox": [339, 36, 343, 604], "category_id": 1, "id": 175618}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [275, 113, 1, 148, 125, 1, 289, 210, 1, 109, 202, 1, 241, 271, 1, 91, 251, 1, 241, 296, 1, 174, 291, 1, 169, 419, 1, 185, 399, 1, 97, 460, 1, 157, 540, 1, 206, 23, 1, 206, 97, 1], "image_id": 116103, "bbox": [55, 3, 226, 532], "category_id": 1, "id": 175621}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 221, 1, 248, 210, 1, 456, 352, 1, 237, 346, 1, 496, 420, 1, 245, 428, 1, 354, 456, 1, 263, 454, 1, 322, 624, 1, 300, 620, 1, 287, 788, 1, 323, 714, 1, 290, 60, 1, 308, 169, 1], "image_id": 110453, "bbox": [202, 24, 344, 861], "category_id": 1, "id": 175628}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [248, 207, 1, 157, 229, 1, 277, 299, 1, 138, 337, 1, 329, 359, 1, 129, 425, 1, 253, 412, 1, 201, 418, 1, 207, 532, 1, 277, 570, 1, 168, 585, 1, 317, 702, 1, 200, 84, 1, 200, 186, 1], "image_id": 111191, "bbox": [107, 71, 273, 727], "category_id": 1, "id": 175630}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [288, 234, 1, 75, 322, 1, 388, 367, 1, 131, 479, 1, 435, 443, 1, 219, 559, 1, 359, 574, 1, 222, 595, 1, 426, 492, 1, 281, 492, 1, 523, 778, 1, 360, 790, 1, 153, 65, 1, 181, 248, 1], "image_id": 119034, "bbox": [39, 25, 570, 882], "category_id": 1, "id": 175638}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [810, 395, 1, 781, 413, 1, 786, 378, 1, 758, 427, 1, 772, 355, 1, 738, 421, 1, 826, 457, 1, 814, 455, 1, 791, 460, 1, 788, 456, 1, 794, 487, 1, 788, 487, 1, 767, 383, 1, 792, 398, 1], "image_id": 114314, "bbox": [756, 334, 84, 137], "category_id": 1, "id": 175643}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [96, 362, 1, 215, 341, 1, 133, 244, 1, 228, 225, 1, 147, 138, 1, 261, 125, 1, 141, 626, 1, 224, 626, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 282, 1, 149, 363, 1], "image_id": 115780, "bbox": [78, 37, 245, 613], "category_id": 1, "id": 175645}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [286, 122, 1, 154, 162, 1, 365, 196, 1, 197, 282, 1, 365, 297, 1, 328, 292, 1, 124, 297, 1, 36, 286, 1, 146, 411, 1, 29, 469, 1, 171, 525, 1, 0, 0, 0, 245, 43, 1, 207, 124, 1], "image_id": 112589, "bbox": [1, 7, 422, 549], "category_id": 1, "id": 175648}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 173, 1, 176, 172, 1, 350, 288, 1, 160, 278, 1, 374, 366, 1, 146, 370, 1, 284, 386, 1, 209, 388, 1, 276, 532, 1, 215, 541, 1, 274, 666, 1, 228, 616, 1, 246, 44, 1, 246, 142, 1], "image_id": 110283, "bbox": [124, 24, 288, 706], "category_id": 1, "id": 175653}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [149, 488, 1, 50, 492, 1, 165, 527, 1, 0, 0, 0, 175, 540, 1, 0, 0, 0, 141, 630, 1, 81, 630, 1, 143, 703, 1, 86, 717, 1, 139, 752, 1, 95, 783, 1, 105, 398, 1, 99, 476, 1], "image_id": 116019, "bbox": [0, 369, 205, 425], "category_id": 1, "id": 175657}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [412, 290, 1, 504, 252, 1, 432, 355, 1, 562, 289, 1, 480, 325, 1, 578, 240, 1, 499, 418, 1, 549, 396, 1, 551, 531, 1, 601, 467, 1, 0, 0, 0, 614, 566, 1, 413, 179, 1, 442, 237, 1], "image_id": 110728, "bbox": [391, 161, 259, 464], "category_id": 1, "id": 175673}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [663, 226, 1, 530, 147, 1, 643, 379, 1, 510, 171, 1, 588, 405, 1, 531, 168, 1, 592, 445, 1, 507, 428, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 43, 1, 617, 151, 1], "image_id": 117250, "bbox": [465, 26, 332, 573], "category_id": 1, "id": 175678}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [207, 326, 1, 72, 328, 1, 210, 367, 1, 13, 359, 1, 191, 389, 1, 84, 390, 1, 180, 438, 1, 90, 444, 1, 215, 373, 1, 78, 415, 1, 204, 454, 1, 84, 491, 1, 186, 232, 1, 145, 310, 1], "image_id": 119159, "bbox": [0, 151, 262, 415], "category_id": 1, "id": 175686}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [151, 204, 1, 28, 226, 1, 171, 297, 1, 12, 310, 1, 125, 301, 1, 40, 302, 1, 147, 407, 1, 66, 411, 1, 154, 541, 1, 66, 545, 1, 160, 654, 1, 83, 644, 1, 62, 107, 1, 81, 182, 1], "image_id": 115819, "bbox": [1, 78, 195, 631], "category_id": 1, "id": 175693}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [754, 779, 1, 605, 673, 1, 583, 949, 1, 460, 625, 1, 350, 959, 1, 364, 572, 1, 0, 0, 0, 544, 908, 1, 0, 0, 0, 385, 839, 1, 0, 0, 0, 0, 0, 0, 674, 490, 1, 697, 652, 1], "image_id": 115663, "bbox": [267, 458, 639, 541], "category_id": 1, "id": 175695}, {"num_keypoints": 3, "iscrowd": 0, "keypoints": [397, 574, 1, 0, 0, 0, 336, 613, 1, 0, 0, 0, 436, 520, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 454, 1, 540, 583, 1], "image_id": 117227, "bbox": [292, 419, 391, 214], "category_id": 1, "id": 175704}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [346, 447, 1, 264, 461, 1, 415, 474, 1, 245, 559, 1, 415, 517, 1, 302, 527, 1, 338, 639, 1, 289, 641, 1, 356, 747, 1, 274, 757, 1, 374, 845, 1, 256, 875, 1, 300, 356, 1, 296, 430, 1], "image_id": 110175, "bbox": [232, 338, 211, 581], "category_id": 1, "id": 175717}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 253, 1, 538, 261, 1, 412, 293, 1, 585, 348, 1, 405, 316, 1, 609, 381, 1, 461, 413, 1, 489, 402, 1, 526, 492, 1, 567, 485, 1, 483, 534, 1, 551, 587, 1, 532, 174, 1, 513, 232, 1], "image_id": 116244, "bbox": [380, 155, 257, 469], "category_id": 1, "id": 175725}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [681, 282, 1, 746, 284, 1, 649, 294, 1, 761, 335, 1, 622, 307, 1, 780, 367, 1, 684, 403, 1, 725, 399, 1, 702, 480, 1, 751, 470, 1, 629, 507, 1, 734, 551, 1, 724, 223, 1, 721, 260, 1], "image_id": 112509, "bbox": [597, 203, 207, 377], "category_id": 1, "id": 175746}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [251, 241, 1, 113, 280, 1, 284, 331, 1, 97, 364, 1, 260, 372, 1, 92, 403, 1, 323, 407, 1, 282, 462, 1, 467, 461, 1, 415, 520, 1, 498, 493, 1, 440, 575, 1, 160, 140, 1, 170, 238, 1], "image_id": 110679, "bbox": [53, 116, 527, 468], "category_id": 1, "id": 175748}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [520, 400, 1, 387, 405, 1, 638, 391, 1, 322, 359, 1, 632, 288, 1, 366, 253, 1, 502, 622, 1, 420, 618, 1, 516, 823, 1, 385, 830, 1, 0, 0, 0, 0, 0, 0, 439, 273, 1, 444, 376, 1], "image_id": 111546, "bbox": [309, 193, 362, 786], "category_id": 1, "id": 175757}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [152, 131, 1, 259, 139, 1, 74, 212, 1, 349, 189, 1, 59, 266, 1, 431, 211, 1, 98, 325, 1, 158, 325, 1, 117, 481, 1, 191, 477, 1, 97, 626, 1, 160, 625, 1, 268, 68, 1, 224, 107, 1], "image_id": 116906, "bbox": [29, 35, 474, 645], "category_id": 1, "id": 175763}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [298, 391, 1, 189, 392, 1, 315, 460, 1, 172, 458, 1, 282, 509, 1, 211, 509, 1, 263, 526, 1, 212, 522, 1, 268, 626, 1, 213, 626, 1, 267, 712, 1, 210, 711, 1, 243, 293, 1, 243, 373, 1], "image_id": 117585, "bbox": [139, 263, 205, 503], "category_id": 1, "id": 175766}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [421, 260, 1, 295, 232, 1, 441, 323, 1, 202, 293, 1, 431, 353, 1, 222, 240, 1, 394, 450, 1, 322, 452, 1, 347, 595, 1, 369, 591, 1, 325, 756, 1, 431, 663, 1, 363, 109, 1, 353, 216, 1], "image_id": 112232, "bbox": [179, 88, 292, 735], "category_id": 1, "id": 175773}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [773, 115, 1, 707, 118, 1, 791, 192, 1, 640, 115, 1, 742, 265, 1, 573, 85, 1, 743, 296, 1, 718, 291, 1, 762, 408, 1, 735, 403, 1, 773, 515, 1, 734, 488, 1, 730, 14, 1, 740, 84, 1], "image_id": 112303, "bbox": [556, 2, 243, 530], "category_id": 1, "id": 175783}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [744, 232, 1, 715, 233, 1, 732, 193, 1, 698, 202, 1, 709, 165, 1, 693, 171, 1, 743, 357, 1, 707, 356, 1, 751, 422, 1, 699, 416, 1, 757, 478, 1, 691, 476, 1, 738, 180, 1, 735, 228, 1], "image_id": 114863, "bbox": [673, 124, 96, 388], "category_id": 1, "id": 175796}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [409, 320, 1, 339, 264, 1, 423, 388, 1, 256, 230, 1, 418, 425, 1, 189, 194, 1, 297, 470, 1, 232, 431, 1, 339, 538, 1, 139, 483, 1, 304, 656, 1, 130, 459, 1, 426, 228, 1, 378, 284, 1], "image_id": 109577, "bbox": [75, 172, 379, 533], "category_id": 1, "id": 175800}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [456, 187, 1, 293, 284, 1, 470, 265, 1, 346, 366, 1, 512, 289, 1, 392, 429, 1, 414, 342, 1, 325, 359, 1, 441, 457, 1, 353, 514, 1, 454, 522, 1, 0, 0, 0, 396, 91, 1, 372, 201, 1], "image_id": 112472, "bbox": [257, 40, 314, 585], "category_id": 1, "id": 175819}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [466, 211, 1, 295, 215, 1, 491, 357, 1, 262, 332, 1, 0, 0, 0, 232, 423, 1, 429, 509, 1, 337, 509, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 75, 1, 376, 192, 1], "image_id": 109469, "bbox": [206, 54, 293, 596], "category_id": 1, "id": 175825}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [0, 0, 0, 29, 206, 1, 0, 0, 0, 36, 273, 1, 0, 0, 0, 53, 325, 1, 0, 0, 0, 33, 377, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 95, 1, 0, 162, 1], "image_id": 118570, "bbox": [0, 83, 75, 321], "category_id": 1, "id": 175835}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [348, 344, 1, 382, 306, 1, 276, 354, 1, 296, 298, 1, 208, 319, 1, 226, 303, 1, 344, 472, 1, 371, 472, 1, 307, 576, 1, 359, 559, 1, 306, 657, 1, 354, 614, 1, 402, 184, 1, 369, 280, 1], "image_id": 111192, "bbox": [169, 151, 288, 555], "category_id": 1, "id": 175843}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [115, 258, 1, 165, 256, 1, 120, 320, 1, 160, 318, 1, 158, 342, 1, 157, 371, 1, 116, 381, 1, 153, 378, 1, 108, 459, 1, 185, 452, 1, 94, 537, 1, 196, 535, 1, 155, 189, 1, 150, 232, 1], "image_id": 111885, "bbox": [74, 175, 161, 389], "category_id": 1, "id": 175856}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [754, 152, 1, 866, 139, 1, 753, 255, 1, 0, 0, 0, 705, 344, 1, 0, 0, 0, 754, 372, 1, 837, 377, 1, 615, 434, 1, 876, 492, 1, 485, 546, 1, 0, 0, 0, 755, 32, 1, 794, 108, 1], "image_id": 112821, "bbox": [394, 11, 554, 590], "category_id": 1, "id": 175882}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [553, 215, 1, 439, 227, 1, 558, 303, 1, 427, 324, 1, 548, 364, 1, 503, 341, 1, 530, 382, 1, 470, 381, 1, 594, 413, 1, 586, 356, 1, 533, 553, 1, 688, 472, 1, 468, 103, 1, 492, 198, 1], "image_id": 117746, "bbox": [398, 79, 343, 564], "category_id": 1, "id": 175888}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [116, 205, 1, 14, 224, 1, 164, 335, 1, 63, 363, 1, 106, 360, 1, 136, 337, 1, 157, 367, 1, 83, 394, 1, 232, 391, 1, 177, 424, 1, 226, 502, 1, 171, 506, 1, 49, 97, 1, 60, 201, 1], "image_id": 119002, "bbox": [0, 77, 213, 296], "category_id": 1, "id": 175906}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [29, 206, 1, 102, 212, 1, 141, 257, 1, 151, 317, 1, 239, 295, 1, 200, 305, 1, 61, 409, 1, 132, 402, 1, 89, 536, 1, 164, 527, 1, 0, 0, 0, 0, 0, 0, 67, 76, 1, 65, 183, 1], "image_id": 118735, "bbox": [4, 55, 273, 316], "category_id": 1, "id": 175916}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [216, 270, 1, 106, 263, 1, 253, 393, 1, 90, 379, 1, 224, 380, 1, 106, 467, 1, 212, 468, 1, 140, 468, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 144, 1, 166, 238, 1], "image_id": 115710, "bbox": [65, 123, 193, 473], "category_id": 1, "id": 175924}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [205, 234, 1, 82, 240, 1, 176, 328, 1, 52, 353, 1, 227, 386, 1, 53, 447, 1, 188, 393, 1, 114, 405, 1, 263, 501, 1, 154, 522, 1, 304, 635, 1, 172, 685, 1, 146, 71, 1, 146, 199, 1], "image_id": 109408, "bbox": [4, 52, 359, 678], "category_id": 1, "id": 175927}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [453, 211, 1, 361, 195, 1, 518, 246, 1, 331, 138, 1, 477, 173, 1, 364, 42, 1, 436, 387, 1, 402, 387, 1, 432, 531, 1, 389, 525, 1, 375, 640, 1, 348, 651, 1, 398, 126, 1, 408, 195, 1], "image_id": 117256, "bbox": [301, 6, 239, 716], "category_id": 1, "id": 175961}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 267, 1, 170, 251, 1, 358, 370, 1, 158, 389, 1, 302, 369, 1, 166, 377, 1, 323, 440, 1, 258, 492, 1, 380, 558, 1, 351, 602, 1, 415, 704, 1, 338, 609, 1, 258, 152, 1, 244, 238, 1], "image_id": 115843, "bbox": [128, 132, 329, 645], "category_id": 1, "id": 175979}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [516, 167, 1, 374, 175, 1, 517, 262, 1, 353, 300, 1, 467, 179, 1, 347, 413, 1, 474, 414, 1, 407, 413, 1, 468, 600, 1, 412, 561, 1, 447, 763, 1, 410, 673, 1, 449, 45, 1, 444, 140, 1], "image_id": 116292, "bbox": [317, 28, 239, 786], "category_id": 1, "id": 175991}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [339, 160, 1, 311, 156, 1, 350, 175, 1, 306, 174, 1, 360, 174, 1, 298, 183, 1, 326, 212, 1, 311, 209, 1, 325, 239, 1, 303, 235, 1, 324, 260, 1, 297, 260, 1, 328, 131, 1, 326, 151, 1], "image_id": 119215, "bbox": [279, 124, 70, 152], "category_id": 1, "id": 175994}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [404, 477, 1, 204, 464, 1, 415, 637, 1, 147, 634, 1, 365, 655, 1, 238, 723, 1, 340, 785, 1, 221, 784, 1, 300, 982, 1, 225, 980, 1, 0, 0, 0, 0, 0, 0, 309, 257, 1, 309, 415, 1], "image_id": 116407, "bbox": [126, 231, 308, 768], "category_id": 1, "id": 176006}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [511, 122, 1, 326, 199, 1, 615, 152, 1, 244, 272, 1, 750, 149, 1, 194, 337, 1, 536, 482, 1, 423, 484, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 35, 1, 405, 128, 1], "image_id": 114811, "bbox": [171, 5, 672, 594], "category_id": 1, "id": 176022}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [770, 342, 1, 750, 371, 1, 781, 443, 1, 728, 427, 1, 799, 500, 1, 740, 516, 1, 635, 374, 1, 624, 406, 1, 715, 415, 1, 659, 526, 1, 655, 459, 1, 516, 518, 1, 837, 301, 1, 789, 353, 1], "image_id": 110350, "bbox": [465, 265, 411, 284], "category_id": 1, "id": 176056}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [648, 185, 1, 502, 217, 1, 683, 294, 1, 524, 344, 1, 748, 270, 1, 634, 353, 1, 650, 379, 1, 565, 412, 1, 809, 378, 1, 703, 421, 1, 915, 630, 1, 680, 630, 1, 591, 62, 1, 577, 163, 1], "image_id": 114409, "bbox": [452, 2, 458, 691], "category_id": 1, "id": 176059}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [696, 257, 1, 571, 203, 1, 702, 374, 1, 482, 197, 1, 594, 378, 1, 473, 104, 1, 654, 452, 1, 571, 438, 1, 646, 595, 1, 479, 590, 1, 0, 0, 0, 645, 635, 1, 676, 111, 1, 644, 201, 1], "image_id": 115780, "bbox": [439, 18, 317, 626], "category_id": 1, "id": 176063}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [700, 394, 1, 741, 397, 1, 705, 441, 1, 795, 459, 1, 771, 461, 1, 732, 435, 1, 727, 546, 1, 746, 547, 1, 719, 645, 1, 731, 648, 1, 0, 0, 0, 0, 0, 0, 730, 300, 1, 717, 369, 1], "image_id": 116567, "bbox": [663, 271, 152, 478], "category_id": 1, "id": 176078}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [420, 221, 1, 287, 204, 1, 452, 360, 1, 238, 326, 1, 485, 472, 1, 182, 411, 1, 383, 486, 1, 320, 488, 1, 310, 662, 1, 415, 675, 1, 258, 865, 1, 505, 837, 1, 355, 56, 1, 343, 175, 1], "image_id": 110190, "bbox": [136, 30, 410, 909], "category_id": 1, "id": 176091}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [436, 185, 1, 317, 210, 1, 486, 277, 1, 330, 323, 1, 481, 243, 1, 377, 268, 1, 468, 352, 1, 393, 381, 1, 528, 437, 1, 456, 452, 1, 537, 537, 1, 468, 543, 1, 396, 84, 1, 375, 173, 1], "image_id": 118629, "bbox": [274, 60, 275, 358], "category_id": 1, "id": 176156}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [324, 147, 1, 223, 193, 1, 396, 213, 1, 146, 252, 1, 455, 282, 1, 82, 294, 1, 353, 340, 1, 301, 341, 1, 437, 458, 1, 169, 438, 1, 562, 507, 1, 99, 563, 1, 202, 63, 1, 250, 142, 1], "image_id": 111077, "bbox": [10, 18, 618, 564], "category_id": 1, "id": 176166}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [547, 184, 1, 451, 250, 1, 635, 194, 1, 476, 332, 1, 722, 225, 1, 424, 408, 1, 601, 355, 1, 526, 397, 1, 549, 407, 1, 447, 496, 1, 587, 550, 1, 422, 605, 1, 437, 138, 1, 483, 201, 1], "image_id": 114018, "bbox": [346, 115, 448, 531], "category_id": 1, "id": 176173}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [812, 221, 1, 665, 217, 1, 845, 307, 1, 644, 357, 1, 786, 216, 1, 688, 357, 1, 787, 445, 1, 695, 439, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 750, 104, 1, 754, 192, 1], "image_id": 112400, "bbox": [643, 64, 229, 535], "category_id": 1, "id": 176177}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [427, 174, 1, 356, 207, 1, 469, 196, 1, 377, 291, 1, 427, 204, 1, 429, 401, 1, 361, 277, 1, 303, 307, 1, 455, 246, 1, 377, 361, 1, 427, 362, 1, 317, 364, 1, 442, 112, 1, 386, 165, 1], "image_id": 119307, "bbox": [278, 92, 203, 375], "category_id": 1, "id": 176185}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [268, 176, 1, 313, 200, 1, 211, 301, 1, 425, 234, 1, 207, 402, 1, 520, 200, 1, 0, 0, 0, 263, 419, 1, 211, 419, 1, 343, 579, 1, 203, 597, 1, 0, 0, 0, 353, 69, 1, 306, 156, 1], "image_id": 112152, "bbox": [155, 43, 394, 588], "category_id": 1, "id": 176197}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [582, 298, 1, 549, 330, 1, 611, 502, 1, 611, 449, 1, 537, 599, 1, 539, 546, 1, 568, 606, 1, 522, 575, 1, 373, 599, 1, 328, 585, 1, 352, 884, 1, 322, 844, 1, 508, 161, 1, 537, 279, 1], "image_id": 114930, "bbox": [191, 133, 474, 810], "category_id": 1, "id": 176198}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [676, 488, 1, 651, 397, 1, 574, 574, 1, 548, 429, 1, 685, 606, 1, 450, 456, 1, 398, 518, 1, 392, 437, 1, 185, 593, 1, 188, 510, 1, 14, 664, 1, 71, 589, 1, 799, 406, 1, 675, 430, 1], "image_id": 109051, "bbox": [0, 360, 928, 382], "category_id": 1, "id": 176204}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [218, 238, 1, 79, 255, 1, 241, 354, 1, 70, 373, 1, 264, 380, 1, 104, 448, 1, 209, 454, 1, 131, 455, 1, 225, 590, 1, 141, 591, 1, 231, 695, 1, 152, 698, 1, 144, 114, 1, 158, 217, 1], "image_id": 110764, "bbox": [45, 92, 222, 676], "category_id": 1, "id": 176207}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [348, 345, 1, 248, 382, 1, 367, 475, 1, 221, 475, 1, 356, 551, 1, 186, 547, 1, 410, 444, 1, 376, 472, 1, 482, 521, 1, 451, 554, 1, 542, 500, 1, 552, 527, 1, 229, 280, 1, 287, 355, 1], "image_id": 116291, "bbox": [121, 255, 307, 324], "category_id": 1, "id": 176209}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [515, 307, 1, 422, 354, 1, 511, 420, 1, 450, 425, 1, 419, 418, 1, 382, 411, 1, 581, 490, 1, 511, 494, 1, 586, 625, 1, 513, 618, 1, 582, 744, 1, 517, 744, 1, 395, 219, 1, 444, 307, 1], "image_id": 111281, "bbox": [346, 198, 282, 469], "category_id": 1, "id": 176218}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [250, 247, 1, 178, 400, 1, 372, 300, 1, 316, 430, 1, 487, 343, 1, 302, 461, 1, 438, 316, 1, 437, 433, 1, 674, 280, 1, 542, 450, 1, 805, 431, 1, 708, 414, 1, 47, 314, 1, 172, 321, 1], "image_id": 111778, "bbox": [25, 223, 893, 293], "category_id": 1, "id": 176219}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [511, 251, 1, 329, 194, 1, 462, 386, 1, 255, 302, 1, 377, 431, 1, 346, 354, 1, 400, 552, 1, 279, 549, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 520, 96, 1, 437, 191, 1], "image_id": 111579, "bbox": [201, 55, 375, 566], "category_id": 1, "id": 176226}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [524, 364, 1, 424, 356, 1, 579, 373, 1, 429, 380, 1, 540, 315, 1, 433, 308, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 268, 1, 470, 345, 1], "image_id": 117263, "bbox": [398, 246, 205, 261], "category_id": 1, "id": 176229}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [365, 113, 1, 239, 125, 1, 385, 219, 1, 218, 212, 1, 369, 318, 1, 234, 307, 1, 343, 328, 1, 284, 327, 1, 265, 471, 1, 341, 467, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 83, 1], "image_id": 114624, "bbox": [214, 0, 193, 595], "category_id": 1, "id": 176230}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [248, 319, 1, 114, 345, 1, 234, 491, 1, 177, 537, 1, 322, 522, 1, 233, 331, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 76, 1, 195, 260, 1], "image_id": 113693, "bbox": [62, 50, 342, 649], "category_id": 1, "id": 176237}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [135, 229, 1, 142, 188, 1, 212, 305, 1, 287, 184, 1, 303, 393, 1, 430, 135, 1, 408, 374, 1, 421, 340, 1, 550, 534, 1, 645, 429, 1, 398, 719, 1, 593, 679, 1, 73, 88, 1, 115, 170, 1], "image_id": 116601, "bbox": [36, 63, 654, 686], "category_id": 1, "id": 176239}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [393, 293, 1, 361, 292, 1, 401, 325, 1, 354, 326, 1, 404, 356, 1, 337, 351, 1, 388, 349, 1, 369, 349, 1, 383, 393, 1, 376, 393, 1, 379, 437, 1, 383, 428, 1, 376, 260, 1, 376, 283, 1], "image_id": 116825, "bbox": [336, 252, 76, 218], "category_id": 1, "id": 176242}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [512, 305, 1, 379, 320, 1, 516, 419, 1, 375, 437, 1, 423, 415, 1, 375, 539, 1, 474, 515, 1, 413, 522, 1, 488, 666, 1, 423, 667, 1, 494, 822, 1, 425, 784, 1, 408, 168, 1, 436, 275, 1], "image_id": 115948, "bbox": [353, 136, 196, 774], "category_id": 1, "id": 176247}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [763, 183, 1, 614, 191, 1, 809, 302, 1, 547, 282, 1, 824, 419, 1, 473, 222, 1, 709, 439, 1, 649, 435, 1, 681, 613, 1, 611, 610, 1, 0, 0, 0, 0, 0, 0, 708, 28, 1, 687, 143, 1], "image_id": 118393, "bbox": [403, 8, 441, 623], "category_id": 1, "id": 176248}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [685, 273, 1, 795, 270, 1, 622, 376, 1, 800, 375, 1, 635, 469, 1, 828, 452, 1, 669, 489, 1, 726, 481, 1, 721, 594, 1, 840, 583, 1, 703, 752, 1, 891, 739, 1, 772, 154, 1, 754, 232, 1], "image_id": 111305, "bbox": [598, 135, 386, 650], "category_id": 1, "id": 176266}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [321, 270, 1, 225, 243, 1, 284, 324, 1, 202, 308, 1, 218, 312, 1, 269, 331, 1, 281, 377, 1, 223, 375, 1, 321, 440, 1, 176, 416, 1, 308, 548, 1, 154, 550, 1, 296, 213, 1, 277, 254, 1], "image_id": 111847, "bbox": [95, 185, 254, 421], "category_id": 1, "id": 176304}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 403, 189, 1, 0, 0, 0, 387, 311, 1, 0, 0, 0, 373, 405, 1, 0, 0, 0, 448, 393, 1, 0, 0, 0, 471, 533, 1, 0, 0, 0, 488, 685, 1, 440, 39, 1, 468, 147, 1], "image_id": 110283, "bbox": [346, 17, 154, 732], "category_id": 1, "id": 176308}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [296, 192, 1, 470, 241, 1, 236, 281, 1, 582, 274, 1, 230, 355, 1, 674, 286, 1, 271, 462, 1, 360, 478, 1, 364, 379, 1, 414, 559, 1, 339, 522, 1, 269, 518, 1, 424, 78, 1, 386, 171, 1], "image_id": 119846, "bbox": [169, 54, 583, 545], "category_id": 1, "id": 176321}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [606, 189, 1, 529, 173, 1, 589, 265, 1, 456, 209, 1, 510, 295, 1, 380, 173, 1, 610, 372, 1, 582, 375, 1, 468, 445, 1, 557, 494, 1, 467, 615, 1, 586, 606, 1, 594, 51, 1, 573, 147, 1], "image_id": 112402, "bbox": [323, 33, 331, 616], "category_id": 1, "id": 176323}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [691, 148, 1, 597, 150, 1, 716, 211, 1, 580, 223, 1, 717, 241, 1, 529, 285, 1, 665, 312, 1, 622, 318, 1, 682, 423, 1, 633, 431, 1, 652, 491, 1, 643, 516, 1, 640, 46, 1, 644, 125, 1], "image_id": 119426, "bbox": [496, 33, 240, 515], "category_id": 1, "id": 176330}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [435, 150, 1, 391, 157, 1, 430, 182, 1, 400, 195, 1, 449, 169, 1, 425, 169, 1, 426, 252, 1, 397, 251, 1, 427, 299, 1, 391, 299, 1, 435, 345, 1, 383, 338, 1, 420, 108, 1, 422, 147, 1], "image_id": 118570, "bbox": [371, 98, 79, 262], "category_id": 1, "id": 176335}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [30, 193, 1, 162, 215, 1, 49, 284, 1, 146, 271, 1, 47, 374, 1, 127, 213, 1, 90, 377, 1, 155, 357, 1, 94, 341, 1, 138, 337, 1, 99, 454, 1, 142, 454, 1, 125, 109, 1, 104, 172, 1], "image_id": 114190, "bbox": [2, 97, 211, 313], "category_id": 1, "id": 176340}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [722, 360, 1, 745, 384, 1, 632, 443, 1, 745, 482, 1, 651, 517, 1, 774, 561, 1, 538, 435, 1, 553, 453, 1, 574, 555, 1, 513, 562, 1, 446, 550, 1, 378, 549, 1, 798, 355, 1, 748, 380, 1], "image_id": 117716, "bbox": [303, 323, 535, 280], "category_id": 1, "id": 176353}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [442, 352, 1, 271, 345, 1, 447, 497, 1, 261, 469, 1, 345, 560, 1, 250, 564, 1, 372, 594, 1, 270, 576, 1, 280, 674, 1, 195, 678, 1, 0, 0, 0, 305, 791, 1, 337, 166, 1, 350, 305, 1], "image_id": 111041, "bbox": [149, 144, 327, 655], "category_id": 1, "id": 176361}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [106, 176, 1, 194, 218, 1, 106, 339, 1, 265, 351, 1, 149, 456, 1, 243, 215, 1, 141, 536, 1, 187, 550, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 29, 1, 169, 150, 1], "image_id": 111414, "bbox": [29, 0, 261, 624], "category_id": 1, "id": 176364}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [191, 60, 1, 211, 174, 1, 56, 168, 1, 156, 448, 1, 38, 337, 1, 342, 612, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 91, 1], "image_id": 116468, "bbox": [0, 0, 527, 623], "category_id": 1, "id": 176366}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [241, 329, 1, 181, 306, 1, 251, 453, 1, 129, 317, 1, 336, 465, 1, 143, 259, 1, 254, 584, 1, 192, 581, 1, 336, 751, 1, 291, 709, 1, 227, 833, 1, 216, 896, 1, 178, 197, 1, 201, 288, 1], "image_id": 119934, "bbox": [101, 166, 298, 795], "category_id": 1, "id": 176367}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 227, 1, 293, 261, 1, 514, 270, 1, 249, 366, 1, 578, 331, 1, 161, 367, 1, 397, 459, 1, 325, 454, 1, 410, 596, 1, 202, 563, 1, 408, 651, 1, 96, 679, 1, 319, 120, 1, 341, 222, 1], "image_id": 117429, "bbox": [19, 101, 608, 636], "category_id": 1, "id": 176373}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [171, 212, 1, 361, 214, 1, 141, 355, 1, 453, 297, 1, 141, 460, 1, 525, 242, 1, 243, 483, 1, 326, 481, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 46, 1, 257, 157, 1], "image_id": 118393, "bbox": [116, 27, 474, 604], "category_id": 1, "id": 176380}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [443, 270, 1, 266, 264, 1, 539, 299, 1, 182, 223, 1, 647, 289, 1, 74, 182, 1, 393, 508, 1, 332, 534, 1, 390, 703, 1, 409, 687, 1, 403, 869, 1, 461, 774, 1, 355, 161, 1, 343, 252, 1], "image_id": 113563, "bbox": [10, 109, 699, 839], "category_id": 1, "id": 176384}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [317, 498, 1, 262, 511, 1, 340, 534, 1, 320, 543, 1, 390, 527, 1, 294, 489, 1, 334, 679, 1, 289, 680, 1, 363, 759, 1, 276, 782, 1, 328, 874, 1, 250, 881, 1, 304, 401, 1, 292, 481, 1], "image_id": 111122, "bbox": [206, 375, 202, 565], "category_id": 1, "id": 176386}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 336, 1, 315, 343, 1, 441, 420, 1, 305, 450, 1, 494, 456, 1, 316, 535, 1, 383, 522, 1, 334, 522, 1, 377, 657, 1, 340, 657, 1, 368, 766, 1, 336, 763, 1, 357, 208, 1, 362, 313, 1], "image_id": 118991, "bbox": [274, 188, 152, 663], "category_id": 1, "id": 176387}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [242, 142, 1, 143, 157, 1, 278, 213, 1, 135, 215, 1, 252, 197, 1, 178, 175, 1, 264, 250, 1, 217, 267, 1, 309, 282, 1, 250, 299, 1, 330, 352, 1, 276, 366, 1, 167, 72, 1, 186, 137, 1], "image_id": 118281, "bbox": [107, 58, 238, 320], "category_id": 1, "id": 176388}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 101, 98, 1, 0, 0, 0, 174, 243, 1, 0, 0, 0, 111, 281, 1, 76, 350, 1, 171, 354, 1, 0, 0, 0, 124, 525, 1, 0, 0, 0, 154, 727, 1, 0, 0, 0, 13, 62, 1], "image_id": 113606, "bbox": [1, 1, 200, 797], "category_id": 1, "id": 176420}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [656, 180, 1, 584, 149, 1, 640, 216, 1, 497, 158, 1, 601, 213, 1, 519, 167, 1, 716, 279, 1, 651, 293, 1, 764, 327, 1, 640, 408, 1, 810, 308, 1, 732, 448, 1, 612, 103, 1, 609, 159, 1], "image_id": 115347, "bbox": [478, 64, 332, 441], "category_id": 1, "id": 176435}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [503, 256, 1, 376, 265, 1, 567, 333, 1, 347, 328, 1, 503, 416, 1, 325, 410, 1, 548, 370, 1, 472, 383, 1, 600, 537, 1, 438, 538, 1, 0, 0, 0, 467, 626, 1, 413, 158, 1, 427, 245, 1], "image_id": 115502, "bbox": [253, 144, 371, 613], "category_id": 1, "id": 176448}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [700, 327, 1, 567, 317, 1, 711, 444, 1, 539, 431, 1, 690, 530, 1, 521, 529, 1, 654, 515, 1, 577, 512, 1, 649, 679, 1, 595, 675, 1, 637, 803, 1, 593, 787, 1, 635, 199, 1, 630, 293, 1], "image_id": 118868, "bbox": [497, 172, 278, 701], "category_id": 1, "id": 176461}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [269, 251, 1, 119, 250, 1, 294, 374, 1, 88, 374, 1, 218, 340, 1, 147, 340, 1, 235, 492, 1, 158, 492, 1, 231, 690, 1, 167, 693, 1, 222, 860, 1, 181, 870, 1, 188, 90, 1, 188, 215, 1], "image_id": 110777, "bbox": [71, 61, 267, 902], "category_id": 1, "id": 176466}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [442, 234, 1, 384, 208, 1, 474, 196, 1, 413, 166, 1, 511, 173, 1, 491, 156, 1, 403, 398, 1, 373, 399, 1, 393, 524, 1, 367, 522, 1, 343, 646, 1, 322, 646, 1, 519, 97, 1, 429, 196, 1], "image_id": 113558, "bbox": [274, 116, 282, 574], "category_id": 1, "id": 176474}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 182, 1, 473, 186, 1, 594, 270, 1, 468, 237, 1, 592, 342, 1, 460, 277, 1, 531, 328, 1, 473, 326, 1, 532, 425, 1, 474, 426, 1, 532, 516, 1, 475, 517, 1, 505, 80, 1, 512, 159, 1], "image_id": 116458, "bbox": [428, 41, 192, 328], "category_id": 1, "id": 176489}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [485, 245, 1, 450, 235, 1, 452, 300, 1, 428, 286, 1, 395, 306, 1, 387, 297, 1, 422, 349, 1, 408, 343, 1, 392, 420, 1, 381, 413, 1, 364, 485, 1, 351, 478, 1, 479, 180, 1, 470, 228, 1], "image_id": 112417, "bbox": [360, 168, 148, 166], "category_id": 1, "id": 176522}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [718, 160, 1, 579, 174, 1, 709, 216, 1, 491, 183, 1, 646, 198, 1, 402, 180, 1, 759, 386, 1, 672, 388, 1, 859, 536, 1, 576, 460, 1, 941, 628, 1, 606, 619, 1, 639, 58, 1, 659, 154, 1], "image_id": 114193, "bbox": [363, 30, 586, 651], "category_id": 1, "id": 176547}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [166, 138, 1, 56, 149, 1, 163, 225, 1, 30, 241, 1, 176, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 31, 1, 117, 111, 1], "image_id": 117472, "bbox": [10, 16, 190, 236], "category_id": 1, "id": 176549}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [729, 158, 1, 825, 169, 1, 735, 209, 1, 771, 276, 1, 724, 282, 1, 693, 261, 1, 752, 360, 1, 823, 375, 1, 622, 428, 1, 849, 495, 1, 576, 594, 1, 907, 622, 1, 771, 63, 1, 771, 132, 1], "image_id": 112593, "bbox": [495, 41, 435, 605], "category_id": 1, "id": 176550}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [612, 187, 1, 456, 230, 1, 602, 89, 1, 409, 355, 1, 628, 170, 1, 489, 440, 1, 504, 432, 1, 418, 430, 1, 569, 555, 1, 333, 624, 1, 492, 760, 1, 230, 750, 1, 551, 98, 1, 540, 193, 1], "image_id": 111550, "bbox": [165, 63, 509, 781], "category_id": 1, "id": 176568}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [670, 295, 1, 537, 310, 1, 698, 393, 1, 514, 412, 1, 724, 471, 1, 561, 478, 1, 667, 483, 1, 586, 493, 1, 684, 602, 1, 607, 646, 1, 667, 690, 1, 626, 759, 1, 586, 185, 1, 595, 274, 1], "image_id": 116292, "bbox": [492, 163, 259, 642], "category_id": 1, "id": 176575}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [261, 174, 1, 240, 176, 1, 208, 260, 1, 214, 266, 1, 291, 216, 1, 287, 226, 1, 237, 363, 1, 226, 365, 1, 266, 516, 1, 239, 516, 1, 234, 673, 1, 227, 675, 1, 242, 39, 1, 233, 133, 1], "image_id": 119340, "bbox": [155, 13, 190, 722], "category_id": 1, "id": 176595}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [585, 277, 1, 460, 271, 1, 538, 400, 1, 370, 365, 1, 442, 411, 1, 407, 326, 1, 495, 466, 1, 431, 445, 1, 411, 490, 1, 345, 461, 1, 413, 588, 1, 341, 578, 1, 471, 101, 1, 505, 217, 1], "image_id": 118495, "bbox": [348, 82, 275, 420], "category_id": 1, "id": 176596}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [247, 204, 1, 89, 212, 1, 278, 335, 1, 106, 358, 1, 287, 441, 1, 173, 449, 1, 219, 415, 1, 128, 419, 1, 386, 412, 1, 248, 249, 1, 372, 613, 1, 244, 459, 1, 177, 64, 1, 172, 174, 1], "image_id": 117305, "bbox": [65, 40, 402, 692], "category_id": 1, "id": 176628}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [419, 238, 1, 280, 267, 1, 458, 363, 1, 269, 394, 1, 477, 481, 1, 250, 506, 1, 392, 479, 1, 321, 477, 1, 372, 651, 1, 333, 652, 1, 347, 831, 1, 335, 860, 1, 330, 96, 1, 343, 221, 1], "image_id": 114488, "bbox": [216, 80, 298, 881], "category_id": 1, "id": 176650}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [130, 93, 1, 61, 94, 1, 131, 130, 1, 62, 145, 1, 122, 86, 1, 68, 189, 1, 123, 149, 1, 80, 150, 1, 130, 132, 1, 56, 123, 1, 132, 172, 1, 54, 185, 1, 79, 36, 1, 92, 81, 1], "image_id": 117100, "bbox": [20, 11, 136, 225], "category_id": 1, "id": 176652}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [315, 450, 1, 196, 408, 1, 292, 518, 1, 189, 341, 1, 233, 461, 1, 247, 260, 1, 272, 651, 1, 195, 651, 1, 320, 789, 1, 188, 784, 1, 360, 935, 1, 173, 929, 1, 268, 336, 1, 251, 415, 1], "image_id": 118172, "bbox": [143, 179, 234, 820], "category_id": 1, "id": 176668}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [753, 161, 1, 673, 165, 1, 796, 217, 1, 659, 241, 1, 847, 254, 1, 663, 305, 1, 757, 297, 1, 710, 295, 1, 771, 417, 1, 715, 407, 1, 709, 491, 1, 726, 532, 1, 713, 67, 1, 713, 138, 1], "image_id": 110637, "bbox": [646, 56, 238, 505], "category_id": 1, "id": 176693}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [446, 93, 1, 338, 106, 1, 488, 165, 1, 345, 193, 1, 543, 223, 1, 333, 258, 1, 439, 257, 1, 381, 262, 1, 428, 363, 1, 398, 370, 1, 469, 471, 1, 428, 488, 1, 373, 9, 1, 384, 81, 1], "image_id": 118208, "bbox": [323, 3, 163, 527], "category_id": 1, "id": 176711}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [492, 146, 1, 613, 129, 1, 449, 248, 1, 739, 184, 1, 402, 252, 1, 716, 159, 1, 498, 308, 1, 572, 306, 1, 524, 465, 1, 606, 468, 1, 508, 619, 1, 619, 635, 1, 561, 72, 1, 557, 103, 1], "image_id": 116906, "bbox": [341, 61, 420, 619], "category_id": 1, "id": 176713}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [668, 192, 1, 564, 194, 1, 644, 326, 1, 614, 305, 1, 580, 237, 1, 612, 402, 1, 720, 416, 1, 683, 413, 1, 582, 504, 1, 602, 506, 1, 0, 0, 0, 0, 0, 0, 569, 43, 1, 599, 162, 1], "image_id": 118855, "bbox": [515, 7, 285, 591], "category_id": 1, "id": 176718}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [795, 155, 1, 691, 144, 1, 803, 248, 1, 651, 210, 1, 829, 322, 1, 599, 244, 1, 762, 326, 1, 702, 326, 1, 752, 454, 1, 689, 456, 1, 739, 567, 1, 702, 555, 1, 747, 35, 1, 738, 118, 1], "image_id": 115248, "bbox": [651, 18, 205, 594], "category_id": 1, "id": 176721}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [502, 176, 1, 475, 178, 1, 507, 202, 1, 473, 203, 1, 512, 225, 1, 466, 220, 1, 499, 227, 1, 478, 227, 1, 508, 262, 1, 473, 258, 1, 517, 296, 1, 465, 295, 1, 480, 149, 1, 490, 169, 1], "image_id": 118286, "bbox": [457, 141, 75, 176], "category_id": 1, "id": 176733}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 507, 321, 1, 0, 0, 0, 510, 354, 1, 0, 0, 0, 529, 369, 1, 0, 0, 0, 518, 378, 1, 0, 0, 0, 517, 428, 1, 0, 0, 0, 515, 469, 1, 524, 276, 1, 526, 307, 1], "image_id": 116825, "bbox": [475, 265, 64, 240], "category_id": 1, "id": 176742}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [607, 135, 1, 690, 133, 1, 588, 217, 1, 697, 219, 1, 586, 279, 1, 691, 285, 1, 615, 283, 1, 666, 281, 1, 618, 388, 1, 660, 385, 1, 619, 463, 1, 655, 464, 1, 651, 58, 1, 648, 105, 1], "image_id": 118936, "bbox": [571, 45, 131, 445], "category_id": 1, "id": 176748}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [594, 219, 1, 531, 230, 1, 644, 269, 1, 498, 286, 1, 599, 326, 1, 496, 228, 1, 581, 368, 1, 547, 367, 1, 514, 457, 1, 547, 495, 1, 498, 597, 1, 609, 592, 1, 556, 127, 1, 563, 199, 1], "image_id": 116764, "bbox": [471, 115, 189, 537], "category_id": 1, "id": 176769}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [790, 312, 1, 717, 211, 1, 711, 367, 1, 755, 352, 1, 625, 352, 1, 803, 454, 1, 641, 416, 1, 574, 335, 1, 668, 580, 1, 484, 353, 1, 573, 714, 1, 357, 358, 1, 785, 138, 1, 769, 227, 1], "image_id": 111153, "bbox": [289, 123, 558, 642], "category_id": 1, "id": 176775}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [352, 194, 1, 318, 198, 1, 364, 206, 1, 317, 228, 1, 359, 208, 1, 335, 234, 1, 352, 243, 1, 331, 245, 1, 362, 283, 1, 332, 283, 1, 366, 317, 1, 330, 319, 1, 332, 161, 1, 335, 186, 1], "image_id": 110613, "bbox": [307, 154, 68, 162], "category_id": 1, "id": 176811}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 224, 1, 230, 217, 1, 335, 308, 1, 279, 284, 1, 282, 299, 1, 335, 294, 1, 286, 368, 1, 265, 378, 1, 264, 502, 1, 372, 410, 1, 256, 601, 1, 294, 485, 1, 262, 115, 1, 257, 196, 1], "image_id": 112018, "bbox": [204, 93, 206, 603], "category_id": 1, "id": 176813}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [200, 153, 1, 173, 155, 1, 214, 187, 1, 192, 211, 1, 248, 165, 1, 212, 253, 1, 157, 282, 1, 175, 279, 1, 198, 330, 1, 213, 325, 1, 173, 398, 1, 228, 406, 1, 191, 53, 1, 182, 129, 1], "image_id": 119503, "bbox": [127, 27, 157, 420], "category_id": 1, "id": 176823}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [561, 372, 1, 404, 274, 1, 554, 514, 1, 354, 341, 1, 592, 537, 1, 301, 436, 1, 463, 550, 1, 352, 571, 1, 534, 692, 1, 313, 740, 1, 611, 833, 1, 313, 848, 1, 567, 220, 1, 496, 302, 1], "image_id": 110862, "bbox": [276, 199, 414, 746], "category_id": 1, "id": 176826}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [656, 179, 1, 686, 148, 1, 667, 300, 1, 712, 268, 1, 549, 279, 1, 667, 361, 1, 681, 395, 1, 708, 409, 1, 545, 466, 1, 573, 487, 1, 537, 699, 1, 583, 681, 1, 629, 25, 1, 643, 133, 1], "image_id": 118181, "bbox": [420, 8, 368, 742], "category_id": 1, "id": 176829}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [248, 298, 1, 164, 268, 1, 250, 432, 1, 93, 397, 1, 343, 426, 1, 106, 353, 1, 274, 547, 1, 220, 536, 1, 271, 740, 1, 331, 688, 1, 136, 852, 1, 324, 873, 1, 219, 132, 1, 207, 240, 1], "image_id": 110862, "bbox": [62, 117, 357, 846], "category_id": 1, "id": 176858}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [579, 106, 1, 501, 102, 1, 587, 166, 1, 474, 156, 1, 606, 215, 1, 471, 216, 1, 567, 230, 1, 523, 231, 1, 581, 332, 1, 522, 327, 1, 580, 417, 1, 520, 414, 1, 544, 27, 1, 544, 81, 1], "image_id": 112303, "bbox": [483, 8, 140, 459], "category_id": 1, "id": 176875}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 849, 89, 1, 0, 0, 0, 828, 168, 1, 0, 0, 0, 902, 200, 1, 0, 0, 0, 905, 359, 1, 0, 0, 0, 908, 477, 1, 0, 0, 0, 0, 0, 0], "image_id": 119487, "bbox": [804, 2, 134, 543], "category_id": 1, "id": 176886}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 222, 1, 159, 220, 1, 349, 283, 1, 82, 284, 1, 414, 259, 1, 45, 285, 1, 261, 431, 1, 195, 430, 1, 336, 551, 1, 178, 548, 1, 284, 623, 1, 161, 687, 1, 211, 106, 1, 202, 200, 1], "image_id": 112366, "bbox": [2, 84, 477, 650], "category_id": 1, "id": 176889}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [566, 247, 1, 433, 169, 1, 618, 338, 1, 260, 259, 1, 688, 378, 1, 287, 426, 1, 165, 397, 1, 157, 285, 1, 108, 572, 1, 230, 379, 1, 0, 0, 0, 101, 595, 1, 603, 100, 1, 499, 179, 1], "image_id": 111923, "bbox": [2, 46, 758, 562], "category_id": 1, "id": 176900}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [263, 135, 1, 211, 128, 1, 267, 178, 1, 197, 166, 1, 274, 212, 1, 195, 204, 1, 261, 199, 1, 233, 198, 1, 274, 255, 1, 226, 255, 1, 283, 310, 1, 219, 298, 1, 239, 69, 1, 234, 124, 1], "image_id": 113597, "bbox": [178, 55, 116, 273], "category_id": 1, "id": 176912}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [575, 418, 1, 357, 423, 1, 633, 557, 1, 304, 584, 1, 728, 578, 1, 401, 605, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 490, 226, 1, 469, 381, 1], "image_id": 116468, "bbox": [280, 199, 550, 423], "category_id": 1, "id": 176923}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [157, 85, 1, 133, 85, 1, 163, 102, 1, 117, 101, 1, 175, 109, 1, 121, 122, 1, 149, 129, 1, 138, 130, 1, 162, 154, 1, 135, 161, 1, 159, 188, 1, 130, 193, 1, 146, 61, 1, 146, 80, 1], "image_id": 117457, "bbox": [113, 60, 71, 148], "category_id": 1, "id": 176925}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [413, 199, 1, 303, 179, 1, 478, 243, 1, 252, 219, 1, 518, 266, 1, 186, 250, 1, 369, 363, 1, 314, 362, 1, 333, 479, 1, 319, 478, 1, 355, 558, 1, 397, 515, 1, 352, 99, 1, 356, 169, 1], "image_id": 119426, "bbox": [129, 73, 442, 519], "category_id": 1, "id": 176926}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [751, 182, 1, 629, 151, 1, 808, 255, 1, 549, 218, 1, 786, 204, 1, 558, 174, 1, 700, 349, 1, 625, 353, 1, 706, 482, 1, 632, 508, 1, 717, 624, 1, 669, 560, 1, 712, 57, 1, 699, 143, 1], "image_id": 115645, "bbox": [535, 25, 290, 635], "category_id": 1, "id": 176938}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 263, 1, 234, 284, 1, 444, 417, 1, 239, 391, 1, 372, 485, 1, 226, 439, 1, 356, 542, 1, 281, 539, 1, 327, 723, 1, 297, 709, 1, 394, 775, 1, 332, 831, 1, 274, 84, 1, 309, 224, 1], "image_id": 116081, "bbox": [187, 53, 286, 866], "category_id": 1, "id": 176944}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [494, 392, 1, 400, 394, 1, 499, 464, 1, 394, 467, 1, 467, 505, 1, 428, 498, 1, 491, 502, 1, 421, 497, 1, 511, 505, 1, 385, 508, 1, 517, 605, 1, 356, 583, 1, 437, 323, 1, 444, 384, 1], "image_id": 112259, "bbox": [317, 303, 218, 327], "category_id": 1, "id": 176946}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [665, 342, 1, 510, 351, 1, 720, 479, 1, 468, 419, 1, 725, 585, 1, 532, 475, 1, 662, 513, 1, 567, 513, 1, 688, 668, 1, 565, 683, 1, 707, 801, 1, 563, 820, 1, 566, 226, 1, 583, 315, 1], "image_id": 110017, "bbox": [420, 175, 400, 747], "category_id": 1, "id": 176948}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [306, 298, 1, 451, 302, 1, 264, 411, 1, 541, 304, 1, 254, 507, 1, 541, 203, 1, 313, 552, 1, 381, 555, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 171, 1, 392, 266, 1], "image_id": 115235, "bbox": [237, 120, 352, 534], "category_id": 1, "id": 176951}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 209, 1, 237, 200, 1, 415, 220, 1, 183, 185, 1, 476, 233, 1, 118, 177, 1, 321, 349, 1, 265, 354, 1, 300, 443, 1, 227, 458, 1, 266, 550, 1, 303, 427, 1, 264, 144, 1, 281, 193, 1], "image_id": 112209, "bbox": [68, 125, 477, 457], "category_id": 1, "id": 176953}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 143, 1, 519, 155, 1, 685, 231, 1, 523, 197, 1, 642, 252, 1, 495, 262, 1, 628, 348, 1, 560, 336, 1, 614, 490, 1, 520, 436, 1, 612, 582, 1, 490, 560, 1, 557, 72, 1, 565, 143, 1], "image_id": 110867, "bbox": [438, 50, 268, 582], "category_id": 1, "id": 176954}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 458, 1, 345, 390, 1, 494, 560, 1, 284, 516, 1, 476, 595, 1, 335, 558, 1, 438, 624, 1, 325, 620, 1, 534, 685, 1, 201, 780, 1, 478, 911, 1, 74, 910, 1, 530, 312, 1, 449, 393, 1], "image_id": 119660, "bbox": [3, 280, 588, 709], "category_id": 1, "id": 176965}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [540, 373, 1, 519, 335, 1, 478, 454, 1, 382, 338, 1, 554, 468, 1, 291, 387, 1, 362, 529, 1, 398, 522, 1, 416, 758, 1, 485, 660, 1, 269, 796, 1, 405, 755, 1, 636, 258, 1, 556, 329, 1], "image_id": 109935, "bbox": [189, 215, 504, 663], "category_id": 1, "id": 176977}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [386, 249, 1, 458, 283, 1, 354, 283, 1, 456, 318, 1, 328, 256, 1, 435, 324, 1, 383, 365, 1, 427, 367, 1, 350, 404, 1, 420, 395, 1, 380, 460, 1, 425, 427, 1, 441, 180, 1, 426, 238, 1], "image_id": 116877, "bbox": [297, 134, 187, 387], "category_id": 1, "id": 176983}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [621, 303, 1, 339, 291, 1, 592, 501, 1, 334, 492, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 468, 38, 1, 475, 257, 1], "image_id": 116931, "bbox": [283, 5, 396, 521], "category_id": 1, "id": 176988}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [663, 279, 1, 483, 319, 1, 720, 403, 1, 475, 426, 1, 697, 504, 1, 429, 483, 1, 668, 577, 1, 568, 585, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 147, 1, 567, 263, 1], "image_id": 110572, "bbox": [449, 118, 306, 480], "category_id": 1, "id": 176993}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [292, 210, 1, 242, 221, 1, 334, 296, 1, 280, 300, 1, 330, 360, 1, 312, 357, 1, 366, 346, 1, 332, 348, 1, 377, 447, 1, 286, 444, 1, 403, 575, 1, 264, 560, 1, 177, 188, 1, 247, 204, 1], "image_id": 117716, "bbox": [149, 147, 287, 471], "category_id": 1, "id": 176996}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [446, 249, 1, 402, 247, 1, 435, 352, 1, 394, 395, 1, 346, 423, 1, 350, 527, 1, 432, 488, 1, 401, 491, 1, 426, 665, 1, 386, 662, 1, 422, 835, 1, 392, 851, 1, 401, 92, 1, 419, 211, 1], "image_id": 117014, "bbox": [284, 68, 205, 863], "category_id": 1, "id": 177004}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [522, 67, 1, 369, 160, 1, 637, 121, 1, 320, 226, 1, 537, 160, 1, 252, 320, 1, 603, 195, 1, 517, 227, 1, 531, 274, 1, 448, 320, 1, 630, 434, 1, 497, 409, 1, 405, 42, 1, 245, 413, 1], "image_id": 113454, "bbox": [207, 4, 461, 482], "category_id": 1, "id": 177023}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [586, 228, 1, 508, 235, 1, 0, 0, 0, 493, 311, 1, 586, 420, 1, 474, 362, 1, 0, 0, 0, 566, 382, 1, 0, 0, 0, 558, 520, 1, 0, 0, 0, 558, 628, 1, 531, 113, 1, 547, 210, 1], "image_id": 118064, "bbox": [434, 85, 165, 418], "category_id": 1, "id": 177038}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [173, 222, 1, 96, 229, 1, 202, 306, 1, 65, 313, 1, 263, 330, 1, 50, 362, 1, 175, 424, 1, 132, 431, 1, 176, 566, 1, 144, 564, 1, 169, 667, 1, 123, 685, 1, 134, 118, 1, 144, 207, 1], "image_id": 111446, "bbox": [7, 93, 209, 662], "category_id": 1, "id": 177050}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [296, 98, 1, 276, 152, 1, 346, 131, 1, 310, 260, 1, 418, 155, 1, 373, 226, 1, 222, 325, 1, 176, 325, 1, 278, 454, 1, 183, 468, 1, 266, 623, 1, 82, 622, 1, 368, 47, 1, 305, 105, 1], "image_id": 113144, "bbox": [37, 7, 403, 670], "category_id": 1, "id": 177058}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [854, 262, 1, 742, 262, 1, 854, 333, 1, 708, 313, 1, 830, 362, 1, 720, 335, 1, 806, 424, 1, 758, 416, 1, 802, 524, 1, 732, 511, 1, 796, 612, 1, 737, 609, 1, 789, 152, 1, 797, 232, 1], "image_id": 114544, "bbox": [679, 133, 196, 524], "category_id": 1, "id": 177061}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [438, 155, 1, 343, 126, 1, 515, 222, 1, 260, 185, 1, 555, 274, 1, 310, 236, 1, 340, 311, 1, 328, 312, 1, 260, 453, 1, 400, 389, 1, 117, 475, 1, 380, 521, 1, 490, 70, 1, 445, 136, 1], "image_id": 119773, "bbox": [45, 35, 545, 550], "category_id": 1, "id": 177063}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [577, 245, 1, 529, 241, 1, 582, 289, 1, 523, 290, 1, 587, 324, 1, 518, 331, 1, 561, 326, 1, 533, 329, 1, 568, 379, 1, 534, 383, 1, 569, 431, 1, 535, 423, 1, 554, 187, 1, 552, 230, 1], "image_id": 115143, "bbox": [529, 178, 68, 282], "category_id": 1, "id": 177064}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [347, 207, 1, 276, 233, 1, 435, 193, 1, 370, 169, 1, 432, 79, 1, 402, 95, 1, 393, 470, 1, 328, 468, 1, 397, 649, 1, 294, 628, 1, 386, 797, 1, 200, 728, 1, 233, 132, 1, 278, 205, 1], "image_id": 110737, "bbox": [167, 44, 296, 805], "category_id": 1, "id": 177065}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [232, 572, 1, 133, 562, 1, 271, 601, 1, 73, 591, 1, 306, 577, 1, 104, 578, 1, 179, 734, 1, 135, 729, 1, 178, 804, 1, 139, 793, 1, 173, 881, 1, 129, 870, 1, 191, 478, 1, 180, 555, 1], "image_id": 110524, "bbox": [55, 428, 285, 513], "category_id": 1, "id": 177071}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [243, 244, 1, 121, 306, 1, 292, 319, 1, 149, 411, 1, 319, 366, 1, 223, 454, 1, 287, 389, 1, 214, 419, 1, 379, 470, 1, 239, 532, 1, 436, 603, 1, 0, 0, 0, 150, 142, 1, 165, 244, 1], "image_id": 118842, "bbox": [83, 123, 404, 509], "category_id": 1, "id": 177079}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [247, 182, 1, 87, 220, 1, 272, 303, 1, 111, 338, 1, 259, 352, 1, 197, 376, 1, 247, 434, 1, 170, 447, 1, 259, 580, 1, 186, 582, 1, 0, 0, 0, 0, 0, 0, 139, 70, 1, 164, 174, 1], "image_id": 116960, "bbox": [53, 39, 245, 423], "category_id": 1, "id": 177084}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 300, 1, 278, 312, 1, 407, 434, 1, 283, 425, 1, 427, 538, 1, 271, 539, 1, 371, 554, 1, 342, 553, 1, 329, 682, 1, 465, 643, 1, 278, 875, 1, 419, 791, 1, 336, 150, 1, 336, 270, 1], "image_id": 113253, "bbox": [238, 122, 263, 830], "category_id": 1, "id": 177094}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [400, 478, 1, 295, 477, 1, 396, 551, 1, 269, 566, 1, 342, 585, 1, 269, 513, 1, 366, 580, 1, 305, 580, 1, 357, 647, 1, 294, 641, 1, 0, 0, 0, 0, 0, 0, 331, 368, 1, 340, 456, 1], "image_id": 117785, "bbox": [234, 344, 179, 320], "category_id": 1, "id": 177110}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [517, 222, 1, 430, 237, 1, 461, 293, 1, 409, 316, 1, 387, 355, 1, 368, 366, 1, 491, 395, 1, 444, 394, 1, 378, 387, 1, 355, 418, 1, 486, 488, 1, 372, 527, 1, 465, 125, 1, 472, 207, 1], "image_id": 115789, "bbox": [317, 107, 230, 475], "category_id": 1, "id": 177129}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [257, 246, 1, 141, 244, 1, 267, 342, 1, 126, 337, 1, 282, 416, 1, 128, 412, 1, 235, 428, 1, 175, 428, 1, 220, 552, 1, 170, 546, 1, 210, 650, 1, 166, 650, 1, 216, 140, 1, 200, 219, 1], "image_id": 115116, "bbox": [103, 122, 191, 553], "category_id": 1, "id": 177130}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [319, 142, 1, 199, 128, 1, 284, 269, 1, 123, 233, 1, 303, 361, 1, 196, 310, 1, 241, 420, 1, 178, 420, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 55, 1, 267, 111, 1], "image_id": 115712, "bbox": [92, 11, 318, 424], "category_id": 1, "id": 177131}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [317, 228, 1, 188, 275, 1, 402, 295, 1, 239, 384, 1, 496, 330, 1, 336, 367, 1, 291, 480, 1, 167, 480, 1, 425, 628, 1, 160, 614, 1, 378, 808, 1, 47, 806, 1, 262, 79, 1, 262, 216, 1], "image_id": 112339, "bbox": [2, 64, 481, 840], "category_id": 1, "id": 177141}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [349, 425, 1, 467, 460, 1, 307, 318, 1, 478, 402, 1, 257, 195, 1, 437, 350, 1, 394, 545, 1, 455, 551, 1, 424, 494, 1, 480, 595, 1, 436, 553, 1, 496, 648, 1, 434, 233, 1, 430, 310, 1], "image_id": 110659, "bbox": [194, 76, 332, 587], "category_id": 1, "id": 177145}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [299, 318, 1, 195, 309, 1, 324, 394, 1, 162, 381, 1, 299, 409, 1, 164, 460, 1, 280, 466, 1, 202, 469, 1, 336, 556, 1, 159, 558, 1, 340, 671, 1, 161, 667, 1, 224, 217, 1, 244, 295, 1], "image_id": 111847, "bbox": [118, 194, 264, 522], "category_id": 1, "id": 177151}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [272, 211, 1, 66, 260, 1, 299, 382, 1, 54, 409, 1, 226, 260, 1, 108, 456, 1, 238, 470, 1, 108, 466, 1, 220, 509, 1, 88, 535, 1, 0, 0, 0, 0, 0, 0, 123, 112, 1, 152, 214, 1], "image_id": 116898, "bbox": [17, 73, 313, 436], "category_id": 1, "id": 177166}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [548, 357, 1, 430, 377, 1, 505, 444, 1, 444, 446, 1, 564, 422, 1, 505, 431, 1, 446, 403, 1, 386, 405, 1, 377, 392, 1, 315, 376, 1, 308, 364, 1, 266, 354, 1, 492, 249, 1, 495, 346, 1], "image_id": 115750, "bbox": [292, 214, 279, 183], "category_id": 1, "id": 177170}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [157, 152, 1, 112, 131, 1, 161, 266, 1, 75, 182, 1, 201, 355, 1, 123, 73, 1, 164, 380, 1, 155, 383, 1, 175, 530, 1, 211, 529, 1, 150, 694, 1, 193, 728, 1, 190, 35, 1, 147, 117, 1], "image_id": 114776, "bbox": [46, 10, 237, 757], "category_id": 1, "id": 177175}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [260, 164, 1, 183, 157, 1, 330, 206, 1, 198, 223, 1, 299, 146, 1, 262, 233, 1, 267, 274, 1, 204, 294, 1, 339, 313, 1, 290, 328, 1, 377, 394, 1, 326, 408, 1, 243, 50, 1, 225, 135, 1], "image_id": 116931, "bbox": [147, 29, 206, 230], "category_id": 1, "id": 177181}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 100, 1, 262, 103, 1, 321, 137, 1, 271, 146, 1, 317, 173, 1, 280, 184, 1, 296, 123, 1, 267, 126, 1, 301, 142, 1, 274, 146, 1, 290, 153, 1, 260, 158, 1, 295, 31, 1, 290, 89, 1], "image_id": 117100, "bbox": [270, 19, 73, 189], "category_id": 1, "id": 177199}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 208, 1, 144, 228, 1, 237, 198, 1, 111, 302, 1, 232, 237, 1, 121, 371, 1, 184, 314, 1, 135, 325, 1, 246, 301, 1, 120, 443, 1, 241, 397, 1, 58, 402, 1, 188, 164, 1, 183, 216, 1], "image_id": 113981, "bbox": [3, 150, 288, 311], "category_id": 1, "id": 177237}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [301, 248, 1, 127, 254, 1, 371, 314, 1, 96, 397, 1, 452, 326, 1, 88, 511, 1, 225, 515, 1, 130, 513, 1, 233, 663, 1, 147, 658, 1, 0, 0, 0, 174, 793, 1, 191, 90, 1, 207, 223, 1], "image_id": 109484, "bbox": [54, 75, 435, 747], "category_id": 1, "id": 177265}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 318, 1, 372, 310, 1, 480, 412, 1, 305, 250, 1, 397, 410, 1, 261, 170, 1, 470, 478, 1, 397, 477, 1, 485, 521, 1, 425, 500, 1, 489, 532, 1, 358, 470, 1, 433, 234, 1, 430, 309, 1], "image_id": 110659, "bbox": [200, 81, 322, 498], "category_id": 1, "id": 177278}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [293, 222, 1, 315, 223, 1, 302, 243, 1, 322, 239, 1, 314, 231, 1, 333, 237, 1, 304, 264, 1, 315, 263, 1, 315, 283, 1, 330, 280, 1, 306, 305, 1, 317, 303, 1, 304, 199, 1, 305, 215, 1], "image_id": 113412, "bbox": [283, 194, 54, 122], "category_id": 1, "id": 177297}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [684, 158, 1, 484, 210, 1, 705, 350, 1, 406, 176, 1, 716, 494, 1, 325, 193, 1, 651, 476, 1, 539, 476, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 74, 1, 548, 157, 1], "image_id": 113108, "bbox": [275, 21, 522, 581], "category_id": 1, "id": 177320}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [499, 183, 1, 443, 185, 1, 482, 271, 1, 422, 253, 1, 428, 284, 1, 406, 273, 1, 469, 295, 1, 420, 285, 1, 387, 319, 1, 359, 305, 1, 379, 406, 1, 354, 394, 1, 462, 98, 1, 472, 167, 1], "image_id": 118051, "bbox": [337, 84, 187, 317], "category_id": 1, "id": 177330}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [463, 192, 1, 344, 170, 1, 526, 207, 1, 274, 186, 1, 606, 197, 1, 204, 197, 1, 359, 343, 1, 305, 309, 1, 304, 435, 1, 259, 370, 1, 255, 536, 1, 316, 338, 1, 388, 88, 1, 402, 159, 1], "image_id": 115132, "bbox": [155, 72, 500, 507], "category_id": 1, "id": 177362}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [336, 185, 1, 410, 191, 1, 338, 294, 1, 429, 283, 1, 291, 253, 1, 352, 266, 1, 348, 371, 1, 375, 372, 1, 364, 521, 1, 329, 509, 1, 475, 654, 1, 300, 674, 1, 348, 54, 1, 358, 144, 1], "image_id": 116598, "bbox": [248, 41, 273, 678], "category_id": 1, "id": 177375}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [566, 385, 1, 434, 391, 1, 518, 279, 1, 432, 263, 1, 442, 167, 1, 432, 155, 1, 577, 683, 1, 473, 684, 1, 585, 897, 1, 451, 901, 1, 0, 0, 0, 0, 0, 0, 485, 277, 1, 491, 371, 1], "image_id": 111621, "bbox": [360, 55, 282, 944], "category_id": 1, "id": 177383}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [595, 147, 1, 479, 163, 1, 662, 232, 1, 479, 240, 1, 620, 224, 1, 417, 241, 1, 606, 342, 1, 537, 342, 1, 624, 476, 1, 520, 464, 1, 670, 489, 1, 549, 625, 1, 510, 41, 1, 528, 129, 1], "image_id": 112509, "bbox": [372, 20, 326, 649], "category_id": 1, "id": 177384}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [205, 190, 1, 145, 210, 1, 250, 211, 1, 144, 287, 1, 309, 200, 1, 198, 317, 1, 209, 358, 1, 197, 363, 1, 271, 425, 1, 259, 428, 1, 283, 543, 1, 271, 533, 1, 184, 91, 1, 172, 182, 1], "image_id": 109136, "bbox": [117, 75, 227, 530], "category_id": 1, "id": 177386}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [219, 179, 1, 189, 182, 1, 231, 197, 1, 172, 205, 1, 241, 206, 1, 156, 222, 1, 211, 226, 1, 189, 227, 1, 218, 262, 1, 186, 260, 1, 228, 296, 1, 178, 296, 1, 192, 154, 1, 203, 176, 1], "image_id": 118286, "bbox": [137, 148, 121, 174], "category_id": 1, "id": 177400}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [395, 258, 1, 235, 273, 1, 410, 364, 1, 248, 407, 1, 390, 436, 1, 351, 469, 1, 376, 569, 1, 283, 577, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 135, 1, 320, 238, 1], "image_id": 111130, "bbox": [191, 106, 256, 539], "category_id": 1, "id": 177402}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [497, 199, 1, 423, 199, 1, 498, 253, 1, 388, 254, 1, 500, 287, 1, 431, 277, 1, 485, 332, 1, 441, 334, 1, 475, 417, 1, 432, 419, 1, 463, 500, 1, 423, 465, 1, 470, 119, 1, 461, 184, 1], "image_id": 111090, "bbox": [365, 103, 152, 417], "category_id": 1, "id": 177411}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [345, 292, 1, 166, 289, 1, 357, 449, 1, 152, 445, 1, 364, 555, 1, 147, 542, 1, 317, 562, 1, 211, 564, 1, 317, 764, 1, 194, 757, 1, 323, 907, 1, 196, 917, 1, 290, 96, 1, 259, 221, 1], "image_id": 117246, "bbox": [118, 65, 276, 915], "category_id": 1, "id": 177428}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [432, 286, 1, 395, 309, 1, 392, 408, 1, 329, 390, 1, 316, 378, 1, 292, 368, 1, 476, 501, 1, 456, 503, 1, 334, 453, 1, 432, 665, 1, 0, 0, 0, 0, 0, 0, 317, 198, 1, 394, 270, 1], "image_id": 117175, "bbox": [249, 101, 343, 588], "category_id": 1, "id": 177429}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [187, 114, 1, 79, 120, 1, 233, 164, 1, 57, 179, 1, 263, 225, 1, 36, 216, 1, 155, 261, 1, 116, 265, 1, 122, 349, 1, 150, 372, 1, 103, 466, 1, 230, 338, 1, 117, 32, 1, 124, 93, 1], "image_id": 111950, "bbox": [9, 8, 283, 489], "category_id": 1, "id": 177438}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 221, 1, 126, 216, 1, 216, 274, 1, 119, 272, 1, 214, 324, 1, 117, 324, 1, 181, 339, 1, 140, 339, 1, 190, 420, 1, 146, 420, 1, 188, 485, 1, 155, 488, 1, 166, 138, 1, 166, 194, 1], "image_id": 114428, "bbox": [97, 128, 125, 388], "category_id": 1, "id": 177444}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [523, 218, 1, 353, 201, 1, 511, 342, 1, 390, 329, 1, 560, 445, 1, 506, 395, 1, 446, 452, 1, 310, 452, 1, 450, 404, 1, 379, 415, 1, 0, 0, 0, 0, 0, 0, 470, 17, 1, 446, 157, 1], "image_id": 111855, "bbox": [261, 2, 305, 619], "category_id": 1, "id": 177447}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 212, 1, 281, 228, 1, 471, 260, 1, 307, 364, 1, 567, 338, 1, 393, 434, 1, 379, 466, 1, 271, 466, 1, 432, 525, 1, 139, 612, 1, 521, 666, 1, 78, 752, 1, 358, 81, 1, 347, 188, 1], "image_id": 109935, "bbox": [1, 35, 636, 822], "category_id": 1, "id": 177448}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 150, 1, 136, 144, 1, 356, 264, 1, 70, 234, 1, 301, 309, 1, 96, 249, 1, 312, 324, 1, 219, 335, 1, 356, 435, 1, 241, 506, 1, 485, 510, 1, 308, 439, 1, 209, 44, 1, 225, 132, 1], "image_id": 117480, "bbox": [55, 16, 424, 511], "category_id": 1, "id": 177455}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [134, 136, 1, 103, 138, 1, 150, 151, 1, 100, 161, 1, 140, 164, 1, 99, 181, 1, 123, 191, 1, 109, 191, 1, 127, 229, 1, 109, 229, 1, 128, 260, 1, 111, 260, 1, 114, 104, 1, 115, 127, 1], "image_id": 115251, "bbox": [104, 91, 51, 181], "category_id": 1, "id": 177467}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [448, 200, 1, 433, 200, 1, 460, 237, 1, 418, 250, 1, 485, 257, 1, 445, 257, 1, 430, 241, 1, 416, 247, 1, 460, 232, 1, 460, 234, 1, 427, 260, 1, 424, 270, 1, 461, 155, 1, 444, 188, 1], "image_id": 115753, "bbox": [396, 140, 108, 132], "category_id": 1, "id": 177477}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 622, 64, 1, 925, 67, 1, 711, 92, 1, 827, 82, 1, 743, 295, 1, 860, 335, 1, 752, 555, 1, 833, 504, 1, 0, 0, 0, 0, 0, 0], "image_id": 117525, "bbox": [589, 0, 383, 607], "category_id": 1, "id": 177481}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [570, 366, 1, 482, 362, 1, 607, 461, 1, 507, 470, 1, 588, 516, 1, 572, 491, 1, 532, 547, 1, 521, 545, 1, 499, 681, 1, 509, 682, 1, 502, 817, 1, 507, 809, 1, 510, 241, 1, 510, 330, 1], "image_id": 116041, "bbox": [436, 226, 194, 659], "category_id": 1, "id": 177507}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [467, 233, 1, 315, 214, 1, 476, 367, 1, 263, 322, 1, 488, 468, 1, 289, 313, 1, 431, 462, 1, 355, 461, 1, 420, 632, 1, 366, 624, 1, 405, 779, 1, 353, 719, 1, 396, 80, 1, 390, 196, 1], "image_id": 111914, "bbox": [283, 62, 221, 787], "category_id": 1, "id": 177567}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [648, 584, 1, 779, 596, 1, 582, 559, 1, 720, 538, 1, 653, 484, 1, 690, 468, 1, 588, 547, 1, 655, 518, 1, 530, 480, 1, 617, 456, 1, 518, 569, 1, 620, 553, 1, 781, 558, 1, 714, 580, 1], "image_id": 116906, "bbox": [521, 438, 287, 185], "category_id": 1, "id": 177570}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [351, 356, 1, 237, 364, 1, 378, 432, 1, 227, 452, 1, 364, 497, 1, 230, 519, 1, 355, 535, 1, 281, 536, 1, 365, 642, 1, 288, 650, 1, 358, 748, 1, 297, 749, 1, 299, 236, 1, 322, 326, 1], "image_id": 113434, "bbox": [187, 218, 257, 596], "category_id": 1, "id": 177573}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [379, 199, 1, 226, 180, 1, 406, 343, 1, 159, 318, 1, 407, 457, 1, 191, 320, 1, 304, 452, 1, 222, 451, 1, 292, 613, 1, 250, 634, 1, 304, 794, 1, 259, 792, 1, 297, 42, 1, 303, 148, 1], "image_id": 119503, "bbox": [130, 19, 318, 857], "category_id": 1, "id": 177584}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [409, 302, 1, 166, 334, 1, 475, 461, 1, 190, 593, 1, 500, 597, 1, 413, 566, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 308, 28, 1, 283, 239, 1], "image_id": 114234, "bbox": [98, 2, 442, 630], "category_id": 1, "id": 177589}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [438, 332, 1, 462, 308, 1, 420, 413, 1, 392, 357, 1, 331, 422, 1, 332, 359, 1, 454, 511, 1, 473, 511, 1, 470, 640, 1, 480, 633, 1, 0, 0, 0, 509, 702, 1, 386, 220, 1, 429, 290, 1], "image_id": 109900, "bbox": [288, 193, 259, 608], "category_id": 1, "id": 177594}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [526, 261, 1, 430, 261, 1, 491, 380, 1, 361, 309, 1, 423, 424, 1, 400, 239, 1, 470, 480, 1, 462, 483, 1, 417, 640, 1, 554, 643, 1, 0, 0, 0, 0, 0, 0, 453, 117, 1, 472, 228, 1], "image_id": 113203, "bbox": [333, 106, 268, 560], "category_id": 1, "id": 177596}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [638, 301, 1, 565, 308, 1, 642, 365, 1, 569, 348, 1, 567, 384, 1, 563, 384, 1, 637, 430, 1, 581, 421, 1, 592, 407, 1, 532, 390, 1, 488, 482, 1, 436, 463, 1, 539, 228, 1, 591, 282, 1], "image_id": 119246, "bbox": [347, 200, 344, 321], "category_id": 1, "id": 177616}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [109, 336, 1, 76, 319, 1, 190, 398, 1, 142, 207, 1, 290, 425, 1, 228, 152, 1, 28, 534, 1, 0, 0, 0, 168, 662, 1, 99, 685, 1, 168, 843, 1, 0, 0, 0, 136, 233, 1, 108, 311, 1], "image_id": 115715, "bbox": [0, 63, 356, 836], "category_id": 1, "id": 177623}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [319, 395, 1, 169, 309, 1, 312, 506, 1, 142, 229, 1, 323, 575, 1, 128, 143, 1, 242, 609, 1, 162, 589, 1, 239, 756, 1, 160, 744, 1, 239, 900, 1, 151, 902, 1, 270, 215, 1, 251, 321, 1], "image_id": 112404, "bbox": [100, 52, 272, 893], "category_id": 1, "id": 177627}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [528, 143, 1, 494, 144, 1, 527, 174, 1, 490, 169, 1, 520, 192, 1, 474, 177, 1, 515, 195, 1, 498, 192, 1, 501, 223, 1, 484, 218, 1, 502, 251, 1, 483, 246, 1, 507, 103, 1, 510, 134, 1], "image_id": 112795, "bbox": [458, 80, 82, 182], "category_id": 1, "id": 177629}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [452, 193, 1, 574, 189, 1, 440, 284, 1, 590, 296, 1, 432, 375, 1, 587, 393, 1, 484, 412, 1, 555, 411, 1, 480, 530, 1, 558, 530, 1, 482, 662, 1, 556, 643, 1, 474, 65, 1, 500, 138, 1], "image_id": 118936, "bbox": [403, 50, 216, 630], "category_id": 1, "id": 177636}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [313, 288, 1, 117, 218, 1, 324, 405, 1, 70, 385, 1, 366, 446, 1, 47, 524, 1, 209, 558, 1, 113, 557, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 125, 1, 220, 223, 1], "image_id": 110428, "bbox": [20, 99, 363, 651], "category_id": 1, "id": 177637}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [943, 460, 1, 826, 462, 1, 949, 535, 1, 822, 530, 1, 919, 545, 1, 847, 544, 1, 914, 560, 1, 852, 560, 1, 0, 0, 0, 785, 557, 1, 941, 587, 1, 838, 579, 1, 886, 330, 1, 884, 442, 1], "image_id": 115748, "bbox": [763, 315, 196, 283], "category_id": 1, "id": 177652}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [561, 168, 1, 468, 160, 1, 611, 209, 1, 376, 214, 1, 652, 222, 1, 382, 230, 1, 540, 340, 1, 481, 350, 1, 571, 447, 1, 477, 437, 1, 567, 593, 1, 496, 481, 1, 522, 82, 1, 518, 149, 1], "image_id": 117196, "bbox": [359, 61, 331, 560], "category_id": 1, "id": 177656}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 250, 1, 164, 275, 1, 384, 368, 1, 171, 415, 1, 376, 481, 1, 107, 365, 1, 273, 538, 1, 196, 540, 1, 275, 715, 1, 211, 717, 1, 286, 902, 1, 235, 898, 1, 207, 103, 1, 226, 227, 1], "image_id": 109725, "bbox": [42, 80, 337, 911], "category_id": 1, "id": 177669}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 30, 1, 254, 13, 1, 363, 166, 1, 208, 172, 1, 427, 314, 1, 299, 286, 1, 325, 313, 1, 249, 322, 1, 392, 461, 1, 316, 515, 1, 339, 717, 1, 331, 738, 1, 128, 214, 1, 213, 283, 1], "image_id": 117189, "bbox": [163, 1, 298, 820], "category_id": 1, "id": 177670}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [382, 124, 1, 339, 138, 1, 401, 140, 1, 360, 208, 1, 338, 93, 1, 313, 217, 1, 353, 341, 1, 378, 342, 1, 269, 438, 1, 342, 428, 1, 209, 562, 1, 504, 422, 1, 319, 23, 1, 340, 100, 1], "image_id": 113363, "bbox": [122, 1, 459, 595], "category_id": 1, "id": 177672}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [722, 144, 1, 673, 145, 1, 730, 174, 1, 656, 167, 1, 719, 191, 1, 659, 194, 1, 701, 204, 1, 678, 197, 1, 674, 247, 1, 692, 228, 1, 649, 279, 1, 690, 278, 1, 700, 106, 1, 699, 134, 1], "image_id": 116660, "bbox": [633, 100, 109, 210], "category_id": 1, "id": 177688}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [296, 110, 1, 232, 116, 1, 291, 169, 1, 231, 206, 1, 324, 211, 1, 252, 265, 1, 290, 278, 1, 256, 279, 1, 278, 380, 1, 249, 371, 1, 269, 463, 1, 247, 454, 1, 305, 34, 1, 272, 92, 1], "image_id": 111090, "bbox": [196, 16, 137, 458], "category_id": 1, "id": 177693}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [82, 128, 1, 0, 0, 0, 101, 231, 1, 0, 0, 0, 84, 227, 1, 0, 0, 0, 22, 335, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 1, 9, 91, 1], "image_id": 109398, "bbox": [0, 2, 120, 500], "category_id": 1, "id": 177701}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [672, 207, 1, 565, 112, 1, 655, 295, 1, 495, 81, 1, 583, 318, 1, 399, 83, 1, 593, 313, 1, 524, 302, 1, 584, 427, 1, 421, 426, 1, 606, 582, 1, 342, 572, 1, 645, 72, 1, 628, 144, 1], "image_id": 116192, "bbox": [257, 38, 451, 593], "category_id": 1, "id": 177702}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [539, 294, 1, 384, 296, 1, 589, 397, 1, 409, 417, 1, 549, 442, 1, 348, 443, 1, 487, 545, 1, 412, 548, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 161, 1, 464, 264, 1], "image_id": 115235, "bbox": [413, 137, 191, 517], "category_id": 1, "id": 177703}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [905, 139, 1, 731, 119, 1, 892, 395, 1, 750, 290, 1, 721, 417, 1, 673, 352, 1, 823, 522, 1, 723, 481, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 806, 72, 1], "image_id": 115738, "bbox": [598, 1, 381, 664], "category_id": 1, "id": 177725}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [612, 265, 1, 501, 243, 1, 606, 375, 1, 454, 311, 1, 490, 407, 1, 451, 360, 1, 598, 469, 1, 539, 460, 1, 603, 593, 1, 546, 585, 1, 0, 0, 0, 0, 0, 0, 552, 153, 1, 560, 229, 1], "image_id": 116064, "bbox": [419, 111, 208, 374], "category_id": 1, "id": 177726}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [287, 231, 1, 209, 231, 1, 294, 291, 1, 204, 290, 1, 294, 349, 1, 202, 349, 1, 267, 340, 1, 230, 341, 1, 258, 422, 1, 233, 421, 1, 258, 489, 1, 240, 494, 1, 251, 158, 1, 246, 213, 1], "image_id": 114428, "bbox": [188, 149, 98, 367], "category_id": 1, "id": 177743}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [805, 153, 1, 670, 159, 1, 824, 217, 1, 650, 259, 1, 835, 233, 1, 659, 264, 1, 763, 337, 1, 682, 336, 1, 807, 445, 1, 646, 492, 1, 860, 609, 1, 596, 462, 1, 744, 48, 1, 744, 135, 1], "image_id": 118090, "bbox": [598, 23, 313, 629], "category_id": 1, "id": 177754}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [487, 411, 1, 628, 428, 1, 585, 535, 1, 668, 623, 1, 460, 648, 1, 547, 645, 1, 514, 774, 1, 613, 782, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 542, 209, 1, 542, 349, 1], "image_id": 117221, "bbox": [355, 176, 351, 700], "category_id": 1, "id": 177769}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 207, 1, 210, 211, 1, 348, 279, 1, 201, 336, 1, 332, 178, 1, 168, 422, 1, 303, 455, 1, 231, 453, 1, 297, 586, 1, 248, 636, 1, 285, 676, 1, 254, 777, 1, 279, 75, 1, 284, 188, 1], "image_id": 110429, "bbox": [144, 46, 242, 832], "category_id": 1, "id": 177772}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [276, 178, 1, 167, 173, 1, 340, 202, 1, 133, 191, 1, 322, 258, 1, 98, 228, 1, 250, 337, 1, 205, 300, 1, 224, 449, 1, 207, 391, 1, 148, 504, 1, 152, 463, 1, 205, 110, 1, 211, 164, 1], "image_id": 114760, "bbox": [74, 86, 286, 453], "category_id": 1, "id": 177779}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [604, 403, 1, 521, 354, 1, 525, 481, 1, 500, 443, 1, 447, 447, 1, 443, 410, 1, 598, 538, 1, 523, 518, 1, 511, 593, 1, 440, 576, 1, 589, 641, 1, 523, 628, 1, 542, 238, 1, 561, 345, 1], "image_id": 117475, "bbox": [369, 215, 291, 510], "category_id": 1, "id": 177788}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [565, 212, 1, 559, 208, 1, 537, 229, 1, 542, 213, 1, 525, 210, 1, 507, 211, 1, 553, 288, 1, 571, 289, 1, 549, 335, 1, 570, 335, 1, 550, 392, 1, 572, 393, 1, 572, 169, 1, 568, 200, 1], "image_id": 114473, "bbox": [498, 158, 120, 256], "category_id": 1, "id": 177798}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 333, 1, 494, 354, 1, 390, 447, 1, 592, 408, 1, 399, 546, 1, 555, 483, 1, 281, 399, 1, 340, 402, 1, 359, 462, 1, 345, 568, 1, 357, 586, 1, 198, 550, 1, 441, 288, 1, 432, 323, 1], "image_id": 119578, "bbox": [142, 271, 464, 334], "category_id": 1, "id": 177803}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [545, 212, 1, 565, 215, 1, 553, 237, 1, 584, 244, 1, 569, 238, 1, 609, 236, 1, 532, 280, 1, 548, 283, 1, 570, 246, 1, 583, 248, 1, 572, 280, 1, 585, 283, 1, 568, 183, 1, 560, 202, 1], "image_id": 118663, "bbox": [522, 175, 87, 124], "category_id": 1, "id": 177810}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [555, 249, 1, 395, 259, 1, 577, 366, 1, 357, 387, 1, 593, 458, 1, 362, 501, 1, 523, 501, 1, 437, 494, 1, 518, 668, 1, 426, 635, 1, 504, 793, 1, 445, 791, 1, 458, 123, 1, 470, 225, 1], "image_id": 113385, "bbox": [374, 105, 258, 761], "category_id": 1, "id": 177822}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [458, 174, 1, 410, 159, 1, 483, 272, 1, 363, 191, 1, 468, 330, 1, 294, 199, 1, 494, 380, 1, 424, 372, 1, 428, 529, 1, 353, 468, 1, 472, 619, 1, 410, 570, 1, 420, 51, 1, 438, 140, 1], "image_id": 112531, "bbox": [213, 28, 313, 653], "category_id": 1, "id": 177824}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 256, 1, 397, 275, 1, 333, 262, 1, 372, 332, 1, 333, 313, 1, 356, 295, 1, 377, 405, 1, 390, 405, 1, 375, 514, 1, 385, 508, 1, 385, 603, 1, 391, 598, 1, 387, 188, 1, 401, 245, 1], "image_id": 117351, "bbox": [341, 166, 104, 477], "category_id": 1, "id": 177826}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [227, 236, 1, 106, 238, 1, 260, 320, 1, 59, 319, 1, 203, 356, 1, 17, 366, 1, 172, 449, 1, 109, 443, 1, 177, 576, 1, 59, 562, 1, 186, 706, 1, 84, 677, 1, 139, 121, 1, 159, 208, 1], "image_id": 117603, "bbox": [0, 95, 285, 679], "category_id": 1, "id": 177843}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [149, 198, 1, 86, 204, 1, 168, 247, 1, 83, 236, 1, 134, 247, 1, 91, 243, 1, 152, 268, 1, 119, 261, 1, 99, 264, 1, 102, 292, 1, 59, 334, 1, 102, 355, 1, 96, 171, 1, 112, 193, 1], "image_id": 116113, "bbox": [18, 150, 159, 239], "category_id": 1, "id": 177854}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [684, 276, 1, 431, 249, 1, 707, 466, 1, 257, 356, 1, 616, 418, 1, 394, 334, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 85, 1, 554, 213, 1], "image_id": 115557, "bbox": [234, 2, 504, 682], "category_id": 1, "id": 177863}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [624, 253, 1, 421, 257, 1, 683, 423, 1, 273, 354, 1, 714, 600, 1, 103, 412, 1, 567, 647, 1, 449, 639, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 60, 1, 503, 207, 1], "image_id": 113995, "bbox": [0, 40, 747, 714], "category_id": 1, "id": 177870}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [415, 288, 1, 244, 308, 1, 465, 327, 1, 143, 341, 1, 466, 297, 1, 182, 287, 1, 341, 549, 1, 295, 545, 1, 250, 720, 1, 376, 684, 1, 125, 838, 1, 415, 873, 1, 320, 143, 1, 332, 271, 1], "image_id": 114385, "bbox": [53, 108, 443, 831], "category_id": 1, "id": 177871}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [492, 212, 1, 388, 108, 1, 473, 308, 1, 324, 100, 1, 411, 325, 1, 244, 105, 1, 366, 370, 1, 283, 312, 1, 438, 514, 1, 330, 361, 1, 409, 560, 1, 250, 513, 1, 495, 54, 1, 459, 142, 1], "image_id": 113336, "bbox": [171, 37, 356, 593], "category_id": 1, "id": 177876}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [408, 389, 1, 309, 357, 1, 311, 421, 1, 264, 257, 1, 184, 356, 1, 253, 138, 1, 381, 649, 1, 344, 650, 1, 383, 852, 1, 362, 852, 1, 0, 0, 0, 0, 0, 0, 378, 284, 1, 360, 366, 1], "image_id": 111768, "bbox": [89, 79, 350, 857], "category_id": 1, "id": 177880}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [338, 272, 1, 92, 255, 1, 335, 456, 1, 74, 438, 1, 316, 629, 1, 55, 555, 1, 195, 648, 1, 118, 643, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 37, 1, 220, 192, 1], "image_id": 110800, "bbox": [24, 20, 365, 780], "category_id": 1, "id": 177893}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [272, 189, 1, 122, 174, 1, 375, 203, 1, 212, 204, 1, 383, 316, 1, 226, 298, 1, 296, 395, 1, 202, 390, 1, 321, 606, 1, 163, 517, 1, 361, 772, 1, 253, 648, 1, 137, 82, 1, 169, 156, 1], "image_id": 112455, "bbox": [91, 54, 353, 776], "category_id": 1, "id": 177895}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [687, 276, 1, 649, 266, 1, 693, 463, 1, 635, 427, 1, 665, 632, 1, 627, 556, 1, 751, 595, 1, 736, 598, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 60, 1, 645, 224, 1], "image_id": 112382, "bbox": [516, 0, 292, 770], "category_id": 1, "id": 177906}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [479, 210, 1, 450, 208, 1, 479, 315, 1, 451, 328, 1, 518, 414, 1, 499, 426, 1, 452, 430, 1, 425, 427, 1, 459, 573, 1, 421, 598, 1, 425, 732, 1, 407, 740, 1, 475, 96, 1, 460, 174, 1], "image_id": 113043, "bbox": [360, 84, 196, 681], "category_id": 1, "id": 177926}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 129, 1, 300, 247, 1, 302, 257, 1, 281, 337, 1, 304, 366, 1, 277, 409, 1, 74, 322, 1, 108, 359, 1, 210, 353, 1, 287, 361, 1, 70, 400, 1, 192, 557, 1, 370, 41, 1, 335, 150, 1], "image_id": 116024, "bbox": [11, 18, 421, 637], "category_id": 1, "id": 177930}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [522, 182, 1, 429, 158, 1, 496, 323, 1, 383, 245, 1, 378, 280, 1, 288, 234, 1, 484, 430, 1, 400, 389, 1, 376, 527, 1, 310, 506, 1, 414, 555, 1, 364, 651, 1, 481, 35, 1, 481, 142, 1], "image_id": 118181, "bbox": [248, 17, 341, 697], "category_id": 1, "id": 177935}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [745, 132, 1, 578, 109, 1, 795, 270, 1, 451, 131, 1, 715, 298, 1, 341, 131, 1, 699, 317, 1, 597, 364, 1, 748, 507, 1, 596, 551, 1, 801, 697, 1, 670, 590, 1, 654, 30, 1, 660, 107, 1], "image_id": 113500, "bbox": [243, 2, 628, 733], "category_id": 1, "id": 177938}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [456, 250, 1, 329, 215, 1, 434, 348, 1, 230, 308, 1, 421, 385, 1, 120, 351, 1, 339, 468, 1, 283, 420, 1, 261, 627, 1, 256, 571, 1, 106, 753, 1, 125, 738, 1, 441, 125, 1, 403, 202, 1], "image_id": 113110, "bbox": [39, 94, 463, 755], "category_id": 1, "id": 177955}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [630, 223, 1, 521, 188, 1, 596, 298, 1, 497, 242, 1, 528, 274, 1, 569, 265, 1, 580, 342, 1, 530, 327, 1, 566, 427, 1, 517, 406, 1, 549, 518, 1, 497, 492, 1, 602, 131, 1, 581, 186, 1], "image_id": 111420, "bbox": [452, 111, 199, 419], "category_id": 1, "id": 177966}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [701, 198, 1, 554, 167, 1, 768, 275, 1, 432, 215, 1, 817, 298, 1, 409, 307, 1, 657, 390, 1, 582, 442, 1, 693, 541, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 628, 62, 1, 628, 163, 1], "image_id": 114323, "bbox": [352, 31, 538, 635], "category_id": 1, "id": 177975}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [577, 179, 1, 446, 173, 1, 656, 279, 1, 366, 219, 1, 644, 190, 1, 296, 140, 1, 548, 408, 1, 484, 407, 1, 542, 583, 1, 394, 450, 1, 661, 510, 1, 499, 529, 1, 488, 36, 1, 501, 154, 1], "image_id": 116240, "bbox": [249, 19, 465, 590], "category_id": 1, "id": 177982}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [123, 107, 1, 58, 111, 1, 141, 146, 1, 31, 149, 1, 130, 114, 1, 55, 184, 1, 120, 219, 1, 86, 222, 1, 132, 283, 1, 88, 287, 1, 151, 347, 1, 92, 349, 1, 87, 44, 1, 90, 90, 1], "image_id": 115450, "bbox": [18, 42, 167, 338], "category_id": 1, "id": 177984}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [774, 346, 1, 683, 264, 1, 714, 413, 1, 624, 311, 1, 640, 355, 1, 574, 325, 1, 781, 518, 1, 762, 506, 1, 692, 670, 1, 818, 628, 1, 653, 834, 1, 884, 739, 1, 728, 176, 1, 755, 269, 1], "image_id": 113563, "bbox": [503, 149, 442, 734], "category_id": 1, "id": 177999}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [573, 169, 1, 588, 187, 1, 592, 269, 1, 603, 293, 1, 651, 260, 1, 0, 0, 0, 619, 382, 1, 583, 379, 1, 596, 506, 1, 558, 510, 1, 575, 622, 1, 531, 614, 1, 628, 53, 1, 605, 138, 1], "image_id": 111090, "bbox": [493, 36, 172, 649], "category_id": 1, "id": 178008}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [667, 253, 1, 645, 202, 1, 729, 241, 1, 572, 200, 1, 779, 207, 1, 512, 185, 1, 571, 355, 1, 562, 347, 1, 581, 456, 1, 576, 452, 1, 608, 557, 1, 609, 550, 1, 735, 205, 1, 668, 225, 1], "image_id": 111470, "bbox": [483, 153, 303, 447], "category_id": 1, "id": 178063}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [680, 156, 1, 786, 166, 1, 640, 230, 1, 820, 249, 1, 682, 260, 1, 886, 259, 1, 670, 331, 1, 717, 330, 1, 762, 463, 1, 713, 481, 1, 688, 515, 1, 667, 613, 1, 758, 45, 1, 745, 120, 1], "image_id": 114558, "bbox": [614, 32, 302, 621], "category_id": 1, "id": 178068}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [460, 326, 1, 215, 263, 1, 501, 467, 1, 224, 435, 1, 462, 470, 1, 366, 467, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 76, 1, 333, 243, 1], "image_id": 117890, "bbox": [148, 37, 409, 626], "category_id": 1, "id": 178077}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 242, 1, 147, 234, 1, 385, 286, 1, 109, 269, 1, 375, 397, 1, 86, 359, 1, 325, 399, 1, 210, 405, 1, 364, 436, 1, 166, 435, 1, 393, 466, 1, 129, 446, 1, 201, 157, 1, 227, 220, 1], "image_id": 114252, "bbox": [69, 113, 354, 437], "category_id": 1, "id": 178092}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [322, 561, 1, 226, 568, 1, 412, 535, 1, 176, 631, 1, 381, 473, 1, 219, 585, 1, 302, 793, 1, 236, 781, 1, 290, 954, 1, 221, 922, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 546, 1], "image_id": 114683, "bbox": [153, 398, 259, 601], "category_id": 1, "id": 178101}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [180, 354, 1, 91, 352, 1, 245, 385, 1, 38, 412, 1, 223, 428, 1, 72, 442, 1, 176, 496, 1, 110, 498, 1, 172, 595, 1, 106, 593, 1, 176, 683, 1, 98, 681, 1, 116, 266, 1, 135, 342, 1], "image_id": 114475, "bbox": [21, 236, 238, 505], "category_id": 1, "id": 178134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [288, 332, 1, 184, 362, 1, 387, 351, 1, 168, 466, 1, 484, 368, 1, 115, 514, 1, 344, 483, 1, 278, 489, 1, 283, 644, 1, 222, 632, 1, 387, 644, 1, 276, 747, 1, 186, 261, 1, 229, 329, 1], "image_id": 116228, "bbox": [40, 248, 526, 544], "category_id": 1, "id": 178147}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 199, 1, 235, 194, 1, 423, 331, 1, 215, 355, 1, 400, 323, 1, 202, 476, 1, 348, 476, 1, 278, 476, 1, 355, 661, 1, 294, 673, 1, 353, 794, 1, 314, 862, 1, 322, 21, 1, 322, 152, 1], "image_id": 115014, "bbox": [164, 3, 286, 956], "category_id": 1, "id": 178198}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [420, 171, 1, 391, 196, 1, 452, 265, 1, 395, 327, 1, 415, 374, 1, 344, 270, 1, 416, 438, 1, 446, 439, 1, 428, 649, 1, 446, 644, 1, 0, 0, 0, 0, 0, 0, 347, 69, 1, 399, 151, 1], "image_id": 119554, "bbox": [282, 47, 231, 720], "category_id": 1, "id": 178199}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [259, 296, 1, 220, 297, 1, 269, 325, 1, 213, 331, 1, 269, 354, 1, 207, 357, 1, 254, 355, 1, 233, 355, 1, 247, 399, 1, 239, 400, 1, 250, 438, 1, 242, 436, 1, 230, 264, 1, 237, 290, 1], "image_id": 116825, "bbox": [189, 247, 96, 212], "category_id": 1, "id": 178206}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [641, 121, 1, 451, 72, 1, 634, 282, 1, 450, 190, 1, 628, 392, 1, 556, 226, 1, 598, 250, 1, 504, 244, 1, 613, 411, 1, 485, 389, 1, 624, 567, 1, 474, 514, 1, 0, 0, 0, 536, 60, 1], "image_id": 112472, "bbox": [402, 0, 272, 626], "category_id": 1, "id": 178214}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [390, 268, 1, 327, 368, 1, 575, 272, 1, 364, 504, 1, 525, 426, 1, 388, 529, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 253, 1, 334, 312, 1], "image_id": 114811, "bbox": [223, 216, 523, 383], "category_id": 1, "id": 178224}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [619, 214, 1, 455, 232, 1, 700, 281, 1, 373, 303, 1, 778, 310, 1, 300, 357, 1, 600, 469, 1, 508, 466, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 103, 1, 525, 207, 1], "image_id": 112083, "bbox": [247, 82, 585, 517], "category_id": 1, "id": 178225}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [452, 342, 1, 329, 359, 1, 467, 436, 1, 264, 376, 1, 412, 438, 1, 251, 359, 1, 408, 556, 1, 338, 540, 1, 400, 698, 1, 275, 661, 1, 381, 811, 1, 257, 751, 1, 355, 246, 1, 379, 323, 1], "image_id": 111894, "bbox": [203, 241, 280, 643], "category_id": 1, "id": 178240}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [502, 439, 1, 439, 487, 1, 583, 493, 1, 399, 567, 1, 587, 452, 1, 456, 597, 1, 649, 527, 1, 629, 567, 1, 716, 386, 1, 551, 480, 1, 758, 546, 1, 694, 563, 1, 449, 340, 1, 453, 418, 1], "image_id": 116291, "bbox": [397, 318, 437, 279], "category_id": 1, "id": 178243}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [287, 109, 1, 163, 161, 1, 355, 129, 1, 82, 275, 1, 425, 194, 1, 133, 244, 1, 325, 301, 1, 249, 309, 1, 341, 447, 1, 251, 460, 1, 365, 622, 1, 223, 650, 1, 186, 77, 1, 210, 124, 1], "image_id": 117901, "bbox": [64, 54, 381, 655], "category_id": 1, "id": 178247}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [607, 265, 1, 432, 275, 1, 601, 413, 1, 433, 415, 1, 533, 516, 1, 478, 521, 1, 549, 560, 1, 464, 556, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 492, 108, 1, 515, 240, 1], "image_id": 118225, "bbox": [394, 90, 231, 534], "category_id": 1, "id": 178249}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [835, 250, 1, 758, 211, 1, 708, 305, 1, 678, 260, 1, 696, 195, 1, 610, 205, 1, 686, 438, 1, 688, 479, 1, 498, 454, 1, 553, 486, 1, 332, 574, 1, 0, 0, 0, 763, 46, 1, 697, 158, 1], "image_id": 116300, "bbox": [224, 64, 729, 595], "category_id": 1, "id": 178272}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [513, 390, 1, 466, 391, 1, 537, 414, 1, 454, 416, 1, 517, 432, 1, 465, 442, 1, 499, 469, 1, 467, 468, 1, 500, 523, 1, 468, 520, 1, 500, 562, 1, 466, 560, 1, 482, 345, 1, 486, 380, 1], "image_id": 118564, "bbox": [432, 334, 118, 259], "category_id": 1, "id": 178274}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [717, 161, 1, 528, 160, 1, 824, 187, 1, 430, 208, 1, 739, 241, 1, 344, 274, 1, 715, 298, 1, 625, 279, 1, 614, 406, 1, 554, 373, 1, 572, 531, 1, 537, 502, 1, 606, 42, 1, 621, 148, 1], "image_id": 109460, "bbox": [314, 23, 540, 585], "category_id": 1, "id": 178283}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [362, 170, 1, 266, 214, 1, 365, 74, 1, 270, 323, 1, 293, 28, 1, 287, 290, 1, 365, 382, 1, 312, 384, 1, 368, 525, 1, 324, 519, 1, 365, 664, 1, 333, 666, 1, 290, 81, 1, 309, 170, 1], "image_id": 111171, "bbox": [239, 13, 211, 709], "category_id": 1, "id": 178284}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [586, 259, 1, 543, 248, 1, 557, 341, 1, 512, 331, 1, 484, 351, 1, 472, 337, 1, 523, 399, 1, 490, 385, 1, 480, 478, 1, 459, 465, 1, 443, 561, 1, 421, 552, 1, 551, 178, 1, 567, 242, 1], "image_id": 112417, "bbox": [448, 166, 151, 260], "category_id": 1, "id": 178286}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 224, 1, 232, 226, 1, 397, 311, 1, 213, 322, 1, 405, 275, 1, 238, 363, 1, 330, 412, 1, 267, 412, 1, 331, 559, 1, 283, 556, 1, 328, 670, 1, 296, 653, 1, 284, 113, 1, 293, 203, 1], "image_id": 112131, "bbox": [186, 98, 247, 639], "category_id": 1, "id": 178293}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [544, 260, 1, 464, 268, 1, 561, 326, 1, 456, 337, 1, 556, 378, 1, 453, 395, 1, 520, 398, 1, 478, 400, 1, 518, 500, 1, 480, 500, 1, 519, 582, 1, 484, 584, 1, 491, 172, 1, 498, 241, 1], "image_id": 112549, "bbox": [432, 158, 150, 462], "category_id": 1, "id": 178298}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [390, 204, 1, 281, 191, 1, 400, 288, 1, 224, 224, 1, 423, 367, 1, 210, 293, 1, 313, 341, 1, 267, 333, 1, 317, 451, 1, 311, 451, 1, 245, 569, 1, 221, 443, 1, 357, 108, 1, 346, 185, 1], "image_id": 113784, "bbox": [192, 92, 212, 515], "category_id": 1, "id": 178302}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [140, 248, 1, 263, 231, 1, 72, 293, 1, 292, 333, 1, 44, 386, 1, 342, 375, 1, 152, 426, 1, 222, 422, 1, 152, 558, 1, 239, 548, 1, 108, 644, 1, 212, 696, 1, 234, 160, 1, 211, 213, 1], "image_id": 112322, "bbox": [6, 142, 343, 604], "category_id": 1, "id": 178304}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [524, 210, 1, 380, 213, 1, 544, 331, 1, 357, 328, 1, 418, 344, 1, 268, 329, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 56, 1, 448, 167, 1], "image_id": 110661, "bbox": [206, 29, 381, 460], "category_id": 1, "id": 178310}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 138, 1, 274, 131, 1, 436, 189, 1, 199, 145, 1, 459, 200, 1, 142, 193, 1, 365, 319, 1, 304, 297, 1, 306, 444, 1, 297, 397, 1, 260, 450, 1, 305, 539, 1, 319, 51, 1, 324, 115, 1], "image_id": 112829, "bbox": [71, 24, 459, 568], "category_id": 1, "id": 178313}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 265, 1, 158, 258, 1, 365, 363, 1, 139, 293, 1, 357, 495, 1, 81, 405, 1, 304, 473, 1, 218, 476, 1, 241, 625, 1, 235, 641, 1, 290, 825, 1, 287, 845, 1, 194, 103, 1, 219, 227, 1], "image_id": 112511, "bbox": [34, 75, 362, 849], "category_id": 1, "id": 178316}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [318, 231, 1, 203, 210, 1, 310, 325, 1, 186, 320, 1, 287, 375, 1, 199, 396, 1, 300, 386, 1, 242, 386, 1, 330, 546, 1, 258, 559, 1, 0, 0, 0, 0, 0, 0, 263, 99, 1, 260, 190, 1], "image_id": 111175, "bbox": [157, 85, 210, 546], "category_id": 1, "id": 178321}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [354, 84, 1, 272, 137, 1, 406, 42, 1, 246, 261, 1, 481, 80, 1, 294, 308, 1, 386, 187, 1, 329, 232, 1, 448, 278, 1, 411, 315, 1, 515, 371, 1, 470, 347, 1, 308, 92, 1, 311, 112, 1], "image_id": 112843, "bbox": [223, 27, 352, 448], "category_id": 1, "id": 178330}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 263, 1, 272, 258, 1, 403, 212, 1, 234, 260, 1, 440, 159, 1, 193, 268, 1, 324, 439, 1, 327, 437, 1, 241, 512, 1, 304, 541, 1, 224, 628, 1, 354, 642, 1, 305, 183, 1, 321, 249, 1], "image_id": 112031, "bbox": [171, 138, 338, 559], "category_id": 1, "id": 178336}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [298, 380, 1, 206, 388, 1, 338, 385, 1, 178, 403, 1, 347, 377, 1, 146, 399, 1, 304, 463, 1, 235, 463, 1, 304, 418, 1, 228, 419, 1, 300, 431, 1, 245, 435, 1, 238, 283, 1, 251, 378, 1], "image_id": 112130, "bbox": [108, 238, 274, 222], "category_id": 1, "id": 178368}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [436, 287, 1, 267, 303, 1, 542, 423, 1, 292, 480, 1, 515, 455, 1, 376, 530, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 76, 1, 364, 243, 1], "image_id": 115994, "bbox": [212, 46, 376, 548], "category_id": 1, "id": 178374}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 177, 1, 211, 173, 1, 391, 260, 1, 199, 284, 1, 341, 315, 1, 177, 357, 1, 295, 353, 1, 226, 357, 1, 320, 505, 1, 223, 511, 1, 352, 640, 1, 225, 644, 1, 286, 40, 1, 276, 145, 1], "image_id": 109158, "bbox": [130, 20, 279, 711], "category_id": 1, "id": 178388}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [708, 418, 1, 627, 402, 1, 617, 473, 1, 547, 404, 1, 505, 421, 1, 481, 381, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 676, 282, 1, 668, 387, 1], "image_id": 118432, "bbox": [463, 264, 297, 359], "category_id": 1, "id": 178392}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 213, 1, 142, 197, 1, 254, 328, 1, 119, 332, 1, 254, 417, 1, 151, 424, 1, 236, 469, 1, 172, 470, 1, 227, 609, 1, 175, 606, 1, 213, 718, 1, 167, 746, 1, 228, 50, 1, 212, 166, 1], "image_id": 109557, "bbox": [84, 33, 209, 789], "category_id": 1, "id": 178394}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [500, 189, 1, 398, 190, 1, 527, 306, 1, 380, 280, 1, 455, 344, 1, 387, 342, 1, 469, 387, 1, 404, 386, 1, 465, 492, 1, 406, 490, 1, 462, 585, 1, 406, 585, 1, 404, 63, 1, 446, 164, 1], "image_id": 116064, "bbox": [354, 34, 188, 378], "category_id": 1, "id": 178403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [393, 343, 1, 458, 337, 1, 400, 387, 1, 473, 375, 1, 415, 409, 1, 474, 397, 1, 429, 452, 1, 459, 450, 1, 426, 508, 1, 446, 507, 1, 429, 569, 1, 445, 567, 1, 422, 267, 1, 422, 316, 1], "image_id": 111552, "bbox": [385, 256, 95, 356], "category_id": 1, "id": 178415}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 204, 1, 390, 207, 1, 471, 197, 1, 452, 275, 1, 492, 192, 1, 525, 287, 1, 398, 396, 1, 294, 401, 1, 534, 511, 1, 286, 536, 1, 598, 678, 1, 141, 642, 1, 465, 110, 1, 429, 188, 1], "image_id": 111967, "bbox": [77, 75, 603, 654], "category_id": 1, "id": 178419}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [585, 270, 1, 430, 273, 1, 680, 322, 1, 385, 320, 1, 575, 289, 1, 418, 341, 1, 528, 446, 1, 448, 447, 1, 521, 588, 1, 444, 586, 1, 0, 0, 0, 0, 0, 0, 491, 111, 1, 499, 237, 1], "image_id": 118735, "bbox": [394, 96, 306, 263], "category_id": 1, "id": 178425}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [83, 354, 1, 109, 303, 1, 78, 407, 1, 131, 270, 1, 68, 433, 1, 131, 257, 1, 208, 326, 1, 215, 348, 1, 221, 269, 1, 282, 345, 1, 255, 207, 1, 310, 420, 1, 62, 289, 1, 83, 322, 1], "image_id": 109961, "bbox": [40, 161, 312, 296], "category_id": 1, "id": 178445}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [531, 303, 1, 365, 292, 1, 541, 493, 1, 311, 388, 1, 494, 479, 1, 403, 340, 1, 433, 573, 1, 359, 560, 1, 228, 624, 1, 238, 508, 1, 0, 0, 0, 0, 0, 0, 417, 132, 1, 449, 275, 1], "image_id": 117872, "bbox": [188, 72, 373, 593], "category_id": 1, "id": 178450}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [711, 570, 1, 615, 465, 1, 0, 0, 0, 593, 506, 1, 0, 0, 0, 632, 558, 1, 0, 0, 0, 440, 554, 1, 0, 0, 0, 307, 505, 1, 0, 0, 0, 258, 556, 1, 752, 467, 1, 668, 506, 1], "image_id": 114338, "bbox": [106, 418, 691, 174], "category_id": 1, "id": 178454}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [332, 175, 1, 158, 142, 1, 344, 291, 1, 139, 311, 1, 306, 313, 1, 104, 441, 1, 285, 483, 1, 183, 482, 1, 292, 725, 1, 167, 710, 1, 0, 0, 0, 0, 0, 0, 264, 7, 1, 238, 142, 1], "image_id": 109199, "bbox": [68, 2, 315, 827], "category_id": 1, "id": 178485}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [433, 225, 1, 230, 234, 1, 472, 369, 1, 200, 402, 1, 502, 500, 1, 184, 554, 1, 393, 519, 1, 315, 521, 1, 376, 725, 1, 341, 694, 1, 260, 835, 1, 359, 917, 1, 343, 71, 1, 330, 196, 1], "image_id": 119570, "bbox": [157, 34, 379, 931], "category_id": 1, "id": 178495}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [639, 196, 1, 513, 196, 1, 675, 252, 1, 492, 256, 1, 719, 303, 1, 464, 308, 1, 601, 366, 1, 535, 368, 1, 597, 450, 1, 532, 443, 1, 597, 532, 1, 527, 532, 1, 571, 92, 1, 574, 171, 1], "image_id": 111910, "bbox": [442, 85, 322, 254], "category_id": 1, "id": 178497}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [222, 280, 1, 92, 285, 1, 284, 376, 1, 51, 431, 1, 338, 385, 1, 153, 459, 1, 179, 554, 1, 116, 579, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 175, 1, 151, 261, 1], "image_id": 109059, "bbox": [0, 143, 434, 517], "category_id": 1, "id": 178532}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [260, 360, 1, 228, 401, 1, 285, 390, 1, 263, 439, 1, 338, 397, 1, 314, 424, 1, 184, 433, 1, 147, 447, 1, 264, 474, 1, 230, 495, 1, 0, 0, 0, 0, 0, 0, 283, 300, 1, 242, 362, 1], "image_id": 118580, "bbox": [119, 269, 275, 200], "category_id": 1, "id": 178559}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [315, 236, 1, 226, 324, 1, 388, 194, 1, 290, 308, 1, 454, 211, 1, 343, 248, 1, 441, 413, 1, 358, 438, 1, 369, 517, 1, 252, 545, 1, 386, 664, 1, 277, 721, 1, 191, 206, 1, 244, 269, 1], "image_id": 114778, "bbox": [160, 166, 335, 596], "category_id": 1, "id": 178574}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [621, 186, 1, 466, 159, 1, 706, 274, 1, 358, 209, 1, 722, 269, 1, 299, 239, 1, 578, 414, 1, 512, 431, 1, 661, 509, 1, 560, 602, 1, 786, 620, 1, 591, 627, 1, 556, 41, 1, 550, 160, 1], "image_id": 112305, "bbox": [226, 16, 631, 693], "category_id": 1, "id": 178580}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [541, 375, 1, 482, 317, 1, 426, 430, 1, 375, 343, 1, 355, 378, 1, 255, 339, 1, 592, 597, 1, 527, 592, 1, 481, 673, 1, 369, 707, 1, 551, 840, 1, 372, 849, 1, 530, 226, 1, 536, 328, 1], "image_id": 113371, "bbox": [143, 188, 523, 717], "category_id": 1, "id": 178582}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 258, 1, 204, 269, 1, 500, 332, 1, 324, 397, 1, 619, 322, 1, 441, 384, 1, 346, 525, 1, 250, 564, 1, 590, 506, 1, 391, 548, 1, 824, 579, 1, 584, 627, 1, 279, 78, 1, 294, 224, 1], "image_id": 114322, "bbox": [146, 61, 818, 626], "category_id": 1, "id": 178584}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 165, 1, 116, 155, 1, 309, 303, 1, 75, 239, 1, 332, 418, 1, 68, 307, 1, 185, 390, 1, 93, 387, 1, 120, 522, 1, 131, 541, 1, 23, 690, 1, 259, 507, 1, 206, 27, 1, 191, 131, 1], "image_id": 116086, "bbox": [2, 10, 288, 714], "category_id": 1, "id": 178585}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 221, 1, 268, 246, 1, 531, 195, 1, 143, 375, 1, 439, 247, 1, 141, 328, 1, 378, 522, 1, 320, 516, 1, 355, 700, 1, 314, 708, 1, 335, 825, 1, 238, 788, 1, 384, 76, 1, 347, 204, 1], "image_id": 115378, "bbox": [116, 47, 421, 847], "category_id": 1, "id": 178586}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [812, 229, 1, 653, 195, 1, 850, 323, 1, 594, 268, 1, 786, 362, 1, 534, 295, 1, 806, 436, 1, 757, 440, 1, 815, 534, 1, 643, 514, 1, 890, 629, 1, 716, 631, 1, 707, 89, 1, 721, 171, 1], "image_id": 113563, "bbox": [477, 63, 458, 646], "category_id": 1, "id": 178597}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [857, 153, 1, 809, 134, 1, 883, 106, 1, 854, 96, 1, 849, 93, 1, 877, 84, 1, 834, 247, 1, 796, 241, 1, 881, 277, 1, 874, 258, 1, 849, 340, 1, 840, 340, 1, 0, 0, 0, 836, 132, 1], "image_id": 115732, "bbox": [768, 63, 140, 316], "category_id": 1, "id": 178610}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [658, 215, 1, 519, 265, 1, 733, 354, 1, 547, 389, 1, 729, 477, 1, 543, 495, 1, 664, 557, 1, 586, 554, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 521, 77, 1, 569, 199, 1], "image_id": 115574, "bbox": [476, 55, 285, 576], "category_id": 1, "id": 178613}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [534, 170, 1, 448, 133, 1, 506, 236, 1, 401, 197, 1, 528, 243, 1, 457, 219, 1, 483, 312, 1, 428, 310, 1, 467, 426, 1, 421, 423, 1, 459, 516, 1, 416, 516, 1, 547, 58, 1, 501, 129, 1], "image_id": 118710, "bbox": [368, 16, 216, 307], "category_id": 1, "id": 178619}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [340, 256, 1, 182, 261, 1, 356, 374, 1, 127, 362, 1, 429, 365, 1, 143, 270, 1, 307, 507, 1, 197, 495, 1, 277, 724, 1, 237, 685, 1, 191, 884, 1, 224, 913, 1, 257, 109, 1, 382, 171, 1], "image_id": 117691, "bbox": [101, 67, 369, 917], "category_id": 1, "id": 178624}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [326, 172, 1, 158, 209, 1, 383, 331, 1, 166, 332, 1, 280, 380, 1, 162, 388, 1, 301, 436, 1, 215, 433, 1, 212, 558, 1, 70, 502, 1, 0, 0, 0, 0, 0, 0, 223, 17, 1, 227, 157, 1], "image_id": 110432, "bbox": [11, 0, 468, 469], "category_id": 1, "id": 178640}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [197, 261, 1, 282, 273, 1, 288, 341, 1, 322, 381, 1, 346, 233, 1, 386, 249, 1, 130, 488, 1, 204, 491, 1, 136, 640, 1, 225, 657, 1, 101, 790, 1, 238, 820, 1, 299, 173, 1, 245, 232, 1], "image_id": 119010, "bbox": [66, 146, 365, 731], "category_id": 1, "id": 178641}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [595, 195, 1, 476, 209, 1, 654, 244, 1, 468, 296, 1, 637, 299, 1, 467, 339, 1, 604, 368, 1, 547, 370, 1, 620, 485, 1, 574, 496, 1, 620, 425, 1, 644, 602, 1, 519, 99, 1, 527, 184, 1], "image_id": 118434, "bbox": [444, 65, 225, 561], "category_id": 1, "id": 178642}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [609, 259, 1, 461, 253, 1, 654, 366, 1, 386, 329, 1, 662, 384, 1, 399, 217, 1, 526, 521, 1, 465, 508, 1, 463, 734, 1, 466, 700, 1, 352, 923, 1, 311, 815, 1, 536, 102, 1, 536, 231, 1], "image_id": 119155, "bbox": [247, 69, 444, 869], "category_id": 1, "id": 178650}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 184, 1, 470, 171, 1, 544, 285, 1, 405, 232, 1, 561, 389, 1, 444, 273, 1, 503, 329, 1, 454, 329, 1, 526, 486, 1, 558, 434, 1, 411, 578, 1, 570, 563, 1, 538, 76, 1, 514, 158, 1], "image_id": 117614, "bbox": [357, 53, 304, 571], "category_id": 1, "id": 178651}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [257, 189, 1, 78, 206, 1, 319, 326, 1, 104, 388, 1, 351, 376, 1, 233, 456, 1, 215, 494, 1, 133, 497, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 10, 1, 161, 166, 1], "image_id": 109589, "bbox": [24, 3, 401, 628], "category_id": 1, "id": 178655}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [557, 144, 1, 439, 201, 1, 644, 150, 1, 400, 281, 1, 567, 116, 1, 368, 351, 1, 515, 382, 1, 453, 359, 1, 465, 484, 1, 364, 461, 1, 391, 623, 1, 283, 598, 1, 438, 95, 1, 496, 157, 1], "image_id": 110433, "bbox": [189, 59, 424, 593], "category_id": 1, "id": 178679}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [207, 272, 1, 70, 298, 1, 253, 388, 1, 120, 429, 1, 247, 361, 1, 173, 356, 1, 258, 443, 1, 187, 470, 1, 337, 487, 1, 264, 532, 1, 0, 0, 0, 0, 0, 0, 156, 136, 1, 142, 254, 1], "image_id": 118629, "bbox": [36, 120, 265, 358], "category_id": 1, "id": 178706}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [644, 325, 1, 545, 304, 1, 667, 408, 1, 484, 283, 1, 702, 448, 1, 466, 207, 1, 537, 433, 1, 483, 403, 1, 470, 530, 1, 426, 449, 1, 454, 540, 1, 411, 497, 1, 644, 264, 1, 607, 306, 1], "image_id": 112304, "bbox": [347, 149, 403, 404], "category_id": 1, "id": 178708}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [153, 105, 1, 108, 144, 1, 174, 165, 1, 168, 179, 1, 161, 206, 1, 213, 189, 1, 129, 232, 1, 75, 235, 1, 142, 327, 1, 105, 330, 1, 151, 431, 1, 72, 431, 1, 145, 52, 1, 128, 106, 1], "image_id": 119943, "bbox": [40, 21, 248, 471], "category_id": 1, "id": 178713}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 196, 1, 261, 212, 1, 395, 295, 1, 248, 313, 1, 414, 367, 1, 197, 345, 1, 366, 381, 1, 290, 383, 1, 360, 527, 1, 302, 528, 1, 348, 655, 1, 319, 658, 1, 305, 79, 1, 305, 173, 1], "image_id": 109982, "bbox": [152, 71, 285, 650], "category_id": 1, "id": 178756}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [787, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 691, 514, 1, 782, 521, 1, 717, 719, 1, 798, 743, 1, 668, 180, 1, 679, 260, 1], "image_id": 117429, "bbox": [580, 56, 225, 731], "category_id": 1, "id": 178764}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [516, 566, 1, 0, 0, 0, 426, 656, 1, 491, 411, 1, 345, 628, 1, 358, 408, 1, 635, 884, 1, 0, 0, 0, 410, 729, 1, 474, 811, 1, 0, 0, 0, 0, 0, 0, 487, 243, 1, 564, 409, 1], "image_id": 118531, "bbox": [289, 194, 373, 806], "category_id": 1, "id": 178779}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [371, 226, 1, 277, 229, 1, 380, 309, 1, 271, 305, 1, 380, 378, 1, 275, 373, 1, 346, 390, 1, 288, 390, 1, 363, 492, 1, 278, 485, 1, 367, 550, 1, 323, 548, 1, 292, 118, 1, 306, 199, 1], "image_id": 115143, "bbox": [251, 99, 159, 514], "category_id": 1, "id": 178781}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [545, 213, 1, 439, 202, 1, 562, 283, 1, 420, 264, 1, 555, 357, 1, 430, 228, 1, 537, 374, 1, 486, 371, 1, 517, 475, 1, 432, 482, 1, 594, 575, 1, 518, 589, 1, 483, 104, 1, 491, 183, 1], "image_id": 118224, "bbox": [390, 87, 233, 555], "category_id": 1, "id": 178788}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [449, 304, 1, 406, 338, 1, 559, 413, 1, 389, 467, 1, 460, 501, 1, 297, 480, 1, 504, 562, 1, 468, 566, 1, 450, 768, 1, 513, 765, 1, 0, 0, 0, 0, 0, 0, 388, 176, 1, 413, 283, 1], "image_id": 119515, "bbox": [257, 162, 343, 738], "category_id": 1, "id": 178791}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [320, 193, 1, 285, 204, 1, 352, 221, 1, 285, 238, 1, 339, 210, 1, 279, 272, 1, 336, 257, 1, 312, 256, 1, 312, 297, 1, 287, 257, 1, 349, 276, 1, 315, 286, 1, 291, 163, 1, 300, 193, 1], "image_id": 110024, "bbox": [260, 151, 100, 154], "category_id": 1, "id": 178792}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [744, 4, 1, 754, 3, 1, 760, 59, 1, 768, 64, 1, 741, 105, 1, 766, 102, 1, 733, 100, 1, 756, 96, 1, 713, 156, 1, 751, 138, 1, 709, 230, 1, 756, 185, 1, 0, 0, 0, 748, 22, 1], "image_id": 110648, "bbox": [672, 0, 112, 263], "category_id": 1, "id": 178802}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [265, 96, 1, 76, 270, 1, 349, 64, 1, 105, 404, 1, 483, 81, 1, 100, 544, 1, 367, 325, 1, 295, 404, 1, 511, 412, 1, 360, 547, 1, 691, 509, 1, 493, 555, 1, 139, 125, 1, 153, 166, 1], "image_id": 117942, "bbox": [7, 35, 786, 555], "category_id": 1, "id": 178812}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [550, 260, 1, 357, 244, 1, 587, 381, 1, 262, 312, 1, 647, 443, 1, 182, 313, 1, 463, 492, 1, 382, 474, 1, 453, 673, 1, 352, 414, 1, 388, 863, 1, 299, 491, 1, 413, 109, 1, 451, 215, 1], "image_id": 112538, "bbox": [113, 79, 611, 857], "category_id": 1, "id": 178813}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [801, 338, 1, 735, 332, 1, 846, 462, 1, 741, 437, 1, 745, 461, 1, 670, 429, 1, 793, 568, 1, 757, 566, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 751, 195, 1, 761, 303, 1], "image_id": 116180, "bbox": [670, 180, 210, 451], "category_id": 1, "id": 178831}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [231, 307, 1, 118, 316, 1, 291, 396, 1, 132, 410, 1, 293, 454, 1, 114, 488, 1, 223, 468, 1, 187, 475, 1, 151, 586, 1, 212, 629, 1, 0, 0, 0, 325, 566, 1, 148, 188, 1, 164, 286, 1], "image_id": 113336, "bbox": [87, 169, 296, 474], "category_id": 1, "id": 178835}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [412, 310, 1, 271, 313, 1, 420, 407, 1, 269, 390, 1, 390, 430, 1, 272, 431, 1, 369, 532, 1, 297, 533, 1, 358, 662, 1, 305, 677, 1, 340, 795, 1, 312, 870, 1, 338, 163, 1, 343, 270, 1], "image_id": 111090, "bbox": [242, 129, 198, 809], "category_id": 1, "id": 178837}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [453, 215, 1, 343, 228, 1, 490, 284, 1, 330, 303, 1, 506, 362, 1, 313, 367, 1, 440, 369, 1, 383, 378, 1, 433, 480, 1, 376, 503, 1, 420, 591, 1, 389, 608, 1, 386, 132, 1, 393, 199, 1], "image_id": 118323, "bbox": [296, 122, 229, 510], "category_id": 1, "id": 178848}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [712, 285, 1, 541, 259, 1, 772, 374, 1, 514, 319, 1, 869, 355, 1, 424, 305, 1, 596, 510, 1, 502, 500, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 131, 1, 619, 244, 1], "image_id": 110354, "bbox": [368, 101, 582, 565], "category_id": 1, "id": 178861}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [789, 627, 1, 699, 498, 1, 702, 633, 1, 663, 414, 1, 708, 534, 1, 736, 407, 1, 438, 637, 1, 432, 538, 1, 220, 651, 1, 264, 467, 1, 70, 644, 1, 54, 515, 1, 825, 526, 1, 772, 564, 1], "image_id": 112589, "bbox": [1, 379, 876, 388], "category_id": 1, "id": 178866}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [411, 220, 1, 391, 224, 1, 404, 288, 1, 420, 282, 1, 350, 290, 1, 405, 346, 1, 440, 345, 1, 422, 348, 1, 451, 457, 1, 433, 458, 1, 461, 545, 1, 439, 546, 1, 354, 156, 1, 393, 204, 1], "image_id": 118064, "bbox": [292, 130, 188, 292], "category_id": 1, "id": 178871}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [336, 111, 1, 238, 114, 1, 337, 154, 1, 196, 187, 1, 332, 198, 1, 260, 196, 1, 280, 275, 1, 225, 267, 1, 251, 394, 1, 178, 370, 1, 190, 488, 1, 142, 486, 1, 292, 24, 1, 292, 95, 1], "image_id": 115041, "bbox": [113, 2, 243, 545], "category_id": 1, "id": 178876}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [602, 185, 1, 386, 173, 1, 675, 314, 1, 315, 309, 1, 552, 303, 1, 401, 298, 1, 545, 451, 1, 460, 443, 1, 635, 350, 1, 351, 348, 1, 633, 596, 1, 372, 604, 1, 454, 58, 1, 469, 156, 1], "image_id": 112683, "bbox": [289, 1, 421, 568], "category_id": 1, "id": 178935}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 221, 1, 243, 229, 1, 413, 313, 1, 230, 344, 1, 470, 269, 1, 207, 445, 1, 323, 443, 1, 258, 439, 1, 319, 640, 1, 275, 640, 1, 319, 817, 1, 288, 817, 1, 289, 84, 1, 289, 190, 1], "image_id": 119180, "bbox": [41, 57, 541, 928], "category_id": 1, "id": 178937}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 466, 151, 1, 243, 120, 1, 377, 224, 1, 228, 224, 1, 431, 231, 1, 323, 236, 1, 467, 439, 1, 296, 445, 1, 532, 597, 1, 340, 612, 1, 281, 60, 1, 276, 182, 1], "image_id": 109168, "bbox": [190, 2, 358, 741], "category_id": 1, "id": 178938}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [212, 44, 1, 121, 58, 1, 271, 93, 1, 108, 122, 1, 238, 136, 1, 125, 126, 1, 207, 201, 1, 154, 202, 1, 211, 307, 1, 157, 308, 1, 214, 397, 1, 160, 405, 1, 0, 0, 0, 166, 27, 1], "image_id": 118746, "bbox": [87, 2, 201, 321], "category_id": 1, "id": 178939}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [414, 187, 1, 299, 161, 1, 478, 256, 1, 250, 214, 1, 527, 318, 1, 183, 264, 1, 428, 337, 1, 365, 347, 1, 492, 458, 1, 314, 428, 1, 587, 424, 1, 350, 561, 1, 350, 90, 1, 360, 155, 1], "image_id": 119402, "bbox": [131, 55, 533, 546], "category_id": 1, "id": 178951}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [871, 416, 1, 851, 395, 1, 829, 427, 1, 831, 378, 1, 798, 425, 1, 824, 350, 1, 865, 469, 1, 855, 466, 1, 825, 471, 1, 822, 468, 1, 822, 503, 1, 818, 503, 1, 854, 370, 1, 860, 398, 1], "image_id": 114314, "bbox": [777, 327, 129, 184], "category_id": 1, "id": 178961}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [750, 273, 1, 687, 265, 1, 757, 322, 1, 678, 305, 1, 748, 364, 1, 691, 345, 1, 737, 358, 1, 707, 357, 1, 746, 415, 1, 701, 415, 1, 751, 465, 1, 700, 456, 1, 703, 231, 1, 713, 257, 1], "image_id": 111552, "bbox": [665, 212, 108, 284], "category_id": 1, "id": 178976}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [281, 100, 1, 180, 147, 1, 325, 127, 1, 202, 240, 1, 356, 112, 1, 215, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 27, 1, 221, 107, 1], "image_id": 117472, "bbox": [150, 7, 226, 245], "category_id": 1, "id": 178988}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 166, 1, 230, 150, 1, 262, 253, 1, 185, 231, 1, 262, 303, 1, 206, 303, 1, 265, 341, 1, 199, 335, 1, 340, 417, 1, 144, 447, 1, 297, 557, 1, 59, 549, 1, 334, 66, 1, 282, 127, 1], "image_id": 111073, "bbox": [22, 39, 349, 567], "category_id": 1, "id": 179000}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 159, 1, 501, 156, 1, 521, 138, 1, 486, 143, 1, 512, 124, 1, 497, 124, 1, 527, 214, 1, 514, 215, 1, 532, 247, 1, 515, 252, 1, 544, 274, 1, 520, 282, 1, 524, 136, 1, 515, 153, 1], "image_id": 119930, "bbox": [478, 110, 80, 189], "category_id": 1, "id": 179004}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [455, 225, 1, 317, 200, 1, 525, 349, 1, 204, 298, 1, 609, 412, 1, 298, 221, 1, 432, 507, 1, 346, 514, 1, 424, 702, 1, 354, 715, 1, 390, 893, 1, 360, 902, 1, 447, 159, 1, 459, 252, 1], "image_id": 111963, "bbox": [231, 44, 376, 940], "category_id": 1, "id": 179010}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 577, 341, 1, 0, 0, 0, 557, 447, 1, 0, 0, 0, 534, 472, 1, 0, 0, 0, 617, 560, 1, 0, 0, 0, 623, 698, 1, 0, 0, 0, 624, 809, 1, 656, 214, 1, 649, 322, 1], "image_id": 116120, "bbox": [523, 168, 145, 466], "category_id": 1, "id": 179023}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [493, 169, 1, 357, 136, 1, 558, 276, 1, 307, 247, 1, 624, 377, 1, 405, 230, 1, 379, 274, 1, 314, 274, 1, 469, 294, 1, 409, 351, 1, 433, 486, 1, 319, 478, 1, 486, 32, 1, 440, 117, 1], "image_id": 111317, "bbox": [251, 13, 426, 546], "category_id": 1, "id": 179025}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [525, 305, 1, 251, 275, 1, 0, 0, 0, 114, 307, 1, 411, 361, 1, 30, 373, 1, 430, 527, 1, 286, 493, 1, 313, 630, 1, 183, 591, 1, 0, 0, 0, 0, 0, 0, 152, 68, 1, 160, 274, 1], "image_id": 117794, "bbox": [0, 0, 549, 464], "category_id": 1, "id": 179037}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 186, 31, 1, 0, 0, 0, 221, 152, 1, 134, 35, 1, 98, 141, 1, 138, 312, 1, 203, 315, 1, 9, 419, 1, 179, 457, 1, 45, 602, 1, 285, 610, 1, 0, 0, 0, 154, 10, 1], "image_id": 115136, "bbox": [2, 3, 338, 672], "category_id": 1, "id": 179044}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [538, 149, 1, 455, 134, 1, 513, 230, 1, 406, 224, 1, 525, 316, 1, 463, 272, 1, 505, 321, 1, 454, 318, 1, 573, 425, 1, 418, 463, 1, 480, 524, 1, 330, 555, 1, 520, 56, 1, 504, 138, 1], "image_id": 114994, "bbox": [307, 29, 282, 573], "category_id": 1, "id": 179075}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [549, 295, 1, 432, 292, 1, 584, 395, 1, 431, 409, 1, 603, 425, 1, 531, 448, 1, 544, 565, 1, 456, 563, 1, 556, 698, 1, 397, 730, 1, 569, 868, 1, 316, 829, 1, 510, 160, 1, 493, 257, 1], "image_id": 115765, "bbox": [270, 142, 350, 764], "category_id": 1, "id": 179085}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [656, 401, 1, 696, 404, 1, 661, 468, 1, 699, 471, 1, 698, 498, 1, 720, 498, 1, 661, 540, 1, 685, 542, 1, 652, 644, 1, 688, 652, 1, 653, 736, 1, 621, 714, 1, 727, 303, 1, 686, 375, 1], "image_id": 116567, "bbox": [567, 291, 192, 458], "category_id": 1, "id": 179100}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [166, 206, 1, 223, 196, 1, 160, 247, 1, 266, 217, 1, 181, 265, 1, 269, 202, 1, 181, 295, 1, 210, 294, 1, 179, 369, 1, 207, 351, 1, 184, 423, 1, 197, 398, 1, 194, 140, 1, 196, 179, 1], "image_id": 119930, "bbox": [141, 128, 142, 303], "category_id": 1, "id": 179101}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [785, 251, 1, 609, 264, 1, 813, 392, 1, 594, 372, 1, 811, 506, 1, 535, 451, 1, 762, 524, 1, 669, 527, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 686, 94, 1, 697, 224, 1], "image_id": 119190, "bbox": [483, 74, 363, 497], "category_id": 1, "id": 179125}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [416, 431, 1, 512, 471, 1, 409, 405, 1, 559, 460, 1, 373, 402, 1, 538, 496, 1, 498, 382, 1, 543, 407, 1, 541, 359, 1, 579, 377, 1, 567, 343, 1, 604, 356, 1, 0, 0, 0, 0, 0, 0], "image_id": 118000, "bbox": [328, 378, 262, 158], "category_id": 1, "id": 179142}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [728, 165, 1, 650, 178, 1, 732, 310, 1, 645, 303, 1, 701, 427, 1, 637, 421, 1, 773, 453, 1, 698, 455, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 662, 31, 1, 688, 144, 1], "image_id": 112400, "bbox": [620, 6, 216, 593], "category_id": 1, "id": 179146}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [400, 382, 1, 376, 384, 1, 469, 422, 1, 475, 452, 1, 561, 402, 1, 574, 406, 1, 0, 0, 0, 0, 0, 0, 433, 511, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 257, 1, 387, 346, 1], "image_id": 110198, "bbox": [261, 231, 366, 307], "category_id": 1, "id": 179161}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 573, 394, 1, 0, 0, 0, 484, 447, 1, 0, 0, 0, 512, 535, 1, 656, 662, 1, 579, 656, 1, 636, 879, 1, 559, 862, 1, 0, 0, 0, 0, 0, 0, 658, 268, 1, 643, 371, 1], "image_id": 114683, "bbox": [507, 248, 171, 751], "category_id": 1, "id": 179165}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [312, 328, 1, 226, 332, 1, 344, 369, 1, 189, 370, 1, 334, 275, 1, 216, 303, 1, 305, 499, 1, 225, 497, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 233, 1, 269, 309, 1], "image_id": 117263, "bbox": [168, 216, 147, 284], "category_id": 1, "id": 179169}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [648, 201, 1, 557, 197, 1, 655, 266, 1, 542, 262, 1, 657, 326, 1, 534, 326, 1, 616, 324, 1, 561, 322, 1, 612, 403, 1, 563, 403, 1, 611, 482, 1, 561, 481, 1, 598, 112, 1, 600, 182, 1], "image_id": 115613, "bbox": [516, 90, 180, 274], "category_id": 1, "id": 179177}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 183, 1, 406, 163, 1, 433, 253, 1, 444, 175, 1, 430, 273, 1, 471, 176, 1, 380, 326, 1, 404, 352, 1, 310, 347, 1, 358, 500, 1, 307, 420, 1, 429, 621, 1, 354, 95, 1, 363, 155, 1], "image_id": 118571, "bbox": [217, 67, 298, 616], "category_id": 1, "id": 179179}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [227, 206, 1, 114, 212, 1, 257, 302, 1, 154, 286, 1, 346, 311, 1, 241, 273, 1, 221, 442, 1, 157, 443, 1, 220, 594, 1, 148, 599, 1, 215, 740, 1, 143, 739, 1, 171, 72, 1, 176, 182, 1], "image_id": 110305, "bbox": [85, 38, 237, 761], "category_id": 1, "id": 179180}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [655, 168, 1, 559, 167, 1, 686, 201, 1, 522, 199, 1, 689, 256, 1, 504, 257, 1, 652, 271, 1, 573, 275, 1, 671, 330, 1, 532, 296, 1, 675, 406, 1, 538, 401, 1, 579, 110, 1, 591, 167, 1], "image_id": 117268, "bbox": [485, 78, 228, 394], "category_id": 1, "id": 179202}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 229, 1, 462, 210, 1, 339, 370, 1, 466, 366, 1, 318, 417, 1, 380, 405, 1, 474, 492, 1, 493, 492, 1, 423, 670, 1, 470, 681, 1, 444, 872, 1, 517, 876, 1, 358, 90, 1, 408, 177, 1], "image_id": 110722, "bbox": [277, 59, 281, 861], "category_id": 1, "id": 179205}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [378, 287, 1, 284, 282, 1, 413, 351, 1, 280, 352, 1, 420, 431, 1, 252, 412, 1, 344, 430, 1, 299, 432, 1, 364, 552, 1, 269, 543, 1, 437, 659, 1, 255, 661, 1, 173, 131, 1, 197, 208, 1], "image_id": 114158, "bbox": [179, 157, 283, 555], "category_id": 1, "id": 179209}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 245, 1, 353, 170, 1, 576, 357, 1, 225, 237, 1, 664, 418, 1, 180, 219, 1, 430, 494, 1, 333, 494, 1, 446, 655, 1, 299, 667, 1, 478, 795, 1, 309, 853, 1, 472, 46, 1, 453, 165, 1], "image_id": 114867, "bbox": [101, 18, 668, 917], "category_id": 1, "id": 179211}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [436, 168, 1, 279, 143, 1, 468, 256, 1, 230, 251, 1, 448, 280, 1, 274, 329, 1, 368, 367, 1, 266, 363, 1, 364, 533, 1, 200, 507, 1, 361, 670, 1, 178, 646, 1, 295, 79, 1, 262, 165, 1], "image_id": 110657, "bbox": [105, 6, 386, 699], "category_id": 1, "id": 179213}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [754, 332, 1, 688, 344, 1, 791, 417, 1, 705, 417, 1, 857, 457, 1, 754, 373, 1, 760, 457, 1, 729, 460, 1, 820, 340, 1, 792, 340, 1, 823, 463, 1, 792, 463, 1, 722, 236, 1, 719, 308, 1], "image_id": 118139, "bbox": [658, 218, 266, 293], "category_id": 1, "id": 179244}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [166, 336, 1, 261, 307, 1, 145, 402, 1, 321, 278, 1, 173, 364, 1, 370, 240, 1, 172, 493, 1, 215, 492, 1, 164, 629, 1, 202, 631, 1, 166, 733, 1, 188, 742, 1, 203, 218, 1, 203, 293, 1], "image_id": 117882, "bbox": [107, 186, 289, 579], "category_id": 1, "id": 179247}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [303, 191, 1, 170, 186, 1, 353, 252, 1, 145, 286, 1, 373, 262, 1, 165, 292, 1, 286, 365, 1, 215, 367, 1, 267, 519, 1, 227, 513, 1, 252, 675, 1, 249, 593, 1, 239, 52, 1, 229, 157, 1], "image_id": 117239, "bbox": [93, 28, 337, 753], "category_id": 1, "id": 179248}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [409, 250, 1, 241, 238, 1, 390, 364, 1, 210, 348, 1, 394, 430, 1, 226, 446, 1, 295, 469, 1, 220, 441, 1, 243, 639, 1, 158, 636, 1, 97, 799, 1, 76, 701, 1, 342, 91, 1, 324, 198, 1], "image_id": 113080, "bbox": [20, 69, 405, 799], "category_id": 1, "id": 179251}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 379, 125, 1, 147, 144, 1, 422, 280, 1, 156, 283, 1, 298, 299, 1, 213, 299, 1, 290, 455, 1, 223, 457, 1, 288, 573, 1, 225, 571, 1, 398, 183, 1, 367, 280, 1], "image_id": 111192, "bbox": [113, 3, 328, 640], "category_id": 1, "id": 179258}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [194, 171, 1, 142, 184, 1, 322, 196, 1, 168, 272, 1, 459, 185, 1, 196, 332, 1, 267, 425, 1, 255, 439, 1, 339, 595, 1, 324, 587, 1, 348, 380, 1, 368, 415, 1, 77, 82, 1, 132, 179, 1], "image_id": 109282, "bbox": [32, 54, 399, 564], "category_id": 1, "id": 179264}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [451, 291, 1, 281, 261, 1, 477, 400, 1, 246, 360, 1, 458, 417, 1, 237, 468, 1, 382, 500, 1, 292, 497, 1, 367, 689, 1, 307, 692, 1, 0, 0, 0, 0, 0, 0, 351, 134, 1, 359, 244, 1], "image_id": 109627, "bbox": [202, 113, 296, 635], "category_id": 1, "id": 179268}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [154, 277, 1, 293, 302, 1, 82, 384, 1, 303, 430, 1, 162, 390, 1, 363, 410, 1, 197, 520, 1, 208, 532, 1, 320, 665, 1, 153, 716, 1, 0, 0, 0, 0, 0, 0, 245, 144, 1, 227, 240, 1], "image_id": 117687, "bbox": [48, 136, 364, 635], "category_id": 1, "id": 179270}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [485, 111, 1, 381, 121, 1, 462, 218, 1, 360, 217, 1, 401, 308, 1, 326, 314, 1, 560, 149, 1, 491, 155, 1, 546, 282, 1, 451, 282, 1, 572, 447, 1, 528, 429, 1, 403, 56, 1, 425, 98, 1], "image_id": 115800, "bbox": [261, 33, 338, 422], "category_id": 1, "id": 179301}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [258, 13, 1, 164, 13, 1, 260, 116, 1, 155, 82, 1, 200, 62, 1, 123, 151, 1, 227, 191, 1, 176, 189, 1, 231, 298, 1, 172, 296, 1, 232, 422, 1, 164, 424, 1, 0, 0, 0, 213, 4, 1], "image_id": 117166, "bbox": [80, 2, 211, 474], "category_id": 1, "id": 179304}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [212, 138, 1, 38, 114, 1, 223, 252, 1, 0, 0, 0, 246, 348, 1, 0, 0, 0, 163, 357, 1, 69, 353, 1, 127, 546, 1, 88, 535, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 87, 1], "image_id": 114624, "bbox": [0, 0, 274, 595], "category_id": 1, "id": 179310}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [332, 217, 1, 153, 147, 1, 451, 279, 1, 26, 180, 1, 540, 333, 1, 107, 211, 1, 157, 394, 1, 50, 359, 1, 43, 589, 1, 137, 539, 1, 0, 0, 0, 0, 0, 0, 473, 77, 1, 435, 187, 1], "image_id": 109729, "bbox": [0, 42, 637, 556], "category_id": 1, "id": 179334}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 201, 1, 530, 207, 1, 430, 250, 1, 548, 310, 1, 381, 286, 1, 528, 344, 1, 452, 418, 1, 524, 419, 1, 429, 627, 1, 536, 604, 1, 456, 787, 1, 596, 707, 1, 463, 95, 1, 475, 175, 1], "image_id": 114683, "bbox": [314, 77, 339, 826], "category_id": 1, "id": 179339}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [67, 168, 1, 29, 169, 1, 79, 192, 1, 32, 190, 1, 55, 195, 1, 36, 195, 1, 69, 207, 1, 48, 208, 1, 58, 237, 1, 39, 238, 1, 68, 266, 1, 45, 266, 1, 44, 124, 1, 47, 162, 1], "image_id": 113597, "bbox": [16, 116, 60, 85], "category_id": 1, "id": 179345}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [693, 552, 1, 589, 458, 1, 729, 652, 1, 543, 402, 1, 824, 669, 1, 588, 339, 1, 472, 617, 1, 430, 544, 1, 390, 618, 1, 284, 572, 1, 277, 624, 1, 276, 647, 1, 667, 406, 1, 636, 488, 1], "image_id": 115567, "bbox": [208, 300, 676, 386], "category_id": 1, "id": 179347}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 273, 1, 509, 303, 1, 420, 260, 1, 496, 379, 1, 385, 237, 1, 544, 433, 1, 492, 464, 1, 527, 457, 1, 549, 466, 1, 590, 450, 1, 511, 514, 1, 555, 510, 1, 525, 186, 1, 498, 267, 1], "image_id": 114409, "bbox": [348, 162, 264, 450], "category_id": 1, "id": 179359}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [369, 142, 1, 268, 138, 1, 387, 213, 1, 240, 213, 1, 392, 288, 1, 214, 269, 1, 347, 285, 1, 303, 280, 1, 365, 383, 1, 318, 380, 1, 340, 455, 1, 320, 491, 1, 319, 45, 1, 319, 119, 1], "image_id": 115061, "bbox": [202, 31, 201, 507], "category_id": 1, "id": 179385}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [198, 454, 1, 134, 456, 1, 186, 495, 1, 101, 492, 1, 164, 521, 1, 63, 517, 1, 205, 531, 1, 162, 520, 1, 161, 534, 1, 106, 536, 1, 105, 560, 1, 14, 553, 1, 157, 395, 1, 167, 438, 1], "image_id": 117665, "bbox": [0, 385, 228, 188], "category_id": 1, "id": 179395}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [327, 241, 1, 288, 248, 1, 364, 323, 1, 250, 359, 1, 428, 333, 1, 321, 433, 1, 243, 370, 1, 200, 372, 1, 271, 523, 1, 226, 551, 1, 0, 0, 0, 0, 0, 0, 421, 161, 1, 350, 219, 1], "image_id": 112724, "bbox": [111, 124, 359, 494], "category_id": 1, "id": 179398}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [146, 204, 1, 54, 76, 1, 139, 352, 1, 0, 0, 0, 179, 416, 1, 131, 93, 1, 74, 398, 1, 0, 0, 0, 156, 563, 1, 48, 546, 1, 209, 737, 1, 0, 0, 0, 178, 9, 1, 116, 102, 1], "image_id": 115881, "bbox": [2, 0, 329, 905], "category_id": 1, "id": 179401}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [224, 193, 1, 63, 190, 1, 231, 334, 1, 53, 318, 1, 188, 292, 1, 102, 347, 1, 166, 455, 1, 92, 450, 1, 178, 635, 1, 68, 630, 1, 173, 789, 1, 91, 786, 1, 144, 30, 1, 138, 159, 1], "image_id": 110112, "bbox": [3, 4, 255, 866], "category_id": 1, "id": 179404}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [874, 219, 1, 822, 231, 1, 849, 257, 1, 807, 340, 1, 782, 284, 1, 741, 309, 1, 848, 490, 1, 830, 491, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 783, 99, 1, 825, 196, 1], "image_id": 111322, "bbox": [699, 69, 234, 556], "category_id": 1, "id": 179459}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [429, 471, 1, 366, 423, 1, 429, 553, 1, 306, 431, 1, 423, 625, 1, 268, 425, 1, 378, 590, 1, 374, 624, 1, 268, 496, 1, 389, 726, 1, 190, 596, 1, 407, 844, 1, 301, 355, 1, 296, 427, 1], "image_id": 110175, "bbox": [131, 342, 319, 568], "category_id": 1, "id": 179469}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [343, 194, 1, 269, 202, 1, 378, 232, 1, 262, 278, 1, 389, 264, 1, 323, 304, 1, 359, 330, 1, 303, 342, 1, 379, 433, 1, 317, 437, 1, 0, 0, 0, 0, 0, 0, 318, 113, 1, 309, 178, 1], "image_id": 116458, "bbox": [232, 83, 181, 396], "category_id": 1, "id": 179490}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [659, 197, 1, 755, 199, 1, 623, 241, 1, 803, 217, 1, 667, 255, 1, 750, 261, 1, 625, 329, 1, 653, 325, 1, 666, 399, 1, 667, 434, 1, 653, 475, 1, 575, 493, 1, 746, 136, 1, 714, 178, 1], "image_id": 119060, "bbox": [524, 119, 309, 463], "category_id": 1, "id": 179527}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [20, 262, 1, 149, 357, 1, 179, 354, 1, 293, 454, 1, 255, 471, 1, 237, 350, 1, 231, 491, 1, 266, 582, 1, 390, 477, 1, 516, 579, 1, 0, 0, 0, 0, 0, 0, 220, 67, 1, 125, 214, 1], "image_id": 114481, "bbox": [0, 12, 551, 583], "category_id": 1, "id": 179530}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [198, 205, 1, 212, 203, 1, 191, 207, 1, 219, 204, 1, 184, 207, 1, 223, 199, 1, 207, 275, 1, 226, 275, 1, 206, 330, 1, 223, 336, 1, 204, 384, 1, 230, 383, 1, 209, 169, 1, 211, 195, 1], "image_id": 114473, "bbox": [160, 159, 124, 266], "category_id": 1, "id": 179532}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [749, 194, 1, 685, 192, 1, 772, 246, 1, 658, 239, 1, 782, 280, 1, 644, 274, 1, 734, 281, 1, 705, 281, 1, 744, 346, 1, 697, 347, 1, 741, 407, 1, 714, 425, 1, 712, 131, 1, 712, 177, 1], "image_id": 115061, "bbox": [624, 116, 170, 339], "category_id": 1, "id": 179547}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [370, 267, 1, 172, 265, 1, 389, 394, 1, 200, 417, 1, 333, 274, 1, 346, 415, 1, 382, 508, 1, 251, 520, 1, 502, 659, 1, 275, 656, 1, 529, 855, 1, 287, 870, 1, 285, 78, 1, 274, 226, 1], "image_id": 115525, "bbox": [131, 40, 415, 704], "category_id": 1, "id": 179549}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 75, 368, 1, 37, 396, 1, 209, 401, 1, 173, 431, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 606, 1, 121, 641, 1, 0, 0, 0, 0, 0, 0], "image_id": 109386, "bbox": [2, 145, 290, 571], "category_id": 1, "id": 179559}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [480, 401, 1, 378, 383, 1, 495, 510, 1, 351, 472, 1, 496, 597, 1, 327, 534, 1, 439, 584, 1, 378, 577, 1, 392, 727, 1, 399, 727, 1, 356, 875, 1, 439, 865, 1, 420, 268, 1, 425, 356, 1], "image_id": 118868, "bbox": [276, 238, 283, 712], "category_id": 1, "id": 179590}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [487, 116, 1, 470, 114, 1, 489, 129, 1, 466, 125, 1, 483, 131, 1, 468, 132, 1, 485, 138, 1, 477, 138, 1, 488, 154, 1, 471, 155, 1, 496, 170, 1, 463, 171, 1, 480, 95, 1, 480, 112, 1], "image_id": 115517, "bbox": [451, 89, 54, 99], "category_id": 1, "id": 179596}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [246, 352, 1, 190, 352, 1, 256, 403, 1, 179, 389, 1, 254, 434, 1, 173, 433, 1, 237, 436, 1, 202, 434, 1, 235, 503, 1, 204, 505, 1, 234, 567, 1, 204, 564, 1, 214, 290, 1, 216, 334, 1], "image_id": 116555, "bbox": [163, 277, 100, 322], "category_id": 1, "id": 179612}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [624, 179, 1, 520, 179, 1, 548, 306, 1, 512, 309, 1, 505, 216, 1, 614, 322, 1, 682, 383, 1, 618, 375, 1, 533, 359, 1, 491, 360, 1, 561, 586, 1, 464, 556, 1, 526, 64, 1, 563, 164, 1], "image_id": 119210, "bbox": [365, 41, 385, 620], "category_id": 1, "id": 179613}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [178, 250, 1, 136, 249, 1, 265, 225, 1, 143, 356, 1, 284, 163, 1, 143, 446, 1, 151, 461, 1, 168, 459, 1, 173, 612, 1, 271, 584, 1, 132, 750, 1, 354, 688, 1, 134, 122, 1, 150, 217, 1], "image_id": 119691, "bbox": [41, 100, 405, 707], "category_id": 1, "id": 179644}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [359, 215, 1, 275, 230, 1, 402, 219, 1, 290, 296, 1, 399, 191, 1, 331, 292, 1, 386, 368, 1, 344, 379, 1, 363, 480, 1, 325, 474, 1, 0, 0, 0, 0, 0, 0, 272, 135, 1, 304, 196, 1], "image_id": 119867, "bbox": [227, 101, 203, 462], "category_id": 1, "id": 179645}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [748, 241, 1, 616, 231, 1, 766, 307, 1, 571, 320, 1, 779, 382, 1, 632, 342, 1, 681, 427, 1, 617, 422, 1, 664, 509, 1, 599, 554, 1, 616, 642, 1, 591, 644, 1, 689, 128, 1, 685, 219, 1], "image_id": 114636, "bbox": [548, 106, 243, 610], "category_id": 1, "id": 179646}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [653, 138, 1, 664, 136, 1, 660, 201, 1, 683, 177, 1, 636, 238, 1, 675, 219, 1, 688, 252, 1, 703, 248, 1, 664, 334, 1, 734, 314, 1, 669, 407, 1, 776, 388, 1, 627, 89, 1, 644, 119, 1], "image_id": 119816, "bbox": [602, 69, 205, 373], "category_id": 1, "id": 179651}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [56, 430, 1, 123, 432, 1, 40, 474, 1, 119, 483, 1, 61, 491, 1, 120, 459, 1, 68, 530, 1, 98, 530, 1, 79, 591, 1, 101, 597, 1, 87, 660, 1, 100, 669, 1, 84, 379, 1, 87, 416, 1], "image_id": 114577, "bbox": [28, 367, 111, 326], "category_id": 1, "id": 179656}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [467, 285, 1, 354, 283, 1, 474, 196, 1, 349, 193, 1, 460, 93, 1, 379, 105, 1, 456, 519, 1, 388, 527, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 181, 1, 406, 274, 1], "image_id": 114863, "bbox": [318, 20, 188, 604], "category_id": 1, "id": 179665}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [558, 174, 1, 483, 178, 1, 565, 224, 1, 469, 232, 1, 552, 231, 1, 490, 226, 1, 539, 258, 1, 496, 261, 1, 567, 278, 1, 455, 273, 1, 490, 286, 1, 520, 285, 1, 512, 106, 1, 521, 160, 1], "image_id": 114339, "bbox": [445, 69, 133, 238], "category_id": 1, "id": 179669}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 424, 1, 156, 395, 1, 261, 479, 1, 94, 469, 1, 235, 450, 1, 145, 469, 1, 230, 481, 1, 158, 510, 1, 262, 539, 1, 197, 562, 1, 260, 608, 1, 191, 616, 1, 238, 336, 1, 220, 395, 1], "image_id": 113188, "bbox": [77, 282, 216, 216], "category_id": 1, "id": 179718}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [471, 631, 1, 285, 500, 1, 470, 764, 1, 211, 383, 1, 461, 843, 1, 341, 344, 1, 349, 877, 1, 223, 869, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 390, 1, 389, 526, 1], "image_id": 113809, "bbox": [160, 298, 349, 641], "category_id": 1, "id": 179720}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [795, 266, 1, 641, 261, 1, 783, 364, 1, 567, 295, 1, 705, 281, 1, 563, 220, 1, 737, 554, 1, 650, 556, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 719, 138, 1, 719, 240, 1], "image_id": 115235, "bbox": [521, 120, 305, 534], "category_id": 1, "id": 179722}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [481, 53, 1, 414, 50, 1, 442, 87, 1, 395, 96, 1, 407, 90, 1, 438, 98, 1, 457, 140, 1, 412, 135, 1, 412, 159, 1, 360, 149, 1, 414, 229, 1, 362, 222, 1, 0, 0, 0, 445, 32, 1], "image_id": 119210, "bbox": [346, 0, 150, 242], "category_id": 1, "id": 179724}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 367, 1, 204, 266, 1, 261, 494, 1, 97, 191, 1, 185, 496, 1, 127, 237, 1, 217, 535, 1, 150, 527, 1, 251, 700, 1, 102, 706, 1, 306, 846, 1, 84, 842, 1, 291, 223, 1, 242, 299, 1], "image_id": 112738, "bbox": [68, 164, 278, 734], "category_id": 1, "id": 179736}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [535, 326, 1, 417, 357, 1, 613, 400, 1, 317, 385, 1, 698, 469, 1, 232, 350, 1, 611, 552, 1, 512, 541, 1, 0, 0, 0, 397, 619, 1, 0, 0, 0, 0, 0, 0, 454, 226, 1, 472, 319, 1], "image_id": 111871, "bbox": [167, 211, 616, 415], "category_id": 1, "id": 179748}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [216, 196, 1, 89, 223, 1, 292, 286, 1, 34, 289, 1, 292, 362, 1, 12, 368, 1, 249, 410, 1, 157, 404, 1, 214, 568, 1, 93, 542, 1, 176, 657, 1, 40, 653, 1, 153, 85, 1, 148, 187, 1], "image_id": 112608, "bbox": [3, 55, 307, 678], "category_id": 1, "id": 179749}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [552, 153, 1, 426, 166, 1, 613, 218, 1, 384, 203, 1, 672, 260, 1, 361, 273, 1, 554, 339, 1, 487, 340, 1, 653, 439, 1, 499, 398, 1, 694, 535, 1, 525, 519, 1, 482, 72, 1, 490, 142, 1], "image_id": 117618, "bbox": [389, 36, 371, 537], "category_id": 1, "id": 179757}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [634, 231, 1, 507, 158, 1, 666, 396, 1, 512, 219, 1, 669, 345, 1, 569, 253, 1, 521, 471, 1, 399, 470, 1, 590, 678, 1, 300, 650, 1, 560, 839, 1, 354, 765, 1, 613, 79, 1, 577, 179, 1], "image_id": 110718, "bbox": [249, 56, 487, 805], "category_id": 1, "id": 179761}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [733, 171, 1, 587, 189, 1, 781, 272, 1, 564, 310, 1, 798, 381, 1, 551, 416, 1, 723, 419, 1, 633, 417, 1, 732, 565, 1, 617, 571, 1, 751, 498, 1, 654, 515, 1, 622, 88, 1, 657, 166, 1], "image_id": 116291, "bbox": [533, 53, 291, 517], "category_id": 1, "id": 179767}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [476, 287, 1, 256, 276, 1, 473, 461, 1, 220, 447, 1, 378, 320, 1, 335, 414, 1, 430, 624, 1, 304, 631, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 117, 1, 360, 249, 1], "image_id": 109418, "bbox": [100, 82, 447, 740], "category_id": 1, "id": 179771}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [132, 449, 1, 67, 412, 1, 130, 477, 1, 61, 467, 1, 126, 507, 1, 58, 501, 1, 110, 494, 1, 78, 496, 1, 113, 570, 1, 77, 567, 1, 111, 625, 1, 70, 625, 1, 133, 359, 1, 102, 430, 1], "image_id": 109851, "bbox": [44, 343, 118, 129], "category_id": 1, "id": 179774}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [420, 530, 1, 559, 502, 1, 426, 369, 1, 548, 317, 1, 442, 215, 1, 559, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, 40, 1, 489, 514, 1], "image_id": 117250, "bbox": [373, 73, 280, 526], "category_id": 1, "id": 179782}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [712, 101, 1, 552, 95, 1, 777, 160, 1, 489, 152, 1, 828, 167, 1, 546, 203, 1, 630, 320, 1, 577, 284, 1, 661, 418, 1, 557, 320, 1, 574, 547, 1, 523, 487, 1, 0, 0, 0, 630, 72, 1], "image_id": 116134, "bbox": [460, 2, 435, 622], "category_id": 1, "id": 179790}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [594, 126, 1, 420, 189, 1, 708, 123, 1, 404, 274, 1, 798, 127, 1, 398, 326, 1, 597, 343, 1, 482, 358, 1, 657, 487, 1, 453, 520, 1, 605, 549, 1, 400, 604, 1, 489, 28, 1, 499, 127, 1], "image_id": 112672, "bbox": [345, 11, 518, 656], "category_id": 1, "id": 179791}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [576, 335, 1, 538, 341, 1, 567, 417, 1, 488, 413, 1, 600, 501, 1, 506, 489, 1, 460, 335, 1, 411, 316, 1, 499, 428, 1, 462, 424, 1, 444, 553, 1, 413, 553, 1, 635, 316, 1, 576, 324, 1], "image_id": 117956, "bbox": [370, 242, 290, 347], "category_id": 1, "id": 179804}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [108, 288, 1, 70, 286, 1, 115, 316, 1, 58, 315, 1, 122, 339, 1, 56, 336, 1, 98, 349, 1, 82, 349, 1, 97, 379, 1, 81, 376, 1, 94, 404, 1, 76, 405, 1, 95, 250, 1, 91, 277, 1], "image_id": 113444, "bbox": [46, 242, 76, 168], "category_id": 1, "id": 179807}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [387, 95, 1, 313, 91, 1, 377, 147, 1, 294, 143, 1, 329, 166, 1, 342, 153, 1, 360, 190, 1, 320, 187, 1, 336, 242, 1, 290, 249, 1, 355, 279, 1, 322, 286, 1, 359, 3, 1, 353, 83, 1], "image_id": 118872, "bbox": [282, 0, 122, 180], "category_id": 1, "id": 179843}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [536, 152, 1, 407, 214, 1, 621, 169, 1, 345, 281, 1, 700, 139, 1, 321, 317, 1, 567, 375, 1, 509, 376, 1, 557, 516, 1, 605, 453, 1, 453, 575, 1, 671, 579, 1, 487, 85, 1, 465, 164, 1], "image_id": 115115, "bbox": [293, 57, 464, 596], "category_id": 1, "id": 179872}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [268, 69, 1, 252, 72, 1, 272, 97, 1, 256, 108, 1, 279, 119, 1, 276, 129, 1, 271, 130, 1, 257, 131, 1, 275, 177, 1, 260, 181, 1, 278, 208, 1, 263, 219, 1, 268, 29, 1, 261, 59, 1], "image_id": 109775, "bbox": [233, 22, 56, 213], "category_id": 1, "id": 179875}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 317, 1, 502, 322, 1, 516, 350, 1, 506, 365, 1, 465, 350, 1, 473, 384, 1, 525, 418, 1, 507, 418, 1, 515, 467, 1, 479, 470, 1, 527, 511, 1, 484, 520, 1, 489, 259, 1, 509, 301, 1], "image_id": 111552, "bbox": [455, 245, 92, 302], "category_id": 1, "id": 179877}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [334, 164, 1, 200, 163, 1, 350, 256, 1, 156, 224, 1, 289, 281, 1, 71, 241, 1, 300, 316, 1, 218, 319, 1, 301, 442, 1, 227, 447, 1, 311, 569, 1, 183, 594, 1, 258, 44, 1, 262, 134, 1], "image_id": 114119, "bbox": [11, 28, 363, 597], "category_id": 1, "id": 179885}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [646, 312, 1, 480, 308, 1, 668, 498, 1, 450, 418, 1, 651, 643, 1, 455, 516, 1, 574, 642, 1, 487, 633, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 104, 1, 553, 264, 1], "image_id": 116073, "bbox": [422, 85, 290, 580], "category_id": 1, "id": 179891}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [346, 224, 1, 304, 227, 1, 341, 195, 1, 293, 208, 1, 326, 172, 1, 299, 176, 1, 336, 298, 1, 310, 298, 1, 342, 351, 1, 305, 351, 1, 347, 391, 1, 303, 393, 1, 324, 181, 1, 324, 220, 1], "image_id": 114863, "bbox": [279, 138, 88, 281], "category_id": 1, "id": 179901}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [414, 450, 1, 255, 443, 1, 444, 607, 1, 236, 570, 1, 467, 521, 1, 219, 673, 1, 380, 709, 1, 276, 705, 1, 303, 838, 1, 223, 834, 1, 0, 0, 0, 0, 0, 0, 353, 299, 1, 330, 403, 1], "image_id": 112642, "bbox": [31, 259, 502, 640], "category_id": 1, "id": 179906}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [179, 107, 1, 202, 96, 1, 213, 189, 1, 221, 169, 1, 269, 181, 1, 260, 141, 1, 164, 229, 1, 190, 228, 1, 230, 275, 1, 264, 292, 1, 217, 361, 1, 232, 367, 1, 187, 43, 1, 190, 91, 1], "image_id": 118016, "bbox": [143, 32, 165, 387], "category_id": 1, "id": 179909}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [356, 254, 1, 333, 248, 1, 341, 271, 1, 319, 261, 1, 329, 267, 1, 304, 261, 1, 349, 297, 1, 335, 297, 1, 357, 336, 1, 338, 336, 1, 362, 377, 1, 338, 376, 1, 351, 223, 1, 346, 244, 1], "image_id": 114473, "bbox": [289, 213, 90, 175], "category_id": 1, "id": 179912}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [86, 226, 1, 211, 239, 1, 90, 327, 1, 281, 327, 1, 200, 262, 1, 312, 276, 1, 144, 467, 1, 213, 469, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 91, 1, 157, 193, 1], "image_id": 114640, "bbox": [60, 73, 286, 461], "category_id": 1, "id": 179916}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [554, 381, 1, 445, 467, 1, 627, 316, 1, 382, 561, 1, 698, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 321, 352, 1, 350, 419, 1], "image_id": 119743, "bbox": [343, 102, 448, 496], "category_id": 1, "id": 179920}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [653, 449, 1, 556, 433, 1, 652, 530, 1, 534, 508, 1, 603, 565, 1, 562, 548, 1, 640, 564, 1, 569, 550, 1, 642, 591, 1, 489, 553, 1, 637, 661, 1, 521, 631, 1, 591, 347, 1, 599, 420, 1], "image_id": 112259, "bbox": [467, 323, 222, 414], "category_id": 1, "id": 179927}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [432, 233, 1, 351, 242, 1, 472, 301, 1, 358, 320, 1, 470, 383, 1, 364, 381, 1, 483, 339, 1, 406, 352, 1, 478, 438, 1, 373, 447, 1, 512, 559, 1, 341, 535, 1, 374, 155, 1, 473, 165, 1], "image_id": 112072, "bbox": [288, 128, 262, 442], "category_id": 1, "id": 179928}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [171, 172, 1, 68, 195, 1, 211, 294, 1, 114, 297, 1, 108, 319, 1, 109, 394, 1, 171, 392, 1, 106, 395, 1, 169, 533, 1, 126, 530, 1, 172, 676, 1, 164, 673, 1, 69, 78, 1, 105, 158, 1], "image_id": 109328, "bbox": [35, 49, 199, 604], "category_id": 1, "id": 179935}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [675, 239, 1, 583, 239, 1, 709, 383, 1, 542, 333, 1, 583, 379, 1, 544, 268, 1, 626, 498, 1, 553, 496, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 73, 1, 618, 204, 1], "image_id": 111961, "bbox": [489, 57, 240, 579], "category_id": 1, "id": 179958}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [469, 110, 1, 403, 129, 1, 486, 137, 1, 370, 141, 1, 460, 151, 1, 350, 168, 1, 479, 209, 1, 432, 228, 1, 498, 212, 1, 404, 266, 1, 518, 252, 1, 380, 311, 1, 427, 56, 1, 436, 107, 1], "image_id": 111567, "bbox": [332, 45, 221, 309], "category_id": 1, "id": 179962}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [202, 122, 1, 109, 133, 1, 233, 167, 1, 92, 180, 1, 262, 201, 1, 98, 143, 1, 175, 278, 1, 137, 279, 1, 163, 396, 1, 175, 383, 1, 106, 494, 1, 129, 485, 1, 133, 32, 1, 153, 110, 1], "image_id": 109122, "bbox": [61, 5, 165, 557], "category_id": 1, "id": 179981}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [462, 212, 1, 326, 211, 1, 468, 336, 1, 316, 335, 1, 477, 426, 1, 299, 426, 1, 419, 415, 1, 348, 416, 1, 410, 601, 1, 360, 604, 1, 413, 755, 1, 377, 756, 1, 393, 63, 1, 393, 178, 1], "image_id": 109899, "bbox": [267, 40, 237, 809], "category_id": 1, "id": 179985}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [759, 369, 1, 620, 372, 1, 776, 461, 1, 600, 475, 1, 752, 476, 1, 634, 455, 1, 737, 588, 1, 643, 588, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 692, 238, 1, 689, 334, 1], "image_id": 110202, "bbox": [560, 183, 244, 449], "category_id": 1, "id": 179991}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [446, 190, 1, 568, 153, 1, 430, 266, 1, 629, 210, 1, 463, 295, 1, 659, 210, 1, 537, 358, 1, 633, 340, 1, 516, 446, 1, 704, 394, 1, 529, 567, 1, 754, 500, 1, 499, 49, 1, 499, 124, 1], "image_id": 115132, "bbox": [407, 29, 387, 573], "category_id": 1, "id": 180005}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [708, 305, 1, 684, 300, 1, 740, 345, 1, 699, 338, 1, 763, 324, 1, 724, 331, 1, 699, 416, 1, 688, 416, 1, 691, 481, 1, 681, 482, 1, 681, 560, 1, 679, 546, 1, 719, 242, 1, 708, 284, 1], "image_id": 115657, "bbox": [656, 231, 134, 355], "category_id": 1, "id": 180014}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [370, 238, 1, 270, 247, 1, 414, 325, 1, 283, 308, 1, 332, 332, 1, 274, 341, 1, 352, 410, 1, 302, 411, 1, 341, 532, 1, 311, 534, 1, 0, 0, 0, 0, 0, 0, 313, 132, 1, 313, 221, 1], "image_id": 111349, "bbox": [250, 122, 179, 502], "category_id": 1, "id": 180019}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [244, 438, 1, 320, 415, 1, 303, 413, 1, 435, 389, 1, 237, 322, 1, 382, 289, 1, 483, 410, 1, 507, 397, 1, 413, 240, 1, 370, 237, 1, 490, 198, 1, 545, 185, 1, 156, 360, 1, 245, 410, 1], "image_id": 113454, "bbox": [103, 83, 478, 400], "category_id": 1, "id": 180025}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [307, 314, 1, 174, 363, 1, 389, 376, 1, 212, 470, 1, 433, 393, 1, 286, 486, 1, 322, 548, 1, 245, 550, 1, 339, 709, 1, 203, 702, 1, 353, 846, 1, 186, 851, 1, 185, 236, 1, 229, 318, 1], "image_id": 109153, "bbox": [120, 187, 334, 738], "category_id": 1, "id": 180031}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [597, 198, 1, 374, 191, 1, 684, 384, 1, 319, 338, 1, 772, 385, 1, 457, 345, 1, 500, 450, 1, 402, 457, 1, 531, 607, 1, 410, 615, 1, 0, 0, 0, 0, 0, 0, 547, 63, 1, 496, 155, 1], "image_id": 111656, "bbox": [277, 4, 546, 586], "category_id": 1, "id": 180043}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [210, 317, 1, 110, 371, 1, 294, 379, 1, 158, 455, 1, 307, 423, 1, 234, 406, 1, 277, 426, 1, 262, 480, 1, 399, 441, 1, 377, 479, 1, 475, 546, 1, 478, 526, 1, 124, 231, 1, 146, 318, 1], "image_id": 117171, "bbox": [82, 220, 465, 381], "category_id": 1, "id": 180058}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [465, 341, 1, 361, 342, 1, 483, 393, 1, 333, 383, 1, 509, 405, 1, 344, 410, 1, 434, 530, 1, 375, 529, 1, 427, 650, 1, 353, 657, 1, 424, 768, 1, 371, 593, 1, 396, 235, 1, 410, 317, 1], "image_id": 114410, "bbox": [325, 217, 211, 603], "category_id": 1, "id": 180067}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [365, 411, 1, 219, 432, 1, 454, 360, 1, 164, 334, 1, 402, 258, 1, 247, 246, 1, 355, 686, 1, 268, 696, 1, 367, 862, 1, 282, 875, 1, 0, 0, 0, 0, 0, 0, 257, 307, 1, 289, 397, 1], "image_id": 115502, "bbox": [131, 170, 354, 767], "category_id": 1, "id": 180073}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [941, 260, 1, 910, 257, 1, 0, 0, 0, 890, 278, 1, 0, 0, 0, 873, 293, 1, 927, 324, 1, 907, 322, 1, 925, 364, 1, 902, 361, 1, 922, 398, 1, 904, 397, 1, 929, 221, 1, 924, 250, 1], "image_id": 113693, "bbox": [851, 213, 97, 203], "category_id": 1, "id": 180075}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [490, 703, 1, 602, 658, 1, 441, 581, 1, 591, 560, 1, 409, 470, 1, 548, 411, 1, 477, 930, 1, 553, 943, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 609, 1, 554, 688, 1], "image_id": 118989, "bbox": [340, 320, 377, 679], "category_id": 1, "id": 180082}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [461, 251, 1, 473, 246, 1, 545, 297, 1, 561, 351, 1, 611, 361, 1, 631, 382, 1, 413, 503, 1, 442, 504, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 136, 1, 482, 221, 1], "image_id": 110466, "bbox": [363, 119, 264, 513], "category_id": 1, "id": 180089}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [522, 312, 1, 532, 325, 1, 518, 432, 1, 525, 430, 1, 554, 521, 1, 564, 519, 1, 345, 429, 1, 382, 431, 1, 303, 568, 1, 424, 579, 1, 208, 523, 1, 327, 586, 1, 449, 341, 1, 332, 562, 1], "image_id": 116291, "bbox": [148, 268, 481, 295], "category_id": 1, "id": 180101}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [772, 251, 1, 665, 250, 1, 738, 362, 1, 632, 347, 1, 675, 443, 1, 631, 418, 1, 729, 509, 1, 669, 506, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 109, 1, 715, 219, 1], "image_id": 111322, "bbox": [590, 95, 204, 531], "category_id": 1, "id": 180103}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 376, 1, 591, 373, 1, 602, 404, 1, 589, 401, 1, 581, 409, 1, 584, 413, 1, 607, 435, 1, 594, 434, 1, 609, 480, 1, 596, 479, 1, 608, 518, 1, 600, 517, 1, 603, 339, 1, 603, 366, 1], "image_id": 115713, "bbox": [558, 336, 70, 199], "category_id": 1, "id": 180118}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [457, 313, 1, 342, 338, 1, 514, 387, 1, 301, 411, 1, 445, 414, 1, 322, 334, 1, 443, 500, 1, 377, 497, 1, 441, 635, 1, 398, 623, 1, 439, 757, 1, 402, 757, 1, 377, 210, 1, 400, 297, 1], "image_id": 111658, "bbox": [280, 191, 255, 614], "category_id": 1, "id": 180138}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [103, 137, 1, 81, 149, 1, 121, 166, 1, 103, 173, 1, 133, 153, 1, 133, 182, 1, 81, 212, 1, 70, 212, 1, 100, 258, 1, 89, 260, 1, 99, 304, 1, 85, 307, 1, 108, 95, 1, 91, 131, 1], "image_id": 113030, "bbox": [45, 81, 114, 157], "category_id": 1, "id": 180151}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 608, 53, 1, 307, 20, 1, 531, 91, 1, 456, 91, 1, 534, 233, 1, 433, 248, 1, 553, 359, 1, 452, 353, 1, 316, 56, 1, 316, 103, 1], "image_id": 118089, "bbox": [252, 0, 385, 309], "category_id": 1, "id": 180165}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [603, 229, 1, 472, 226, 1, 661, 324, 1, 417, 256, 1, 694, 399, 1, 375, 260, 1, 582, 437, 1, 518, 437, 1, 592, 607, 1, 518, 598, 1, 0, 0, 0, 0, 0, 0, 525, 107, 1, 533, 204, 1], "image_id": 114668, "bbox": [313, 85, 332, 546], "category_id": 1, "id": 180169}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [575, 158, 1, 504, 163, 1, 586, 186, 1, 522, 238, 1, 598, 210, 1, 564, 280, 1, 555, 292, 1, 517, 293, 1, 546, 400, 1, 517, 397, 1, 540, 521, 1, 519, 525, 1, 570, 75, 1, 539, 134, 1], "image_id": 118768, "bbox": [476, 58, 145, 192], "category_id": 1, "id": 180171}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [359, 115, 1, 331, 159, 1, 395, 134, 1, 341, 190, 1, 389, 181, 1, 344, 227, 1, 407, 190, 1, 372, 189, 1, 398, 261, 1, 371, 261, 1, 412, 318, 1, 369, 328, 1, 303, 100, 1, 331, 126, 1], "image_id": 119562, "bbox": [288, 84, 142, 270], "category_id": 1, "id": 180178}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [604, 261, 1, 440, 245, 1, 671, 342, 1, 365, 216, 1, 610, 424, 1, 278, 213, 1, 536, 521, 1, 452, 512, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 109, 1, 513, 223, 1], "image_id": 117410, "bbox": [221, 79, 488, 518], "category_id": 1, "id": 180191}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [751, 158, 1, 609, 121, 1, 769, 274, 1, 562, 215, 1, 816, 363, 1, 628, 221, 1, 694, 337, 1, 607, 325, 1, 679, 481, 1, 561, 516, 1, 617, 633, 1, 545, 607, 1, 689, 19, 1, 680, 114, 1], "image_id": 114579, "bbox": [505, 1, 364, 691], "category_id": 1, "id": 180201}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [510, 186, 1, 391, 124, 1, 521, 257, 1, 310, 149, 1, 571, 297, 1, 247, 183, 1, 439, 307, 1, 361, 322, 1, 456, 413, 1, 360, 474, 1, 462, 544, 1, 377, 519, 1, 476, 43, 1, 467, 127, 1], "image_id": 117502, "bbox": [172, 29, 472, 578], "category_id": 1, "id": 180209}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [604, 253, 1, 637, 242, 1, 541, 288, 1, 615, 323, 1, 410, 291, 1, 549, 368, 1, 680, 465, 1, 729, 481, 1, 566, 564, 1, 665, 635, 1, 473, 720, 1, 651, 831, 1, 544, 165, 1, 599, 225, 1], "image_id": 117688, "bbox": [339, 137, 438, 731], "category_id": 1, "id": 180212}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [244, 339, 1, 237, 342, 1, 296, 422, 1, 286, 422, 1, 326, 373, 1, 325, 361, 1, 158, 492, 1, 148, 498, 1, 252, 557, 1, 262, 580, 1, 181, 685, 1, 171, 720, 1, 270, 256, 1, 256, 324, 1], "image_id": 112834, "bbox": [78, 242, 246, 512], "category_id": 1, "id": 180218}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [287, 714, 1, 140, 722, 1, 329, 829, 1, 113, 818, 1, 316, 941, 1, 97, 940, 1, 396, 588, 1, 257, 660, 1, 552, 607, 1, 333, 790, 1, 493, 414, 1, 424, 896, 1, 131, 745, 1, 201, 715, 1], "image_id": 110918, "bbox": [29, 351, 553, 640], "category_id": 1, "id": 180225}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 260, 1, 248, 268, 1, 395, 397, 1, 229, 393, 1, 410, 286, 1, 364, 435, 1, 289, 460, 1, 171, 443, 1, 410, 464, 1, 279, 493, 1, 313, 593, 1, 208, 605, 1, 347, 110, 1, 336, 231, 1], "image_id": 114235, "bbox": [117, 80, 344, 549], "category_id": 1, "id": 180226}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [299, 183, 1, 188, 211, 1, 341, 81, 1, 160, 50, 1, 223, 112, 1, 172, 130, 1, 298, 484, 1, 228, 476, 1, 285, 668, 1, 217, 661, 1, 283, 862, 1, 187, 869, 1, 243, 50, 1, 243, 175, 1], "image_id": 116062, "bbox": [114, 3, 242, 943], "category_id": 1, "id": 180227}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [447, 153, 1, 355, 213, 1, 576, 179, 1, 373, 330, 1, 486, 115, 1, 394, 428, 1, 674, 272, 1, 632, 298, 1, 903, 333, 1, 902, 351, 1, 0, 0, 0, 624, 397, 1, 294, 87, 1, 376, 163, 1], "image_id": 112880, "bbox": [264, 53, 734, 480], "category_id": 1, "id": 180231}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [608, 150, 1, 499, 162, 1, 625, 236, 1, 433, 141, 1, 545, 249, 1, 403, 94, 1, 637, 331, 1, 567, 344, 1, 645, 422, 1, 581, 466, 1, 624, 500, 1, 588, 548, 1, 544, 70, 1, 552, 150, 1], "image_id": 117502, "bbox": [362, 51, 321, 550], "category_id": 1, "id": 180248}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [208, 225, 1, 101, 216, 1, 209, 308, 1, 87, 287, 1, 219, 335, 1, 91, 300, 1, 163, 368, 1, 129, 368, 1, 155, 494, 1, 114, 485, 1, 155, 592, 1, 121, 598, 1, 137, 123, 1, 144, 205, 1], "image_id": 109419, "bbox": [74, 109, 160, 540], "category_id": 1, "id": 180251}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [569, 199, 1, 478, 203, 1, 566, 368, 1, 516, 313, 1, 451, 359, 1, 431, 324, 1, 598, 456, 1, 529, 458, 1, 596, 635, 1, 528, 633, 1, 0, 0, 0, 0, 0, 0, 410, 85, 1, 502, 165, 1], "image_id": 119650, "bbox": [262, 1, 405, 609], "category_id": 1, "id": 180257}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [490, 425, 1, 575, 471, 1, 457, 527, 1, 639, 588, 1, 530, 599, 1, 0, 0, 0, 373, 494, 1, 426, 522, 1, 247, 599, 1, 395, 587, 1, 116, 530, 1, 294, 566, 1, 579, 394, 1, 539, 434, 1], "image_id": 119578, "bbox": [46, 362, 622, 243], "category_id": 1, "id": 180258}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [221, 210, 1, 111, 221, 1, 249, 305, 1, 119, 353, 1, 267, 366, 1, 190, 392, 1, 220, 443, 1, 145, 443, 1, 229, 572, 1, 142, 577, 1, 210, 676, 1, 104, 707, 1, 186, 84, 1, 163, 180, 1], "image_id": 109523, "bbox": [68, 61, 233, 667], "category_id": 1, "id": 180261}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [37, 170, 1, 58, 160, 1, 37, 245, 1, 77, 238, 1, 2, 275, 1, 72, 287, 1, 59, 311, 1, 77, 309, 1, 64, 420, 1, 81, 418, 1, 68, 512, 1, 81, 513, 1, 0, 0, 0, 18, 145, 1], "image_id": 119650, "bbox": [0, 50, 114, 333], "category_id": 1, "id": 180262}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [218, 104, 1, 156, 133, 1, 241, 140, 1, 173, 178, 1, 220, 157, 1, 218, 183, 1, 234, 173, 1, 197, 203, 1, 277, 220, 1, 237, 236, 1, 246, 268, 1, 217, 262, 1, 192, 37, 1, 181, 106, 1], "image_id": 118872, "bbox": [121, 11, 147, 196], "category_id": 1, "id": 180274}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [598, 197, 1, 486, 227, 1, 649, 167, 1, 421, 257, 1, 685, 163, 1, 397, 274, 1, 650, 322, 1, 598, 350, 1, 638, 442, 1, 627, 453, 1, 709, 398, 1, 696, 548, 1, 502, 145, 1, 541, 206, 1], "image_id": 119426, "bbox": [371, 121, 381, 471], "category_id": 1, "id": 180293}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [270, 357, 1, 301, 356, 1, 269, 531, 1, 245, 458, 1, 210, 653, 1, 170, 472, 1, 284, 637, 1, 310, 637, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 223, 1, 300, 306, 1], "image_id": 110428, "bbox": [164, 197, 247, 553], "category_id": 1, "id": 180297}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [923, 150, 1, 870, 152, 1, 923, 191, 1, 851, 201, 1, 905, 210, 1, 868, 219, 1, 909, 227, 1, 881, 228, 1, 906, 296, 1, 895, 304, 1, 906, 367, 1, 907, 364, 1, 904, 100, 1, 897, 138, 1], "image_id": 117909, "bbox": [837, 91, 102, 301], "category_id": 1, "id": 180302}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [320, 100, 1, 227, 162, 1, 380, 173, 1, 264, 224, 1, 325, 185, 1, 307, 260, 1, 388, 201, 1, 323, 247, 1, 459, 265, 1, 336, 332, 1, 548, 350, 1, 398, 405, 1, 201, 68, 1, 251, 114, 1], "image_id": 112389, "bbox": [175, 42, 411, 426], "category_id": 1, "id": 180308}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [283, 183, 1, 202, 184, 1, 268, 250, 1, 172, 202, 1, 234, 204, 1, 146, 201, 1, 265, 324, 1, 209, 322, 1, 249, 379, 1, 158, 381, 1, 291, 367, 1, 214, 373, 1, 227, 72, 1, 235, 151, 1], "image_id": 117258, "bbox": [104, 50, 260, 373], "category_id": 1, "id": 180313}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [569, 186, 1, 486, 189, 1, 592, 268, 1, 499, 289, 1, 598, 333, 1, 533, 343, 1, 572, 367, 1, 528, 368, 1, 566, 464, 1, 533, 466, 1, 564, 549, 1, 536, 549, 1, 533, 96, 1, 531, 169, 1], "image_id": 114190, "bbox": [455, 81, 164, 294], "category_id": 1, "id": 180351}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 453, 1, 347, 467, 1, 401, 509, 1, 332, 505, 1, 408, 552, 1, 336, 537, 1, 400, 568, 1, 366, 565, 1, 421, 604, 1, 368, 623, 1, 396, 648, 1, 367, 671, 1, 434, 406, 1, 384, 448, 1], "image_id": 113026, "bbox": [314, 375, 139, 346], "category_id": 1, "id": 180360}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [482, 332, 1, 295, 319, 1, 550, 458, 1, 289, 441, 1, 516, 423, 1, 247, 387, 1, 438, 578, 1, 326, 575, 1, 465, 732, 1, 216, 729, 1, 478, 910, 1, 169, 917, 1, 398, 171, 1, 380, 295, 1], "image_id": 110189, "bbox": [38, 138, 535, 810], "category_id": 1, "id": 180371}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [481, 187, 1, 375, 192, 1, 486, 260, 1, 358, 264, 1, 509, 310, 1, 407, 277, 1, 469, 354, 1, 416, 353, 1, 490, 458, 1, 403, 470, 1, 506, 554, 1, 343, 500, 1, 425, 89, 1, 429, 166, 1], "image_id": 113710, "bbox": [329, 73, 213, 539], "category_id": 1, "id": 180391}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [76, 334, 1, 0, 0, 0, 104, 424, 1, 0, 0, 0, 59, 503, 1, 0, 0, 0, 7, 470, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 717, 1, 0, 0, 0, 25, 233, 1, 16, 311, 1], "image_id": 117135, "bbox": [0, 211, 177, 580], "category_id": 1, "id": 180398}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [740, 337, 1, 615, 288, 1, 730, 370, 1, 504, 315, 1, 738, 409, 1, 507, 383, 1, 614, 460, 1, 532, 437, 1, 648, 548, 1, 467, 529, 1, 591, 701, 1, 348, 622, 1, 733, 250, 1, 695, 295, 1], "image_id": 110657, "bbox": [476, 213, 291, 516], "category_id": 1, "id": 180418}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [677, 17, 1, 581, 35, 1, 0, 0, 0, 566, 89, 1, 0, 0, 0, 566, 113, 1, 678, 162, 1, 614, 171, 1, 0, 0, 0, 606, 261, 1, 0, 0, 0, 638, 349, 1, 0, 0, 0, 626, 9, 1], "image_id": 111317, "bbox": [548, 0, 151, 407], "category_id": 1, "id": 180419}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [202, 141, 1, 157, 137, 1, 226, 152, 1, 133, 146, 1, 249, 167, 1, 103, 157, 1, 190, 197, 1, 165, 196, 1, 196, 238, 1, 156, 240, 1, 203, 271, 1, 142, 273, 1, 184, 94, 1, 178, 131, 1], "image_id": 115517, "bbox": [78, 85, 189, 222], "category_id": 1, "id": 180433}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [463, 290, 1, 316, 291, 1, 544, 335, 1, 248, 303, 1, 586, 368, 1, 151, 304, 1, 492, 433, 1, 415, 448, 1, 453, 509, 1, 354, 522, 1, 528, 606, 1, 378, 658, 1, 351, 211, 1, 372, 275, 1], "image_id": 119365, "bbox": [76, 171, 567, 529], "category_id": 1, "id": 180446}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [365, 195, 1, 272, 195, 1, 386, 282, 1, 263, 335, 1, 433, 323, 1, 340, 338, 1, 400, 381, 1, 346, 400, 1, 474, 390, 1, 376, 557, 1, 460, 534, 1, 363, 701, 1, 338, 68, 1, 323, 163, 1], "image_id": 109851, "bbox": [259, 45, 282, 532], "category_id": 1, "id": 180458}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [113, 333, 1, 0, 0, 0, 164, 406, 1, 0, 0, 0, 123, 479, 1, 0, 0, 0, 141, 498, 1, 56, 500, 1, 217, 596, 1, 0, 0, 0, 263, 701, 1, 0, 0, 0, 13, 240, 1, 42, 314, 1], "image_id": 113228, "bbox": [0, 219, 319, 547], "category_id": 1, "id": 180464}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [627, 175, 1, 607, 170, 1, 679, 143, 1, 688, 304, 1, 705, 110, 1, 778, 208, 1, 587, 470, 1, 603, 469, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 615, 28, 1, 604, 129, 1], "image_id": 112400, "bbox": [513, 8, 299, 591], "category_id": 1, "id": 180476}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [616, 228, 1, 531, 231, 1, 629, 300, 1, 532, 296, 1, 634, 355, 1, 507, 342, 1, 599, 363, 1, 553, 360, 1, 596, 475, 1, 560, 477, 1, 595, 570, 1, 570, 569, 1, 570, 138, 1, 570, 208, 1], "image_id": 113516, "bbox": [503, 125, 146, 510], "category_id": 1, "id": 180485}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [776, 196, 1, 731, 131, 1, 783, 233, 1, 640, 135, 1, 812, 278, 1, 640, 227, 1, 642, 337, 1, 599, 317, 1, 709, 458, 1, 658, 435, 1, 599, 570, 1, 557, 555, 1, 815, 75, 1, 764, 147, 1], "image_id": 119812, "bbox": [521, 49, 328, 610], "category_id": 1, "id": 180505}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [437, 182, 1, 374, 166, 1, 466, 285, 1, 323, 246, 1, 364, 321, 1, 260, 299, 1, 422, 376, 1, 378, 375, 1, 346, 554, 1, 407, 527, 1, 0, 0, 0, 0, 0, 0, 350, 35, 1, 380, 131, 1], "image_id": 110511, "bbox": [210, 6, 329, 583], "category_id": 1, "id": 180517}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [747, 176, 1, 610, 178, 1, 787, 266, 1, 555, 260, 1, 758, 286, 1, 592, 347, 1, 720, 342, 1, 637, 342, 1, 758, 463, 1, 686, 481, 1, 760, 576, 1, 716, 516, 1, 672, 65, 1, 676, 155, 1], "image_id": 113276, "bbox": [536, 42, 270, 578], "category_id": 1, "id": 180535}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [230, 349, 1, 91, 349, 1, 232, 455, 1, 85, 458, 1, 173, 515, 1, 126, 516, 1, 185, 547, 1, 118, 550, 1, 177, 712, 1, 119, 712, 1, 172, 873, 1, 125, 871, 1, 145, 207, 1, 150, 316, 1], "image_id": 112930, "bbox": [39, 190, 218, 730], "category_id": 1, "id": 180549}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [436, 330, 1, 306, 331, 1, 450, 406, 1, 272, 414, 1, 443, 452, 1, 244, 482, 1, 388, 503, 1, 332, 501, 1, 396, 632, 1, 342, 634, 1, 394, 732, 1, 352, 743, 1, 352, 188, 1, 362, 307, 1], "image_id": 118772, "bbox": [237, 153, 275, 659], "category_id": 1, "id": 180554}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [548, 60, 1, 300, 50, 1, 578, 236, 1, 302, 210, 1, 571, 389, 1, 266, 378, 1, 551, 313, 1, 448, 314, 1, 546, 508, 1, 442, 492, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 28, 1], "image_id": 114393, "bbox": [240, 1, 360, 559], "category_id": 1, "id": 180564}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [439, 244, 1, 211, 246, 1, 440, 400, 1, 204, 405, 1, 400, 483, 1, 290, 465, 1, 406, 499, 1, 280, 508, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, 47, 1, 327, 214, 1], "image_id": 113895, "bbox": [155, 2, 349, 663], "category_id": 1, "id": 180566}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [595, 417, 1, 686, 532, 1, 468, 393, 1, 738, 610, 1, 552, 372, 1, 783, 610, 1, 375, 505, 1, 365, 599, 1, 324, 526, 1, 319, 600, 1, 196, 539, 1, 253, 611, 1, 710, 407, 1, 653, 458, 1], "image_id": 117480, "bbox": [133, 320, 666, 313], "category_id": 1, "id": 180576}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [347, 280, 1, 235, 290, 1, 368, 379, 1, 231, 358, 1, 383, 431, 1, 200, 396, 1, 313, 438, 1, 247, 439, 1, 333, 571, 1, 205, 563, 1, 355, 683, 1, 211, 681, 1, 268, 175, 1, 290, 258, 1], "image_id": 110400, "bbox": [183, 153, 220, 582], "category_id": 1, "id": 180583}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [377, 379, 1, 170, 355, 1, 400, 536, 1, 181, 520, 1, 452, 610, 1, 288, 619, 1, 311, 597, 1, 146, 588, 1, 450, 751, 1, 97, 764, 1, 480, 952, 1, 0, 0, 0, 338, 196, 1, 291, 337, 1], "image_id": 111325, "bbox": [16, 144, 552, 855], "category_id": 1, "id": 180588}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [703, 238, 1, 661, 219, 1, 714, 197, 1, 649, 189, 1, 717, 164, 1, 641, 154, 1, 685, 321, 1, 654, 316, 1, 706, 372, 1, 613, 315, 1, 726, 367, 1, 612, 375, 1, 640, 195, 1, 626, 238, 1], "image_id": 116404, "bbox": [597, 121, 138, 269], "category_id": 1, "id": 180597}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [653, 245, 1, 615, 242, 1, 527, 225, 1, 515, 225, 1, 518, 161, 1, 476, 319, 1, 538, 440, 1, 509, 440, 1, 488, 571, 1, 547, 646, 1, 377, 527, 1, 498, 731, 1, 379, 40, 1, 355, 143, 1], "image_id": 119292, "bbox": [241, 101, 487, 674], "category_id": 1, "id": 180612}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [570, 450, 1, 355, 379, 1, 490, 613, 1, 247, 485, 1, 499, 452, 1, 157, 440, 1, 421, 833, 1, 302, 817, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 237, 1, 471, 375, 1], "image_id": 109513, "bbox": [176, 193, 420, 806], "category_id": 1, "id": 180627}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [437, 97, 1, 332, 128, 1, 503, 136, 1, 335, 192, 1, 525, 201, 1, 305, 241, 1, 444, 264, 1, 385, 268, 1, 446, 368, 1, 378, 361, 1, 475, 379, 1, 390, 471, 1, 365, 25, 1, 374, 94, 1], "image_id": 114375, "bbox": [275, 13, 274, 426], "category_id": 1, "id": 180641}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [592, 223, 1, 463, 156, 1, 500, 281, 1, 349, 172, 1, 450, 356, 1, 258, 218, 1, 475, 421, 1, 400, 405, 1, 486, 551, 1, 318, 562, 1, 406, 722, 1, 251, 608, 1, 575, 82, 1, 543, 168, 1], "image_id": 114767, "bbox": [186, 55, 429, 729], "category_id": 1, "id": 180644}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 252, 1, 426, 259, 1, 475, 306, 1, 436, 316, 1, 453, 351, 1, 422, 359, 1, 438, 386, 1, 447, 385, 1, 434, 478, 1, 446, 477, 1, 448, 568, 1, 459, 561, 1, 430, 194, 1, 444, 245, 1], "image_id": 117351, "bbox": [412, 184, 81, 418], "category_id": 1, "id": 180660}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [478, 230, 1, 446, 231, 1, 412, 370, 1, 390, 329, 1, 363, 388, 1, 323, 363, 1, 497, 458, 1, 478, 460, 1, 487, 609, 1, 474, 601, 1, 469, 734, 1, 492, 703, 1, 393, 97, 1, 448, 187, 1], "image_id": 115005, "bbox": [247, 59, 347, 737], "category_id": 1, "id": 180680}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [457, 136, 1, 342, 160, 1, 521, 214, 1, 362, 234, 1, 497, 304, 1, 357, 320, 1, 478, 319, 1, 416, 334, 1, 439, 466, 1, 371, 462, 1, 518, 544, 1, 523, 490, 1, 361, 43, 1, 386, 124, 1], "image_id": 111360, "bbox": [327, 30, 234, 484], "category_id": 1, "id": 180705}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 414, 1, 225, 549, 1, 538, 465, 1, 190, 678, 1, 663, 478, 1, 140, 831, 1, 519, 643, 1, 424, 706, 1, 719, 768, 1, 541, 787, 1, 837, 873, 1, 765, 912, 1, 254, 302, 1, 298, 442, 1], "image_id": 114605, "bbox": [54, 270, 873, 681], "category_id": 1, "id": 180724}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [233, 288, 1, 183, 316, 1, 295, 227, 1, 275, 297, 1, 333, 256, 1, 309, 237, 1, 289, 416, 1, 271, 456, 1, 417, 400, 1, 396, 429, 1, 467, 506, 1, 454, 546, 1, 171, 222, 1, 196, 288, 1], "image_id": 110400, "bbox": [123, 204, 413, 384], "category_id": 1, "id": 180732}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [511, 517, 1, 372, 548, 1, 559, 590, 1, 357, 677, 1, 513, 715, 1, 296, 705, 1, 588, 768, 1, 483, 772, 1, 504, 757, 1, 346, 748, 1, 571, 868, 1, 468, 854, 1, 387, 416, 1, 424, 520, 1], "image_id": 117000, "bbox": [215, 383, 434, 553], "category_id": 1, "id": 180733}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [444, 215, 1, 299, 207, 1, 488, 289, 1, 214, 261, 1, 525, 332, 1, 136, 300, 1, 388, 393, 1, 329, 400, 1, 342, 600, 1, 396, 596, 1, 310, 771, 1, 444, 727, 1, 371, 77, 1, 365, 181, 1], "image_id": 116651, "bbox": [64, 59, 494, 783], "category_id": 1, "id": 180734}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 267, 1, 274, 266, 1, 450, 380, 1, 218, 302, 1, 380, 380, 1, 242, 311, 1, 412, 499, 1, 332, 519, 1, 455, 672, 1, 459, 613, 1, 411, 826, 1, 433, 714, 1, 338, 152, 1, 343, 255, 1], "image_id": 113921, "bbox": [235, 138, 256, 711], "category_id": 1, "id": 180743}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [657, 260, 1, 532, 249, 1, 656, 339, 1, 508, 327, 1, 594, 364, 1, 556, 361, 1, 617, 387, 1, 545, 384, 1, 580, 415, 1, 516, 415, 1, 582, 521, 1, 513, 517, 1, 593, 136, 1, 593, 229, 1], "image_id": 117238, "bbox": [471, 113, 226, 252], "category_id": 1, "id": 180745}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 830, 61, 1, 586, 74, 1, 772, 72, 1, 699, 72, 1, 786, 246, 1, 706, 246, 1, 776, 444, 1, 714, 435, 1, 0, 0, 0, 0, 0, 0], "image_id": 111387, "bbox": [560, 0, 301, 503], "category_id": 1, "id": 180789}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [685, 139, 1, 598, 112, 1, 708, 214, 1, 559, 112, 1, 714, 291, 1, 489, 112, 1, 740, 253, 1, 683, 271, 1, 817, 329, 1, 652, 359, 1, 915, 385, 1, 625, 452, 1, 591, 39, 1, 630, 104, 1], "image_id": 119748, "bbox": [421, 16, 550, 476], "category_id": 1, "id": 180793}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [888, 277, 1, 771, 208, 1, 824, 409, 1, 770, 315, 1, 718, 434, 1, 719, 380, 1, 879, 442, 1, 833, 422, 1, 742, 551, 1, 739, 438, 1, 734, 641, 1, 695, 494, 1, 771, 81, 1, 830, 203, 1], "image_id": 114094, "bbox": [632, 3, 326, 667], "category_id": 1, "id": 180813}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [252, 220, 1, 306, 233, 1, 366, 161, 1, 423, 274, 1, 447, 176, 1, 463, 208, 1, 362, 444, 1, 389, 459, 1, 525, 378, 1, 539, 417, 1, 556, 555, 1, 593, 609, 1, 400, 56, 1, 375, 193, 1], "image_id": 109720, "bbox": [214, 34, 444, 615], "category_id": 1, "id": 180822}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [710, 796, 1, 518, 788, 1, 697, 956, 1, 489, 952, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 630, 643, 1, 617, 774, 1], "image_id": 110718, "bbox": [461, 618, 260, 368], "category_id": 1, "id": 180823}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [186, 255, 1, 199, 254, 1, 238, 367, 1, 348, 314, 1, 305, 276, 1, 430, 211, 1, 186, 514, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 66, 1, 186, 196, 1], "image_id": 110500, "bbox": [31, 34, 460, 498], "category_id": 1, "id": 180829}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [215, 228, 1, 160, 238, 1, 213, 286, 1, 125, 262, 1, 182, 316, 1, 106, 296, 1, 233, 329, 1, 214, 333, 1, 243, 394, 1, 218, 375, 1, 249, 446, 1, 222, 411, 1, 166, 198, 1, 182, 225, 1], "image_id": 116501, "bbox": [83, 163, 189, 278], "category_id": 1, "id": 180836}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [326, 236, 1, 180, 260, 1, 322, 367, 1, 154, 408, 1, 340, 488, 1, 218, 530, 1, 324, 522, 1, 250, 539, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 79, 1, 264, 215, 1], "image_id": 111463, "bbox": [128, 44, 247, 546], "category_id": 1, "id": 180886}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [83, 250, 1, 41, 231, 1, 96, 202, 1, 34, 187, 1, 100, 146, 1, 40, 132, 1, 38, 367, 1, 12, 353, 1, 49, 447, 1, 0, 0, 0, 122, 438, 1, 0, 0, 0, 94, 207, 1, 64, 237, 1], "image_id": 116404, "bbox": [0, 94, 124, 367], "category_id": 1, "id": 180890}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [206, 440, 1, 31, 488, 1, 226, 527, 1, 0, 0, 0, 240, 506, 1, 0, 0, 0, 153, 717, 1, 47, 715, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 293, 1, 120, 427, 1], "image_id": 118132, "bbox": [2, 272, 320, 527], "category_id": 1, "id": 180892}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [315, 215, 1, 223, 235, 1, 344, 347, 1, 307, 370, 1, 406, 462, 1, 450, 423, 1, 220, 459, 1, 162, 495, 1, 362, 455, 1, 349, 499, 1, 0, 0, 0, 0, 0, 0, 315, 28, 1, 277, 175, 1], "image_id": 115056, "bbox": [0, 9, 552, 575], "category_id": 1, "id": 180894}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [540, 79, 1, 437, 81, 1, 555, 150, 1, 400, 124, 1, 541, 211, 1, 369, 145, 1, 520, 217, 1, 464, 216, 1, 466, 284, 1, 405, 267, 1, 488, 366, 1, 415, 364, 1, 0, 0, 0, 482, 64, 1], "image_id": 116481, "bbox": [317, 0, 239, 233], "category_id": 1, "id": 180902}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [453, 281, 1, 310, 286, 1, 458, 380, 1, 290, 379, 1, 471, 452, 1, 254, 452, 1, 418, 480, 1, 357, 481, 1, 409, 602, 1, 367, 603, 1, 408, 708, 1, 369, 708, 1, 398, 143, 1, 375, 252, 1], "image_id": 111238, "bbox": [217, 116, 282, 518], "category_id": 1, "id": 180904}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [359, 255, 1, 318, 282, 1, 409, 256, 1, 392, 283, 1, 398, 200, 1, 433, 234, 1, 418, 377, 1, 385, 394, 1, 511, 367, 1, 391, 501, 1, 483, 479, 1, 339, 611, 1, 303, 177, 1, 317, 246, 1], "image_id": 116764, "bbox": [278, 159, 255, 492], "category_id": 1, "id": 180925}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [449, 267, 1, 244, 296, 1, 482, 422, 1, 230, 445, 1, 402, 459, 1, 259, 475, 1, 419, 619, 1, 295, 622, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344, 74, 1, 340, 223, 1], "image_id": 112214, "bbox": [184, 63, 325, 587], "category_id": 1, "id": 180940}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [129, 185, 1, 172, 184, 1, 116, 338, 1, 174, 349, 1, 82, 496, 1, 135, 455, 1, 114, 529, 1, 156, 529, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 39, 1, 119, 140, 1], "image_id": 112400, "bbox": [0, 12, 234, 587], "category_id": 1, "id": 180944}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [55, 300, 1, 0, 0, 0, 60, 340, 1, 0, 0, 0, 60, 375, 1, 0, 0, 0, 7, 397, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 225, 1, 13, 279, 1], "image_id": 111531, "bbox": [1, 213, 71, 301], "category_id": 1, "id": 180959}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [426, 366, 1, 307, 345, 1, 416, 434, 1, 272, 442, 1, 382, 360, 1, 305, 495, 1, 345, 530, 1, 265, 516, 1, 258, 591, 1, 284, 520, 1, 340, 741, 1, 340, 681, 1, 348, 244, 1, 352, 330, 1], "image_id": 118384, "bbox": [235, 222, 209, 494], "category_id": 1, "id": 180961}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [259, 247, 1, 141, 254, 1, 280, 317, 1, 142, 339, 1, 287, 363, 1, 131, 418, 1, 234, 445, 1, 181, 445, 1, 209, 578, 1, 195, 555, 1, 202, 706, 1, 224, 583, 1, 164, 147, 1, 192, 227, 1], "image_id": 111490, "bbox": [108, 123, 211, 673], "category_id": 1, "id": 180995}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [373, 538, 1, 275, 554, 1, 375, 586, 1, 213, 558, 1, 323, 604, 1, 178, 595, 1, 258, 499, 1, 208, 518, 1, 297, 594, 1, 267, 599, 1, 217, 578, 1, 198, 586, 1, 0, 0, 0, 0, 0, 0], "image_id": 111207, "bbox": [149, 448, 206, 170], "category_id": 1, "id": 181004}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [383, 169, 1, 314, 172, 1, 393, 223, 1, 309, 226, 1, 405, 268, 1, 316, 258, 1, 373, 272, 1, 333, 259, 1, 325, 302, 1, 277, 271, 1, 324, 375, 1, 281, 337, 1, 332, 110, 1, 346, 161, 1], "image_id": 118051, "bbox": [250, 95, 168, 293], "category_id": 1, "id": 181017}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [509, 160, 1, 611, 94, 1, 487, 268, 1, 648, 277, 1, 472, 340, 1, 577, 366, 1, 685, 251, 1, 735, 248, 1, 648, 418, 1, 721, 415, 1, 598, 588, 1, 722, 566, 1, 479, 132, 1, 524, 120, 1], "image_id": 119487, "bbox": [426, 58, 363, 590], "category_id": 1, "id": 181022}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [420, 290, 1, 260, 289, 1, 419, 401, 1, 267, 400, 1, 423, 504, 1, 283, 508, 1, 395, 515, 1, 311, 519, 1, 394, 698, 1, 340, 701, 1, 395, 879, 1, 360, 876, 1, 347, 130, 1, 334, 247, 1], "image_id": 112931, "bbox": [226, 105, 236, 875], "category_id": 1, "id": 181029}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [133, 169, 1, 20, 183, 1, 144, 239, 1, 18, 285, 1, 151, 318, 1, 55, 326, 1, 137, 333, 1, 69, 339, 1, 166, 471, 1, 89, 485, 1, 157, 581, 1, 107, 605, 1, 78, 44, 1, 69, 136, 1], "image_id": 116704, "bbox": [0, 25, 192, 588], "category_id": 1, "id": 181031}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [115, 356, 1, 30, 423, 1, 162, 384, 1, 7, 475, 1, 205, 415, 1, 45, 532, 1, 110, 450, 1, 80, 476, 1, 105, 466, 1, 126, 552, 1, 97, 484, 1, 120, 604, 1, 34, 330, 1, 70, 376, 1], "image_id": 110648, "bbox": [1, 311, 243, 303], "category_id": 1, "id": 181033}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [530, 229, 1, 334, 227, 1, 517, 383, 1, 316, 394, 1, 468, 429, 1, 386, 477, 1, 415, 499, 1, 288, 503, 1, 504, 576, 1, 396, 577, 1, 0, 0, 0, 0, 0, 0, 461, 54, 1, 442, 195, 1], "image_id": 116482, "bbox": [251, 12, 311, 541], "category_id": 1, "id": 181034}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [741, 277, 1, 683, 273, 1, 753, 327, 1, 685, 313, 1, 772, 369, 1, 712, 312, 1, 736, 378, 1, 706, 377, 1, 746, 454, 1, 702, 458, 1, 742, 534, 1, 696, 532, 1, 710, 219, 1, 710, 266, 1], "image_id": 111531, "bbox": [666, 209, 128, 343], "category_id": 1, "id": 181037}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 162, 1, 251, 221, 1, 513, 175, 1, 186, 282, 1, 476, 222, 1, 104, 315, 1, 439, 393, 1, 347, 404, 1, 507, 527, 1, 223, 488, 1, 577, 591, 1, 102, 610, 1, 273, 76, 1, 305, 163, 1], "image_id": 109889, "bbox": [20, 60, 612, 584], "category_id": 1, "id": 181053}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 201, 1, 129, 263, 1, 276, 254, 1, 69, 306, 1, 230, 316, 1, 59, 211, 1, 326, 301, 1, 297, 346, 1, 458, 310, 1, 337, 491, 1, 496, 438, 1, 418, 413, 1, 99, 169, 1, 152, 222, 1], "image_id": 109225, "bbox": [30, 136, 489, 379], "category_id": 1, "id": 181102}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [600, 128, 1, 687, 128, 1, 649, 200, 1, 710, 239, 1, 684, 264, 1, 635, 256, 1, 688, 317, 1, 701, 316, 1, 694, 445, 1, 658, 425, 1, 822, 382, 1, 706, 557, 1, 583, 28, 1, 616, 95, 1], "image_id": 117952, "bbox": [551, 3, 360, 595], "category_id": 1, "id": 181104}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [590, 99, 1, 560, 81, 1, 529, 117, 1, 582, 179, 1, 524, 195, 1, 604, 145, 1, 509, 265, 1, 469, 263, 1, 603, 344, 1, 387, 366, 1, 530, 478, 1, 244, 490, 1, 622, 22, 1, 571, 89, 1], "image_id": 110697, "bbox": [203, 5, 448, 552], "category_id": 1, "id": 181133}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [352, 313, 1, 260, 329, 1, 366, 390, 1, 268, 416, 1, 366, 358, 1, 307, 374, 1, 342, 447, 1, 289, 467, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 230, 1, 302, 305, 1], "image_id": 118710, "bbox": [225, 195, 169, 273], "category_id": 1, "id": 181139}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [276, 318, 1, 110, 352, 1, 329, 448, 1, 95, 634, 1, 406, 405, 1, 316, 552, 1, 402, 771, 1, 300, 811, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 126, 1, 190, 296, 1], "image_id": 109900, "bbox": [30, 42, 445, 780], "category_id": 1, "id": 181140}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [257, 221, 1, 123, 242, 1, 371, 276, 1, 95, 320, 1, 302, 220, 1, 144, 399, 1, 287, 309, 1, 265, 335, 1, 469, 295, 1, 483, 304, 1, 400, 435, 1, 360, 463, 1, 189, 139, 1, 189, 217, 1], "image_id": 111419, "bbox": [37, 120, 498, 495], "category_id": 1, "id": 181142}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [262, 260, 1, 227, 272, 1, 259, 418, 1, 299, 394, 1, 320, 506, 1, 447, 413, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266, 117, 1, 240, 233, 1], "image_id": 110572, "bbox": [107, 93, 397, 505], "category_id": 1, "id": 181146}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [482, 246, 1, 332, 199, 1, 470, 394, 1, 271, 296, 1, 463, 472, 1, 358, 305, 1, 432, 474, 1, 337, 470, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 434, 69, 1, 418, 183, 1], "image_id": 116694, "bbox": [227, 43, 284, 590], "category_id": 1, "id": 181156}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [156, 387, 1, 308, 432, 1, 134, 483, 1, 374, 547, 1, 235, 480, 1, 299, 593, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 255, 1, 232, 382, 1], "image_id": 116064, "bbox": [63, 227, 356, 372], "category_id": 1, "id": 181157}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [573, 203, 1, 664, 208, 1, 523, 225, 1, 643, 280, 1, 533, 183, 1, 615, 216, 1, 583, 408, 1, 631, 408, 1, 558, 527, 1, 604, 517, 1, 583, 666, 1, 657, 647, 1, 603, 102, 1, 603, 171, 1], "image_id": 113558, "bbox": [534, 83, 160, 610], "category_id": 1, "id": 181159}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [87, 134, 1, 74, 140, 1, 72, 219, 1, 80, 236, 1, 105, 211, 1, 105, 303, 1, 93, 295, 1, 112, 303, 1, 87, 386, 1, 180, 368, 1, 76, 472, 1, 148, 437, 1, 127, 55, 1, 83, 106, 1], "image_id": 109564, "bbox": [37, 33, 164, 463], "category_id": 1, "id": 181160}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [274, 371, 1, 149, 413, 1, 366, 420, 1, 153, 527, 1, 349, 417, 1, 223, 455, 1, 372, 537, 1, 294, 570, 1, 494, 654, 1, 416, 696, 1, 0, 0, 0, 0, 0, 0, 162, 296, 1, 204, 377, 1], "image_id": 109752, "bbox": [101, 271, 346, 314], "category_id": 1, "id": 181175}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [353, 257, 1, 171, 296, 1, 447, 360, 1, 93, 367, 1, 457, 466, 1, 63, 379, 1, 375, 525, 1, 258, 570, 1, 492, 644, 1, 230, 759, 1, 519, 803, 1, 236, 907, 1, 260, 112, 1, 253, 242, 1], "image_id": 114203, "bbox": [7, 89, 608, 858], "category_id": 1, "id": 181177}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [336, 199, 1, 237, 166, 1, 297, 265, 1, 170, 249, 1, 372, 282, 1, 251, 253, 1, 258, 415, 1, 182, 392, 1, 242, 555, 1, 104, 605, 1, 135, 696, 1, 46, 727, 1, 340, 82, 1, 297, 157, 1], "image_id": 114767, "bbox": [23, 44, 409, 765], "category_id": 1, "id": 181181}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 549, 1, 227, 537, 1, 328, 594, 1, 187, 579, 1, 354, 608, 1, 176, 551, 1, 285, 701, 1, 231, 691, 1, 297, 764, 1, 239, 744, 1, 304, 837, 1, 186, 790, 1, 286, 424, 1, 272, 519, 1], "image_id": 113821, "bbox": [152, 403, 259, 468], "category_id": 1, "id": 181196}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 502, 168, 1, 0, 0, 0, 471, 285, 1, 0, 0, 0, 469, 389, 1, 597, 385, 1, 517, 384, 1, 0, 0, 0, 517, 551, 1, 598, 612, 1, 520, 695, 1, 575, 28, 1, 575, 143, 1], "image_id": 110453, "bbox": [437, 12, 174, 749], "category_id": 1, "id": 181221}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [258, 260, 1, 161, 260, 1, 285, 345, 1, 180, 369, 1, 349, 380, 1, 231, 446, 1, 265, 435, 1, 199, 438, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 130, 1, 209, 230, 1], "image_id": 116311, "bbox": [107, 100, 290, 498], "category_id": 1, "id": 181223}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [340, 352, 1, 262, 352, 1, 352, 409, 1, 250, 410, 1, 359, 464, 1, 249, 464, 1, 323, 463, 1, 281, 464, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 279, 1, 303, 335, 1], "image_id": 116825, "bbox": [226, 260, 146, 279], "category_id": 1, "id": 181226}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [277, 282, 1, 55, 333, 1, 289, 400, 1, 21, 424, 1, 246, 421, 1, 91, 435, 1, 243, 490, 1, 132, 504, 1, 249, 606, 1, 146, 618, 1, 237, 703, 1, 141, 708, 1, 150, 71, 1, 163, 278, 1], "image_id": 117794, "bbox": [1, 45, 305, 432], "category_id": 1, "id": 181230}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [188, 331, 1, 64, 350, 1, 253, 378, 1, 79, 420, 1, 286, 462, 1, 135, 363, 1, 235, 504, 1, 177, 519, 1, 265, 600, 1, 149, 623, 1, 381, 722, 1, 253, 745, 1, 77, 264, 1, 115, 332, 1], "image_id": 109827, "bbox": [43, 243, 378, 563], "category_id": 1, "id": 181249}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [285, 601, 1, 293, 570, 1, 310, 764, 1, 276, 471, 1, 228, 923, 1, 256, 391, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 463, 1, 274, 549, 1], "image_id": 111768, "bbox": [167, 307, 201, 629], "category_id": 1, "id": 181284}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [514, 214, 1, 428, 206, 1, 544, 278, 1, 398, 243, 1, 464, 302, 1, 431, 317, 1, 483, 371, 1, 414, 362, 1, 528, 390, 1, 345, 368, 1, 520, 540, 1, 314, 512, 1, 480, 172, 1, 477, 204, 1], "image_id": 111477, "bbox": [263, 146, 303, 429], "category_id": 1, "id": 181294}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [365, 206, 1, 240, 205, 1, 438, 286, 1, 205, 330, 1, 389, 353, 1, 153, 424, 1, 344, 445, 1, 285, 446, 1, 342, 631, 1, 241, 622, 1, 326, 760, 1, 231, 782, 1, 311, 66, 1, 305, 186, 1], "image_id": 111563, "bbox": [89, 33, 502, 839], "category_id": 1, "id": 181299}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [490, 318, 1, 356, 210, 1, 592, 360, 1, 236, 220, 1, 660, 300, 1, 148, 152, 1, 342, 528, 1, 358, 454, 1, 390, 682, 1, 574, 390, 1, 0, 0, 0, 814, 298, 1, 489, 118, 1, 428, 249, 1], "image_id": 117220, "bbox": [51, 59, 851, 740], "category_id": 1, "id": 181301}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [420, 313, 1, 355, 273, 1, 391, 486, 1, 215, 398, 1, 379, 603, 1, 267, 529, 1, 287, 510, 1, 183, 505, 1, 292, 746, 1, 250, 735, 1, 263, 923, 1, 209, 939, 1, 446, 134, 1, 403, 252, 1], "image_id": 110017, "bbox": [86, 70, 478, 930], "category_id": 1, "id": 181306}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [568, 315, 1, 456, 227, 1, 563, 410, 1, 360, 212, 1, 537, 473, 1, 270, 263, 1, 420, 430, 1, 359, 410, 1, 466, 571, 1, 327, 553, 1, 386, 706, 1, 281, 621, 1, 567, 177, 1, 518, 253, 1], "image_id": 112322, "bbox": [200, 147, 401, 610], "category_id": 1, "id": 181348}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [395, 292, 1, 251, 264, 1, 480, 308, 1, 152, 274, 1, 581, 308, 1, 91, 337, 1, 270, 433, 1, 194, 432, 1, 405, 556, 1, 177, 585, 1, 0, 0, 0, 94, 655, 1, 368, 176, 1, 328, 258, 1], "image_id": 112672, "bbox": [15, 161, 662, 506], "category_id": 1, "id": 181350}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [516, 288, 1, 372, 290, 1, 469, 396, 1, 328, 399, 1, 379, 382, 1, 386, 361, 1, 477, 536, 1, 406, 532, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 147, 1, 438, 255, 1], "image_id": 116180, "bbox": [306, 127, 241, 504], "category_id": 1, "id": 181384}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [316, 149, 1, 228, 170, 1, 338, 203, 1, 195, 244, 1, 361, 233, 1, 249, 276, 1, 277, 358, 1, 232, 362, 1, 275, 519, 1, 234, 518, 1, 0, 0, 0, 0, 0, 0, 277, 52, 1, 277, 138, 1], "image_id": 110761, "bbox": [167, 31, 224, 363], "category_id": 1, "id": 181410}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [657, 290, 1, 562, 178, 1, 703, 390, 1, 497, 129, 1, 747, 464, 1, 534, 126, 1, 491, 398, 1, 440, 339, 1, 376, 523, 1, 331, 425, 1, 251, 577, 1, 208, 477, 1, 680, 156, 1, 621, 222, 1], "image_id": 111549, "bbox": [134, 94, 701, 512], "category_id": 1, "id": 181416}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [497, 222, 1, 438, 261, 1, 529, 296, 1, 403, 313, 1, 471, 362, 1, 334, 320, 1, 515, 377, 1, 519, 398, 1, 400, 394, 1, 511, 560, 1, 325, 530, 1, 588, 701, 1, 391, 196, 1, 457, 234, 1], "image_id": 119555, "bbox": [243, 149, 386, 636], "category_id": 1, "id": 181426}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [293, 420, 1, 154, 440, 1, 332, 528, 1, 120, 561, 1, 329, 585, 1, 177, 596, 1, 225, 627, 1, 159, 628, 1, 279, 772, 1, 230, 756, 1, 178, 919, 1, 202, 935, 1, 254, 366, 1, 231, 417, 1], "image_id": 115164, "bbox": [95, 328, 268, 649], "category_id": 1, "id": 181431}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [534, 215, 1, 318, 192, 1, 557, 381, 1, 248, 312, 1, 445, 303, 1, 230, 233, 1, 458, 559, 1, 338, 556, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 42, 1, 413, 188, 1], "image_id": 115929, "bbox": [198, 4, 391, 704], "category_id": 1, "id": 181434}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [539, 171, 1, 417, 165, 1, 544, 211, 1, 355, 222, 1, 555, 244, 1, 268, 281, 1, 559, 380, 1, 477, 386, 1, 614, 544, 1, 412, 517, 1, 0, 0, 0, 0, 0, 0, 487, 54, 1, 483, 146, 1], "image_id": 116518, "bbox": [212, 38, 447, 561], "category_id": 1, "id": 181442}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [540, 181, 1, 444, 159, 1, 567, 241, 1, 444, 244, 1, 591, 292, 1, 514, 282, 1, 465, 292, 1, 419, 294, 1, 461, 400, 1, 414, 401, 1, 461, 493, 1, 413, 491, 1, 549, 108, 1, 500, 151, 1], "image_id": 118706, "bbox": [364, 74, 287, 271], "category_id": 1, "id": 181445}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [572, 237, 1, 464, 196, 1, 600, 325, 1, 385, 256, 1, 607, 283, 1, 445, 233, 1, 475, 400, 1, 424, 389, 1, 425, 481, 1, 395, 528, 1, 436, 580, 1, 386, 631, 1, 544, 129, 1, 525, 211, 1], "image_id": 117845, "bbox": [346, 103, 301, 562], "category_id": 1, "id": 181475}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [746, 222, 1, 721, 224, 1, 771, 260, 1, 699, 270, 1, 818, 263, 1, 720, 290, 1, 744, 300, 1, 727, 304, 1, 785, 326, 1, 767, 332, 1, 786, 373, 1, 765, 372, 1, 758, 179, 1, 745, 214, 1], "image_id": 116470, "bbox": [682, 163, 170, 117], "category_id": 1, "id": 181484}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 178, 1, 308, 184, 1, 404, 284, 1, 285, 258, 1, 350, 195, 1, 227, 224, 1, 402, 427, 1, 329, 431, 1, 397, 569, 1, 321, 569, 1, 400, 717, 1, 312, 707, 1, 344, 53, 1, 354, 151, 1], "image_id": 109261, "bbox": [146, 25, 309, 766], "category_id": 1, "id": 181495}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [618, 334, 1, 619, 266, 1, 570, 370, 1, 535, 252, 1, 553, 464, 1, 592, 289, 1, 566, 434, 1, 508, 394, 1, 654, 465, 1, 472, 487, 1, 700, 577, 1, 361, 584, 1, 693, 255, 1, 632, 285, 1], "image_id": 115142, "bbox": [313, 226, 462, 412], "category_id": 1, "id": 181497}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [479, 231, 1, 449, 214, 1, 467, 351, 1, 439, 349, 1, 559, 418, 1, 552, 401, 1, 392, 446, 1, 378, 446, 1, 424, 612, 1, 415, 638, 1, 457, 768, 1, 387, 881, 1, 542, 90, 1, 486, 190, 1], "image_id": 119687, "bbox": [291, 54, 372, 941], "category_id": 1, "id": 181503}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [575, 235, 1, 636, 202, 1, 439, 272, 1, 666, 358, 1, 319, 207, 1, 621, 460, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 588, 56, 1, 599, 174, 1], "image_id": 116485, "bbox": [249, 41, 444, 480], "category_id": 1, "id": 181506}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [544, 534, 1, 577, 514, 1, 506, 518, 1, 573, 576, 1, 463, 462, 1, 531, 583, 1, 477, 701, 1, 551, 712, 1, 388, 737, 1, 0, 0, 0, 351, 847, 1, 0, 0, 0, 478, 444, 1, 520, 501, 1], "image_id": 119702, "bbox": [326, 424, 281, 436], "category_id": 1, "id": 181507}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [481, 174, 1, 349, 177, 1, 482, 273, 1, 317, 304, 1, 481, 346, 1, 337, 384, 1, 427, 397, 1, 362, 398, 1, 462, 562, 1, 343, 589, 1, 360, 584, 1, 280, 717, 1, 426, 27, 1, 426, 148, 1], "image_id": 111067, "bbox": [290, 8, 225, 617], "category_id": 1, "id": 181509}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [606, 255, 1, 614, 244, 1, 605, 396, 1, 610, 354, 1, 501, 379, 1, 498, 340, 1, 596, 495, 1, 618, 494, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 92, 1, 599, 203, 1], "image_id": 112629, "bbox": [527, 83, 160, 449], "category_id": 1, "id": 181512}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [580, 254, 1, 444, 243, 1, 585, 390, 1, 420, 370, 1, 614, 497, 1, 407, 528, 1, 547, 503, 1, 501, 496, 1, 572, 686, 1, 512, 693, 1, 434, 813, 1, 508, 883, 1, 552, 109, 1, 515, 209, 1], "image_id": 117233, "bbox": [344, 75, 311, 877], "category_id": 1, "id": 181514}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [294, 167, 1, 272, 162, 1, 278, 219, 1, 235, 228, 1, 305, 252, 1, 291, 263, 1, 278, 316, 1, 273, 316, 1, 289, 418, 1, 285, 418, 1, 285, 515, 1, 280, 517, 1, 263, 90, 1, 267, 156, 1], "image_id": 113886, "bbox": [191, 77, 149, 582], "category_id": 1, "id": 181517}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [372, 241, 1, 248, 213, 1, 358, 362, 1, 226, 344, 1, 367, 423, 1, 333, 331, 1, 334, 474, 1, 242, 454, 1, 453, 625, 1, 353, 522, 1, 462, 836, 1, 405, 711, 1, 356, 81, 1, 320, 195, 1], "image_id": 112518, "bbox": [190, 57, 376, 824], "category_id": 1, "id": 181518}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [129, 218, 1, 70, 233, 1, 149, 251, 1, 76, 288, 1, 151, 213, 1, 102, 261, 1, 135, 322, 1, 103, 329, 1, 148, 399, 1, 123, 406, 1, 125, 420, 1, 137, 467, 1, 91, 161, 1, 99, 210, 1], "image_id": 111191, "bbox": [51, 148, 116, 359], "category_id": 1, "id": 181524}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [560, 62, 1, 471, 97, 1, 638, 90, 1, 427, 140, 1, 608, 85, 1, 383, 180, 1, 534, 227, 1, 518, 225, 1, 490, 304, 1, 502, 300, 1, 491, 337, 1, 526, 385, 1, 473, 7, 1, 508, 60, 1], "image_id": 118746, "bbox": [344, 3, 308, 429], "category_id": 1, "id": 181540}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [224, 224, 1, 169, 255, 1, 226, 318, 1, 162, 421, 1, 165, 386, 1, 222, 364, 1, 146, 452, 1, 93, 521, 1, 280, 474, 1, 243, 546, 1, 0, 0, 0, 0, 0, 0, 290, 113, 1, 204, 210, 1], "image_id": 118781, "bbox": [7, 74, 323, 483], "category_id": 1, "id": 181544}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [132, 550, 1, 256, 631, 1, 88, 443, 1, 349, 645, 1, 98, 360, 1, 388, 541, 1, 105, 765, 1, 188, 777, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 500, 1, 211, 572, 1], "image_id": 115618, "bbox": [53, 295, 369, 372], "category_id": 1, "id": 181567}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [433, 360, 1, 161, 371, 1, 452, 528, 1, 148, 611, 1, 497, 594, 1, 161, 784, 1, 385, 788, 1, 244, 795, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 103, 1, 299, 315, 1], "image_id": 115819, "bbox": [96, 44, 489, 955], "category_id": 1, "id": 181569}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [621, 105, 1, 446, 170, 1, 708, 124, 1, 390, 224, 1, 779, 149, 1, 344, 297, 1, 611, 334, 1, 534, 361, 1, 556, 428, 1, 583, 505, 1, 571, 600, 1, 683, 579, 1, 498, 28, 1, 534, 116, 1], "image_id": 112531, "bbox": [312, 3, 554, 670], "category_id": 1, "id": 181573}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [76, 273, 1, 210, 303, 1, 122, 378, 1, 295, 421, 1, 238, 428, 1, 176, 367, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 82, 1, 132, 222, 1], "image_id": 112629, "bbox": [47, 70, 270, 463], "category_id": 1, "id": 181587}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [385, 228, 1, 270, 224, 1, 387, 343, 1, 264, 340, 1, 396, 442, 1, 255, 429, 1, 346, 429, 1, 282, 432, 1, 335, 586, 1, 305, 598, 1, 0, 0, 0, 379, 677, 1, 312, 83, 1, 321, 189, 1], "image_id": 110463, "bbox": [227, 70, 194, 667], "category_id": 1, "id": 181588}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 211, 1, 158, 190, 1, 398, 305, 1, 132, 294, 1, 333, 408, 1, 73, 352, 1, 247, 473, 1, 171, 458, 1, 190, 670, 1, 144, 665, 1, 333, 686, 1, 217, 835, 1, 219, 39, 1, 225, 167, 1], "image_id": 114605, "bbox": [19, 11, 409, 875], "category_id": 1, "id": 181596}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [890, 244, 1, 826, 273, 1, 790, 425, 1, 759, 381, 1, 607, 445, 1, 744, 417, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 105, 1, 844, 219, 1], "image_id": 118547, "bbox": [505, 67, 494, 463], "category_id": 1, "id": 181600}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [533, 71, 1, 420, 120, 1, 535, 107, 1, 386, 219, 1, 565, 186, 1, 455, 263, 1, 459, 208, 1, 387, 215, 1, 481, 303, 1, 443, 297, 1, 419, 404, 1, 380, 389, 1, 493, 5, 1, 479, 81, 1], "image_id": 117687, "bbox": [333, 1, 291, 353], "category_id": 1, "id": 181613}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [83, 304, 1, 198, 354, 1, 144, 254, 1, 0, 0, 0, 197, 263, 1, 240, 322, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, 198, 1, 130, 296, 1], "image_id": 118872, "bbox": [54, 162, 217, 211], "category_id": 1, "id": 181644}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [114, 176, 1, 67, 164, 1, 94, 235, 1, 24, 217, 1, 157, 253, 1, 74, 267, 1, 31, 303, 1, 16, 301, 1, 27, 450, 1, 71, 432, 1, 0, 0, 0, 0, 0, 0, 148, 79, 1, 103, 139, 1], "image_id": 116770, "bbox": [1, 49, 191, 545], "category_id": 1, "id": 181661}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [357, 220, 1, 194, 224, 1, 385, 375, 1, 177, 387, 1, 459, 393, 1, 206, 512, 1, 314, 504, 1, 236, 510, 1, 289, 688, 1, 220, 694, 1, 287, 841, 1, 198, 863, 1, 295, 34, 1, 289, 177, 1], "image_id": 115199, "bbox": [123, 20, 389, 960], "category_id": 1, "id": 181681}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [671, 230, 1, 538, 205, 1, 729, 279, 1, 450, 195, 1, 736, 300, 1, 394, 166, 1, 613, 401, 1, 555, 374, 1, 565, 525, 1, 564, 448, 1, 470, 573, 1, 466, 568, 1, 614, 114, 1, 606, 196, 1], "image_id": 115180, "bbox": [324, 96, 437, 528], "category_id": 1, "id": 181686}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [717, 260, 1, 579, 257, 1, 0, 0, 0, 544, 355, 1, 690, 326, 1, 585, 306, 1, 663, 465, 1, 581, 461, 1, 656, 582, 1, 563, 584, 1, 642, 670, 1, 551, 677, 1, 661, 121, 1, 646, 221, 1], "image_id": 115660, "bbox": [522, 81, 227, 663], "category_id": 1, "id": 181692}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [327, 178, 1, 194, 172, 1, 350, 307, 1, 149, 292, 1, 360, 407, 1, 169, 375, 1, 306, 382, 1, 233, 381, 1, 309, 561, 1, 207, 565, 1, 286, 719, 1, 165, 733, 1, 270, 40, 1, 260, 145, 1], "image_id": 113072, "bbox": [117, 15, 264, 746], "category_id": 1, "id": 181694}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [309, 257, 1, 205, 256, 1, 310, 351, 1, 219, 368, 1, 355, 403, 1, 260, 428, 1, 216, 414, 1, 153, 416, 1, 271, 444, 1, 229, 447, 1, 0, 0, 0, 0, 0, 0, 265, 149, 1, 254, 247, 1], "image_id": 109885, "bbox": [100, 134, 222, 324], "category_id": 1, "id": 181719}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [580, 214, 1, 459, 212, 1, 676, 219, 1, 411, 299, 1, 755, 202, 1, 433, 272, 1, 552, 387, 1, 475, 385, 1, 589, 527, 1, 442, 477, 1, 594, 624, 1, 412, 614, 1, 539, 113, 1, 522, 194, 1], "image_id": 116202, "bbox": [364, 98, 459, 564], "category_id": 1, "id": 181727}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [224, 195, 1, 112, 208, 1, 278, 276, 1, 128, 253, 1, 344, 200, 1, 172, 198, 1, 240, 430, 1, 165, 453, 1, 276, 577, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 93, 1, 163, 176, 1], "image_id": 115636, "bbox": [89, 72, 254, 526], "category_id": 1, "id": 181730}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 336, 1, 488, 331, 1, 439, 427, 1, 556, 361, 1, 417, 452, 1, 509, 348, 1, 414, 464, 1, 446, 468, 1, 363, 564, 1, 488, 488, 1, 426, 605, 1, 517, 532, 1, 448, 209, 1, 469, 294, 1], "image_id": 113133, "bbox": [338, 156, 242, 541], "category_id": 1, "id": 181731}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [212, 267, 1, 119, 271, 1, 225, 346, 1, 143, 321, 1, 229, 416, 1, 206, 334, 1, 188, 422, 1, 137, 423, 1, 181, 525, 1, 123, 517, 1, 170, 617, 1, 106, 622, 1, 163, 178, 1, 166, 255, 1], "image_id": 115059, "bbox": [63, 166, 204, 517], "category_id": 1, "id": 181740}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [464, 208, 1, 370, 216, 1, 484, 292, 1, 399, 313, 1, 490, 369, 1, 476, 364, 1, 472, 380, 1, 422, 390, 1, 497, 503, 1, 477, 497, 1, 486, 653, 1, 426, 650, 1, 411, 86, 1, 416, 179, 1], "image_id": 111554, "bbox": [334, 62, 234, 675], "category_id": 1, "id": 181744}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 187, 1, 297, 207, 1, 413, 230, 1, 316, 277, 1, 391, 268, 1, 358, 299, 1, 372, 274, 1, 319, 311, 1, 406, 298, 1, 397, 346, 1, 373, 337, 1, 439, 432, 1, 352, 127, 1, 339, 190, 1], "image_id": 118969, "bbox": [269, 111, 218, 351], "category_id": 1, "id": 181760}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [661, 349, 1, 637, 323, 1, 550, 396, 1, 568, 347, 1, 447, 430, 1, 497, 394, 1, 706, 549, 1, 694, 549, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, 202, 1, 643, 312, 1], "image_id": 116064, "bbox": [424, 165, 335, 393], "category_id": 1, "id": 181768}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [531, 238, 1, 435, 257, 1, 518, 310, 1, 435, 323, 1, 493, 359, 1, 431, 372, 1, 549, 347, 1, 488, 344, 1, 540, 430, 1, 490, 423, 1, 540, 507, 1, 485, 506, 1, 473, 156, 1, 480, 224, 1], "image_id": 117931, "bbox": [407, 145, 187, 224], "category_id": 1, "id": 181771}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 185, 1, 186, 208, 1, 415, 225, 1, 150, 315, 1, 456, 287, 1, 233, 355, 1, 327, 408, 1, 229, 429, 1, 417, 510, 1, 222, 595, 1, 475, 673, 1, 248, 659, 1, 294, 79, 1, 261, 165, 1], "image_id": 110657, "bbox": [119, 45, 414, 677], "category_id": 1, "id": 181790}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [532, 491, 1, 374, 394, 1, 538, 548, 1, 308, 316, 1, 513, 640, 1, 275, 207, 1, 429, 568, 1, 346, 529, 1, 423, 703, 1, 290, 644, 1, 424, 842, 1, 281, 626, 1, 494, 391, 1, 455, 435, 1], "image_id": 117457, "bbox": [160, 138, 401, 711], "category_id": 1, "id": 181798}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [224, 350, 1, 31, 377, 1, 272, 498, 1, 9, 595, 1, 273, 622, 1, 169, 685, 1, 233, 710, 1, 125, 719, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 109, 1, 127, 300, 1], "image_id": 115356, "bbox": [3, 79, 306, 820], "category_id": 1, "id": 181817}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [184, 547, 1, 79, 528, 1, 188, 617, 1, 61, 606, 1, 151, 661, 1, 106, 651, 1, 141, 665, 1, 76, 653, 1, 219, 701, 1, 80, 728, 1, 208, 809, 1, 103, 800, 1, 155, 444, 1, 139, 519, 1], "image_id": 112404, "bbox": [35, 435, 188, 413], "category_id": 1, "id": 181832}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [300, 148, 1, 135, 126, 1, 353, 253, 1, 66, 148, 1, 286, 230, 1, 56, 250, 1, 227, 373, 1, 138, 358, 1, 135, 531, 1, 208, 474, 1, 68, 646, 1, 192, 638, 1, 240, 58, 1, 221, 124, 1], "image_id": 109398, "bbox": [24, 28, 351, 692], "category_id": 1, "id": 181835}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [166, 142, 1, 93, 243, 1, 237, 222, 1, 79, 305, 1, 287, 300, 1, 150, 330, 1, 130, 349, 1, 58, 352, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, 1, 121, 174, 1], "image_id": 117730, "bbox": [31, 44, 294, 365], "category_id": 1, "id": 181863}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [504, 149, 1, 486, 185, 1, 418, 260, 1, 398, 241, 1, 397, 342, 1, 383, 328, 1, 542, 273, 1, 556, 358, 1, 656, 232, 1, 692, 287, 1, 646, 332, 1, 808, 292, 1, 589, 95, 1, 524, 151, 1], "image_id": 113999, "bbox": [352, 66, 558, 346], "category_id": 1, "id": 181902}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [584, 326, 1, 677, 238, 1, 575, 415, 1, 769, 210, 1, 555, 505, 1, 800, 185, 1, 759, 470, 1, 803, 420, 1, 848, 556, 1, 911, 470, 1, 750, 579, 1, 930, 589, 1, 575, 185, 1, 609, 249, 1], "image_id": 119773, "bbox": [504, 152, 495, 503], "category_id": 1, "id": 181906}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 248, 1, 355, 246, 1, 473, 313, 1, 340, 293, 1, 435, 340, 1, 357, 331, 1, 413, 384, 1, 370, 377, 1, 407, 460, 1, 358, 456, 1, 393, 518, 1, 352, 569, 1, 402, 162, 1, 402, 224, 1], "image_id": 109273, "bbox": [320, 148, 166, 458], "category_id": 1, "id": 181907}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [562, 86, 1, 501, 137, 1, 505, 131, 1, 478, 199, 1, 420, 81, 1, 439, 234, 1, 652, 323, 1, 631, 332, 1, 629, 440, 1, 654, 459, 1, 732, 548, 1, 677, 590, 1, 473, 31, 1, 515, 97, 1], "image_id": 111039, "bbox": [357, 15, 421, 624], "category_id": 1, "id": 181909}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [364, 233, 1, 178, 227, 1, 364, 420, 1, 205, 361, 1, 392, 346, 1, 214, 230, 1, 291, 549, 1, 182, 545, 1, 331, 735, 1, 191, 768, 1, 296, 913, 1, 194, 958, 1, 295, 71, 1, 277, 215, 1], "image_id": 115575, "bbox": [115, 45, 343, 898], "category_id": 1, "id": 181926}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [726, 511, 1, 679, 345, 1, 0, 0, 0, 550, 351, 1, 369, 619, 1, 431, 341, 1, 400, 484, 1, 403, 387, 1, 208, 506, 1, 253, 397, 1, 25, 523, 1, 118, 401, 1, 881, 324, 1, 716, 400, 1], "image_id": 117151, "bbox": [263, 260, 685, 371], "category_id": 1, "id": 181927}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [442, 318, 1, 235, 275, 1, 445, 465, 1, 114, 263, 1, 344, 465, 1, 92, 192, 1, 337, 584, 1, 243, 584, 1, 488, 630, 1, 271, 719, 1, 562, 845, 1, 0, 0, 0, 333, 95, 1, 338, 254, 1], "image_id": 117221, "bbox": [38, 58, 457, 818], "category_id": 1, "id": 181936}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [630, 125, 1, 514, 169, 1, 736, 144, 1, 437, 236, 1, 804, 209, 1, 361, 290, 1, 740, 315, 1, 680, 350, 1, 668, 421, 1, 586, 446, 1, 782, 519, 1, 618, 611, 1, 505, 43, 1, 557, 132, 1], "image_id": 119783, "bbox": [293, 19, 555, 625], "category_id": 1, "id": 181937}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [430, 199, 1, 395, 194, 1, 526, 284, 1, 518, 210, 1, 596, 279, 1, 602, 208, 1, 446, 454, 1, 429, 454, 1, 444, 604, 1, 428, 607, 1, 338, 580, 1, 270, 582, 1, 423, 87, 1, 402, 172, 1], "image_id": 117145, "bbox": [186, 56, 446, 582], "category_id": 1, "id": 181938}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [945, 164, 1, 894, 166, 1, 0, 0, 0, 890, 195, 1, 0, 0, 0, 902, 214, 1, 935, 238, 1, 909, 239, 1, 933, 295, 1, 910, 294, 1, 928, 357, 1, 911, 356, 1, 924, 107, 1, 919, 145, 1], "image_id": 111855, "bbox": [883, 96, 66, 290], "category_id": 1, "id": 181948}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [746, 258, 1, 596, 261, 1, 746, 340, 1, 552, 363, 1, 747, 369, 1, 593, 347, 1, 697, 458, 1, 615, 459, 1, 712, 594, 1, 627, 620, 1, 0, 0, 0, 0, 0, 0, 722, 158, 1, 677, 246, 1], "image_id": 113576, "bbox": [528, 124, 246, 506], "category_id": 1, "id": 181956}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [592, 199, 1, 721, 177, 1, 560, 320, 1, 764, 287, 1, 557, 277, 1, 680, 312, 1, 607, 435, 1, 691, 430, 1, 574, 576, 1, 670, 581, 1, 0, 0, 0, 0, 0, 0, 595, 54, 1, 632, 140, 1], "image_id": 118178, "bbox": [533, 36, 256, 562], "category_id": 1, "id": 181958}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 144, 1, 246, 147, 1, 278, 171, 1, 250, 158, 1, 255, 169, 1, 238, 172, 1, 272, 194, 1, 256, 193, 1, 272, 222, 1, 259, 225, 1, 275, 226, 1, 270, 259, 1, 245, 117, 1, 255, 137, 1], "image_id": 118186, "bbox": [226, 109, 57, 166], "category_id": 1, "id": 181963}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [560, 92, 1, 433, 78, 1, 546, 233, 1, 417, 179, 1, 522, 350, 1, 387, 307, 1, 492, 341, 1, 417, 322, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 497, 54, 1], "image_id": 115738, "bbox": [394, 0, 209, 409], "category_id": 1, "id": 182016}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 314, 1, 213, 291, 1, 477, 296, 1, 296, 290, 1, 573, 209, 1, 391, 215, 1, 299, 588, 1, 243, 576, 1, 271, 788, 1, 411, 687, 1, 128, 860, 1, 330, 875, 1, 285, 207, 1, 291, 279, 1], "image_id": 117697, "bbox": [183, 121, 458, 849], "category_id": 1, "id": 182024}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [253, 323, 1, 372, 310, 1, 295, 383, 1, 465, 352, 1, 369, 326, 1, 469, 323, 1, 235, 531, 1, 318, 548, 1, 130, 593, 1, 265, 632, 1, 179, 605, 1, 266, 660, 1, 314, 239, 1, 307, 289, 1], "image_id": 115467, "bbox": [101, 217, 381, 472], "category_id": 1, "id": 182026}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [339, 247, 1, 176, 284, 1, 391, 326, 1, 179, 411, 1, 354, 399, 1, 184, 501, 1, 334, 500, 1, 246, 500, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 128, 1, 253, 239, 1], "image_id": 114032, "bbox": [144, 112, 290, 486], "category_id": 1, "id": 182030}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [398, 245, 1, 238, 259, 1, 376, 423, 1, 124, 398, 1, 230, 450, 1, 194, 403, 1, 341, 568, 1, 234, 563, 1, 280, 801, 1, 253, 799, 1, 0, 0, 0, 0, 0, 0, 280, 79, 1, 311, 223, 1], "image_id": 111022, "bbox": [100, 50, 346, 771], "category_id": 1, "id": 182033}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [361, 139, 1, 246, 158, 1, 404, 192, 1, 240, 235, 1, 440, 199, 1, 233, 305, 1, 355, 294, 1, 297, 314, 1, 336, 397, 1, 350, 426, 1, 342, 523, 1, 399, 394, 1, 284, 49, 1, 302, 126, 1], "image_id": 111969, "bbox": [208, 30, 288, 538], "category_id": 1, "id": 182041}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [688, 209, 1, 562, 224, 1, 710, 361, 1, 536, 316, 1, 694, 336, 1, 519, 357, 1, 669, 434, 1, 596, 439, 1, 693, 588, 1, 622, 589, 1, 0, 0, 0, 0, 0, 0, 593, 96, 1, 623, 189, 1], "image_id": 118354, "bbox": [491, 60, 253, 539], "category_id": 1, "id": 182051}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [368, 156, 1, 309, 140, 1, 371, 199, 1, 289, 150, 1, 369, 237, 1, 269, 157, 1, 351, 238, 1, 317, 236, 1, 346, 308, 1, 303, 308, 1, 341, 368, 1, 292, 371, 1, 346, 98, 1, 342, 137, 1], "image_id": 118570, "bbox": [240, 87, 141, 308], "category_id": 1, "id": 182059}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [473, 273, 1, 384, 362, 1, 547, 371, 1, 378, 340, 1, 654, 394, 1, 385, 221, 1, 590, 523, 1, 522, 579, 1, 690, 660, 1, 635, 699, 1, 592, 795, 1, 475, 701, 1, 355, 215, 1, 412, 290, 1], "image_id": 116896, "bbox": [305, 118, 450, 761], "category_id": 1, "id": 182061}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 397, 1, 300, 434, 1, 471, 351, 1, 257, 466, 1, 551, 287, 1, 186, 521, 1, 394, 535, 1, 347, 540, 1, 396, 561, 1, 361, 576, 1, 400, 589, 1, 372, 585, 1, 329, 347, 1, 348, 412, 1], "image_id": 119743, "bbox": [140, 223, 495, 375], "category_id": 1, "id": 182063}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [344, 207, 1, 175, 216, 1, 363, 338, 1, 146, 316, 1, 348, 449, 1, 166, 384, 1, 301, 438, 1, 212, 440, 1, 309, 582, 1, 233, 617, 1, 249, 642, 1, 253, 755, 1, 257, 69, 1, 257, 182, 1], "image_id": 109136, "bbox": [124, 37, 262, 787], "category_id": 1, "id": 182069}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [397, 381, 1, 265, 384, 1, 474, 389, 1, 196, 392, 1, 559, 358, 1, 98, 351, 1, 368, 573, 1, 303, 571, 1, 363, 751, 1, 303, 752, 1, 355, 884, 1, 306, 889, 1, 335, 258, 1, 329, 362, 1], "image_id": 115492, "bbox": [17, 239, 627, 719], "category_id": 1, "id": 182076}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [728, 329, 1, 553, 335, 1, 764, 473, 1, 524, 484, 1, 773, 584, 1, 461, 547, 1, 695, 617, 1, 592, 618, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 156, 1, 627, 288, 1], "image_id": 111930, "bbox": [520, 142, 285, 533], "category_id": 1, "id": 182088}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [553, 289, 1, 377, 258, 1, 583, 381, 1, 327, 380, 1, 558, 492, 1, 339, 394, 1, 415, 528, 1, 370, 522, 1, 286, 686, 1, 351, 693, 1, 191, 873, 1, 503, 781, 1, 468, 118, 1, 456, 236, 1], "image_id": 112765, "bbox": [72, 88, 538, 850], "category_id": 1, "id": 182125}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [270, 551, 1, 219, 757, 1, 404, 493, 1, 0, 0, 0, 363, 601, 1, 112, 769, 1, 511, 607, 1, 498, 749, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 655, 1, 182, 651, 1], "image_id": 114824, "bbox": [3, 460, 497, 323], "category_id": 1, "id": 182134}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [646, 317, 1, 766, 308, 1, 617, 388, 1, 814, 367, 1, 642, 416, 1, 857, 369, 1, 668, 497, 1, 751, 492, 1, 657, 562, 1, 802, 526, 1, 664, 614, 1, 818, 608, 1, 723, 177, 1, 711, 285, 1], "image_id": 114064, "bbox": [597, 155, 281, 559], "category_id": 1, "id": 182138}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 73, 180, 1, 0, 0, 0, 78, 234, 1, 0, 0, 0, 42, 217, 1, 0, 0, 0, 56, 312, 1, 0, 0, 0, 61, 401, 1, 0, 0, 0, 67, 471, 1, 14, 96, 1, 19, 153, 1], "image_id": 118706, "bbox": [0, 78, 103, 271], "category_id": 1, "id": 182144}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [514, 187, 1, 401, 184, 1, 524, 334, 1, 406, 314, 1, 533, 455, 1, 350, 312, 1, 474, 439, 1, 400, 440, 1, 474, 614, 1, 421, 615, 1, 477, 773, 1, 450, 763, 1, 429, 45, 1, 456, 158, 1], "image_id": 109441, "bbox": [357, 8, 193, 850], "category_id": 1, "id": 182162}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 323, 1, 268, 307, 1, 490, 396, 1, 199, 356, 1, 426, 376, 1, 112, 375, 1, 337, 572, 1, 257, 530, 1, 268, 723, 1, 240, 636, 1, 190, 800, 1, 202, 787, 1, 379, 253, 1, 349, 298, 1], "image_id": 118603, "bbox": [44, 202, 473, 699], "category_id": 1, "id": 182178}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [181, 73, 1, 40, 134, 1, 258, 64, 1, 0, 0, 0, 262, 38, 1, 0, 0, 0, 151, 312, 1, 102, 314, 1, 205, 444, 1, 39, 458, 1, 160, 521, 1, 0, 0, 0, 109, 5, 1, 209, 55, 1], "image_id": 111549, "bbox": [0, 0, 208, 522], "category_id": 1, "id": 182187}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [504, 181, 1, 284, 170, 1, 525, 338, 1, 240, 306, 1, 486, 457, 1, 280, 423, 1, 434, 406, 1, 320, 405, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 16, 1, 390, 134, 1], "image_id": 115329, "bbox": [194, 0, 317, 522], "category_id": 1, "id": 182203}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [380, 289, 1, 285, 291, 1, 406, 353, 1, 258, 365, 1, 357, 352, 1, 274, 363, 1, 348, 459, 1, 293, 459, 1, 375, 562, 1, 284, 560, 1, 396, 644, 1, 274, 644, 1, 305, 220, 1, 326, 271, 1], "image_id": 113693, "bbox": [269, 199, 159, 493], "category_id": 1, "id": 182216}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [297, 277, 1, 144, 300, 1, 324, 309, 1, 135, 430, 1, 351, 345, 1, 165, 457, 1, 285, 475, 1, 214, 474, 1, 285, 654, 1, 214, 655, 1, 0, 0, 0, 0, 0, 0, 207, 124, 1, 217, 257, 1], "image_id": 112702, "bbox": [87, 98, 296, 432], "category_id": 1, "id": 182221}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [645, 58, 1, 787, 61, 1, 633, 143, 1, 802, 134, 1, 613, 119, 1, 754, 94, 1, 680, 247, 1, 753, 245, 1, 685, 387, 1, 755, 387, 1, 688, 520, 1, 758, 520, 1, 0, 0, 0, 719, 17, 1], "image_id": 118735, "bbox": [570, 0, 249, 191], "category_id": 1, "id": 182229}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 207, 1, 286, 164, 1, 498, 276, 1, 201, 188, 1, 696, 284, 1, 120, 258, 1, 346, 416, 1, 260, 373, 1, 348, 546, 1, 316, 471, 1, 208, 643, 1, 318, 652, 1, 398, 65, 1, 359, 158, 1], "image_id": 111431, "bbox": [76, 31, 475, 697], "category_id": 1, "id": 182234}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [229, 238, 1, 489, 304, 1, 173, 398, 1, 460, 453, 1, 137, 518, 1, 382, 418, 1, 226, 566, 1, 357, 572, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 416, 55, 1, 379, 174, 1], "image_id": 113528, "bbox": [94, 28, 428, 630], "category_id": 1, "id": 182235}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [280, 243, 1, 202, 227, 1, 306, 325, 1, 271, 273, 1, 361, 353, 1, 380, 266, 1, 323, 451, 1, 252, 458, 1, 306, 631, 1, 319, 604, 1, 292, 781, 1, 305, 794, 1, 270, 92, 1, 248, 193, 1], "image_id": 110617, "bbox": [166, 75, 271, 802], "category_id": 1, "id": 182245}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 163, 1, 366, 150, 1, 585, 209, 1, 365, 206, 1, 651, 275, 1, 309, 266, 1, 442, 374, 1, 368, 345, 1, 397, 514, 1, 322, 445, 1, 429, 522, 1, 265, 600, 1, 446, 26, 1, 442, 130, 1], "image_id": 112402, "bbox": [220, 12, 506, 646], "category_id": 1, "id": 182246}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [293, 163, 1, 176, 167, 1, 323, 249, 1, 164, 256, 1, 277, 249, 1, 164, 266, 1, 278, 363, 1, 221, 365, 1, 283, 519, 1, 226, 522, 1, 291, 645, 1, 240, 654, 1, 220, 47, 1, 230, 137, 1], "image_id": 117882, "bbox": [147, 28, 201, 704], "category_id": 1, "id": 182254}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [558, 327, 1, 457, 324, 1, 579, 373, 1, 426, 356, 1, 605, 336, 1, 443, 384, 1, 534, 476, 1, 482, 482, 1, 525, 580, 1, 468, 579, 1, 0, 0, 0, 0, 0, 0, 504, 209, 1, 509, 302, 1], "image_id": 110807, "bbox": [398, 187, 238, 411], "category_id": 1, "id": 182264}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [494, 402, 1, 440, 401, 1, 503, 456, 1, 433, 460, 1, 502, 491, 1, 432, 494, 1, 477, 498, 1, 452, 496, 1, 483, 566, 1, 457, 566, 1, 0, 0, 0, 0, 0, 0, 462, 340, 1, 464, 387, 1], "image_id": 115713, "bbox": [413, 328, 106, 298], "category_id": 1, "id": 182293}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [310, 382, 1, 172, 393, 1, 345, 456, 1, 111, 439, 1, 343, 541, 1, 85, 477, 1, 269, 540, 1, 198, 539, 1, 297, 655, 1, 199, 673, 1, 333, 791, 1, 193, 805, 1, 234, 260, 1, 231, 352, 1], "image_id": 118172, "bbox": [45, 248, 316, 248], "category_id": 1, "id": 182305}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [455, 251, 1, 305, 257, 1, 505, 360, 1, 224, 365, 1, 468, 443, 1, 271, 424, 1, 408, 484, 1, 323, 487, 1, 397, 676, 1, 355, 670, 1, 389, 844, 1, 389, 844, 1, 349, 103, 1, 368, 215, 1], "image_id": 111801, "bbox": [197, 83, 337, 868], "category_id": 1, "id": 182315}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [405, 299, 1, 168, 345, 1, 441, 493, 1, 70, 375, 1, 391, 603, 1, 153, 222, 1, 442, 621, 1, 306, 641, 1, 455, 708, 1, 468, 626, 1, 0, 0, 0, 0, 0, 0, 198, 107, 1, 280, 292, 1], "image_id": 115518, "bbox": [113, 77, 436, 747], "category_id": 1, "id": 182353}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [284, 324, 1, 144, 362, 1, 383, 373, 1, 39, 283, 1, 488, 360, 1, 44, 221, 1, 264, 586, 1, 203, 591, 1, 245, 746, 1, 172, 813, 1, 192, 842, 1, 102, 977, 1, 166, 202, 1, 201, 309, 1], "image_id": 118989, "bbox": [3, 138, 563, 861], "category_id": 1, "id": 182365}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [801, 293, 1, 739, 261, 1, 642, 394, 1, 734, 421, 1, 643, 242, 1, 692, 520, 1, 710, 521, 1, 680, 469, 1, 534, 525, 1, 526, 471, 1, 0, 0, 0, 0, 0, 0, 697, 65, 1, 761, 204, 1], "image_id": 118781, "bbox": [607, 26, 252, 572], "category_id": 1, "id": 182373}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [218, 190, 1, 133, 208, 1, 210, 314, 1, 152, 319, 1, 234, 393, 1, 236, 341, 1, 205, 425, 1, 151, 419, 1, 241, 602, 1, 151, 607, 1, 0, 0, 0, 0, 0, 0, 201, 81, 1, 178, 168, 1], "image_id": 114668, "bbox": [87, 58, 226, 573], "category_id": 1, "id": 182381}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [403, 158, 1, 253, 173, 1, 489, 210, 1, 244, 258, 1, 528, 280, 1, 235, 349, 1, 412, 329, 1, 344, 356, 1, 457, 444, 1, 389, 501, 1, 530, 575, 1, 474, 422, 1, 303, 48, 1, 323, 138, 1], "image_id": 118893, "bbox": [217, 27, 357, 587], "category_id": 1, "id": 182395}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [60, 71, 1, 100, 73, 1, 52, 95, 1, 105, 102, 1, 40, 112, 1, 93, 95, 1, 68, 128, 1, 89, 128, 1, 62, 165, 1, 89, 158, 1, 57, 196, 1, 90, 200, 1, 85, 32, 1, 83, 54, 1], "image_id": 112325, "bbox": [20, 21, 94, 200], "category_id": 1, "id": 182400}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [624, 326, 1, 864, 346, 1, 508, 426, 1, 870, 442, 1, 400, 498, 1, 878, 464, 1, 644, 692, 1, 790, 694, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 143, 1, 763, 278, 1], "image_id": 117220, "bbox": [284, 114, 685, 685], "category_id": 1, "id": 182402}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [243, 273, 1, 144, 281, 1, 257, 375, 1, 169, 405, 1, 265, 444, 1, 261, 451, 1, 242, 446, 1, 163, 465, 1, 345, 472, 1, 284, 497, 1, 0, 0, 0, 0, 0, 0, 213, 146, 1, 191, 247, 1], "image_id": 114114, "bbox": [95, 121, 270, 410], "category_id": 1, "id": 182409}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [232, 261, 1, 200, 291, 1, 303, 310, 1, 282, 388, 1, 268, 356, 1, 278, 328, 1, 293, 446, 1, 252, 464, 1, 424, 461, 1, 387, 484, 1, 421, 619, 1, 383, 627, 1, 204, 137, 1, 193, 234, 1], "image_id": 112576, "bbox": [121, 99, 366, 567], "category_id": 1, "id": 182433}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [690, 278, 1, 703, 277, 1, 763, 374, 1, 783, 364, 1, 811, 387, 1, 893, 388, 1, 733, 474, 1, 745, 482, 1, 832, 465, 1, 822, 481, 1, 835, 540, 1, 826, 554, 1, 721, 187, 1, 702, 257, 1], "image_id": 109059, "bbox": [414, 164, 539, 391], "category_id": 1, "id": 182434}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [414, 631, 1, 303, 643, 1, 454, 659, 1, 303, 693, 1, 438, 670, 1, 323, 673, 1, 431, 729, 1, 358, 732, 1, 475, 686, 1, 380, 693, 1, 502, 690, 1, 404, 662, 1, 337, 526, 1, 345, 632, 1], "image_id": 115575, "bbox": [265, 506, 289, 228], "category_id": 1, "id": 182442}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [236, 125, 1, 171, 137, 1, 290, 224, 1, 221, 241, 1, 363, 214, 1, 311, 195, 1, 290, 311, 1, 221, 359, 1, 425, 320, 1, 202, 522, 1, 487, 476, 1, 102, 630, 1, 229, 12, 1, 194, 101, 1], "image_id": 118801, "bbox": [62, 1, 518, 722], "category_id": 1, "id": 182463}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [282, 265, 1, 173, 259, 1, 304, 431, 1, 171, 461, 1, 368, 519, 1, 289, 587, 1, 284, 643, 1, 241, 649, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 121, 1, 248, 222, 1], "image_id": 113444, "bbox": [53, 63, 367, 702], "category_id": 1, "id": 182465}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [563, 175, 1, 473, 193, 1, 627, 211, 1, 451, 241, 1, 588, 247, 1, 455, 268, 1, 572, 328, 1, 522, 330, 1, 569, 422, 1, 527, 438, 1, 611, 481, 1, 577, 527, 1, 497, 103, 1, 511, 166, 1], "image_id": 112209, "bbox": [438, 86, 211, 475], "category_id": 1, "id": 182468}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [515, 313, 1, 367, 291, 1, 529, 415, 1, 255, 363, 1, 539, 442, 1, 252, 405, 1, 504, 531, 1, 403, 555, 1, 555, 700, 1, 461, 723, 1, 580, 856, 1, 432, 756, 1, 495, 197, 1, 439, 281, 1], "image_id": 119934, "bbox": [224, 157, 425, 748], "category_id": 1, "id": 182524}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [402, 234, 1, 336, 230, 1, 421, 338, 1, 329, 310, 1, 431, 392, 1, 355, 384, 1, 389, 412, 1, 349, 412, 1, 398, 539, 1, 344, 539, 1, 426, 653, 1, 348, 655, 1, 391, 143, 1, 374, 210, 1], "image_id": 111370, "bbox": [314, 130, 167, 561], "category_id": 1, "id": 182526}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [737, 236, 1, 510, 245, 1, 733, 387, 1, 504, 392, 1, 643, 492, 1, 586, 473, 1, 676, 549, 1, 552, 549, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, 50, 1, 614, 189, 1], "image_id": 110332, "bbox": [467, 24, 316, 628], "category_id": 1, "id": 182528}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 245, 1, 669, 213, 1, 454, 260, 1, 759, 204, 1, 424, 218, 1, 844, 179, 1, 578, 366, 1, 643, 405, 1, 513, 287, 1, 664, 494, 1, 424, 310, 1, 655, 629, 1, 578, 133, 1, 588, 205, 1], "image_id": 118224, "bbox": [390, 121, 521, 543], "category_id": 1, "id": 182555}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [411, 195, 1, 283, 197, 1, 422, 290, 1, 242, 293, 1, 426, 390, 1, 178, 344, 1, 370, 395, 1, 317, 392, 1, 348, 531, 1, 335, 527, 1, 310, 695, 1, 355, 714, 1, 311, 90, 1, 346, 168, 1], "image_id": 112056, "bbox": [135, 57, 310, 713], "category_id": 1, "id": 182584}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [671, 289, 1, 479, 279, 1, 717, 423, 1, 447, 420, 1, 725, 551, 1, 428, 537, 1, 611, 519, 1, 506, 519, 1, 603, 722, 1, 526, 702, 1, 602, 906, 1, 542, 845, 1, 541, 123, 1, 572, 234, 1], "image_id": 112863, "bbox": [392, 103, 358, 865], "category_id": 1, "id": 182589}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [424, 185, 1, 331, 182, 1, 439, 277, 1, 311, 274, 1, 461, 235, 1, 304, 332, 1, 386, 364, 1, 336, 357, 1, 364, 461, 1, 305, 456, 1, 348, 556, 1, 273, 557, 1, 382, 68, 1, 382, 162, 1], "image_id": 116240, "bbox": [235, 41, 252, 569], "category_id": 1, "id": 182591}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [371, 310, 1, 256, 348, 1, 406, 416, 1, 285, 476, 1, 399, 481, 1, 399, 441, 1, 359, 577, 1, 268, 578, 1, 387, 743, 1, 324, 744, 1, 246, 829, 1, 306, 931, 1, 320, 177, 1, 308, 292, 1], "image_id": 115765, "bbox": [204, 159, 238, 826], "category_id": 1, "id": 182602}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [205, 359, 1, 154, 414, 1, 253, 438, 1, 206, 560, 1, 315, 477, 1, 300, 477, 1, 244, 632, 1, 226, 642, 1, 242, 786, 1, 218, 823, 1, 242, 895, 1, 217, 970, 1, 228, 147, 1, 167, 299, 1], "image_id": 115660, "bbox": [73, 111, 305, 888], "category_id": 1, "id": 182614}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [570, 454, 1, 700, 445, 1, 506, 358, 1, 659, 335, 1, 431, 280, 1, 617, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 680, 115, 1, 646, 197, 1], "image_id": 115780, "bbox": [352, 164, 399, 486], "category_id": 1, "id": 182620}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 204, 1, 265, 211, 1, 445, 338, 1, 212, 314, 1, 374, 396, 1, 114, 299, 1, 376, 454, 1, 286, 456, 1, 321, 622, 1, 287, 634, 1, 370, 752, 1, 307, 798, 1, 298, 70, 1, 332, 177, 1], "image_id": 110720, "bbox": [36, 44, 433, 831], "category_id": 1, "id": 182623}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [567, 218, 1, 736, 216, 1, 575, 364, 1, 792, 364, 1, 548, 475, 1, 850, 475, 1, 613, 491, 1, 718, 486, 1, 540, 523, 1, 731, 530, 1, 601, 693, 1, 761, 696, 1, 608, 75, 1, 632, 173, 1], "image_id": 111431, "bbox": [487, 38, 414, 722], "category_id": 1, "id": 182638}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [100, 144, 1, 174, 140, 1, 120, 195, 1, 213, 188, 1, 160, 190, 1, 175, 159, 1, 95, 245, 1, 136, 244, 1, 77, 323, 1, 198, 323, 1, 52, 389, 1, 178, 399, 1, 127, 79, 1, 132, 121, 1], "image_id": 118016, "bbox": [30, 68, 202, 370], "category_id": 1, "id": 182650}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [351, 212, 1, 101, 303, 1, 449, 368, 1, 260, 448, 1, 532, 467, 1, 464, 423, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 46, 1, 205, 226, 1], "image_id": 109835, "bbox": [62, 0, 532, 677], "category_id": 1, "id": 182657}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [341, 168, 1, 226, 183, 1, 436, 192, 1, 169, 238, 1, 473, 226, 1, 107, 275, 1, 391, 372, 1, 305, 376, 1, 372, 548, 1, 217, 515, 1, 428, 515, 1, 228, 639, 1, 272, 70, 1, 285, 153, 1], "image_id": 114193, "bbox": [46, 39, 466, 630], "category_id": 1, "id": 182659}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [608, 224, 1, 502, 203, 1, 585, 306, 1, 417, 240, 1, 599, 413, 1, 410, 336, 1, 517, 378, 1, 446, 371, 1, 624, 462, 1, 511, 452, 1, 565, 604, 1, 439, 590, 1, 596, 132, 1, 566, 196, 1], "image_id": 115060, "bbox": [399, 98, 255, 571], "category_id": 1, "id": 182687}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [533, 330, 1, 449, 338, 1, 554, 418, 1, 466, 502, 1, 629, 374, 1, 0, 0, 0, 576, 570, 1, 525, 579, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 523, 177, 1, 489, 282, 1], "image_id": 116035, "bbox": [409, 150, 287, 449], "category_id": 1, "id": 182700}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [309, 153, 1, 274, 175, 1, 371, 209, 1, 240, 280, 1, 443, 182, 1, 321, 315, 1, 359, 403, 1, 410, 338, 1, 344, 526, 1, 534, 281, 1, 241, 635, 1, 685, 322, 1, 288, 36, 1, 277, 126, 1], "image_id": 114579, "bbox": [178, 19, 564, 673], "category_id": 1, "id": 182715}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [316, 270, 1, 239, 286, 1, 329, 328, 1, 242, 343, 1, 305, 347, 1, 217, 351, 1, 275, 405, 1, 233, 395, 1, 228, 465, 1, 194, 455, 1, 192, 506, 1, 160, 496, 1, 263, 176, 1, 269, 256, 1], "image_id": 110432, "bbox": [93, 150, 256, 392], "category_id": 1, "id": 182717}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [590, 205, 1, 506, 176, 1, 648, 277, 1, 563, 246, 1, 685, 238, 1, 661, 245, 1, 480, 362, 1, 422, 331, 1, 376, 413, 1, 336, 414, 1, 361, 492, 1, 326, 523, 1, 610, 65, 1, 557, 176, 1], "image_id": 118353, "bbox": [255, 12, 514, 585], "category_id": 1, "id": 182726}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [603, 149, 1, 434, 134, 1, 634, 271, 1, 367, 226, 1, 592, 362, 1, 306, 305, 1, 547, 417, 1, 447, 416, 1, 555, 598, 1, 409, 587, 1, 0, 0, 0, 0, 0, 0, 428, 85, 1, 424, 201, 1], "image_id": 115123, "bbox": [254, 1, 404, 665], "category_id": 1, "id": 182749}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 182, 1, 195, 197, 1, 339, 294, 1, 188, 315, 1, 352, 378, 1, 180, 427, 1, 306, 401, 1, 238, 401, 1, 297, 591, 1, 268, 569, 1, 252, 661, 1, 282, 736, 1, 247, 35, 1, 261, 147, 1], "image_id": 112325, "bbox": [151, 12, 245, 736], "category_id": 1, "id": 182764}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [141, 136, 1, 115, 131, 1, 142, 162, 1, 106, 150, 1, 149, 178, 1, 100, 159, 1, 139, 178, 1, 124, 178, 1, 143, 203, 1, 117, 205, 1, 141, 231, 1, 116, 235, 1, 128, 102, 1, 128, 127, 1], "image_id": 115517, "bbox": [80, 93, 79, 165], "category_id": 1, "id": 182767}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 356, 1, 268, 345, 1, 396, 480, 1, 229, 460, 1, 358, 409, 1, 263, 375, 1, 359, 552, 1, 288, 554, 1, 360, 727, 1, 293, 725, 1, 355, 902, 1, 307, 902, 1, 337, 207, 1, 326, 314, 1], "image_id": 114136, "bbox": [205, 178, 215, 806], "category_id": 1, "id": 182790}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [261, 387, 1, 126, 414, 1, 296, 483, 1, 131, 525, 1, 268, 557, 1, 191, 575, 1, 279, 571, 1, 193, 601, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, 283, 1, 192, 375, 1], "image_id": 110994, "bbox": [101, 261, 260, 417], "category_id": 1, "id": 182799}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [375, 316, 1, 178, 350, 1, 414, 348, 1, 222, 461, 1, 470, 383, 1, 294, 455, 1, 407, 494, 1, 318, 516, 1, 418, 654, 1, 346, 676, 1, 599, 692, 1, 535, 751, 1, 253, 222, 1, 272, 314, 1], "image_id": 115881, "bbox": [149, 198, 516, 645], "category_id": 1, "id": 182800}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [724, 380, 1, 737, 370, 1, 620, 412, 1, 680, 423, 1, 585, 436, 1, 625, 430, 1, 764, 536, 1, 758, 525, 1, 636, 430, 1, 665, 420, 1, 608, 550, 1, 640, 539, 1, 690, 295, 1, 715, 355, 1], "image_id": 110065, "bbox": [597, 270, 235, 308], "category_id": 1, "id": 182801}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [308, 471, 1, 297, 472, 1, 316, 502, 1, 299, 500, 1, 321, 494, 1, 317, 482, 1, 303, 534, 1, 309, 534, 1, 295, 578, 1, 336, 563, 1, 293, 616, 1, 327, 610, 1, 297, 434, 1, 299, 465, 1], "image_id": 109066, "bbox": [270, 426, 73, 214], "category_id": 1, "id": 182806}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [165, 298, 1, 63, 244, 1, 189, 422, 1, 13, 344, 1, 106, 430, 1, 0, 0, 0, 48, 536, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 808, 1, 153, 111, 1, 135, 224, 1], "image_id": 114605, "bbox": [0, 81, 209, 794], "category_id": 1, "id": 182812}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [262, 262, 1, 220, 283, 1, 272, 386, 1, 300, 391, 1, 313, 454, 1, 393, 437, 1, 308, 529, 1, 267, 529, 1, 301, 706, 1, 252, 709, 1, 276, 872, 1, 236, 881, 1, 233, 129, 1, 233, 239, 1], "image_id": 110969, "bbox": [136, 106, 293, 838], "category_id": 1, "id": 182822}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [493, 541, 1, 405, 422, 1, 503, 635, 1, 359, 324, 1, 485, 743, 1, 343, 210, 1, 386, 700, 1, 298, 680, 1, 393, 841, 1, 242, 791, 1, 401, 981, 1, 203, 876, 1, 499, 400, 1, 452, 465, 1], "image_id": 118172, "bbox": [170, 141, 358, 858], "category_id": 1, "id": 182824}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [621, 420, 1, 543, 409, 1, 630, 494, 1, 534, 485, 1, 609, 514, 1, 583, 510, 1, 573, 511, 1, 533, 511, 1, 646, 528, 1, 551, 522, 1, 620, 608, 1, 546, 608, 1, 600, 333, 1, 587, 399, 1], "image_id": 115318, "bbox": [507, 314, 156, 219], "category_id": 1, "id": 182825}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [716, 176, 1, 540, 200, 1, 755, 260, 1, 518, 264, 1, 741, 315, 1, 563, 271, 1, 672, 327, 1, 602, 322, 1, 738, 374, 1, 542, 320, 1, 686, 400, 1, 577, 393, 1, 589, 103, 1, 622, 171, 1], "image_id": 119307, "bbox": [499, 81, 288, 364], "category_id": 1, "id": 182829}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 110, 1, 290, 112, 1, 313, 148, 1, 289, 143, 1, 274, 138, 1, 262, 146, 1, 312, 192, 1, 298, 192, 1, 300, 236, 1, 284, 236, 1, 330, 276, 1, 319, 273, 1, 294, 56, 1, 309, 95, 1], "image_id": 112795, "bbox": [244, 40, 106, 265], "category_id": 1, "id": 182855}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [315, 240, 1, 208, 211, 1, 374, 297, 1, 116, 193, 1, 362, 355, 1, 132, 192, 1, 332, 368, 1, 273, 376, 1, 420, 436, 1, 343, 447, 1, 429, 574, 1, 351, 612, 1, 287, 113, 1, 256, 202, 1], "image_id": 109408, "bbox": [86, 85, 411, 629], "category_id": 1, "id": 182859}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [396, 129, 1, 357, 141, 1, 392, 201, 1, 336, 240, 1, 464, 233, 1, 422, 244, 1, 393, 313, 1, 383, 322, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 404, 44, 1, 385, 112, 1], "image_id": 115917, "bbox": [312, 24, 175, 324], "category_id": 1, "id": 182871}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [765, 220, 1, 671, 190, 1, 754, 274, 1, 624, 258, 1, 719, 216, 1, 668, 216, 1, 676, 335, 1, 624, 324, 1, 572, 358, 1, 576, 417, 1, 553, 462, 1, 573, 508, 1, 743, 101, 1, 724, 175, 1], "image_id": 118412, "bbox": [535, 82, 256, 290], "category_id": 1, "id": 182886}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [850, 221, 1, 714, 191, 1, 796, 351, 1, 696, 302, 1, 711, 413, 1, 660, 437, 1, 807, 466, 1, 705, 418, 1, 608, 549, 1, 546, 498, 1, 0, 0, 0, 0, 0, 0, 740, 45, 1, 781, 169, 1], "image_id": 114481, "bbox": [645, 16, 251, 474], "category_id": 1, "id": 182893}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [526, 284, 1, 625, 264, 1, 424, 374, 1, 713, 367, 1, 321, 373, 1, 695, 456, 1, 605, 510, 1, 656, 514, 1, 514, 683, 1, 677, 688, 1, 584, 865, 1, 736, 898, 1, 521, 124, 1, 550, 228, 1], "image_id": 113699, "bbox": [232, 101, 598, 846], "category_id": 1, "id": 182896}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [794, 255, 1, 544, 292, 1, 849, 369, 1, 511, 414, 1, 793, 462, 1, 499, 485, 1, 749, 410, 1, 640, 408, 1, 760, 586, 1, 619, 582, 1, 0, 0, 0, 0, 0, 0, 630, 210, 1, 652, 244, 1], "image_id": 116960, "bbox": [446, 136, 450, 423], "category_id": 1, "id": 182898}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [836, 344, 1, 578, 293, 1, 905, 578, 1, 477, 405, 1, 671, 602, 1, 280, 435, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 557, 49, 1, 689, 243, 1], "image_id": 114393, "bbox": [143, 4, 804, 628], "category_id": 1, "id": 182934}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [673, 104, 1, 694, 120, 1, 715, 209, 1, 718, 217, 1, 0, 0, 0, 0, 0, 0, 686, 270, 1, 664, 268, 1, 726, 397, 1, 652, 418, 1, 701, 543, 1, 607, 553, 1, 717, 10, 1, 709, 83, 1], "image_id": 113854, "bbox": [568, 2, 173, 602], "category_id": 1, "id": 182945}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [763, 240, 1, 604, 226, 1, 760, 344, 1, 588, 332, 1, 709, 323, 1, 666, 316, 1, 696, 420, 1, 617, 424, 1, 802, 455, 1, 643, 459, 1, 814, 612, 1, 664, 572, 1, 683, 97, 1, 687, 206, 1], "image_id": 112576, "bbox": [545, 78, 330, 588], "category_id": 1, "id": 182947}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [768, 156, 1, 625, 147, 1, 774, 265, 1, 589, 264, 1, 784, 365, 1, 565, 350, 1, 712, 367, 1, 634, 364, 1, 689, 500, 1, 625, 472, 1, 679, 600, 1, 627, 597, 1, 712, 13, 1, 701, 118, 1], "image_id": 111350, "bbox": [527, 0, 290, 625], "category_id": 1, "id": 182958}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [406, 203, 1, 227, 253, 1, 490, 223, 1, 164, 333, 1, 577, 275, 1, 98, 398, 1, 391, 451, 1, 284, 454, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 103, 1, 311, 199, 1], "image_id": 117296, "bbox": [21, 73, 601, 453], "category_id": 1, "id": 182993}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [248, 293, 1, 178, 300, 1, 315, 293, 1, 155, 360, 1, 302, 308, 1, 130, 339, 1, 238, 444, 1, 211, 444, 1, 231, 547, 1, 207, 548, 1, 222, 633, 1, 210, 638, 1, 219, 217, 1, 212, 278, 1], "image_id": 119217, "bbox": [114, 203, 221, 474], "category_id": 1, "id": 182996}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [239, 211, 1, 260, 212, 1, 230, 323, 1, 336, 270, 1, 268, 402, 1, 424, 308, 1, 224, 457, 1, 241, 459, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 122, 1, 263, 194, 1], "image_id": 118024, "bbox": [154, 100, 367, 402], "category_id": 1, "id": 183014}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [434, 160, 1, 306, 139, 1, 445, 241, 1, 213, 170, 1, 439, 323, 1, 251, 106, 1, 400, 381, 1, 320, 355, 1, 374, 519, 1, 272, 444, 1, 348, 614, 1, 259, 597, 1, 373, 62, 1, 365, 126, 1], "image_id": 116202, "bbox": [189, 37, 271, 621], "category_id": 1, "id": 183031}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [639, 110, 1, 577, 128, 1, 700, 196, 1, 564, 224, 1, 682, 276, 1, 532, 152, 1, 672, 305, 1, 627, 311, 1, 705, 421, 1, 612, 431, 1, 753, 550, 1, 659, 532, 1, 565, 33, 1, 601, 100, 1], "image_id": 117716, "bbox": [519, 13, 263, 581], "category_id": 1, "id": 183060}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [580, 133, 1, 519, 147, 1, 621, 181, 1, 620, 170, 1, 536, 139, 1, 570, 273, 1, 551, 371, 1, 477, 369, 1, 597, 521, 1, 394, 489, 1, 735, 607, 1, 337, 644, 1, 480, 40, 1, 530, 115, 1], "image_id": 115567, "bbox": [251, 10, 534, 670], "category_id": 1, "id": 183079}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [482, 311, 1, 361, 315, 1, 497, 410, 1, 351, 436, 1, 501, 500, 1, 348, 520, 1, 472, 509, 1, 393, 510, 1, 457, 657, 1, 414, 655, 1, 448, 821, 1, 417, 820, 1, 417, 182, 1, 412, 276, 1], "image_id": 116929, "bbox": [331, 165, 201, 734], "category_id": 1, "id": 183086}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [455, 222, 1, 330, 227, 1, 473, 375, 1, 324, 366, 1, 472, 476, 1, 282, 435, 1, 430, 478, 1, 354, 486, 1, 478, 687, 1, 339, 675, 1, 539, 851, 1, 340, 859, 1, 390, 84, 1, 390, 202, 1], "image_id": 111461, "bbox": [249, 67, 352, 891], "category_id": 1, "id": 183089}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [381, 370, 1, 251, 331, 1, 433, 451, 1, 148, 289, 1, 381, 461, 1, 141, 208, 1, 308, 570, 1, 242, 549, 1, 254, 709, 1, 246, 679, 1, 193, 831, 1, 201, 678, 1, 301, 227, 1, 311, 325, 1], "image_id": 114410, "bbox": [111, 143, 342, 764], "category_id": 1, "id": 183096}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [738, 263, 1, 692, 200, 1, 767, 255, 1, 680, 146, 1, 787, 217, 1, 643, 90, 1, 662, 417, 1, 603, 402, 1, 713, 528, 1, 510, 429, 1, 844, 610, 1, 456, 553, 1, 697, 173, 1, 697, 241, 1], "image_id": 117982, "bbox": [375, 21, 522, 631], "category_id": 1, "id": 183102}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [520, 122, 1, 450, 120, 1, 536, 244, 1, 315, 64, 1, 581, 219, 1, 228, 132, 1, 358, 315, 1, 335, 314, 1, 250, 482, 1, 488, 434, 1, 111, 611, 1, 336, 556, 1, 529, 22, 1, 481, 103, 1], "image_id": 110697, "bbox": [60, 1, 577, 623], "category_id": 1, "id": 183112}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [517, 220, 1, 356, 220, 1, 529, 340, 1, 337, 331, 1, 538, 328, 1, 374, 333, 1, 471, 473, 1, 400, 472, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 85, 1, 437, 194, 1], "image_id": 119527, "bbox": [312, 67, 261, 531], "category_id": 1, "id": 183116}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 195, 1, 226, 202, 1, 409, 334, 1, 216, 343, 1, 412, 463, 1, 202, 471, 1, 359, 448, 1, 271, 451, 1, 345, 651, 1, 280, 647, 1, 317, 870, 1, 275, 800, 1, 315, 33, 1, 308, 149, 1], "image_id": 109210, "bbox": [175, 7, 274, 951], "category_id": 1, "id": 183119}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [279, 232, 1, 156, 216, 1, 295, 320, 1, 118, 284, 1, 251, 319, 1, 144, 301, 1, 239, 388, 1, 174, 388, 1, 232, 560, 1, 167, 562, 1, 224, 715, 1, 165, 725, 1, 209, 109, 1, 209, 202, 1], "image_id": 113008, "bbox": [95, 80, 224, 724], "category_id": 1, "id": 183126}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [684, 227, 1, 507, 150, 1, 795, 318, 1, 477, 300, 1, 700, 273, 1, 484, 395, 1, 506, 466, 1, 409, 420, 1, 565, 589, 1, 300, 524, 1, 490, 784, 1, 172, 661, 1, 609, 51, 1, 596, 157, 1], "image_id": 115358, "bbox": [89, 3, 662, 774], "category_id": 1, "id": 183138}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [438, 181, 1, 377, 219, 1, 442, 320, 1, 376, 325, 1, 397, 426, 1, 362, 413, 1, 475, 444, 1, 417, 462, 1, 507, 597, 1, 453, 610, 1, 538, 747, 1, 477, 748, 1, 309, 60, 1, 387, 157, 1], "image_id": 114824, "bbox": [264, 21, 267, 548], "category_id": 1, "id": 183148}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [340, 297, 1, 311, 297, 1, 415, 346, 1, 334, 401, 1, 499, 318, 1, 386, 473, 1, 400, 438, 1, 403, 473, 1, 552, 466, 1, 517, 338, 1, 0, 0, 0, 0, 0, 0, 348, 166, 1, 322, 262, 1], "image_id": 113703, "bbox": [263, 146, 336, 387], "category_id": 1, "id": 183155}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [355, 125, 1, 243, 124, 1, 358, 219, 1, 238, 227, 1, 351, 274, 1, 213, 295, 1, 326, 275, 1, 264, 278, 1, 314, 412, 1, 275, 411, 1, 311, 551, 1, 276, 546, 1, 304, 22, 1, 304, 105, 1], "image_id": 118088, "bbox": [183, 1, 205, 606], "category_id": 1, "id": 183159}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [366, 178, 1, 174, 182, 1, 427, 297, 1, 150, 354, 1, 535, 301, 1, 175, 486, 1, 371, 516, 1, 267, 541, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 9, 1, 276, 137, 1], "image_id": 116796, "bbox": [114, 2, 377, 638], "category_id": 1, "id": 183163}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [360, 280, 1, 108, 287, 1, 402, 411, 1, 161, 452, 1, 359, 472, 1, 191, 657, 1, 182, 558, 1, 0, 0, 0, 353, 550, 1, 145, 573, 1, 356, 830, 1, 125, 833, 1, 335, 34, 1, 234, 241, 1], "image_id": 116422, "bbox": [1, 2, 450, 816], "category_id": 1, "id": 183178}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 359, 1, 265, 376, 1, 433, 480, 1, 260, 485, 1, 427, 561, 1, 289, 598, 1, 401, 586, 1, 332, 591, 1, 416, 749, 1, 334, 760, 1, 404, 896, 1, 348, 895, 1, 352, 226, 1, 341, 328, 1], "image_id": 115229, "bbox": [227, 212, 235, 747], "category_id": 1, "id": 183189}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [306, 165, 1, 123, 172, 1, 351, 254, 1, 108, 283, 1, 330, 285, 1, 188, 323, 1, 292, 340, 1, 190, 363, 1, 332, 479, 1, 222, 509, 1, 342, 583, 1, 245, 600, 1, 219, 5, 1, 222, 132, 1], "image_id": 116700, "bbox": [49, 3, 344, 629], "category_id": 1, "id": 183200}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 303, 1, 296, 326, 1, 433, 390, 1, 291, 409, 1, 379, 406, 1, 285, 392, 1, 438, 443, 1, 379, 456, 1, 452, 514, 1, 394, 520, 1, 477, 576, 1, 410, 596, 1, 304, 213, 1, 335, 301, 1], "image_id": 111281, "bbox": [258, 194, 168, 325], "category_id": 1, "id": 183204}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [291, 232, 1, 234, 242, 1, 273, 395, 1, 359, 381, 1, 297, 536, 1, 495, 453, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 38, 1, 241, 167, 1], "image_id": 119190, "bbox": [113, 20, 459, 551], "category_id": 1, "id": 183211}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [350, 162, 1, 281, 146, 1, 382, 235, 1, 237, 243, 1, 424, 187, 1, 286, 226, 1, 350, 331, 1, 279, 333, 1, 485, 412, 1, 235, 491, 1, 556, 564, 1, 136, 531, 1, 355, 52, 1, 314, 129, 1], "image_id": 117614, "bbox": [84, 20, 549, 587], "category_id": 1, "id": 183214}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [491, 250, 1, 553, 242, 1, 464, 367, 1, 515, 329, 1, 394, 375, 1, 426, 292, 1, 512, 449, 1, 527, 446, 1, 489, 606, 1, 505, 601, 1, 639, 594, 1, 636, 585, 1, 423, 87, 1, 403, 177, 1], "image_id": 117145, "bbox": [366, 88, 372, 552], "category_id": 1, "id": 183233}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [337, 191, 1, 250, 233, 1, 371, 231, 1, 279, 293, 1, 366, 255, 1, 305, 320, 1, 326, 320, 1, 274, 319, 1, 333, 380, 1, 268, 380, 1, 335, 435, 1, 250, 440, 1, 266, 146, 1, 283, 203, 1], "image_id": 109772, "bbox": [221, 115, 179, 377], "category_id": 1, "id": 183236}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [183, 194, 1, 56, 189, 1, 200, 266, 1, 26, 264, 1, 208, 325, 1, 67, 270, 1, 168, 364, 1, 94, 371, 1, 182, 512, 1, 93, 514, 1, 0, 0, 0, 0, 0, 0, 138, 98, 1, 122, 173, 1], "image_id": 119246, "bbox": [6, 77, 232, 452], "category_id": 1, "id": 183240}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [237, 196, 1, 306, 186, 1, 233, 305, 1, 286, 293, 1, 221, 407, 1, 228, 367, 1, 238, 383, 1, 284, 385, 1, 229, 527, 1, 274, 530, 1, 232, 691, 1, 388, 641, 1, 253, 54, 1, 267, 149, 1], "image_id": 116598, "bbox": [149, 38, 290, 695], "category_id": 1, "id": 183253}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [208, 137, 1, 246, 140, 1, 212, 173, 1, 243, 178, 1, 212, 199, 1, 226, 169, 1, 222, 192, 1, 244, 192, 1, 223, 238, 1, 242, 238, 1, 225, 270, 1, 244, 273, 1, 228, 100, 1, 226, 126, 1], "image_id": 110798, "bbox": [198, 95, 59, 204], "category_id": 1, "id": 183274}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [863, 93, 1, 716, 83, 1, 873, 168, 1, 670, 176, 1, 863, 198, 1, 733, 207, 1, 774, 263, 1, 687, 263, 1, 834, 285, 1, 765, 278, 1, 758, 364, 1, 693, 356, 1, 837, 6, 1, 795, 76, 1], "image_id": 119159, "bbox": [660, 1, 240, 405], "category_id": 1, "id": 183277}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [607, 406, 1, 522, 391, 1, 587, 521, 1, 514, 496, 1, 502, 587, 1, 443, 569, 1, 575, 605, 1, 492, 607, 1, 563, 772, 1, 486, 760, 1, 653, 860, 1, 487, 921, 1, 563, 265, 1, 563, 359, 1], "image_id": 114904, "bbox": [399, 237, 291, 735], "category_id": 1, "id": 183282}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [760, 493, 1, 698, 478, 1, 763, 613, 1, 612, 512, 1, 657, 614, 1, 566, 557, 1, 536, 572, 1, 534, 549, 1, 380, 557, 1, 366, 582, 1, 185, 589, 1, 192, 620, 1, 770, 365, 1, 749, 459, 1], "image_id": 113837, "bbox": [99, 333, 717, 320], "category_id": 1, "id": 183285}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 232, 1, 203, 258, 1, 375, 327, 1, 244, 335, 1, 249, 345, 1, 267, 222, 1, 406, 521, 1, 294, 544, 1, 425, 709, 1, 230, 719, 1, 435, 894, 1, 152, 927, 1, 282, 84, 1, 288, 215, 1], "image_id": 112912, "bbox": [81, 57, 409, 930], "category_id": 1, "id": 183306}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 239, 1, 486, 218, 1, 496, 304, 1, 425, 296, 1, 572, 347, 1, 458, 402, 1, 412, 345, 1, 382, 342, 1, 412, 454, 1, 389, 463, 1, 412, 507, 1, 391, 528, 1, 590, 140, 1, 520, 195, 1], "image_id": 116700, "bbox": [334, 93, 296, 499], "category_id": 1, "id": 183316}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [457, 281, 1, 419, 283, 1, 465, 314, 1, 419, 314, 1, 459, 335, 1, 432, 327, 1, 448, 347, 1, 427, 349, 1, 449, 393, 1, 428, 393, 1, 450, 439, 1, 425, 439, 1, 432, 245, 1, 435, 274, 1], "image_id": 115227, "bbox": [406, 242, 68, 211], "category_id": 1, "id": 183332}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [718, 335, 1, 478, 455, 1, 902, 366, 1, 379, 566, 1, 828, 416, 1, 263, 551, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 474, 223, 1, 581, 366, 1], "image_id": 113448, "bbox": [118, 159, 831, 516], "category_id": 1, "id": 183350}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [441, 225, 1, 555, 207, 1, 409, 352, 1, 661, 244, 1, 395, 311, 1, 645, 326, 1, 511, 474, 1, 525, 473, 1, 623, 626, 1, 384, 562, 1, 776, 744, 1, 418, 751, 1, 461, 70, 1, 478, 165, 1], "image_id": 111548, "bbox": [326, 45, 516, 804], "category_id": 1, "id": 183367}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 451, 151, 1, 0, 0, 0, 429, 258, 1, 0, 0, 0, 411, 340, 1, 518, 344, 1, 455, 342, 1, 0, 0, 0, 447, 475, 1, 522, 541, 1, 454, 604, 1, 501, 25, 1, 501, 125, 1], "image_id": 110399, "bbox": [382, 6, 151, 658], "category_id": 1, "id": 183376}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 189, 1, 552, 178, 1, 384, 270, 1, 557, 167, 1, 419, 204, 1, 546, 94, 1, 462, 393, 1, 522, 393, 1, 457, 528, 1, 537, 528, 1, 451, 662, 1, 533, 642, 1, 510, 91, 1, 497, 154, 1], "image_id": 113558, "bbox": [362, 32, 222, 662], "category_id": 1, "id": 183403}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [332, 262, 1, 266, 255, 1, 366, 357, 1, 231, 368, 1, 418, 420, 1, 348, 366, 1, 312, 511, 1, 241, 495, 1, 333, 677, 1, 175, 673, 1, 354, 831, 1, 76, 791, 1, 323, 137, 1, 305, 227, 1], "image_id": 117233, "bbox": [20, 100, 400, 806], "category_id": 1, "id": 183405}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 110, 1, 239, 114, 1, 160, 120, 1, 220, 310, 1, 166, 307, 1, 197, 461, 1, 239, 461, 1, 275, 79, 1, 287, 228, 1], "image_id": 114322, "bbox": [49, 0, 231, 567], "category_id": 1, "id": 183420}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [850, 358, 1, 577, 382, 1, 871, 576, 1, 540, 564, 1, 789, 588, 1, 460, 603, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, 154, 1, 491, 249, 1], "image_id": 110994, "bbox": [348, 86, 555, 593], "category_id": 1, "id": 183424}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [964, 157, 1, 862, 166, 1, 933, 221, 1, 824, 241, 1, 964, 260, 1, 898, 292, 1, 901, 321, 1, 841, 312, 1, 896, 445, 1, 803, 458, 1, 824, 570, 1, 775, 408, 1, 932, 64, 1, 923, 135, 1], "image_id": 118672, "bbox": [715, 41, 283, 581], "category_id": 1, "id": 183428}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [425, 406, 1, 316, 397, 1, 411, 507, 1, 310, 469, 1, 382, 566, 1, 299, 544, 1, 398, 550, 1, 346, 549, 1, 389, 652, 1, 353, 652, 1, 383, 748, 1, 357, 748, 1, 373, 279, 1, 373, 363, 1], "image_id": 109431, "bbox": [290, 262, 155, 558], "category_id": 1, "id": 183431}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [572, 228, 1, 330, 279, 1, 605, 384, 1, 290, 456, 1, 596, 467, 1, 321, 298, 1, 510, 643, 1, 377, 648, 1, 499, 889, 1, 392, 888, 1, 0, 0, 0, 0, 0, 0, 362, 46, 1, 431, 209, 1], "image_id": 112175, "bbox": [255, 9, 384, 990], "category_id": 1, "id": 183454}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [507, 295, 1, 372, 300, 1, 517, 414, 1, 367, 416, 1, 518, 476, 1, 382, 511, 1, 479, 549, 1, 405, 556, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 442, 109, 1, 429, 246, 1], "image_id": 113622, "bbox": [308, 88, 238, 624], "category_id": 1, "id": 183461}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [489, 409, 1, 329, 456, 1, 479, 445, 1, 311, 575, 1, 393, 451, 1, 288, 609, 1, 505, 710, 1, 402, 710, 1, 472, 773, 1, 303, 765, 1, 497, 847, 1, 398, 837, 1, 387, 280, 1, 397, 405, 1], "image_id": 113246, "bbox": [254, 260, 321, 665], "category_id": 1, "id": 183466}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [176, 289, 1, 248, 290, 1, 110, 403, 1, 245, 384, 1, 184, 450, 1, 360, 350, 1, 154, 556, 1, 177, 558, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 175, 1, 241, 261, 1], "image_id": 115235, "bbox": [86, 155, 356, 499], "category_id": 1, "id": 183478}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [371, 264, 1, 239, 272, 1, 390, 386, 1, 227, 401, 1, 415, 459, 1, 286, 457, 1, 365, 499, 1, 284, 498, 1, 361, 687, 1, 286, 667, 1, 329, 825, 1, 281, 787, 1, 301, 109, 1, 295, 227, 1], "image_id": 117340, "bbox": [193, 78, 249, 843], "category_id": 1, "id": 183479}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [490, 153, 1, 427, 156, 1, 496, 201, 1, 422, 222, 1, 516, 228, 1, 466, 256, 1, 485, 269, 1, 446, 275, 1, 501, 359, 1, 467, 351, 1, 504, 447, 1, 428, 423, 1, 464, 81, 1, 461, 136, 1], "image_id": 110601, "bbox": [408, 66, 128, 404], "category_id": 1, "id": 183482}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [520, 222, 1, 413, 267, 1, 600, 225, 1, 395, 338, 1, 643, 271, 1, 393, 375, 1, 556, 344, 1, 500, 349, 1, 494, 431, 1, 465, 474, 1, 561, 476, 1, 517, 536, 1, 428, 172, 1, 463, 230, 1], "image_id": 114685, "bbox": [372, 130, 303, 429], "category_id": 1, "id": 183493}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [509, 222, 1, 373, 244, 1, 567, 357, 1, 284, 306, 1, 625, 416, 1, 278, 347, 1, 518, 449, 1, 428, 468, 1, 623, 554, 1, 476, 578, 1, 541, 683, 1, 416, 751, 1, 509, 70, 1, 476, 186, 1], "image_id": 115450, "bbox": [259, 75, 430, 738], "category_id": 1, "id": 183502}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [424, 413, 1, 218, 382, 1, 389, 595, 1, 173, 568, 1, 280, 674, 1, 167, 435, 1, 306, 664, 1, 185, 632, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 306, 191, 1, 319, 356, 1], "image_id": 115929, "bbox": [1, 165, 491, 543], "category_id": 1, "id": 183508}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [140, 198, 1, 30, 246, 1, 183, 293, 1, 19, 342, 1, 201, 289, 1, 72, 357, 1, 172, 396, 1, 108, 418, 1, 225, 534, 1, 165, 568, 1, 253, 678, 1, 127, 580, 1, 46, 108, 1, 75, 204, 1], "image_id": 114944, "bbox": [3, 93, 278, 641], "category_id": 1, "id": 183510}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [708, 331, 1, 688, 333, 1, 704, 496, 1, 599, 402, 1, 0, 0, 0, 511, 418, 1, 0, 0, 0, 785, 564, 1, 618, 576, 1, 631, 544, 1, 0, 0, 0, 0, 0, 0, 631, 179, 1, 703, 292, 1], "image_id": 114114, "bbox": [431, 143, 468, 452], "category_id": 1, "id": 183520}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [153, 153, 1, 89, 158, 1, 157, 195, 1, 73, 201, 1, 138, 227, 1, 83, 212, 1, 139, 230, 1, 107, 232, 1, 143, 300, 1, 107, 302, 1, 147, 361, 1, 105, 360, 1, 116, 119, 1, 118, 145, 1], "image_id": 118706, "bbox": [70, 103, 102, 218], "category_id": 1, "id": 183523}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [554, 190, 1, 449, 167, 1, 536, 281, 1, 453, 295, 1, 568, 294, 1, 539, 329, 1, 531, 397, 1, 481, 399, 1, 531, 530, 1, 477, 529, 1, 0, 0, 0, 0, 0, 0, 583, 77, 1, 511, 152, 1], "image_id": 114808, "bbox": [409, 49, 235, 459], "category_id": 1, "id": 183524}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 190, 1, 384, 191, 1, 354, 292, 1, 344, 269, 1, 341, 228, 1, 334, 220, 1, 380, 378, 1, 366, 380, 1, 383, 487, 1, 369, 488, 1, 390, 570, 1, 378, 568, 1, 332, 113, 1, 381, 169, 1], "image_id": 115897, "bbox": [294, 88, 147, 542], "category_id": 1, "id": 183527}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [709, 326, 1, 639, 198, 1, 728, 408, 1, 610, 196, 1, 744, 512, 1, 575, 197, 1, 465, 382, 1, 450, 330, 1, 447, 217, 1, 374, 179, 1, 255, 117, 1, 279, 38, 1, 676, 156, 1, 653, 236, 1], "image_id": 116390, "bbox": [201, 2, 612, 580], "category_id": 1, "id": 183528}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [305, 346, 1, 265, 331, 1, 241, 464, 1, 215, 427, 1, 138, 442, 1, 141, 422, 1, 371, 522, 1, 327, 526, 1, 371, 686, 1, 340, 686, 1, 0, 0, 0, 0, 0, 0, 286, 204, 1, 282, 310, 1], "image_id": 112035, "bbox": [91, 177, 339, 572], "category_id": 1, "id": 183542}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [392, 338, 1, 225, 358, 1, 441, 420, 1, 181, 470, 1, 475, 522, 1, 155, 591, 1, 350, 585, 1, 284, 582, 1, 319, 761, 1, 383, 592, 1, 255, 926, 1, 470, 743, 1, 320, 203, 1, 308, 321, 1], "image_id": 113273, "bbox": [123, 179, 411, 799], "category_id": 1, "id": 183546}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [447, 233, 1, 335, 204, 1, 468, 296, 1, 325, 292, 1, 446, 318, 1, 284, 305, 1, 407, 362, 1, 350, 362, 1, 386, 488, 1, 361, 491, 1, 363, 617, 1, 387, 463, 1, 392, 114, 1, 392, 193, 1], "image_id": 109126, "bbox": [330, 101, 155, 556], "category_id": 1, "id": 183551}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [583, 215, 1, 401, 246, 1, 670, 287, 1, 342, 416, 1, 809, 351, 1, 456, 400, 1, 548, 519, 1, 452, 516, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, 32, 1, 491, 182, 1], "image_id": 115604, "bbox": [311, 4, 578, 623], "category_id": 1, "id": 183554}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [439, 93, 1, 488, 80, 1, 425, 131, 1, 486, 118, 1, 436, 120, 1, 476, 142, 1, 441, 165, 1, 471, 164, 1, 444, 232, 1, 471, 229, 1, 452, 298, 1, 475, 291, 1, 453, 28, 1, 458, 66, 1], "image_id": 112325, "bbox": [406, 19, 88, 306], "category_id": 1, "id": 183556}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 581, 778, 1, 0, 0, 0, 569, 841, 1, 0, 0, 0, 629, 841, 1, 0, 0, 0, 607, 879, 1, 0, 0, 0, 573, 865, 1, 635, 905, 1, 645, 902, 1, 635, 727, 1, 630, 768, 1], "image_id": 113243, "bbox": [529, 703, 135, 219], "category_id": 1, "id": 183561}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [273, 478, 1, 351, 457, 1, 271, 558, 1, 364, 530, 1, 251, 625, 1, 374, 582, 1, 299, 608, 1, 363, 613, 1, 302, 523, 1, 359, 515, 1, 317, 603, 1, 375, 596, 1, 289, 391, 1, 301, 444, 1], "image_id": 111161, "bbox": [229, 375, 166, 262], "category_id": 1, "id": 183571}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [533, 123, 1, 439, 129, 1, 521, 186, 1, 439, 191, 1, 452, 186, 1, 463, 125, 1, 505, 225, 1, 464, 226, 1, 510, 281, 1, 460, 281, 1, 500, 352, 1, 465, 351, 1, 491, 44, 1, 484, 113, 1], "image_id": 118781, "bbox": [414, 25, 135, 184], "category_id": 1, "id": 183576}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [470, 189, 1, 506, 204, 1, 453, 291, 1, 622, 215, 1, 505, 365, 1, 558, 195, 1, 544, 463, 1, 520, 463, 1, 556, 636, 1, 471, 639, 1, 570, 821, 1, 416, 840, 1, 466, 46, 1, 491, 156, 1], "image_id": 112912, "bbox": [385, 26, 293, 870], "category_id": 1, "id": 183578}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 257, 1, 387, 229, 1, 608, 400, 1, 259, 268, 1, 603, 504, 1, 182, 194, 1, 482, 527, 1, 395, 523, 1, 549, 713, 1, 401, 699, 1, 634, 871, 1, 404, 906, 1, 470, 97, 1, 452, 216, 1], "image_id": 113699, "bbox": [149, 79, 530, 868], "category_id": 1, "id": 183588}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 523, 36, 1, 407, 34, 1, 484, 80, 1, 391, 61, 1, 479, 122, 1, 433, 125, 1, 498, 229, 1, 411, 231, 1, 522, 315, 1, 389, 325, 1, 0, 0, 0, 0, 0, 0], "image_id": 119034, "bbox": [349, 0, 222, 374], "category_id": 1, "id": 183590}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 315, 1, 248, 277, 1, 232, 376, 1, 196, 324, 1, 156, 371, 1, 159, 350, 1, 146, 436, 1, 141, 376, 1, 48, 431, 1, 18, 366, 1, 44, 392, 1, 49, 438, 1, 277, 203, 1, 282, 283, 1], "image_id": 109356, "bbox": [2, 182, 329, 285], "category_id": 1, "id": 183603}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [415, 559, 1, 280, 577, 1, 472, 663, 1, 226, 680, 1, 445, 752, 1, 253, 768, 1, 410, 801, 1, 325, 806, 1, 414, 963, 1, 321, 971, 1, 0, 0, 0, 0, 0, 0, 311, 408, 1, 346, 542, 1], "image_id": 118423, "bbox": [206, 370, 259, 629], "category_id": 1, "id": 183617}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [248, 130, 1, 196, 124, 1, 250, 168, 1, 177, 155, 1, 223, 166, 1, 151, 169, 1, 235, 201, 1, 209, 202, 1, 236, 261, 1, 211, 255, 1, 210, 261, 1, 219, 307, 1, 220, 78, 1, 218, 116, 1], "image_id": 115251, "bbox": [161, 67, 100, 265], "category_id": 1, "id": 183633}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [571, 218, 1, 388, 214, 1, 674, 308, 1, 274, 303, 1, 796, 389, 1, 150, 365, 1, 521, 499, 1, 426, 506, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 478, 45, 1, 478, 179, 1], "image_id": 114163, "bbox": [43, 21, 860, 612], "category_id": 1, "id": 183648}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [459, 93, 1, 528, 89, 1, 453, 145, 1, 541, 143, 1, 444, 183, 1, 541, 175, 1, 471, 190, 1, 509, 188, 1, 471, 255, 1, 515, 254, 1, 478, 325, 1, 523, 314, 1, 484, 20, 1, 489, 60, 1], "image_id": 112325, "bbox": [430, 12, 117, 347], "category_id": 1, "id": 183649}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [212, 334, 1, 448, 341, 1, 111, 453, 1, 524, 478, 1, 202, 569, 1, 433, 546, 1, 291, 723, 1, 397, 725, 1, 244, 935, 1, 376, 945, 1, 0, 0, 0, 0, 0, 0, 361, 119, 1, 330, 262, 1], "image_id": 116120, "bbox": [70, 88, 490, 833], "category_id": 1, "id": 183663}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [559, 206, 1, 471, 200, 1, 597, 258, 1, 431, 251, 1, 656, 261, 1, 371, 304, 1, 559, 355, 1, 533, 355, 1, 676, 273, 1, 640, 252, 1, 628, 396, 1, 589, 367, 1, 513, 118, 1, 513, 192, 1], "image_id": 111298, "bbox": [280, 105, 416, 350], "category_id": 1, "id": 183685}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 222, 1, 261, 235, 1, 448, 332, 1, 255, 352, 1, 480, 389, 1, 298, 382, 1, 396, 394, 1, 298, 394, 1, 332, 427, 1, 270, 429, 1, 386, 582, 1, 200, 588, 1, 358, 60, 1, 331, 173, 1], "image_id": 115682, "bbox": [174, 41, 350, 530], "category_id": 1, "id": 183690}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [472, 163, 1, 341, 148, 1, 475, 288, 1, 316, 261, 1, 491, 393, 1, 278, 371, 1, 436, 388, 1, 356, 388, 1, 407, 572, 1, 347, 578, 1, 393, 740, 1, 393, 674, 1, 411, 28, 1, 411, 132, 1], "image_id": 111174, "bbox": [257, 4, 263, 799], "category_id": 1, "id": 183692}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [745, 276, 1, 586, 257, 1, 749, 383, 1, 536, 359, 1, 742, 377, 1, 596, 359, 1, 681, 455, 1, 583, 447, 1, 676, 522, 1, 575, 516, 1, 0, 0, 0, 0, 0, 0, 673, 90, 1, 666, 232, 1], "image_id": 116482, "bbox": [522, 54, 270, 484], "category_id": 1, "id": 183697}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [208, 158, 1, 82, 166, 1, 259, 211, 1, 96, 220, 1, 267, 125, 1, 178, 235, 1, 211, 344, 1, 126, 359, 1, 150, 345, 1, 174, 505, 1, 148, 491, 1, 272, 591, 1, 120, 57, 1, 134, 150, 1], "image_id": 113137, "bbox": [55, 30, 256, 647], "category_id": 1, "id": 183713}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [463, 240, 1, 277, 258, 1, 513, 319, 1, 264, 380, 1, 597, 331, 1, 271, 470, 1, 428, 440, 1, 320, 451, 1, 459, 447, 1, 331, 548, 1, 268, 535, 1, 0, 0, 0, 370, 105, 1, 366, 223, 1], "image_id": 111414, "bbox": [215, 91, 450, 533], "category_id": 1, "id": 183717}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 293, 1, 153, 284, 1, 379, 410, 1, 124, 442, 1, 454, 325, 1, 264, 429, 1, 266, 546, 1, 153, 544, 1, 299, 706, 1, 110, 708, 1, 314, 827, 1, 87, 833, 1, 324, 186, 1, 248, 267, 1], "image_id": 112642, "bbox": [75, 135, 427, 566], "category_id": 1, "id": 183719}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 139, 1, 261, 140, 1, 435, 246, 1, 265, 253, 1, 407, 323, 1, 224, 324, 1, 373, 363, 1, 312, 363, 1, 363, 481, 1, 327, 499, 1, 381, 616, 1, 352, 613, 1, 299, 22, 1, 328, 111, 1], "image_id": 109419, "bbox": [185, 7, 266, 633], "category_id": 1, "id": 183722}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [572, 257, 1, 408, 270, 1, 602, 375, 1, 396, 386, 1, 549, 362, 1, 470, 421, 1, 544, 515, 1, 457, 519, 1, 569, 683, 1, 466, 682, 1, 595, 837, 1, 465, 850, 1, 470, 106, 1, 481, 216, 1], "image_id": 113809, "bbox": [372, 93, 263, 827], "category_id": 1, "id": 183726}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [302, 273, 1, 194, 271, 1, 304, 377, 1, 210, 370, 1, 205, 380, 1, 294, 379, 1, 268, 463, 1, 222, 459, 1, 240, 370, 1, 108, 478, 1, 89, 456, 1, 120, 656, 1, 243, 184, 1, 248, 255, 1], "image_id": 112021, "bbox": [0, 154, 356, 598], "category_id": 1, "id": 183733}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [94, 159, 1, 36, 183, 1, 140, 161, 1, 53, 238, 1, 185, 166, 1, 49, 291, 1, 101, 291, 1, 68, 290, 1, 103, 365, 1, 39, 353, 1, 108, 449, 1, 32, 436, 1, 16, 107, 1, 50, 154, 1], "image_id": 112702, "bbox": [2, 82, 230, 418], "category_id": 1, "id": 183739}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [642, 276, 1, 468, 290, 1, 677, 387, 1, 431, 404, 1, 633, 426, 1, 468, 437, 1, 615, 516, 1, 524, 525, 1, 627, 714, 1, 549, 718, 1, 635, 895, 1, 573, 889, 1, 524, 122, 1, 537, 244, 1], "image_id": 112931, "bbox": [420, 108, 267, 864], "category_id": 1, "id": 183750}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [253, 147, 1, 200, 123, 1, 301, 203, 1, 281, 173, 1, 310, 205, 1, 285, 140, 1, 247, 296, 1, 185, 296, 1, 325, 367, 1, 214, 434, 1, 375, 482, 1, 205, 580, 1, 248, 43, 1, 223, 110, 1], "image_id": 119186, "bbox": [150, 26, 309, 587], "category_id": 1, "id": 183767}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [311, 269, 1, 185, 264, 1, 337, 403, 1, 185, 383, 1, 382, 454, 1, 232, 438, 1, 282, 483, 1, 218, 481, 1, 261, 648, 1, 246, 633, 1, 249, 804, 1, 273, 744, 1, 248, 122, 1, 242, 239, 1], "image_id": 119477, "bbox": [140, 91, 198, 818], "category_id": 1, "id": 183769}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [570, 211, 1, 647, 252, 1, 501, 318, 1, 615, 381, 1, 592, 297, 1, 707, 341, 1, 600, 538, 1, 564, 531, 1, 659, 687, 1, 486, 702, 1, 526, 829, 1, 328, 801, 1, 532, 102, 1, 526, 231, 1], "image_id": 119155, "bbox": [297, 66, 473, 872], "category_id": 1, "id": 183772}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 284, 1, 255, 327, 1, 523, 384, 1, 261, 471, 1, 492, 522, 1, 261, 536, 1, 446, 552, 1, 294, 548, 1, 310, 570, 1, 143, 570, 1, 257, 832, 1, 83, 823, 1, 302, 149, 1, 319, 275, 1], "image_id": 114930, "bbox": [3, 114, 532, 766], "category_id": 1, "id": 183776}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [395, 314, 1, 252, 325, 1, 412, 410, 1, 211, 432, 1, 387, 479, 1, 248, 510, 1, 352, 524, 1, 282, 526, 1, 345, 623, 1, 291, 632, 1, 348, 711, 1, 304, 715, 1, 317, 146, 1, 321, 280, 1], "image_id": 116902, "bbox": [186, 121, 250, 628], "category_id": 1, "id": 183778}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [257, 190, 1, 412, 164, 1, 244, 311, 1, 425, 299, 1, 280, 414, 1, 340, 267, 1, 297, 369, 1, 386, 362, 1, 283, 521, 1, 402, 374, 1, 313, 479, 1, 406, 502, 1, 362, 109, 1, 344, 144, 1], "image_id": 113725, "bbox": [206, 84, 253, 472], "category_id": 1, "id": 183786}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [363, 141, 1, 198, 165, 1, 423, 167, 1, 129, 238, 1, 461, 204, 1, 67, 329, 1, 353, 384, 1, 285, 398, 1, 371, 525, 1, 347, 530, 1, 268, 607, 1, 391, 701, 1, 332, 59, 1, 274, 136, 1], "image_id": 111967, "bbox": [6, 7, 472, 759], "category_id": 1, "id": 183801}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [656, 95, 1, 564, 88, 1, 625, 37, 1, 486, 41, 1, 0, 0, 0, 0, 0, 0, 669, 349, 1, 604, 351, 1, 638, 501, 1, 600, 508, 1, 0, 0, 0, 0, 0, 0, 605, 5, 1, 609, 87, 1], "image_id": 114759, "bbox": [414, 1, 324, 624], "category_id": 1, "id": 183812}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [554, 459, 1, 528, 454, 1, 522, 462, 1, 508, 478, 1, 496, 460, 1, 510, 457, 1, 531, 508, 1, 524, 506, 1, 506, 504, 1, 495, 504, 1, 522, 534, 1, 514, 536, 1, 551, 425, 1, 551, 478, 1], "image_id": 109066, "bbox": [487, 420, 76, 145], "category_id": 1, "id": 183836}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [524, 279, 1, 381, 276, 1, 547, 423, 1, 352, 379, 1, 529, 535, 1, 282, 422, 1, 491, 520, 1, 417, 521, 1, 517, 741, 1, 447, 745, 1, 515, 907, 1, 470, 899, 1, 433, 109, 1, 439, 227, 1], "image_id": 113898, "bbox": [326, 82, 258, 892], "category_id": 1, "id": 183840}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [276, 163, 1, 196, 174, 1, 297, 212, 1, 209, 222, 1, 259, 178, 1, 237, 175, 1, 281, 285, 1, 231, 292, 1, 317, 321, 1, 281, 324, 1, 295, 399, 1, 263, 394, 1, 240, 103, 1, 230, 162, 1], "image_id": 116408, "bbox": [175, 87, 132, 143], "category_id": 1, "id": 183870}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [500, 194, 1, 363, 199, 1, 550, 266, 1, 283, 243, 1, 550, 317, 1, 211, 268, 1, 501, 397, 1, 434, 378, 1, 529, 539, 1, 458, 454, 1, 439, 618, 1, 417, 611, 1, 420, 97, 1, 429, 170, 1], "image_id": 115129, "bbox": [131, 70, 427, 619], "category_id": 1, "id": 183875}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [481, 187, 1, 340, 214, 1, 597, 169, 1, 231, 248, 1, 703, 150, 1, 140, 317, 1, 396, 410, 1, 339, 393, 1, 482, 513, 1, 344, 492, 1, 465, 660, 1, 347, 619, 1, 431, 111, 1, 412, 189, 1], "image_id": 115061, "bbox": [101, 77, 694, 626], "category_id": 1, "id": 183888}, {"num_keypoints": 0, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 113758, "bbox": [875, 700, 124, 48], "category_id": 1, "id": 183907}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [235, 198, 1, 155, 226, 1, 306, 172, 1, 168, 265, 1, 357, 219, 1, 190, 285, 1, 219, 370, 1, 177, 406, 1, 319, 449, 1, 277, 483, 1, 281, 586, 1, 239, 616, 1, 187, 110, 1, 191, 196, 1], "image_id": 110321, "bbox": [119, 80, 279, 574], "category_id": 1, "id": 183935}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [529, 129, 1, 405, 178, 1, 589, 175, 1, 393, 258, 1, 574, 248, 1, 408, 313, 1, 536, 341, 1, 468, 344, 1, 556, 468, 1, 470, 477, 1, 573, 581, 1, 475, 591, 1, 437, 46, 1, 459, 129, 1], "image_id": 114613, "bbox": [367, 35, 252, 609], "category_id": 1, "id": 183944}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [147, 202, 1, 230, 174, 1, 246, 250, 1, 189, 239, 1, 287, 352, 1, 132, 221, 1, 191, 384, 1, 254, 383, 1, 33, 479, 1, 295, 463, 1, 162, 472, 1, 377, 464, 1, 152, 73, 1, 169, 151, 1], "image_id": 118106, "bbox": [8, 27, 493, 503], "category_id": 1, "id": 183951}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [153, 234, 1, 178, 226, 1, 182, 302, 1, 184, 315, 1, 139, 367, 1, 127, 365, 1, 150, 417, 1, 185, 410, 1, 156, 538, 1, 197, 520, 1, 0, 0, 0, 213, 616, 1, 65, 176, 1, 128, 212, 1], "image_id": 112198, "bbox": [43, 150, 200, 481], "category_id": 1, "id": 183964}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [295, 318, 1, 156, 318, 1, 289, 421, 1, 114, 421, 1, 338, 487, 1, 81, 504, 1, 260, 537, 1, 176, 536, 1, 245, 678, 1, 173, 673, 1, 228, 808, 1, 185, 798, 1, 138, 281, 1, 239, 261, 1], "image_id": 114203, "bbox": [54, 195, 184, 675], "category_id": 1, "id": 183967}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [234, 339, 1, 119, 290, 1, 256, 433, 1, 96, 388, 1, 269, 341, 1, 166, 320, 1, 157, 547, 1, 67, 536, 1, 166, 681, 1, 86, 681, 1, 181, 834, 1, 109, 830, 1, 172, 209, 1, 162, 306, 1], "image_id": 113905, "bbox": [3, 189, 306, 692], "category_id": 1, "id": 184006}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [562, 182, 1, 446, 137, 1, 595, 266, 1, 374, 100, 1, 567, 328, 1, 410, 45, 1, 497, 343, 1, 419, 323, 1, 515, 482, 1, 384, 460, 1, 368, 567, 1, 292, 582, 1, 520, 56, 1, 504, 138, 1], "image_id": 114994, "bbox": [261, 2, 320, 620], "category_id": 1, "id": 184033}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [377, 551, 1, 298, 538, 1, 404, 648, 1, 244, 577, 1, 349, 664, 1, 193, 604, 1, 343, 701, 1, 271, 685, 1, 404, 741, 1, 206, 784, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "image_id": 119702, "bbox": [152, 560, 286, 300], "category_id": 1, "id": 184040}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [676, 202, 1, 521, 226, 1, 787, 165, 1, 434, 222, 1, 0, 0, 0, 445, 162, 1, 630, 412, 1, 563, 431, 1, 652, 458, 1, 546, 592, 1, 678, 491, 1, 593, 646, 1, 594, 120, 1, 594, 202, 1], "image_id": 112287, "bbox": [397, 96, 423, 596], "category_id": 1, "id": 184043}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [233, 210, 1, 104, 218, 1, 246, 325, 1, 119, 347, 1, 255, 410, 1, 100, 467, 1, 183, 433, 1, 137, 436, 1, 196, 596, 1, 107, 601, 1, 224, 762, 1, 161, 740, 1, 131, 80, 1, 153, 180, 1], "image_id": 114442, "bbox": [15, 57, 261, 781], "category_id": 1, "id": 184045}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [163, 700, 1, 306, 646, 1, 199, 847, 1, 355, 799, 1, 156, 934, 1, 343, 892, 1, 147, 907, 1, 363, 911, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 514, 1, 219, 616, 1], "image_id": 115502, "bbox": [127, 490, 274, 448], "category_id": 1, "id": 184052}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [495, 281, 1, 215, 219, 1, 499, 497, 1, 57, 345, 1, 373, 611, 1, 51, 527, 1, 463, 639, 1, 318, 674, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 357, 25, 1, 352, 208, 1], "image_id": 115918, "bbox": [8, 0, 619, 833], "category_id": 1, "id": 184063}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [378, 193, 1, 342, 200, 1, 399, 230, 1, 400, 277, 1, 439, 245, 1, 437, 274, 1, 351, 251, 1, 290, 267, 1, 381, 276, 1, 331, 285, 1, 391, 335, 1, 300, 358, 1, 401, 148, 1, 382, 186, 1], "image_id": 119943, "bbox": [248, 105, 233, 318], "category_id": 1, "id": 184066}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [561, 384, 1, 604, 428, 1, 546, 583, 1, 615, 606, 1, 670, 598, 1, 728, 596, 1, 206, 471, 1, 298, 478, 1, 431, 548, 1, 527, 578, 1, 185, 540, 1, 272, 591, 1, 753, 445, 1, 631, 421, 1], "image_id": 111923, "bbox": [150, 315, 651, 311], "category_id": 1, "id": 184077}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [215, 264, 1, 228, 339, 1, 183, 370, 1, 314, 448, 1, 274, 354, 1, 407, 474, 1, 100, 412, 1, 107, 492, 1, 227, 394, 1, 259, 456, 1, 168, 505, 1, 172, 537, 1, 314, 230, 1, 245, 296, 1], "image_id": 115303, "bbox": [50, 192, 410, 358], "category_id": 1, "id": 184100}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [137, 320, 1, 232, 310, 1, 191, 460, 1, 207, 490, 1, 313, 454, 1, 344, 496, 1, 175, 650, 1, 228, 649, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 100, 1, 297, 256, 1], "image_id": 110095, "bbox": [102, 114, 306, 647], "category_id": 1, "id": 184117}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [425, 167, 1, 312, 165, 1, 448, 240, 1, 291, 241, 1, 393, 257, 1, 323, 251, 1, 392, 342, 1, 339, 342, 1, 406, 438, 1, 340, 440, 1, 409, 504, 1, 343, 504, 1, 362, 61, 1, 362, 145, 1], "image_id": 114640, "bbox": [282, 43, 185, 491], "category_id": 1, "id": 184122}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [533, 280, 1, 415, 304, 1, 585, 340, 1, 409, 421, 1, 609, 328, 1, 443, 483, 1, 605, 423, 1, 546, 450, 1, 694, 421, 1, 483, 333, 1, 736, 505, 1, 617, 382, 1, 489, 138, 1, 477, 264, 1], "image_id": 119911, "bbox": [370, 110, 329, 399], "category_id": 1, "id": 184142}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [260, 176, 1, 211, 251, 1, 327, 247, 1, 293, 345, 1, 381, 271, 1, 355, 365, 1, 340, 296, 1, 346, 333, 1, 437, 337, 1, 447, 300, 1, 477, 459, 1, 493, 384, 1, 231, 59, 1, 231, 186, 1], "image_id": 117151, "bbox": [139, 9, 300, 374], "category_id": 1, "id": 184147}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [925, 419, 1, 0, 0, 0, 722, 461, 1, 758, 361, 1, 801, 321, 1, 784, 451, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 817, 155, 1, 918, 309, 1], "image_id": 112973, "bbox": [689, 107, 261, 476], "category_id": 1, "id": 184151}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [103, 152, 1, 36, 198, 1, 179, 275, 1, 194, 353, 1, 257, 361, 1, 303, 401, 1, 80, 534, 1, 22, 574, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 111, 1], "image_id": 112472, "bbox": [0, 1, 375, 624], "category_id": 1, "id": 184153}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [308, 202, 1, 262, 205, 1, 320, 238, 1, 260, 239, 1, 333, 257, 1, 282, 230, 1, 306, 276, 1, 285, 277, 1, 305, 330, 1, 298, 329, 1, 282, 351, 1, 307, 382, 1, 278, 159, 1, 282, 193, 1], "image_id": 111191, "bbox": [260, 149, 90, 261], "category_id": 1, "id": 184154}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [458, 211, 1, 277, 189, 1, 489, 345, 1, 170, 281, 1, 437, 323, 1, 79, 382, 1, 407, 438, 1, 289, 445, 1, 439, 620, 1, 336, 653, 1, 421, 787, 1, 268, 626, 1, 387, 70, 1, 381, 165, 1], "image_id": 111550, "bbox": [24, 30, 452, 808], "category_id": 1, "id": 184167}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [709, 349, 1, 596, 336, 1, 698, 476, 1, 595, 433, 1, 601, 406, 1, 582, 539, 1, 665, 592, 1, 601, 588, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 643, 194, 1, 643, 303, 1], "image_id": 116180, "bbox": [523, 166, 200, 465], "category_id": 1, "id": 184180}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [258, 264, 1, 135, 299, 1, 243, 377, 1, 126, 425, 1, 304, 413, 1, 197, 451, 1, 266, 564, 1, 184, 574, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 98, 1, 197, 236, 1], "image_id": 118225, "bbox": [91, 84, 239, 540], "category_id": 1, "id": 184181}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [347, 338, 1, 271, 354, 1, 352, 478, 1, 248, 407, 1, 245, 472, 1, 190, 416, 1, 297, 524, 1, 268, 524, 1, 295, 671, 1, 265, 672, 1, 294, 772, 1, 262, 773, 1, 240, 194, 1, 308, 302, 1], "image_id": 115897, "bbox": [134, 145, 263, 654], "category_id": 1, "id": 184228}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [383, 366, 1, 554, 404, 1, 447, 352, 1, 606, 415, 1, 518, 364, 1, 547, 369, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 285, 1, 460, 354, 1], "image_id": 118432, "bbox": [298, 272, 317, 351], "category_id": 1, "id": 184239}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [467, 115, 1, 360, 140, 1, 487, 183, 1, 347, 222, 1, 525, 224, 1, 343, 295, 1, 440, 282, 1, 377, 280, 1, 421, 397, 1, 363, 400, 1, 406, 513, 1, 329, 504, 1, 412, 32, 1, 423, 105, 1], "image_id": 116933, "bbox": [291, 12, 193, 545], "category_id": 1, "id": 184247}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [344, 223, 1, 222, 209, 1, 370, 309, 1, 182, 305, 1, 385, 398, 1, 212, 246, 1, 300, 415, 1, 243, 413, 1, 289, 566, 1, 226, 549, 1, 272, 684, 1, 234, 660, 1, 269, 89, 1, 274, 186, 1], "image_id": 119148, "bbox": [161, 57, 253, 693], "category_id": 1, "id": 184256}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [464, 339, 1, 375, 343, 1, 489, 392, 1, 354, 395, 1, 516, 397, 1, 359, 424, 1, 447, 488, 1, 402, 486, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 232, 1, 419, 321, 1], "image_id": 118354, "bbox": [334, 209, 212, 390], "category_id": 1, "id": 184268}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 329, 274, 1, 0, 0, 0, 316, 389, 1, 465, 476, 1, 301, 468, 1, 449, 510, 1, 346, 511, 1, 437, 671, 1, 351, 667, 1, 432, 789, 1, 354, 789, 1, 380, 151, 1, 412, 245, 1], "image_id": 118056, "bbox": [267, 104, 232, 481], "category_id": 1, "id": 184283}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [405, 351, 1, 268, 355, 1, 428, 439, 1, 276, 445, 1, 419, 521, 1, 279, 546, 1, 368, 542, 1, 304, 545, 1, 400, 681, 1, 281, 684, 1, 415, 781, 1, 252, 816, 1, 308, 239, 1, 329, 326, 1], "image_id": 113434, "bbox": [204, 208, 256, 683], "category_id": 1, "id": 184286}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [527, 311, 1, 325, 236, 1, 439, 395, 1, 244, 253, 1, 336, 418, 1, 127, 303, 1, 431, 580, 1, 329, 530, 1, 398, 769, 1, 265, 678, 1, 334, 842, 1, 202, 854, 1, 482, 141, 1, 445, 247, 1], "image_id": 118458, "bbox": [61, 93, 502, 842], "category_id": 1, "id": 184302}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [199, 323, 1, 153, 361, 1, 209, 347, 1, 142, 401, 1, 233, 374, 1, 170, 440, 1, 215, 398, 1, 183, 422, 1, 233, 412, 1, 202, 456, 1, 224, 442, 1, 228, 495, 1, 165, 291, 1, 181, 328, 1], "image_id": 117306, "bbox": [129, 283, 138, 231], "category_id": 1, "id": 184303}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [311, 159, 1, 244, 182, 1, 296, 268, 1, 194, 234, 1, 265, 357, 1, 239, 164, 1, 275, 336, 1, 258, 340, 1, 291, 513, 1, 260, 522, 1, 301, 675, 1, 275, 662, 1, 260, 63, 1, 274, 142, 1], "image_id": 113068, "bbox": [170, 40, 186, 691], "category_id": 1, "id": 184324}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [451, 184, 1, 337, 185, 1, 538, 201, 1, 284, 204, 1, 626, 222, 1, 239, 265, 1, 447, 340, 1, 387, 341, 1, 487, 438, 1, 354, 396, 1, 516, 531, 1, 389, 448, 1, 401, 97, 1, 401, 171, 1], "image_id": 114179, "bbox": [189, 71, 494, 511], "category_id": 1, "id": 184328}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [264, 186, 1, 134, 187, 1, 323, 225, 1, 91, 244, 1, 379, 251, 1, 63, 331, 1, 235, 353, 1, 157, 354, 1, 310, 470, 1, 125, 448, 1, 366, 572, 1, 39, 540, 1, 217, 80, 1, 205, 166, 1], "image_id": 114781, "bbox": [0, 64, 407, 550], "category_id": 1, "id": 184334}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [377, 205, 1, 211, 192, 1, 368, 308, 1, 185, 332, 1, 361, 371, 1, 231, 384, 1, 332, 508, 1, 239, 505, 1, 332, 684, 1, 257, 652, 1, 331, 875, 1, 255, 738, 1, 290, 54, 1, 296, 175, 1], "image_id": 109616, "bbox": [149, 0, 255, 924], "category_id": 1, "id": 184349}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [421, 353, 1, 208, 330, 1, 517, 252, 1, 164, 206, 1, 405, 213, 1, 245, 193, 1, 405, 713, 1, 247, 732, 1, 0, 0, 0, 85, 898, 1, 0, 0, 0, 0, 0, 0, 323, 147, 1, 312, 317, 1], "image_id": 112991, "bbox": [34, 114, 522, 822], "category_id": 1, "id": 184359}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [376, 270, 1, 160, 284, 1, 399, 433, 1, 127, 479, 1, 410, 571, 1, 185, 452, 1, 318, 505, 1, 195, 502, 1, 259, 714, 1, 179, 684, 1, 201, 778, 1, 233, 886, 1, 261, 131, 1, 267, 259, 1], "image_id": 112868, "bbox": [103, 113, 336, 876], "category_id": 1, "id": 184363}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [543, 300, 1, 383, 264, 1, 566, 351, 1, 326, 297, 1, 526, 415, 1, 335, 380, 1, 461, 486, 1, 393, 474, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 213, 1, 467, 263, 1], "image_id": 111477, "bbox": [303, 172, 288, 403], "category_id": 1, "id": 184379}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [366, 435, 1, 283, 431, 1, 388, 486, 1, 260, 483, 1, 373, 525, 1, 285, 526, 1, 348, 558, 1, 308, 557, 1, 349, 647, 1, 315, 642, 1, 352, 729, 1, 321, 731, 1, 331, 336, 1, 324, 414, 1], "image_id": 112056, "bbox": [244, 307, 165, 467], "category_id": 1, "id": 184406}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [264, 364, 1, 154, 421, 1, 316, 445, 1, 197, 494, 1, 297, 389, 1, 244, 432, 1, 289, 513, 1, 232, 533, 1, 357, 535, 1, 221, 610, 1, 306, 631, 1, 234, 744, 1, 192, 268, 1, 201, 359, 1], "image_id": 113843, "bbox": [128, 241, 257, 584], "category_id": 1, "id": 184409}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 269, 68, 1, 0, 0, 0, 320, 13, 1, 320, 133, 1, 266, 130, 1, 317, 286, 1, 292, 288, 1, 302, 449, 1, 280, 446, 1, 0, 0, 0, 0, 0, 0], "image_id": 117305, "bbox": [215, 0, 166, 378], "category_id": 1, "id": 184423}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 204, 1, 300, 203, 1, 402, 263, 1, 246, 287, 1, 486, 253, 1, 188, 363, 1, 459, 374, 1, 387, 387, 1, 504, 458, 1, 433, 456, 1, 464, 649, 1, 475, 586, 1, 403, 91, 1, 363, 180, 1], "image_id": 115060, "bbox": [134, 71, 402, 616], "category_id": 1, "id": 184430}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [583, 203, 1, 493, 241, 1, 665, 276, 1, 479, 289, 1, 656, 318, 1, 452, 325, 1, 586, 270, 1, 546, 299, 1, 630, 296, 1, 634, 417, 1, 678, 416, 1, 618, 379, 1, 512, 141, 1, 534, 217, 1], "image_id": 118106, "bbox": [395, 124, 339, 336], "category_id": 1, "id": 184448}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [389, 255, 1, 373, 256, 1, 391, 359, 1, 377, 377, 1, 485, 373, 1, 471, 366, 1, 358, 463, 1, 348, 465, 1, 345, 636, 1, 404, 615, 1, 321, 799, 1, 326, 759, 1, 425, 128, 1, 383, 221, 1], "image_id": 115577, "bbox": [268, 96, 268, 743], "category_id": 1, "id": 184461}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [398, 202, 1, 208, 212, 1, 454, 295, 1, 183, 362, 1, 466, 380, 1, 175, 504, 1, 341, 491, 1, 247, 494, 1, 327, 680, 1, 225, 681, 1, 304, 830, 1, 211, 874, 1, 312, 44, 1, 306, 181, 1], "image_id": 117014, "bbox": [138, 12, 354, 937], "category_id": 1, "id": 184479}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [120, 263, 1, 101, 263, 1, 81, 396, 1, 62, 412, 1, 188, 400, 1, 191, 421, 1, 124, 512, 1, 101, 512, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 153, 87, 1, 108, 204, 1], "image_id": 116064, "bbox": [1, 53, 207, 546], "category_id": 1, "id": 184485}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [358, 281, 1, 225, 282, 1, 415, 362, 1, 172, 379, 1, 462, 393, 1, 132, 470, 1, 319, 494, 1, 264, 497, 1, 301, 643, 1, 288, 638, 1, 261, 782, 1, 305, 766, 1, 289, 154, 1, 289, 253, 1], "image_id": 113124, "bbox": [97, 134, 411, 710], "category_id": 1, "id": 184501}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [312, 193, 1, 329, 180, 1, 407, 254, 1, 454, 313, 1, 300, 333, 1, 329, 348, 1, 392, 462, 1, 434, 458, 1, 291, 654, 1, 454, 684, 1, 487, 740, 1, 568, 862, 1, 255, 70, 1, 298, 168, 1], "image_id": 110571, "bbox": [221, 34, 405, 909], "category_id": 1, "id": 184508}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [115, 349, 1, 280, 340, 1, 95, 418, 1, 402, 340, 1, 156, 355, 1, 495, 285, 1, 170, 531, 1, 238, 532, 1, 84, 759, 1, 132, 641, 1, 19, 937, 1, 270, 763, 1, 301, 149, 1, 330, 260, 1], "image_id": 110297, "bbox": [0, 150, 564, 847], "category_id": 1, "id": 184540}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [797, 324, 1, 855, 339, 1, 702, 463, 1, 715, 481, 1, 726, 340, 1, 701, 351, 1, 706, 607, 1, 692, 554, 1, 503, 539, 1, 523, 524, 1, 274, 633, 1, 279, 604, 1, 784, 190, 1, 798, 301, 1], "image_id": 118535, "bbox": [173, 166, 733, 513], "category_id": 1, "id": 184545}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [700, 266, 1, 631, 228, 1, 618, 388, 1, 655, 261, 1, 534, 429, 1, 620, 289, 1, 758, 392, 1, 708, 356, 1, 682, 357, 1, 585, 294, 1, 645, 464, 1, 661, 407, 1, 593, 199, 1, 659, 241, 1], "image_id": 115303, "bbox": [463, 150, 353, 345], "category_id": 1, "id": 184548}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [201, 210, 1, 133, 217, 1, 233, 301, 1, 160, 285, 1, 134, 282, 1, 131, 348, 1, 237, 433, 1, 171, 423, 1, 297, 553, 1, 105, 494, 1, 381, 632, 1, 106, 640, 1, 128, 127, 1, 165, 204, 1], "image_id": 116528, "bbox": [31, 104, 384, 607], "category_id": 1, "id": 184550}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [291, 202, 1, 141, 200, 1, 328, 303, 1, 70, 321, 1, 233, 328, 1, 168, 328, 1, 243, 449, 1, 166, 442, 1, 230, 659, 1, 128, 627, 1, 226, 847, 1, 47, 833, 1, 209, 52, 1, 203, 175, 1], "image_id": 114137, "bbox": [22, 29, 277, 869], "category_id": 1, "id": 184551}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [483, 317, 1, 390, 364, 1, 515, 436, 1, 390, 493, 1, 538, 529, 1, 383, 583, 1, 489, 576, 1, 425, 574, 1, 494, 722, 1, 419, 740, 1, 491, 877, 1, 433, 877, 1, 389, 211, 1, 428, 313, 1], "image_id": 117246, "bbox": [319, 175, 259, 789], "category_id": 1, "id": 184567}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [292, 196, 1, 284, 195, 1, 296, 219, 1, 291, 225, 1, 308, 225, 1, 311, 236, 1, 304, 240, 1, 295, 242, 1, 339, 259, 1, 331, 262, 1, 354, 297, 1, 344, 300, 1, 298, 162, 1, 287, 190, 1], "image_id": 114520, "bbox": [272, 156, 99, 156], "category_id": 1, "id": 184574}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [867, 283, 1, 618, 259, 1, 870, 472, 1, 408, 327, 1, 658, 395, 1, 542, 251, 1, 871, 580, 1, 738, 584, 1, 0, 0, 0, 681, 482, 1, 0, 0, 0, 0, 0, 0, 803, 71, 1, 749, 234, 1], "image_id": 114197, "bbox": [375, 29, 573, 603], "category_id": 1, "id": 184595}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 841, 64, 1, 756, 12, 1, 0, 0, 0, 645, 17, 1, 885, 301, 1, 774, 300, 1, 0, 0, 0, 596, 399, 1, 0, 0, 0, 735, 569, 1, 696, 38, 1, 683, 169, 1], "image_id": 116369, "bbox": [527, 0, 421, 707], "category_id": 1, "id": 184599}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [494, 271, 1, 396, 239, 1, 464, 412, 1, 351, 341, 1, 407, 505, 1, 278, 322, 1, 453, 536, 1, 400, 537, 1, 454, 680, 1, 411, 687, 1, 512, 873, 1, 436, 861, 1, 453, 96, 1, 441, 221, 1], "image_id": 110886, "bbox": [308, 79, 248, 861], "category_id": 1, "id": 184612}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [367, 416, 1, 380, 415, 1, 417, 601, 1, 342, 514, 1, 258, 568, 1, 233, 426, 1, 431, 747, 1, 418, 752, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, 268, 1, 332, 365, 1], "image_id": 118132, "bbox": [188, 234, 343, 565], "category_id": 1, "id": 184623}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [551, 172, 1, 500, 163, 1, 550, 230, 1, 492, 227, 1, 490, 270, 1, 485, 257, 1, 540, 268, 1, 502, 269, 1, 490, 300, 1, 437, 282, 1, 474, 387, 1, 407, 351, 1, 502, 101, 1, 520, 154, 1], "image_id": 118964, "bbox": [358, 80, 217, 353], "category_id": 1, "id": 184634}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [313, 224, 1, 104, 289, 1, 500, 189, 1, 84, 464, 1, 450, 271, 1, 80, 606, 1, 276, 617, 1, 145, 632, 1, 281, 858, 1, 163, 860, 1, 0, 0, 0, 0, 0, 0, 185, 61, 1, 202, 225, 1], "image_id": 117659, "bbox": [49, 37, 477, 900], "category_id": 1, "id": 184640}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [257, 275, 1, 93, 275, 1, 259, 380, 1, 93, 388, 1, 267, 487, 1, 198, 415, 1, 226, 524, 1, 152, 525, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 119, 1, 168, 240, 1], "image_id": 109654, "bbox": [57, 104, 227, 461], "category_id": 1, "id": 184642}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [651, 493, 1, 586, 426, 1, 687, 632, 1, 556, 524, 1, 584, 556, 1, 493, 569, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 275, 1, 597, 407, 1], "image_id": 116796, "bbox": [502, 249, 241, 391], "category_id": 1, "id": 184645}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [454, 322, 1, 318, 333, 1, 427, 442, 1, 297, 461, 1, 421, 342, 1, 370, 478, 1, 411, 560, 1, 336, 563, 1, 407, 743, 1, 347, 745, 1, 403, 909, 1, 368, 905, 1, 340, 185, 1, 375, 294, 1], "image_id": 116633, "bbox": [274, 162, 231, 828], "category_id": 1, "id": 184684}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [267, 6, 1, 115, 73, 1, 326, 33, 1, 118, 190, 1, 344, 50, 1, 134, 293, 1, 198, 225, 1, 152, 225, 1, 199, 381, 1, 108, 363, 1, 190, 489, 1, 127, 495, 1, 0, 0, 0, 178, 11, 1], "image_id": 115618, "bbox": [77, 0, 302, 378], "category_id": 1, "id": 184701}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [330, 152, 1, 317, 141, 1, 356, 177, 1, 331, 192, 1, 383, 199, 1, 345, 177, 1, 316, 216, 1, 304, 218, 1, 305, 273, 1, 319, 274, 1, 0, 0, 0, 0, 0, 0, 328, 97, 1, 325, 133, 1], "image_id": 113653, "bbox": [280, 92, 120, 207], "category_id": 1, "id": 184703}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [328, 266, 1, 192, 237, 1, 425, 293, 1, 181, 198, 1, 507, 254, 1, 248, 154, 1, 233, 477, 1, 172, 490, 1, 311, 407, 1, 163, 642, 1, 318, 586, 1, 137, 673, 1, 262, 130, 1, 262, 232, 1], "image_id": 112410, "bbox": [76, 72, 455, 645], "category_id": 1, "id": 184706}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [668, 295, 1, 506, 295, 1, 708, 404, 1, 494, 355, 1, 678, 401, 1, 465, 406, 1, 625, 490, 1, 552, 494, 1, 610, 629, 1, 560, 616, 1, 0, 0, 0, 0, 0, 0, 587, 154, 1, 587, 270, 1], "image_id": 113708, "bbox": [437, 136, 290, 529], "category_id": 1, "id": 184712}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [204, 231, 1, 257, 204, 1, 214, 291, 1, 290, 291, 1, 257, 325, 1, 317, 378, 1, 227, 369, 1, 270, 366, 1, 241, 489, 1, 282, 484, 1, 250, 594, 1, 292, 601, 1, 254, 117, 1, 237, 187, 1], "image_id": 119687, "bbox": [189, 101, 175, 543], "category_id": 1, "id": 184714}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [211, 134, 1, 88, 235, 1, 291, 179, 1, 112, 338, 1, 322, 211, 1, 201, 370, 1, 240, 271, 1, 204, 331, 1, 332, 261, 1, 382, 355, 1, 495, 354, 1, 435, 377, 1, 125, 84, 1, 135, 162, 1], "image_id": 113999, "bbox": [53, 47, 520, 362], "category_id": 1, "id": 184717}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [519, 230, 1, 351, 239, 1, 526, 342, 1, 340, 355, 1, 463, 419, 1, 407, 424, 1, 476, 476, 1, 395, 479, 1, 492, 676, 1, 390, 671, 1, 498, 844, 1, 400, 855, 1, 443, 103, 1, 437, 202, 1], "image_id": 110841, "bbox": [310, 74, 248, 850], "category_id": 1, "id": 184721}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [579, 329, 1, 441, 294, 1, 571, 448, 1, 462, 343, 1, 474, 426, 1, 531, 358, 1, 505, 572, 1, 432, 537, 1, 512, 743, 1, 521, 633, 1, 402, 827, 1, 462, 784, 1, 503, 188, 1, 508, 295, 1], "image_id": 119542, "bbox": [388, 159, 225, 743], "category_id": 1, "id": 184722}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 215, 1, 219, 206, 1, 299, 327, 1, 186, 313, 1, 327, 418, 1, 225, 402, 1, 282, 470, 1, 219, 467, 1, 268, 612, 1, 217, 614, 1, 256, 745, 1, 213, 773, 1, 325, 79, 1, 273, 172, 1], "image_id": 109261, "bbox": [168, 54, 196, 769], "category_id": 1, "id": 184733}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [761, 168, 1, 632, 183, 1, 862, 230, 1, 563, 230, 1, 894, 229, 1, 563, 333, 1, 739, 413, 1, 660, 395, 1, 697, 581, 1, 610, 533, 1, 636, 630, 1, 583, 692, 1, 710, 47, 1, 705, 157, 1], "image_id": 112210, "bbox": [537, 25, 397, 640], "category_id": 1, "id": 184736}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [410, 228, 1, 304, 233, 1, 483, 316, 1, 314, 359, 1, 458, 403, 1, 302, 430, 1, 388, 428, 1, 332, 430, 1, 376, 607, 1, 297, 573, 1, 367, 774, 1, 307, 771, 1, 327, 102, 1, 344, 202, 1], "image_id": 114442, "bbox": [263, 53, 246, 781], "category_id": 1, "id": 184744}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [0, 0, 0, 128, 315, 1, 101, 276, 1, 291, 372, 1, 199, 243, 1, 395, 303, 1, 40, 594, 1, 120, 631, 1, 208, 586, 1, 245, 630, 1, 217, 728, 1, 257, 751, 1, 85, 105, 1, 51, 250, 1], "image_id": 111221, "bbox": [0, 66, 441, 645], "category_id": 1, "id": 184783}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [49, 169, 1, 0, 0, 0, 89, 264, 1, 0, 0, 0, 58, 282, 1, 0, 0, 0, 17, 381, 1, 0, 0, 0, 6, 495, 1, 0, 0, 0, 22, 613, 1, 64, 536, 1, 0, 0, 0, 0, 0, 0], "image_id": 112262, "bbox": [0, 137, 115, 556], "category_id": 1, "id": 184797}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [330, 278, 1, 204, 264, 1, 388, 379, 1, 198, 342, 1, 383, 473, 1, 183, 404, 1, 311, 481, 1, 237, 482, 1, 301, 653, 1, 178, 650, 1, 286, 799, 1, 191, 784, 1, 257, 96, 1, 251, 225, 1], "image_id": 113583, "bbox": [115, 60, 314, 862], "category_id": 1, "id": 184800}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [252, 250, 1, 384, 271, 1, 246, 343, 1, 376, 405, 1, 316, 397, 1, 355, 511, 1, 213, 425, 1, 309, 439, 1, 243, 393, 1, 330, 584, 1, 222, 552, 1, 257, 537, 1, 318, 152, 1, 318, 219, 1], "image_id": 111939, "bbox": [156, 123, 262, 496], "category_id": 1, "id": 184810}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [352, 201, 1, 274, 232, 1, 390, 271, 1, 318, 314, 1, 417, 320, 1, 392, 347, 1, 391, 329, 1, 338, 359, 1, 477, 391, 1, 423, 436, 1, 424, 470, 1, 432, 446, 1, 298, 109, 1, 301, 190, 1], "image_id": 118842, "bbox": [239, 93, 266, 419], "category_id": 1, "id": 184813}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 157, 1, 179, 131, 1, 378, 236, 1, 113, 183, 1, 423, 301, 1, 98, 248, 1, 356, 311, 1, 263, 296, 1, 425, 420, 1, 192, 390, 1, 520, 498, 1, 253, 537, 1, 248, 41, 1, 248, 125, 1], "image_id": 115144, "bbox": [74, 28, 468, 560], "category_id": 1, "id": 184816}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [562, 185, 1, 421, 222, 1, 579, 268, 1, 445, 332, 1, 617, 349, 1, 531, 311, 1, 558, 478, 1, 480, 476, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 58, 1, 495, 174, 1], "image_id": 112400, "bbox": [386, 37, 178, 562], "category_id": 1, "id": 184817}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [141, 39, 1, 163, 43, 1, 136, 109, 1, 163, 120, 1, 164, 151, 1, 200, 153, 1, 148, 200, 1, 174, 196, 1, 167, 276, 1, 145, 286, 1, 192, 353, 1, 118, 380, 1, 0, 0, 0, 166, 25, 1], "image_id": 117983, "bbox": [87, 2, 157, 386], "category_id": 1, "id": 184818}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [524, 184, 1, 461, 195, 1, 542, 218, 1, 442, 273, 1, 600, 250, 1, 482, 322, 1, 506, 334, 1, 443, 350, 1, 578, 437, 1, 467, 478, 1, 598, 572, 1, 381, 477, 1, 512, 88, 1, 493, 171, 1], "image_id": 115634, "bbox": [353, 74, 270, 526], "category_id": 1, "id": 184830}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [562, 363, 1, 388, 348, 1, 515, 528, 1, 304, 442, 1, 400, 580, 1, 335, 461, 1, 572, 624, 1, 447, 581, 1, 475, 575, 1, 311, 537, 1, 392, 637, 1, 445, 630, 1, 444, 192, 1, 472, 323, 1], "image_id": 116331, "bbox": [275, 144, 335, 531], "category_id": 1, "id": 184837}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [86, 169, 1, 145, 168, 1, 172, 332, 1, 237, 320, 1, 313, 306, 1, 367, 316, 1, 7, 400, 1, 32, 408, 1, 170, 526, 1, 211, 476, 1, 0, 0, 0, 0, 0, 0, 143, 21, 1, 131, 123, 1], "image_id": 116518, "bbox": [0, 7, 472, 592], "category_id": 1, "id": 184845}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [550, 108, 1, 445, 80, 1, 576, 185, 1, 450, 191, 1, 645, 239, 1, 504, 289, 1, 514, 350, 1, 435, 359, 1, 583, 490, 1, 409, 534, 1, 625, 655, 1, 339, 652, 1, 0, 0, 0, 494, 81, 1], "image_id": 113840, "bbox": [305, 2, 367, 663], "category_id": 1, "id": 184850}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [826, 289, 1, 624, 282, 1, 824, 444, 1, 596, 420, 1, 743, 506, 1, 664, 496, 1, 767, 606, 1, 662, 614, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 706, 94, 1, 706, 240, 1], "image_id": 111164, "bbox": [612, 74, 250, 592], "category_id": 1, "id": 184855}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [80, 210, 1, 8, 218, 1, 104, 263, 1, 0, 0, 0, 150, 196, 1, 4, 369, 1, 76, 360, 1, 25, 363, 1, 82, 468, 1, 27, 473, 1, 80, 560, 1, 32, 559, 1, 50, 110, 1, 35, 184, 1], "image_id": 116019, "bbox": [0, 91, 180, 516], "category_id": 1, "id": 184856}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 348, 1, 290, 367, 1, 420, 411, 1, 277, 413, 1, 379, 411, 1, 264, 434, 1, 395, 453, 1, 346, 451, 1, 375, 551, 1, 319, 545, 1, 392, 639, 1, 348, 637, 1, 290, 253, 1, 331, 337, 1], "image_id": 116331, "bbox": [209, 198, 233, 489], "category_id": 1, "id": 184870}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [485, 422, 1, 399, 405, 1, 523, 532, 1, 406, 519, 1, 585, 487, 1, 497, 489, 1, 496, 654, 1, 442, 658, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 488, 281, 1, 446, 381, 1], "image_id": 116567, "bbox": [349, 243, 282, 506], "category_id": 1, "id": 184874}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [323, 284, 1, 147, 310, 1, 413, 287, 1, 120, 401, 1, 515, 276, 1, 127, 424, 1, 287, 489, 1, 173, 500, 1, 307, 658, 1, 178, 661, 1, 318, 849, 1, 196, 864, 1, 223, 185, 1, 229, 261, 1], "image_id": 115526, "bbox": [80, 144, 492, 778], "category_id": 1, "id": 184880}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [303, 284, 1, 248, 265, 1, 337, 234, 1, 248, 226, 1, 367, 170, 1, 260, 165, 1, 242, 410, 1, 198, 390, 1, 240, 496, 1, 121, 402, 1, 315, 484, 1, 124, 495, 1, 314, 232, 1, 279, 259, 1], "image_id": 116404, "bbox": [83, 133, 308, 390], "category_id": 1, "id": 184891}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [212, 231, 1, 44, 250, 1, 205, 356, 1, 66, 394, 1, 245, 395, 1, 125, 440, 1, 174, 413, 1, 78, 414, 1, 185, 575, 1, 79, 572, 1, 0, 0, 0, 0, 0, 0, 188, 131, 1, 138, 218, 1], "image_id": 113188, "bbox": [1, 77, 236, 446], "category_id": 1, "id": 184914}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [418, 327, 1, 396, 329, 1, 387, 430, 1, 349, 421, 1, 277, 431, 1, 300, 340, 1, 430, 574, 1, 453, 574, 1, 387, 763, 1, 452, 727, 1, 364, 907, 1, 443, 863, 1, 386, 211, 1, 408, 289, 1], "image_id": 114471, "bbox": [210, 188, 302, 793], "category_id": 1, "id": 184915}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [148, 138, 1, 313, 133, 1, 145, 257, 1, 363, 263, 1, 206, 297, 1, 314, 319, 1, 225, 376, 1, 287, 372, 1, 243, 529, 1, 327, 521, 1, 266, 667, 1, 353, 665, 1, 195, 36, 1, 0, 0, 0], "image_id": 109589, "bbox": [180, 25, 208, 483], "category_id": 1, "id": 184923}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [228, 311, 1, 330, 294, 1, 274, 228, 1, 492, 206, 1, 360, 183, 1, 425, 183, 1, 254, 643, 1, 277, 648, 1, 232, 891, 1, 252, 891, 1, 0, 0, 0, 0, 0, 0, 343, 155, 1, 343, 232, 1], "image_id": 113295, "bbox": [155, 139, 372, 793], "category_id": 1, "id": 184924}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [150, 482, 1, 223, 383, 1, 100, 546, 1, 247, 311, 1, 94, 536, 1, 208, 253, 1, 400, 559, 1, 405, 498, 1, 527, 551, 1, 532, 522, 1, 460, 556, 1, 679, 552, 1, 149, 349, 1, 174, 413, 1], "image_id": 115366, "bbox": [46, 213, 697, 369], "category_id": 1, "id": 184964}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [530, 169, 1, 425, 147, 1, 580, 208, 1, 465, 259, 1, 615, 254, 1, 559, 272, 1, 499, 278, 1, 456, 316, 1, 566, 238, 1, 535, 290, 1, 641, 358, 1, 612, 378, 1, 502, 24, 1, 480, 135, 1], "image_id": 111419, "bbox": [387, 4, 263, 330], "category_id": 1, "id": 184966}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [281, 171, 1, 136, 171, 1, 287, 273, 1, 66, 234, 1, 262, 248, 1, 85, 159, 1, 253, 387, 1, 171, 387, 1, 266, 503, 1, 123, 541, 1, 261, 644, 1, 114, 491, 1, 202, 74, 1, 207, 156, 1], "image_id": 114636, "bbox": [42, 38, 269, 669], "category_id": 1, "id": 184977}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [79, 320, 1, 79, 328, 1, 111, 383, 1, 146, 376, 1, 107, 282, 1, 133, 298, 1, 95, 509, 1, 90, 511, 1, 90, 627, 1, 84, 631, 1, 76, 734, 1, 68, 741, 1, 109, 197, 1, 79, 291, 1], "image_id": 115726, "bbox": [21, 175, 147, 609], "category_id": 1, "id": 184991}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [542, 233, 1, 361, 237, 1, 578, 390, 1, 341, 369, 1, 566, 336, 1, 326, 471, 1, 504, 526, 1, 393, 529, 1, 500, 723, 1, 414, 730, 1, 498, 922, 1, 426, 919, 1, 430, 65, 1, 442, 196, 1], "image_id": 109725, "bbox": [298, 36, 308, 963], "category_id": 1, "id": 185004}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [344, 58, 1, 288, 40, 1, 285, 121, 1, 208, 109, 1, 329, 189, 1, 256, 179, 1, 319, 244, 1, 292, 249, 1, 338, 380, 1, 294, 390, 1, 256, 497, 1, 259, 538, 1, 0, 0, 0, 331, 25, 1], "image_id": 118181, "bbox": [182, 0, 223, 576], "category_id": 1, "id": 185018}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [500, 380, 1, 585, 376, 1, 504, 489, 1, 601, 465, 1, 545, 470, 1, 615, 550, 1, 529, 574, 1, 590, 564, 1, 464, 464, 1, 514, 458, 1, 484, 590, 1, 520, 579, 1, 517, 282, 1, 526, 355, 1], "image_id": 110065, "bbox": [405, 258, 234, 377], "category_id": 1, "id": 185032}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [624, 336, 1, 552, 351, 1, 669, 450, 1, 564, 460, 1, 643, 560, 1, 542, 556, 1, 633, 579, 1, 583, 584, 1, 670, 720, 1, 611, 735, 1, 721, 882, 1, 624, 883, 1, 564, 211, 1, 575, 306, 1], "image_id": 112404, "bbox": [512, 180, 245, 777], "category_id": 1, "id": 185035}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [365, 347, 1, 233, 339, 1, 392, 423, 1, 163, 390, 1, 372, 483, 1, 196, 323, 1, 337, 553, 1, 255, 550, 1, 330, 658, 1, 251, 658, 1, 322, 766, 1, 244, 758, 1, 288, 168, 1, 288, 303, 1], "image_id": 113281, "bbox": [136, 125, 288, 722], "category_id": 1, "id": 185045}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [798, 179, 1, 834, 167, 1, 794, 267, 1, 846, 259, 1, 757, 334, 1, 827, 335, 1, 791, 347, 1, 829, 353, 1, 754, 450, 1, 830, 472, 1, 775, 587, 1, 832, 589, 1, 791, 72, 1, 812, 143, 1], "image_id": 117956, "bbox": [702, 53, 150, 582], "category_id": 1, "id": 185046}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [52, 209, 1, 0, 0, 0, 93, 342, 1, 0, 0, 0, 96, 427, 1, 0, 0, 0, 44, 463, 1, 0, 0, 0, 71, 619, 1, 0, 0, 0, 105, 774, 1, 22, 771, 1, 0, 0, 0, 0, 0, 0], "image_id": 116095, "bbox": [0, 139, 139, 704], "category_id": 1, "id": 185052}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [486, 291, 1, 524, 373, 1, 490, 377, 1, 567, 427, 1, 437, 429, 1, 540, 437, 1, 629, 259, 1, 681, 253, 1, 679, 347, 1, 731, 347, 1, 727, 430, 1, 817, 261, 1, 423, 281, 1, 467, 296, 1], "image_id": 118089, "bbox": [372, 197, 511, 337], "category_id": 1, "id": 185059}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [603, 264, 1, 493, 255, 1, 639, 332, 1, 475, 322, 1, 646, 387, 1, 485, 365, 1, 591, 415, 1, 526, 411, 1, 650, 429, 1, 487, 407, 1, 672, 516, 1, 516, 510, 1, 545, 157, 1, 545, 233, 1], "image_id": 113403, "bbox": [454, 144, 269, 425], "category_id": 1, "id": 185066}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [74, 226, 1, 204, 234, 1, 46, 390, 1, 203, 371, 1, 85, 499, 1, 121, 431, 1, 102, 501, 1, 175, 497, 1, 118, 673, 1, 172, 651, 1, 0, 0, 0, 0, 0, 0, 124, 71, 1, 133, 186, 1], "image_id": 117351, "bbox": [27, 29, 209, 764], "category_id": 1, "id": 185067}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [272, 202, 1, 150, 207, 1, 296, 280, 1, 129, 291, 1, 246, 327, 1, 177, 328, 1, 265, 386, 1, 197, 391, 1, 269, 518, 1, 210, 522, 1, 276, 640, 1, 220, 644, 1, 221, 98, 1, 218, 182, 1], "image_id": 117785, "bbox": [108, 83, 212, 390], "category_id": 1, "id": 185078}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [619, 114, 1, 0, 0, 0, 610, 176, 1, 0, 0, 0, 594, 210, 1, 0, 0, 0, 632, 231, 1, 646, 231, 1, 623, 312, 1, 616, 309, 1, 679, 392, 1, 614, 391, 1, 613, 27, 1, 635, 75, 1], "image_id": 119562, "bbox": [569, 15, 120, 422], "category_id": 1, "id": 185086}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [385, 339, 1, 238, 334, 1, 423, 412, 1, 183, 437, 1, 409, 440, 1, 269, 463, 1, 325, 547, 1, 240, 542, 1, 247, 712, 1, 226, 727, 1, 255, 882, 1, 227, 885, 1, 311, 192, 1, 311, 301, 1], "image_id": 119643, "bbox": [156, 172, 292, 519], "category_id": 1, "id": 185108}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [423, 203, 1, 270, 197, 1, 457, 314, 1, 237, 328, 1, 405, 354, 1, 277, 280, 1, 373, 455, 1, 279, 455, 1, 370, 637, 1, 269, 636, 1, 363, 799, 1, 263, 799, 1, 340, 52, 1, 346, 168, 1], "image_id": 114072, "bbox": [173, 31, 443, 862], "category_id": 1, "id": 185124}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [352, 401, 1, 279, 394, 1, 368, 493, 1, 322, 440, 1, 393, 552, 1, 353, 467, 1, 322, 559, 1, 264, 551, 1, 376, 611, 1, 224, 632, 1, 349, 721, 1, 131, 671, 1, 282, 299, 1, 286, 357, 1], "image_id": 109577, "bbox": [102, 301, 307, 453], "category_id": 1, "id": 185133}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [189, 474, 1, 96, 469, 1, 225, 540, 1, 73, 510, 1, 228, 562, 1, 66, 559, 1, 172, 618, 1, 117, 618, 1, 222, 699, 1, 91, 686, 1, 280, 770, 1, 53, 789, 1, 112, 211, 1, 112, 277, 1], "image_id": 119427, "bbox": [21, 196, 294, 632], "category_id": 1, "id": 185142}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [557, 197, 1, 427, 225, 1, 572, 343, 1, 406, 365, 1, 471, 305, 1, 395, 318, 1, 523, 501, 1, 444, 499, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, 105, 1, 475, 187, 1], "image_id": 116154, "bbox": [356, 70, 250, 518], "category_id": 1, "id": 185145}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [440, 194, 1, 408, 307, 1, 470, 349, 1, 410, 411, 1, 479, 467, 1, 469, 338, 1, 640, 266, 1, 618, 329, 1, 582, 375, 1, 525, 375, 1, 787, 430, 1, 528, 512, 1, 302, 168, 1, 395, 229, 1], "image_id": 111778, "bbox": [270, 127, 587, 463], "category_id": 1, "id": 185153}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [633, 220, 1, 517, 203, 1, 622, 372, 1, 445, 304, 1, 591, 490, 1, 407, 245, 1, 569, 525, 1, 512, 527, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 552, 69, 1, 576, 171, 1], "image_id": 110466, "bbox": [382, 36, 282, 596], "category_id": 1, "id": 185160}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [604, 182, 1, 506, 193, 1, 596, 274, 1, 462, 253, 1, 507, 290, 1, 529, 294, 1, 599, 347, 1, 532, 347, 1, 493, 344, 1, 454, 354, 1, 492, 496, 1, 531, 471, 1, 517, 98, 1, 547, 164, 1], "image_id": 112415, "bbox": [435, 62, 221, 505], "category_id": 1, "id": 185168}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [409, 242, 1, 209, 188, 1, 416, 392, 1, 148, 284, 1, 383, 480, 1, 90, 353, 1, 396, 480, 1, 284, 484, 1, 406, 652, 1, 306, 648, 1, 411, 790, 1, 301, 797, 1, 294, 88, 1, 300, 190, 1], "image_id": 118047, "bbox": [32, 41, 424, 742], "category_id": 1, "id": 185174}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [224, 13, 1, 166, 12, 1, 224, 59, 1, 168, 70, 1, 247, 101, 1, 195, 113, 1, 241, 105, 1, 207, 113, 1, 261, 171, 1, 216, 180, 1, 271, 224, 1, 223, 237, 1, 0, 0, 0, 197, 2, 1], "image_id": 119171, "bbox": [140, 0, 161, 263], "category_id": 1, "id": 185177}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [266, 264, 1, 197, 251, 1, 319, 280, 1, 267, 295, 1, 363, 316, 1, 352, 319, 1, 280, 436, 1, 232, 435, 1, 319, 569, 1, 206, 581, 1, 324, 687, 1, 169, 691, 1, 209, 161, 1, 230, 233, 1], "image_id": 111826, "bbox": [141, 136, 259, 609], "category_id": 1, "id": 185184}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [422, 251, 1, 294, 265, 1, 442, 390, 1, 309, 407, 1, 484, 502, 1, 314, 565, 1, 458, 520, 1, 405, 533, 1, 510, 729, 1, 409, 743, 1, 438, 845, 1, 411, 948, 1, 342, 65, 1, 355, 209, 1], "image_id": 119793, "bbox": [259, 33, 299, 966], "category_id": 1, "id": 185192}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [251, 257, 1, 154, 226, 1, 271, 363, 1, 97, 345, 1, 365, 382, 1, 162, 417, 1, 274, 432, 1, 201, 452, 1, 403, 531, 1, 296, 527, 1, 322, 678, 1, 0, 0, 0, 275, 97, 1, 240, 200, 1], "image_id": 113703, "bbox": [67, 63, 378, 624], "category_id": 1, "id": 185196}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [360, 178, 1, 278, 179, 1, 366, 280, 1, 307, 276, 1, 355, 368, 1, 253, 301, 1, 333, 362, 1, 289, 363, 1, 310, 496, 1, 318, 496, 1, 354, 618, 1, 336, 601, 1, 297, 72, 1, 310, 156, 1], "image_id": 109317, "bbox": [256, 55, 138, 611], "category_id": 1, "id": 185200}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [147, 232, 1, 100, 224, 1, 144, 279, 1, 78, 261, 1, 132, 324, 1, 79, 300, 1, 115, 339, 1, 82, 338, 1, 118, 398, 1, 86, 398, 1, 118, 447, 1, 76, 445, 1, 0, 0, 0, 0, 0, 0], "image_id": 109523, "bbox": [53, 197, 51, 275], "category_id": 1, "id": 185206}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [550, 286, 1, 609, 286, 1, 541, 323, 1, 614, 324, 1, 554, 357, 1, 609, 363, 1, 567, 374, 1, 594, 373, 1, 571, 431, 1, 594, 431, 1, 571, 481, 1, 594, 481, 1, 585, 234, 1, 582, 264, 1], "image_id": 115278, "bbox": [537, 227, 92, 186], "category_id": 1, "id": 185212}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [342, 249, 1, 109, 265, 1, 348, 337, 1, 121, 371, 1, 308, 308, 1, 195, 349, 1, 293, 475, 1, 154, 470, 1, 387, 452, 1, 56, 459, 1, 351, 523, 1, 248, 565, 1, 234, 35, 1, 217, 218, 1], "image_id": 113718, "bbox": [0, 0, 475, 606], "category_id": 1, "id": 185222}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [720, 156, 1, 603, 150, 1, 785, 205, 1, 534, 160, 1, 843, 217, 1, 461, 150, 1, 707, 357, 1, 629, 359, 1, 769, 499, 1, 621, 480, 1, 852, 601, 1, 694, 625, 1, 663, 35, 1, 658, 139, 1], "image_id": 115467, "bbox": [397, 16, 517, 654], "category_id": 1, "id": 185224}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [291, 611, 1, 181, 624, 1, 300, 671, 1, 164, 685, 1, 312, 722, 1, 157, 731, 1, 258, 724, 1, 212, 727, 1, 243, 824, 1, 219, 824, 1, 234, 917, 1, 226, 917, 1, 227, 537, 1, 227, 598, 1], "image_id": 111894, "bbox": [133, 524, 174, 426], "category_id": 1, "id": 185230}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [314, 256, 1, 168, 304, 1, 354, 288, 1, 99, 365, 1, 412, 321, 1, 42, 370, 1, 230, 473, 1, 188, 449, 1, 288, 653, 1, 311, 479, 1, 145, 711, 1, 313, 596, 1, 251, 198, 1, 241, 270, 1], "image_id": 114683, "bbox": [2, 169, 416, 642], "category_id": 1, "id": 185242}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [548, 316, 1, 489, 378, 1, 647, 386, 1, 501, 478, 1, 565, 401, 1, 467, 553, 1, 631, 528, 1, 563, 528, 1, 574, 689, 1, 582, 687, 1, 586, 855, 1, 0, 0, 0, 0, 0, 0, 451, 279, 1], "image_id": 115924, "bbox": [394, 287, 270, 553], "category_id": 1, "id": 185254}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [384, 198, 1, 214, 198, 1, 426, 329, 1, 133, 286, 1, 378, 310, 1, 214, 367, 1, 340, 453, 1, 226, 452, 1, 331, 679, 1, 226, 666, 1, 306, 851, 1, 220, 840, 1, 286, 46, 1, 298, 171, 1], "image_id": 114567, "bbox": [177, 32, 250, 883], "category_id": 1, "id": 185299}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [761, 289, 1, 633, 266, 1, 780, 457, 1, 658, 393, 1, 629, 469, 1, 600, 467, 1, 710, 587, 1, 635, 578, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 651, 101, 1, 688, 239, 1], "image_id": 118225, "bbox": [554, 83, 265, 541], "category_id": 1, "id": 185301}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [500, 306, 1, 368, 333, 1, 514, 424, 1, 357, 433, 1, 557, 458, 1, 346, 457, 1, 479, 525, 1, 418, 524, 1, 493, 673, 1, 375, 654, 1, 506, 822, 1, 319, 802, 1, 449, 203, 1, 438, 299, 1], "image_id": 118456, "bbox": [278, 165, 337, 710], "category_id": 1, "id": 185315}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [335, 346, 1, 282, 339, 1, 354, 445, 1, 309, 414, 1, 353, 527, 1, 287, 469, 1, 297, 519, 1, 318, 521, 1, 250, 625, 1, 340, 644, 1, 259, 769, 1, 400, 760, 1, 308, 229, 1, 308, 311, 1], "image_id": 117530, "bbox": [185, 210, 251, 609], "category_id": 1, "id": 185319}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [276, 303, 1, 169, 308, 1, 344, 356, 1, 140, 382, 1, 314, 432, 1, 121, 421, 1, 279, 514, 1, 208, 511, 1, 194, 642, 1, 275, 651, 1, 180, 797, 1, 386, 605, 1, 227, 185, 1, 222, 282, 1], "image_id": 110213, "bbox": [87, 151, 306, 706], "category_id": 1, "id": 185351}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [115, 134, 1, 58, 101, 1, 109, 214, 1, 10, 256, 1, 196, 220, 1, 118, 277, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 28, 1, 92, 98, 1], "image_id": 113653, "bbox": [1, 1, 240, 298], "category_id": 1, "id": 185371}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [471, 251, 1, 244, 312, 1, 493, 427, 1, 320, 514, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 367, 38, 1, 357, 231, 1], "image_id": 116408, "bbox": [204, 12, 343, 520], "category_id": 1, "id": 185372}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [350, 246, 1, 185, 286, 1, 387, 366, 1, 254, 451, 1, 457, 445, 1, 389, 496, 1, 317, 550, 1, 234, 545, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 70, 1, 278, 195, 1], "image_id": 113028, "bbox": [136, 0, 379, 582], "category_id": 1, "id": 185391}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [583, 160, 1, 431, 203, 1, 639, 293, 1, 354, 299, 1, 631, 409, 1, 362, 405, 1, 603, 442, 1, 518, 446, 1, 613, 610, 1, 541, 613, 1, 0, 0, 0, 0, 0, 0, 451, 48, 1, 490, 157, 1], "image_id": 110581, "bbox": [419, 22, 249, 601], "category_id": 1, "id": 185421}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [474, 141, 1, 449, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 274, 1, 451, 275, 1, 423, 364, 1, 0, 0, 0, 388, 446, 1, 0, 0, 0, 475, 72, 1, 464, 133, 1], "image_id": 117239, "bbox": [349, 51, 140, 455], "category_id": 1, "id": 185448}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [255, 352, 1, 164, 349, 1, 271, 386, 1, 128, 394, 1, 259, 399, 1, 177, 406, 1, 232, 451, 1, 158, 460, 1, 292, 420, 1, 204, 414, 1, 276, 515, 1, 208, 524, 1, 222, 246, 1, 214, 333, 1], "image_id": 112036, "bbox": [105, 227, 216, 372], "category_id": 1, "id": 185501}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [368, 546, 1, 362, 640, 1, 381, 470, 1, 0, 0, 0, 479, 396, 1, 0, 0, 0, 550, 626, 1, 0, 0, 0, 700, 607, 1, 695, 655, 1, 865, 563, 1, 0, 0, 0, 340, 498, 1, 352, 580, 1], "image_id": 115113, "bbox": [295, 335, 626, 330], "category_id": 1, "id": 185503}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [501, 172, 1, 462, 169, 1, 481, 265, 1, 458, 265, 1, 550, 262, 1, 547, 269, 1, 490, 365, 1, 478, 364, 1, 480, 505, 1, 472, 502, 1, 470, 652, 1, 462, 652, 1, 484, 43, 1, 480, 130, 1], "image_id": 117294, "bbox": [310, 26, 295, 639], "category_id": 1, "id": 185514}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [507, 42, 1, 452, 25, 1, 508, 127, 1, 443, 121, 1, 517, 192, 1, 461, 201, 1, 476, 222, 1, 427, 222, 1, 479, 356, 1, 435, 357, 1, 480, 468, 1, 434, 467, 1, 0, 0, 0, 497, 15, 1], "image_id": 118755, "bbox": [380, 0, 190, 337], "category_id": 1, "id": 185557}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [301, 275, 1, 158, 291, 1, 337, 330, 1, 152, 419, 1, 364, 375, 1, 230, 485, 1, 315, 485, 1, 218, 498, 1, 398, 454, 1, 91, 480, 1, 423, 607, 1, 221, 593, 1, 219, 87, 1, 228, 262, 1], "image_id": 116158, "bbox": [58, 49, 466, 670], "category_id": 1, "id": 185559}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [445, 325, 1, 260, 283, 1, 414, 446, 1, 257, 444, 1, 360, 613, 1, 315, 563, 1, 391, 553, 1, 277, 549, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 127, 1, 347, 271, 1], "image_id": 110083, "bbox": [199, 96, 278, 569], "category_id": 1, "id": 185573}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 553, 23, 1, 494, 23, 1, 533, 61, 1, 498, 60, 1, 543, 95, 1, 522, 93, 1, 539, 165, 1, 526, 168, 1, 526, 215, 1, 519, 220, 1, 0, 0, 0, 0, 0, 0], "image_id": 119171, "bbox": [467, 0, 119, 257], "category_id": 1, "id": 185586}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [331, 180, 1, 273, 137, 1, 389, 275, 1, 184, 146, 1, 454, 208, 1, 133, 133, 1, 386, 367, 1, 373, 341, 1, 354, 519, 1, 525, 346, 1, 224, 571, 1, 656, 416, 1, 296, 55, 1, 296, 131, 1], "image_id": 119822, "bbox": [69, 39, 677, 559], "category_id": 1, "id": 185616}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [563, 392, 1, 473, 393, 1, 584, 454, 1, 430, 448, 1, 536, 463, 1, 435, 429, 1, 549, 529, 1, 494, 529, 1, 549, 605, 1, 499, 604, 1, 542, 668, 1, 507, 675, 1, 525, 275, 1, 515, 362, 1], "image_id": 116157, "bbox": [416, 255, 188, 480], "category_id": 1, "id": 185620}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [431, 208, 1, 275, 202, 1, 432, 340, 1, 247, 353, 1, 460, 277, 1, 289, 269, 1, 363, 371, 1, 272, 393, 1, 379, 418, 1, 372, 544, 1, 360, 480, 1, 259, 459, 1, 393, 60, 1, 362, 177, 1], "image_id": 116647, "bbox": [206, 33, 316, 539], "category_id": 1, "id": 185631}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [545, 183, 1, 719, 217, 1, 458, 204, 1, 771, 365, 1, 558, 217, 1, 842, 425, 1, 538, 343, 1, 642, 334, 1, 554, 461, 1, 749, 478, 1, 551, 629, 1, 846, 644, 1, 663, 94, 1, 650, 155, 1], "image_id": 115777, "bbox": [447, 70, 475, 615], "category_id": 1, "id": 185676}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [396, 282, 1, 318, 258, 1, 435, 330, 1, 251, 323, 1, 471, 285, 1, 287, 404, 1, 403, 462, 1, 341, 459, 1, 374, 593, 1, 387, 600, 1, 347, 757, 1, 350, 772, 1, 350, 144, 1, 350, 248, 1], "image_id": 114036, "bbox": [228, 128, 281, 745], "category_id": 1, "id": 185694}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [188, 159, 1, 69, 162, 1, 248, 244, 1, 51, 269, 1, 329, 295, 1, 87, 220, 1, 162, 341, 1, 101, 346, 1, 174, 462, 1, 122, 472, 1, 187, 551, 1, 148, 610, 1, 106, 51, 1, 122, 133, 1], "image_id": 118088, "bbox": [26, 19, 331, 638], "category_id": 1, "id": 185713}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [511, 256, 1, 408, 251, 1, 513, 372, 1, 416, 348, 1, 492, 456, 1, 377, 394, 1, 484, 464, 1, 420, 453, 1, 429, 595, 1, 412, 582, 1, 411, 722, 1, 486, 622, 1, 429, 122, 1, 450, 220, 1], "image_id": 112262, "bbox": [335, 80, 184, 690], "category_id": 1, "id": 185736}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [104, 253, 1, 61, 240, 1, 109, 288, 1, 43, 276, 1, 102, 289, 1, 54, 275, 1, 86, 299, 1, 57, 297, 1, 113, 300, 1, 31, 297, 1, 63, 316, 1, 75, 315, 1, 98, 211, 1, 86, 240, 1], "image_id": 110024, "bbox": [35, 200, 89, 121], "category_id": 1, "id": 185745}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [202, 160, 1, 113, 160, 1, 181, 233, 1, 66, 236, 1, 251, 220, 1, 119, 182, 1, 201, 371, 1, 141, 372, 1, 232, 512, 1, 125, 516, 1, 262, 664, 1, 40, 639, 1, 153, 50, 1, 158, 141, 1], "image_id": 114101, "bbox": [6, 29, 339, 676], "category_id": 1, "id": 185750}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [547, 208, 1, 401, 170, 1, 522, 317, 1, 309, 243, 1, 591, 304, 1, 226, 283, 1, 432, 352, 1, 360, 331, 1, 373, 512, 1, 440, 458, 1, 204, 637, 1, 262, 517, 1, 485, 74, 1, 485, 172, 1], "image_id": 117840, "bbox": [128, 53, 497, 660], "category_id": 1, "id": 185751}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [416, 136, 1, 362, 138, 1, 424, 175, 1, 361, 178, 1, 428, 213, 1, 362, 208, 1, 416, 221, 1, 381, 223, 1, 423, 270, 1, 381, 276, 1, 433, 309, 1, 379, 317, 1, 383, 84, 1, 387, 126, 1], "image_id": 114094, "bbox": [330, 68, 138, 269], "category_id": 1, "id": 185758}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [500, 196, 1, 334, 195, 1, 530, 263, 1, 253, 250, 1, 550, 345, 1, 235, 345, 1, 434, 385, 1, 345, 386, 1, 441, 553, 1, 344, 554, 1, 0, 0, 0, 0, 0, 0, 423, 66, 1, 415, 174, 1], "image_id": 118432, "bbox": [199, 43, 400, 380], "category_id": 1, "id": 185798}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [423, 176, 1, 321, 177, 1, 431, 253, 1, 313, 262, 1, 380, 303, 1, 364, 291, 1, 397, 349, 1, 332, 345, 1, 395, 462, 1, 329, 464, 1, 392, 576, 1, 325, 576, 1, 371, 69, 1, 371, 148, 1], "image_id": 116620, "bbox": [270, 51, 176, 563], "category_id": 1, "id": 185802}, {"num_keypoints": 4, "iscrowd": 0, "keypoints": [517, 449, 1, 426, 442, 1, 480, 680, 1, 365, 691, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 481, 178, 1, 469, 375, 1], "image_id": 114661, "bbox": [286, 154, 298, 585], "category_id": 1, "id": 185817}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [455, 235, 1, 404, 300, 1, 522, 206, 1, 476, 334, 1, 551, 139, 1, 500, 209, 1, 490, 391, 1, 450, 432, 1, 520, 423, 1, 473, 514, 1, 449, 407, 1, 382, 469, 1, 395, 200, 1, 412, 263, 1], "image_id": 117306, "bbox": [354, 64, 247, 466], "category_id": 1, "id": 185819}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [618, 145, 1, 574, 140, 1, 611, 231, 1, 556, 245, 1, 625, 335, 1, 635, 253, 1, 611, 345, 1, 580, 343, 1, 652, 487, 1, 545, 478, 1, 698, 610, 1, 505, 610, 1, 605, 18, 1, 601, 110, 1], "image_id": 117294, "bbox": [482, 6, 301, 649], "category_id": 1, "id": 185824}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [759, 80, 1, 785, 46, 1, 743, 147, 1, 821, 115, 1, 679, 215, 1, 802, 193, 1, 822, 216, 1, 865, 214, 1, 815, 338, 1, 856, 336, 1, 806, 439, 1, 853, 439, 1, 694, 22, 1, 742, 49, 1], "image_id": 118755, "bbox": [619, 1, 318, 436], "category_id": 1, "id": 185825}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [248, 214, 1, 100, 177, 1, 182, 377, 1, 31, 286, 1, 73, 296, 1, 0, 0, 0, 142, 507, 1, 40, 493, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 27, 1, 172, 148, 1], "image_id": 116154, "bbox": [0, 8, 277, 580], "category_id": 1, "id": 185829}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [308, 180, 1, 267, 180, 1, 297, 204, 1, 261, 206, 1, 279, 232, 1, 280, 235, 1, 300, 248, 1, 279, 250, 1, 300, 287, 1, 279, 288, 1, 300, 319, 1, 279, 320, 1, 294, 144, 1, 290, 173, 1], "image_id": 109786, "bbox": [247, 131, 93, 253], "category_id": 1, "id": 185831}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [395, 226, 1, 407, 226, 1, 392, 299, 1, 478, 267, 1, 436, 337, 1, 518, 196, 1, 409, 375, 1, 421, 374, 1, 415, 481, 1, 424, 479, 1, 0, 0, 0, 0, 0, 0, 440, 114, 1, 410, 194, 1], "image_id": 118710, "bbox": [360, 92, 200, 272], "category_id": 1, "id": 185841}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [208, 236, 1, 228, 245, 1, 307, 333, 1, 366, 257, 1, 412, 259, 1, 499, 226, 1, 165, 503, 1, 189, 501, 1, 191, 724, 1, 175, 727, 1, 184, 922, 1, 124, 925, 1, 269, 121, 1, 232, 215, 1], "image_id": 110306, "bbox": [82, 91, 482, 908], "category_id": 1, "id": 185846}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [588, 180, 1, 638, 179, 1, 614, 271, 1, 652, 269, 1, 541, 265, 1, 566, 271, 1, 583, 373, 1, 635, 373, 1, 548, 498, 1, 640, 500, 1, 525, 635, 1, 696, 641, 1, 587, 62, 1, 597, 141, 1], "image_id": 116598, "bbox": [442, 45, 278, 632], "category_id": 1, "id": 185856}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [404, 355, 1, 514, 344, 1, 380, 441, 1, 520, 447, 1, 325, 494, 1, 469, 478, 1, 411, 572, 1, 454, 564, 1, 392, 698, 1, 436, 693, 1, 446, 849, 1, 525, 797, 1, 423, 239, 1, 423, 324, 1], "image_id": 117159, "bbox": [328, 218, 269, 701], "category_id": 1, "id": 185887}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [508, 209, 1, 442, 245, 1, 494, 257, 1, 415, 328, 1, 493, 297, 1, 394, 399, 1, 442, 356, 1, 355, 350, 1, 536, 437, 1, 461, 472, 1, 608, 597, 1, 332, 552, 1, 513, 133, 1, 476, 208, 1], "image_id": 117687, "bbox": [270, 116, 442, 556], "category_id": 1, "id": 185920}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 260, 20, 1, 225, 26, 1, 227, 111, 1, 190, 125, 1, 240, 128, 1, 205, 127, 1, 242, 258, 1, 210, 260, 1, 241, 378, 1, 210, 370, 1, 0, 0, 0, 0, 0, 0], "image_id": 114728, "bbox": [130, 2, 178, 404], "category_id": 1, "id": 185924}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [298, 271, 1, 204, 262, 1, 338, 359, 1, 198, 352, 1, 413, 400, 1, 237, 386, 1, 203, 435, 1, 156, 436, 1, 227, 575, 1, 191, 576, 1, 121, 567, 1, 132, 695, 1, 299, 162, 1, 257, 237, 1], "image_id": 119789, "bbox": [60, 140, 401, 591], "category_id": 1, "id": 185945}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [134, 154, 1, 136, 112, 1, 173, 204, 1, 96, 145, 1, 252, 171, 1, 212, 110, 1, 106, 347, 1, 114, 344, 1, 192, 476, 1, 204, 480, 1, 123, 628, 1, 231, 689, 1, 215, 47, 1, 165, 117, 1], "image_id": 115843, "bbox": [7, 19, 326, 743], "category_id": 1, "id": 185946}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [434, 408, 1, 355, 412, 1, 467, 488, 1, 374, 516, 1, 379, 505, 1, 322, 518, 1, 392, 599, 1, 331, 595, 1, 395, 751, 1, 332, 741, 1, 398, 873, 1, 322, 865, 1, 390, 279, 1, 394, 379, 1], "image_id": 119383, "bbox": [248, 267, 246, 632], "category_id": 1, "id": 185954}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [602, 246, 1, 423, 276, 1, 633, 394, 1, 452, 436, 1, 665, 520, 1, 567, 502, 1, 632, 502, 1, 539, 532, 1, 710, 561, 1, 652, 602, 1, 0, 0, 0, 0, 0, 0, 548, 63, 1, 506, 221, 1], "image_id": 115133, "bbox": [405, 13, 265, 459], "category_id": 1, "id": 185962}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [540, 40, 1, 445, 248, 1, 791, 137, 1, 426, 289, 1, 703, 328, 1, 475, 338, 1, 888, 105, 1, 887, 295, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 265, 194, 1, 457, 200, 1], "image_id": 112527, "bbox": [272, 6, 675, 493], "category_id": 1, "id": 185966}, {"num_keypoints": 5, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 138, 1, 0, 0, 0, 27, 156, 1, 0, 0, 0, 8, 168, 1, 0, 0, 0, 36, 205, 1, 0, 0, 0, 61, 236, 1, 0, 0, 0, 0, 0, 0], "image_id": 114487, "bbox": [0, 106, 88, 153], "category_id": 1, "id": 185968}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [708, 293, 1, 580, 303, 1, 709, 405, 1, 535, 404, 1, 735, 349, 1, 481, 461, 1, 680, 489, 1, 618, 489, 1, 0, 0, 0, 617, 622, 1, 0, 0, 0, 0, 0, 0, 628, 183, 1, 638, 273, 1], "image_id": 113455, "bbox": [424, 167, 341, 472], "category_id": 1, "id": 185975}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [663, 279, 1, 484, 244, 1, 632, 416, 1, 400, 354, 1, 551, 419, 1, 428, 387, 1, 605, 527, 1, 484, 514, 1, 698, 727, 1, 398, 704, 1, 767, 875, 1, 355, 898, 1, 591, 109, 1, 585, 234, 1], "image_id": 114605, "bbox": [285, 74, 557, 880], "category_id": 1, "id": 185989}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [402, 280, 1, 198, 321, 1, 493, 457, 1, 239, 493, 1, 528, 612, 1, 240, 639, 1, 428, 657, 1, 314, 664, 1, 497, 951, 1, 330, 951, 1, 0, 0, 0, 0, 0, 0, 219, 109, 1, 268, 265, 1], "image_id": 115023, "bbox": [155, 68, 409, 929], "category_id": 1, "id": 185993}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [321, 220, 1, 199, 222, 1, 389, 277, 1, 163, 297, 1, 469, 262, 1, 116, 255, 1, 300, 403, 1, 235, 401, 1, 318, 527, 1, 245, 534, 1, 355, 667, 1, 239, 665, 1, 254, 101, 1, 254, 192, 1], "image_id": 109186, "bbox": [88, 81, 418, 670], "category_id": 1, "id": 185995}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [324, 79, 1, 411, 83, 1, 281, 141, 1, 411, 168, 1, 266, 173, 1, 383, 126, 1, 332, 217, 1, 379, 223, 1, 316, 313, 1, 372, 317, 1, 301, 427, 1, 354, 419, 1, 367, 14, 1, 367, 53, 1], "image_id": 110601, "bbox": [252, 2, 182, 472], "category_id": 1, "id": 186010}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [383, 246, 1, 220, 259, 1, 451, 381, 1, 251, 359, 1, 428, 393, 1, 359, 314, 1, 376, 497, 1, 279, 500, 1, 349, 690, 1, 302, 698, 1, 355, 864, 1, 318, 907, 1, 268, 84, 1, 293, 209, 1], "image_id": 116877, "bbox": [186, 51, 284, 933], "category_id": 1, "id": 186015}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [562, 250, 1, 426, 231, 1, 620, 323, 1, 404, 325, 1, 637, 348, 1, 317, 347, 1, 528, 442, 1, 439, 440, 1, 568, 563, 1, 348, 508, 1, 616, 697, 1, 370, 657, 1, 486, 126, 1, 490, 212, 1], "image_id": 114793, "bbox": [241, 93, 450, 637], "category_id": 1, "id": 186044}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [716, 330, 1, 890, 332, 1, 675, 534, 1, 819, 517, 1, 577, 560, 1, 696, 537, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, 143, 1, 772, 255, 1], "image_id": 117890, "bbox": [513, 112, 452, 552], "category_id": 1, "id": 186049}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [310, 215, 1, 261, 221, 1, 315, 252, 1, 267, 256, 1, 280, 268, 1, 267, 278, 1, 309, 283, 1, 273, 281, 1, 305, 330, 1, 273, 345, 1, 302, 372, 1, 0, 0, 0, 274, 168, 1, 279, 204, 1], "image_id": 109786, "bbox": [242, 155, 87, 240], "category_id": 1, "id": 186052}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [598, 155, 1, 522, 179, 1, 604, 134, 1, 452, 203, 1, 575, 97, 1, 360, 208, 1, 594, 373, 1, 595, 371, 1, 511, 479, 1, 612, 492, 1, 462, 628, 1, 743, 549, 1, 541, 44, 1, 555, 119, 1], "image_id": 119639, "bbox": [293, 20, 501, 655], "category_id": 1, "id": 186063}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [566, 235, 1, 404, 253, 1, 604, 316, 1, 325, 363, 1, 548, 337, 1, 266, 383, 1, 503, 462, 1, 417, 440, 1, 503, 652, 1, 417, 462, 1, 455, 806, 1, 417, 611, 1, 454, 171, 1, 481, 230, 1], "image_id": 113609, "bbox": [205, 138, 429, 719], "category_id": 1, "id": 186068}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [445, 334, 1, 469, 326, 1, 438, 358, 1, 490, 339, 1, 434, 379, 1, 502, 349, 1, 458, 373, 1, 473, 370, 1, 446, 403, 1, 496, 389, 1, 455, 432, 1, 514, 414, 1, 453, 297, 1, 458, 322, 1], "image_id": 112279, "bbox": [418, 284, 118, 171], "category_id": 1, "id": 186075}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [333, 176, 1, 213, 175, 1, 350, 250, 1, 176, 287, 1, 308, 165, 1, 175, 369, 1, 288, 377, 1, 222, 378, 1, 253, 522, 1, 243, 517, 1, 219, 636, 1, 263, 666, 1, 255, 58, 1, 264, 147, 1], "image_id": 110416, "bbox": [145, 37, 225, 675], "category_id": 1, "id": 186078}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [193, 245, 1, 156, 235, 1, 186, 320, 1, 154, 329, 1, 200, 376, 1, 175, 395, 1, 186, 416, 1, 174, 415, 1, 175, 511, 1, 203, 515, 1, 163, 593, 1, 191, 625, 1, 222, 170, 1, 179, 217, 1], "image_id": 111552, "bbox": [106, 146, 158, 519], "category_id": 1, "id": 186081}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [276, 366, 1, 138, 377, 1, 310, 458, 1, 129, 483, 1, 298, 540, 1, 133, 568, 1, 270, 578, 1, 184, 581, 1, 265, 729, 1, 179, 711, 1, 267, 877, 1, 133, 837, 1, 223, 244, 1, 208, 342, 1], "image_id": 115229, "bbox": [99, 228, 234, 691], "category_id": 1, "id": 186100}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [849, 143, 1, 924, 171, 1, 865, 184, 1, 0, 0, 0, 803, 251, 1, 917, 295, 1, 872, 361, 1, 870, 361, 1, 881, 512, 1, 766, 440, 1, 0, 0, 0, 671, 559, 1, 865, 52, 1, 872, 123, 1], "image_id": 119402, "bbox": [602, 16, 336, 586], "category_id": 1, "id": 186111}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [72, 152, 1, 13, 161, 1, 85, 190, 1, 9, 201, 1, 73, 235, 1, 16, 233, 1, 65, 248, 1, 37, 251, 1, 62, 311, 1, 44, 311, 1, 64, 363, 1, 46, 363, 1, 43, 93, 1, 40, 136, 1], "image_id": 118936, "bbox": [0, 81, 94, 299], "category_id": 1, "id": 186142}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [674, 225, 1, 639, 231, 1, 683, 204, 1, 624, 216, 1, 667, 175, 1, 635, 180, 1, 667, 302, 1, 647, 302, 1, 664, 353, 1, 639, 349, 1, 666, 389, 1, 637, 393, 1, 656, 187, 1, 656, 217, 1], "image_id": 114863, "bbox": [604, 145, 90, 277], "category_id": 1, "id": 186154}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [819, 280, 1, 721, 275, 1, 838, 347, 1, 699, 338, 1, 824, 341, 1, 715, 335, 1, 783, 417, 1, 736, 413, 1, 774, 508, 1, 733, 503, 1, 770, 593, 1, 732, 588, 1, 769, 180, 1, 769, 251, 1], "image_id": 117785, "bbox": [684, 137, 169, 337], "category_id": 1, "id": 186162}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [209, 182, 1, 78, 184, 1, 215, 260, 1, 46, 275, 1, 203, 299, 1, 128, 303, 1, 158, 365, 1, 99, 367, 1, 172, 474, 1, 117, 479, 1, 0, 0, 0, 0, 0, 0, 195, 91, 1, 147, 157, 1], "image_id": 110798, "bbox": [21, 43, 214, 399], "category_id": 1, "id": 186163}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [213, 311, 1, 280, 299, 1, 198, 390, 1, 255, 416, 1, 152, 356, 1, 177, 470, 1, 234, 503, 1, 253, 502, 1, 227, 673, 1, 250, 674, 1, 340, 805, 1, 259, 841, 1, 193, 208, 1, 215, 273, 1], "image_id": 118894, "bbox": [116, 181, 258, 720], "category_id": 1, "id": 186196}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [406, 263, 1, 383, 260, 1, 403, 278, 1, 374, 268, 1, 397, 266, 1, 365, 269, 1, 396, 307, 1, 380, 308, 1, 396, 341, 1, 382, 342, 1, 397, 372, 1, 383, 373, 1, 394, 235, 1, 396, 256, 1], "image_id": 114473, "bbox": [351, 224, 67, 143], "category_id": 1, "id": 186205}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [442, 269, 1, 513, 262, 1, 416, 326, 1, 539, 318, 1, 437, 373, 1, 555, 366, 1, 454, 378, 1, 496, 380, 1, 473, 431, 1, 491, 441, 1, 470, 479, 1, 493, 496, 1, 481, 197, 1, 478, 240, 1], "image_id": 115278, "bbox": [400, 186, 172, 214], "category_id": 1, "id": 186210}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [372, 306, 1, 243, 306, 1, 383, 390, 1, 239, 384, 1, 384, 456, 1, 237, 454, 1, 335, 453, 1, 283, 451, 1, 325, 549, 1, 286, 566, 1, 302, 668, 1, 355, 668, 1, 306, 143, 1, 311, 276, 1], "image_id": 119034, "bbox": [190, 115, 247, 614], "category_id": 1, "id": 186244}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [693, 348, 1, 575, 264, 1, 685, 436, 1, 559, 358, 1, 708, 461, 1, 662, 370, 1, 448, 370, 1, 432, 346, 1, 359, 564, 1, 560, 489, 1, 154, 567, 1, 467, 662, 1, 675, 190, 1, 630, 281, 1], "image_id": 112589, "bbox": [52, 160, 705, 597], "category_id": 1, "id": 186251}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [307, 178, 1, 212, 219, 1, 396, 250, 1, 253, 318, 1, 345, 228, 1, 338, 297, 1, 334, 365, 1, 250, 370, 1, 452, 464, 1, 300, 458, 1, 442, 621, 1, 295, 617, 1, 227, 95, 1, 254, 185, 1], "image_id": 115231, "bbox": [190, 72, 333, 602], "category_id": 1, "id": 186257}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [338, 203, 1, 204, 198, 1, 396, 83, 1, 91, 122, 1, 339, 52, 1, 132, 14, 1, 314, 428, 1, 223, 430, 1, 310, 632, 1, 302, 615, 1, 288, 817, 1, 269, 741, 1, 275, 70, 1, 264, 182, 1], "image_id": 116741, "bbox": [66, 1, 357, 898], "category_id": 1, "id": 186265}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [439, 238, 1, 356, 243, 1, 528, 320, 1, 339, 325, 1, 453, 358, 1, 286, 339, 1, 400, 409, 1, 372, 408, 1, 385, 538, 1, 381, 532, 1, 384, 676, 1, 403, 645, 1, 386, 104, 1, 391, 209, 1], "image_id": 111446, "bbox": [319, 83, 229, 670], "category_id": 1, "id": 186266}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [641, 186, 1, 375, 163, 1, 716, 312, 1, 378, 362, 1, 670, 472, 1, 391, 533, 1, 543, 338, 1, 350, 271, 1, 642, 462, 1, 251, 506, 1, 595, 340, 1, 241, 392, 1, 506, 61, 1, 500, 147, 1], "image_id": 113952, "bbox": [180, 4, 572, 611], "category_id": 1, "id": 186268}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [651, 246, 1, 510, 296, 1, 722, 393, 1, 468, 433, 1, 645, 313, 1, 490, 295, 1, 593, 537, 1, 500, 536, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 470, 128, 1, 560, 218, 1], "image_id": 115730, "bbox": [436, 92, 304, 527], "category_id": 1, "id": 186269}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [750, 206, 1, 652, 190, 1, 739, 303, 1, 616, 248, 1, 680, 345, 1, 578, 296, 1, 713, 326, 1, 656, 307, 1, 661, 378, 1, 578, 332, 1, 627, 472, 1, 577, 428, 1, 678, 113, 1, 691, 181, 1], "image_id": 118964, "bbox": [523, 90, 256, 434], "category_id": 1, "id": 186270}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [562, 343, 1, 353, 391, 1, 554, 518, 1, 403, 536, 1, 528, 632, 1, 409, 689, 1, 508, 503, 1, 396, 481, 1, 457, 464, 1, 342, 573, 1, 479, 796, 1, 102, 761, 1, 356, 276, 1, 441, 334, 1], "image_id": 109085, "bbox": [10, 217, 620, 715], "category_id": 1, "id": 186272}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [128, 655, 1, 85, 813, 1, 216, 674, 1, 180, 854, 1, 255, 697, 1, 221, 846, 1, 240, 706, 1, 278, 800, 1, 332, 538, 1, 473, 841, 1, 414, 564, 1, 542, 808, 1, 74, 643, 1, 91, 727, 1], "image_id": 116896, "bbox": [24, 481, 624, 387], "category_id": 1, "id": 186310}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [787, 173, 1, 659, 178, 1, 854, 233, 1, 640, 256, 1, 900, 308, 1, 640, 321, 1, 773, 318, 1, 714, 330, 1, 733, 394, 1, 739, 444, 1, 734, 540, 1, 807, 525, 1, 699, 81, 1, 714, 156, 1], "image_id": 116706, "bbox": [597, 49, 332, 531], "category_id": 1, "id": 186324}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [484, 159, 1, 331, 149, 1, 476, 294, 1, 290, 299, 1, 485, 407, 1, 305, 404, 1, 442, 409, 1, 378, 400, 1, 432, 606, 1, 343, 578, 1, 436, 747, 1, 284, 720, 1, 0, 0, 0, 420, 109, 1], "image_id": 119229, "bbox": [269, 3, 239, 705], "category_id": 1, "id": 186333}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [431, 265, 1, 292, 321, 1, 353, 428, 1, 234, 433, 1, 190, 407, 1, 143, 377, 1, 640, 407, 1, 529, 422, 1, 632, 585, 1, 407, 577, 1, 0, 0, 0, 0, 0, 0, 297, 125, 1, 361, 241, 1], "image_id": 118767, "bbox": [79, 82, 617, 604], "category_id": 1, "id": 186338}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [532, 151, 1, 457, 122, 1, 510, 250, 1, 426, 122, 1, 564, 297, 1, 464, 75, 1, 493, 331, 1, 416, 330, 1, 569, 449, 1, 489, 435, 1, 584, 598, 1, 375, 553, 1, 455, 110, 1, 475, 197, 1], "image_id": 114781, "bbox": [324, 14, 333, 618], "category_id": 1, "id": 186340}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 640, 21, 1, 0, 0, 0, 769, 8, 1, 721, 160, 1, 651, 156, 1, 724, 374, 1, 636, 377, 1, 749, 601, 1, 522, 510, 1, 0, 0, 0, 0, 0, 0], "image_id": 117261, "bbox": [579, 2, 299, 638], "category_id": 1, "id": 186342}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [869, 124, 1, 855, 118, 1, 882, 185, 1, 845, 177, 1, 904, 225, 1, 887, 215, 1, 857, 225, 1, 873, 226, 1, 846, 301, 1, 905, 280, 1, 833, 385, 1, 875, 375, 1, 873, 57, 1, 865, 97, 1], "image_id": 117294, "bbox": [812, 46, 115, 360], "category_id": 1, "id": 186356}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [47, 747, 1, 214, 751, 1, 107, 585, 1, 286, 606, 1, 186, 473, 1, 339, 482, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 609, 1, 125, 734, 1], "image_id": 110718, "bbox": [18, 381, 412, 605], "category_id": 1, "id": 186360}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [488, 171, 1, 355, 194, 1, 532, 209, 1, 389, 243, 1, 526, 276, 1, 422, 274, 1, 483, 326, 1, 434, 328, 1, 472, 423, 1, 445, 415, 1, 463, 506, 1, 447, 496, 1, 380, 83, 1, 402, 160, 1], "image_id": 111567, "bbox": [330, 64, 223, 414], "category_id": 1, "id": 186368}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [511, 273, 1, 310, 278, 1, 540, 439, 1, 163, 432, 1, 533, 607, 1, 189, 378, 1, 511, 609, 1, 398, 623, 1, 560, 894, 1, 409, 904, 1, 0, 0, 0, 0, 0, 0, 345, 160, 1, 356, 234, 1], "image_id": 113295, "bbox": [152, 109, 484, 830], "category_id": 1, "id": 186370}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [549, 132, 1, 446, 141, 1, 496, 185, 1, 345, 189, 1, 437, 196, 1, 259, 250, 1, 493, 353, 1, 437, 359, 1, 591, 456, 1, 508, 468, 1, 535, 591, 1, 465, 647, 1, 554, 42, 1, 514, 114, 1], "image_id": 113144, "bbox": [210, 4, 424, 690], "category_id": 1, "id": 186374}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [514, 300, 1, 453, 307, 1, 514, 359, 1, 450, 358, 1, 515, 406, 1, 447, 410, 1, 497, 402, 1, 461, 402, 1, 482, 468, 1, 470, 476, 1, 473, 518, 1, 509, 498, 1, 483, 245, 1, 481, 292, 1], "image_id": 113444, "bbox": [433, 236, 76, 278], "category_id": 1, "id": 186377}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [191, 223, 1, 97, 233, 1, 232, 274, 1, 45, 277, 1, 198, 315, 1, 88, 314, 1, 182, 336, 1, 123, 340, 1, 200, 422, 1, 152, 426, 1, 216, 497, 1, 175, 501, 1, 128, 143, 1, 139, 211, 1], "image_id": 115293, "bbox": [30, 102, 217, 430], "category_id": 1, "id": 186382}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [730, 302, 1, 778, 303, 1, 710, 277, 1, 814, 279, 1, 695, 248, 1, 845, 258, 1, 732, 389, 1, 759, 388, 1, 725, 459, 1, 775, 455, 1, 708, 520, 1, 775, 523, 1, 710, 216, 1, 755, 300, 1], "image_id": 111531, "bbox": [688, 239, 173, 300], "category_id": 1, "id": 186395}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [401, 252, 1, 205, 274, 1, 430, 372, 1, 128, 323, 1, 441, 352, 1, 55, 364, 1, 398, 444, 1, 304, 450, 1, 422, 580, 1, 418, 524, 1, 372, 714, 1, 361, 614, 1, 303, 146, 1, 298, 236, 1], "image_id": 113606, "bbox": [156, 112, 337, 666], "category_id": 1, "id": 186412}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [575, 258, 1, 344, 268, 1, 578, 421, 1, 271, 356, 1, 502, 506, 1, 231, 424, 1, 531, 616, 1, 364, 614, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 51, 1, 463, 221, 1], "image_id": 113448, "bbox": [148, 12, 489, 644], "category_id": 1, "id": 186417}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [670, 294, 1, 579, 287, 1, 649, 355, 1, 532, 286, 1, 615, 309, 1, 499, 309, 1, 644, 460, 1, 578, 452, 1, 0, 0, 0, 561, 552, 1, 0, 0, 0, 0, 0, 0, 628, 192, 1, 623, 262, 1], "image_id": 111298, "bbox": [500, 176, 195, 391], "category_id": 1, "id": 186418}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [679, 274, 1, 517, 323, 1, 626, 467, 1, 459, 500, 1, 488, 376, 1, 402, 383, 1, 602, 591, 1, 519, 590, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 448, 102, 1, 567, 246, 1], "image_id": 117872, "bbox": [222, 57, 527, 608], "category_id": 1, "id": 186422}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [848, 276, 1, 575, 295, 1, 829, 469, 1, 622, 479, 1, 795, 611, 1, 661, 587, 1, 787, 441, 1, 667, 459, 1, 814, 677, 1, 694, 687, 1, 0, 0, 0, 0, 0, 0, 648, 92, 1, 695, 253, 1], "image_id": 119953, "bbox": [529, 15, 367, 713], "category_id": 1, "id": 186423}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [574, 120, 1, 475, 115, 1, 568, 197, 1, 467, 182, 1, 557, 268, 1, 471, 262, 1, 535, 247, 1, 490, 245, 1, 532, 347, 1, 489, 350, 1, 531, 455, 1, 487, 454, 1, 520, 24, 1, 520, 109, 1], "image_id": 117379, "bbox": [440, 8, 150, 303], "category_id": 1, "id": 186425}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [229, 292, 1, 150, 293, 1, 251, 347, 1, 126, 347, 1, 256, 393, 1, 120, 388, 1, 215, 420, 1, 178, 418, 1, 201, 501, 1, 178, 484, 1, 207, 598, 1, 197, 557, 1, 182, 216, 1, 185, 278, 1], "image_id": 111305, "bbox": [98, 207, 165, 414], "category_id": 1, "id": 186448}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [643, 255, 1, 534, 214, 1, 667, 350, 1, 502, 176, 1, 602, 319, 1, 478, 127, 1, 608, 379, 1, 551, 378, 1, 626, 480, 1, 561, 482, 1, 650, 534, 1, 576, 561, 1, 603, 146, 1, 596, 220, 1], "image_id": 110648, "bbox": [402, 72, 281, 541], "category_id": 1, "id": 186452}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [83, 230, 1, 0, 0, 0, 78, 348, 1, 25, 324, 1, 140, 345, 1, 132, 311, 1, 55, 473, 1, 0, 0, 0, 32, 624, 1, 0, 0, 0, 10, 763, 1, 0, 0, 0, 92, 115, 1, 46, 197, 1], "image_id": 113008, "bbox": [0, 94, 201, 729], "category_id": 1, "id": 186453}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [322, 301, 1, 157, 278, 1, 322, 425, 1, 126, 403, 1, 244, 491, 1, 145, 329, 1, 258, 554, 1, 174, 548, 1, 251, 736, 1, 188, 731, 1, 251, 896, 1, 203, 888, 1, 254, 132, 1, 248, 254, 1], "image_id": 116633, "bbox": [90, 112, 226, 855], "category_id": 1, "id": 186458}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 161, 40, 1, 0, 0, 0, 206, 73, 1, 0, 0, 0, 128, 210, 1, 42, 213, 1, 145, 384, 1, 77, 399, 1, 154, 543, 1, 86, 542, 1, 0, 0, 0, 0, 0, 0], "image_id": 109568, "bbox": [2, 2, 247, 630], "category_id": 1, "id": 186506}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [723, 114, 1, 664, 122, 1, 737, 137, 1, 647, 153, 1, 725, 162, 1, 625, 183, 1, 709, 194, 1, 683, 195, 1, 708, 246, 1, 680, 247, 1, 708, 296, 1, 680, 298, 1, 688, 81, 1, 690, 109, 1], "image_id": 111567, "bbox": [605, 60, 145, 234], "category_id": 1, "id": 186520}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [191, 297, 1, 112, 303, 1, 186, 396, 1, 209, 382, 1, 255, 445, 1, 356, 426, 1, 156, 483, 1, 75, 510, 1, 286, 483, 1, 244, 510, 1, 286, 591, 1, 248, 604, 1, 193, 144, 1, 160, 254, 1], "image_id": 115613, "bbox": [13, 120, 461, 395], "category_id": 1, "id": 186536}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [339, 152, 1, 255, 192, 1, 365, 223, 1, 291, 264, 1, 393, 284, 1, 339, 311, 1, 335, 259, 1, 291, 275, 1, 381, 323, 1, 323, 349, 1, 364, 351, 1, 325, 439, 1, 280, 86, 1, 293, 147, 1], "image_id": 114094, "bbox": [229, 54, 209, 428], "category_id": 1, "id": 186550}, {"num_keypoints": 11, "iscrowd": 0, "keypoints": [147, 209, 1, 22, 182, 1, 147, 327, 1, 18, 278, 1, 144, 417, 1, 58, 344, 1, 75, 407, 1, 15, 399, 1, 61, 565, 1, 4, 565, 1, 46, 701, 1, 0, 0, 0, 120, 79, 1, 90, 177, 1], "image_id": 115318, "bbox": [0, 56, 182, 505], "category_id": 1, "id": 186552}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [271, 205, 1, 109, 197, 1, 246, 313, 1, 108, 304, 1, 214, 398, 1, 105, 411, 1, 213, 323, 1, 127, 318, 1, 218, 454, 1, 107, 451, 1, 229, 588, 1, 105, 591, 1, 219, 107, 1, 200, 176, 1], "image_id": 115726, "bbox": [52, 68, 246, 515], "category_id": 1, "id": 186563}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [514, 312, 1, 378, 311, 1, 514, 379, 1, 305, 319, 1, 492, 447, 1, 239, 286, 1, 483, 511, 1, 411, 517, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 196, 1, 453, 283, 1], "image_id": 114230, "bbox": [199, 174, 345, 455], "category_id": 1, "id": 186566}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [417, 167, 1, 295, 196, 1, 433, 263, 1, 320, 284, 1, 399, 325, 1, 360, 339, 1, 410, 346, 1, 346, 352, 1, 417, 459, 1, 360, 458, 1, 415, 563, 1, 369, 563, 1, 318, 70, 1, 342, 154, 1], "image_id": 116064, "bbox": [258, 38, 188, 360], "category_id": 1, "id": 186577}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [666, 377, 1, 572, 364, 1, 712, 468, 1, 533, 381, 1, 653, 517, 1, 459, 362, 1, 682, 556, 1, 620, 542, 1, 616, 600, 1, 570, 584, 1, 0, 0, 0, 0, 0, 0, 577, 259, 1, 611, 342, 1], "image_id": 116470, "bbox": [495, 241, 255, 449], "category_id": 1, "id": 186601}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [399, 193, 1, 290, 166, 1, 408, 309, 1, 250, 247, 1, 346, 328, 1, 283, 319, 1, 345, 370, 1, 299, 370, 1, 348, 470, 1, 305, 474, 1, 348, 555, 1, 309, 565, 1, 372, 75, 1, 345, 153, 1], "image_id": 111349, "bbox": [232, 31, 204, 461], "category_id": 1, "id": 186609}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [560, 125, 1, 478, 93, 1, 533, 213, 1, 411, 137, 1, 459, 247, 1, 341, 172, 1, 498, 272, 1, 447, 243, 1, 411, 298, 1, 378, 270, 1, 404, 403, 1, 362, 392, 1, 0, 0, 0, 522, 79, 1], "image_id": 114481, "bbox": [286, 0, 312, 312], "category_id": 1, "id": 186610}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [318, 174, 1, 344, 171, 1, 318, 197, 1, 362, 179, 1, 309, 215, 1, 378, 180, 1, 325, 221, 1, 335, 221, 1, 327, 257, 1, 316, 250, 1, 327, 282, 1, 303, 270, 1, 316, 146, 1, 325, 164, 1], "image_id": 119215, "bbox": [277, 137, 110, 158], "category_id": 1, "id": 186615}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [653, 202, 1, 454, 242, 1, 683, 335, 1, 445, 381, 1, 567, 366, 1, 470, 467, 1, 617, 467, 1, 531, 470, 1, 679, 386, 1, 452, 470, 1, 651, 571, 1, 535, 576, 1, 541, 92, 1, 549, 198, 1], "image_id": 114235, "bbox": [415, 56, 312, 573], "category_id": 1, "id": 186632}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [367, 369, 1, 255, 373, 1, 391, 468, 1, 227, 428, 1, 370, 417, 1, 283, 457, 1, 313, 544, 1, 264, 546, 1, 311, 679, 1, 268, 683, 1, 311, 793, 1, 276, 793, 1, 331, 246, 1, 321, 342, 1], "image_id": 115948, "bbox": [196, 222, 218, 637], "category_id": 1, "id": 186641}, {"num_keypoints": 7, "iscrowd": 0, "keypoints": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 91, 1, 0, 0, 0, 151, 73, 1, 54, 68, 1, 228, 234, 1, 18, 215, 1, 266, 364, 1, 50, 280, 1, 0, 0, 0, 0, 0, 0], "image_id": 113563, "bbox": [0, 3, 283, 407], "category_id": 1, "id": 186659}, {"num_keypoints": 10, "iscrowd": 0, "keypoints": [245, 183, 1, 120, 182, 1, 279, 278, 1, 152, 270, 1, 332, 278, 1, 230, 273, 1, 214, 402, 1, 149, 401, 1, 215, 543, 1, 143, 543, 1, 0, 0, 0, 0, 0, 0, 173, 52, 1, 177, 150, 1], "image_id": 113659, "bbox": [92, 42, 182, 538], "category_id": 1, "id": 186662}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [343, 429, 1, 214, 407, 1, 346, 509, 1, 162, 464, 1, 321, 557, 1, 137, 535, 1, 297, 588, 1, 225, 586, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 280, 303, 1, 277, 389, 1], "image_id": 115780, "bbox": [210, 294, 158, 356], "category_id": 1, "id": 186683}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [455, 94, 1, 328, 224, 1, 485, 78, 1, 308, 386, 1, 504, 139, 1, 290, 508, 1, 517, 279, 1, 419, 333, 1, 702, 358, 1, 379, 471, 1, 685, 395, 1, 357, 678, 1, 371, 82, 1, 392, 154, 1], "image_id": 117626, "bbox": [248, 17, 553, 703], "category_id": 1, "id": 186689}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [154, 272, 1, 65, 265, 1, 150, 231, 1, 46, 220, 1, 122, 180, 1, 66, 170, 1, 126, 415, 1, 86, 415, 1, 144, 515, 1, 70, 522, 1, 163, 591, 1, 68, 615, 1, 114, 189, 1, 107, 249, 1], "image_id": 114863, "bbox": [21, 112, 176, 512], "category_id": 1, "id": 186706}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [215, 282, 1, 286, 297, 1, 178, 310, 1, 344, 342, 1, 222, 272, 1, 363, 332, 1, 205, 398, 1, 253, 399, 1, 280, 351, 1, 324, 364, 1, 335, 377, 1, 373, 399, 1, 272, 221, 1, 259, 265, 1], "image_id": 114289, "bbox": [170, 209, 203, 206], "category_id": 1, "id": 186717}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [754, 176, 1, 635, 201, 1, 812, 226, 1, 604, 288, 1, 786, 279, 1, 622, 272, 1, 746, 377, 1, 683, 385, 1, 691, 492, 1, 702, 501, 1, 791, 544, 1, 755, 620, 1, 675, 75, 1, 689, 160, 1], "image_id": 118750, "bbox": [592, 62, 244, 604], "category_id": 1, "id": 186721}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [772, 91, 1, 713, 106, 1, 763, 124, 1, 690, 122, 1, 715, 125, 1, 722, 138, 1, 768, 179, 1, 734, 184, 1, 750, 245, 1, 724, 236, 1, 800, 327, 1, 756, 319, 1, 696, 45, 1, 737, 89, 1], "image_id": 115732, "bbox": [673, 17, 152, 342], "category_id": 1, "id": 186728}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [690, 294, 1, 420, 220, 1, 737, 415, 1, 336, 394, 1, 723, 547, 1, 332, 562, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 172, 1, 396, 301, 1], "image_id": 115743, "bbox": [258, 92, 550, 510], "category_id": 1, "id": 186740}, {"num_keypoints": 8, "iscrowd": 0, "keypoints": [419, 167, 1, 310, 123, 1, 353, 272, 1, 259, 178, 1, 242, 279, 1, 219, 202, 1, 435, 317, 1, 372, 305, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 58, 1, 354, 125, 1], "image_id": 114288, "bbox": [171, 11, 311, 397], "category_id": 1, "id": 186750}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [635, 339, 1, 590, 328, 1, 644, 363, 1, 585, 352, 1, 634, 358, 1, 570, 370, 1, 617, 400, 1, 593, 398, 1, 614, 449, 1, 595, 450, 1, 618, 486, 1, 623, 474, 1, 617, 287, 1, 611, 324, 1], "image_id": 111552, "bbox": [560, 276, 94, 236], "category_id": 1, "id": 186756}, {"num_keypoints": 9, "iscrowd": 0, "keypoints": [986, 530, 1, 0, 0, 0, 926, 550, 1, 0, 0, 0, 877, 559, 1, 0, 0, 0, 953, 644, 1, 940, 612, 1, 855, 636, 1, 901, 549, 1, 745, 644, 1, 868, 631, 1, 0, 0, 0, 0, 0, 0], "image_id": 111161, "bbox": [694, 440, 304, 234], "category_id": 1, "id": 186767}, {"num_keypoints": 12, "iscrowd": 0, "keypoints": [307, 281, 1, 297, 286, 1, 309, 252, 1, 294, 256, 1, 307, 222, 1, 290, 229, 1, 328, 337, 1, 323, 339, 1, 338, 381, 1, 347, 376, 1, 319, 418, 1, 357, 424, 1, 287, 264, 1, 301, 278, 1], "image_id": 117424, "bbox": [263, 199, 124, 247], "category_id": 1, "id": 186770}, {"num_keypoints": 6, "iscrowd": 0, "keypoints": [0, 0, 0, 18, 385, 1, 0, 0, 0, 28, 429, 1, 0, 0, 0, 54, 452, 1, 0, 0, 0, 27, 452, 1, 0, 0, 0, 45, 493, 1, 0, 0, 0, 27, 552, 1, 22, 344, 1, 14, 372, 1], "image_id": 115713, "bbox": [0, 328, 76, 251], "category_id": 1, "id": 186782}], "categories": [{"supercategory": "person", "id": 1, "name": "person", "keypoints": ["left_shoulder", "right_shoulder", "left_elbow", "right_elbow", "left_wrist", "right_wrist", "left_hip", "right_hip", "left_knee", "right_knee", "left_ankle", "right_ankle", "head", "neck"], "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]]}]} ================================================ FILE: CrowdPose/crowdpose-api/annotations/preds.json ================================================ [File too large to display: 11.0 MB] ================================================ FILE: CrowdPose/crowdpose-api/common/gason.cpp ================================================ // https://github.com/vivkin/gason - pulled January 10, 2016 #include "gason.h" #include #define JSON_ZONE_SIZE 4096 #define JSON_STACK_SIZE 32 const char *jsonStrError(int err) { switch (err) { #define XX(no, str) \ case JSON_##no: \ return str; JSON_ERRNO_MAP(XX) #undef XX default: return "unknown"; } } void *JsonAllocator::allocate(size_t size) { size = (size + 7) & ~7; if (head && head->used + size <= JSON_ZONE_SIZE) { char *p = (char *)head + head->used; head->used += size; return p; } size_t allocSize = sizeof(Zone) + size; Zone *zone = (Zone *)malloc(allocSize <= JSON_ZONE_SIZE ? JSON_ZONE_SIZE : allocSize); if (zone == nullptr) return nullptr; zone->used = allocSize; if (allocSize <= JSON_ZONE_SIZE || head == nullptr) { zone->next = head; head = zone; } else { zone->next = head->next; head->next = zone; } return (char *)zone + sizeof(Zone); } void JsonAllocator::deallocate() { while (head) { Zone *next = head->next; free(head); head = next; } } static inline bool isspace(char c) { return c == ' ' || (c >= '\t' && c <= '\r'); } static inline bool isdelim(char c) { return c == ',' || c == ':' || c == ']' || c == '}' || isspace(c) || !c; } static inline bool isdigit(char c) { return c >= '0' && c <= '9'; } static inline bool isxdigit(char c) { return (c >= '0' && c <= '9') || ((c & ~' ') >= 'A' && (c & ~' ') <= 'F'); } static inline int char2int(char c) { if (c <= '9') return c - '0'; return (c & ~' ') - 'A' + 10; } static double string2double(char *s, char **endptr) { char ch = *s; if (ch == '-') ++s; double result = 0; while (isdigit(*s)) result = (result * 10) + (*s++ - '0'); if (*s == '.') { ++s; double fraction = 1; while (isdigit(*s)) { fraction *= 0.1; result += (*s++ - '0') * fraction; } } if (*s == 'e' || *s == 'E') { ++s; double base = 10; if (*s == '+') ++s; else if (*s == '-') { ++s; base = 0.1; } unsigned int exponent = 0; while (isdigit(*s)) exponent = (exponent * 10) + (*s++ - '0'); double power = 1; for (; exponent; exponent >>= 1, base *= base) if (exponent & 1) power *= base; result *= power; } *endptr = s; return ch == '-' ? -result : result; } static inline JsonNode *insertAfter(JsonNode *tail, JsonNode *node) { if (!tail) return node->next = node; node->next = tail->next; tail->next = node; return node; } static inline JsonValue listToValue(JsonTag tag, JsonNode *tail) { if (tail) { auto head = tail->next; tail->next = nullptr; return JsonValue(tag, head); } return JsonValue(tag, nullptr); } int jsonParse(char *s, char **endptr, JsonValue *value, JsonAllocator &allocator) { JsonNode *tails[JSON_STACK_SIZE]; JsonTag tags[JSON_STACK_SIZE]; char *keys[JSON_STACK_SIZE]; JsonValue o; int pos = -1; bool separator = true; JsonNode *node; *endptr = s; while (*s) { while (isspace(*s)) { ++s; if (!*s) break; } *endptr = s++; switch (**endptr) { case '-': if (!isdigit(*s) && *s != '.') { *endptr = s; return JSON_BAD_NUMBER; } case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': o = JsonValue(string2double(*endptr, &s)); if (!isdelim(*s)) { *endptr = s; return JSON_BAD_NUMBER; } break; case '"': o = JsonValue(JSON_STRING, s); for (char *it = s; *s; ++it, ++s) { int c = *it = *s; if (c == '\\') { c = *++s; switch (c) { case '\\': case '"': case '/': *it = c; break; case 'b': *it = '\b'; break; case 'f': *it = '\f'; break; case 'n': *it = '\n'; break; case 'r': *it = '\r'; break; case 't': *it = '\t'; break; case 'u': c = 0; for (int i = 0; i < 4; ++i) { if (isxdigit(*++s)) { c = c * 16 + char2int(*s); } else { *endptr = s; return JSON_BAD_STRING; } } if (c < 0x80) { *it = c; } else if (c < 0x800) { *it++ = 0xC0 | (c >> 6); *it = 0x80 | (c & 0x3F); } else { *it++ = 0xE0 | (c >> 12); *it++ = 0x80 | ((c >> 6) & 0x3F); *it = 0x80 | (c & 0x3F); } break; default: *endptr = s; return JSON_BAD_STRING; } } else if ((unsigned int)c < ' ' || c == '\x7F') { *endptr = s; return JSON_BAD_STRING; } else if (c == '"') { *it = 0; ++s; break; } } if (!isdelim(*s)) { *endptr = s; return JSON_BAD_STRING; } break; case 't': if (!(s[0] == 'r' && s[1] == 'u' && s[2] == 'e' && isdelim(s[3]))) return JSON_BAD_IDENTIFIER; o = JsonValue(JSON_TRUE); s += 3; break; case 'f': if (!(s[0] == 'a' && s[1] == 'l' && s[2] == 's' && s[3] == 'e' && isdelim(s[4]))) return JSON_BAD_IDENTIFIER; o = JsonValue(JSON_FALSE); s += 4; break; case 'n': if (!(s[0] == 'u' && s[1] == 'l' && s[2] == 'l' && isdelim(s[3]))) return JSON_BAD_IDENTIFIER; o = JsonValue(JSON_NULL); s += 3; break; case ']': if (pos == -1) return JSON_STACK_UNDERFLOW; if (tags[pos] != JSON_ARRAY) return JSON_MISMATCH_BRACKET; o = listToValue(JSON_ARRAY, tails[pos--]); break; case '}': if (pos == -1) return JSON_STACK_UNDERFLOW; if (tags[pos] != JSON_OBJECT) return JSON_MISMATCH_BRACKET; if (keys[pos] != nullptr) return JSON_UNEXPECTED_CHARACTER; o = listToValue(JSON_OBJECT, tails[pos--]); break; case '[': if (++pos == JSON_STACK_SIZE) return JSON_STACK_OVERFLOW; tails[pos] = nullptr; tags[pos] = JSON_ARRAY; keys[pos] = nullptr; separator = true; continue; case '{': if (++pos == JSON_STACK_SIZE) return JSON_STACK_OVERFLOW; tails[pos] = nullptr; tags[pos] = JSON_OBJECT; keys[pos] = nullptr; separator = true; continue; case ':': if (separator || keys[pos] == nullptr) return JSON_UNEXPECTED_CHARACTER; separator = true; continue; case ',': if (separator || keys[pos] != nullptr) return JSON_UNEXPECTED_CHARACTER; separator = true; continue; case '\0': continue; default: return JSON_UNEXPECTED_CHARACTER; } separator = false; if (pos == -1) { *endptr = s; *value = o; return JSON_OK; } if (tags[pos] == JSON_OBJECT) { if (!keys[pos]) { if (o.getTag() != JSON_STRING) return JSON_UNQUOTED_KEY; keys[pos] = o.toString(); continue; } if ((node = (JsonNode *) allocator.allocate(sizeof(JsonNode))) == nullptr) return JSON_ALLOCATION_FAILURE; tails[pos] = insertAfter(tails[pos], node); tails[pos]->key = keys[pos]; keys[pos] = nullptr; } else { if ((node = (JsonNode *) allocator.allocate(sizeof(JsonNode) - sizeof(char *))) == nullptr) return JSON_ALLOCATION_FAILURE; tails[pos] = insertAfter(tails[pos], node); } tails[pos]->value = o; } return JSON_BREAKING_BAD; } ================================================ FILE: CrowdPose/crowdpose-api/common/gason.h ================================================ // https://github.com/vivkin/gason - pulled January 10, 2016 #pragma once #include #include #include enum JsonTag { JSON_NUMBER = 0, JSON_STRING, JSON_ARRAY, JSON_OBJECT, JSON_TRUE, JSON_FALSE, JSON_NULL = 0xF }; struct JsonNode; #define JSON_VALUE_PAYLOAD_MASK 0x00007FFFFFFFFFFFULL #define JSON_VALUE_NAN_MASK 0x7FF8000000000000ULL #define JSON_VALUE_TAG_MASK 0xF #define JSON_VALUE_TAG_SHIFT 47 union JsonValue { uint64_t ival; double fval; JsonValue(double x) : fval(x) { } JsonValue(JsonTag tag = JSON_NULL, void *payload = nullptr) { assert((uintptr_t)payload <= JSON_VALUE_PAYLOAD_MASK); ival = JSON_VALUE_NAN_MASK | ((uint64_t)tag << JSON_VALUE_TAG_SHIFT) | (uintptr_t)payload; } bool isDouble() const { return (int64_t)ival <= (int64_t)JSON_VALUE_NAN_MASK; } JsonTag getTag() const { return isDouble() ? JSON_NUMBER : JsonTag((ival >> JSON_VALUE_TAG_SHIFT) & JSON_VALUE_TAG_MASK); } uint64_t getPayload() const { assert(!isDouble()); return ival & JSON_VALUE_PAYLOAD_MASK; } double toNumber() const { assert(getTag() == JSON_NUMBER); return fval; } char *toString() const { assert(getTag() == JSON_STRING); return (char *)getPayload(); } JsonNode *toNode() const { assert(getTag() == JSON_ARRAY || getTag() == JSON_OBJECT); return (JsonNode *)getPayload(); } }; struct JsonNode { JsonValue value; JsonNode *next; char *key; }; struct JsonIterator { JsonNode *p; void operator++() { p = p->next; } bool operator!=(const JsonIterator &x) const { return p != x.p; } JsonNode *operator*() const { return p; } JsonNode *operator->() const { return p; } }; inline JsonIterator begin(JsonValue o) { return JsonIterator{o.toNode()}; } inline JsonIterator end(JsonValue) { return JsonIterator{nullptr}; } #define JSON_ERRNO_MAP(XX) \ XX(OK, "ok") \ XX(BAD_NUMBER, "bad number") \ XX(BAD_STRING, "bad string") \ XX(BAD_IDENTIFIER, "bad identifier") \ XX(STACK_OVERFLOW, "stack overflow") \ XX(STACK_UNDERFLOW, "stack underflow") \ XX(MISMATCH_BRACKET, "mismatch bracket") \ XX(UNEXPECTED_CHARACTER, "unexpected character") \ XX(UNQUOTED_KEY, "unquoted key") \ XX(BREAKING_BAD, "breaking bad") \ XX(ALLOCATION_FAILURE, "allocation failure") enum JsonErrno { #define XX(no, str) JSON_##no, JSON_ERRNO_MAP(XX) #undef XX }; const char *jsonStrError(int err); class JsonAllocator { struct Zone { Zone *next; size_t used; } *head = nullptr; public: JsonAllocator() = default; JsonAllocator(const JsonAllocator &) = delete; JsonAllocator &operator=(const JsonAllocator &) = delete; JsonAllocator(JsonAllocator &&x) : head(x.head) { x.head = nullptr; } JsonAllocator &operator=(JsonAllocator &&x) { head = x.head; x.head = nullptr; return *this; } ~JsonAllocator() { deallocate(); } void *allocate(size_t size); void deallocate(); }; int jsonParse(char *str, char **endptr, JsonValue *value, JsonAllocator &allocator); ================================================ FILE: CrowdPose/crowdpose-api/common/maskApi.c ================================================ /************************************************************************** * Microsoft COCO Toolbox. version 2.0 * Data, paper, and tutorials available at: http://mscoco.org/ * Code written by Piotr Dollar and Tsung-Yi Lin, 2015. * Licensed under the Simplified BSD License [see coco/license.txt] **************************************************************************/ #include "maskApi.h" #include #include uint umin( uint a, uint b ) { return (ab) ? a : b; } void rleInit( RLE *R, siz h, siz w, siz m, uint *cnts ) { R->h=h; R->w=w; R->m=m; R->cnts=(m==0)?0:malloc(sizeof(uint)*m); siz j; if(cnts) for(j=0; jcnts[j]=cnts[j]; } void rleFree( RLE *R ) { free(R->cnts); R->cnts=0; } void rlesInit( RLE **R, siz n ) { siz i; *R = (RLE*) malloc(sizeof(RLE)*n); for(i=0; i0 ) { c=umin(ca,cb); cc+=c; ct=0; ca-=c; if(!ca && a0) { crowd=iscrowd!=NULL && iscrowd[g]; if(dt[d].h!=gt[g].h || dt[d].w!=gt[g].w) { o[g*m+d]=-1; continue; } siz ka, kb, a, b; uint c, ca, cb, ct, i, u; int va, vb; ca=dt[d].cnts[0]; ka=dt[d].m; va=vb=0; cb=gt[g].cnts[0]; kb=gt[g].m; a=b=1; i=u=0; ct=1; while( ct>0 ) { c=umin(ca,cb); if(va||vb) { u+=c; if(va&&vb) i+=c; } ct=0; ca-=c; if(!ca && athr) keep[j]=0; } } } void bbIou( BB dt, BB gt, siz m, siz n, byte *iscrowd, double *o ) { double h, w, i, u, ga, da; siz g, d; int crowd; for( g=0; gthr) keep[j]=0; } } } void rleToBbox( const RLE *R, BB bb, siz n ) { siz i; for( i=0; id?1:c=dy && xs>xe) || (dxye); if(flip) { t=xs; xs=xe; xe=t; t=ys; ys=ye; ye=t; } s = dx>=dy ? (double)(ye-ys)/dx : (double)(xe-xs)/dy; if(dx>=dy) for( d=0; d<=dx; d++ ) { t=flip?dx-d:d; u[m]=t+xs; v[m]=(int)(ys+s*t+.5); m++; } else for( d=0; d<=dy; d++ ) { t=flip?dy-d:d; v[m]=t+ys; u[m]=(int)(xs+s*t+.5); m++; } } /* get points along y-boundary and downsample */ free(x); free(y); k=m; m=0; double xd, yd; x=malloc(sizeof(int)*k); y=malloc(sizeof(int)*k); for( j=1; jw-1 ) continue; yd=(double)(v[j]h) yd=h; yd=ceil(yd); x[m]=(int) xd; y[m]=(int) yd; m++; } /* compute rle encoding given y-boundary points */ k=m; a=malloc(sizeof(uint)*(k+1)); for( j=0; j0) b[m++]=a[j++]; else { j++; if(jm, p=0; long x; int more; char *s=malloc(sizeof(char)*m*6); for( i=0; icnts[i]; if(i>2) x-=(long) R->cnts[i-2]; more=1; while( more ) { char c=x & 0x1f; x >>= 5; more=(c & 0x10) ? x!=-1 : x!=0; if(more) c |= 0x20; c+=48; s[p++]=c; } } s[p]=0; return s; } void rleFrString( RLE *R, char *s, siz h, siz w ) { siz m=0, p=0, k; long x; int more; uint *cnts; while( s[m] ) m++; cnts=malloc(sizeof(uint)*m); m=0; while( s[p] ) { x=0; k=0; more=1; while( more ) { char c=s[p]-48; x |= (c & 0x1f) << 5*k; more = c & 0x20; p++; k++; if(!more && (c & 0x10)) x |= -1 << 5*k; } if(m>2) x+=(long) cnts[m-2]; cnts[m++]=(uint) x; } rleInit(R,h,w,m,cnts); free(cnts); } ================================================ FILE: CrowdPose/crowdpose-api/common/maskApi.h ================================================ /************************************************************************** * Microsoft COCO Toolbox. version 2.0 * Data, paper, and tutorials available at: http://mscoco.org/ * Code written by Piotr Dollar and Tsung-Yi Lin, 2015. * Licensed under the Simplified BSD License [see coco/license.txt] **************************************************************************/ #pragma once typedef unsigned int uint; typedef unsigned long siz; typedef unsigned char byte; typedef double* BB; typedef struct { siz h, w, m; uint *cnts; } RLE; /* Initialize/destroy RLE. */ void rleInit( RLE *R, siz h, siz w, siz m, uint *cnts ); void rleFree( RLE *R ); /* Initialize/destroy RLE array. */ void rlesInit( RLE **R, siz n ); void rlesFree( RLE **R, siz n ); /* Encode binary masks using RLE. */ void rleEncode( RLE *R, const byte *mask, siz h, siz w, siz n ); /* Decode binary masks encoded via RLE. */ void rleDecode( const RLE *R, byte *mask, siz n ); /* Compute union or intersection of encoded masks. */ void rleMerge( const RLE *R, RLE *M, siz n, int intersect ); /* Compute area of encoded masks. */ void rleArea( const RLE *R, siz n, uint *a ); /* Compute intersection over union between masks. */ void rleIou( RLE *dt, RLE *gt, siz m, siz n, byte *iscrowd, double *o ); /* Compute non-maximum suppression between bounding masks */ void rleNms( RLE *dt, siz n, uint *keep, double thr ); /* Compute intersection over union between bounding boxes. */ void bbIou( BB dt, BB gt, siz m, siz n, byte *iscrowd, double *o ); /* Compute non-maximum suppression between bounding boxes */ void bbNms( BB dt, siz n, uint *keep, double thr ); /* Get bounding boxes surrounding encoded masks. */ void rleToBbox( const RLE *R, BB bb, siz n ); /* Convert bounding boxes to encoded masks. */ void rleFrBbox( RLE *R, const BB bb, siz h, siz w, siz n ); /* Convert polygon to encoded mask. */ void rleFrPoly( RLE *R, const double *xy, siz k, siz h, siz w ); /* Get compressed string representation of encoded mask. */ char* rleToString( const RLE *R ); /* Convert from compressed string representation of encoded mask. */ void rleFrString( RLE *R, char *s, siz h, siz w ); ================================================ FILE: CrowdPose/crowdpose-api/demo.py ================================================ from crowdposetools.coco import COCO from crowdposetools.cocoeval import COCOeval gt_file = './annotations/crowdpose_val.json' preds = './annotations/preds.json' cocoGt = COCO(gt_file) cocoDt = cocoGt.loadRes(preds) cocoEval = COCOeval(cocoGt, cocoDt, 'keypoints') cocoEval.evaluate() cocoEval.accumulate() cocoEval.summarize() ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2019 Xingyi Zhou All rights reserved. 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. ================================================ FILE: NOTICE ================================================ Portions of this software are derived from tf-faster-rcnn. ============================================================================== tf-faster-rcnn licence ============================================================================== MIT License Copyright (c) 2017 Xinlei Chen 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. Portions of this software are derived from human-pose-estimation.pytorch. ============================================================================== human-pose-estimation.pytorch licence ============================================================================== MIT License Copyright (c) Microsoft Corporation. All rights reserved. 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 Portions of this software are derived from CornerNet. ============================================================================== CornerNet licence ============================================================================== BSD 3-Clause License Copyright (c) 2018, University of Michigan All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE Portions of this software are derived from DCNv2. ============================================================================== DCNv2 licence ============================================================================== BSD 3-Clause License Copyright (c) 2019, Charles Shang All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ============================================================================== DLA licence ============================================================================== BSD 3-Clause License Copyright (c) 2018, Fisher Yu All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: README.md ================================================ # AdaptivePose new_ops branch can support all pytorch version. The current code can achieve the better performance than the results reported in papers. 👏👏👏👏👏👏👏👏👏👏👏a compact and powerful single-stage multi-person pose estimation framework: ![](readme/framework.jpg) > [**AdaptivePose: Human Parts as Adaptive Points**](https://arxiv.org/abs/2112.13635), > Yabo Xiao, Dongdong Yu, Xiaojuan Wang, Guoli Wang, Qian Zhang, Mingshu He; > *Published on AAAI2022* > [**AdaptivePose++: A Powerful Single-Stage Network for Multi-Person Pose Regression**](https://arxiv.org/abs/2210.04014) > Yabo Xiao, Xiaojuan Wang, Dongdong Yu, Kai Su, Lei Jin, Mei Song, Shuicheng Yan, Jian Zhao; ## Highlights - **Simple:** Adaptivepose is a effecient and powerful single-stage multi-person pose estimation pipeline which can effectively model the relationship between the human instance and corresponding keypoints in a single-forward pass. - **Generalizability:** AdaptivePose is able to achieve the competitive performance on crowded and 3D scenes. - **Fast:** AdaptivePose is a very compact MPPE pipeline. During inference, we eliminate the heuristics grouping, and do not require any refinements and other hand-crafted post-processes except for center NMS. - **Strong**: AdaptivePose uses center feature together with the features at adaptive human part-related points to encode diverse human pose sufficiently. It outperforms the existing bottom-up and single-stage pose estimation approaches without the flip and multi-scale testing in terms of speed and accuracy. ![](readme/adaptivepoint.pdf) ## Main results ### The single-stage multi-person pose estimation on COCO validation **Speed** Please refer to the paper(https://arxiv.org/abs/2112.13635) for inference time 🚀🚀🚀. The performance is slightly better than the reported in paper. The time is calculated on a single Tesla V100, which is more faster than the speed reported in paper. We found that stacking more 3*3 conv-relu in each brach can further improve the performance. We employ the OKS loss for regression head and achieve the better performance without Inference overhead. Outperforming all bottom-up and single-stage methods with faster speed !!! 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 --> | Backbone | inp_res | AP | Flip AP | Multi-scale AP. | download |time/ms| |--------------|---------|-----------|--------------|-------------------| --- | --- | |DLA-34 | 512 | 67.0 | 67.4 | 69.2 | [model](https://drive.google.com/file/d/1AFsD619kxt90lBp5bDhqDtOAAm1O_li_/view?usp=share_link) | 33| |HRNet-W32 | 512 | 68.6 | 69.1 | 71.2 | [model](https://drive.google.com/file/d/1mzGuVczYBzE0B1zsRFL_FMNJEcW4Cr-B/view?usp=share_link) |46 | |HRNet-W48 | 640 | 71.0 | 71.5 | 73.2 | [model](https://drive.google.com/file/d/147GwtZ4Ht3xQkVIbPJDRtVNhAQeL1rPB/view?usp=share_link) | 57 | ### The single-stage multi-person pose estimation on CrowdPose test. | Backbone | inp_res | AP | Flip AP | Multi-scale AP. | download |time/ms| |--------------|---------|-----------|--------------|-------------------| --- | --- | |HRNet-W32 | 512 | 67.5 | 68.0 | 69.3 | [model](https://drive.google.com/file/d/14LQupokqqi-kgRQeh2vU6Fa82iujcKQs/view?usp=share_link) |46 | |HRNet-W48 | 640 | 70.4 | 71.0 | 72.6 | [model](https://drive.google.com/file/d/1Wv20VnH_ngPqeYGBcDG6qy_uU6w6t0wc/view?usp=share_link) | 57 | ## Prepare env The conda environment torch12 can be downloaded directly from [torch12.tar.gz](https://drive.google.com/file/d/1hAtuIbLHlKpt2YN_zUxkqHtUhDvsNn4u/view?usp=sharing). The path should like this AdaptivePose/torch12.tar.gz and then following ``` source prepare_env.sh ``` In another way, you also can deploy the environment following ``` source prepare_env2.sh ``` ## Prepare Data and pretrain models Follow the instructions in [DATA.md](readme/DATA.md) to setup the datasets. Or link dataset path to AdaptivePose/data/ ``` cd AdaptivePose mkdir -p data/coco mkdir -p data/crowdpose ln -s /path_to_coco_dataset/ data/coco/ ln -s /path_to_crowdpose_dataset/ data/crowdpose/ ``` The pretrain models can be downloaded from [pretrain_models](https://drive.google.com/drive/folders/17DVq-pwqx40ELmbBjYEYVQc1UC9ofgsq?usp=sharing), put the pretrain models into AdaptivePose/models ## Training and Testing After preparing the environment and data, you can train or test AdaptivePose with different network and input resolution. ___🚀🚀🚀 Note that the image resolution can be optionally adjusted according to user's requirements for obtaining the different speed-accuracy trade-offs! 🚀🚀🚀___ DLA34 with 512 pixels: ``` cd src bash main_dla34_coco512.sh ``` HRNet-W32 with 512 pixels: ``` cd src bash main_hrnet32_coco512.sh ``` HRNet-W48 with 640 pixels: ``` cd src bash main_hrnet48_coco640.sh ``` ## Running demo The input aspect ratio is closer to 1, the speed is faster !!! visualize coco ``` torch12/bin/python test.py multi_pose_wodet --exp_id $EXPNAME --dataset coco_hp_wodet --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --debug 1 ``` visualize customized image ``` torch12/bin/python demo.py multi_pose_wodet --exp_id $EXPNAME --dataset coco_hp_wodet --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --debug 1 --demo path/to/image_dir --vis_thresh 0.1 ``` visualize customized video ``` torch12/bin/python demo.py multi_pose_wodet --exp_id $EXPNAME --dataset coco_hp_wodet --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --debug 1 --demo path/to/xx.mp4 --vis_thresh 0.1 ``` https://user-images.githubusercontent.com/71114006/212531482-c02d6f04-2076-48fe-93d0-0e102536a1e6.mp4 https://user-images.githubusercontent.com/71114006/212531759-692fc7ac-d0b9-468a-b7db-7ba83a253947.mp4 ## Develop AdaptivePose is built upon the codebase of CenterNet. If you are interested in training AdaptivePose in a new pose estimation dataset, or add a new network architecture, please refer to [DEVELOP.md](readme/DEVELOP.md). Also feel free to send me emails(xiaoyabo@bupt.edu.cn) for discussions or suggestions. ## Citation If you find this project useful for your research, please use the following BibTeX entry. ``` @inproceedings{xiao2022adaptivepose, title={Adaptivepose: Human parts as adaptive points}, author={Xiao, Yabo and Wang, Xiao Juan and Yu, Dongdong and Wang, Guoli and Zhang, Qian and Mingshu, HE}, booktitle={Proceedings of the AAAI Conference on Artificial Intelligence}, volume={36}, number={3}, pages={2813--2821}, year={2022} } @article{xiao2022adaptivepose++, title={AdaptivePose++: A Powerful Single-Stage Network for Multi-Person Pose Regression}, author={Xiao, Yabo and Wang, Xiaojuan and Yu, Dongdong and Su, Kai and Jin, Lei and Song, Mei and Yan, Shuicheng and Zhao, Jian}, journal={arXiv preprint arXiv:2210.04014}, year={2022} } ``` ================================================ FILE: cocoapi/.travis.yml ================================================ group: travis_latest language: python cache: pip python: - 2.7 - 3.6 install: - pip install --upgrade pip - pip install pycocotools script: - true ================================================ FILE: cocoapi/LuaAPI/CocoApi.lua ================================================ --[[---------------------------------------------------------------------------- Interface for accessing the Common Objects in COntext (COCO) dataset. For an overview of the API please see http://mscoco.org/dataset/#download. CocoApi.lua (this file) is modeled after the Matlab CocoApi.m: https://github.com/pdollar/coco/blob/master/MatlabAPI/CocoApi.m The following API functions are defined in the Lua API: CocoApi - Load COCO annotation file and prepare data structures. getAnnIds - Get ann ids that satisfy given filter conditions. getCatIds - Get cat ids that satisfy given filter conditions. getImgIds - Get img ids that satisfy given filter conditions. loadAnns - Load anns with the specified ids. loadCats - Load cats with the specified ids. loadImgs - Load imgs with the specified ids. showAnns - Display the specified annotations. Throughout the API "ann"=annotation, "cat"=category, and "img"=image. For detailed usage information please see cocoDemo.lua. LIMITATIONS: the following API functions are NOT defined in the Lua API: loadRes - Load algorithm results and create API for accessing them. download - Download COCO images from mscoco.org server. In addition, currently the getCatIds() and getImgIds() do not accept filters. getAnnIds() can be called using getAnnIds({imgId=id}) and getAnnIds({catId=id}). Note: loading COCO JSON annotations to Lua tables is quite slow. Hence, a call to CocApi(annFile) converts the annotations to a custom 'flattened' format that is more efficient. The first time a COCO JSON is loaded, the conversion is invoked (this may take up to a minute). The converted data is then stored in a t7 file (the code must have write permission to the dir of the JSON file). Future calls of cocoApi=CocApi(annFile) take a fraction of a second. To view the created data just inspect cocoApi.data of a created instance of the CocoApi. Common Objects in COntext (COCO) Toolbox. version 3.0 Data, paper, and tutorials available at: http://mscoco.org/ Code written by Pedro O. Pinheiro and Piotr Dollar, 2016. Licensed under the Simplified BSD License [see coco/license.txt] ------------------------------------------------------------------------------]] local json = require 'cjson' local coco = require 'coco.env' local TensorTable = torch.class('TensorTable',coco) local CocoSeg = torch.class('CocoSeg',coco) local CocoApi = torch.class('CocoApi',coco) -------------------------------------------------------------------------------- --[[ TensorTable is a lightweight data structure for storing variable size 1D tensors. Tables of tensors are slow to save/load to disk. Instead, TensorTable stores all the data in a single long tensor (along with indices into the tensor) making serialization fast. A TensorTable may only contain 1D same-type torch tensors or strings. It supports only creation from a table and indexing. ]] function TensorTable:__init( T ) local n = #T; assert(n>0) local isStr = torch.type(T[1])=='string' assert(isStr or torch.isTensor(T[1])) local c=function(s) return torch.CharTensor(torch.CharStorage():string(s)) end if isStr then local S=T; T={}; for i=1,n do T[i]=c(S[i]) end end local ms, idx = torch.LongTensor(n), torch.LongTensor(n+1) for i=1,n do ms[i]=T[i]:numel() end idx[1]=1; idx:narrow(1,2,n):copy(ms); idx=idx:cumsum() local type = string.sub(torch.type(T[1]),7,-1) local data = torch[type](idx[n+1]-1) if isStr then type='string' end for i=1,n do if ms[i]>0 then data:sub(idx[i],idx[i+1]-1):copy(T[i]) end end if ms:eq(ms[1]):all() and ms[1]>0 then data=data:view(n,ms[1]); idx=nil end self.data, self.idx, self.type = data, idx, type end function TensorTable:__index__( i ) if torch.type(i)~='number' then return false end local d, idx, type = self.data, self.idx, self.type if idx and idx[i]==idx[i+1] then if type=='string' then d='' else d=torch[type]() end else if idx then d=d:sub(idx[i],idx[i+1]-1) else d=d[i] end if type=='string' then d=d:clone():storage():string() end end return d, true end -------------------------------------------------------------------------------- --[[ CocoSeg is an efficient data structure for storing COCO segmentations. ]] function CocoSeg:__init( segs ) local polys, pIdx, sizes, rles, p, isStr = {}, {}, {}, {}, 0, 0 for i,seg in pairs(segs) do if seg.size then isStr=seg.counts break end end isStr = torch.type(isStr)=='string' for i,seg in pairs(segs) do pIdx[i], sizes[i] = {}, {} if seg.size then sizes[i],rles[i] = seg.size,seg.counts else if isStr then rles[i]='' else rles[i]={} end for j=1,#seg do p=p+1; pIdx[i][j],polys[p] = p,seg[j] end end pIdx[i],sizes[i] = torch.LongTensor(pIdx[i]),torch.IntTensor(sizes[i]) if not isStr then rles[i]=torch.IntTensor(rles[i]) end end for i=1,p do polys[i]=torch.DoubleTensor(polys[i]) end self.polys, self.pIdx = coco.TensorTable(polys), coco.TensorTable(pIdx) self.sizes, self.rles = coco.TensorTable(sizes), coco.TensorTable(rles) end function CocoSeg:__index__( i ) if torch.type(i)~='number' then return false end if self.sizes[i]:numel()>0 then return {size=self.sizes[i],counts=self.rles[i]}, true else local ids, polys = self.pIdx[i], {} for i=1,ids:numel() do polys[i]=self.polys[ids[i]] end return polys, true end end -------------------------------------------------------------------------------- --[[ CocoApi is the API to the COCO dataset, see main comment for details. ]] function CocoApi:__init( annFile ) assert( string.sub(annFile,-4,-1)=='json' and paths.filep(annFile) ) local torchFile = string.sub(annFile,1,-6) .. '.t7' if not paths.filep(torchFile) then self:__convert(annFile,torchFile) end local data = torch.load(torchFile) self.data, self.inds = data, {} for k,v in pairs({images='img',categories='cat',annotations='ann'}) do local M = {}; self.inds[v..'IdsMap']=M if data[k] then for i=1,data[k].id:size(1) do M[data[k].id[i]]=i end end end end function CocoApi:__convert( annFile, torchFile ) print('convert: '..annFile..' --> .t7 [please be patient]') local tic = torch.tic() -- load data and decode json local data = torch.CharStorage(annFile):string() data = json.decode(data); collectgarbage() -- transpose and flatten each field in the coco data struct local convert = {images=true, categories=true, annotations=true} for field, d in pairs(data) do if convert[field] then print('converting: '..field) local n, out = #d, {} if n==0 then d,n={d},1 end for k,v in pairs(d[1]) do local t, isReg = torch.type(v), true for i=1,n do isReg=isReg and torch.type(d[i][k])==t end if t=='number' and isReg then out[k] = torch.DoubleTensor(n) for i=1,n do out[k][i]=d[i][k] end elseif t=='string' and isReg then out[k]={}; for i=1,n do out[k][i]=d[i][k] end out[k] = coco.TensorTable(out[k]) elseif t=='table' and isReg and torch.type(v[1])=='number' then out[k]={}; for i=1,n do out[k][i]=torch.DoubleTensor(d[i][k]) end out[k] = coco.TensorTable(out[k]) if not out[k].idx then out[k]=out[k].data end else out[k]={}; for i=1,n do out[k][i]=d[i][k] end if k=='segmentation' then out[k] = coco.CocoSeg(out[k]) end end collectgarbage() end if out.id then out.idx=torch.range(1,out.id:size(1)) end data[field] = out collectgarbage() end end -- create mapping from cat/img index to anns indices for that cat/img print('convert: building indices') local makeMap = function( type, type_id ) if not data[type] or not data.annotations then return nil end local invmap, n = {}, data[type].id:size(1) for i=1,n do invmap[data[type].id[i]]=i end local map = {}; for i=1,n do map[i]={} end data.annotations[type_id..'x'] = data.annotations[type_id]:clone() for i=1,data.annotations.id:size(1) do local id = invmap[data.annotations[type_id][i]] data.annotations[type_id..'x'][i] = id table.insert(map[id],data.annotations.id[i]) end for i=1,n do map[i]=torch.LongTensor(map[i]) end return coco.TensorTable(map) end data.annIdsPerImg = makeMap('images','image_id') data.annIdsPerCat = makeMap('categories','category_id') -- save to disk torch.save( torchFile, data ) print(('convert: complete [%.2f s]'):format(torch.toc(tic))) end function CocoApi:getAnnIds( filters ) if not filters then filters = {} end if filters.imgId then return self.data.annIdsPerImg[self.inds.imgIdsMap[filters.imgId]] or {} elseif filters.catId then return self.data.annIdsPerCat[self.inds.catIdsMap[filters.catId]] or {} else return self.data.annotations.id end end function CocoApi:getCatIds() return self.data.categories.id end function CocoApi:getImgIds() return self.data.images.id end function CocoApi:loadAnns( ids ) return self:__load(self.data.annotations,self.inds.annIdsMap,ids) end function CocoApi:loadCats( ids ) return self:__load(self.data.categories,self.inds.catIdsMap,ids) end function CocoApi:loadImgs( ids ) return self:__load(self.data.images,self.inds.imgIdsMap,ids) end function CocoApi:showAnns( img, anns ) local n, h, w = #anns, img:size(2), img:size(3) local MaskApi, clrs = coco.MaskApi, torch.rand(n,3)*.6+.4 local O = img:clone():contiguous():float() if n==0 then anns,n={anns},1 end if anns[1].keypoints then for i=1,n do if anns[i].iscrowd==0 then local sk, kp, j, k = self:loadCats(anns[i].category_id)[1].skeleton kp=anns[i].keypoints; k=kp:size(1); j=torch.range(1,k,3):long(); k=k/3; local x,y,v = kp:index(1,j), kp:index(1,j+1), kp:index(1,j+2) for _,s in pairs(sk) do if v[s[1]]>0 and v[s[2]]>0 then MaskApi.drawLine(O,x[s[1]],y[s[1]],x[s[2]],y[s[2]],.75,clrs[i]) end end for j=1,k do if v[j]==1 then MaskApi.drawCirc(O,x[j],y[j],4,{0,0,0}) end end for j=1,k do if v[j]>0 then MaskApi.drawCirc(O,x[j],y[j],3,clrs[i]) end end end end end if anns[1].segmentation or anns[1].bbox then local Rs, alpha = {}, anns[1].keypoints and .25 or .4 for i=1,n do Rs[i]=anns[i].segmentation if Rs[i] and #Rs[i]>0 then Rs[i]=MaskApi.frPoly(Rs[i],h,w) end if not Rs[i] then Rs[i]=MaskApi.frBbox(anns[i].bbox,h,w)[1] end end MaskApi.drawMasks(O,MaskApi.decode(Rs),nil,alpha,clrs) end return O end function CocoApi:__load( data, map, ids ) if not torch.isTensor(ids) then ids=torch.LongTensor({ids}) end local out, idx = {}, nil for i=1,ids:numel() do out[i], idx = {}, map[ids[i]] for k,v in pairs(data) do out[i][k]=v[idx] end end return out end ================================================ FILE: cocoapi/LuaAPI/MaskApi.lua ================================================ --[[---------------------------------------------------------------------------- Interface for manipulating masks stored in RLE format. For an overview of RLE please see http://mscoco.org/dataset/#download. Additionally, more detailed information can be found in the Matlab MaskApi.m: https://github.com/pdollar/coco/blob/master/MatlabAPI/MaskApi.m The following API functions are defined: encode - Encode binary masks using RLE. decode - Decode binary masks encoded via RLE. merge - Compute union or intersection of encoded masks. iou - Compute intersection over union between masks. nms - Compute non-maximum suppression between ordered masks. area - Compute area of encoded masks. toBbox - Get bounding boxes surrounding encoded masks. frBbox - Convert bounding boxes to encoded masks. frPoly - Convert polygon to encoded mask. drawCirc - Draw circle into image (alters input). drawLine - Draw line into image (alters input). drawMasks - Draw masks into image (alters input). Usage: Rs = MaskApi.encode( masks ) masks = MaskApi.decode( Rs ) R = MaskApi.merge( Rs, [intersect=false] ) o = MaskApi.iou( dt, gt, [iscrowd=false] ) keep = MaskApi.nms( dt, thr ) a = MaskApi.area( Rs ) bbs = MaskApi.toBbox( Rs ) Rs = MaskApi.frBbox( bbs, h, w ) R = MaskApi.frPoly( poly, h, w ) MaskApi.drawCirc( img, x, y, rad, clr ) MaskApi.drawLine( img, x0, y0, x1, y1, rad, clr ) MaskApi.drawMasks( img, masks, [maxn=n], [alpha=.4], [clrs] ) For detailed usage information please see cocoDemo.lua. In the API the following formats are used: R,Rs - [table] Run-length encoding of binary mask(s) masks - [nxhxw] Binary mask(s) bbs - [nx4] Bounding box(es) stored as [x y w h] poly - Polygon stored as {[x1 y1 x2 y2...],[x1 y1 ...],...} dt,gt - May be either bounding boxes or encoded masks Both poly and bbs are 0-indexed (bbox=[0 0 1 1] encloses first pixel). Common Objects in COntext (COCO) Toolbox. version 3.0 Data, paper, and tutorials available at: http://mscoco.org/ Code written by Pedro O. Pinheiro and Piotr Dollar, 2016. Licensed under the Simplified BSD License [see coco/license.txt] ------------------------------------------------------------------------------]] local ffi = require 'ffi' local coco = require 'coco.env' coco.MaskApi = {} local MaskApi = coco.MaskApi coco.libmaskapi = ffi.load(package.searchpath('libmaskapi',package.cpath)) local libmaskapi = coco.libmaskapi -------------------------------------------------------------------------------- MaskApi.encode = function( masks ) local n, h, w = masks:size(1), masks:size(2), masks:size(3) masks = masks:type('torch.ByteTensor'):transpose(2,3) local data = masks:contiguous():data() local Qs = MaskApi._rlesInit(n) libmaskapi.rleEncode(Qs[0],data,h,w,n) return MaskApi._rlesToLua(Qs,n) end MaskApi.decode = function( Rs ) local Qs, n, h, w = MaskApi._rlesFrLua(Rs) local masks = torch.ByteTensor(n,w,h):zero():contiguous() libmaskapi.rleDecode(Qs,masks:data(),n) MaskApi._rlesFree(Qs,n) return masks:transpose(2,3) end MaskApi.merge = function( Rs, intersect ) intersect = intersect or 0 local Qs, n, h, w = MaskApi._rlesFrLua(Rs) local Q = MaskApi._rlesInit(1) libmaskapi.rleMerge(Qs,Q,n,intersect) MaskApi._rlesFree(Qs,n) return MaskApi._rlesToLua(Q,1)[1] end MaskApi.iou = function( dt, gt, iscrowd ) if not iscrowd then iscrowd = NULL else iscrowd = iscrowd:type('torch.ByteTensor'):contiguous():data() end if torch.isTensor(gt) and torch.isTensor(dt) then local nDt, k = dt:size(1), dt:size(2); assert(k==4) local nGt, k = gt:size(1), gt:size(2); assert(k==4) local dDt = dt:type('torch.DoubleTensor'):contiguous():data() local dGt = gt:type('torch.DoubleTensor'):contiguous():data() local o = torch.DoubleTensor(nGt,nDt):contiguous() libmaskapi.bbIou(dDt,dGt,nDt,nGt,iscrowd,o:data()) return o:transpose(1,2) else local qDt, nDt = MaskApi._rlesFrLua(dt) local qGt, nGt = MaskApi._rlesFrLua(gt) local o = torch.DoubleTensor(nGt,nDt):contiguous() libmaskapi.rleIou(qDt,qGt,nDt,nGt,iscrowd,o:data()) MaskApi._rlesFree(qDt,nDt); MaskApi._rlesFree(qGt,nGt) return o:transpose(1,2) end end MaskApi.nms = function( dt, thr ) if torch.isTensor(dt) then local n, k = dt:size(1), dt:size(2); assert(k==4) local Q = dt:type('torch.DoubleTensor'):contiguous():data() local kp = torch.IntTensor(n):contiguous() libmaskapi.bbNms(Q,n,kp:data(),thr) return kp else local Q, n = MaskApi._rlesFrLua(dt) local kp = torch.IntTensor(n):contiguous() libmaskapi.rleNms(Q,n,kp:data(),thr) MaskApi._rlesFree(Q,n) return kp end end MaskApi.area = function( Rs ) local Qs, n, h, w = MaskApi._rlesFrLua(Rs) local a = torch.IntTensor(n):contiguous() libmaskapi.rleArea(Qs,n,a:data()) MaskApi._rlesFree(Qs,n) return a end MaskApi.toBbox = function( Rs ) local Qs, n, h, w = MaskApi._rlesFrLua(Rs) local bb = torch.DoubleTensor(n,4):contiguous() libmaskapi.rleToBbox(Qs,bb:data(),n) MaskApi._rlesFree(Qs,n) return bb end MaskApi.frBbox = function( bbs, h, w ) if bbs:dim()==1 then bbs=bbs:view(1,bbs:size(1)) end local n, k = bbs:size(1), bbs:size(2); assert(k==4) local data = bbs:type('torch.DoubleTensor'):contiguous():data() local Qs = MaskApi._rlesInit(n) libmaskapi.rleFrBbox(Qs[0],data,h,w,n) return MaskApi._rlesToLua(Qs,n) end MaskApi.frPoly = function( poly, h, w ) local n = #poly local Qs, Q = MaskApi._rlesInit(n), MaskApi._rlesInit(1) for i,p in pairs(poly) do local xy = p:type('torch.DoubleTensor'):contiguous():data() libmaskapi.rleFrPoly(Qs[i-1],xy,p:size(1)/2,h,w) end libmaskapi.rleMerge(Qs,Q[0],n,0) MaskApi._rlesFree(Qs,n) return MaskApi._rlesToLua(Q,1)[1] end -------------------------------------------------------------------------------- MaskApi.drawCirc = function( img, x, y, rad, clr ) assert(img:isContiguous() and img:dim()==3) local k, h, w, data = img:size(1), img:size(2), img:size(3), img:data() for dx=-rad,rad do for dy=-rad,rad do local xi, yi = torch.round(x+dx), torch.round(y+dy) if dx*dx+dy*dy<=rad*rad and xi>=0 and yi>=0 and xi=0 and yi>=0 and xi= 5.1", "torch >= 7.0", "lua-cjson" } build = { type = "builtin", modules = { ["coco.env"] = "LuaAPI/env.lua", ["coco.init"] = "LuaAPI/init.lua", ["coco.MaskApi"] = "LuaAPI/MaskApi.lua", ["coco.CocoApi"] = "LuaAPI/CocoApi.lua", libmaskapi = { sources = { "common/maskApi.c" }, incdirs = { "common/" } } } } -- luarocks make LuaAPI/rocks/coco-scm-1.rockspec -- https://github.com/pdollar/coco/raw/master/LuaAPI/rocks/coco-scm-1.rockspec ================================================ FILE: cocoapi/MatlabAPI/CocoApi.m ================================================ classdef CocoApi % Interface for accessing the Microsoft COCO dataset. % % Microsoft COCO is a large image dataset designed for object detection, % segmentation, and caption generation. CocoApi.m is a Matlab API that % assists in loading, parsing and visualizing the annotations in COCO. % Please visit http://mscoco.org/ for more information on COCO, including % for the data, paper, and tutorials. The exact format of the annotations % is also described on the COCO website. For example usage of the CocoApi % please see cocoDemo.m. In addition to this API, please download both % the COCO images and annotations in order to run the demo. % % An alternative to using the API is to load the annotations directly % into a Matlab struct. This can be achieved via: % data = gason(fileread(annFile)); % Using the API provides additional utility functions. Note that this API % supports both *instance* and *caption* annotations. In the case of % captions not all functions are defined (e.g. categories are undefined). % % The following API functions are defined: % CocoApi - Load COCO annotation file and prepare data structures. % getAnnIds - Get ann ids that satisfy given filter conditions. % getCatIds - Get cat ids that satisfy given filter conditions. % getImgIds - Get img ids that satisfy given filter conditions. % loadAnns - Load anns with the specified ids. % loadCats - Load cats with the specified ids. % loadImgs - Load imgs with the specified ids. % showAnns - Display the specified annotations. % loadRes - Load algorithm results and create API for accessing them. % Throughout the API "ann"=annotation, "cat"=category, and "img"=image. % Help on each functions can be accessed by: "help CocoApi>function". % % See also CocoApi>CocoApi, CocoApi>getAnnIds, CocoApi>getCatIds, % CocoApi>getImgIds, CocoApi>loadAnns, CocoApi>loadCats, % CocoApi>loadImgs, CocoApi>showAnns, CocoApi>loadRes % % Microsoft COCO Toolbox. version 2.0 % Data, paper, and tutorials available at: http://mscoco.org/ % Code written by Piotr Dollar and Tsung-Yi Lin, 2015. % Licensed under the Simplified BSD License [see coco/license.txt] properties data % COCO annotation data structure inds % data structures for fast indexing end methods function coco = CocoApi( annFile ) % Load COCO annotation file and prepare data structures. % % USAGE % coco = CocoApi( annFile ) % % INPUTS % annFile - COCO annotation filename % % OUTPUTS % coco - initialized coco object fprintf('Loading and preparing annotations... '); clk=clock; if(isstruct(annFile)), coco.data=annFile; else coco.data=gason(fileread(annFile)); end is.imgIds = [coco.data.images.id]'; is.imgIdsMap = makeMap(is.imgIds); if( isfield(coco.data,'annotations') ) ann=coco.data.annotations; o=[ann.image_id]; if(isfield(ann,'category_id')), o=o*1e10+[ann.category_id]; end [~,o]=sort(o); ann=ann(o); coco.data.annotations=ann; s={'category_id','area','iscrowd','id','image_id'}; t={'annCatIds','annAreas','annIscrowd','annIds','annImgIds'}; for f=1:5, if(isfield(ann,s{f})), is.(t{f})=[ann.(s{f})]'; end; end is.annIdsMap = makeMap(is.annIds); is.imgAnnIdsMap = makeMultiMap(is.imgIds,... is.imgIdsMap,is.annImgIds,is.annIds,0); end if( isfield(coco.data,'categories') ) is.catIds = [coco.data.categories.id]'; is.catIdsMap = makeMap(is.catIds); if(isfield(is,'annCatIds')), is.catImgIdsMap = makeMultiMap(... is.catIds,is.catIdsMap,is.annCatIds,is.annImgIds,1); end end coco.inds=is; fprintf('DONE (t=%0.2fs).\n',etime(clock,clk)); function map = makeMap( keys ) % Make map from key to integer id associated with key. if(isempty(keys)), map=containers.Map(); return; end map=containers.Map(keys,1:length(keys)); end function map = makeMultiMap( keys, keysMap, keysAll, valsAll, sqz ) % Make map from keys to set of vals associated with each key. js=values(keysMap,num2cell(keysAll)); js=[js{:}]; m=length(js); n=length(keys); k=zeros(1,n); for i=1:m, j=js(i); k(j)=k(j)+1; end; vs=zeros(n,max(k)); k(:)=0; for i=1:m, j=js(i); k(j)=k(j)+1; vs(j,k(j))=valsAll(i); end map = containers.Map('KeyType','double','ValueType','any'); if(sqz), for j=1:n, map(keys(j))=unique(vs(j,1:k(j))); end else for j=1:n, map(keys(j))=vs(j,1:k(j)); end; end end end function ids = getAnnIds( coco, varargin ) % Get ann ids that satisfy given filter conditions. % % USAGE % ids = coco.getAnnIds( params ) % % INPUTS % params - filtering parameters (struct or name/value pairs) % setting any filter to [] skips that filter % .imgIds - [] get anns for given imgs % .catIds - [] get anns for given cats % .areaRng - [] get anns for given area range (e.g. [0 inf]) % .iscrowd - [] get anns for given crowd label (0 or 1) % % OUTPUTS % ids - integer array of ann ids def = {'imgIds',[],'catIds',[],'areaRng',[],'iscrowd',[]}; [imgIds,catIds,ar,iscrowd] = getPrmDflt(varargin,def,1); if( length(imgIds)==1 ) t = coco.loadAnns(coco.inds.imgAnnIdsMap(imgIds)); if(~isempty(catIds)), t = t(ismember([t.category_id],catIds)); end if(~isempty(ar)), a=[t.area]; t = t(a>=ar(1) & a<=ar(2)); end if(~isempty(iscrowd)), t = t([t.iscrowd]==iscrowd); end ids = [t.id]; else ids=coco.inds.annIds; K = true(length(ids),1); t = coco.inds; if(~isempty(imgIds)), K = K & ismember(t.annImgIds,imgIds); end if(~isempty(catIds)), K = K & ismember(t.annCatIds,catIds); end if(~isempty(ar)), a=t.annAreas; K = K & a>=ar(1) & a<=ar(2); end if(~isempty(iscrowd)), K = K & t.annIscrowd==iscrowd; end ids=ids(K); end end function ids = getCatIds( coco, varargin ) % Get cat ids that satisfy given filter conditions. % % USAGE % ids = coco.getCatIds( params ) % % INPUTS % params - filtering parameters (struct or name/value pairs) % setting any filter to [] skips that filter % .catNms - [] get cats for given cat names % .supNms - [] get cats for given supercategory names % .catIds - [] get cats for given cat ids % % OUTPUTS % ids - integer array of cat ids if(~isfield(coco.data,'categories')), ids=[]; return; end def={'catNms',[],'supNms',[],'catIds',[]}; t=coco.data.categories; [catNms,supNms,catIds] = getPrmDflt(varargin,def,1); if(~isempty(catNms)), t = t(ismember({t.name},catNms)); end if(~isempty(supNms)), t = t(ismember({t.supercategory},supNms)); end if(~isempty(catIds)), t = t(ismember([t.id],catIds)); end ids = [t.id]; end function ids = getImgIds( coco, varargin ) % Get img ids that satisfy given filter conditions. % % USAGE % ids = coco.getImgIds( params ) % % INPUTS % params - filtering parameters (struct or name/value pairs) % setting any filter to [] skips that filter % .imgIds - [] get imgs for given ids % .catIds - [] get imgs with all given cats % % OUTPUTS % ids - integer array of img ids def={'imgIds',[],'catIds',[]}; ids=coco.inds.imgIds; [imgIds,catIds] = getPrmDflt(varargin,def,1); if(~isempty(imgIds)), ids=intersect(ids,imgIds); end if(isempty(catIds)), return; end t=values(coco.inds.catImgIdsMap,num2cell(catIds)); for i=1:length(t), ids=intersect(ids,t{i}); end end function anns = loadAnns( coco, ids ) % Load anns with the specified ids. % % USAGE % anns = coco.loadAnns( ids ) % % INPUTS % ids - integer ids specifying anns % % OUTPUTS % anns - loaded ann objects ids = values(coco.inds.annIdsMap,num2cell(ids)); anns = coco.data.annotations([ids{:}]); end function cats = loadCats( coco, ids ) % Load cats with the specified ids. % % USAGE % cats = coco.loadCats( ids ) % % INPUTS % ids - integer ids specifying cats % % OUTPUTS % cats - loaded cat objects if(~isfield(coco.data,'categories')), cats=[]; return; end ids = values(coco.inds.catIdsMap,num2cell(ids)); cats = coco.data.categories([ids{:}]); end function imgs = loadImgs( coco, ids ) % Load imgs with the specified ids. % % USAGE % imgs = coco.loadImgs( ids ) % % INPUTS % ids - integer ids specifying imgs % % OUTPUTS % imgs - loaded img objects ids = values(coco.inds.imgIdsMap,num2cell(ids)); imgs = coco.data.images([ids{:}]); end function hs = showAnns( coco, anns ) % Display the specified annotations. % % USAGE % hs = coco.showAnns( anns ) % % INPUTS % anns - annotations to display % % OUTPUTS % hs - handles to segment graphic objects n=length(anns); if(n==0), return; end r=.4:.2:1; [r,g,b]=ndgrid(r,r,r); cs=[r(:) g(:) b(:)]; cs=cs(randperm(size(cs,1)),:); cs=repmat(cs,100,1); if( isfield( anns,'keypoints') ) for i=1:n a=anns(i); if(isfield(a,'iscrowd') && a.iscrowd), continue; end seg={}; if(isfield(a,'segmentation')), seg=a.segmentation; end k=a.keypoints; x=k(1:3:end)+1; y=k(2:3:end)+1; v=k(3:3:end); k=coco.loadCats(a.category_id); k=k.skeleton; c=cs(i,:); hold on p={'FaceAlpha',.25,'LineWidth',2,'EdgeColor',c}; % polygon for j=seg, xy=j{1}+.5; fill(xy(1:2:end),xy(2:2:end),c,p{:}); end p={'Color',c,'LineWidth',3}; % skeleton for j=k, s=j{1}; if(all(v(s)>0)), line(x(s),y(s),p{:}); end; end p={'MarkerSize',8,'MarkerFaceColor',c,'MarkerEdgeColor'}; % pnts plot(x(v>0),y(v>0),'o',p{:},'k'); plot(x(v>1),y(v>1),'o',p{:},c); hold off; end elseif( any(isfield(anns,{'segmentation','bbox'})) ) if(~isfield(anns,'iscrowd')), [anns(:).iscrowd]=deal(0); end if(~isfield(anns,'segmentation')), S={anns.bbox}; %#ok for i=1:n, x=S{i}(1); w=S{i}(3); y=S{i}(2); h=S{i}(4); anns(i).segmentation={[x,y,x,y+h,x+w,y+h,x+w,y]}; end; end S={anns.segmentation}; hs=zeros(10000,1); k=0; hold on; pFill={'FaceAlpha',.4,'LineWidth',3}; for i=1:n if(anns(i).iscrowd), C=[.01 .65 .40]; else C=rand(1,3); end if(isstruct(S{i})), M=double(MaskApi.decode(S{i})); k=k+1; hs(k)=imagesc(cat(3,M*C(1),M*C(2),M*C(3)),'Alphadata',M*.5); else for j=1:length(S{i}), P=S{i}{j}+.5; k=k+1; hs(k)=fill(P(1:2:end),P(2:2:end),C,pFill{:}); end end end hs=hs(1:k); hold off; elseif( isfield(anns,'caption') ) S={anns.caption}; for i=1:n, S{i}=[int2str(i) ') ' S{i} '\newline']; end S=[S{:}]; title(S,'FontSize',12); end end function cocoRes = loadRes( coco, resFile ) % Load algorithm results and create API for accessing them. % % The API for accessing and viewing algorithm results is identical to % the CocoApi for the ground truth. The single difference is that the % ground truth results are replaced by the algorithm results. % % USAGE % cocoRes = coco.loadRes( resFile ) % % INPUTS % resFile - COCO results filename % % OUTPUTS % cocoRes - initialized results API fprintf('Loading and preparing results... '); clk=clock; cdata=coco.data; R=gason(fileread(resFile)); m=length(R); valid=ismember([R.image_id],[cdata.images.id]); if(~all(valid)), error('Results provided for invalid images.'); end t={'segmentation','bbox','keypoints','caption'}; t=t{isfield(R,t)}; if(strcmp(t,'caption')) for i=1:m, R(i).id=i; end; imgs=cdata.images; cdata.images=imgs(ismember([imgs.id],[R.image_id])); else assert(all(isfield(R,{'category_id','score',t}))); s=cat(1,R.(t)); if(strcmp(t,'bbox')), a=s(:,3).*s(:,4); end if(strcmp(t,'segmentation')), a=MaskApi.area(s); end if(strcmp(t,'keypoints')), x=s(:,1:3:end)'; y=s(:,2:3:end)'; a=(max(x)-min(x)).*(max(y)-min(y)); end for i=1:m, R(i).area=a(i); R(i).id=i; end end fprintf('DONE (t=%0.2fs).\n',etime(clock,clk)); cdata.annotations=R; cocoRes=CocoApi(cdata); end end end ================================================ FILE: cocoapi/MatlabAPI/CocoEval.m ================================================ classdef CocoEval < handle % Interface for evaluating detection on the Microsoft COCO dataset. % % The usage for CocoEval is as follows: % cocoGt=..., cocoDt=... % load dataset and results % E = CocoEval(cocoGt,cocoDt); % initialize CocoEval object % E.params.recThrs = ...; % set parameters as desired % E.evaluate(); % run per image evaluation % disp( E.evalImgs ) % inspect per image results % E.accumulate(); % accumulate per image results % disp( E.eval ) % inspect accumulated results % E.summarize(); % display summary metrics of results % E.analyze(); % plot detailed analysis of errors (slow) % For example usage see evalDemo.m and http://mscoco.org/. % % The evaluation parameters are as follows (defaults in brackets): % imgIds - [all] N img ids to use for evaluation % catIds - [all] K cat ids to use for evaluation % iouThrs - [.5:.05:.95] T=10 IoU thresholds for evaluation % recThrs - [0:.01:1] R=101 recall thresholds for evaluation % areaRng - [...] A=4 object area ranges for evaluation % maxDets - [1 10 100] M=3 thresholds on max detections per image % iouType - ['segm'] set iouType to 'segm', 'bbox' or 'keypoints' % useCats - [1] if true use category labels for evaluation % Note: iouType replaced the now DEPRECATED useSegm parameter. % Note: if useCats=0 category labels are ignored as in proposal scoring. % Note: by default areaRng=[0 1e5; 0 32; 32 96; 96 1e5].^2. These A=4 % settings correspond to all, small, medium, and large objects, resp. % % evaluate(): evaluates detections on every image and setting and concats % the results into the KxA struct array "evalImgs" with fields: % dtIds - [1xD] id for each of the D detections (dt) % gtIds - [1xG] id for each of the G ground truths (gt) % dtImgIds - [1xD] image id for each dt % gtImgIds - [1xG] image id for each gt % dtMatches - [TxD] matching gt id at each IoU or 0 % gtMatches - [TxG] matching dt id at each IoU or 0 % dtScores - [1xD] confidence of each dt % dtIgnore - [TxD] ignore flag for each dt at each IoU % gtIgnore - [1xG] ignore flag for each gt % % accumulate(): accumulates the per-image, per-category evaluation % results in "evalImgs" into the struct "eval" with fields: % params - parameters used for evaluation % date - date evaluation was performed % counts - [T,R,K,A,M] parameter dimensions (see above) % precision - [TxRxKxAxM] precision for every evaluation setting % recall - [TxKxAxM] max recall for every evaluation setting % Note: precision and recall==-1 for settings with no gt objects. % % summarize(): computes and displays 12 summary metrics based on the % "eval" struct. Note that summarize() assumes the evaluation was % computed with certain default params (including default area ranges), % if not, the display may show NaN outputs for certain metrics. Results % of summarize() are stored in a 12 element vector "stats". % % analyze(): generates plots with detailed breakdown of false positives. % Inspired by "Diagnosing Error in Object Detectors" by D. Hoiem et al. % Generates one plot per category (80), supercategory (12), and overall % (1), multiplied by 4 scales, for a total of (80+12+1)*4=372 plots. Each % plot contains a series of precision recall curves where each PR curve % is guaranteed to be strictly higher than the previous as the evaluation % setting becomes more permissive. These plots give insight into errors % made by a detector. A more detailed description is given at mscoco.org. % Note: analyze() is quite slow as it calls evaluate() multiple times. % Note: if pdfcrop is not found then set pdfcrop path appropriately e.g.: % setenv('PATH',[getenv('PATH') ':/Library/TeX/texbin/']); % % See also CocoApi, MaskApi, cocoDemo, evalDemo % % Microsoft COCO Toolbox. version 2.0 % Data, paper, and tutorials available at: http://mscoco.org/ % Code written by Piotr Dollar and Tsung-Yi Lin, 2015. % Licensed under the Simplified BSD License [see coco/license.txt] properties cocoGt % ground truth COCO API cocoDt % detections COCO API params % evaluation parameters evalImgs % per-image per-category evaluation results eval % accumulated evaluation results stats % evaluation summary statistics end methods function ev = CocoEval( cocoGt, cocoDt, iouType ) % Initialize CocoEval using coco APIs for gt and dt. if(nargin>0), ev.cocoGt = cocoGt; end if(nargin>1), ev.cocoDt = cocoDt; end if(nargin>0), ev.params.imgIds = sort(ev.cocoGt.getImgIds()); end if(nargin>0), ev.params.catIds = sort(ev.cocoGt.getCatIds()); end if(nargin<3), iouType='segm'; end ev.params.iouThrs = .5:.05:.95; ev.params.recThrs = 0:.01:1; if( any(strcmp(iouType,{'bbox','segm'})) ) ev.params.areaRng = [0 1e5; 0 32; 32 96; 96 1e5].^2; ev.params.maxDets = [1 10 100]; elseif( strcmp(iouType,'keypoints') ) ev.params.areaRng = [0 1e5; 32 96; 96 1e5].^2; ev.params.maxDets = 20; else error('unknown iouType: %s',iouType); end ev.params.iouType = iouType; ev.params.useCats = 1; end function evaluate( ev ) % Run per image evaluation on given images. fprintf('Running per image evaluation... '); clk=clock; p=ev.params; if(~p.useCats), p.catIds=1; end; t={'bbox','segm'}; if(isfield(p,'useSegm')), p.iouType=t{p.useSegm+1}; end p.imgIds=unique(p.imgIds); p.catIds=unique(p.catIds); ev.params=p; N=length(p.imgIds); K=length(p.catIds); A=size(p.areaRng,1); [nGt,iGt]=getAnnCounts(ev.cocoGt,p.imgIds,p.catIds,p.useCats); [nDt,iDt]=getAnnCounts(ev.cocoDt,p.imgIds,p.catIds,p.useCats); [ks,is]=ndgrid(1:K,1:N); ev.evalImgs=cell(N,K,A); for i=1:K*N, if(nGt(i)==0 && nDt(i)==0), continue; end gt=ev.cocoGt.data.annotations(iGt(i):iGt(i)+nGt(i)-1); dt=ev.cocoDt.data.annotations(iDt(i):iDt(i)+nDt(i)-1); if(~isfield(gt,'ignore')), [gt(:).ignore]=deal(0); end if( strcmp(p.iouType,'segm') ) im=ev.cocoGt.loadImgs(p.imgIds(is(i))); h=im.height; w=im.width; for g=1:nGt(i), s=gt(g).segmentation; if(~isstruct(s)) gt(g).segmentation=MaskApi.frPoly(s,h,w); end; end f='segmentation'; if(isempty(dt)), [dt(:).(f)]=deal(); end if(~isfield(dt,f)), s=MaskApi.frBbox(cat(1,dt.bbox),h,w); for d=1:nDt(i), dt(d).(f)=s(d); end; end elseif( strcmp(p.iouType,'bbox') ) f='bbox'; if(isempty(dt)), [dt(:).(f)]=deal(); end if(~isfield(dt,f)), s=MaskApi.toBbox([dt.segmentation]); for d=1:nDt(i), dt(d).(f)=s(d,:); end; end elseif( strcmp(p.iouType,'keypoints') ) gtIg=[gt.ignore]|[gt.num_keypoints]==0; for g=1:nGt(i), gt(g).ignore=gtIg(g); end else error('unknown iouType: %s',p.iouType); end q=p; q.imgIds=p.imgIds(is(i)); q.maxDets=max(p.maxDets); for j=1:A, q.areaRng=p.areaRng(j,:); ev.evalImgs{is(i),ks(i),j}=CocoEval.evaluateImg(gt,dt,q); end end E=ev.evalImgs; nms={'dtIds','gtIds','dtImgIds','gtImgIds',... 'dtMatches','gtMatches','dtScores','dtIgnore','gtIgnore'}; ev.evalImgs=repmat(cell2struct(cell(9,1),nms,1),K,A); for i=1:K, is=find(nGt(i,:)>0|nDt(i,:)>0); if(~isempty(is)), for j=1:A, E0=[E{is,i,j}]; for k=1:9 ev.evalImgs(i,j).(nms{k})=[E0{k:9:end}]; end; end; end end fprintf('DONE (t=%0.2fs).\n',etime(clock,clk)); function [ns,is] = getAnnCounts( coco, imgIds, catIds, useCats ) % Return ann counts and indices for given imgIds and catIds. as=sort(coco.getCatIds()); [~,a]=ismember(coco.inds.annCatIds,as); bs=sort(coco.getImgIds()); [~,b]=ismember(coco.inds.annImgIds,bs); if(~useCats), a(:)=1; as=1; end; ns=zeros(length(as),length(bs)); for ind=1:length(a), ns(a(ind),b(ind))=ns(a(ind),b(ind))+1; end is=reshape(cumsum([0 ns(1:end-1)])+1,size(ns)); [~,a]=ismember(catIds,as); [~,b]=ismember(imgIds,bs); ns=ns(a,b); is=is(a,b); end end function accumulate( ev ) % Accumulate per image evaluation results. fprintf('Accumulating evaluation results... '); clk=clock; if(isempty(ev.evalImgs)), error('Please run evaluate() first'); end p=ev.params; T=length(p.iouThrs); R=length(p.recThrs); K=length(p.catIds); A=size(p.areaRng,1); M=length(p.maxDets); precision=-ones(T,R,K,A,M); recall=-ones(T,K,A,M); [ks,as,ms]=ndgrid(1:K,1:A,1:M); for k=1:K*A*M E=ev.evalImgs(ks(k),as(k)); is=E.dtImgIds; mx=p.maxDets(ms(k)); np=nnz(~E.gtIgnore); if(np==0), continue; end t=[0 find(diff(is)) length(is)]; t=t(2:end)-t(1:end-1); is=is<0; r=0; for i=1:length(t), is(r+1:r+min(mx,t(i)))=1; r=r+t(i); end dtm=E.dtMatches(:,is); dtIg=E.dtIgnore(:,is); [~,o]=sort(E.dtScores(is),'descend'); tps=reshape( dtm & ~dtIg,T,[]); tps=tps(:,o); fps=reshape(~dtm & ~dtIg,T,[]); fps=fps(:,o); precision(:,:,k)=0; recall(:,k)=0; for t=1:T tp=cumsum(tps(t,:)); fp=cumsum(fps(t,:)); nd=length(tp); rc=tp/np; pr=tp./(fp+tp); q=zeros(1,R); thrs=p.recThrs; if(nd==0 || tp(nd)==0), continue; end; recall(t,k)=rc(end); for i=nd-1:-1:1, pr(i)=max(pr(i+1),pr(i)); end; i=1; r=1; s=100; while(r<=R && i<=nd), if(rc(i)>=thrs(r)), q(r)=pr(i); r=r+1; else i=i+1; if(i+s<=nd && rc(i+s)=0)); fprintf(fStr,tStr,iStr,areaRng,maxDets,s); end end function visualize( ev, varargin ) % Crop detector bbox results after evaluation (fp, tp, or fn). % Preliminary implementation, undocumented. Use at your own risk. % Require's Piotr's Toolbox (https://github.com/pdollar/toolbox/). def = { 'imgDir','../images/val2014/', 'outDir','visualize', ... 'catIds',[], 'areaIds',1:4, 'type',{'tp','fp','fn'}, ... 'dim',200, 'pad',1.5, 'ds',[10 10 1] }; p = getPrmDflt(varargin,def,0); if(isempty(p.catIds)), p.catIds=ev.params.catIds; end type=p.type; d=p.dim; pad=p.pad; ds=p.ds; % recursive call unless performing singleton task if(length(p.catIds)>1), q=p; for i=1:length(p.catIds) q.catIds=p.catIds(i); ev.visualize(q); end; return; end if(length(p.areaIds)>1), q=p; for i=1:length(p.areaIds) q.areaIds=p.areaIds(i); ev.visualize(q); end; return; end if(iscell(p.type)), q=p; for i=1:length(p.type) q.type=p.type{i}; ev.visualize(q); end; return; end % generate file name for result areaNms={'all','small','medium','large'}; catNm=regexprep(ev.cocoGt.loadCats(p.catIds).name,' ','_'); fn=sprintf('%s/%s-%s-%s%%03i.jpg',p.outDir,... catNm,areaNms{p.areaIds},type); disp(fn); if(exist(sprintf(fn,1),'file')), return; end % select appropriate gt and dt according to type E=ev.evalImgs(p.catIds==ev.params.catIds,p.areaIds); E.dtMatches=E.dtMatches(1,:); E=select(E,1,~E.dtIgnore(1,:)); E.gtMatches=E.gtMatches(1,:); E=select(E,0,~E.gtIgnore(1,:)); [~,o]=sort(E.dtScores,'descend'); E=select(E,1,o); if(strcmp(type,'fn')) E=select(E,0,~E.gtMatches); gt=E.gtIds; G=1; D=0; elseif(strcmp(type,'tp')) E=select(E,1,E.dtMatches>0); dt=E.dtIds; gt=E.dtMatches; G=1; D=1; elseif(strcmp(type,'fp')) E=select(E,1,~E.dtMatches); dt=E.dtIds; G=0; D=1; end % load dt, gt, and im and crop region bbs if(D), is=E.dtImgIds; else is=E.gtImgIds; end n=min(prod(ds),length(is)); is=ev.cocoGt.loadImgs(is(1:n)); if(G), gt=ev.cocoGt.loadAnns(gt(1:n)); bb=gt; end if(D), dt=ev.cocoDt.loadAnns(dt(1:n)); bb=dt; end if(~n), return; end; bb=cat(1,bb.bbox); bb(:,1:2)=bb(:,1:2)+1; r=max(bb(:,3:4),[],2)*pad/d; r=[r r r r]; bb=bbApply('resize',bbApply('squarify',bb,0),pad,pad); % get dt and gt bbs in relative coordinates if(G), gtBb=cat(1,gt.bbox); gtBb(:,1:2)=gtBb(:,1:2)-bb(:,1:2); gtBb=gtBb./r; if(~D), gtBb=[gtBb round([gt(1:n).area])']; end; end if(D), dtBb=cat(1,dt.bbox); dtBb(:,1:2)=dtBb(:,1:2)-bb(:,1:2); dtBb=dtBb./r; dtBb=[dtBb E.dtScores(1:n)']; end % crop image samples appropriately ds(3)=ceil(n/prod(ds(1:2))); Is=cell(ds); for i=1:n I=imread(sprintf('%s/%s',p.imgDir,is(i).file_name)); I=bbApply('crop',I,bb(i,:),0,[d d]); I=I{1}; if(D), I=bbApply('embed',I,dtBb(i,:),'col',[0 0 255]); end if(G), I=bbApply('embed',I,gtBb(i,:),'col',[0 255 0]); end Is{i}=I; end for i=n+1:prod(ds), Is{i}=zeros(d,d,3,'uint8'); end I=reshape(cell2mat(permute(Is,[2 1 3])),ds(1)*d,ds(2)*d,3,ds(3)); for i=1:ds(3), imwrite(imresize(I(:,:,:,i),.5),sprintf(fn,i)); end % helper function for taking subset of E function E = select( E, D, kp ) fs={'Matches','Ids','ImgIds','Scores'}; pr={'gt','dt'}; for f=1:3+D, fd=[pr{D+1} fs{f}]; E.(fd)=E.(fd)(kp); end end end function analyze( ev ) % Derek Hoiem style analyis of false positives. outDir='./analyze'; if(~exist(outDir,'dir')), mkdir(outDir); end if(~isfield(ev.cocoGt.data.annotations,'ignore')), [ev.cocoGt.data.annotations.ignore]=deal(0); end dt=ev.cocoDt; gt=ev.cocoGt; prm=ev.params; rs=prm.recThrs; ev.params.maxDets=100; catIds=ev.cocoGt.getCatIds(); % compute precision at different IoU values ev.params.catIds=catIds; ev.params.iouThrs=[.75 .5 .1]; ev.evaluate(); ev.accumulate(); ps=ev.eval.precision; ps(4:7,:,:,:)=0; ev.params.iouThrs=.1; ev.params.useCats=0; for k=1:length(catIds), catId=catIds(k); nm=ev.cocoGt.loadCats(catId); nm=[nm.supercategory '-' nm.name]; fprintf('\nAnalyzing %s (%i):\n',nm,k); clk=clock; % select detections for single category only D=dt.data; A=D.annotations; A=A([A.category_id]==catId); D.annotations=A; ev.cocoDt=dt; ev.cocoDt=CocoApi(D); % compute precision but ignore superclass confusion is=gt.getCatIds('supNms',gt.loadCats(catId).supercategory); D=gt.data; A=D.annotations; A=A(ismember([A.category_id],is)); [A([A.category_id]~=catId).ignore]=deal(1); D.annotations=A; ev.cocoGt=CocoApi(D); ev.evaluate(); ev.accumulate(); ps(4,:,k,:)=ev.eval.precision; % compute precision but ignore any class confusion D=gt.data; A=D.annotations; [A([A.category_id]~=catId).ignore]=deal(1); D.annotations=A; ev.cocoGt=gt; ev.cocoGt.data=D; ev.evaluate(); ev.accumulate(); ps(5,:,k,:)=ev.eval.precision; % fill in background and false negative errors and plot ps(ps==-1)=0; ps(6,:,k,:)=ps(5,:,k,:)>0; ps(7,:,k,:)=1; makeplot(rs,ps(:,:,k,:),outDir,nm); fprintf('DONE (t=%0.2fs).\n',etime(clock,clk)); end % plot averages over all categories and supercategories ev.cocoDt=dt; ev.cocoGt=gt; ev.params=prm; fprintf('\n'); makeplot(rs,mean(ps,3),outDir,'overall-all'); sup={ev.cocoGt.loadCats(catIds).supercategory}; for k=unique(sup), ps1=mean(ps(:,:,strcmp(sup,k),:),3); makeplot(rs,ps1,outDir,['overall-' k{1}]); end function makeplot( rs, ps, outDir, nm ) % Plot FP breakdown using area plot. fprintf('Plotting results... '); t=clock; cs=[ones(2,3); .31 .51 .74; .75 .31 .30; .36 .90 .38; .50 .39 .64; 1 .6 0]; m=size(ps,1); areaNms={'all','small','medium','large'}; nm0=nm; ps0=ps; for a=1:size(ps,4) nm=[nm0 '-' areaNms{a}]; ps=ps0(:,:,:,a); ap=round(mean(ps,2)*1000); ds=[ps(1,:); diff(ps)]'; ls={'C75','C50','Loc','Sim','Oth','BG','FN'}; for i=1:m, if(ap(i)==1000), ls{i}=['[1.00] ' ls{i}]; else ls{i}=sprintf('[.%03i] %s',ap(i),ls{i}); end; end figure(1); clf; h=area(rs,ds); legend(ls,'location','sw'); for i=1:m, set(h(i),'FaceColor',cs(i,:)); end; title(nm) xlabel('recall'); ylabel('precision'); set(gca,'fontsize',20) nm=[outDir '/' regexprep(nm,' ','_')]; print(nm,'-dpdf') [status,~]=system(['pdfcrop ' nm '.pdf ' nm '.pdf']); if(status>0), warning('pdfcrop not found.'); end end fprintf('DONE (t=%0.2fs).\n',etime(clock,t)); end end end methods( Static ) function e = evaluateImg( gt, dt, params ) % Run evaluation for a single image and category. p=params; T=length(p.iouThrs); aRng=p.areaRng; a=[gt.area]; gtIg=[gt.iscrowd]|[gt.ignore]|aaRng(2); G=length(gt); D=length(dt); for g=1:G, gt(g).ignore=gtIg(g); end % sort dt highest score first, sort gt ignore last [~,o]=sort([gt.ignore],'ascend'); gt=gt(o); [~,o]=sort([dt.score],'descend'); dt=dt(o); if(D>p.maxDets), D=p.maxDets; dt=dt(1:D); end % compute iou between each dt and gt region iscrowd = uint8([gt.iscrowd]); t=find(strcmp(p.iouType,{'segm','bbox','keypoints'})); if(t==1), g=[gt.segmentation]; elseif(t==2), g=cat(1,gt.bbox); end if(t==1), d=[dt.segmentation]; elseif(t==2), d=cat(1,dt.bbox); end if(t<=2), ious=MaskApi.iou(d,g,iscrowd); else ious=CocoEval.oks(gt,dt); end % attempt to match each (sorted) dt to each (sorted) gt gtm=zeros(T,G); gtIds=[gt.id]; gtIg=[gt.ignore]; dtm=zeros(T,D); dtIds=[dt.id]; dtIg=zeros(T,D); for t=1:T for d=1:D % information about best match so far (m=0 -> unmatched) iou=min(p.iouThrs(t),1-1e-10); m=0; for g=1:G % if this gt already matched, and not a crowd, continue if( gtm(t,g)>0 && ~iscrowd(g) ), continue; end % if dt matched to reg gt, and on ignore gt, stop if( m>0 && gtIg(m)==0 && gtIg(g)==1 ), break; end % if match successful and best so far, store appropriately if( ious(d,g)>=iou ), iou=ious(d,g); m=g; end end % if match made store id of match for both dt and gt if(~m), continue; end; dtIg(t,d)=gtIg(m); dtm(t,d)=gtIds(m); gtm(t,m)=dtIds(d); end end % set unmatched detections outside of area range to ignore if(isempty(dt)), a=zeros(1,0); else a=[dt.area]; end dtIg = dtIg | (dtm==0 & repmat(aaRng(2),T,1)); % store results for given image and category dtImgIds=ones(1,D)*p.imgIds; gtImgIds=ones(1,G)*p.imgIds; e = {dtIds,gtIds,dtImgIds,gtImgIds,dtm,gtm,[dt.score],dtIg,gtIg}; end function o = oks( gt, dt ) % Compute Object Keypoint Similarity (OKS) between objects. G=length(gt); D=length(dt); o=zeros(D,G); if(~D||~G), return; end % sigmas hard-coded for person class, will need params eventually sigmas=[.26 .25 .25 .35 .35 .79 .79 .72 .72 .62 ... .62 1.07 1.07 .87 .87 .89 .89]/10; vars=(sigmas*2).^2; k=length(sigmas); m=k*3; bb=cat(1,gt.bbox); % create bounds for ignore regions (double the gt bbox) x0=bb(:,1)-bb(:,3); x1=bb(:,1)+bb(:,3)*2; y0=bb(:,2)-bb(:,4); y1=bb(:,2)+bb(:,4)*2; % extract keypoint locations and visibility flags gKp=cat(1,gt.keypoints); assert(size(gKp,2)==m); dKp=cat(1,dt.keypoints); assert(size(dKp,2)==m); xg=gKp(:,1:3:m); yg=gKp(:,2:3:m); vg=gKp(:,3:3:m); xd=dKp(:,1:3:m); yd=dKp(:,2:3:m); % compute oks between each detection and ground truth object for d=1:D for g=1:G v=vg(g,:); x=xd(d,:); y=yd(d,:); k1=nnz(v); if( k1>0 ) % measure the per-keypoint distance if keypoints visible dx=x-xg(g,:); dy=y-yg(g,:); else % measure minimum distance to keypoints in (x0,y0) & (x1,y1) dx=max(0,x0(g,:)-x)+max(0,x-x1(g,:)); dy=max(0,y0(g,:)-y)+max(0,y-y1(g,:)); end % use the distances to compute the oks e=(dx.^2+dy.^2)./vars/gt(g).area/2; if(k1>0), e=e(v>0); else k1=k; end o(d,g)=sum(exp(-e))/k1; end end end end end ================================================ FILE: cocoapi/MatlabAPI/CocoUtils.m ================================================ classdef CocoUtils % Utility functions for testing and validation of COCO code. % % The following utility functions are defined: % convertPascalGt - Convert ground truth for PASCAL to COCO format. % convertImageNetGt - Convert ground truth for ImageNet to COCO format. % convertPascalDt - Convert detections on PASCAL to COCO format. % convertImageNetDt - Convert detections on ImageNet to COCO format. % validateOnPascal - Validate COCO eval code against PASCAL code. % validateOnImageNet - Validate COCO eval code against ImageNet code. % generateFakeDt - Generate fake detections from ground truth. % validateMaskApi - Validate MaskApi against Matlab functions. % gasonSplit - Split JSON file into multiple JSON files. % gasonMerge - Merge JSON files into single JSON file. % Help on each functions can be accessed by: "help CocoUtils>function". % % See also CocoApi MaskApi CocoEval CocoUtils>convertPascalGt % CocoUtils>convertImageNetGt CocoUtils>convertPascalDt % CocoUtils>convertImageNetDt CocoUtils>validateOnPascal % CocoUtils>validateOnImageNet CocoUtils>generateFakeDt % CocoUtils>validateMaskApi CocoUtils>gasonSplit CocoUtils>gasonMerge % % Microsoft COCO Toolbox. version 2.0 % Data, paper, and tutorials available at: http://mscoco.org/ % Code written by Piotr Dollar and Tsung-Yi Lin, 2015. % Licensed under the Simplified BSD License [see coco/license.txt] methods( Static ) function convertPascalGt( dataDir, year, split, annFile ) % Convert ground truth for PASCAL to COCO format. % % USAGE % CocoUtils.convertPascalGt( dataDir, year, split, annFile ) % % INPUTS % dataDir - dir containing VOCdevkit/ % year - dataset year (e.g. '2007') % split - dataset split (e.g. 'val') % annFile - annotation file for writing results if(exist(annFile,'file')), return; end fprintf('Converting PASCAL VOC dataset... '); clk=tic; dev=[dataDir '/VOCdevkit/']; addpath(genpath([dev '/VOCcode'])); VOCinit; C=VOCopts.classes'; catsMap=containers.Map(C,1:length(C)); f=fopen([dev '/VOC' year '/ImageSets/Main/' split '.txt']); is=textscan(f,'%s %*s'); is=is{1}; fclose(f); n=length(is); data=CocoUtils.initData(C,n); for i=1:n, nm=[is{i} '.jpg']; f=[dev '/VOC' year '/Annotations/' is{i} '.xml']; R=PASreadrecord(f); hw=R.imgsize([2 1]); O=R.objects; id=is{i}; id(id=='_')=[]; id=str2double(id); ignore=[O.difficult]; bbs=cat(1,O.bbox); t=catsMap.values({O.class}); catIds=[t{:}]; iscrowd=ignore*0; data=CocoUtils.addData(data,nm,id,hw,catIds,ignore,iscrowd,bbs); end f=fopen(annFile,'w'); fwrite(f,gason(data)); fclose(f); fprintf('DONE (t=%0.2fs).\n',toc(clk)); end function convertImageNetGt( dataDir, year, split, annFile ) % Convert ground truth for ImageNet to COCO format. % % USAGE % CocoUtils.convertImageNetGt( dataDir, year, split, annFile ) % % INPUTS % dataDir - dir containing ILSVRC*/ folders % year - dataset year (e.g. '2013') % split - dataset split (e.g. 'val') % annFile - annotation file for writing results if(exist(annFile,'file')), return; end fprintf('Converting ImageNet dataset... '); clk=tic; dev=[dataDir '/ILSVRC' year '_devkit/']; addpath(genpath([dev '/evaluation/'])); t=[dev '/data/meta_det.mat']; t=load(t); synsets=t.synsets(1:200); catNms={synsets.name}; catsMap=containers.Map({synsets.WNID},1:length(catNms)); if(~strcmp(split,'val')), blacklist=cell(1,2); else f=[dev '/data/' 'ILSVRC' year '_det_validation_blacklist.txt']; f=fopen(f); blacklist=textscan(f,'%d %s'); fclose(f); t=catsMap.values(blacklist{2}); blacklist{2}=[t{:}]; end if(strcmp(split,'train')) dl=@(i) [dev '/data/det_lists/' split '_pos_' int2str(i) '.txt']; is=cell(1,200); for i=1:200, f=fopen(dl(i)); is{i}=textscan(f,'%s %*s'); is{i}=is{i}{1}; fclose(f); end is=unique(cat(1,is{:})); n=length(is); else f=fopen([dev '/data/det_lists/' split '.txt']); is=textscan(f,'%s %*s'); is=is{1}; fclose(f); n=length(is); end data=CocoUtils.initData(catNms,n); for i=1:n f=[dataDir '/ILSVRC' year '_DET_bbox_' split '/' is{i} '.xml']; R=VOCreadxml(f); R=R.annotation; nm=[is{i} '.JPEG']; hw=str2double({R.size.height R.size.width}); if(~isfield(R,'object')), catIds=[]; bbs=[]; else O=R.object; t=catsMap.values({O.name}); catIds=[t{:}]; b=[O.bndbox]; bbs=str2double({b.xmin; b.ymin; b.xmax; b.ymax})'; end j=blacklist{2}(blacklist{1}==i); m=numel(j); b=[0 0 hw(2) hw(1)]; catIds=[j catIds]; bbs=[repmat(b,m,1); bbs]; %#ok ignore=ismember(catIds,j); iscrowd=ignore*0; iscrowd(1:m)=1; data=CocoUtils.addData(data,nm,i,hw,catIds,ignore,iscrowd,bbs); end f=fopen(annFile,'w'); fwrite(f,gason(data)); fclose(f); fprintf('DONE (t=%0.2fs).\n',toc(clk)); end function convertPascalDt( srcFiles, tarFile ) % Convert detections on PASCAL to COCO format. % % USAGE % CocoUtils.convertPascalDt( srcFiles, tarFile ) % % INPUTS % srcFiles - source detection file(s) in PASCAL format % tarFile - target detection file in COCO format if(exist(tarFile,'file')), return; end; R=[]; for i=1:length(srcFiles), f=fopen(srcFiles{i},'r'); R1=textscan(f,'%d %f %f %f %f %f'); fclose(f); [~,~,x0,y0,x1,y1]=deal(R1{:}); b=[x0-1 y0-1 x1-x0+1 y1-y0+1]; b(:,3:4)=max(b(:,3:4),1); b=mat2cell(b,ones(1,size(b,1)),4); R=[R; struct('image_id',num2cell(R1{1}),'bbox',b,... 'category_id',i,'score',num2cell(R1{2}))]; %#ok end f=fopen(tarFile,'w'); fwrite(f,gason(R)); fclose(f); end function convertImageNetDt( srcFile, tarFile ) % Convert detections on ImageNet to COCO format. % % USAGE % CocoUtils.convertImageNetDt( srcFile, tarFile ) % % INPUTS % srcFile - source detection file in ImageNet format % tarFile - target detection file in COCO format if(exist(tarFile,'file')), return; end; f=fopen(srcFile,'r'); R=textscan(f,'%d %d %f %f %f %f %f'); fclose(f); [~,~,~,x0,y0,x1,y1]=deal(R{:}); b=[x0-1 y0-1 x1-x0+1 y1-y0+1]; b(:,3:4)=max(b(:,3:4),1); bbox=mat2cell(b,ones(1,size(b,1)),4); R=struct('image_id',num2cell(R{1}),'bbox',bbox,... 'category_id',num2cell(R{2}),'score',num2cell(R{3})); f=fopen(tarFile,'w'); fwrite(f,gason(R)); fclose(f); end function validateOnPascal( dataDir ) % Validate COCO eval code against PASCAL code. % % USAGE % CocoUtils.validateOnPascal( dataDir ) % % INPUTS % dataDir - dir containing VOCdevkit/ split='val'; year='2007'; thrs=0:.001:1; T=length(thrs); dev=[dataDir '/VOCdevkit/']; addpath(genpath([dev '/VOCcode/'])); d=pwd; cd(dev); VOCinit; cd(d); O=VOCopts; O.testset=split; O.detrespath=[O.detrespath(1:end-10) split '_%s.txt']; catNms=O.classes; K=length(catNms); ap=zeros(K,1); for i=1:K, [R,P]=VOCevaldet(O,'comp3',catNms{i},0); R1=[R; inf]; P1=[P; 0]; for t=1:T, ap(i)=ap(i)+max(P1(R1>=thrs(t)))/T; end; end srcFile=[dev '/results/VOC' year '/Main/comp3_det_' split]; resFile=[srcFile '.json']; annFile=[dev '/VOC2007/' split '.json']; sfs=cell(1,K); for i=1:K, sfs{i}=[srcFile '_' catNms{i} '.txt']; end CocoUtils.convertPascalGt(dataDir,year,split,annFile); CocoUtils.convertPascalDt(sfs,resFile); D=CocoApi(annFile); R=D.loadRes(resFile); E=CocoEval(D,R); p=E.params; p.recThrs=thrs; p.iouThrs=.5; p.areaRng=[0 inf]; p.useSegm=0; p.maxDets=inf; E.params=p; E.evaluate(); E.accumulate(); apCoco=squeeze(mean(E.eval.precision,2)); deltas=abs(apCoco-ap); fprintf('AP delta: mean=%.2e median=%.2e max=%.2e\n',... mean(deltas),median(deltas),max(deltas)) if(max(deltas)>1e-2), msg='FAILED'; else msg='PASSED'; end warning(['Eval code *' msg '* validation!']); end function validateOnImageNet( dataDir ) % Validate COCO eval code against ImageNet code. % % USAGE % CocoUtils.validateOnImageNet( dataDir ) % % INPUTS % dataDir - dir containing ILSVRC*/ folders warning(['Set pixelTolerance=0 in line 30 of eval_detection.m '... '(and delete cache) otherwise AP will differ by >1e-4!']); year='2013'; dev=[dataDir '/ILSVRC' year '_devkit/']; fs = { [dev 'evaluation/demo.val.pred.det.txt'] [dataDir '/ILSVRC' year '_DET_bbox_val/'] [dev 'data/meta_det.mat'] [dev 'data/det_lists/val.txt'] [dev 'data/ILSVRC' year '_det_validation_blacklist.txt'] [dev 'data/ILSVRC' year '_det_validation_cache.mat'] }; addpath(genpath([dev 'evaluation/'])); ap=eval_detection(fs{:})'; resFile=[fs{1}(1:end-3) 'json']; annFile=[dev 'data/ILSVRC' year '_val.json']; CocoUtils.convertImageNetDt(fs{1},resFile); CocoUtils.convertImageNetGt(dataDir,year,'val',annFile) D=CocoApi(annFile); R=D.loadRes(resFile); E=CocoEval(D,R); p=E.params; p.recThrs=0:.0001:1; p.iouThrs=.5; p.areaRng=[0 inf]; p.useSegm=0; p.maxDets=inf; E.params=p; E.evaluate(); E.accumulate(); apCoco=squeeze(mean(E.eval.precision,2)); deltas=abs(apCoco-ap); fprintf('AP delta: mean=%.2e median=%.2e max=%.2e\n',... mean(deltas),median(deltas),max(deltas)) if(max(deltas)>1e-4), msg='FAILED'; else msg='PASSED'; end warning(['Eval code *' msg '* validation!']); end function generateFakeDt( coco, dtFile, varargin ) % Generate fake detections from ground truth. % % USAGE % CocoUtils.generateFakeDt( coco, dtFile, varargin ) % % INPUTS % coco - instance of CocoApi containing ground truth % dtFile - target file for writing detection results % params - parameters (struct or name/value pairs) % .n - [100] number images for which to generate dets % .fn - [.20] false negative rate (00; if(~any(v)), continue; end x=o(1:3:end); y=o(2:3:end); x(~v)=mean(x(v)); y(~v)=mean(y(v)); x=max(0,min(w-1,x+dx)); o(1:3:end)=x; o(2:3:end)=y; end k=k+1; R(k).image_id=imgIds(i); R(k).category_id=catId; R(k).(opts.type)=o; R(k).score=round(rand(rstream)*1000)/1000; end end R=R(1:k); f=fopen(dtFile,'w'); fwrite(f,gason(R)); fclose(f); fprintf('DONE (t=%0.2fs).\n',toc(clk)); end function validateMaskApi( coco ) % Validate MaskApi against Matlab functions. % % USAGE % CocoUtils.validateMaskApi( coco ) % % INPUTS % coco - instance of CocoApi containing ground truth S=coco.data.annotations; S=S(~[S.iscrowd]); S={S.segmentation}; h=1000; n=1000; Z=cell(1,n); A=Z; B=Z; M=Z; IB=zeros(1,n); fprintf('Running MaskApi implementations... '); clk=tic; for i=1:n, A{i}=MaskApi.frPoly(S{i},h,h); end Ia=MaskApi.iou(A{1},[A{:}]); fprintf('DONE (t=%0.2fs).\n',toc(clk)); fprintf('Running Matlab implementations... '); clk=tic; for i=1:n, M1=0; for j=1:length(S{i}), x=S{i}{j}+.5; M1=M1+poly2mask(x(1:2:end),x(2:2:end),h,h); end M{i}=uint8(M1>0); B{i}=MaskApi.encode(M{i}); IB(i)=sum(sum(M{1}&M{i}))/sum(sum(M{1}|M{i})); end fprintf('DONE (t=%0.2fs).\n',toc(clk)); if(isequal(A,B)&&isequal(Ia,IB)), msg='PASSED'; else msg='FAILED'; end warning(['MaskApi *' msg '* validation!']); end function gasonSplit( name, k ) % Split JSON file into multiple JSON files. % % Splits file 'name.json' into multiple files 'name-*.json'. Only % works for JSON arrays. Memory efficient. Inverted by gasonMerge(). % % USAGE % CocoUtils.gasonSplit( name, k ) % % INPUTS % name - file containing JSON array (w/o '.json' ext) % k - number of files to split JSON into s=gasonMex('split',fileread([name '.json']),k); k=length(s); for i=1:k, f=fopen(sprintf('%s-%06i.json',name,i),'w'); fwrite(f,s{i}); fclose(f); end end function gasonMerge( name ) % Merge JSON files into single JSON file. % % Merge files 'name-*.json' into single file 'name.json'. Only works % for JSON arrays. Memory efficient. Inverted by gasonSplit(). % % USAGE % CocoUtils.gasonMerge( name ) % % INPUTS % name - files containing JSON arrays (w/o '.json' ext) s=dir([name '-*.json']); s=sort({s.name}); k=length(s); p=fileparts(name); for i=1:k, s{i}=fullfile(p,s{i}); end for i=1:k, s{i}=fileread(s{i}); end; s=gasonMex('merge',s); f=fopen([name '.json'],'w'); fwrite(f,s); fclose(f); end end methods( Static, Access=private ) function data = initData( catNms, n ) % Helper for convert() functions: init annotations. m=length(catNms); ms=num2cell(1:m); I = struct('file_name',0,'height',0,'width',0,'id',0); C = struct('supercategory','none','id',ms,'name',catNms); A = struct('segmentation',0,'area',0,'iscrowd',0,... 'image_id',0,'bbox',0,'category_id',0,'id',0,'ignore',0); I=repmat(I,1,n); A=repmat(A,1,n*20); data = struct('images',I,'type','instances',... 'annotations',A,'categories',C,'nImgs',0,'nAnns',0); end function data = addData( data,nm,id,hw,catIds,ignore,iscrowd,bbs ) % Helper for convert() functions: add annotations. data.nImgs=data.nImgs+1; data.images(data.nImgs)=struct('file_name',nm,... 'height',hw(1),'width',hw(2),'id',id); for j=1:length(catIds), data.nAnns=data.nAnns+1; k=data.nAnns; b=bbs(j,:); b=b-1; b(3:4)=b(3:4)-b(1:2)+1; x1=b(1); x2=b(1)+b(3); y1=b(2); y2=b(2)+b(4); S={{[x1 y1 x1 y2 x2 y2 x2 y1]}}; a=b(3)*b(4); data.annotations(k)=struct('segmentation',S,'area',a,... 'iscrowd',iscrowd(j),'image_id',id,'bbox',b,... 'category_id',catIds(j),'id',k,'ignore',ignore(j)); end if( data.nImgs == length(data.images) ) data.annotations=data.annotations(1:data.nAnns); data=rmfield(data,{'nImgs','nAnns'}); end end end end ================================================ FILE: cocoapi/MatlabAPI/MaskApi.m ================================================ classdef MaskApi % Interface for manipulating masks stored in RLE format. % % RLE is a simple yet efficient format for storing binary masks. RLE % first divides a vector (or vectorized image) into a series of piecewise % constant regions and then for each piece simply stores the length of % that piece. For example, given M=[0 0 1 1 1 0 1] the RLE counts would % be [2 3 1 1], or for M=[1 1 1 1 1 1 0] the counts would be [0 6 1] % (note that the odd counts are always the numbers of zeros). Instead of % storing the counts directly, additional compression is achieved with a % variable bitrate representation based on a common scheme called LEB128. % % Compression is greatest given large piecewise constant regions. % Specifically, the size of the RLE is proportional to the number of % *boundaries* in M (or for an image the number of boundaries in the y % direction). Assuming fairly simple shapes, the RLE representation is % O(sqrt(n)) where n is number of pixels in the object. Hence space usage % is substantially lower, especially for large simple objects (large n). % % Many common operations on masks can be computed directly using the RLE % (without need for decoding). This includes computations such as area, % union, intersection, etc. All of these operations are linear in the % size of the RLE, in other words they are O(sqrt(n)) where n is the area % of the object. Computing these operations on the original mask is O(n). % Thus, using the RLE can result in substantial computational savings. % % The following API functions are defined: % encode - Encode binary masks using RLE. % decode - Decode binary masks encoded via RLE. % merge - Compute union or intersection of encoded masks. % iou - Compute intersection over union between masks. % nms - Compute non-maximum suppression between ordered masks. % area - Compute area of encoded masks. % toBbox - Get bounding boxes surrounding encoded masks. % frBbox - Convert bounding boxes to encoded masks. % frPoly - Convert polygon to encoded mask. % % Usage: % Rs = MaskApi.encode( masks ) % masks = MaskApi.decode( Rs ) % R = MaskApi.merge( Rs, [intersect=false] ) % o = MaskApi.iou( dt, gt, [iscrowd=false] ) % keep = MaskApi.nms( dt, thr ) % a = MaskApi.area( Rs ) % bbs = MaskApi.toBbox( Rs ) % Rs = MaskApi.frBbox( bbs, h, w ) % R = MaskApi.frPoly( poly, h, w ) % % In the API the following formats are used: % R,Rs - [struct] Run-length encoding of binary mask(s) % masks - [hxwxn] Binary mask(s) (must have type uint8) % bbs - [nx4] Bounding box(es) stored as [x y w h] % poly - Polygon stored as {[x1 y1 x2 y2...],[x1 y1 ...],...} % dt,gt - May be either bounding boxes or encoded masks % Both poly and bbs are 0-indexed (bbox=[0 0 1 1] encloses first pixel). % % Finally, a note about the intersection over union (iou) computation. % The standard iou of a ground truth (gt) and detected (dt) object is % iou(gt,dt) = area(intersect(gt,dt)) / area(union(gt,dt)) % For "crowd" regions, we use a modified criteria. If a gt object is % marked as "iscrowd", we allow a dt to match any subregion of the gt. % Choosing gt' in the crowd gt that best matches the dt can be done using % gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing % iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) % For crowd gt regions we use this modified criteria above for the iou. % % To compile use the following (some precompiled binaries are included): % mex('CFLAGS=\$CFLAGS -Wall -std=c99','-largeArrayDims',... % 'private/maskApiMex.c','../common/maskApi.c',... % '-I../common/','-outdir','private'); % Please do not contact us for help with compiling. % % Microsoft COCO Toolbox. version 2.0 % Data, paper, and tutorials available at: http://mscoco.org/ % Code written by Piotr Dollar and Tsung-Yi Lin, 2015. % Licensed under the Simplified BSD License [see coco/license.txt] methods( Static ) function Rs = encode( masks ) Rs = maskApiMex( 'encode', masks ); end function masks = decode( Rs ) masks = maskApiMex( 'decode', Rs ); end function R = merge( Rs, varargin ) R = maskApiMex( 'merge', Rs, varargin{:} ); end function o = iou( dt, gt, varargin ) o = maskApiMex( 'iou', dt', gt', varargin{:} ); end function keep = nms( dt, thr ) keep = maskApiMex('nms',dt',thr); end function a = area( Rs ) a = maskApiMex( 'area', Rs ); end function bbs = toBbox( Rs ) bbs = maskApiMex( 'toBbox', Rs )'; end function Rs = frBbox( bbs, h, w ) Rs = maskApiMex( 'frBbox', bbs', h, w ); end function R = frPoly( poly, h, w ) R = maskApiMex( 'frPoly', poly, h , w ); end end end ================================================ FILE: cocoapi/MatlabAPI/cocoDemo.m ================================================ %% Demo for the CocoApi (see CocoApi.m) %% initialize COCO api (please specify dataType/annType below) annTypes = { 'instances', 'captions', 'person_keypoints' }; dataType='val2014'; annType=annTypes{1}; % specify dataType/annType annFile=sprintf('../annotations/%s_%s.json',annType,dataType); coco=CocoApi(annFile); %% display COCO categories and supercategories if( ~strcmp(annType,'captions') ) cats = coco.loadCats(coco.getCatIds()); nms={cats.name}; fprintf('COCO categories: '); fprintf('%s, ',nms{:}); fprintf('\n'); nms=unique({cats.supercategory}); fprintf('COCO supercategories: '); fprintf('%s, ',nms{:}); fprintf('\n'); end %% get all images containing given categories, select one at random catIds = coco.getCatIds('catNms',{'person','dog','skateboard'}); imgIds = coco.getImgIds('catIds',catIds); imgId = imgIds(randi(length(imgIds))); %% load and display image img = coco.loadImgs(imgId); I = imread(sprintf('../images/%s/%s',dataType,img.file_name)); figure(1); imagesc(I); axis('image'); set(gca,'XTick',[],'YTick',[]) %% load and display annotations annIds = coco.getAnnIds('imgIds',imgId,'catIds',catIds,'iscrowd',[]); anns = coco.loadAnns(annIds); coco.showAnns(anns); ================================================ FILE: cocoapi/MatlabAPI/evalDemo.m ================================================ %% Demo demonstrating the algorithm result formats for COCO %% select results type for demo (either bbox or segm) type = {'segm','bbox','keypoints'}; type = type{1}; % specify type here fprintf('Running demo for *%s* results.\n\n',type); %% initialize COCO ground truth api dataDir='../'; prefix='instances'; dataType='val2014'; if(strcmp(type,'keypoints')), prefix='person_keypoints'; end annFile=sprintf('%s/annotations/%s_%s.json',dataDir,prefix,dataType); cocoGt=CocoApi(annFile); %% initialize COCO detections api resFile='%s/results/%s_%s_fake%s100_results.json'; resFile=sprintf(resFile,dataDir,prefix,dataType,type); cocoDt=cocoGt.loadRes(resFile); %% visialuze gt and dt side by side imgIds=sort(cocoGt.getImgIds()); imgIds=imgIds(1:100); imgId = imgIds(randi(100)); img = cocoGt.loadImgs(imgId); I = imread(sprintf('%s/images/val2014/%s',dataDir,img.file_name)); figure(1); subplot(1,2,1); imagesc(I); axis('image'); axis off; annIds = cocoGt.getAnnIds('imgIds',imgId); title('ground truth') anns = cocoGt.loadAnns(annIds); cocoGt.showAnns(anns); figure(1); subplot(1,2,2); imagesc(I); axis('image'); axis off; annIds = cocoDt.getAnnIds('imgIds',imgId); title('results') anns = cocoDt.loadAnns(annIds); cocoDt.showAnns(anns); %% load raw JSON and show exact format for results fprintf('results structure have the following format:\n'); res = gason(fileread(resFile)); disp(res) %% the following command can be used to save the results back to disk if(0), f=fopen(resFile,'w'); fwrite(f,gason(res)); fclose(f); end %% run COCO evaluation code (see CocoEval.m) cocoEval=CocoEval(cocoGt,cocoDt,type); cocoEval.params.imgIds=imgIds; cocoEval.evaluate(); cocoEval.accumulate(); cocoEval.summarize(); %% generate Derek Hoiem style analyis of false positives (slow) if(0), cocoEval.analyze(); end ================================================ FILE: cocoapi/MatlabAPI/gason.m ================================================ function out = gason( in ) % Convert between JSON strings and corresponding JSON objects. % % This parser is based on Gason written and maintained by Ivan Vashchaev: % https://github.com/vivkin/gason % Gason is a "lightweight and fast JSON parser for C++". Please see the % above link for license information and additional details about Gason. % % Given a JSON string, gason calls the C++ parser and converts the output % into an appropriate Matlab structure. As the parsing is performed in mex % the resulting parser is blazingly fast. Large JSON structs (100MB+) take % only a few seconds to parse (compared to hours for pure Matlab parsers). % % Given a JSON object, gason calls the C++ encoder to convert the object % back into a JSON string representation. Nearly any Matlab struct, cell % array, or numeric array represent a valid JSON object. Note that gason() % can be used to go both from JSON string to JSON object and back. % % Gason requires C++11 to compile (for GCC this requires version 4.7 or % later). The following command compiles the parser (may require tweaking): % mex('CXXFLAGS=\$CXXFLAGS -std=c++11 -Wall','-largeArrayDims',... % 'private/gasonMex.cpp','../common/gason.cpp',... % '-I../common/','-outdir','private'); % Note the use of the "-std=c++11" flag. A number of precompiled binaries % are included, please do not contact us for help with compiling. If needed % you can specify a compiler by adding the option 'CXX="/usr/bin/g++"'. % % Note that by default JSON arrays that contain only numbers are stored as % regular Matlab arrays. Likewise, JSON arrays that contain only objects of % the same type are stored as Matlab struct arrays. This is much faster and % can use considerably less memory than always using Matlab cell arrays. % % USAGE % object = gason( string ) % string = gason( object ) % % INPUTS/OUTPUTS % string - JSON string % object - JSON object % % EXAMPLE % o = struct('first',{'piotr','ty'},'last',{'dollar','lin'}) % s = gason( o ) % convert JSON object -> JSON string % p = gason( s ) % convert JSON string -> JSON object % % See also % % Microsoft COCO Toolbox. version 2.0 % Data, paper, and tutorials available at: http://mscoco.org/ % Code written by Piotr Dollar and Tsung-Yi Lin, 2015. % Licensed under the Simplified BSD License [see coco/license.txt] out = gasonMex( 'convert', in ); ================================================ FILE: cocoapi/MatlabAPI/private/gasonMex.cpp ================================================ /************************************************************************** * Microsoft COCO Toolbox. version 2.0 * Data, paper, and tutorials available at: http://mscoco.org/ * Code written by Piotr Dollar and Tsung-Yi Lin, 2015. * Licensed under the Simplified BSD License [see coco/license.txt] **************************************************************************/ #include "gason.h" #include "mex.h" #include "string.h" #include "math.h" #include #include #include typedef std::ostringstream ostrm; typedef unsigned long siz; typedef unsigned short ushort; siz length( const JsonValue &a ) { // get number of elements in JSON_ARRAY or JSON_OBJECT siz k=0; auto n=a.toNode(); while(n) { k++; n=n->next; } return k; } bool isRegularObjArray( const JsonValue &a ) { // check if all JSON_OBJECTs in JSON_ARRAY have the same fields JsonValue o=a.toNode()->value; siz k, n; const char **keys; n=length(o); keys=new const char*[n]; k=0; for(auto j:o) keys[k++]=j->key; for( auto i:a ) { if(length(i->value)!=n) return false; k=0; for(auto j:i->value) if(strcmp(j->key,keys[k++])) return false; } delete [] keys; return true; } mxArray* json( const JsonValue &o ) { // convert JsonValue to Matlab mxArray siz k, m, n; mxArray *M; const char **keys; switch( o.getTag() ) { case JSON_NUMBER: return mxCreateDoubleScalar(o.toNumber()); case JSON_STRING: return mxCreateString(o.toString()); case JSON_ARRAY: { if(!o.toNode()) return mxCreateDoubleMatrix(1,0,mxREAL); JsonValue o0=o.toNode()->value; JsonTag tag=o0.getTag(); n=length(o); bool isRegular=true; for(auto i:o) isRegular=isRegular && i->value.getTag()==tag; if( isRegular && tag==JSON_OBJECT && isRegularObjArray(o) ) { m=length(o0); keys=new const char*[m]; k=0; for(auto j:o0) keys[k++]=j->key; M = mxCreateStructMatrix(1,n,m,keys); k=0; for(auto i:o) { m=0; for(auto j:i->value) mxSetFieldByNumber(M,k,m++,json(j->value)); k++; } delete [] keys; return M; } else if( isRegular && tag==JSON_NUMBER ) { M = mxCreateDoubleMatrix(1,n,mxREAL); double *p=mxGetPr(M); k=0; for(auto i:o) p[k++]=i->value.toNumber(); return M; } else { M = mxCreateCellMatrix(1,n); k=0; for(auto i:o) mxSetCell(M,k++,json(i->value)); return M; } } case JSON_OBJECT: if(!o.toNode()) return mxCreateStructMatrix(1,0,0,NULL); n=length(o); keys=new const char*[n]; k=0; for(auto i:o) keys[k++]=i->key; M = mxCreateStructMatrix(1,1,n,keys); k=0; for(auto i:o) mxSetFieldByNumber(M,0,k++,json(i->value)); delete [] keys; return M; case JSON_TRUE: return mxCreateDoubleScalar(1); case JSON_FALSE: return mxCreateDoubleScalar(0); case JSON_NULL: return mxCreateDoubleMatrix(0,0,mxREAL); default: return NULL; } } template ostrm& json( ostrm &S, T *A, siz n ) { // convert numeric array to JSON string with casting if(n==0) { S<<"[]"; return S; } if(n==1) { S< ostrm& json( ostrm &S, T *A, siz n ) { // convert numeric array to JSON string without casting return json(S,A,n); } ostrm& json( ostrm &S, const char *A ) { // convert char array to JSON string (handle escape characters) #define RPL(a,b) case a: { S << b; A++; break; } S << "\""; while( *A>0 ) switch( *A ) { RPL('"',"\\\""); RPL('\\',"\\\\"); RPL('/',"\\/"); RPL('\b',"\\b"); RPL('\f',"\\f"); RPL('\n',"\\n"); RPL('\r',"\\r"); RPL('\t',"\\t"); default: S << *A; A++; } S << "\""; return S; } ostrm& json( ostrm& S, const JsonValue *o ) { // convert JsonValue to JSON string switch( o->getTag() ) { case JSON_NUMBER: S << o->toNumber(); return S; case JSON_TRUE: S << "true"; return S; case JSON_FALSE: S << "false"; return S; case JSON_NULL: S << "null"; return S; case JSON_STRING: return json(S,o->toString()); case JSON_ARRAY: S << "["; for(auto i:*o) { json(S,&i->value) << (i->next ? "," : ""); } S << "]"; return S; case JSON_OBJECT: S << "{"; for(auto i:*o) { json(S,i->key) << ":"; json(S,&i->value) << (i->next ? "," : ""); } S << "}"; return S; default: return S; } } ostrm& json( ostrm& S, const mxArray *M ) { // convert Matlab mxArray to JSON string siz i, j, m, n=mxGetNumberOfElements(M); void *A=mxGetData(M); ostrm *nms; switch( mxGetClassID(M) ) { case mxDOUBLE_CLASS: return json(S,(double*) A,n); case mxSINGLE_CLASS: return json(S,(float*) A,n); case mxINT64_CLASS: return json(S,(int64_t*) A,n); case mxUINT64_CLASS: return json(S,(uint64_t*) A,n); case mxINT32_CLASS: return json(S,(int32_t*) A,n); case mxUINT32_CLASS: return json(S,(uint32_t*) A,n); case mxINT16_CLASS: return json(S,(int16_t*) A,n); case mxUINT16_CLASS: return json(S,(uint16_t*) A,n); case mxINT8_CLASS: return json(S,(int8_t*) A,n); case mxUINT8_CLASS: return json(S,(uint8_t*) A,n); case mxLOGICAL_CLASS: return json(S,(uint8_t*) A,n); case mxCHAR_CLASS: return json(S,mxArrayToString(M)); case mxCELL_CLASS: S << "["; for(i=0; i0) json(S,mxGetCell(M,n-1)); S << "]"; return S; case mxSTRUCT_CLASS: if(n==0) { S<<"{}"; return S; } m=mxGetNumberOfFields(M); if(m==0) { S<<"["; for(i=0; i1) S<<"["; nms=new ostrm[m]; for(j=0; j1) S<<"]"; delete [] nms; return S; default: mexErrMsgTxt( "Unknown type." ); return S; } } mxArray* mxCreateStringRobust( const char* str ) { // convert char* to Matlab string (robust version of mxCreateString) mxArray *M; ushort *c; mwSize n[2]={1,strlen(str)}; M=mxCreateCharArray(2,n); c=(ushort*) mxGetData(M); for( siz i=0; i1 ) mexErrMsgTxt("One output expected."); if(!strcmp(action,"convert")) { if( nr!=1 ) mexErrMsgTxt("One input expected."); if( mxGetClassID(pr[0])==mxCHAR_CLASS ) { // object = mexFunction( string ) char *str = mxArrayToStringRobust(pr[0]); int status = jsonParse(str, &endptr, &val, allocator); if( status != JSON_OK) mexErrMsgTxt(jsonStrError(status)); pl[0] = json(val); mxFree(str); } else { // string = mexFunction( object ) ostrm S; S << std::setprecision(12); json(S,pr[0]); pl[0]=mxCreateStringRobust(S.str().c_str()); } } else if(!strcmp(action,"split")) { // strings = mexFunction( string, k ) if( nr!=2 ) mexErrMsgTxt("Two input expected."); char *str = mxArrayToStringRobust(pr[0]); int status = jsonParse(str, &endptr, &val, allocator); if( status != JSON_OK) mexErrMsgTxt(jsonStrError(status)); if( val.getTag()!=JSON_ARRAY ) mexErrMsgTxt("Array expected"); siz i=0, t=0, n=length(val), k=(siz) mxGetScalar(pr[1]); k=(k>n)?n:(k<1)?1:k; k=ceil(n/ceil(double(n)/k)); pl[0]=mxCreateCellMatrix(1,k); ostrm S; S<value); t--; if(!o->next) t=0; S << (t ? "," : "]"); if(!t) mxSetCell(pl[0],i++,mxCreateStringRobust(S.str().c_str())); } } else if(!strcmp(action,"merge")) { // string = mexFunction( strings ) if( nr!=1 ) mexErrMsgTxt("One input expected."); if(!mxIsCell(pr[0])) mexErrMsgTxt("Cell array expected."); siz n = mxGetNumberOfElements(pr[0]); ostrm S; S << std::setprecision(12); S << "["; for( siz i=0; ivalue) << (j->next ? "," : ""); mxFree(str); if(i1) % [ param1 ... paramN ] = getPrmDflt( prm, dfs, [checkExtra] ) % % INPUTS % prm - param struct or cell of form {'name1' v1 'name2' v2 ...} % dfs - cell of form {'name1' def1 'name2' def2 ...} % checkExtra - [0] if 1 throw error if prm contains params not in dfs % if -1 if prm contains params not in dfs adds them % % OUTPUTS (nargout==1) % prm - parameter struct with fields 'name1' through 'nameN' assigned % % OUTPUTS (nargout>1) % param1 - value assigned to parameter with 'name1' % ... % paramN - value assigned to parameter with 'nameN' % % EXAMPLE % dfs = { 'x','REQ', 'y',0, 'z',[], 'eps',1e-3 }; % prm = getPrmDflt( struct('x',1,'y',1), dfs ) % [ x y z eps ] = getPrmDflt( {'x',2,'y',1}, dfs ) % % See also INPUTPARSER % % Piotr's Computer Vision Matlab Toolbox Version 2.60 % Copyright 2014 Piotr Dollar. [pdollar-at-gmail.com] % Licensed under the Simplified BSD License [see external/bsd.txt] if( mod(length(dfs),2) ), error('odd number of default parameters'); end if nargin<=2, checkExtra = 0; end % get the input parameters as two cell arrays: prmVal and prmField if iscell(prm) && length(prm)==1, prm=prm{1}; end if iscell(prm) if(mod(length(prm),2)), error('odd number of parameters in prm'); end prmField = prm(1:2:end); prmVal = prm(2:2:end); else if(~isstruct(prm)), error('prm must be a struct or a cell'); end prmVal = struct2cell(prm); prmField = fieldnames(prm); end % get and update default values using quick for loop dfsField = dfs(1:2:end); dfsVal = dfs(2:2:end); if checkExtra>0 for i=1:length(prmField) j = find(strcmp(prmField{i},dfsField)); if isempty(j), error('parameter %s is not valid', prmField{i}); end dfsVal(j) = prmVal(i); end elseif checkExtra<0 for i=1:length(prmField) j = find(strcmp(prmField{i},dfsField)); if isempty(j), j=length(dfsVal)+1; dfsField{j}=prmField{i}; end dfsVal(j) = prmVal(i); end else for i=1:length(prmField) dfsVal(strcmp(prmField{i},dfsField)) = prmVal(i); end end % check for missing values if any(strcmp('REQ',dfsVal)) cmpArray = find(strcmp('REQ',dfsVal)); error(['Required field ''' dfsField{cmpArray(1)} ''' not specified.'] ); end % set output if nargout==1 varargout{1} = cell2struct( dfsVal, dfsField, 2 ); else varargout = dfsVal; end ================================================ FILE: cocoapi/MatlabAPI/private/maskApiMex.c ================================================ /************************************************************************** * Microsoft COCO Toolbox. version 2.0 * Data, paper, and tutorials available at: http://mscoco.org/ * Code written by Piotr Dollar and Tsung-Yi Lin, 2015. * Licensed under the Simplified BSD License [see coco/license.txt] **************************************************************************/ #include "mex.h" #include "maskApi.h" #include void checkType( const mxArray *M, mxClassID id ) { if(mxGetClassID(M)!=id) mexErrMsgTxt("Invalid type."); } mxArray* toMxArray( const RLE *R, siz n ) { const char *fs[] = {"size", "counts"}; mxArray *M=mxCreateStructMatrix(1,n,2,fs); for( siz i=0; i1) mexErrMsgTxt(err); for( i=0; i<*n; i++ ) { mxArray *S, *C; double *s; void *c; S=mxGetFieldByNumber(M,i,O[0]); checkType(S,mxDOUBLE_CLASS); C=mxGetFieldByNumber(M,i,O[1]); s=mxGetPr(S); c=mxGetData(C); h=(siz)s[0]; w=(siz)s[1]; m=mxGetNumberOfElements(C); if(same && i>0 && (h!=R[0].h || w!=R[0].w)) mexErrMsgTxt(err); if( mxGetClassID(C)==mxDOUBLE_CLASS ) { rleInit(R+i,h,w,m,0); for(j=0; j=2) ? (mxGetScalar(pr[1])>0) : false; rleMerge(R,&M,n,intersect); pl[0]=toMxArray(&M,1); rleFree(&M); } else if(!strcmp(action,"area")) { R=frMxArray(pr[0],&n,0); pl[0]=mxCreateNumericMatrix(1,n,mxUINT32_CLASS,mxREAL); uint *a=(uint*) mxGetPr(pl[0]); rleArea(R,n,a); } else if(!strcmp(action,"iou")) { if(nr>2) checkType(pr[2],mxUINT8_CLASS); siz nDt, nGt; byte *iscrowd = nr>2 ? (byte*) mxGetPr(pr[2]) : NULL; if(mxIsStruct(pr[0]) || mxIsStruct(pr[1])) { RLE *dt=frMxArray(pr[0],&nDt,1), *gt=frMxArray(pr[1],&nGt,1); pl[0]=mxCreateNumericMatrix(nDt,nGt,mxDOUBLE_CLASS,mxREAL); double *o=mxGetPr(pl[0]); rleIou(dt,gt,nDt,nGt,iscrowd,o); rlesFree(&dt,nDt); rlesFree(>,nGt); } else { checkType(pr[0],mxDOUBLE_CLASS); checkType(pr[1],mxDOUBLE_CLASS); double *dt=mxGetPr(pr[0]); nDt=mxGetN(pr[0]); double *gt=mxGetPr(pr[1]); nGt=mxGetN(pr[1]); pl[0]=mxCreateNumericMatrix(nDt,nGt,mxDOUBLE_CLASS,mxREAL); double *o=mxGetPr(pl[0]); bbIou(dt,gt,nDt,nGt,iscrowd,o); } } else if(!strcmp(action,"nms")) { siz n; uint *keep; double thr=(double) mxGetScalar(pr[1]); if(mxIsStruct(pr[0])) { RLE *dt=frMxArray(pr[0],&n,1); pl[0]=mxCreateNumericMatrix(1,n,mxUINT32_CLASS,mxREAL); keep=(uint*) mxGetPr(pl[0]); rleNms(dt,n,keep,thr); rlesFree(&dt,n); } else { checkType(pr[0],mxDOUBLE_CLASS); double *dt=mxGetPr(pr[0]); n=mxGetN(pr[0]); pl[0]=mxCreateNumericMatrix(1,n,mxUINT32_CLASS,mxREAL); keep=(uint*) mxGetPr(pl[0]); bbNms(dt,n,keep,thr); } } else if(!strcmp(action,"toBbox")) { R=frMxArray(pr[0],&n,0); pl[0]=mxCreateNumericMatrix(4,n,mxDOUBLE_CLASS,mxREAL); BB bb=mxGetPr(pl[0]); rleToBbox(R,bb,n); } else if(!strcmp(action,"frBbox")) { checkType(pr[0],mxDOUBLE_CLASS); double *bb=mxGetPr(pr[0]); n=mxGetN(pr[0]); h=(siz)mxGetScalar(pr[1]); w=(siz)mxGetScalar(pr[2]); rlesInit(&R,n); rleFrBbox(R,bb,h,w,n); pl[0]=toMxArray(R,n); } else if(!strcmp(action,"frPoly")) { checkType(pr[0],mxCELL_CLASS); n=mxGetNumberOfElements(pr[0]); h=(siz)mxGetScalar(pr[1]); w=(siz)mxGetScalar(pr[2]); rlesInit(&R,n); for(siz i=0; ifunction". # See also COCO>decodeMask, # COCO>encodeMask, COCO>getAnnIds, COCO>getCatIds, # COCO>getImgIds, COCO>loadAnns, COCO>loadCats, # COCO>loadImgs, COCO>annToMask, COCO>showAnns # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2014. # Licensed under the Simplified BSD License [see bsd.txt] import json import time import matplotlib.pyplot as plt from matplotlib.collections import PatchCollection from matplotlib.patches import Polygon import numpy as np import copy import itertools from . import mask as maskUtils import os from collections import defaultdict import sys PYTHON_VERSION = sys.version_info[0] if PYTHON_VERSION == 2: from urllib import urlretrieve elif PYTHON_VERSION == 3: from urllib.request import urlretrieve def _isArrayLike(obj): return hasattr(obj, '__iter__') and hasattr(obj, '__len__') class COCO: def __init__(self, annotation_file=None): """ Constructor of Microsoft COCO helper class for reading and visualizing annotations. :param annotation_file (str): location of annotation file :param image_folder (str): location to the folder that hosts images. :return: """ # load dataset self.dataset,self.anns,self.cats,self.imgs = dict(),dict(),dict(),dict() self.imgToAnns, self.catToImgs = defaultdict(list), defaultdict(list) if not annotation_file == None: print('loading annotations into memory...') tic = time.time() dataset = json.load(open(annotation_file, 'r')) assert type(dataset)==dict, 'annotation file format {} not supported'.format(type(dataset)) print('Done (t={:0.2f}s)'.format(time.time()- tic)) self.dataset = dataset self.createIndex() def createIndex(self): # create index print('creating index...') anns, cats, imgs = {}, {}, {} imgToAnns,catToImgs = defaultdict(list),defaultdict(list) if 'annotations' in self.dataset: for ann in self.dataset['annotations']: imgToAnns[ann['image_id']].append(ann) anns[ann['id']] = ann if 'images' in self.dataset: for img in self.dataset['images']: imgs[img['id']] = img if 'categories' in self.dataset: for cat in self.dataset['categories']: cats[cat['id']] = cat if 'annotations' in self.dataset and 'categories' in self.dataset: for ann in self.dataset['annotations']: catToImgs[ann['category_id']].append(ann['image_id']) print('index created!') # create class members self.anns = anns self.imgToAnns = imgToAnns self.catToImgs = catToImgs self.imgs = imgs self.cats = cats def info(self): """ Print information about the annotation file. :return: """ for key, value in self.dataset['info'].items(): print('{}: {}'.format(key, value)) def getAnnIds(self, imgIds=[], catIds=[], areaRng=[], iscrowd=None): """ Get ann ids that satisfy given filter conditions. default skips that filter :param imgIds (int array) : get anns for given imgs catIds (int array) : get anns for given cats areaRng (float array) : get anns for given area range (e.g. [0 inf]) iscrowd (boolean) : get anns for given crowd label (False or True) :return: ids (int array) : integer array of ann ids """ imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == len(areaRng) == 0: anns = self.dataset['annotations'] else: if not len(imgIds) == 0: lists = [self.imgToAnns[imgId] for imgId in imgIds if imgId in self.imgToAnns] anns = list(itertools.chain.from_iterable(lists)) else: anns = self.dataset['annotations'] anns = anns if len(catIds) == 0 else [ann for ann in anns if ann['category_id'] in catIds] anns = anns if len(areaRng) == 0 else [ann for ann in anns if ann['area'] > areaRng[0] and ann['area'] < areaRng[1]] if not iscrowd == None: ids = [ann['id'] for ann in anns if ann['iscrowd'] == iscrowd] else: ids = [ann['id'] for ann in anns] return ids def getCatIds(self, catNms=[], supNms=[], catIds=[]): """ filtering parameters. default skips that filter. :param catNms (str array) : get cats for given cat names :param supNms (str array) : get cats for given supercategory names :param catIds (int array) : get cats for given cat ids :return: ids (int array) : integer array of cat ids """ catNms = catNms if _isArrayLike(catNms) else [catNms] supNms = supNms if _isArrayLike(supNms) else [supNms] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(catNms) == len(supNms) == len(catIds) == 0: cats = self.dataset['categories'] else: cats = self.dataset['categories'] cats = cats if len(catNms) == 0 else [cat for cat in cats if cat['name'] in catNms] cats = cats if len(supNms) == 0 else [cat for cat in cats if cat['supercategory'] in supNms] cats = cats if len(catIds) == 0 else [cat for cat in cats if cat['id'] in catIds] ids = [cat['id'] for cat in cats] return ids def getImgIds(self, imgIds=[], catIds=[]): ''' Get img ids that satisfy given filter conditions. :param imgIds (int array) : get imgs for given ids :param catIds (int array) : get imgs with all given cats :return: ids (int array) : integer array of img ids ''' imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == 0: ids = self.imgs.keys() else: ids = set(imgIds) for i, catId in enumerate(catIds): if i == 0 and len(ids) == 0: ids = set(self.catToImgs[catId]) else: ids &= set(self.catToImgs[catId]) return list(ids) def loadAnns(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying anns :return: anns (object array) : loaded ann objects """ if _isArrayLike(ids): return [self.anns[id] for id in ids] elif type(ids) == int: return [self.anns[ids]] def loadCats(self, ids=[]): """ Load cats with the specified ids. :param ids (int array) : integer ids specifying cats :return: cats (object array) : loaded cat objects """ if _isArrayLike(ids): return [self.cats[id] for id in ids] elif type(ids) == int: return [self.cats[ids]] def loadImgs(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying img :return: imgs (object array) : loaded img objects """ if _isArrayLike(ids): return [self.imgs[id] for id in ids] elif type(ids) == int: return [self.imgs[ids]] def showAnns(self, anns): """ Display the specified annotations. :param anns (array of object): annotations to display :return: None """ if len(anns) == 0: return 0 if 'segmentation' in anns[0] or 'keypoints' in anns[0]: datasetType = 'instances' elif 'caption' in anns[0]: datasetType = 'captions' else: raise Exception('datasetType not supported') if datasetType == 'instances': ax = plt.gca() ax.set_autoscale_on(False) polygons = [] color = [] for ann in anns: c = (np.random.random((1, 3))*0.6+0.4).tolist()[0] if 'segmentation' in ann: if type(ann['segmentation']) == list: # polygon for seg in ann['segmentation']: poly = np.array(seg).reshape((int(len(seg)/2), 2)) polygons.append(Polygon(poly)) color.append(c) else: # mask t = self.imgs[ann['image_id']] if type(ann['segmentation']['counts']) == list: rle = maskUtils.frPyObjects([ann['segmentation']], t['height'], t['width']) else: rle = [ann['segmentation']] m = maskUtils.decode(rle) img = np.ones( (m.shape[0], m.shape[1], 3) ) if ann['iscrowd'] == 1: color_mask = np.array([2.0,166.0,101.0])/255 if ann['iscrowd'] == 0: color_mask = np.random.random((1, 3)).tolist()[0] for i in range(3): img[:,:,i] = color_mask[i] ax.imshow(np.dstack( (img, m*0.5) )) if 'keypoints' in ann and type(ann['keypoints']) == list: # turn skeleton into zero-based index sks = np.array(self.loadCats(ann['category_id'])[0]['skeleton'])-1 kp = np.array(ann['keypoints']) x = kp[0::3] y = kp[1::3] v = kp[2::3] for sk in sks: if np.all(v[sk]>0): plt.plot(x[sk],y[sk], linewidth=3, color=c) plt.plot(x[v>0], y[v>0],'o',markersize=8, markerfacecolor=c, markeredgecolor='k',markeredgewidth=2) plt.plot(x[v>1], y[v>1],'o',markersize=8, markerfacecolor=c, markeredgecolor=c, markeredgewidth=2) p = PatchCollection(polygons, facecolor=color, linewidths=0, alpha=0.4) ax.add_collection(p) p = PatchCollection(polygons, facecolor='none', edgecolors=color, linewidths=2) ax.add_collection(p) elif datasetType == 'captions': for ann in anns: print(ann['caption']) def loadRes(self, resFile): """ Load result file and return a result api object. :param resFile (str) : file name of result file :return: res (obj) : result api object """ res = COCO() res.dataset['images'] = [img for img in self.dataset['images']] print('Loading and preparing results...') tic = time.time() if type(resFile) == str or (PYTHON_VERSION == 2 and type(resFile) == unicode): anns = json.load(open(resFile)) elif type(resFile) == np.ndarray: anns = self.loadNumpyAnnotations(resFile) else: anns = resFile assert type(anns) == list, 'results in not an array of objects' annsImgIds = [ann['image_id'] for ann in anns] assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ 'Results do not correspond to current coco set' if 'caption' in anns[0]: imgIds = set([img['id'] for img in res.dataset['images']]) & set([ann['image_id'] for ann in anns]) res.dataset['images'] = [img for img in res.dataset['images'] if img['id'] in imgIds] for id, ann in enumerate(anns): ann['id'] = id+1 elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) for id, ann in enumerate(anns): bb = ann['bbox'] x1, x2, y1, y2 = [bb[0], bb[0]+bb[2], bb[1], bb[1]+bb[3]] if not 'segmentation' in ann: ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] ann['area'] = bb[2]*bb[3] ann['id'] = id+1 ann['iscrowd'] = 0 elif 'segmentation' in anns[0]: res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) for id, ann in enumerate(anns): # now only support compressed RLE format as segmentation results ann['area'] = maskUtils.area(ann['segmentation']) if not 'bbox' in ann: ann['bbox'] = maskUtils.toBbox(ann['segmentation']) ann['id'] = id+1 ann['iscrowd'] = 0 elif 'keypoints' in anns[0]: res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) for id, ann in enumerate(anns): s = ann['keypoints'] x = s[0::3] y = s[1::3] x0,x1,y0,y1 = np.min(x), np.max(x), np.min(y), np.max(y) ann['area'] = (x1-x0)*(y1-y0) ann['id'] = id + 1 ann['bbox'] = [x0,y0,x1-x0,y1-y0] print('DONE (t={:0.2f}s)'.format(time.time()- tic)) res.dataset['annotations'] = anns res.createIndex() return res def download(self, tarDir = None, imgIds = [] ): ''' Download COCO images from mscoco.org server. :param tarDir (str): COCO results directory name imgIds (list): images to be downloaded :return: ''' if tarDir is None: print('Please specify target directory') return -1 if len(imgIds) == 0: imgs = self.imgs.values() else: imgs = self.loadImgs(imgIds) N = len(imgs) if not os.path.exists(tarDir): os.makedirs(tarDir) for i, img in enumerate(imgs): tic = time.time() fname = os.path.join(tarDir, img['file_name']) if not os.path.exists(fname): urlretrieve(img['coco_url'], fname) print('downloaded {}/{} images (t={:0.1f}s)'.format(i, N, time.time()- tic)) def loadNumpyAnnotations(self, data): """ Convert result data from a numpy array [Nx7] where each row contains {imageID,x1,y1,w,h,score,class} :param data (numpy.ndarray) :return: annotations (python nested list) """ print('Converting ndarray to lists...') assert(type(data) == np.ndarray) print(data.shape) assert(data.shape[1] == 7) N = data.shape[0] ann = [] for i in range(N): if i % 1000000 == 0: print('{}/{}'.format(i,N)) ann += [{ 'image_id' : int(data[i, 0]), 'bbox' : [ data[i, 1], data[i, 2], data[i, 3], data[i, 4] ], 'score' : data[i, 5], 'category_id': int(data[i, 6]), }] return ann def annToRLE(self, ann): """ Convert annotation which can be polygons, uncompressed RLE to RLE. :return: binary mask (numpy 2D array) """ t = self.imgs[ann['image_id']] h, w = t['height'], t['width'] segm = ann['segmentation'] if type(segm) == list: # polygon -- a single object might consist of multiple parts # we merge all parts into one mask rle code rles = maskUtils.frPyObjects(segm, h, w) rle = maskUtils.merge(rles) elif type(segm['counts']) == list: # uncompressed RLE rle = maskUtils.frPyObjects(segm, h, w) else: # rle rle = ann['segmentation'] return rle def annToMask(self, ann): """ Convert annotation which can be polygons, uncompressed RLE, or RLE to binary mask. :return: binary mask (numpy 2D array) """ rle = self.annToRLE(ann) m = maskUtils.decode(rle) return m ================================================ FILE: cocoapi/PythonAPI/build/lib.linux-x86_64-3.7/pycocotools/cocoeval.py ================================================ __author__ = 'tsungyi' import numpy as np import datetime import time from collections import defaultdict from . import mask as maskUtils import copy class COCOeval: # Interface for evaluating detection on the Microsoft COCO dataset. # # The usage for CocoEval is as follows: # cocoGt=..., cocoDt=... # load dataset and results # E = CocoEval(cocoGt,cocoDt); # initialize CocoEval object # E.params.recThrs = ...; # set parameters as desired # E.evaluate(); # run per image evaluation # E.accumulate(); # accumulate per image results # E.summarize(); # display summary metrics of results # For example usage see evalDemo.m and http://mscoco.org/. # # The evaluation parameters are as follows (defaults in brackets): # imgIds - [all] N img ids to use for evaluation # catIds - [all] K cat ids to use for evaluation # iouThrs - [.5:.05:.95] T=10 IoU thresholds for evaluation # recThrs - [0:.01:1] R=101 recall thresholds for evaluation # areaRng - [...] A=4 object area ranges for evaluation # maxDets - [1 10 100] M=3 thresholds on max detections per image # iouType - ['segm'] set iouType to 'segm', 'bbox' or 'keypoints' # iouType replaced the now DEPRECATED useSegm parameter. # useCats - [1] if true use category labels for evaluation # Note: if useCats=0 category labels are ignored as in proposal scoring. # Note: multiple areaRngs [Ax2] and maxDets [Mx1] can be specified. # # evaluate(): evaluates detections on every image and every category and # concats the results into the "evalImgs" with fields: # dtIds - [1xD] id for each of the D detections (dt) # gtIds - [1xG] id for each of the G ground truths (gt) # dtMatches - [TxD] matching gt id at each IoU or 0 # gtMatches - [TxG] matching dt id at each IoU or 0 # dtScores - [1xD] confidence of each dt # gtIgnore - [1xG] ignore flag for each gt # dtIgnore - [TxD] ignore flag for each dt at each IoU # # accumulate(): accumulates the per-image, per-category evaluation # results in "evalImgs" into the dictionary "eval" with fields: # params - parameters used for evaluation # date - date evaluation was performed # counts - [T,R,K,A,M] parameter dimensions (see above) # precision - [TxRxKxAxM] precision for every evaluation setting # recall - [TxKxAxM] max recall for every evaluation setting # Note: precision and recall==-1 for settings with no gt objects. # # See also coco, mask, pycocoDemo, pycocoEvalDemo # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] def __init__(self, cocoGt=None, cocoDt=None, iouType='segm'): ''' Initialize CocoEval using coco APIs for gt and dt :param cocoGt: coco object with ground truth annotations :param cocoDt: coco object with detection results :return: None ''' if not iouType: print('iouType not specified. use default iouType segm') self.cocoGt = cocoGt # ground truth COCO API self.cocoDt = cocoDt # detections COCO API self.evalImgs = defaultdict(list) # per-image per-category evaluation results [KxAxI] elements self.eval = {} # accumulated evaluation results self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation self.params = Params(iouType=iouType) # parameters self._paramsEval = {} # parameters for evaluation self.stats = [] # result summarization self.ious = {} # ious between all gts and dts if not cocoGt is None: self.params.imgIds = sorted(cocoGt.getImgIds()) self.params.catIds = sorted(cocoGt.getCatIds()) def _prepare(self): ''' Prepare ._gts and ._dts for evaluation based on params :return: None ''' def _toMask(anns, coco): # modify ann['segmentation'] by reference for ann in anns: rle = coco.annToRLE(ann) ann['segmentation'] = rle p = self.params if p.useCats: gts=self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds, catIds=p.catIds)) dts=self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds, catIds=p.catIds)) else: gts=self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds)) dts=self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds)) # convert ground truth to mask if iouType == 'segm' if p.iouType == 'segm': _toMask(gts, self.cocoGt) _toMask(dts, self.cocoDt) # set ignore flag for gt in gts: gt['ignore'] = gt['ignore'] if 'ignore' in gt else 0 gt['ignore'] = 'iscrowd' in gt and gt['iscrowd'] if p.iouType == 'keypoints': gt['ignore'] = (gt['num_keypoints'] == 0) or gt['ignore'] self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation for gt in gts: self._gts[gt['image_id'], gt['category_id']].append(gt) for dt in dts: self._dts[dt['image_id'], dt['category_id']].append(dt) self.evalImgs = defaultdict(list) # per-image per-category evaluation results self.eval = {} # accumulated evaluation results def evaluate(self): ''' Run per image evaluation on given images and store results (a list of dict) in self.evalImgs :return: None ''' tic = time.time() print('Running per image evaluation...') p = self.params # add backward compatibility if useSegm is specified in params if not p.useSegm is None: p.iouType = 'segm' if p.useSegm == 1 else 'bbox' print('useSegm (deprecated) is not None. Running {} evaluation'.format(p.iouType)) print('Evaluate annotation type *{}*'.format(p.iouType)) p.imgIds = list(np.unique(p.imgIds)) if p.useCats: p.catIds = list(np.unique(p.catIds)) p.maxDets = sorted(p.maxDets) self.params=p self._prepare() # loop through images, area range, max detection number catIds = p.catIds if p.useCats else [-1] if p.iouType == 'segm' or p.iouType == 'bbox': computeIoU = self.computeIoU elif p.iouType == 'keypoints': computeIoU = self.computeOks self.ious = {(imgId, catId): computeIoU(imgId, catId) \ for imgId in p.imgIds for catId in catIds} evaluateImg = self.evaluateImg maxDet = p.maxDets[-1] self.evalImgs = [evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds for areaRng in p.areaRng for imgId in p.imgIds ] self._paramsEval = copy.deepcopy(self.params) toc = time.time() print('DONE (t={:0.2f}s).'.format(toc-tic)) def computeIoU(self, imgId, catId): p = self.params if p.useCats: gt = self._gts[imgId,catId] dt = self._dts[imgId,catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId,cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId,cId]] if len(gt) == 0 and len(dt) ==0: return [] inds = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in inds] if len(dt) > p.maxDets[-1]: dt=dt[0:p.maxDets[-1]] if p.iouType == 'segm': g = [g['segmentation'] for g in gt] d = [d['segmentation'] for d in dt] elif p.iouType == 'bbox': g = [g['bbox'] for g in gt] d = [d['bbox'] for d in dt] else: raise Exception('unknown iouType for iou computation') # compute iou between each dt and gt region iscrowd = [int(o['iscrowd']) for o in gt] ious = maskUtils.iou(d,g,iscrowd) return ious def computeOks(self, imgId, catId): p = self.params # dimention here should be Nxm gts = self._gts[imgId, catId] dts = self._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 and len(dts) == 0: if len(gts) == 0 or len(dts) == 0: return [] ious = np.zeros((len(dts), len(gts))) sigmas = p.kpt_oks_sigmas vars = (sigmas * 2)**2 k = len(sigmas) # compute oks between each detection and ground truth object for j, gt in enumerate(gts): # 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] k1 = np.count_nonzero(vg > 0) 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 for i, dt in enumerate(dts): d = np.array(dt['keypoints']) xd = d[0::3]; yd = d[1::3] if k1>0: # measure the per-keypoint distance if keypoints visible dx = xd - xg dy = yd - yg else: # measure minimum distance to keypoints in (x0,y0) & (x1,y1) z = np.zeros((k)) dx = np.max((z, x0-xd),axis=0)+np.max((z, xd-x1),axis=0) dy = np.max((z, y0-yd),axis=0)+np.max((z, yd-y1),axis=0) e = (dx**2 + dy**2) / vars / (gt['area']+np.spacing(1)) / 2 if k1 > 0: e=e[vg > 0] ious[i, j] = np.sum(np.exp(-e)) / e.shape[0] return ious def evaluateImg(self, imgId, catId, aRng, maxDet): ''' perform evaluation for single category and image :return: dict (single image results) ''' p = self.params if p.useCats: gt = self._gts[imgId,catId] dt = self._dts[imgId,catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId,cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId,cId]] if len(gt) == 0 and len(dt) ==0: return None for g in gt: if g['ignore'] or (g['area']aRng[1]): g['_ignore'] = 1 else: g['_ignore'] = 0 # sort dt highest score first, sort gt ignore last gtind = np.argsort([g['_ignore'] for g in gt], kind='mergesort') gt = [gt[i] for i in gtind] dtind = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in dtind[0:maxDet]] iscrowd = [int(o['iscrowd']) for o in gt] # load computed ious ious = self.ious[imgId, catId][:, gtind] if len(self.ious[imgId, catId]) > 0 else self.ious[imgId, catId] T = len(p.iouThrs) G = len(gt) D = len(dt) gtm = np.zeros((T,G)) dtm = np.zeros((T,D)) gtIg = np.array([g['_ignore'] for g in gt]) dtIg = np.zeros((T,D)) if not len(ious)==0: for tind, t in enumerate(p.iouThrs): for dind, d in enumerate(dt): # information about best match so far (m=-1 -> unmatched) iou = min([t,1-1e-10]) m = -1 for gind, g in enumerate(gt): # if this gt already matched, and not a crowd, continue if gtm[tind,gind]>0 and not iscrowd[gind]: continue # if dt matched to reg gt, and on ignore gt, stop if m>-1 and gtIg[m]==0 and gtIg[gind]==1: break # continue to next gt unless better match made if ious[dind,gind] < iou: continue # if match successful and best so far, store appropriately iou=ious[dind,gind] m=gind # if match made store id of match for both dt and gt if m ==-1: continue dtIg[tind,dind] = gtIg[m] dtm[tind,dind] = gt[m]['id'] gtm[tind,m] = d['id'] # set unmatched detections outside of area range to ignore a = np.array([d['area']aRng[1] for d in dt]).reshape((1, len(dt))) dtIg = np.logical_or(dtIg, np.logical_and(dtm==0, np.repeat(a,T,0))) # store results for given image and category return { 'image_id': imgId, 'category_id': catId, 'aRng': aRng, 'maxDet': maxDet, 'dtIds': [d['id'] for d in dt], 'gtIds': [g['id'] for g in gt], 'dtMatches': dtm, 'gtMatches': gtm, 'dtScores': [d['score'] for d in dt], 'gtIgnore': gtIg, 'dtIgnore': dtIg, } def accumulate(self, p = None): ''' Accumulate per image evaluation results and store the result in self.eval :param p: input params for evaluation :return: None ''' print('Accumulating evaluation results...') tic = time.time() if not self.evalImgs: print('Please run evaluate() first') # allows input customized parameters if p is None: p = self.params p.catIds = p.catIds if p.useCats == 1 else [-1] T = len(p.iouThrs) R = len(p.recThrs) K = len(p.catIds) if p.useCats else 1 A = len(p.areaRng) M = len(p.maxDets) precision = -np.ones((T,R,K,A,M)) # -1 for the precision of absent categories recall = -np.ones((T,K,A,M)) scores = -np.ones((T,R,K,A,M)) # create dictionary for future indexing _pe = self._paramsEval catIds = _pe.catIds if _pe.useCats else [-1] setK = set(catIds) setA = set(map(tuple, _pe.areaRng)) setM = set(_pe.maxDets) setI = set(_pe.imgIds) # get inds to evaluate k_list = [n for n, k in enumerate(p.catIds) if k in setK] m_list = [m for n, m in enumerate(p.maxDets) if m in setM] a_list = [n for n, a in enumerate(map(lambda x: tuple(x), p.areaRng)) if a in setA] i_list = [n for n, i in enumerate(p.imgIds) if i in setI] I0 = len(_pe.imgIds) A0 = len(_pe.areaRng) # retrieve E at each category, area range, and max number of detections for k, k0 in enumerate(k_list): Nk = k0*A0*I0 for a, a0 in enumerate(a_list): Na = a0*I0 for m, maxDet in enumerate(m_list): E = [self.evalImgs[Nk + Na + i] for i in i_list] E = [e for e in E if not e is None] if len(E) == 0: continue dtScores = np.concatenate([e['dtScores'][0:maxDet] for e in E]) # different sorting method generates slightly different results. # mergesort is used to be consistent as Matlab implementation. inds = np.argsort(-dtScores, kind='mergesort') dtScoresSorted = dtScores[inds] dtm = np.concatenate([e['dtMatches'][:,0:maxDet] for e in E], axis=1)[:,inds] dtIg = np.concatenate([e['dtIgnore'][:,0:maxDet] for e in E], axis=1)[:,inds] gtIg = np.concatenate([e['gtIgnore'] for e in E]) npig = np.count_nonzero(gtIg==0 ) if npig == 0: continue tps = np.logical_and( dtm, np.logical_not(dtIg) ) fps = np.logical_and(np.logical_not(dtm), np.logical_not(dtIg) ) tp_sum = np.cumsum(tps, axis=1).astype(dtype=np.float) fp_sum = np.cumsum(fps, axis=1).astype(dtype=np.float) for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): tp = np.array(tp) fp = np.array(fp) nd = len(tp) rc = tp / npig pr = tp / (fp+tp+np.spacing(1)) q = np.zeros((R,)) ss = np.zeros((R,)) if nd: recall[t,k,a,m] = rc[-1] else: recall[t,k,a,m] = 0 # numpy is slow without cython optimization for accessing elements # use python array gets significant speed improvement pr = pr.tolist(); q = q.tolist() for i in range(nd-1, 0, -1): if pr[i] > pr[i-1]: pr[i-1] = pr[i] inds = np.searchsorted(rc, p.recThrs, side='left') try: for ri, pi in enumerate(inds): q[ri] = pr[pi] ss[ri] = dtScoresSorted[pi] except: pass precision[t,:,k,a,m] = np.array(q) scores[t,:,k,a,m] = np.array(ss) self.eval = { 'params': p, 'counts': [T, R, K, A, M], 'date': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), 'precision': precision, 'recall': recall, 'scores': scores, } toc = time.time() print('DONE (t={:0.2f}s).'.format( toc-tic)) def summarize(self): ''' Compute and display summary metrics for evaluation results. Note this functin can *only* be applied on the default parameter setting ''' def _summarize( ap=1, iouThr=None, areaRng='all', maxDets=100 ): p = self.params iStr = ' {:<18} {} @[ IoU={:<9} | area={:>6s} | maxDets={:>3d} ] = {:0.3f}' titleStr = 'Average Precision' if ap == 1 else 'Average Recall' typeStr = '(AP)' if ap==1 else '(AR)' iouStr = '{:0.2f}:{:0.2f}'.format(p.iouThrs[0], p.iouThrs[-1]) \ if iouThr is None else '{:0.2f}'.format(iouThr) aind = [i for i, aRng in enumerate(p.areaRngLbl) if aRng == areaRng] mind = [i for i, mDet in enumerate(p.maxDets) if mDet == maxDets] if ap == 1: # dimension of precision: [TxRxKxAxM] s = self.eval['precision'] # IoU if iouThr is not None: t = np.where(iouThr == p.iouThrs)[0] s = s[t] s = s[:,:,:,aind,mind] else: # dimension of recall: [TxKxAxM] s = self.eval['recall'] if iouThr is not None: t = np.where(iouThr == p.iouThrs)[0] s = s[t] s = s[:,:,aind,mind] if len(s[s>-1])==0: mean_s = -1 else: mean_s = np.mean(s[s>-1]) print(iStr.format(titleStr, typeStr, iouStr, areaRng, maxDets, mean_s)) return mean_s def _summarizeDets(): stats = np.zeros((12,)) stats[0] = _summarize(1) stats[1] = _summarize(1, iouThr=.5, maxDets=self.params.maxDets[2]) stats[2] = _summarize(1, iouThr=.75, maxDets=self.params.maxDets[2]) stats[3] = _summarize(1, areaRng='small', maxDets=self.params.maxDets[2]) stats[4] = _summarize(1, areaRng='medium', maxDets=self.params.maxDets[2]) stats[5] = _summarize(1, areaRng='large', maxDets=self.params.maxDets[2]) stats[6] = _summarize(0, maxDets=self.params.maxDets[0]) stats[7] = _summarize(0, maxDets=self.params.maxDets[1]) stats[8] = _summarize(0, maxDets=self.params.maxDets[2]) stats[9] = _summarize(0, areaRng='small', maxDets=self.params.maxDets[2]) stats[10] = _summarize(0, areaRng='medium', maxDets=self.params.maxDets[2]) stats[11] = _summarize(0, areaRng='large', maxDets=self.params.maxDets[2]) return stats def _summarizeKps(): stats = np.zeros((10,)) stats[0] = _summarize(1, maxDets=20) stats[1] = _summarize(1, maxDets=20, iouThr=.5) stats[2] = _summarize(1, maxDets=20, iouThr=.75) stats[3] = _summarize(1, maxDets=20, areaRng='medium') stats[4] = _summarize(1, maxDets=20, areaRng='large') stats[5] = _summarize(0, maxDets=20) stats[6] = _summarize(0, maxDets=20, iouThr=.5) stats[7] = _summarize(0, maxDets=20, iouThr=.75) stats[8] = _summarize(0, maxDets=20, areaRng='medium') stats[9] = _summarize(0, maxDets=20, areaRng='large') return stats if not self.eval: raise Exception('Please run accumulate() first') iouType = self.params.iouType if iouType == 'segm' or iouType == 'bbox': summarize = _summarizeDets elif iouType == 'keypoints': summarize = _summarizeKps self.stats = summarize() def __str__(self): self.summarize() class Params: ''' Params for coco evaluation api ''' def setDetParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round((0.95 - .5) / .05)) + 1, endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round((1.00 - .0) / .01)) + 1, endpoint=True) self.maxDets = [1, 10, 100] self.areaRng = [[0 ** 2, 1e5 ** 2], [0 ** 2, 32 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'small', 'medium', 'large'] self.useCats = 1 def setKpParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round((0.95 - .5) / .05)) + 1, endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round((1.00 - .0) / .01)) + 1, endpoint=True) self.maxDets = [20] self.areaRng = [[0 ** 2, 1e5 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'medium', 'large'] self.useCats = 1 self.kpt_oks_sigmas = np.array([.26, .25, .25, .35, .35, .79, .79, .72, .72, .62,.62, 1.07, 1.07, .87, .87, .89, .89])/10.0 def __init__(self, iouType='segm'): if iouType == 'segm' or iouType == 'bbox': self.setDetParams() elif iouType == 'keypoints': self.setKpParams() else: raise Exception('iouType not supported') self.iouType = iouType # useSegm is deprecated self.useSegm = None ================================================ FILE: cocoapi/PythonAPI/build/lib.linux-x86_64-3.7/pycocotools/mask.py ================================================ __author__ = 'tsungyi' import pycocotools._mask as _mask # Interface for manipulating masks stored in RLE format. # # RLE is a simple yet efficient format for storing binary masks. RLE # first divides a vector (or vectorized image) into a series of piecewise # constant regions and then for each piece simply stores the length of # that piece. For example, given M=[0 0 1 1 1 0 1] the RLE counts would # be [2 3 1 1], or for M=[1 1 1 1 1 1 0] the counts would be [0 6 1] # (note that the odd counts are always the numbers of zeros). Instead of # storing the counts directly, additional compression is achieved with a # variable bitrate representation based on a common scheme called LEB128. # # Compression is greatest given large piecewise constant regions. # Specifically, the size of the RLE is proportional to the number of # *boundaries* in M (or for an image the number of boundaries in the y # direction). Assuming fairly simple shapes, the RLE representation is # O(sqrt(n)) where n is number of pixels in the object. Hence space usage # is substantially lower, especially for large simple objects (large n). # # Many common operations on masks can be computed directly using the RLE # (without need for decoding). This includes computations such as area, # union, intersection, etc. All of these operations are linear in the # size of the RLE, in other words they are O(sqrt(n)) where n is the area # of the object. Computing these operations on the original mask is O(n). # Thus, using the RLE can result in substantial computational savings. # # The following API functions are defined: # encode - Encode binary masks using RLE. # decode - Decode binary masks encoded via RLE. # merge - Compute union or intersection of encoded masks. # iou - Compute intersection over union between masks. # area - Compute area of encoded masks. # toBbox - Get bounding boxes surrounding encoded masks. # frPyObjects - Convert polygon, bbox, and uncompressed RLE to encoded RLE mask. # # Usage: # Rs = encode( masks ) # masks = decode( Rs ) # R = merge( Rs, intersect=false ) # o = iou( dt, gt, iscrowd ) # a = area( Rs ) # bbs = toBbox( Rs ) # Rs = frPyObjects( [pyObjects], h, w ) # # In the API the following formats are used: # Rs - [dict] Run-length encoding of binary masks # R - dict Run-length encoding of binary mask # masks - [hxwxn] Binary mask(s) (must have type np.ndarray(dtype=uint8) in column-major order) # iscrowd - [nx1] list of np.ndarray. 1 indicates corresponding gt image has crowd region to ignore # bbs - [nx4] Bounding box(es) stored as [x y w h] # poly - Polygon stored as [[x1 y1 x2 y2...],[x1 y1 ...],...] (2D list) # dt,gt - May be either bounding boxes or encoded masks # Both poly and bbs are 0-indexed (bbox=[0 0 1 1] encloses first pixel). # # Finally, a note about the intersection over union (iou) computation. # The standard iou of a ground truth (gt) and detected (dt) object is # iou(gt,dt) = area(intersect(gt,dt)) / area(union(gt,dt)) # For "crowd" regions, we use a modified criteria. If a gt object is # marked as "iscrowd", we allow a dt to match any subregion of the gt. # Choosing gt' in the crowd gt that best matches the dt can be done using # gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing # iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) # For crowd gt regions we use this modified criteria above for the iou. # # To compile run "python setup.py build_ext --inplace" # Please do not contact us for help with compiling. # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] iou = _mask.iou merge = _mask.merge frPyObjects = _mask.frPyObjects def encode(bimask): if len(bimask.shape) == 3: return _mask.encode(bimask) elif len(bimask.shape) == 2: h, w = bimask.shape return _mask.encode(bimask.reshape((h, w, 1), order='F'))[0] def decode(rleObjs): if type(rleObjs) == list: return _mask.decode(rleObjs) else: return _mask.decode([rleObjs])[:,:,0] def area(rleObjs): if type(rleObjs) == list: return _mask.area(rleObjs) else: return _mask.area([rleObjs])[0] def toBbox(rleObjs): if type(rleObjs) == list: return _mask.toBbox(rleObjs) else: return _mask.toBbox([rleObjs])[0] ================================================ FILE: cocoapi/PythonAPI/pycocoDemo.ipynb ================================================ { "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "from pycocotools.coco import COCO\n", "import numpy as np\n", "import skimage.io as io\n", "import matplotlib.pyplot as plt\n", "import pylab\n", "pylab.rcParams['figure.figsize'] = (8.0, 10.0)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "dataDir='..'\n", "dataType='val2017'\n", "annFile='{}/annotations/instances_{}.json'.format(dataDir,dataType)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loading annotations into memory...\n", "Done (t=0.81s)\n", "creating index...\n", "index created!\n" ] } ], "source": [ "# initialize COCO api for instance annotations\n", "coco=COCO(annFile)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "COCO categories: \n", "person bicycle car motorcycle airplane bus train truck boat traffic light fire hydrant stop sign parking meter bench bird cat dog horse sheep cow elephant bear zebra giraffe backpack umbrella handbag tie suitcase frisbee skis snowboard sports ball kite baseball bat baseball glove skateboard surfboard tennis racket bottle wine glass cup fork knife spoon bowl banana apple sandwich orange broccoli carrot hot dog pizza donut cake chair couch potted plant bed dining table toilet tv laptop mouse remote keyboard cell phone microwave oven toaster sink refrigerator book clock vase scissors teddy bear hair drier toothbrush\n", "\n", "COCO supercategories: \n", "outdoor food indoor appliance sports person animal vehicle furniture accessory electronic kitchen\n" ] } ], "source": [ "# display COCO categories and supercategories\n", "cats = coco.loadCats(coco.getCatIds())\n", "nms=[cat['name'] for cat in cats]\n", "print('COCO categories: \\n{}\\n'.format(' '.join(nms)))\n", "\n", "nms = set([cat['supercategory'] for cat in cats])\n", "print('COCO supercategories: \\n{}'.format(' '.join(nms)))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# get all images containing given categories, select one at random\n", "catIds = coco.getCatIds(catNms=['person','dog','skateboard']);\n", "imgIds = coco.getImgIds(catIds=catIds );\n", "imgIds = coco.getImgIds(imgIds = [324158])\n", "img = coco.loadImgs(imgIds[np.random.randint(0,len(imgIds))])[0]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nYgVJUgjDiCAICYIQQ9dRFHj2/DmDQbr5q1QuUq2WCaMALaOl42WSTEbNUC6VGI5G1GpVOp0zHGeK\nZRlEUbqgY+bM8D0P3/Vp1OvMbJtKtcLB3j6lYplSqYLnpQtnfNdlNpkws20Arl67hu956TrbTIYw\nSAviTueCRrNGp3PB2toGkCDJCXGU0Gg0vlGcSsj0e32aKw2iKKTX6yOj0esN+PLBQ1ZWWmxsbvLe\n996lVq9zdnHG6ekpGUXm5PiEyPdwZjNM00DXFJI4YTIeY+gmjuekGr6WwfccRqMpjheBrBMnUGs0\n0A2T0XBIuVRgOhmTtUwMI2Wy9vb2cF2PbM5i0O+TzVpUKwWkOKR/2cHQFMbDAadnp0RRgKpqrK6u\n4vs+L1684Dvf/y+//QB+uXv/fd9zmU0nZC0TKZEIPI/dFy/QLYtms4mi6QzHMzTd5OjsFDWTYefo\nmFprg989eEKcqHS7A955511KlTr/509+Tm8w5tr2VbKGxoPP7/PLX/6c884FtVqTWq1Cs9Gg1++j\nz28sp6en/PPPf8a1q9d47733uHp1m16vj+8FbGxsUiqVCUJnnl5UZWVlJZ33G/bJZ03e/M4bXLm6\nRXuljZnNkSuWGc5czGyO0XjI1E7XM8ooqPOubDweIsvKIuFsPB5SKZfIqAqqqlCulNJOSUn1VLFA\nwjBMHMclk8mQz+cXI0nCVS10XGFEWx4NWx7PE/Sq6GKX54DFrO6yWU0YkAQoL8eICso9iRNc11t0\nbALcVFUsQnEWICC6U9F9is5xGQhFZ75M4wvAWdabxRdeAJJIShPmNmABoAJYROLZ8i/xWMFyiHMp\n9FvBQohzJf4rzvuy7r485iZibcUomSgUAs/Hssx0J/JSp5/L5RZygnhuYTAT70Ofa5ji/C/HxS67\n34UeLzwMwhEvstfFeRRFx/K0wfLYnDDi5XK5b1wvgjURoB1FEbV5Fr94LhGqAyzOU7/fp1qt4swc\ncvkcg2EfSIjCgO3NLV5/5VUeP3rEy3fvcP/+fTY2NrBtm43NTfKFAjdu3GAynlGvN/D9AFlWmIwm\nrKys0m61WVtfSw1Z+/vcuv0S48mE7773HpedDhdn51x0Oly/fp1mq8Xu7i4vvXQT00yzDNrrqxiW\nwWg8IZ8r4HohejbPdDajVCrj+T6e75EzLeI4wjJ0HN+j1WrT7VximSa/+OUvsYwsDx8+xtAs7NkY\n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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# load and display image\n", "# I = io.imread('%s/images/%s/%s'%(dataDir,dataType,img['file_name']))\n", "# use url to load image\n", "I = io.imread(img['coco_url'])\n", "plt.axis('off')\n", "plt.imshow(I)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# load and display instance annotations\n", "plt.imshow(I); plt.axis('off')\n", "annIds = coco.getAnnIds(imgIds=img['id'], catIds=catIds, iscrowd=None)\n", "anns = coco.loadAnns(annIds)\n", "coco.showAnns(anns)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loading annotations into memory...\n", "Done (t=0.58s)\n", "creating index...\n", "index created!\n" ] } ], "source": [ "# initialize COCO api for person keypoints annotations\n", "annFile = '{}/annotations/person_keypoints_{}.json'.format(dataDir,dataType)\n", "coco_kps=COCO(annFile)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAtGYWJb1BT27aBYsy1pL2QzDWIcm2Hb6+QW+TxTFSAmomkKUSFh2ht7NhH/zp/8Wz48YTWZYdoaN\nzR1evjikUMojSwmbzTpvHOxyZ3+XQj5P1sqQMU22d2t0u0POLtvESYxlZ7CzWRxngm3lkBUVTdeR\nFSV159J0ZEVFVWVAXr1PMbP5hN/49W+QzWSI/SWzyZg4CdE1jYXjY5oWSSzhByEZO7dahcyRZWUV\nDhOsPt+IOE798sMwYLlcoCgq0/EI1dDxQ598NsMnv/gFzUqNWrWccgeyGn7sMJj0OXhwQHOrhRO4\naJaOaRhrj4VWa4N6rUo+m6XVqFMu5RkP+0hEhK5D++Q1i/kYXZMIQxeJhDCSePvtd7m8vMQ2DTJ2\nkV63m0K87pLZbMpgMOD+/VQWNJ4ueOONu7ieR6lU5Wtf+zqWmeX7P/wR+WKV8bBHp9OhVCqzubmF\nbZvYpsFkMsK0MkiqzvPnz5hMRuSyWXRVodfvUW/UmYxnhFFEuVxh/+BO6sXtuuRzOeazKXEUEMcB\nmpqmYBVzNoViHmSJTz5+wuPHb+F5Ls1mk7PTU1RNR5Fler0evutSLOSxbQvbMsnnMsxnM3KZDPlc\njoxtk82kqY8KMs+fPcXUNQrFPJPJlCiOqTdSA5LBeIppWkhaGsSzv3dAHMboehojHIYxru993kiH\nIaqmYtsZ4jhZS7/CMEztnSWJTL7AZDrl8rpNq9UiSRIq1QoL1yGKEpbLBa7rIEupEdBsNqVSrBBF\nMZVKjevrG0qlMrpuoCgqlmUyn82QZYVOp4uuqeiqhqzA5kaTJInI5ixuOm3yhQzdmxs816FSLnN5\ncUG5VMP3fCzTImNnyGVzXJyfYxoW1Wo9zdMYjQjDAN/1cJbLlT10klq15nI06un/s0wLe5WkJ0hy\nuq5z8M7fgQn8f/6f/odvtza2ODk+R1HSQ+/87CJlEmYsNra2yGayWJksqqZTqTeIgfnMBUnCC3wq\n5RJIoGsaUZi68cirWLdSqZSGKEQxbz56RK1WxbZ1NNXg1avXHB4dsZjPefbsU2q1Mnt7G+ga/OJn\nP2Jns8nF+QmX7XPuP7zHqDdi2O/TqtUY3XRoVGpoaLQvL5m7M37/H/w+e/t7tFoN3nx0Hz8MyJXy\nVGt1Wq0NWs0N/uW//F/54//jf2d/b4vz42M0zeD8/CKdWj2Pr37lq3z9/ffxPJfr6zaNZp3RZMz1\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# load and display keypoints annotations\n", "plt.imshow(I); plt.axis('off')\n", "ax = plt.gca()\n", "annIds = coco_kps.getAnnIds(imgIds=img['id'], catIds=catIds, iscrowd=None)\n", "anns = coco_kps.loadAnns(annIds)\n", "coco_kps.showAnns(anns)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loading annotations into memory...\n", "Done (t=0.13s)\n", "creating index...\n", "index created!\n" ] } ], "source": [ "# initialize COCO api for caption annotations\n", "annFile = '{}/annotations/captions_{}.json'.format(dataDir,dataType)\n", "coco_caps=COCO(annFile)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A man is skate boarding down a path and a dog is running by his side.\n", "A man on a skateboard with a dog outside. \n", "A person riding a skate board with a dog following beside.\n", "This man is riding a skateboard behind a dog.\n", "A man walking his dog on a quiet country road.\n" ] }, { "data": { "image/png": "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\nYgVJUgjDiCAICYIQQ9dRFHj2/DmDQbr5q1QuUq2WCaMALaOl42WSTEbNUC6VGI5G1GpVOp0zHGeK\nZRlEUbqgY+bM8D0P3/Vp1OvMbJtKtcLB3j6lYplSqYLnpQtnfNdlNpkws20Arl67hu956TrbTIYw\nSAviTueCRrNGp3PB2toGkCDJCXGU0Gg0vlGcSsj0e32aKw2iKKTX6yOj0esN+PLBQ1ZWWmxsbvLe\n996lVq9zdnHG6ekpGUXm5PiEyPdwZjNM00DXFJI4YTIeY+gmjuekGr6WwfccRqMpjheBrBMnUGs0\n0A2T0XBIuVRgOhmTtUwMI2Wy9vb2cF2PbM5i0O+TzVpUKwWkOKR/2cHQFMbDAadnp0RRgKpqrK6u\n4vs+L1684Dvf/y+//QB+uXv/fd9zmU0nZC0TKZEIPI/dFy/QLYtms4mi6QzHMzTd5OjsFDWTYefo\nmFprg989eEKcqHS7A955511KlTr/509+Tm8w5tr2VbKGxoPP7/PLX/6c884FtVqTWq1Cs9Gg1++j\nz28sp6en/PPPf8a1q9d47733uHp1m16vj+8FbGxsUiqVCUJnnl5UZWVlJZ33G/bJZ03e/M4bXLm6\nRXuljZnNkSuWGc5czGyO0XjI1E7XM8ooqPOubDweIsvKIuFsPB5SKZfIqAqqqlCulNJOSUn1VLFA\nwjBMHMclk8mQz+cXI0nCVS10XGFEWx4NWx7PE/Sq6GKX54DFrO6yWU0YkAQoL8eICso9iRNc11t0\nbALcVFUsQnEWICC6U9F9is5xGQhFZ75M4wvAWdabxRdeAJJIShPmNmABoAJYROLZ8i/xWMFyiHMp\n9FvBQohzJf4rzvuy7r485iZibcUomSgUAs/Hssx0J/JSp5/L5RZygnhuYTAT70Ofa5ji/C/HxS67\n34UeLzwMwhEvstfFeRRFx/K0wfLYnDDi5XK5b1wvgjURoB1FEbV5Fr94LhGqAyzOU7/fp1qt4swc\ncvkcg2EfSIjCgO3NLV5/5VUeP3rEy3fvcP/+fTY2NrBtm43NTfKFAjdu3GAynlGvN/D9AFlWmIwm\nrKys0m61WVtfSw1Z+/vcuv0S48mE7773HpedDhdn51x0Oly/fp1mq8Xu7i4vvXQT00yzDNrrqxiW\nwWg8IZ8r4HohejbPdDajVCrj+T6e75EzLeI4wjJ0HN+j1WrT7VximSa/+OUvsYwsDx8+xtAs7NkY\n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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# load and display caption annotations\n", "annIds = coco_caps.getAnnIds(imgIds=img['id']);\n", "anns = coco_caps.loadAnns(annIds)\n", "coco_caps.showAnns(anns)\n", "plt.imshow(I); plt.axis('off'); plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 1 } ================================================ FILE: cocoapi/PythonAPI/pycocoEvalDemo.ipynb ================================================ { "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from pycocotools.coco import COCO\n", "from pycocotools.cocoeval import COCOeval\n", "import numpy as np\n", "import skimage.io as io\n", "import pylab\n", "pylab.rcParams['figure.figsize'] = (10.0, 8.0)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running demo for *bbox* results.\n" ] } ], "source": [ "annType = ['segm','bbox','keypoints']\n", "annType = annType[1] #specify type here\n", "prefix = 'person_keypoints' if annType=='keypoints' else 'instances'\n", "print 'Running demo for *%s* results.'%(annType)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loading annotations into memory...\n", "Done (t=8.01s)\n", "creating index...\n", "index created!\n" ] } ], "source": [ "#initialize COCO ground truth api\n", "dataDir='../'\n", "dataType='val2014'\n", "annFile = '%s/annotations/%s_%s.json'%(dataDir,prefix,dataType)\n", "cocoGt=COCO(annFile)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loading and preparing results... \n", "DONE (t=0.05s)\n", "creating index...\n", "index created!\n" ] } ], "source": [ "#initialize COCO detections api\n", "resFile='%s/results/%s_%s_fake%s100_results.json'\n", "resFile = resFile%(dataDir, prefix, dataType, annType)\n", "cocoDt=cocoGt.loadRes(resFile)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "imgIds=sorted(cocoGt.getImgIds())\n", "imgIds=imgIds[0:100]\n", "imgId = imgIds[np.random.randint(100)]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running per image evaluation... \n", "DONE (t=0.46s).\n", "Accumulating evaluation results... \n", "DONE (t=0.38s).\n", " Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.505\n", " Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.697\n", " Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.573\n", " Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.586\n", " Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.519\n", " Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.501\n", " Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.387\n", " Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.594\n", " Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.595\n", " Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.640\n", " Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.566\n", " Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.564\n" ] } ], "source": [ "# running evaluation\n", "cocoEval = COCOeval(cocoGt,cocoDt,annType)\n", "cocoEval.params.imgIds = imgIds\n", "cocoEval.evaluate()\n", "cocoEval.accumulate()\n", "cocoEval.summarize()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 } ================================================ FILE: cocoapi/PythonAPI/pycocotools/__init__.py ================================================ __author__ = 'tylin' ================================================ FILE: cocoapi/PythonAPI/pycocotools/_mask.c ================================================ /* Generated by Cython 0.29.14 */ #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_14" #define CYTHON_HEX_VERSION 0x001D0EF0 #define CYTHON_FUTURE_DIVISION 0 #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 #define PyObject_Unicode PyObject_Str #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__pycocotools___mask #define __PYX_HAVE_API__pycocotools___mask /* Early includes */ #include #include #include "numpy/arrayobject.h" #include "numpy/ufuncobject.h" #include #include "maskApi.h" #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[] = { "pycocotools/_mask.pyx", "stringsource", "__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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":776 * # 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":777 * * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":778 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":779 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":783 * #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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":784 * * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":785 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":786 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":790 * #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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":791 * * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":800 * # 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":801 * # 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":802 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":804 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":805 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< * ctypedef npy_ulonglong ulonglong_t * */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":806 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":808 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< * ctypedef npy_uintp uintp_t * */ typedef npy_intp __pyx_t_5numpy_intp_t; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":809 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< * * ctypedef npy_double float_t */ typedef npy_uintp __pyx_t_5numpy_uintp_t; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":811 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":812 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< * ctypedef npy_longdouble longdouble_t * */ typedef npy_double __pyx_t_5numpy_double_t; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":813 * 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 ---*/ struct __pyx_obj_11pycocotools_5_mask_RLEs; struct __pyx_obj_11pycocotools_5_mask_Masks; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":815 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":816 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< * ctypedef npy_clongdouble clongdouble_t * */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":817 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":819 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< * * cdef inline object PyArray_MultiIterNew1(a): */ typedef npy_cdouble __pyx_t_5numpy_complex_t; /* "pycocotools/_mask.pyx":56 * # python class to wrap RLE array in C * # the class handles the memory allocation and deallocation * cdef class RLEs: # <<<<<<<<<<<<<< * cdef RLE *_R * cdef siz _n */ struct __pyx_obj_11pycocotools_5_mask_RLEs { PyObject_HEAD RLE *_R; siz _n; }; /* "pycocotools/_mask.pyx":77 * # python class to wrap Mask array in C * # the class handles the memory allocation and deallocation * cdef class Masks: # <<<<<<<<<<<<<< * cdef byte *_mask * cdef siz _h */ struct __pyx_obj_11pycocotools_5_mask_Masks { PyObject_HEAD byte *_mask; siz _h; siz _w; siz _n; }; /* --- 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); /* 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); /* 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); /* IncludeStringH.proto */ #include /* BytesEquals.proto */ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); /* UnicodeEquals.proto */ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); /* StrEquals.proto */ #if PY_MAJOR_VERSION >= 3 #define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals #else #define __Pyx_PyString_Equals __Pyx_PyBytes_Equals #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 /* 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 /* PyObjectCallOneArg.proto */ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); /* 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 /* RaiseException.proto */ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /* ExtTypeTest.proto */ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /* 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); /* 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 /* 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 /* PyIntCompare.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace); /* 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 /* DictGetItem.proto */ #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key); #define __Pyx_PyObject_Dict_GetItem(obj, name)\ (likely(PyDict_CheckExact(obj)) ?\ __Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name)) #else #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key) #define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name) #endif /* PyObjectCall2Args.proto */ static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2); /* 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); /* 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 }; /* ListCompAppend.proto */ #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) { PyListObject* L = (PyListObject*) list; Py_ssize_t len = Py_SIZE(list); if (likely(L->allocated > len)) { Py_INCREF(x); PyList_SET_ITEM(list, len, x); Py_SIZE(list) = len+1; return 0; } return PyList_Append(list, x); } #else #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x) #endif /* FetchCommonType.proto */ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); /* CythonFunction.proto */ #define __Pyx_CyFunction_USED 1 #define __Pyx_CYFUNCTION_STATICMETHOD 0x01 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02 #define __Pyx_CYFUNCTION_CCLASS 0x04 #define __Pyx_CyFunction_GetClosure(f)\ (((__pyx_CyFunctionObject *) (f))->func_closure) #define __Pyx_CyFunction_GetClassObj(f)\ (((__pyx_CyFunctionObject *) (f))->func_classobj) #define __Pyx_CyFunction_Defaults(type, f)\ ((type *)(((__pyx_CyFunctionObject *) (f))->defaults)) #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\ ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g) typedef struct { PyCFunctionObject func; #if PY_VERSION_HEX < 0x030500A0 PyObject *func_weakreflist; #endif PyObject *func_dict; PyObject *func_name; PyObject *func_qualname; PyObject *func_doc; PyObject *func_globals; PyObject *func_code; PyObject *func_closure; PyObject *func_classobj; void *defaults; int defaults_pyobjects; int flags; PyObject *defaults_tuple; PyObject *defaults_kwdict; PyObject *(*defaults_getter)(PyObject *); PyObject *func_annotations; } __pyx_CyFunctionObject; static PyTypeObject *__pyx_CyFunctionType = 0; #define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType)) #define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, globals, code)\ __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, globals, code) static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml, int flags, PyObject* qualname, PyObject *self, PyObject *module, PyObject *globals, PyObject* code); static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, size_t size, int pyobjects); static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, PyObject *tuple); static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, PyObject *dict); static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, PyObject *dict); static int __pyx_CyFunction_init(void); /* BufferFallbackError.proto */ static void __Pyx_RaiseBufferFallbackError(void); /* None.proto */ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t); /* BufferIndexError.proto */ static void __Pyx_RaiseBufferIndexError(int axis); #define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) /* PySequenceContains.proto */ static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { int result = PySequence_Contains(seq, item); return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); } /* 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); /* 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 /* PyObject_GenericGetAttrNoDict.proto */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name); #else #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr #endif /* PyObject_GenericGetAttr.proto */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name); #else #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr #endif /* SetupReduce.proto */ static int __Pyx_setup_reduce(PyObject* type_obj); /* 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_long(long value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_siz(siz value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t 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 /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); /* CIntToPy.proto */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value); /* CIntFromPy.proto */ static CYTHON_INLINE siz __Pyx_PyInt_As_siz(PyObject *); /* CIntFromPy.proto */ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *); /* 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_ufunc = 0; static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ static CYTHON_INLINE int __pyx_f_5numpy_import_array(void); /*proto*/ /* Module declarations from 'libc.stdlib' */ /* Module declarations from 'pycocotools._mask' */ static PyTypeObject *__pyx_ptype_11pycocotools_5_mask_RLEs = 0; static PyTypeObject *__pyx_ptype_11pycocotools_5_mask_Masks = 0; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t = { "uint8_t", NULL, sizeof(__pyx_t_5numpy_uint8_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint8_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint8_t), 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_double_t = { "double_t", NULL, sizeof(__pyx_t_5numpy_double_t), { 0 }, 0, 'R', 0, 0 }; static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t = { "uint32_t", NULL, sizeof(__pyx_t_5numpy_uint32_t), { 0 }, 0, IS_UNSIGNED(__pyx_t_5numpy_uint32_t) ? 'U' : 'I', IS_UNSIGNED(__pyx_t_5numpy_uint32_t), 0 }; #define __Pyx_MODULE_NAME "pycocotools._mask" extern int __pyx_module_is_main_pycocotools___mask; int __pyx_module_is_main_pycocotools___mask = 0; /* Implementation of 'pycocotools._mask' */ static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_AttributeError; static PyObject *__pyx_builtin_TypeError; static PyObject *__pyx_builtin_enumerate; static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_RuntimeError; static PyObject *__pyx_builtin_ImportError; static const char __pyx_k_F[] = "F"; static const char __pyx_k_N[] = "N"; static const char __pyx_k_R[] = "R"; static const char __pyx_k_a[] = "_a"; 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_m[] = "m"; static const char __pyx_k_n[] = "n"; static const char __pyx_k_p[] = "p"; static const char __pyx_k_w[] = "w"; static const char __pyx_k_Rs[] = "Rs"; static const char __pyx_k_bb[] = "bb"; static const char __pyx_k_dt[] = "dt"; static const char __pyx_k_gt[] = "gt"; static const char __pyx_k_np[] = "np"; static const char __pyx_k_a_2[] = "a"; static const char __pyx_k_all[] = "all"; static const char __pyx_k_iou[] = "_iou"; static const char __pyx_k_len[] = "_len"; static const char __pyx_k_obj[] = "obj"; static const char __pyx_k_sys[] = "sys"; static const char __pyx_k_RLEs[] = "RLEs"; static const char __pyx_k_area[] = "area"; static const char __pyx_k_bb_2[] = "_bb"; static const char __pyx_k_cnts[] = "cnts"; static const char __pyx_k_data[] = "data"; static const char __pyx_k_main[] = "__main__"; static const char __pyx_k_mask[] = "mask"; static const char __pyx_k_name[] = "__name__"; static const char __pyx_k_objs[] = "objs"; static const char __pyx_k_poly[] = "poly"; static const char __pyx_k_size[] = "size"; static const char __pyx_k_test[] = "__test__"; static const char __pyx_k_utf8[] = "utf8"; static const char __pyx_k_Masks[] = "Masks"; static const char __pyx_k_array[] = "array"; static const char __pyx_k_bbIou[] = "_bbIou"; static const char __pyx_k_dtype[] = "dtype"; static const char __pyx_k_iou_2[] = "iou"; static const char __pyx_k_isbox[] = "isbox"; static const char __pyx_k_isrle[] = "isrle"; static const char __pyx_k_masks[] = "masks"; static const char __pyx_k_merge[] = "merge"; static const char __pyx_k_numpy[] = "numpy"; static const char __pyx_k_order[] = "order"; static const char __pyx_k_pyobj[] = "pyobj"; static const char __pyx_k_range[] = "range"; static const char __pyx_k_shape[] = "shape"; static const char __pyx_k_uint8[] = "uint8"; static const char __pyx_k_zeros[] = "zeros"; static const char __pyx_k_astype[] = "astype"; static const char __pyx_k_author[] = "__author__"; static const char __pyx_k_counts[] = "counts"; static const char __pyx_k_decode[] = "decode"; static const char __pyx_k_double[] = "double"; static const char __pyx_k_encode[] = "encode"; static const char __pyx_k_frBbox[] = "frBbox"; static const char __pyx_k_frPoly[] = "frPoly"; static const char __pyx_k_import[] = "__import__"; static const char __pyx_k_iouFun[] = "_iouFun"; static const char __pyx_k_reduce[] = "__reduce__"; static const char __pyx_k_rleIou[] = "_rleIou"; static const char __pyx_k_toBbox[] = "toBbox"; static const char __pyx_k_ucRles[] = "ucRles"; static const char __pyx_k_uint32[] = "uint32"; static const char __pyx_k_iscrowd[] = "iscrowd"; static const char __pyx_k_np_poly[] = "np_poly"; static const char __pyx_k_preproc[] = "_preproc"; static const char __pyx_k_reshape[] = "reshape"; static const char __pyx_k_rleObjs[] = "rleObjs"; static const char __pyx_k_tsungyi[] = "tsungyi"; static const char __pyx_k_c_string[] = "c_string"; static const char __pyx_k_frString[] = "_frString"; static const char __pyx_k_getstate[] = "__getstate__"; static const char __pyx_k_setstate[] = "__setstate__"; static const char __pyx_k_toString[] = "_toString"; static const char __pyx_k_TypeError[] = "TypeError"; static const char __pyx_k_enumerate[] = "enumerate"; static const char __pyx_k_intersect[] = "intersect"; static const char __pyx_k_py_string[] = "py_string"; static const char __pyx_k_pyiscrowd[] = "pyiscrowd"; static const char __pyx_k_reduce_ex[] = "__reduce_ex__"; static const char __pyx_k_ValueError[] = "ValueError"; static const char __pyx_k_ImportError[] = "ImportError"; static const char __pyx_k_frPyObjects[] = "frPyObjects"; static const char __pyx_k_RuntimeError[] = "RuntimeError"; static const char __pyx_k_version_info[] = "version_info"; static const char __pyx_k_reduce_cython[] = "__reduce_cython__"; static const char __pyx_k_AttributeError[] = "AttributeError"; static const char __pyx_k_PYTHON_VERSION[] = "PYTHON_VERSION"; static const char __pyx_k_iou_locals__len[] = "iou.._len"; static const char __pyx_k_setstate_cython[] = "__setstate_cython__"; static const char __pyx_k_frUncompressedRLE[] = "frUncompressedRLE"; static const char __pyx_k_iou_locals__bbIou[] = "iou.._bbIou"; static const char __pyx_k_pycocotools__mask[] = "pycocotools._mask"; static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; static const char __pyx_k_iou_locals__rleIou[] = "iou.._rleIou"; static const char __pyx_k_iou_locals__preproc[] = "iou.._preproc"; static const char __pyx_k_pycocotools__mask_pyx[] = "pycocotools/_mask.pyx"; static const char __pyx_k_input_data_type_not_allowed[] = "input data type not allowed."; static const char __pyx_k_input_type_is_not_supported[] = "input type is not supported."; static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; static const char __pyx_k_Python_version_must_be_2_or_3[] = "Python version must be 2 or 3"; static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import"; static const char __pyx_k_numpy_ndarray_input_is_only_for[] = "numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension"; static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static const char __pyx_k_unrecognized_type_The_following[] = "unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported."; 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_The_dt_and_gt_should_have_the_sa[] = "The dt and gt should have the same data type, either RLEs, list or np.ndarray"; static const char __pyx_k_list_input_can_be_bounding_box_N[] = "list input can be bounding box (Nx4) or RLEs ([RLE])"; static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__"; static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import"; static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; static PyObject *__pyx_n_s_AttributeError; static PyObject *__pyx_n_s_F; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor; static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2; static PyObject *__pyx_n_s_ImportError; static PyObject *__pyx_n_s_Masks; static PyObject *__pyx_n_s_N; static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor; static PyObject *__pyx_n_s_PYTHON_VERSION; static PyObject *__pyx_kp_s_Python_version_must_be_2_or_3; static PyObject *__pyx_n_s_R; static PyObject *__pyx_n_s_RLEs; static PyObject *__pyx_n_s_Rs; static PyObject *__pyx_n_s_RuntimeError; static PyObject *__pyx_kp_s_The_dt_and_gt_should_have_the_sa; static PyObject *__pyx_n_s_TypeError; static PyObject *__pyx_n_s_ValueError; static PyObject *__pyx_n_s_a; static PyObject *__pyx_n_s_a_2; static PyObject *__pyx_n_s_all; static PyObject *__pyx_n_s_area; static PyObject *__pyx_n_s_array; static PyObject *__pyx_n_s_astype; static PyObject *__pyx_n_s_author; static PyObject *__pyx_n_s_bb; static PyObject *__pyx_n_s_bbIou; static PyObject *__pyx_n_s_bb_2; static PyObject *__pyx_n_s_c_string; static PyObject *__pyx_n_s_cline_in_traceback; static PyObject *__pyx_n_s_cnts; static PyObject *__pyx_n_s_counts; static PyObject *__pyx_n_s_data; static PyObject *__pyx_n_s_decode; static PyObject *__pyx_n_s_double; static PyObject *__pyx_n_s_dt; static PyObject *__pyx_n_s_dtype; static PyObject *__pyx_n_s_encode; static PyObject *__pyx_n_s_enumerate; static PyObject *__pyx_n_s_frBbox; static PyObject *__pyx_n_s_frPoly; static PyObject *__pyx_n_s_frPyObjects; static PyObject *__pyx_n_s_frString; static PyObject *__pyx_n_s_frUncompressedRLE; static PyObject *__pyx_n_s_getstate; static PyObject *__pyx_n_s_gt; static PyObject *__pyx_n_s_h; static PyObject *__pyx_n_s_i; static PyObject *__pyx_n_s_import; static PyObject *__pyx_kp_s_input_data_type_not_allowed; static PyObject *__pyx_kp_s_input_type_is_not_supported; static PyObject *__pyx_n_s_intersect; static PyObject *__pyx_n_s_iou; static PyObject *__pyx_n_s_iouFun; static PyObject *__pyx_n_s_iou_2; static PyObject *__pyx_n_s_iou_locals__bbIou; static PyObject *__pyx_n_s_iou_locals__len; static PyObject *__pyx_n_s_iou_locals__preproc; static PyObject *__pyx_n_s_iou_locals__rleIou; static PyObject *__pyx_n_s_isbox; static PyObject *__pyx_n_s_iscrowd; static PyObject *__pyx_n_s_isrle; static PyObject *__pyx_n_s_j; static PyObject *__pyx_n_s_len; static PyObject *__pyx_kp_s_list_input_can_be_bounding_box_N; static PyObject *__pyx_n_s_m; static PyObject *__pyx_n_s_main; static PyObject *__pyx_n_s_mask; static PyObject *__pyx_n_s_masks; static PyObject *__pyx_n_s_merge; static PyObject *__pyx_n_s_n; static PyObject *__pyx_n_s_name; static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous; static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; static PyObject *__pyx_kp_s_no_default___reduce___due_to_non; static PyObject *__pyx_n_s_np; static PyObject *__pyx_n_s_np_poly; 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_kp_s_numpy_ndarray_input_is_only_for; static PyObject *__pyx_n_s_obj; static PyObject *__pyx_n_s_objs; static PyObject *__pyx_n_s_order; static PyObject *__pyx_n_s_p; static PyObject *__pyx_n_s_poly; static PyObject *__pyx_n_s_preproc; static PyObject *__pyx_n_s_py_string; static PyObject *__pyx_n_s_pycocotools__mask; static PyObject *__pyx_kp_s_pycocotools__mask_pyx; static PyObject *__pyx_n_s_pyiscrowd; static PyObject *__pyx_n_s_pyobj; static PyObject *__pyx_n_s_range; static PyObject *__pyx_n_s_reduce; static PyObject *__pyx_n_s_reduce_cython; static PyObject *__pyx_n_s_reduce_ex; static PyObject *__pyx_n_s_reshape; static PyObject *__pyx_n_s_rleIou; static PyObject *__pyx_n_s_rleObjs; static PyObject *__pyx_n_s_setstate; static PyObject *__pyx_n_s_setstate_cython; static PyObject *__pyx_n_s_shape; static PyObject *__pyx_n_s_size; static PyObject *__pyx_n_s_sys; static PyObject *__pyx_n_s_test; static PyObject *__pyx_n_s_toBbox; static PyObject *__pyx_n_s_toString; static PyObject *__pyx_n_s_tsungyi; static PyObject *__pyx_n_s_ucRles; static PyObject *__pyx_n_s_uint32; static PyObject *__pyx_n_s_uint8; static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd; static PyObject *__pyx_kp_s_unrecognized_type_The_following; static PyObject *__pyx_n_s_utf8; static PyObject *__pyx_n_s_version_info; static PyObject *__pyx_n_s_w; static PyObject *__pyx_n_s_zeros; static int __pyx_pf_11pycocotools_5_mask_4RLEs___cinit__(struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self, siz __pyx_v_n); /* proto */ static void __pyx_pf_11pycocotools_5_mask_4RLEs_2__dealloc__(struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_4RLEs_4__getattr__(struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self, PyObject *__pyx_v_key); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_4RLEs_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_4RLEs_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ static int __pyx_pf_11pycocotools_5_mask_5Masks___cinit__(struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self, PyObject *__pyx_v_h, PyObject *__pyx_v_w, PyObject *__pyx_v_n); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_5Masks_2__array__(struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_5Masks_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_5Masks_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask__toString(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_2_frString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_4encode(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_mask); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_6decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_8merge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs, PyObject *__pyx_v_intersect); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_10area(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_3iou__preproc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objs); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_3iou_2_rleIou(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_dt, struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_3iou_4_bbIou(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dt, PyArrayObject *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_3iou_6_len(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_obj); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_12iou(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt, PyObject *__pyx_v_gt, PyObject *__pyx_v_pyiscrowd); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_14toBbox(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_16frBbox(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_bb, siz __pyx_v_h, siz __pyx_v_w); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_18frPoly(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_poly, siz __pyx_v_h, siz __pyx_v_w); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_20frUncompressedRLE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ucRles, CYTHON_UNUSED siz __pyx_v_h, CYTHON_UNUSED siz __pyx_v_w); /* proto */ static PyObject *__pyx_pf_11pycocotools_5_mask_22frPyObjects(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pyobj, PyObject *__pyx_v_h, PyObject *__pyx_v_w); /* 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_tp_new_11pycocotools_5_mask_RLEs(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/ static PyObject *__pyx_tp_new_11pycocotools_5_mask_Masks(PyTypeObject *t, PyObject *a, PyObject *k); /*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_tuple_; 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__7; static PyObject *__pyx_tuple__8; static PyObject *__pyx_tuple__9; static PyObject *__pyx_tuple__10; static PyObject *__pyx_tuple__12; static PyObject *__pyx_tuple__14; static PyObject *__pyx_tuple__16; static PyObject *__pyx_tuple__18; static PyObject *__pyx_tuple__19; static PyObject *__pyx_tuple__20; static PyObject *__pyx_tuple__21; static PyObject *__pyx_tuple__22; static PyObject *__pyx_tuple__23; static PyObject *__pyx_tuple__24; static PyObject *__pyx_tuple__25; static PyObject *__pyx_tuple__26; static PyObject *__pyx_tuple__27; static PyObject *__pyx_tuple__28; static PyObject *__pyx_tuple__30; static PyObject *__pyx_tuple__32; static PyObject *__pyx_tuple__34; static PyObject *__pyx_tuple__36; static PyObject *__pyx_tuple__38; static PyObject *__pyx_tuple__40; static PyObject *__pyx_tuple__42; static PyObject *__pyx_tuple__44; static PyObject *__pyx_tuple__46; static PyObject *__pyx_tuple__48; static PyObject *__pyx_tuple__50; static PyObject *__pyx_codeobj__11; static PyObject *__pyx_codeobj__13; static PyObject *__pyx_codeobj__15; static PyObject *__pyx_codeobj__17; static PyObject *__pyx_codeobj__29; static PyObject *__pyx_codeobj__31; static PyObject *__pyx_codeobj__33; static PyObject *__pyx_codeobj__35; static PyObject *__pyx_codeobj__37; static PyObject *__pyx_codeobj__39; static PyObject *__pyx_codeobj__41; static PyObject *__pyx_codeobj__43; static PyObject *__pyx_codeobj__45; static PyObject *__pyx_codeobj__47; static PyObject *__pyx_codeobj__49; static PyObject *__pyx_codeobj__51; /* Late includes */ /* "pycocotools/_mask.pyx":60 * cdef siz _n * * def __cinit__(self, siz n =0): # <<<<<<<<<<<<<< * rlesInit(&self._R, n) * self._n = n */ /* Python wrapper */ static int __pyx_pw_11pycocotools_5_mask_4RLEs_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_11pycocotools_5_mask_4RLEs_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { siz __pyx_v_n; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,0}; PyObject* values[1] = {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 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 (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n); if (value) { values[0] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 60, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } } if (values[0]) { __pyx_v_n = __Pyx_PyInt_As_siz(values[0]); if (unlikely((__pyx_v_n == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 60, __pyx_L3_error) } else { __pyx_v_n = ((siz)0); } } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 60, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.RLEs.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_11pycocotools_5_mask_4RLEs___cinit__(((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_v_self), __pyx_v_n); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_11pycocotools_5_mask_4RLEs___cinit__(struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self, siz __pyx_v_n) { int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__", 0); /* "pycocotools/_mask.pyx":61 * * def __cinit__(self, siz n =0): * rlesInit(&self._R, n) # <<<<<<<<<<<<<< * self._n = n * */ rlesInit((&__pyx_v_self->_R), __pyx_v_n); /* "pycocotools/_mask.pyx":62 * def __cinit__(self, siz n =0): * rlesInit(&self._R, n) * self._n = n # <<<<<<<<<<<<<< * * # free the RLE array here */ __pyx_v_self->_n = __pyx_v_n; /* "pycocotools/_mask.pyx":60 * cdef siz _n * * def __cinit__(self, siz n =0): # <<<<<<<<<<<<<< * rlesInit(&self._R, n) * self._n = n */ /* function exit code */ __pyx_r = 0; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":65 * * # free the RLE array here * def __dealloc__(self): # <<<<<<<<<<<<<< * if self._R is not NULL: * for i in range(self._n): */ /* Python wrapper */ static void __pyx_pw_11pycocotools_5_mask_4RLEs_3__dealloc__(PyObject *__pyx_v_self); /*proto*/ static void __pyx_pw_11pycocotools_5_mask_4RLEs_3__dealloc__(PyObject *__pyx_v_self) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0); __pyx_pf_11pycocotools_5_mask_4RLEs_2__dealloc__(((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); } static void __pyx_pf_11pycocotools_5_mask_4RLEs_2__dealloc__(struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self) { siz __pyx_v_i; __Pyx_RefNannyDeclarations int __pyx_t_1; siz __pyx_t_2; siz __pyx_t_3; siz __pyx_t_4; __Pyx_RefNannySetupContext("__dealloc__", 0); /* "pycocotools/_mask.pyx":66 * # free the RLE array here * def __dealloc__(self): * if self._R is not NULL: # <<<<<<<<<<<<<< * for i in range(self._n): * free(self._R[i].cnts) */ __pyx_t_1 = ((__pyx_v_self->_R != NULL) != 0); if (__pyx_t_1) { /* "pycocotools/_mask.pyx":67 * def __dealloc__(self): * if self._R is not NULL: * for i in range(self._n): # <<<<<<<<<<<<<< * free(self._R[i].cnts) * free(self._R) */ __pyx_t_2 = __pyx_v_self->_n; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i = __pyx_t_4; /* "pycocotools/_mask.pyx":68 * if self._R is not NULL: * for i in range(self._n): * free(self._R[i].cnts) # <<<<<<<<<<<<<< * free(self._R) * def __getattr__(self, key): */ free((__pyx_v_self->_R[__pyx_v_i]).cnts); } /* "pycocotools/_mask.pyx":69 * for i in range(self._n): * free(self._R[i].cnts) * free(self._R) # <<<<<<<<<<<<<< * def __getattr__(self, key): * if key == 'n': */ free(__pyx_v_self->_R); /* "pycocotools/_mask.pyx":66 * # free the RLE array here * def __dealloc__(self): * if self._R is not NULL: # <<<<<<<<<<<<<< * for i in range(self._n): * free(self._R[i].cnts) */ } /* "pycocotools/_mask.pyx":65 * * # free the RLE array here * def __dealloc__(self): # <<<<<<<<<<<<<< * if self._R is not NULL: * for i in range(self._n): */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "pycocotools/_mask.pyx":70 * free(self._R[i].cnts) * free(self._R) * def __getattr__(self, key): # <<<<<<<<<<<<<< * if key == 'n': * return self._n */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_4RLEs_5__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/ static PyObject *__pyx_pw_11pycocotools_5_mask_4RLEs_5__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_4RLEs_4__getattr__(((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_v_self), ((PyObject *)__pyx_v_key)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_4RLEs_4__getattr__(struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self, PyObject *__pyx_v_key) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations int __pyx_t_1; PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("__getattr__", 0); /* "pycocotools/_mask.pyx":71 * free(self._R) * def __getattr__(self, key): * if key == 'n': # <<<<<<<<<<<<<< * return self._n * raise AttributeError(key) */ __pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_key, __pyx_n_s_n, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 71, __pyx_L1_error) if (__pyx_t_1) { /* "pycocotools/_mask.pyx":72 * def __getattr__(self, key): * if key == 'n': * return self._n # <<<<<<<<<<<<<< * raise AttributeError(key) * */ __Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyInt_From_siz(__pyx_v_self->_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* "pycocotools/_mask.pyx":71 * free(self._R) * def __getattr__(self, key): * if key == 'n': # <<<<<<<<<<<<<< * return self._n * raise AttributeError(key) */ } /* "pycocotools/_mask.pyx":73 * if key == 'n': * return self._n * raise AttributeError(key) # <<<<<<<<<<<<<< * * # python class to wrap Mask array in C */ __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AttributeError, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 73, __pyx_L1_error) /* "pycocotools/_mask.pyx":70 * free(self._R[i].cnts) * free(self._R) * def __getattr__(self, key): # <<<<<<<<<<<<<< * if key == 'n': * return self._n */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("pycocotools._mask.RLEs.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_4RLEs_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_11pycocotools_5_mask_4RLEs_7__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_4RLEs_6__reduce_cython__(((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_4RLEs_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__reduce_cython__", 0); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("pycocotools._mask.RLEs.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_4RLEs_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ static PyObject *__pyx_pw_11pycocotools_5_mask_4RLEs_9__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_4RLEs_8__setstate_cython__(((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_4RLEs_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__setstate_cython__", 0); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 4, __pyx_L1_error) /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("pycocotools._mask.RLEs.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":83 * cdef siz _n * * def __cinit__(self, h, w, n): # <<<<<<<<<<<<<< * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h */ /* Python wrapper */ static int __pyx_pw_11pycocotools_5_mask_5Masks_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_pw_11pycocotools_5_mask_5Masks_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_h = 0; PyObject *__pyx_v_w = 0; PyObject *__pyx_v_n = 0; int __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_h,&__pyx_n_s_w,&__pyx_n_s_n,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_h)) != 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_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 1); __PYX_ERR(0, 83, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, 2); __PYX_ERR(0, 83, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) __PYX_ERR(0, 83, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_h = values[0]; __pyx_v_w = values[1]; __pyx_v_n = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 83, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.Masks.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return -1; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_11pycocotools_5_mask_5Masks___cinit__(((struct __pyx_obj_11pycocotools_5_mask_Masks *)__pyx_v_self), __pyx_v_h, __pyx_v_w, __pyx_v_n); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static int __pyx_pf_11pycocotools_5_mask_5Masks___cinit__(struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self, PyObject *__pyx_v_h, PyObject *__pyx_v_w, PyObject *__pyx_v_n) { int __pyx_r; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; size_t __pyx_t_4; siz __pyx_t_5; __Pyx_RefNannySetupContext("__cinit__", 0); /* "pycocotools/_mask.pyx":84 * * def __cinit__(self, h, w, n): * self._mask = malloc(h*w*n* sizeof(byte)) # <<<<<<<<<<<<<< * self._h = h * self._w = w */ __pyx_t_1 = PyNumber_Multiply(__pyx_v_h, __pyx_v_w); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(byte))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyInt_As_size_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_self->_mask = ((byte *)malloc(__pyx_t_4)); /* "pycocotools/_mask.pyx":85 * def __cinit__(self, h, w, n): * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h # <<<<<<<<<<<<<< * self._w = w * self._n = n */ __pyx_t_5 = __Pyx_PyInt_As_siz(__pyx_v_h); if (unlikely((__pyx_t_5 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L1_error) __pyx_v_self->_h = __pyx_t_5; /* "pycocotools/_mask.pyx":86 * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h * self._w = w # <<<<<<<<<<<<<< * self._n = n * # def __dealloc__(self): */ __pyx_t_5 = __Pyx_PyInt_As_siz(__pyx_v_w); if (unlikely((__pyx_t_5 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 86, __pyx_L1_error) __pyx_v_self->_w = __pyx_t_5; /* "pycocotools/_mask.pyx":87 * self._h = h * self._w = w * self._n = n # <<<<<<<<<<<<<< * # def __dealloc__(self): * # the memory management of _mask has been passed to np.ndarray */ __pyx_t_5 = __Pyx_PyInt_As_siz(__pyx_v_n); if (unlikely((__pyx_t_5 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 87, __pyx_L1_error) __pyx_v_self->_n = __pyx_t_5; /* "pycocotools/_mask.pyx":83 * cdef siz _n * * def __cinit__(self, h, w, n): # <<<<<<<<<<<<<< * self._mask = malloc(h*w*n* sizeof(byte)) * self._h = h */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("pycocotools._mask.Masks.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":93 * * # called when passing into np.array() and return an np.ndarray in column-major order * def __array__(self): # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = self._h*self._w*self._n */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_5Masks_3__array__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_11pycocotools_5_mask_5Masks_3__array__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__array__ (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_5Masks_2__array__(((struct __pyx_obj_11pycocotools_5_mask_Masks *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_5Masks_2__array__(struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self) { npy_intp __pyx_v_shape[1]; PyObject *__pyx_v_ndarray = NULL; 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; __Pyx_RefNannySetupContext("__array__", 0); /* "pycocotools/_mask.pyx":95 * def __array__(self): * cdef np.npy_intp shape[1] * shape[0] = self._h*self._w*self._n # <<<<<<<<<<<<<< * # Create a 1D array, and reshape it to fortran/Matlab column-major array * ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') */ (__pyx_v_shape[0]) = ((((npy_intp)__pyx_v_self->_h) * __pyx_v_self->_w) * __pyx_v_self->_n); /* "pycocotools/_mask.pyx":97 * shape[0] = self._h*self._w*self._n * # Create a 1D array, and reshape it to fortran/Matlab column-major array * ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') # <<<<<<<<<<<<<< * # The _mask allocated by Masks is now handled by ndarray * PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) */ __pyx_t_1 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_UINT8, __pyx_v_self->_mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_reshape); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_self->_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_From_siz(__pyx_v_self->_w); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyInt_From_siz(__pyx_v_self->_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_order, __pyx_n_s_F) < 0) __PYX_ERR(0, 97, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_ndarray = __pyx_t_3; __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":99 * ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') * # The _mask allocated by Masks is now handled by ndarray * PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * return ndarray * */ if (!(likely(((__pyx_v_ndarray) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_ndarray, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 99, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_ndarray), NPY_OWNDATA); /* "pycocotools/_mask.pyx":100 * # The _mask allocated by Masks is now handled by ndarray * PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) * return ndarray # <<<<<<<<<<<<<< * * # internal conversion from Python RLEs object to compressed RLE format */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ndarray); __pyx_r = __pyx_v_ndarray; goto __pyx_L0; /* "pycocotools/_mask.pyx":93 * * # called when passing into np.array() and return an np.ndarray in column-major order * def __array__(self): # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = self._h*self._w*self._n */ /* 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); __Pyx_AddTraceback("pycocotools._mask.Masks.__array__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ndarray); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_5Masks_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/ static PyObject *__pyx_pw_11pycocotools_5_mask_5Masks_5__reduce_cython__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_5Masks_4__reduce_cython__(((struct __pyx_obj_11pycocotools_5_mask_Masks *)__pyx_v_self)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_5Masks_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__reduce_cython__", 0); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 2, __pyx_L1_error) /* "(tree fragment)":1 * def __reduce_cython__(self): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("pycocotools._mask.Masks.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_5Masks_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state); /*proto*/ static PyObject *__pyx_pw_11pycocotools_5_mask_5Masks_7__setstate_cython__(PyObject *__pyx_v_self, PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_5Masks_6__setstate_cython__(((struct __pyx_obj_11pycocotools_5_mask_Masks *)__pyx_v_self), ((PyObject *)__pyx_v___pyx_state)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_5Masks_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) { PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; __Pyx_RefNannySetupContext("__setstate_cython__", 0); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(1, 4, __pyx_L1_error) /* "(tree fragment)":3 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<< * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("pycocotools._mask.Masks.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_1_toString(PyObject *__pyx_self, PyObject *__pyx_v_Rs); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_1_toString = {"_toString", (PyCFunction)__pyx_pw_11pycocotools_5_mask_1_toString, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_1_toString(PyObject *__pyx_self, PyObject *__pyx_v_Rs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_toString (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_Rs), __pyx_ptype_11pycocotools_5_mask_RLEs, 1, "Rs", 0))) __PYX_ERR(0, 103, __pyx_L1_error) __pyx_r = __pyx_pf_11pycocotools_5_mask__toString(__pyx_self, ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_v_Rs)); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask__toString(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs) { siz __pyx_v_n; PyObject *__pyx_v_py_string = 0; char *__pyx_v_c_string; PyObject *__pyx_v_objs = NULL; siz __pyx_v_i; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; siz __pyx_t_2; siz __pyx_t_3; siz __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; int __pyx_t_8; __Pyx_RefNannySetupContext("_toString", 0); /* "pycocotools/_mask.pyx":104 * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): * cdef siz n = Rs.n # <<<<<<<<<<<<<< * cdef bytes py_string * cdef char* c_string */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_Rs), __pyx_n_s_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_As_siz(__pyx_t_1); if (unlikely((__pyx_t_2 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_2; /* "pycocotools/_mask.pyx":107 * cdef bytes py_string * cdef char* c_string * objs = [] # <<<<<<<<<<<<<< * for i in range(n): * c_string = rleToString( &Rs._R[i] ) */ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_objs = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":108 * cdef char* c_string * objs = [] * for i in range(n): # <<<<<<<<<<<<<< * c_string = rleToString( &Rs._R[i] ) * py_string = c_string */ __pyx_t_2 = __pyx_v_n; __pyx_t_3 = __pyx_t_2; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i = __pyx_t_4; /* "pycocotools/_mask.pyx":109 * objs = [] * for i in range(n): * c_string = rleToString( &Rs._R[i] ) # <<<<<<<<<<<<<< * py_string = c_string * objs.append({ */ __pyx_v_c_string = rleToString(((RLE *)(&(__pyx_v_Rs->_R[__pyx_v_i])))); /* "pycocotools/_mask.pyx":110 * for i in range(n): * c_string = rleToString( &Rs._R[i] ) * py_string = c_string # <<<<<<<<<<<<<< * objs.append({ * 'size': [Rs._R[i].h, Rs._R[i].w], */ __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_c_string); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_py_string, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":112 * py_string = c_string * objs.append({ * 'size': [Rs._R[i].h, Rs._R[i].w], # <<<<<<<<<<<<<< * 'counts': py_string * }) */ __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_From_siz((__pyx_v_Rs->_R[__pyx_v_i]).h); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_From_siz((__pyx_v_Rs->_R[__pyx_v_i]).w); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_size, __pyx_t_7) < 0) __PYX_ERR(0, 112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; /* "pycocotools/_mask.pyx":113 * objs.append({ * 'size': [Rs._R[i].h, Rs._R[i].w], * 'counts': py_string # <<<<<<<<<<<<<< * }) * free(c_string) */ if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_counts, __pyx_v_py_string) < 0) __PYX_ERR(0, 112, __pyx_L1_error) /* "pycocotools/_mask.pyx":111 * c_string = rleToString( &Rs._R[i] ) * py_string = c_string * objs.append({ # <<<<<<<<<<<<<< * 'size': [Rs._R[i].h, Rs._R[i].w], * 'counts': py_string */ __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_objs, __pyx_t_1); if (unlikely(__pyx_t_8 == ((int)-1))) __PYX_ERR(0, 111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":115 * 'counts': py_string * }) * free(c_string) # <<<<<<<<<<<<<< * return objs * */ free(__pyx_v_c_string); } /* "pycocotools/_mask.pyx":116 * }) * free(c_string) * return objs # <<<<<<<<<<<<<< * * # internal conversion from compressed RLE format to Python RLEs object */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("pycocotools._mask._toString", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_py_string); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_3_frString(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_3_frString = {"_frString", (PyCFunction)__pyx_pw_11pycocotools_5_mask_3_frString, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_3_frString(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_frString (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_2_frString(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_2_frString(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { siz __pyx_v_n; struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = NULL; PyObject *__pyx_v_py_string = 0; char *__pyx_v_c_string; PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_obj = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; char *__pyx_t_11; Py_ssize_t __pyx_t_12; siz __pyx_t_13; siz __pyx_t_14; __Pyx_RefNannySetupContext("_frString", 0); /* "pycocotools/_mask.pyx":120 * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): * cdef siz n = len(rleObjs) # <<<<<<<<<<<<<< * Rs = RLEs(n) * cdef bytes py_string */ __pyx_t_1 = PyObject_Length(__pyx_v_rleObjs); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 120, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "pycocotools/_mask.pyx":121 * def _frString(rleObjs): * cdef siz n = len(rleObjs) * Rs = RLEs(n) # <<<<<<<<<<<<<< * cdef bytes py_string * cdef char* c_string */ __pyx_t_2 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_3); __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":124 * cdef bytes py_string * cdef char* c_string * for i, obj in enumerate(rleObjs): # <<<<<<<<<<<<<< * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') */ __Pyx_INCREF(__pyx_int_0); __pyx_t_3 = __pyx_int_0; if (likely(PyList_CheckExact(__pyx_v_rleObjs)) || PyTuple_CheckExact(__pyx_v_rleObjs)) { __pyx_t_2 = __pyx_v_rleObjs; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = 0; __pyx_t_4 = NULL; } else { __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_rleObjs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 124, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 124, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 124, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_5; __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":125 * cdef char* c_string * for i, obj in enumerate(rleObjs): * if PYTHON_VERSION == 2: # <<<<<<<<<<<<<< * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: */ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_PYTHON_VERSION); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { /* "pycocotools/_mask.pyx":126 * for i, obj in enumerate(rleObjs): * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') # <<<<<<<<<<<<<< * elif PYTHON_VERSION == 3: * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] */ __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_n_s_utf8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_n_s_utf8); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (!(likely(PyBytes_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_py_string, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0; /* "pycocotools/_mask.pyx":125 * cdef char* c_string * for i, obj in enumerate(rleObjs): * if PYTHON_VERSION == 2: # <<<<<<<<<<<<<< * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: */ goto __pyx_L5; } /* "pycocotools/_mask.pyx":127 * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: # <<<<<<<<<<<<<< * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: */ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_PYTHON_VERSION); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_6, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(__pyx_t_7)) { /* "pycocotools/_mask.pyx":128 * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] # <<<<<<<<<<<<<< * else: * raise Exception('Python version must be 2 or 3') */ __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_t_6)), ((PyObject *)(&PyString_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)(&PyString_Type)), __pyx_n_s_encode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(PyBytes_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 128, __pyx_L1_error) __pyx_t_5 = __pyx_t_8; __pyx_t_8 = 0; } else { __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_counts); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (!(likely(PyBytes_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 128, __pyx_L1_error) __pyx_t_5 = __pyx_t_8; __pyx_t_8 = 0; } __Pyx_XDECREF_SET(__pyx_v_py_string, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":127 * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') * elif PYTHON_VERSION == 3: # <<<<<<<<<<<<<< * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: */ goto __pyx_L5; } /* "pycocotools/_mask.pyx":130 * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: * raise Exception('Python version must be 2 or 3') # <<<<<<<<<<<<<< * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) */ /*else*/ { __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(0, 130, __pyx_L1_error) } __pyx_L5:; /* "pycocotools/_mask.pyx":131 * else: * raise Exception('Python version must be 2 or 3') * c_string = py_string # <<<<<<<<<<<<<< * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) * return Rs */ if (unlikely(__pyx_v_py_string == Py_None)) { PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found"); __PYX_ERR(0, 131, __pyx_L1_error) } __pyx_t_11 = __Pyx_PyBytes_AsWritableString(__pyx_v_py_string); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) __PYX_ERR(0, 131, __pyx_L1_error) __pyx_v_c_string = __pyx_t_11; /* "pycocotools/_mask.pyx":132 * raise Exception('Python version must be 2 or 3') * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) # <<<<<<<<<<<<<< * return Rs * */ __pyx_t_12 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_12 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 132, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_13 = __Pyx_PyInt_As_siz(__pyx_t_8); if (unlikely((__pyx_t_13 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_obj, __pyx_n_s_size); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_8, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_14 = __Pyx_PyInt_As_siz(__pyx_t_5); if (unlikely((__pyx_t_14 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; rleFrString(((RLE *)(&(__pyx_v_Rs->_R[__pyx_t_12]))), ((char *)__pyx_v_c_string), __pyx_t_13, __pyx_t_14); /* "pycocotools/_mask.pyx":124 * cdef bytes py_string * cdef char* c_string * for i, obj in enumerate(rleObjs): # <<<<<<<<<<<<<< * if PYTHON_VERSION == 2: * py_string = str(obj['counts']).encode('utf8') */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":133 * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) * return Rs # <<<<<<<<<<<<<< * * # encode mask to RLEs objects */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_Rs)); __pyx_r = ((PyObject *)__pyx_v_Rs); goto __pyx_L0; /* "pycocotools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("pycocotools._mask._frString", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_py_string); __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_5encode(PyObject *__pyx_self, PyObject *__pyx_v_mask); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_5encode = {"encode", (PyCFunction)__pyx_pw_11pycocotools_5_mask_5encode, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_5encode(PyObject *__pyx_self, PyObject *__pyx_v_mask) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("encode (wrapper)", 0); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mask), __pyx_ptype_5numpy_ndarray, 1, "mask", 0))) __PYX_ERR(0, 137, __pyx_L1_error) __pyx_r = __pyx_pf_11pycocotools_5_mask_4encode(__pyx_self, ((PyArrayObject *)__pyx_v_mask)); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_4encode(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_mask) { npy_intp __pyx_v_h; npy_intp __pyx_v_w; npy_intp __pyx_v_n; struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = 0; PyObject *__pyx_v_objs = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_mask; __Pyx_Buffer __pyx_pybuffer_mask; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations npy_intp __pyx_t_1; npy_intp __pyx_t_2; npy_intp __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("encode", 0); __pyx_pybuffer_mask.pybuffer.buf = NULL; __pyx_pybuffer_mask.refcount = 0; __pyx_pybuffernd_mask.data = NULL; __pyx_pybuffernd_mask.rcbuffer = &__pyx_pybuffer_mask; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_mask.rcbuffer->pybuffer, (PyObject*)__pyx_v_mask, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_F_CONTIGUOUS, 3, 0, __pyx_stack) == -1)) __PYX_ERR(0, 137, __pyx_L1_error) } __pyx_pybuffernd_mask.diminfo[0].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_mask.diminfo[0].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_mask.diminfo[1].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_mask.diminfo[1].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[1]; __pyx_pybuffernd_mask.diminfo[2].strides = __pyx_pybuffernd_mask.rcbuffer->pybuffer.strides[2]; __pyx_pybuffernd_mask.diminfo[2].shape = __pyx_pybuffernd_mask.rcbuffer->pybuffer.shape[2]; /* "pycocotools/_mask.pyx":138 * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] # <<<<<<<<<<<<<< * cdef RLEs Rs = RLEs(n) * rleEncode(Rs._R,mask.data,h,w,n) */ __pyx_t_1 = (__pyx_v_mask->dimensions[0]); __pyx_t_2 = (__pyx_v_mask->dimensions[1]); __pyx_t_3 = (__pyx_v_mask->dimensions[2]); __pyx_v_h = __pyx_t_1; __pyx_v_w = __pyx_t_2; __pyx_v_n = __pyx_t_3; /* "pycocotools/_mask.pyx":139 * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) # <<<<<<<<<<<<<< * rleEncode(Rs._R,mask.data,h,w,n) * objs = _toString(Rs) */ __pyx_t_4 = __Pyx_PyInt_From_Py_intptr_t(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_5); __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":140 * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) * rleEncode(Rs._R,mask.data,h,w,n) # <<<<<<<<<<<<<< * objs = _toString(Rs) * return objs */ rleEncode(__pyx_v_Rs->_R, ((byte *)__pyx_v_mask->data), __pyx_v_h, __pyx_v_w, __pyx_v_n); /* "pycocotools/_mask.pyx":141 * cdef RLEs Rs = RLEs(n) * rleEncode(Rs._R,mask.data,h,w,n) * objs = _toString(Rs) # <<<<<<<<<<<<<< * return objs * */ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_toString); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, ((PyObject *)__pyx_v_Rs)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_Rs)); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_objs = __pyx_t_5; __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":142 * rleEncode(Rs._R,mask.data,h,w,n) * objs = _toString(Rs) * return objs # <<<<<<<<<<<<<< * * # decode mask from compressed list of RLE string or RLEs object */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); { 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_mask.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("pycocotools._mask.encode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_mask.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_7decode(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_7decode = {"decode", (PyCFunction)__pyx_pw_11pycocotools_5_mask_7decode, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_7decode(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("decode (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_6decode(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_6decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = 0; siz __pyx_v_h; siz __pyx_v_w; siz __pyx_v_n; struct __pyx_obj_11pycocotools_5_mask_Masks *__pyx_v_masks = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; siz __pyx_t_4; siz __pyx_t_5; siz __pyx_t_6; PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("decode", 0); /* "pycocotools/_mask.pyx":146 * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n * masks = Masks(h, w, n) */ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_rleObjs) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_11pycocotools_5_mask_RLEs))))) __PYX_ERR(0, 146, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":147 * def decode(rleObjs): * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n # <<<<<<<<<<<<<< * masks = Masks(h, w, n) * rleDecode(Rs._R, masks._mask, n); */ __pyx_t_4 = (__pyx_v_Rs->_R[0]).h; __pyx_t_5 = (__pyx_v_Rs->_R[0]).w; __pyx_t_6 = __pyx_v_Rs->_n; __pyx_v_h = __pyx_t_4; __pyx_v_w = __pyx_t_5; __pyx_v_n = __pyx_t_6; /* "pycocotools/_mask.pyx":148 * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n * masks = Masks(h, w, n) # <<<<<<<<<<<<<< * rleDecode(Rs._R, masks._mask, n); * return np.array(masks) */ __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_From_siz(__pyx_v_w); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyTuple_New(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_11pycocotools_5_mask_Masks), __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_masks = ((struct __pyx_obj_11pycocotools_5_mask_Masks *)__pyx_t_3); __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":149 * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n * masks = Masks(h, w, n) * rleDecode(Rs._R, masks._mask, n); # <<<<<<<<<<<<<< * return np.array(masks) * */ rleDecode(((RLE *)__pyx_v_Rs->_R), __pyx_v_masks->_mask, __pyx_v_n); /* "pycocotools/_mask.pyx":150 * masks = Masks(h, w, n) * rleDecode(Rs._R, masks._mask, n); * return np.array(masks) # <<<<<<<<<<<<<< * * def merge(rleObjs, intersect=0): */ __Pyx_XDECREF(__pyx_r); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, ((PyObject *)__pyx_v_masks)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_masks)); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "pycocotools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ /* 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_7); __Pyx_AddTraceback("pycocotools._mask.decode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF((PyObject *)__pyx_v_masks); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_9merge(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_9merge = {"merge", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_9merge, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_9merge(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_rleObjs = 0; PyObject *__pyx_v_intersect = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("merge (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rleObjs,&__pyx_n_s_intersect,0}; PyObject* values[2] = {0,0}; values[1] = ((PyObject *)__pyx_int_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_rleObjs)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_intersect); if (value) { values[1] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "merge") < 0)) __PYX_ERR(0, 152, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_rleObjs = values[0]; __pyx_v_intersect = values[1]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("merge", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 152, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.merge", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_11pycocotools_5_mask_8merge(__pyx_self, __pyx_v_rleObjs, __pyx_v_intersect); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_8merge(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs, PyObject *__pyx_v_intersect) { struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = 0; struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_R = 0; PyObject *__pyx_v_obj = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; __Pyx_RefNannySetupContext("merge", 0); /* "pycocotools/_mask.pyx":153 * * def merge(rleObjs, intersect=0): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * cdef RLEs R = RLEs(1) * rleMerge(Rs._R, R._R, Rs._n, intersect) */ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_rleObjs) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_11pycocotools_5_mask_RLEs))))) __PYX_ERR(0, 153, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":154 * def merge(rleObjs, intersect=0): * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) # <<<<<<<<<<<<<< * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] */ __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_R = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":155 * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) * rleMerge(Rs._R, R._R, Rs._n, intersect) # <<<<<<<<<<<<<< * obj = _toString(R)[0] * return obj */ __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_intersect); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 155, __pyx_L1_error) rleMerge(((RLE *)__pyx_v_Rs->_R), ((RLE *)__pyx_v_R->_R), ((siz)__pyx_v_Rs->_n), __pyx_t_4); /* "pycocotools/_mask.pyx":156 * cdef RLEs R = RLEs(1) * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] # <<<<<<<<<<<<<< * return obj * */ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_toString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_R)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_R)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_obj = __pyx_t_2; __pyx_t_2 = 0; /* "pycocotools/_mask.pyx":157 * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] * return obj # <<<<<<<<<<<<<< * * def area(rleObjs): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_obj); __pyx_r = __pyx_v_obj; goto __pyx_L0; /* "pycocotools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("pycocotools._mask.merge", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF((PyObject *)__pyx_v_R); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_11area(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_11area = {"area", (PyCFunction)__pyx_pw_11pycocotools_5_mask_11area, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_11area(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("area (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_10area(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_10area(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = 0; uint *__pyx_v__a; npy_intp __pyx_v_shape[1]; PyObject *__pyx_v_a = NULL; 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; __Pyx_RefNannySetupContext("area", 0); /* "pycocotools/_mask.pyx":160 * * def area(rleObjs): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * cdef uint* _a = malloc(Rs._n* sizeof(uint)) * rleArea(Rs._R, Rs._n, _a) */ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_rleObjs) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_11pycocotools_5_mask_RLEs))))) __PYX_ERR(0, 160, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":161 * def area(rleObjs): * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) # <<<<<<<<<<<<<< * rleArea(Rs._R, Rs._n, _a) * cdef np.npy_intp shape[1] */ __pyx_v__a = ((uint *)malloc((__pyx_v_Rs->_n * (sizeof(unsigned int))))); /* "pycocotools/_mask.pyx":162 * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) * rleArea(Rs._R, Rs._n, _a) # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = Rs._n */ rleArea(__pyx_v_Rs->_R, __pyx_v_Rs->_n, __pyx_v__a); /* "pycocotools/_mask.pyx":164 * rleArea(Rs._R, Rs._n, _a) * cdef np.npy_intp shape[1] * shape[0] = Rs._n # <<<<<<<<<<<<<< * a = np.array((Rs._n, ), dtype=np.uint8) * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) */ (__pyx_v_shape[0]) = ((npy_intp)__pyx_v_Rs->_n); /* "pycocotools/_mask.pyx":165 * cdef np.npy_intp shape[1] * shape[0] = Rs._n * a = np.array((Rs._n, ), dtype=np.uint8) # <<<<<<<<<<<<<< * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_Rs->_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __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 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_a = __pyx_t_5; __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":166 * shape[0] = Rs._n * a = np.array((Rs._n, ), dtype=np.uint8) * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) # <<<<<<<<<<<<<< * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) * return a */ __pyx_t_5 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_UINT32, __pyx_v__a); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_a, __pyx_t_5); __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":167 * a = np.array((Rs._n, ), dtype=np.uint8) * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * return a * */ if (!(likely(((__pyx_v_a) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_a, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 167, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_a), NPY_OWNDATA); /* "pycocotools/_mask.pyx":168 * a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) * PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) * return a # <<<<<<<<<<<<<< * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_a); __pyx_r = __pyx_v_a; goto __pyx_L0; /* "pycocotools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ /* 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); __Pyx_AddTraceback("pycocotools._mask.area", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_a); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_13iou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_13iou = {"iou", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_13iou, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_13iou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_dt = 0; PyObject *__pyx_v_gt = 0; PyObject *__pyx_v_pyiscrowd = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("iou (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dt,&__pyx_n_s_gt,&__pyx_n_s_pyiscrowd,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_dt)) != 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_gt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("iou", 1, 3, 3, 1); __PYX_ERR(0, 171, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pyiscrowd)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("iou", 1, 3, 3, 2); __PYX_ERR(0, 171, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iou") < 0)) __PYX_ERR(0, 171, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_dt = values[0]; __pyx_v_gt = values[1]; __pyx_v_pyiscrowd = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("iou", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 171, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.iou", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_11pycocotools_5_mask_12iou(__pyx_self, __pyx_v_dt, __pyx_v_gt, __pyx_v_pyiscrowd); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_1_preproc(PyObject *__pyx_self, PyObject *__pyx_v_objs); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_3iou_1_preproc = {"_preproc", (PyCFunction)__pyx_pw_11pycocotools_5_mask_3iou_1_preproc, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_1_preproc(PyObject *__pyx_self, PyObject *__pyx_v_objs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_preproc (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_3iou__preproc(__pyx_self, ((PyObject *)__pyx_v_objs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_3iou__preproc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_objs) { PyObject *__pyx_v_isbox = NULL; PyObject *__pyx_v_isrle = NULL; PyObject *__pyx_v_obj = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; int __pyx_t_8; PyObject *__pyx_t_9 = NULL; PyObject *__pyx_t_10 = NULL; PyObject *(*__pyx_t_11)(PyObject *); PyObject *__pyx_t_12 = NULL; Py_ssize_t __pyx_t_13; PyObject *__pyx_t_14 = NULL; __Pyx_RefNannySetupContext("_preproc", 0); __Pyx_INCREF(__pyx_v_objs); /* "pycocotools/_mask.pyx":173 * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): * if len(objs) == 0: # <<<<<<<<<<<<<< * return objs * if type(objs) == np.ndarray: */ __pyx_t_1 = PyObject_Length(__pyx_v_objs); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 173, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_1 == 0) != 0); if (__pyx_t_2) { /* "pycocotools/_mask.pyx":174 * def _preproc(objs): * if len(objs) == 0: * return objs # <<<<<<<<<<<<<< * if type(objs) == np.ndarray: * if len(objs.shape) == 1: */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":173 * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): * if len(objs) == 0: # <<<<<<<<<<<<<< * return objs * if type(objs) == np.ndarray: */ } /* "pycocotools/_mask.pyx":175 * if len(objs) == 0: * return objs * if type(objs) == np.ndarray: # <<<<<<<<<<<<<< * if len(objs.shape) == 1: * objs = objs.reshape((objs[0], 1)) */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_objs)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":176 * return objs * if type(objs) == np.ndarray: * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = ((__pyx_t_1 == 1) != 0); if (__pyx_t_2) { /* "pycocotools/_mask.pyx":177 * if type(objs) == np.ndarray: * if len(objs.shape) == 1: * objs = objs.reshape((objs[0], 1)) # <<<<<<<<<<<<<< * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_objs, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_int_1); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_3); __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":176 * return objs * if type(objs) == np.ndarray: * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox */ } /* "pycocotools/_mask.pyx":179 * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: # <<<<<<<<<<<<<< * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = ((!((__pyx_t_1 == 2) != 0)) != 0); if (!__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L7_bool_binop_done; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 179, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = ((!__pyx_t_7) != 0); __pyx_t_2 = __pyx_t_8; __pyx_L7_bool_binop_done:; if (unlikely(__pyx_t_2)) { /* "pycocotools/_mask.pyx":180 * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') # <<<<<<<<<<<<<< * objs = objs.astype(np.double) * elif type(objs) == list: */ __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 180, __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(0, 180, __pyx_L1_error) /* "pycocotools/_mask.pyx":179 * objs = objs.reshape((objs[0], 1)) * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: # <<<<<<<<<<<<<< * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) */ } /* "pycocotools/_mask.pyx":181 * if not len(objs.shape) == 2 or not objs.shape[1] == 4: * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) # <<<<<<<<<<<<<< * elif type(objs) == list: * # check if list is in box format and convert it to np.ndarray */ __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_astype); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_3); __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":175 * if len(objs) == 0: * return objs * if type(objs) == np.ndarray: # <<<<<<<<<<<<<< * if len(objs.shape) == 1: * objs = objs.reshape((objs[0], 1)) */ goto __pyx_L4; } /* "pycocotools/_mask.pyx":182 * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) * elif type(objs) == list: # <<<<<<<<<<<<<< * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_objs)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(__pyx_t_2)) { /* "pycocotools/_mask.pyx":184 * elif type(objs) == list: * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) # <<<<<<<<<<<<<< * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: */ __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_all); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_v_objs)) || PyTuple_CheckExact(__pyx_v_objs)) { __pyx_t_10 = __pyx_v_objs; __Pyx_INCREF(__pyx_t_10); __pyx_t_1 = 0; __pyx_t_11 = NULL; } else { __pyx_t_1 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_objs); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 184, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 184, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 184, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 184, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_13 = PyObject_Length(__pyx_v_obj); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 184, __pyx_L1_error) __pyx_t_2 = (__pyx_t_13 == 4); if (__pyx_t_2) { } else { __pyx_t_14 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __pyx_t_14; __pyx_t_14 = 0; goto __pyx_L11_bool_binop_done; } __pyx_t_14 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 184, __pyx_L1_error) if (!__pyx_t_2) { __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else { __Pyx_INCREF(__pyx_t_14); __pyx_t_12 = __pyx_t_14; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L11_bool_binop_done; } __pyx_t_14 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_INCREF(__pyx_t_14); __pyx_t_12 = __pyx_t_14; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_L11_bool_binop_done:; if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_10, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_6); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_isbox = __pyx_t_3; __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":185 * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) * isrle = np.all(np.array([type(obj) == dict for obj in objs])) # <<<<<<<<<<<<<< * if isbox: * objs = np.array(objs, dtype=np.double) */ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_all); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_v_objs)) || PyTuple_CheckExact(__pyx_v_objs)) { __pyx_t_10 = __pyx_v_objs; __Pyx_INCREF(__pyx_t_10); __pyx_t_1 = 0; __pyx_t_11 = NULL; } else { __pyx_t_1 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_objs); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 185, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 185, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_1); __Pyx_INCREF(__pyx_t_12); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 185, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_10, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 185, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_obj, __pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)(&PyDict_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 185, __pyx_L1_error) if (unlikely(__Pyx_ListComp_Append(__pyx_t_9, (PyObject*)__pyx_t_12))) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_isrle = __pyx_t_3; __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":186 * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: # <<<<<<<<<<<<<< * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: */ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_isbox); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 186, __pyx_L1_error) if (__pyx_t_2) { /* "pycocotools/_mask.pyx":187 * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: * objs = np.array(objs, dtype=np.double) # <<<<<<<<<<<<<< * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_objs); __Pyx_GIVEREF(__pyx_v_objs); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_objs); __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_9); __pyx_t_9 = 0; /* "pycocotools/_mask.pyx":188 * if isbox: * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((1,objs.shape[0])) * elif isrle: */ __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_2 = ((__pyx_t_1 == 1) != 0); if (__pyx_t_2) { /* "pycocotools/_mask.pyx":189 * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) # <<<<<<<<<<<<<< * elif isrle: * objs = _frString(objs) */ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_reshape); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_objs, __pyx_n_s_shape); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_9 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_9); __pyx_t_9 = 0; /* "pycocotools/_mask.pyx":188 * if isbox: * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: # <<<<<<<<<<<<<< * objs = objs.reshape((1,objs.shape[0])) * elif isrle: */ } /* "pycocotools/_mask.pyx":186 * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) * isrle = np.all(np.array([type(obj) == dict for obj in objs])) * if isbox: # <<<<<<<<<<<<<< * objs = np.array(objs, dtype=np.double) * if len(objs.shape) == 1: */ goto __pyx_L16; } /* "pycocotools/_mask.pyx":190 * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) * elif isrle: # <<<<<<<<<<<<<< * objs = _frString(objs) * else: */ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_isrle); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 190, __pyx_L1_error) if (likely(__pyx_t_2)) { /* "pycocotools/_mask.pyx":191 * objs = objs.reshape((1,objs.shape[0])) * elif isrle: * objs = _frString(objs) # <<<<<<<<<<<<<< * else: * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') */ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_frString); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_v_objs) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_objs); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_objs, __pyx_t_9); __pyx_t_9 = 0; /* "pycocotools/_mask.pyx":190 * if len(objs.shape) == 1: * objs = objs.reshape((1,objs.shape[0])) * elif isrle: # <<<<<<<<<<<<<< * objs = _frString(objs) * else: */ goto __pyx_L16; } /* "pycocotools/_mask.pyx":193 * objs = _frString(objs) * else: * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') # <<<<<<<<<<<<<< * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') */ /*else*/ { __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(0, 193, __pyx_L1_error) } __pyx_L16:; /* "pycocotools/_mask.pyx":182 * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') * objs = objs.astype(np.double) * elif type(objs) == list: # <<<<<<<<<<<<<< * # check if list is in box format and convert it to np.ndarray * isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) */ goto __pyx_L4; } /* "pycocotools/_mask.pyx":195 * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') # <<<<<<<<<<<<<< * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ /*else*/ { __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_Raise(__pyx_t_9, 0, 0, 0); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __PYX_ERR(0, 195, __pyx_L1_error) } __pyx_L4:; /* "pycocotools/_mask.pyx":196 * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs # <<<<<<<<<<<<<< * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_14); __Pyx_AddTraceback("pycocotools._mask.iou._preproc", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_isbox); __Pyx_XDECREF(__pyx_v_isrle); __Pyx_XDECREF(__pyx_v_obj); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_3_rleIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_3iou_3_rleIou = {"_rleIou", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_3iou_3_rleIou, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_3_rleIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_dt = 0; struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_gt = 0; PyArrayObject *__pyx_v_iscrowd = 0; siz __pyx_v_m; siz __pyx_v_n; PyArrayObject *__pyx_v__iou = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_rleIou (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dt,&__pyx_n_s_gt,&__pyx_n_s_iscrowd,&__pyx_n_s_m,&__pyx_n_s_n,&__pyx_n_s_iou,0}; PyObject* values[6] = {0,0,0,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 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; 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_dt)) != 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_gt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 1); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iscrowd)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 2); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 3); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 4); __PYX_ERR(0, 197, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iou)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, 5); __PYX_ERR(0, 197, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_rleIou") < 0)) __PYX_ERR(0, 197, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); } __pyx_v_dt = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)values[0]); __pyx_v_gt = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)values[1]); __pyx_v_iscrowd = ((PyArrayObject *)values[2]); __pyx_v_m = __Pyx_PyInt_As_siz(values[3]); if (unlikely((__pyx_v_m == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 197, __pyx_L3_error) __pyx_v_n = __Pyx_PyInt_As_siz(values[4]); if (unlikely((__pyx_v_n == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 197, __pyx_L3_error) __pyx_v__iou = ((PyArrayObject *)values[5]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_rleIou", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 197, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.iou._rleIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dt), __pyx_ptype_11pycocotools_5_mask_RLEs, 1, "dt", 0))) __PYX_ERR(0, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gt), __pyx_ptype_11pycocotools_5_mask_RLEs, 1, "gt", 0))) __PYX_ERR(0, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_iscrowd), __pyx_ptype_5numpy_ndarray, 1, "iscrowd", 0))) __PYX_ERR(0, 197, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v__iou), __pyx_ptype_5numpy_ndarray, 1, "_iou", 0))) __PYX_ERR(0, 197, __pyx_L1_error) __pyx_r = __pyx_pf_11pycocotools_5_mask_3iou_2_rleIou(__pyx_self, __pyx_v_dt, __pyx_v_gt, __pyx_v_iscrowd, __pyx_v_m, __pyx_v_n, __pyx_v__iou); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_3iou_2_rleIou(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_dt, struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou) { __Pyx_LocalBuf_ND __pyx_pybuffernd__iou; __Pyx_Buffer __pyx_pybuffer__iou; __Pyx_LocalBuf_ND __pyx_pybuffernd_iscrowd; __Pyx_Buffer __pyx_pybuffer_iscrowd; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_rleIou", 0); __pyx_pybuffer_iscrowd.pybuffer.buf = NULL; __pyx_pybuffer_iscrowd.refcount = 0; __pyx_pybuffernd_iscrowd.data = NULL; __pyx_pybuffernd_iscrowd.rcbuffer = &__pyx_pybuffer_iscrowd; __pyx_pybuffer__iou.pybuffer.buf = NULL; __pyx_pybuffer__iou.refcount = 0; __pyx_pybuffernd__iou.data = NULL; __pyx_pybuffernd__iou.rcbuffer = &__pyx_pybuffer__iou; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer, (PyObject*)__pyx_v_iscrowd, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 197, __pyx_L1_error) } __pyx_pybuffernd_iscrowd.diminfo[0].strides = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iscrowd.diminfo[0].shape = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd__iou.rcbuffer->pybuffer, (PyObject*)__pyx_v__iou, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 197, __pyx_L1_error) } __pyx_pybuffernd__iou.diminfo[0].strides = __pyx_pybuffernd__iou.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd__iou.diminfo[0].shape = __pyx_pybuffernd__iou.rcbuffer->pybuffer.shape[0]; /* "pycocotools/_mask.pyx":198 * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) # <<<<<<<<<<<<<< * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) */ rleIou(((RLE *)__pyx_v_dt->_R), ((RLE *)__pyx_v_gt->_R), __pyx_v_m, __pyx_v_n, ((byte *)__pyx_v_iscrowd->data), ((double *)__pyx_v__iou->data)); /* "pycocotools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; { 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__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("pycocotools._mask.iou._rleIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_5_bbIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_3iou_5_bbIou = {"_bbIou", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_3iou_5_bbIou, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_5_bbIou(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_dt = 0; PyArrayObject *__pyx_v_gt = 0; PyArrayObject *__pyx_v_iscrowd = 0; siz __pyx_v_m; siz __pyx_v_n; PyArrayObject *__pyx_v__iou = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_bbIou (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_dt,&__pyx_n_s_gt,&__pyx_n_s_iscrowd,&__pyx_n_s_m,&__pyx_n_s_n,&__pyx_n_s_iou,0}; PyObject* values[6] = {0,0,0,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 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; 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_dt)) != 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_gt)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 1); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iscrowd)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 2); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 3); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_n)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 4); __PYX_ERR(0, 199, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_iou)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, 5); __PYX_ERR(0, 199, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "_bbIou") < 0)) __PYX_ERR(0, 199, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 6) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); } __pyx_v_dt = ((PyArrayObject *)values[0]); __pyx_v_gt = ((PyArrayObject *)values[1]); __pyx_v_iscrowd = ((PyArrayObject *)values[2]); __pyx_v_m = __Pyx_PyInt_As_siz(values[3]); if (unlikely((__pyx_v_m == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 199, __pyx_L3_error) __pyx_v_n = __Pyx_PyInt_As_siz(values[4]); if (unlikely((__pyx_v_n == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 199, __pyx_L3_error) __pyx_v__iou = ((PyArrayObject *)values[5]); } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("_bbIou", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 199, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.iou._bbIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dt), __pyx_ptype_5numpy_ndarray, 1, "dt", 0))) __PYX_ERR(0, 199, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gt), __pyx_ptype_5numpy_ndarray, 1, "gt", 0))) __PYX_ERR(0, 199, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_iscrowd), __pyx_ptype_5numpy_ndarray, 1, "iscrowd", 0))) __PYX_ERR(0, 199, __pyx_L1_error) if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v__iou), __pyx_ptype_5numpy_ndarray, 1, "_iou", 0))) __PYX_ERR(0, 199, __pyx_L1_error) __pyx_r = __pyx_pf_11pycocotools_5_mask_3iou_4_bbIou(__pyx_self, __pyx_v_dt, __pyx_v_gt, __pyx_v_iscrowd, __pyx_v_m, __pyx_v_n, __pyx_v__iou); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_3iou_4_bbIou(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dt, PyArrayObject *__pyx_v_gt, PyArrayObject *__pyx_v_iscrowd, siz __pyx_v_m, siz __pyx_v_n, PyArrayObject *__pyx_v__iou) { __Pyx_LocalBuf_ND __pyx_pybuffernd__iou; __Pyx_Buffer __pyx_pybuffer__iou; __Pyx_LocalBuf_ND __pyx_pybuffernd_dt; __Pyx_Buffer __pyx_pybuffer_dt; __Pyx_LocalBuf_ND __pyx_pybuffernd_gt; __Pyx_Buffer __pyx_pybuffer_gt; __Pyx_LocalBuf_ND __pyx_pybuffernd_iscrowd; __Pyx_Buffer __pyx_pybuffer_iscrowd; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_bbIou", 0); __pyx_pybuffer_dt.pybuffer.buf = NULL; __pyx_pybuffer_dt.refcount = 0; __pyx_pybuffernd_dt.data = NULL; __pyx_pybuffernd_dt.rcbuffer = &__pyx_pybuffer_dt; __pyx_pybuffer_gt.pybuffer.buf = NULL; __pyx_pybuffer_gt.refcount = 0; __pyx_pybuffernd_gt.data = NULL; __pyx_pybuffernd_gt.rcbuffer = &__pyx_pybuffer_gt; __pyx_pybuffer_iscrowd.pybuffer.buf = NULL; __pyx_pybuffer_iscrowd.refcount = 0; __pyx_pybuffernd_iscrowd.data = NULL; __pyx_pybuffernd_iscrowd.rcbuffer = &__pyx_pybuffer_iscrowd; __pyx_pybuffer__iou.pybuffer.buf = NULL; __pyx_pybuffer__iou.refcount = 0; __pyx_pybuffernd__iou.data = NULL; __pyx_pybuffernd__iou.rcbuffer = &__pyx_pybuffer__iou; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dt.rcbuffer->pybuffer, (PyObject*)__pyx_v_dt, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd_dt.diminfo[0].strides = __pyx_pybuffernd_dt.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dt.diminfo[0].shape = __pyx_pybuffernd_dt.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_dt.diminfo[1].strides = __pyx_pybuffernd_dt.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_dt.diminfo[1].shape = __pyx_pybuffernd_dt.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_gt.rcbuffer->pybuffer, (PyObject*)__pyx_v_gt, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd_gt.diminfo[0].strides = __pyx_pybuffernd_gt.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_gt.diminfo[0].shape = __pyx_pybuffernd_gt.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_gt.diminfo[1].strides = __pyx_pybuffernd_gt.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_gt.diminfo[1].shape = __pyx_pybuffernd_gt.rcbuffer->pybuffer.shape[1]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer, (PyObject*)__pyx_v_iscrowd, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd_iscrowd.diminfo[0].strides = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iscrowd.diminfo[0].shape = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.shape[0]; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd__iou.rcbuffer->pybuffer, (PyObject*)__pyx_v__iou, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) __PYX_ERR(0, 199, __pyx_L1_error) } __pyx_pybuffernd__iou.diminfo[0].strides = __pyx_pybuffernd__iou.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd__iou.diminfo[0].shape = __pyx_pybuffernd__iou.rcbuffer->pybuffer.shape[0]; /* "pycocotools/_mask.pyx":200 * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) # <<<<<<<<<<<<<< * def _len(obj): * cdef siz N = 0 */ bbIou(((BB)__pyx_v_dt->data), ((BB)__pyx_v_gt->data), __pyx_v_m, __pyx_v_n, ((byte *)__pyx_v_iscrowd->data), ((double *)__pyx_v__iou->data)); /* "pycocotools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; { 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__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_gt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("pycocotools._mask.iou._bbIou", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd__iou.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_gt.rcbuffer->pybuffer); __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_7_len(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_3iou_7_len = {"_len", (PyCFunction)__pyx_pw_11pycocotools_5_mask_3iou_7_len, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_3iou_7_len(PyObject *__pyx_self, PyObject *__pyx_v_obj) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("_len (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_3iou_6_len(__pyx_self, ((PyObject *)__pyx_v_obj)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_3iou_6_len(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_obj) { siz __pyx_v_N; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; siz __pyx_t_3; Py_ssize_t __pyx_t_4; PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("_len", 0); /* "pycocotools/_mask.pyx":202 * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): * cdef siz N = 0 # <<<<<<<<<<<<<< * if type(obj) == RLEs: * N = obj.n */ __pyx_v_N = 0; /* "pycocotools/_mask.pyx":203 * def _len(obj): * cdef siz N = 0 * if type(obj) == RLEs: # <<<<<<<<<<<<<< * N = obj.n * elif len(obj)==0: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 203, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 203, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":204 * cdef siz N = 0 * if type(obj) == RLEs: * N = obj.n # <<<<<<<<<<<<<< * elif len(obj)==0: * pass */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_As_siz(__pyx_t_1); if (unlikely((__pyx_t_3 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_N = __pyx_t_3; /* "pycocotools/_mask.pyx":203 * def _len(obj): * cdef siz N = 0 * if type(obj) == RLEs: # <<<<<<<<<<<<<< * N = obj.n * elif len(obj)==0: */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":205 * if type(obj) == RLEs: * N = obj.n * elif len(obj)==0: # <<<<<<<<<<<<<< * pass * elif type(obj) == np.ndarray: */ __pyx_t_4 = PyObject_Length(__pyx_v_obj); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 205, __pyx_L1_error) __pyx_t_2 = ((__pyx_t_4 == 0) != 0); if (__pyx_t_2) { goto __pyx_L3; } /* "pycocotools/_mask.pyx":207 * elif len(obj)==0: * pass * elif type(obj) == np.ndarray: # <<<<<<<<<<<<<< * N = obj.shape[0] * return N */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 207, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":208 * pass * elif type(obj) == np.ndarray: * N = obj.shape[0] # <<<<<<<<<<<<<< * return N * # convert iscrowd to numpy array */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_obj, __pyx_n_s_shape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyInt_As_siz(__pyx_t_5); if (unlikely((__pyx_t_3 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 208, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_N = __pyx_t_3; /* "pycocotools/_mask.pyx":207 * elif len(obj)==0: * pass * elif type(obj) == np.ndarray: # <<<<<<<<<<<<<< * N = obj.shape[0] * return N */ } __pyx_L3:; /* "pycocotools/_mask.pyx":209 * elif type(obj) == np.ndarray: * N = obj.shape[0] * return N # <<<<<<<<<<<<<< * # convert iscrowd to numpy array * cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = __Pyx_PyInt_From_siz(__pyx_v_N); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "pycocotools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("pycocotools._mask.iou._len", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ static PyObject *__pyx_pf_11pycocotools_5_mask_12iou(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt, PyObject *__pyx_v_gt, PyObject *__pyx_v_pyiscrowd) { PyObject *__pyx_v__preproc = 0; PyObject *__pyx_v__rleIou = 0; PyObject *__pyx_v__bbIou = 0; PyObject *__pyx_v__len = 0; PyArrayObject *__pyx_v_iscrowd = 0; siz __pyx_v_m; siz __pyx_v_n; double *__pyx_v__iou; npy_intp __pyx_v_shape[1]; PyObject *__pyx_v__iouFun = NULL; PyObject *__pyx_v_iou = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_iscrowd; __Pyx_Buffer __pyx_pybuffer_iscrowd; 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; siz __pyx_t_7; int __pyx_t_8; int __pyx_t_9; int __pyx_t_10; PyObject *__pyx_t_11 = NULL; __Pyx_RefNannySetupContext("iou", 0); __Pyx_INCREF(__pyx_v_dt); __Pyx_INCREF(__pyx_v_gt); __pyx_pybuffer_iscrowd.pybuffer.buf = NULL; __pyx_pybuffer_iscrowd.refcount = 0; __pyx_pybuffernd_iscrowd.data = NULL; __pyx_pybuffernd_iscrowd.rcbuffer = &__pyx_pybuffer_iscrowd; /* "pycocotools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_3iou_1_preproc, 0, __pyx_n_s_iou_locals__preproc, NULL, __pyx_n_s_pycocotools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__preproc = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_3iou_3_rleIou, 0, __pyx_n_s_iou_locals__rleIou, NULL, __pyx_n_s_pycocotools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__rleIou = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_3iou_5_bbIou, 0, __pyx_n_s_iou_locals__bbIou, NULL, __pyx_n_s_pycocotools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__15)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__bbIou = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_3iou_7_len, 0, __pyx_n_s_iou_locals__len, NULL, __pyx_n_s_pycocotools__mask, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v__len = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":211 * return N * # convert iscrowd to numpy array * cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) # <<<<<<<<<<<<<< * # simple type checking * cdef siz m, n */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_pyiscrowd); __Pyx_GIVEREF(__pyx_v_pyiscrowd); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_pyiscrowd); __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_uint8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 211, __pyx_L1_error) __pyx_t_6 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint8_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { __pyx_v_iscrowd = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.buf = NULL; __PYX_ERR(0, 211, __pyx_L1_error) } else {__pyx_pybuffernd_iscrowd.diminfo[0].strides = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_iscrowd.diminfo[0].shape = __pyx_pybuffernd_iscrowd.rcbuffer->pybuffer.shape[0]; } } __pyx_t_6 = 0; __pyx_v_iscrowd = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":214 * # simple type checking * cdef siz m, n * dt = _preproc(dt) # <<<<<<<<<<<<<< * gt = _preproc(gt) * m = _len(dt) */ __pyx_t_5 = __pyx_pf_11pycocotools_5_mask_3iou__preproc(__pyx_v__preproc, __pyx_v_dt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_dt, __pyx_t_5); __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":215 * cdef siz m, n * dt = _preproc(dt) * gt = _preproc(gt) # <<<<<<<<<<<<<< * m = _len(dt) * n = _len(gt) */ __pyx_t_5 = __pyx_pf_11pycocotools_5_mask_3iou__preproc(__pyx_v__preproc, __pyx_v_gt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_gt, __pyx_t_5); __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":216 * dt = _preproc(dt) * gt = _preproc(gt) * m = _len(dt) # <<<<<<<<<<<<<< * n = _len(gt) * if m == 0 or n == 0: */ __pyx_t_5 = __pyx_pf_11pycocotools_5_mask_3iou_6_len(__pyx_v__len, __pyx_v_dt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyInt_As_siz(__pyx_t_5); if (unlikely((__pyx_t_7 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 216, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_m = __pyx_t_7; /* "pycocotools/_mask.pyx":217 * gt = _preproc(gt) * m = _len(dt) * n = _len(gt) # <<<<<<<<<<<<<< * if m == 0 or n == 0: * return [] */ __pyx_t_5 = __pyx_pf_11pycocotools_5_mask_3iou_6_len(__pyx_v__len, __pyx_v_gt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyInt_As_siz(__pyx_t_5); if (unlikely((__pyx_t_7 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_n = __pyx_t_7; /* "pycocotools/_mask.pyx":218 * m = _len(dt) * n = _len(gt) * if m == 0 or n == 0: # <<<<<<<<<<<<<< * return [] * if not type(dt) == type(gt): */ __pyx_t_9 = ((__pyx_v_m == 0) != 0); if (!__pyx_t_9) { } else { __pyx_t_8 = __pyx_t_9; goto __pyx_L4_bool_binop_done; } __pyx_t_9 = ((__pyx_v_n == 0) != 0); __pyx_t_8 = __pyx_t_9; __pyx_L4_bool_binop_done:; if (__pyx_t_8) { /* "pycocotools/_mask.pyx":219 * n = _len(gt) * if m == 0 or n == 0: * return [] # <<<<<<<<<<<<<< * if not type(dt) == type(gt): * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') */ __Pyx_XDECREF(__pyx_r); __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; /* "pycocotools/_mask.pyx":218 * m = _len(dt) * n = _len(gt) * if m == 0 or n == 0: # <<<<<<<<<<<<<< * return [] * if not type(dt) == type(gt): */ } /* "pycocotools/_mask.pyx":220 * if m == 0 or n == 0: * return [] * if not type(dt) == type(gt): # <<<<<<<<<<<<<< * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') * */ __pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_dt)), ((PyObject *)Py_TYPE(__pyx_v_gt)), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 220, __pyx_L1_error) __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 220, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_9 = ((!__pyx_t_8) != 0); if (unlikely(__pyx_t_9)) { /* "pycocotools/_mask.pyx":221 * return [] * if not type(dt) == type(gt): * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') # <<<<<<<<<<<<<< * * # define local variables */ __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(0, 221, __pyx_L1_error) /* "pycocotools/_mask.pyx":220 * if m == 0 or n == 0: * return [] * if not type(dt) == type(gt): # <<<<<<<<<<<<<< * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') * */ } /* "pycocotools/_mask.pyx":224 * * # define local variables * cdef double* _iou = 0 # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * # check type and assign iou function */ __pyx_v__iou = ((double *)0); /* "pycocotools/_mask.pyx":227 * cdef np.npy_intp shape[1] * # check type and assign iou function * if type(dt) == RLEs: # <<<<<<<<<<<<<< * _iouFun = _rleIou * elif type(dt) == np.ndarray: */ __pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_dt)), ((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_9) { /* "pycocotools/_mask.pyx":228 * # check type and assign iou function * if type(dt) == RLEs: * _iouFun = _rleIou # <<<<<<<<<<<<<< * elif type(dt) == np.ndarray: * _iouFun = _bbIou */ __Pyx_INCREF(__pyx_v__rleIou); __pyx_v__iouFun = __pyx_v__rleIou; /* "pycocotools/_mask.pyx":227 * cdef np.npy_intp shape[1] * # check type and assign iou function * if type(dt) == RLEs: # <<<<<<<<<<<<<< * _iouFun = _rleIou * elif type(dt) == np.ndarray: */ goto __pyx_L7; } /* "pycocotools/_mask.pyx":229 * if type(dt) == RLEs: * _iouFun = _rleIou * elif type(dt) == np.ndarray: # <<<<<<<<<<<<<< * _iouFun = _bbIou * else: */ __pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_dt)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 229, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(__pyx_t_9)) { /* "pycocotools/_mask.pyx":230 * _iouFun = _rleIou * elif type(dt) == np.ndarray: * _iouFun = _bbIou # <<<<<<<<<<<<<< * else: * raise Exception('input data type not allowed.') */ __Pyx_INCREF(__pyx_v__bbIou); __pyx_v__iouFun = __pyx_v__bbIou; /* "pycocotools/_mask.pyx":229 * if type(dt) == RLEs: * _iouFun = _rleIou * elif type(dt) == np.ndarray: # <<<<<<<<<<<<<< * _iouFun = _bbIou * else: */ goto __pyx_L7; } /* "pycocotools/_mask.pyx":232 * _iouFun = _bbIou * else: * raise Exception('input data type not allowed.') # <<<<<<<<<<<<<< * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) */ /*else*/ { __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_Raise(__pyx_t_5, 0, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __PYX_ERR(0, 232, __pyx_L1_error) } __pyx_L7:; /* "pycocotools/_mask.pyx":233 * else: * raise Exception('input data type not allowed.') * _iou = malloc(m*n* sizeof(double)) # <<<<<<<<<<<<<< * iou = np.zeros((m*n, ), dtype=np.double) * shape[0] = m*n */ __pyx_v__iou = ((double *)malloc(((__pyx_v_m * __pyx_v_n) * (sizeof(double))))); /* "pycocotools/_mask.pyx":234 * raise Exception('input data type not allowed.') * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) # <<<<<<<<<<<<<< * shape[0] = m*n * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) */ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_siz((__pyx_v_m * __pyx_v_n)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_double); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_4) < 0) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_iou = __pyx_t_4; __pyx_t_4 = 0; /* "pycocotools/_mask.pyx":235 * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) * shape[0] = m*n # <<<<<<<<<<<<<< * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) */ (__pyx_v_shape[0]) = (((npy_intp)__pyx_v_m) * __pyx_v_n); /* "pycocotools/_mask.pyx":236 * iou = np.zeros((m*n, ), dtype=np.double) * shape[0] = m*n * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) # <<<<<<<<<<<<<< * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) * _iouFun(dt, gt, iscrowd, m, n, iou) */ __pyx_t_4 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_DOUBLE, __pyx_v__iou); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_iou, __pyx_t_4); __pyx_t_4 = 0; /* "pycocotools/_mask.pyx":237 * shape[0] = m*n * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * _iouFun(dt, gt, iscrowd, m, n, iou) * return iou.reshape((m,n), order='F') */ if (!(likely(((__pyx_v_iou) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_iou, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 237, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_iou), NPY_OWNDATA); /* "pycocotools/_mask.pyx":238 * iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) * _iouFun(dt, gt, iscrowd, m, n, iou) # <<<<<<<<<<<<<< * return iou.reshape((m,n), order='F') * */ __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_m); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v__iouFun); __pyx_t_3 = __pyx_v__iouFun; __pyx_t_2 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && unlikely(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_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_dt, __pyx_v_gt, ((PyObject *)__pyx_v_iscrowd), __pyx_t_1, __pyx_t_5, __pyx_v_iou}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_dt, __pyx_v_gt, ((PyObject *)__pyx_v_iscrowd), __pyx_t_1, __pyx_t_5, __pyx_v_iou}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_10, 6+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_11 = PyTuple_New(6+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_dt); __Pyx_GIVEREF(__pyx_v_dt); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_v_dt); __Pyx_INCREF(__pyx_v_gt); __Pyx_GIVEREF(__pyx_v_gt); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_v_gt); __Pyx_INCREF(((PyObject *)__pyx_v_iscrowd)); __Pyx_GIVEREF(((PyObject *)__pyx_v_iscrowd)); PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_10, ((PyObject *)__pyx_v_iscrowd)); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_10, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 4+__pyx_t_10, __pyx_t_5); __Pyx_INCREF(__pyx_v_iou); __Pyx_GIVEREF(__pyx_v_iou); PyTuple_SET_ITEM(__pyx_t_11, 5+__pyx_t_10, __pyx_v_iou); __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_11, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* "pycocotools/_mask.pyx":239 * PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) * _iouFun(dt, gt, iscrowd, m, n, iou) * return iou.reshape((m,n), order='F') # <<<<<<<<<<<<<< * * def toBbox( rleObjs ): */ __Pyx_XDECREF(__pyx_r); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_iou, __pyx_n_s_reshape); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_siz(__pyx_v_m); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11); __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_order, __pyx_n_s_F) < 0) __PYX_ERR(0, 239, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_11, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; /* "pycocotools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 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); __Pyx_XDECREF(__pyx_t_11); { 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_iscrowd.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("pycocotools._mask.iou", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_iscrowd.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF(__pyx_v__preproc); __Pyx_XDECREF(__pyx_v__rleIou); __Pyx_XDECREF(__pyx_v__bbIou); __Pyx_XDECREF(__pyx_v__len); __Pyx_XDECREF((PyObject *)__pyx_v_iscrowd); __Pyx_XDECREF(__pyx_v__iouFun); __Pyx_XDECREF(__pyx_v_iou); __Pyx_XDECREF(__pyx_v_dt); __Pyx_XDECREF(__pyx_v_gt); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_15toBbox(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_15toBbox = {"toBbox", (PyCFunction)__pyx_pw_11pycocotools_5_mask_15toBbox, METH_O, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_15toBbox(PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("toBbox (wrapper)", 0); __pyx_r = __pyx_pf_11pycocotools_5_mask_14toBbox(__pyx_self, ((PyObject *)__pyx_v_rleObjs)); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_14toBbox(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_rleObjs) { struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = 0; siz __pyx_v_n; BB __pyx_v__bb; npy_intp __pyx_v_shape[1]; PyObject *__pyx_v_bb = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; siz __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("toBbox", 0); /* "pycocotools/_mask.pyx":242 * * def toBbox( rleObjs ): * cdef RLEs Rs = _frString(rleObjs) # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef BB _bb = malloc(4*n* sizeof(double)) */ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_frString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_rleObjs) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_rleObjs); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_11pycocotools_5_mask_RLEs))))) __PYX_ERR(0, 242, __pyx_L1_error) __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":243 * def toBbox( rleObjs ): * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n # <<<<<<<<<<<<<< * cdef BB _bb = malloc(4*n* sizeof(double)) * rleToBbox( Rs._R, _bb, n ) */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_Rs), __pyx_n_s_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyInt_As_siz(__pyx_t_1); if (unlikely((__pyx_t_4 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_4; /* "pycocotools/_mask.pyx":244 * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n * cdef BB _bb = malloc(4*n* sizeof(double)) # <<<<<<<<<<<<<< * rleToBbox( Rs._R, _bb, n ) * cdef np.npy_intp shape[1] */ __pyx_v__bb = ((BB)malloc(((4 * __pyx_v_n) * (sizeof(double))))); /* "pycocotools/_mask.pyx":245 * cdef siz n = Rs.n * cdef BB _bb = malloc(4*n* sizeof(double)) * rleToBbox( Rs._R, _bb, n ) # <<<<<<<<<<<<<< * cdef np.npy_intp shape[1] * shape[0] = 4*n */ rleToBbox(((RLE const *)__pyx_v_Rs->_R), __pyx_v__bb, __pyx_v_n); /* "pycocotools/_mask.pyx":247 * rleToBbox( Rs._R, _bb, n ) * cdef np.npy_intp shape[1] * shape[0] = 4*n # <<<<<<<<<<<<<< * bb = np.array((1,4*n), dtype=np.double) * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) */ (__pyx_v_shape[0]) = (((npy_intp)4) * __pyx_v_n); /* "pycocotools/_mask.pyx":248 * cdef np.npy_intp shape[1] * shape[0] = 4*n * bb = np.array((1,4*n), dtype=np.double) # <<<<<<<<<<<<<< * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_From_siz((4 * __pyx_v_n)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_double); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_dtype, __pyx_t_6) < 0) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_bb = __pyx_t_6; __pyx_t_6 = 0; /* "pycocotools/_mask.pyx":249 * shape[0] = 4*n * bb = np.array((1,4*n), dtype=np.double) * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) # <<<<<<<<<<<<<< * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) * return bb */ __pyx_t_3 = PyArray_SimpleNewFromData(1, __pyx_v_shape, NPY_DOUBLE, __pyx_v__bb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_reshape); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __Pyx_INCREF(__pyx_int_4); __Pyx_GIVEREF(__pyx_int_4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_4); __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_6 = (__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_6)) __PYX_ERR(0, 249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_bb, __pyx_t_6); __pyx_t_6 = 0; /* "pycocotools/_mask.pyx":250 * bb = np.array((1,4*n), dtype=np.double) * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) # <<<<<<<<<<<<<< * return bb * */ if (!(likely(((__pyx_v_bb) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_bb, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 250, __pyx_L1_error) PyArray_ENABLEFLAGS(((PyArrayObject *)__pyx_v_bb), NPY_OWNDATA); /* "pycocotools/_mask.pyx":251 * bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) * PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) * return bb # <<<<<<<<<<<<<< * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_bb); __pyx_r = __pyx_v_bb; goto __pyx_L0; /* "pycocotools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ /* 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_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_AddTraceback("pycocotools._mask.toBbox", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_bb); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_17frBbox(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_17frBbox = {"frBbox", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_17frBbox, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_17frBbox(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_bb = 0; siz __pyx_v_h; siz __pyx_v_w; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frBbox (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_bb,&__pyx_n_s_h,&__pyx_n_s_w,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_bb)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frBbox", 1, 3, 3, 1); __PYX_ERR(0, 253, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frBbox", 1, 3, 3, 2); __PYX_ERR(0, 253, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frBbox") < 0)) __PYX_ERR(0, 253, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_bb = ((PyArrayObject *)values[0]); __pyx_v_h = __Pyx_PyInt_As_siz(values[1]); if (unlikely((__pyx_v_h == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 253, __pyx_L3_error) __pyx_v_w = __Pyx_PyInt_As_siz(values[2]); if (unlikely((__pyx_v_w == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 253, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frBbox", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 253, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.frBbox", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bb), __pyx_ptype_5numpy_ndarray, 1, "bb", 0))) __PYX_ERR(0, 253, __pyx_L1_error) __pyx_r = __pyx_pf_11pycocotools_5_mask_16frBbox(__pyx_self, __pyx_v_bb, __pyx_v_h, __pyx_v_w); /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_16frBbox(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_bb, siz __pyx_v_h, siz __pyx_v_w) { siz __pyx_v_n; struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = NULL; PyObject *__pyx_v_objs = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_bb; __Pyx_Buffer __pyx_pybuffer_bb; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("frBbox", 0); __pyx_pybuffer_bb.pybuffer.buf = NULL; __pyx_pybuffer_bb.refcount = 0; __pyx_pybuffernd_bb.data = NULL; __pyx_pybuffernd_bb.rcbuffer = &__pyx_pybuffer_bb; { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_bb.rcbuffer->pybuffer, (PyObject*)__pyx_v_bb, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 253, __pyx_L1_error) } __pyx_pybuffernd_bb.diminfo[0].strides = __pyx_pybuffernd_bb.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_bb.diminfo[0].shape = __pyx_pybuffernd_bb.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_bb.diminfo[1].strides = __pyx_pybuffernd_bb.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_bb.diminfo[1].shape = __pyx_pybuffernd_bb.rcbuffer->pybuffer.shape[1]; /* "pycocotools/_mask.pyx":254 * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): * cdef siz n = bb.shape[0] # <<<<<<<<<<<<<< * Rs = RLEs(n) * rleFrBbox( Rs._R, bb.data, h, w, n ) */ __pyx_v_n = (__pyx_v_bb->dimensions[0]); /* "pycocotools/_mask.pyx":255 * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): * cdef siz n = bb.shape[0] * Rs = RLEs(n) # <<<<<<<<<<<<<< * rleFrBbox( Rs._R, bb.data, h, w, n ) * objs = _toString(Rs) */ __pyx_t_1 = __Pyx_PyInt_From_siz(__pyx_v_n); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_2); __pyx_t_2 = 0; /* "pycocotools/_mask.pyx":256 * cdef siz n = bb.shape[0] * Rs = RLEs(n) * rleFrBbox( Rs._R, bb.data, h, w, n ) # <<<<<<<<<<<<<< * objs = _toString(Rs) * return objs */ rleFrBbox(((RLE *)__pyx_v_Rs->_R), ((BB const )__pyx_v_bb->data), __pyx_v_h, __pyx_v_w, __pyx_v_n); /* "pycocotools/_mask.pyx":257 * Rs = RLEs(n) * rleFrBbox( Rs._R, bb.data, h, w, n ) * objs = _toString(Rs) # <<<<<<<<<<<<<< * return objs * */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_toString); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(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_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, ((PyObject *)__pyx_v_Rs)) : __Pyx_PyObject_CallOneArg(__pyx_t_1, ((PyObject *)__pyx_v_Rs)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_objs = __pyx_t_2; __pyx_t_2 = 0; /* "pycocotools/_mask.pyx":258 * rleFrBbox( Rs._R, bb.data, h, w, n ) * objs = _toString(Rs) * return objs # <<<<<<<<<<<<<< * * def frPoly( poly, siz h, siz w ): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); { 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_bb.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("pycocotools._mask.frBbox", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_bb.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_19frPoly(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_19frPoly = {"frPoly", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_19frPoly, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_19frPoly(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_poly = 0; siz __pyx_v_h; siz __pyx_v_w; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frPoly (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_poly,&__pyx_n_s_h,&__pyx_n_s_w,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_poly)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPoly", 1, 3, 3, 1); __PYX_ERR(0, 260, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPoly", 1, 3, 3, 2); __PYX_ERR(0, 260, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frPoly") < 0)) __PYX_ERR(0, 260, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_poly = values[0]; __pyx_v_h = __Pyx_PyInt_As_siz(values[1]); if (unlikely((__pyx_v_h == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 260, __pyx_L3_error) __pyx_v_w = __Pyx_PyInt_As_siz(values[2]); if (unlikely((__pyx_v_w == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 260, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frPoly", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 260, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.frPoly", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_11pycocotools_5_mask_18frPoly(__pyx_self, __pyx_v_poly, __pyx_v_h, __pyx_v_w); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_18frPoly(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_poly, siz __pyx_v_h, siz __pyx_v_w) { PyArrayObject *__pyx_v_np_poly = 0; Py_ssize_t __pyx_v_n; struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = NULL; PyObject *__pyx_v_i = NULL; PyObject *__pyx_v_p = NULL; PyObject *__pyx_v_objs = NULL; __Pyx_LocalBuf_ND __pyx_pybuffernd_np_poly; __Pyx_Buffer __pyx_pybuffer_np_poly; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; PyObject *(*__pyx_t_4)(PyObject *); PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; PyArrayObject *__pyx_t_10 = NULL; int __pyx_t_11; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; __Pyx_RefNannySetupContext("frPoly", 0); __pyx_pybuffer_np_poly.pybuffer.buf = NULL; __pyx_pybuffer_np_poly.refcount = 0; __pyx_pybuffernd_np_poly.data = NULL; __pyx_pybuffernd_np_poly.rcbuffer = &__pyx_pybuffer_np_poly; /* "pycocotools/_mask.pyx":262 * def frPoly( poly, siz h, siz w ): * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) # <<<<<<<<<<<<<< * Rs = RLEs(n) * for i, p in enumerate(poly): */ __pyx_t_1 = PyObject_Length(__pyx_v_poly); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 262, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "pycocotools/_mask.pyx":263 * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) * Rs = RLEs(n) # <<<<<<<<<<<<<< * for i, p in enumerate(poly): * np_poly = np.array(p, dtype=np.double, order='F') */ __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_Rs = ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_3); __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":264 * n = len(poly) * Rs = RLEs(n) * for i, p in enumerate(poly): # <<<<<<<<<<<<<< * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) */ __Pyx_INCREF(__pyx_int_0); __pyx_t_3 = __pyx_int_0; if (likely(PyList_CheckExact(__pyx_v_poly)) || PyTuple_CheckExact(__pyx_v_poly)) { __pyx_t_2 = __pyx_v_poly; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = 0; __pyx_t_4 = NULL; } else { __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_poly); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 264, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 264, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(0, 264, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 264, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_p, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3); __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_5; __pyx_t_5 = 0; /* "pycocotools/_mask.pyx":265 * Rs = RLEs(n) * for i, p in enumerate(poly): * np_poly = np.array(p, dtype=np.double, order='F') # <<<<<<<<<<<<<< * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) * objs = _toString(Rs) */ __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_p); __Pyx_GIVEREF(__pyx_v_p); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_p); __pyx_t_7 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_double); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_dtype, __pyx_t_9) < 0) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_order, __pyx_n_s_F) < 0) __PYX_ERR(0, 265, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 265, __pyx_L1_error) __pyx_t_10 = ((PyArrayObject *)__pyx_t_9); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer); __pyx_t_11 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_11 < 0)) { PyErr_Fetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer, (PyObject*)__pyx_v_np_poly, &__Pyx_TypeInfo_nn___pyx_t_5numpy_double_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_12, __pyx_t_13, __pyx_t_14); } __pyx_t_12 = __pyx_t_13 = __pyx_t_14 = 0; } __pyx_pybuffernd_np_poly.diminfo[0].strides = __pyx_pybuffernd_np_poly.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_np_poly.diminfo[0].shape = __pyx_pybuffernd_np_poly.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 265, __pyx_L1_error) } __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_np_poly, ((PyArrayObject *)__pyx_t_9)); __pyx_t_9 = 0; /* "pycocotools/_mask.pyx":266 * for i, p in enumerate(poly): * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) # <<<<<<<<<<<<<< * objs = _toString(Rs) * return objs */ __pyx_t_15 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_15 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 266, __pyx_L1_error) __pyx_t_16 = PyObject_Length(__pyx_v_p); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 266, __pyx_L1_error) rleFrPoly(((RLE *)(&(__pyx_v_Rs->_R[__pyx_t_15]))), ((double const *)__pyx_v_np_poly->data), ((siz)__Pyx_div_Py_ssize_t(__pyx_t_16, 2)), __pyx_v_h, __pyx_v_w); /* "pycocotools/_mask.pyx":264 * n = len(poly) * Rs = RLEs(n) * for i, p in enumerate(poly): # <<<<<<<<<<<<<< * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":267 * np_poly = np.array(p, dtype=np.double, order='F') * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) * objs = _toString(Rs) # <<<<<<<<<<<<<< * return objs * */ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_toString); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_9, ((PyObject *)__pyx_v_Rs)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_Rs)); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_objs = __pyx_t_3; __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":268 * rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) * objs = _toString(Rs) * return objs # <<<<<<<<<<<<<< * * def frUncompressedRLE(ucRles, siz h, siz w): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); { 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_np_poly.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("pycocotools._mask.frPoly", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_np_poly.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_np_poly); __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XDECREF(__pyx_v_i); __Pyx_XDECREF(__pyx_v_p); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_21frUncompressedRLE(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_21frUncompressedRLE = {"frUncompressedRLE", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_21frUncompressedRLE, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_21frUncompressedRLE(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_ucRles = 0; CYTHON_UNUSED siz __pyx_v_h; CYTHON_UNUSED siz __pyx_v_w; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frUncompressedRLE (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_ucRles,&__pyx_n_s_h,&__pyx_n_s_w,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_ucRles)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frUncompressedRLE", 1, 3, 3, 1); __PYX_ERR(0, 270, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frUncompressedRLE", 1, 3, 3, 2); __PYX_ERR(0, 270, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frUncompressedRLE") < 0)) __PYX_ERR(0, 270, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_ucRles = values[0]; __pyx_v_h = __Pyx_PyInt_As_siz(values[1]); if (unlikely((__pyx_v_h == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 270, __pyx_L3_error) __pyx_v_w = __Pyx_PyInt_As_siz(values[2]); if (unlikely((__pyx_v_w == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 270, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frUncompressedRLE", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 270, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.frUncompressedRLE", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_11pycocotools_5_mask_20frUncompressedRLE(__pyx_self, __pyx_v_ucRles, __pyx_v_h, __pyx_v_w); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_20frUncompressedRLE(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_ucRles, CYTHON_UNUSED siz __pyx_v_h, CYTHON_UNUSED siz __pyx_v_w) { PyArrayObject *__pyx_v_cnts = 0; RLE __pyx_v_R; uint *__pyx_v_data; Py_ssize_t __pyx_v_n; PyObject *__pyx_v_objs = NULL; Py_ssize_t __pyx_v_i; struct __pyx_obj_11pycocotools_5_mask_RLEs *__pyx_v_Rs = NULL; Py_ssize_t __pyx_v_j; __Pyx_LocalBuf_ND __pyx_pybuffernd_cnts; __Pyx_Buffer __pyx_pybuffer_cnts; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; Py_ssize_t __pyx_t_3; Py_ssize_t __pyx_t_4; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyArrayObject *__pyx_t_9 = NULL; int __pyx_t_10; PyObject *__pyx_t_11 = NULL; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; Py_ssize_t __pyx_t_14; Py_ssize_t __pyx_t_15; Py_ssize_t __pyx_t_16; Py_ssize_t __pyx_t_17; RLE __pyx_t_18; siz __pyx_t_19; int __pyx_t_20; __Pyx_RefNannySetupContext("frUncompressedRLE", 0); __pyx_pybuffer_cnts.pybuffer.buf = NULL; __pyx_pybuffer_cnts.refcount = 0; __pyx_pybuffernd_cnts.data = NULL; __pyx_pybuffernd_cnts.rcbuffer = &__pyx_pybuffer_cnts; /* "pycocotools/_mask.pyx":274 * cdef RLE R * cdef uint *data * n = len(ucRles) # <<<<<<<<<<<<<< * objs = [] * for i in range(n): */ __pyx_t_1 = PyObject_Length(__pyx_v_ucRles); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 274, __pyx_L1_error) __pyx_v_n = __pyx_t_1; /* "pycocotools/_mask.pyx":275 * cdef uint *data * n = len(ucRles) * objs = [] # <<<<<<<<<<<<<< * for i in range(n): * Rs = RLEs(1) */ __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_objs = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; /* "pycocotools/_mask.pyx":276 * n = len(ucRles) * objs = [] * for i in range(n): # <<<<<<<<<<<<<< * Rs = RLEs(1) * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) */ __pyx_t_1 = __pyx_v_n; __pyx_t_3 = __pyx_t_1; for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) { __pyx_v_i = __pyx_t_4; /* "pycocotools/_mask.pyx":277 * objs = [] * for i in range(n): * Rs = RLEs(1) # <<<<<<<<<<<<<< * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) * # time for malloc can be saved here but it's fine */ __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_11pycocotools_5_mask_RLEs), __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_Rs, ((struct __pyx_obj_11pycocotools_5_mask_RLEs *)__pyx_t_2)); __pyx_t_2 = 0; /* "pycocotools/_mask.pyx":278 * for i in range(n): * Rs = RLEs(1) * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) # <<<<<<<<<<<<<< * # time for malloc can be saved here but it's fine * data = malloc(len(cnts)* sizeof(uint)) */ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_ucRles, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_s_counts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uint32); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_dtype, __pyx_t_8) < 0) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 278, __pyx_L1_error) __pyx_t_9 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer); __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack); if (unlikely(__pyx_t_10 < 0)) { PyErr_Fetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer, (PyObject*)__pyx_v_cnts, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) { Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); __Pyx_RaiseBufferFallbackError(); } else { PyErr_Restore(__pyx_t_11, __pyx_t_12, __pyx_t_13); } __pyx_t_11 = __pyx_t_12 = __pyx_t_13 = 0; } __pyx_pybuffernd_cnts.diminfo[0].strides = __pyx_pybuffernd_cnts.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_cnts.diminfo[0].shape = __pyx_pybuffernd_cnts.rcbuffer->pybuffer.shape[0]; if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 278, __pyx_L1_error) } __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_cnts, ((PyArrayObject *)__pyx_t_8)); __pyx_t_8 = 0; /* "pycocotools/_mask.pyx":280 * cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) * # time for malloc can be saved here but it's fine * data = malloc(len(cnts)* sizeof(uint)) # <<<<<<<<<<<<<< * for j in range(len(cnts)): * data[j] = cnts[j] */ __pyx_t_14 = PyObject_Length(((PyObject *)__pyx_v_cnts)); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 280, __pyx_L1_error) __pyx_v_data = ((uint *)malloc((__pyx_t_14 * (sizeof(unsigned int))))); /* "pycocotools/_mask.pyx":281 * # time for malloc can be saved here but it's fine * data = malloc(len(cnts)* sizeof(uint)) * for j in range(len(cnts)): # <<<<<<<<<<<<<< * data[j] = cnts[j] * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) */ __pyx_t_14 = PyObject_Length(((PyObject *)__pyx_v_cnts)); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 281, __pyx_L1_error) __pyx_t_15 = __pyx_t_14; for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { __pyx_v_j = __pyx_t_16; /* "pycocotools/_mask.pyx":282 * data = malloc(len(cnts)* sizeof(uint)) * for j in range(len(cnts)): * data[j] = cnts[j] # <<<<<<<<<<<<<< * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) * Rs._R[0] = R */ __pyx_t_17 = __pyx_v_j; __pyx_t_10 = -1; if (__pyx_t_17 < 0) { __pyx_t_17 += __pyx_pybuffernd_cnts.diminfo[0].shape; if (unlikely(__pyx_t_17 < 0)) __pyx_t_10 = 0; } else if (unlikely(__pyx_t_17 >= __pyx_pybuffernd_cnts.diminfo[0].shape)) __pyx_t_10 = 0; if (unlikely(__pyx_t_10 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_10); __PYX_ERR(0, 282, __pyx_L1_error) } (__pyx_v_data[__pyx_v_j]) = ((uint)(*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_uint32_t *, __pyx_pybuffernd_cnts.rcbuffer->pybuffer.buf, __pyx_t_17, __pyx_pybuffernd_cnts.diminfo[0].strides))); } /* "pycocotools/_mask.pyx":283 * for j in range(len(cnts)): * data[j] = cnts[j] * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) # <<<<<<<<<<<<<< * Rs._R[0] = R * objs.append(_toString(Rs)[0]) */ __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_ucRles, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_s_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_19 = __Pyx_PyInt_As_siz(__pyx_t_8); if (unlikely((__pyx_t_19 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_18.h = __pyx_t_19; __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_ucRles, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_s_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_6, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_19 = __Pyx_PyInt_As_siz(__pyx_t_8); if (unlikely((__pyx_t_19 == ((siz)-1)) && PyErr_Occurred())) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_18.w = __pyx_t_19; __pyx_t_14 = PyObject_Length(((PyObject *)__pyx_v_cnts)); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 283, __pyx_L1_error) __pyx_t_18.m = __pyx_t_14; __pyx_t_18.cnts = ((uint *)__pyx_v_data); __pyx_v_R = __pyx_t_18; /* "pycocotools/_mask.pyx":284 * data[j] = cnts[j] * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) * Rs._R[0] = R # <<<<<<<<<<<<<< * objs.append(_toString(Rs)[0]) * return objs */ (__pyx_v_Rs->_R[0]) = __pyx_v_R; /* "pycocotools/_mask.pyx":285 * R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) * Rs._R[0] = R * objs.append(_toString(Rs)[0]) # <<<<<<<<<<<<<< * return objs * */ __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_toString); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_8 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, ((PyObject *)__pyx_v_Rs)) : __Pyx_PyObject_CallOneArg(__pyx_t_6, ((PyObject *)__pyx_v_Rs)); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_20 = __Pyx_PyList_Append(__pyx_v_objs, __pyx_t_6); if (unlikely(__pyx_t_20 == ((int)-1))) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } /* "pycocotools/_mask.pyx":286 * Rs._R[0] = R * objs.append(_toString(Rs)[0]) * return objs # <<<<<<<<<<<<<< * * def frPyObjects(pyobj, h, w): */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); { 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_cnts.rcbuffer->pybuffer); __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);} __Pyx_AddTraceback("pycocotools._mask.frUncompressedRLE", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; goto __pyx_L2; __pyx_L0:; __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_cnts.rcbuffer->pybuffer); __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_cnts); __Pyx_XDECREF(__pyx_v_objs); __Pyx_XDECREF((PyObject *)__pyx_v_Rs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "pycocotools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ /* Python wrapper */ static PyObject *__pyx_pw_11pycocotools_5_mask_23frPyObjects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_11pycocotools_5_mask_23frPyObjects = {"frPyObjects", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_11pycocotools_5_mask_23frPyObjects, METH_VARARGS|METH_KEYWORDS, 0}; static PyObject *__pyx_pw_11pycocotools_5_mask_23frPyObjects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_pyobj = 0; PyObject *__pyx_v_h = 0; PyObject *__pyx_v_w = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("frPyObjects (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyobj,&__pyx_n_s_h,&__pyx_n_s_w,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_pyobj)) != 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_h)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPyObjects", 1, 3, 3, 1); __PYX_ERR(0, 288, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("frPyObjects", 1, 3, 3, 2); __PYX_ERR(0, 288, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "frPyObjects") < 0)) __PYX_ERR(0, 288, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); } __pyx_v_pyobj = values[0]; __pyx_v_h = values[1]; __pyx_v_w = values[2]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("frPyObjects", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 288, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("pycocotools._mask.frPyObjects", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_11pycocotools_5_mask_22frPyObjects(__pyx_self, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_11pycocotools_5_mask_22frPyObjects(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_pyobj, PyObject *__pyx_v_h, PyObject *__pyx_v_w) { PyObject *__pyx_v_objs = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; PyObject *__pyx_t_6 = NULL; int __pyx_t_7; Py_ssize_t __pyx_t_8; int __pyx_t_9; PyObject *__pyx_t_10 = NULL; __Pyx_RefNannySetupContext("frPyObjects", 0); /* "pycocotools/_mask.pyx":290 * def frPyObjects(pyobj, h, w): * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)__pyx_ptype_5numpy_ndarray), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":291 * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: * objs = frBbox(pyobj, h, w) # <<<<<<<<<<<<<< * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_frBbox); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_w); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":290 * def frPyObjects(pyobj, h, w): * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":292 * if type(pyobj) == np.ndarray: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L4_bool_binop_done; } __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = ((__pyx_t_8 == 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L4_bool_binop_done:; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":293 * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) # <<<<<<<<<<<<<< * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_frBbox); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_v_w); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":292 * if type(pyobj) == np.ndarray: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) == 4: # <<<<<<<<<<<<<< * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":294 * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: # <<<<<<<<<<<<<< * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L6_bool_binop_done; } __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = ((__pyx_t_8 > 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L6_bool_binop_done:; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":295 * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) # <<<<<<<<<<<<<< * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_frPoly); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_w); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":294 * elif type(pyobj) == list and len(pyobj[0]) == 4: * objs = frBbox(pyobj, h, w) * elif type(pyobj) == list and len(pyobj[0]) > 4: # <<<<<<<<<<<<<< * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L8_bool_binop_done; } /* "pycocotools/_mask.pyx":297 * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: # <<<<<<<<<<<<<< * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* "pycocotools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_t_1)), ((PyObject *)(&PyDict_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L8_bool_binop_done; } /* "pycocotools/_mask.pyx":297 * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: # <<<<<<<<<<<<<< * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object */ __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_counts, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_9 = (__pyx_t_7 != 0); if (__pyx_t_9) { } else { __pyx_t_2 = __pyx_t_9; goto __pyx_L8_bool_binop_done; } __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_pyobj, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_size, __pyx_t_3, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = (__pyx_t_9 != 0); __pyx_t_2 = __pyx_t_7; __pyx_L8_bool_binop_done:; /* "pycocotools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ if (__pyx_t_2) { /* "pycocotools/_mask.pyx":298 * elif type(pyobj) == list and type(pyobj[0]) == dict \ * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) # <<<<<<<<<<<<<< * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_frUncompressedRLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_pyobj, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_pyobj); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_v_w); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_objs = __pyx_t_3; __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":296 * elif type(pyobj) == list and len(pyobj[0]) > 4: * objs = frPoly(pyobj, h, w) * elif type(pyobj) == list and type(pyobj[0]) == dict \ # <<<<<<<<<<<<<< * and 'counts' in pyobj[0] and 'size' in pyobj[0]: * objs = frUncompressedRLE(pyobj, h, w) */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":300 * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: # <<<<<<<<<<<<<< * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 300, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L12_bool_binop_done; } __pyx_t_8 = PyObject_Length(__pyx_v_pyobj); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 300, __pyx_L1_error) __pyx_t_7 = ((__pyx_t_8 == 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L12_bool_binop_done:; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":301 * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: * objs = frBbox([pyobj], h, w)[0] # <<<<<<<<<<<<<< * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_frBbox); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_v_pyobj); __pyx_t_6 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_4, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_4, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_10 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_5, __pyx_v_w); __pyx_t_4 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":300 * objs = frUncompressedRLE(pyobj, h, w) * # encode rle from single python object * elif type(pyobj) == list and len(pyobj) == 4: # <<<<<<<<<<<<<< * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":302 * elif type(pyobj) == list and len(pyobj) == 4: * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: # <<<<<<<<<<<<<< * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: */ __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 302, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 302, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L14_bool_binop_done; } __pyx_t_8 = PyObject_Length(__pyx_v_pyobj); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 302, __pyx_L1_error) __pyx_t_7 = ((__pyx_t_8 > 4) != 0); __pyx_t_2 = __pyx_t_7; __pyx_L14_bool_binop_done:; if (__pyx_t_2) { /* "pycocotools/_mask.pyx":303 * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] # <<<<<<<<<<<<<< * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: * objs = frUncompressedRLE([pyobj], h, w)[0] */ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_frPoly); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = PyList_New(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_v_pyobj); __pyx_t_4 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_t_10, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_t_10, __pyx_v_h, __pyx_v_w}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_w); __pyx_t_10 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_objs = __pyx_t_3; __pyx_t_3 = 0; /* "pycocotools/_mask.pyx":302 * elif type(pyobj) == list and len(pyobj) == 4: * objs = frBbox([pyobj], h, w)[0] * elif type(pyobj) == list and len(pyobj) > 4: # <<<<<<<<<<<<<< * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":304 * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: # <<<<<<<<<<<<<< * objs = frUncompressedRLE([pyobj], h, w)[0] * else: */ __pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_pyobj)), ((PyObject *)(&PyDict_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 304, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { } else { __pyx_t_2 = __pyx_t_7; goto __pyx_L16_bool_binop_done; } __pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_counts, __pyx_v_pyobj, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __pyx_t_9 = (__pyx_t_7 != 0); if (__pyx_t_9) { } else { __pyx_t_2 = __pyx_t_9; goto __pyx_L16_bool_binop_done; } __pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_n_s_size, __pyx_v_pyobj, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 304, __pyx_L1_error) __pyx_t_7 = (__pyx_t_9 != 0); __pyx_t_2 = __pyx_t_7; __pyx_L16_bool_binop_done:; if (likely(__pyx_t_2)) { /* "pycocotools/_mask.pyx":305 * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: * objs = frUncompressedRLE([pyobj], h, w)[0] # <<<<<<<<<<<<<< * else: * raise Exception('input type is not supported.') */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_frUncompressedRLE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_pyobj); __Pyx_GIVEREF(__pyx_v_pyobj); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_pyobj); __pyx_t_10 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_6, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_6, __pyx_v_h, __pyx_v_w}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_h); __Pyx_INCREF(__pyx_v_w); __Pyx_GIVEREF(__pyx_v_w); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_5, __pyx_v_w); __pyx_t_6 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_objs = __pyx_t_1; __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":304 * elif type(pyobj) == list and len(pyobj) > 4: * objs = frPoly([pyobj], h, w)[0] * elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: # <<<<<<<<<<<<<< * objs = frUncompressedRLE([pyobj], h, w)[0] * else: */ goto __pyx_L3; } /* "pycocotools/_mask.pyx":307 * objs = frUncompressedRLE([pyobj], h, w)[0] * else: * raise Exception('input type is not supported.') # <<<<<<<<<<<<<< * return objs */ /*else*/ { __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __PYX_ERR(0, 307, __pyx_L1_error) } __pyx_L3:; /* "pycocotools/_mask.pyx":308 * else: * raise Exception('input type is not supported.') * return objs # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_objs); __pyx_r = __pyx_v_objs; goto __pyx_L0; /* "pycocotools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_10); __Pyx_AddTraceback("pycocotools._mask.frPyObjects", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_objs); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":258 * # 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 fulfill 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_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_r; __Pyx_RefNannyDeclarations int __pyx_t_1; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; PyArray_Descr *__pyx_t_7; PyObject *__pyx_t_8 = NULL; char *__pyx_t_9; if (__pyx_v_info == NULL) { PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete"); return -1; } __Pyx_RefNannySetupContext("__getbuffer__", 0); __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); __Pyx_GIVEREF(__pyx_v_info->obj); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":265 * * cdef int i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * */ __pyx_v_endian_detector = 1; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":266 * cdef int 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":268 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) */ __pyx_v_ndim = PyArray_NDIM(__pyx_v_self); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":270 * ndim = PyArray_NDIM(self) * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_ARRAY_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_L4_bool_binop_done; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":271 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< * raise ValueError(u"ndarray is not C contiguous") * */ __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L4_bool_binop_done:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":270 * ndim = PyArray_NDIM(self) * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") */ if (unlikely(__pyx_t_1)) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":272 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_ARRAY_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__21, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 272, __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(2, 272, __pyx_L1_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":270 * ndim = PyArray_NDIM(self) * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":274 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_ARRAY_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_L7_bool_binop_done; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":275 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< * raise ValueError(u"ndarray is not Fortran contiguous") * */ __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L7_bool_binop_done:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":274 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") */ if (unlikely(__pyx_t_1)) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":276 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_ARRAY_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__22, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 276, __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(2, 276, __pyx_L1_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":274 * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":278 * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< * info.ndim = ndim * if sizeof(npy_intp) != sizeof(Py_ssize_t): */ __pyx_v_info->buf = PyArray_DATA(__pyx_v_self); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":279 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< * if sizeof(npy_intp) != sizeof(Py_ssize_t): * # Allocate new buffer for strides and shape info. */ __pyx_v_info->ndim = __pyx_v_ndim; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":280 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. */ __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0); if (__pyx_t_1) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":283 * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) # <<<<<<<<<<<<<< * info.shape = info.strides + ndim * for i in range(ndim): */ __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim)))); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":284 * # This is allocated as one block, strides first. * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":285 * info.strides = PyObject_Malloc(sizeof(Py_ssize_t) * 2 * ndim) * 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; __pyx_t_5 = __pyx_t_4; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i = __pyx_t_6; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":286 * 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]); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":287 * 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]); } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":280 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * # Allocate new buffer for strides and shape info. * # This is allocated as one block, strides first. */ goto __pyx_L9; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":289 * 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)); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":290 * 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_L9:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":291 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":292 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":293 * 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)); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":296 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< * cdef dtype descr = PyArray_DESCR(self) * cdef int offset */ __pyx_v_f = NULL; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":297 * cdef int t * cdef char* f = NULL * cdef dtype descr = PyArray_DESCR(self) # <<<<<<<<<<<<<< * cdef int offset * */ __pyx_t_7 = PyArray_DESCR(__pyx_v_self); __pyx_t_3 = ((PyObject *)__pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3); __pyx_t_3 = 0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":300 * cdef int offset * * info.obj = self # <<<<<<<<<<<<<< * * if not PyDataType_HASFIELDS(descr): */ __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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":302 * info.obj = self * * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or */ __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0); if (__pyx_t_1) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":303 * * if not PyDataType_HASFIELDS(descr): * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":304 * if not PyDataType_HASFIELDS(descr): * 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_L15_next_or; } else { } __pyx_t_2 = (__pyx_v_little_endian != 0); if (!__pyx_t_2) { } else { __pyx_t_1 = __pyx_t_2; goto __pyx_L14_bool_binop_done; } __pyx_L15_next_or:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":305 * 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_L14_bool_binop_done; } __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0); __pyx_t_1 = __pyx_t_2; __pyx_L14_bool_binop_done:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":304 * if not PyDataType_HASFIELDS(descr): * 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 (unlikely(__pyx_t_1)) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":306 * 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__23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 306, __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(2, 306, __pyx_L1_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":304 * if not PyDataType_HASFIELDS(descr): * 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") */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":307 * (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; case NPY_UBYTE: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":308 * 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" */ __pyx_v_f = ((char *)"B"); break; case NPY_SHORT: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":309 * 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" */ __pyx_v_f = ((char *)"h"); break; case NPY_USHORT: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":310 * 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" */ __pyx_v_f = ((char *)"H"); break; case NPY_INT: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":311 * 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" */ __pyx_v_f = ((char *)"i"); break; case NPY_UINT: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":312 * 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" */ __pyx_v_f = ((char *)"I"); break; case NPY_LONG: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":313 * 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" */ __pyx_v_f = ((char *)"l"); break; case NPY_ULONG: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":314 * 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" */ __pyx_v_f = ((char *)"L"); break; case NPY_LONGLONG: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":315 * 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" */ __pyx_v_f = ((char *)"q"); break; case NPY_ULONGLONG: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":316 * 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" */ __pyx_v_f = ((char *)"Q"); break; case NPY_FLOAT: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":317 * 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" */ __pyx_v_f = ((char *)"f"); break; case NPY_DOUBLE: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":318 * 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" */ __pyx_v_f = ((char *)"d"); break; case NPY_LONGDOUBLE: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":319 * 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" */ __pyx_v_f = ((char *)"g"); break; case NPY_CFLOAT: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":320 * 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" */ __pyx_v_f = ((char *)"Zf"); break; case NPY_CDOUBLE: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":321 * 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" */ __pyx_v_f = ((char *)"Zd"); break; case NPY_CLONGDOUBLE: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":322 * 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: */ __pyx_v_f = ((char *)"Zg"); break; case NPY_OBJECT: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":323 * 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) */ __pyx_v_f = ((char *)"O"); break; default: /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":325 * 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(2, 325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_Raise(__pyx_t_3, 0, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __PYX_ERR(2, 325, __pyx_L1_error) break; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":326 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< * return * else: */ __pyx_v_info->format = __pyx_v_f; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":327 * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< * else: * info.format = PyObject_Malloc(_buffer_format_string_len) */ __pyx_r = 0; goto __pyx_L0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":302 * info.obj = self * * if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<< * t = descr.type_num * if ((descr.byteorder == c'>' and little_endian) or */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":329 * return * else: * info.format = PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 */ /*else*/ { __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF)); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":330 * else: * info.format = PyObject_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]) = '^'; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":331 * info.format = PyObject_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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":332 * 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_9 = __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_9 == ((char *)NULL))) __PYX_ERR(2, 332, __pyx_L1_error) __pyx_v_f = __pyx_t_9; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":335 * 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'; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":258 * # 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 fulfill the PEP. */ /* function exit code */ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = -1; if (__pyx_v_info->obj != NULL) { __Pyx_GOTREF(__pyx_v_info->obj); __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; } goto __pyx_L2; __pyx_L0:; if (__pyx_v_info->obj == Py_None) { __Pyx_GOTREF(__pyx_v_info->obj); __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0; } __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_descr); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":337 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< * if PyArray_HASFIELDS(self): * PyObject_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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":338 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): */ __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0); if (__pyx_t_1) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":339 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) # <<<<<<<<<<<<<< * if sizeof(npy_intp) != sizeof(Py_ssize_t): * PyObject_Free(info.strides) */ PyObject_Free(__pyx_v_info->format); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":338 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":340 * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * PyObject_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) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":341 * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * PyObject_Free(info.strides) # <<<<<<<<<<<<<< * # info.shape was stored after info.strides in the same block * */ PyObject_Free(__pyx_v_info->strides); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":340 * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * PyObject_Free(info.strides) * # info.shape was stored after info.strides in the same block */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":337 * f[0] = c'\0' # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< * if PyArray_HASFIELDS(self): * PyObject_Free(info.format) */ /* function exit code */ __Pyx_RefNannyFinishContext(); } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":821 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":822 * * 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(2, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":821 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":824 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":825 * * 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(2, 825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":824 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":827 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":828 * * 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(2, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":827 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":830 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":831 * * 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(2, 831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":830 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":833 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":834 * * 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(2, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":833 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":836 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":837 * * 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) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":838 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":837 * * cdef inline tuple PyDataType_SHAPE(dtype d): * if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<< * return d.subarray.shape * else: */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":840 * return d.subarray.shape * else: * return () # <<<<<<<<<<<<<< * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: */ /*else*/ { __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_empty_tuple); __pyx_r = __pyx_empty_tuple; goto __pyx_L0; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":836 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":842 * return () * * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":847 * * cdef dtype child * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * cdef tuple fields */ __pyx_v_endian_detector = 1; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":848 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":851 * 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(2, 851, __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_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __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(2, 851, __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(2, 851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":852 * * 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(2, 852, __pyx_L1_error) } __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 852, __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(2, 852, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":853 * 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; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(2, 853, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __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(2, 853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(2, 853, __pyx_L1_error) } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(2, 853, __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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":855 * 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(2, 855, __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(2, 855, __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(2, 855, __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 (unlikely(__pyx_t_6)) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":856 * * 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__24, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 856, __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(2, 856, __pyx_L1_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":855 * 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") * */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":858 * 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:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":859 * * 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:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":858 * 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 (unlikely(__pyx_t_6)) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":860 * 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__23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 860, __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(2, 860, __pyx_L1_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":858 * 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") */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":870 * * # 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(2, 870, __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(2, 870, __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(2, 870, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":871 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< * f += 1 * offset[0] += 1 */ (__pyx_v_f[0]) = 0x78; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":872 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< * offset[0] += 1 * */ __pyx_v_f = (__pyx_v_f + 1); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":873 * 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); } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":875 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":877 * 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) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":878 * * 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(2, 878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":879 * 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 (unlikely(__pyx_t_6)) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":880 * 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__25, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 880, __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(2, 880, __pyx_L1_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":879 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< * raise RuntimeError(u"Format string allocated too short.") * */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":883 * * # 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(2, 883, __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(2, 883, __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(2, 883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 98; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":884 * # 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(2, 884, __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(2, 884, __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(2, 884, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 66; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":885 * 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(2, 885, __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(2, 885, __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(2, 885, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x68; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":886 * 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(2, 886, __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(2, 886, __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(2, 886, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 72; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":887 * 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(2, 887, __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(2, 887, __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(2, 887, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x69; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":888 * 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(2, 888, __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(2, 888, __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(2, 888, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 73; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":889 * 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(2, 889, __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(2, 889, __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(2, 889, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x6C; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":890 * 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(2, 890, __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(2, 890, __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(2, 890, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 76; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":891 * 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(2, 891, __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(2, 891, __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(2, 891, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x71; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":892 * 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(2, 892, __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(2, 892, __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(2, 892, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 81; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":893 * 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(2, 893, __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(2, 893, __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(2, 893, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x66; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":894 * 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(2, 894, __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(2, 894, __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(2, 894, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x64; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":895 * 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(2, 895, __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(2, 895, __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(2, 895, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 0x67; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":896 * 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(2, 896, __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(2, 896, __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(2, 896, __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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":897 * 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(2, 897, __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(2, 897, __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(2, 897, __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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":898 * 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(2, 898, __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(2, 898, __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(2, 898, __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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":899 * 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(2, 899, __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(2, 899, __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(2, 899, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(__pyx_t_6)) { (__pyx_v_f[0]) = 79; goto __pyx_L15; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":901 * 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 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_4, 0, 0, 0); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __PYX_ERR(2, 901, __pyx_L1_error) } __pyx_L15:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":902 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":877 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< * t = child.type_num * if end - f < 5: */ goto __pyx_L13; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":906 * # 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 == ((char *)NULL))) __PYX_ERR(2, 906, __pyx_L1_error) __pyx_v_f = __pyx_t_9; } __pyx_L13:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":851 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":907 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< * * */ __pyx_r = __pyx_v_f; goto __pyx_L0; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":842 * return () * * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1022 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1023 * * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1024 * 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)); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1022 * 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(); } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1026 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1027 * * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1028 * 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) { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1029 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1028 * cdef inline object get_array_base(ndarray arr): * base = PyArray_BASE(arr) * if base is NULL: # <<<<<<<<<<<<<< * return None * return base */ } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1030 * 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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1026 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1034 * # Versions of the import_* functions which are more suitable for * # Cython code. * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< * try: * _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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1035 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< * _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:*/ { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1036 * cdef inline int import_array() except -1: * try: * _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(2, 1036, __pyx_L3_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1035 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< * _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:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1037 * try: * _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(2, 1037, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1038 * _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__26, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1038, __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(2, 1038, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1035 * # Cython code. * cdef inline int import_array() except -1: * try: # <<<<<<<<<<<<<< * _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:; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1034 * # Versions of the import_* functions which are more suitable for * # Cython code. * cdef inline int import_array() except -1: # <<<<<<<<<<<<<< * try: * _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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1040 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1041 * * 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:*/ { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1042 * 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(2, 1042, __pyx_L3_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1041 * * 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:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1043 * 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(2, 1043, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1044 * _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__27, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1044, __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(2, 1044, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1041 * * 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:; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1040 * 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; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1046 * 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); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1047 * * 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:*/ { /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1048 * 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(2, 1048, __pyx_L3_error) /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1047 * * 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:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1049 * 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(2, 1049, __pyx_L5_except_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1050 * _import_umath() * except Exception: * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< */ __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1050, __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(2, 1050, __pyx_L5_except_error) } goto __pyx_L5_except_error; __pyx_L5_except_error:; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1047 * * 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:; } /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1046 * 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; } static PyObject *__pyx_tp_new_11pycocotools_5_mask_RLEs(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o; if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { o = (*t->tp_alloc)(t, 0); } else { o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); } if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_11pycocotools_5_mask_4RLEs_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_11pycocotools_5_mask_RLEs(PyObject *o) { #if CYTHON_USE_TP_FINALIZE if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif { PyObject *etype, *eval, *etb; PyErr_Fetch(&etype, &eval, &etb); ++Py_REFCNT(o); __pyx_pw_11pycocotools_5_mask_4RLEs_3__dealloc__(o); --Py_REFCNT(o); PyErr_Restore(etype, eval, etb); } (*Py_TYPE(o)->tp_free)(o); } static PyObject *__pyx_tp_getattro_11pycocotools_5_mask_RLEs(PyObject *o, PyObject *n) { PyObject *v = __Pyx_PyObject_GenericGetAttr(o, n); if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) { PyErr_Clear(); v = __pyx_pw_11pycocotools_5_mask_4RLEs_5__getattr__(o, n); } return v; } static PyMethodDef __pyx_methods_11pycocotools_5_mask_RLEs[] = { {"__getattr__", (PyCFunction)__pyx_pw_11pycocotools_5_mask_4RLEs_5__getattr__, METH_O|METH_COEXIST, 0}, {"__reduce_cython__", (PyCFunction)__pyx_pw_11pycocotools_5_mask_4RLEs_7__reduce_cython__, METH_NOARGS, 0}, {"__setstate_cython__", (PyCFunction)__pyx_pw_11pycocotools_5_mask_4RLEs_9__setstate_cython__, METH_O, 0}, {0, 0, 0, 0} }; static PyTypeObject __pyx_type_11pycocotools_5_mask_RLEs = { PyVarObject_HEAD_INIT(0, 0) "pycocotools._mask.RLEs", /*tp_name*/ sizeof(struct __pyx_obj_11pycocotools_5_mask_RLEs), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_11pycocotools_5_mask_RLEs, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ __pyx_tp_getattro_11pycocotools_5_mask_RLEs, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ 0, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_11pycocotools_5_mask_RLEs, /*tp_methods*/ 0, /*tp_members*/ 0, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ 0, /*tp_init*/ 0, /*tp_alloc*/ __pyx_tp_new_11pycocotools_5_mask_RLEs, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ 0, /*tp_version_tag*/ #if PY_VERSION_HEX >= 0x030400a1 0, /*tp_finalize*/ #endif #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif }; static PyObject *__pyx_tp_new_11pycocotools_5_mask_Masks(PyTypeObject *t, PyObject *a, PyObject *k) { PyObject *o; if (likely((t->tp_flags & Py_TPFLAGS_IS_ABSTRACT) == 0)) { o = (*t->tp_alloc)(t, 0); } else { o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0); } if (unlikely(!o)) return 0; if (unlikely(__pyx_pw_11pycocotools_5_mask_5Masks_1__cinit__(o, a, k) < 0)) goto bad; return o; bad: Py_DECREF(o); o = 0; return NULL; } static void __pyx_tp_dealloc_11pycocotools_5_mask_Masks(PyObject *o) { #if CYTHON_USE_TP_FINALIZE if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE) && Py_TYPE(o)->tp_finalize) && (!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))) { if (PyObject_CallFinalizerFromDealloc(o)) return; } #endif (*Py_TYPE(o)->tp_free)(o); } static PyMethodDef __pyx_methods_11pycocotools_5_mask_Masks[] = { {"__array__", (PyCFunction)__pyx_pw_11pycocotools_5_mask_5Masks_3__array__, METH_NOARGS, 0}, {"__reduce_cython__", (PyCFunction)__pyx_pw_11pycocotools_5_mask_5Masks_5__reduce_cython__, METH_NOARGS, 0}, {"__setstate_cython__", (PyCFunction)__pyx_pw_11pycocotools_5_mask_5Masks_7__setstate_cython__, METH_O, 0}, {0, 0, 0, 0} }; static PyTypeObject __pyx_type_11pycocotools_5_mask_Masks = { PyVarObject_HEAD_INIT(0, 0) "pycocotools._mask.Masks", /*tp_name*/ sizeof(struct __pyx_obj_11pycocotools_5_mask_Masks), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_11pycocotools_5_mask_Masks, /*tp_dealloc*/ #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ #endif #if PY_VERSION_HEX >= 0x030800b4 0, /*tp_vectorcall_offset*/ #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 0, /*tp_compare*/ #endif #if PY_MAJOR_VERSION >= 3 0, /*tp_as_async*/ #endif 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/ 0, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ __pyx_methods_11pycocotools_5_mask_Masks, /*tp_methods*/ 0, /*tp_members*/ 0, /*tp_getset*/ 0, /*tp_base*/ 0, /*tp_dict*/ 0, /*tp_descr_get*/ 0, /*tp_descr_set*/ 0, /*tp_dictoffset*/ 0, /*tp_init*/ 0, /*tp_alloc*/ __pyx_tp_new_11pycocotools_5_mask_Masks, /*tp_new*/ 0, /*tp_free*/ 0, /*tp_is_gc*/ 0, /*tp_bases*/ 0, /*tp_mro*/ 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ 0, /*tp_del*/ 0, /*tp_version_tag*/ #if PY_VERSION_HEX >= 0x030400a1 0, /*tp_finalize*/ #endif #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, /*tp_print*/ #endif }; 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__mask(PyObject* module); /*proto*/ static PyModuleDef_Slot __pyx_moduledef_slots[] = { {Py_mod_create, (void*)__pyx_pymod_create}, {Py_mod_exec, (void*)__pyx_pymod_exec__mask}, {0, NULL} }; #endif static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, "_mask", 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_AttributeError, __pyx_k_AttributeError, sizeof(__pyx_k_AttributeError), 0, 0, 1, 1}, {&__pyx_n_s_F, __pyx_k_F, sizeof(__pyx_k_F), 0, 0, 1, 1}, {&__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_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, {&__pyx_n_s_Masks, __pyx_k_Masks, sizeof(__pyx_k_Masks), 0, 0, 1, 1}, {&__pyx_n_s_N, __pyx_k_N, sizeof(__pyx_k_N), 0, 0, 1, 1}, {&__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_PYTHON_VERSION, __pyx_k_PYTHON_VERSION, sizeof(__pyx_k_PYTHON_VERSION), 0, 0, 1, 1}, {&__pyx_kp_s_Python_version_must_be_2_or_3, __pyx_k_Python_version_must_be_2_or_3, sizeof(__pyx_k_Python_version_must_be_2_or_3), 0, 0, 1, 0}, {&__pyx_n_s_R, __pyx_k_R, sizeof(__pyx_k_R), 0, 0, 1, 1}, {&__pyx_n_s_RLEs, __pyx_k_RLEs, sizeof(__pyx_k_RLEs), 0, 0, 1, 1}, {&__pyx_n_s_Rs, __pyx_k_Rs, sizeof(__pyx_k_Rs), 0, 0, 1, 1}, {&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1}, {&__pyx_kp_s_The_dt_and_gt_should_have_the_sa, __pyx_k_The_dt_and_gt_should_have_the_sa, sizeof(__pyx_k_The_dt_and_gt_should_have_the_sa), 0, 0, 1, 0}, {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1}, {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, {&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1}, {&__pyx_n_s_a_2, __pyx_k_a_2, sizeof(__pyx_k_a_2), 0, 0, 1, 1}, {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, {&__pyx_n_s_area, __pyx_k_area, sizeof(__pyx_k_area), 0, 0, 1, 1}, {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1}, {&__pyx_n_s_astype, __pyx_k_astype, sizeof(__pyx_k_astype), 0, 0, 1, 1}, {&__pyx_n_s_author, __pyx_k_author, sizeof(__pyx_k_author), 0, 0, 1, 1}, {&__pyx_n_s_bb, __pyx_k_bb, sizeof(__pyx_k_bb), 0, 0, 1, 1}, {&__pyx_n_s_bbIou, __pyx_k_bbIou, sizeof(__pyx_k_bbIou), 0, 0, 1, 1}, {&__pyx_n_s_bb_2, __pyx_k_bb_2, sizeof(__pyx_k_bb_2), 0, 0, 1, 1}, {&__pyx_n_s_c_string, __pyx_k_c_string, sizeof(__pyx_k_c_string), 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_cnts, __pyx_k_cnts, sizeof(__pyx_k_cnts), 0, 0, 1, 1}, {&__pyx_n_s_counts, __pyx_k_counts, sizeof(__pyx_k_counts), 0, 0, 1, 1}, {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1}, {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1}, {&__pyx_n_s_double, __pyx_k_double, sizeof(__pyx_k_double), 0, 0, 1, 1}, {&__pyx_n_s_dt, __pyx_k_dt, sizeof(__pyx_k_dt), 0, 0, 1, 1}, {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1}, {&__pyx_n_s_encode, __pyx_k_encode, sizeof(__pyx_k_encode), 0, 0, 1, 1}, {&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1}, {&__pyx_n_s_frBbox, __pyx_k_frBbox, sizeof(__pyx_k_frBbox), 0, 0, 1, 1}, {&__pyx_n_s_frPoly, __pyx_k_frPoly, sizeof(__pyx_k_frPoly), 0, 0, 1, 1}, {&__pyx_n_s_frPyObjects, __pyx_k_frPyObjects, sizeof(__pyx_k_frPyObjects), 0, 0, 1, 1}, {&__pyx_n_s_frString, __pyx_k_frString, sizeof(__pyx_k_frString), 0, 0, 1, 1}, {&__pyx_n_s_frUncompressedRLE, __pyx_k_frUncompressedRLE, sizeof(__pyx_k_frUncompressedRLE), 0, 0, 1, 1}, {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1}, {&__pyx_n_s_gt, __pyx_k_gt, sizeof(__pyx_k_gt), 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_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, {&__pyx_kp_s_input_data_type_not_allowed, __pyx_k_input_data_type_not_allowed, sizeof(__pyx_k_input_data_type_not_allowed), 0, 0, 1, 0}, {&__pyx_kp_s_input_type_is_not_supported, __pyx_k_input_type_is_not_supported, sizeof(__pyx_k_input_type_is_not_supported), 0, 0, 1, 0}, {&__pyx_n_s_intersect, __pyx_k_intersect, sizeof(__pyx_k_intersect), 0, 0, 1, 1}, {&__pyx_n_s_iou, __pyx_k_iou, sizeof(__pyx_k_iou), 0, 0, 1, 1}, {&__pyx_n_s_iouFun, __pyx_k_iouFun, sizeof(__pyx_k_iouFun), 0, 0, 1, 1}, {&__pyx_n_s_iou_2, __pyx_k_iou_2, sizeof(__pyx_k_iou_2), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__bbIou, __pyx_k_iou_locals__bbIou, sizeof(__pyx_k_iou_locals__bbIou), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__len, __pyx_k_iou_locals__len, sizeof(__pyx_k_iou_locals__len), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__preproc, __pyx_k_iou_locals__preproc, sizeof(__pyx_k_iou_locals__preproc), 0, 0, 1, 1}, {&__pyx_n_s_iou_locals__rleIou, __pyx_k_iou_locals__rleIou, sizeof(__pyx_k_iou_locals__rleIou), 0, 0, 1, 1}, {&__pyx_n_s_isbox, __pyx_k_isbox, sizeof(__pyx_k_isbox), 0, 0, 1, 1}, {&__pyx_n_s_iscrowd, __pyx_k_iscrowd, sizeof(__pyx_k_iscrowd), 0, 0, 1, 1}, {&__pyx_n_s_isrle, __pyx_k_isrle, sizeof(__pyx_k_isrle), 0, 0, 1, 1}, {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1}, {&__pyx_n_s_len, __pyx_k_len, sizeof(__pyx_k_len), 0, 0, 1, 1}, {&__pyx_kp_s_list_input_can_be_bounding_box_N, __pyx_k_list_input_can_be_bounding_box_N, sizeof(__pyx_k_list_input_can_be_bounding_box_N), 0, 0, 1, 0}, {&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1}, {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, {&__pyx_n_s_mask, __pyx_k_mask, sizeof(__pyx_k_mask), 0, 0, 1, 1}, {&__pyx_n_s_masks, __pyx_k_masks, sizeof(__pyx_k_masks), 0, 0, 1, 1}, {&__pyx_n_s_merge, __pyx_k_merge, sizeof(__pyx_k_merge), 0, 0, 1, 1}, {&__pyx_n_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 1}, {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 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_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0}, {&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1}, {&__pyx_n_s_np_poly, __pyx_k_np_poly, sizeof(__pyx_k_np_poly), 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_kp_s_numpy_ndarray_input_is_only_for, __pyx_k_numpy_ndarray_input_is_only_for, sizeof(__pyx_k_numpy_ndarray_input_is_only_for), 0, 0, 1, 0}, {&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1}, {&__pyx_n_s_objs, __pyx_k_objs, sizeof(__pyx_k_objs), 0, 0, 1, 1}, {&__pyx_n_s_order, __pyx_k_order, sizeof(__pyx_k_order), 0, 0, 1, 1}, {&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1}, {&__pyx_n_s_poly, __pyx_k_poly, sizeof(__pyx_k_poly), 0, 0, 1, 1}, {&__pyx_n_s_preproc, __pyx_k_preproc, sizeof(__pyx_k_preproc), 0, 0, 1, 1}, {&__pyx_n_s_py_string, __pyx_k_py_string, sizeof(__pyx_k_py_string), 0, 0, 1, 1}, {&__pyx_n_s_pycocotools__mask, __pyx_k_pycocotools__mask, sizeof(__pyx_k_pycocotools__mask), 0, 0, 1, 1}, {&__pyx_kp_s_pycocotools__mask_pyx, __pyx_k_pycocotools__mask_pyx, sizeof(__pyx_k_pycocotools__mask_pyx), 0, 0, 1, 0}, {&__pyx_n_s_pyiscrowd, __pyx_k_pyiscrowd, sizeof(__pyx_k_pyiscrowd), 0, 0, 1, 1}, {&__pyx_n_s_pyobj, __pyx_k_pyobj, sizeof(__pyx_k_pyobj), 0, 0, 1, 1}, {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1}, {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1}, {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1}, {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1}, {&__pyx_n_s_reshape, __pyx_k_reshape, sizeof(__pyx_k_reshape), 0, 0, 1, 1}, {&__pyx_n_s_rleIou, __pyx_k_rleIou, sizeof(__pyx_k_rleIou), 0, 0, 1, 1}, {&__pyx_n_s_rleObjs, __pyx_k_rleObjs, sizeof(__pyx_k_rleObjs), 0, 0, 1, 1}, {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1}, {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1}, {&__pyx_n_s_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 0, 0, 1, 1}, {&__pyx_n_s_size, __pyx_k_size, sizeof(__pyx_k_size), 0, 0, 1, 1}, {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, {&__pyx_n_s_toBbox, __pyx_k_toBbox, sizeof(__pyx_k_toBbox), 0, 0, 1, 1}, {&__pyx_n_s_toString, __pyx_k_toString, sizeof(__pyx_k_toString), 0, 0, 1, 1}, {&__pyx_n_s_tsungyi, __pyx_k_tsungyi, sizeof(__pyx_k_tsungyi), 0, 0, 1, 1}, {&__pyx_n_s_ucRles, __pyx_k_ucRles, sizeof(__pyx_k_ucRles), 0, 0, 1, 1}, {&__pyx_n_s_uint32, __pyx_k_uint32, sizeof(__pyx_k_uint32), 0, 0, 1, 1}, {&__pyx_n_s_uint8, __pyx_k_uint8, sizeof(__pyx_k_uint8), 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_kp_s_unrecognized_type_The_following, __pyx_k_unrecognized_type_The_following, sizeof(__pyx_k_unrecognized_type_The_following), 0, 0, 1, 0}, {&__pyx_n_s_utf8, __pyx_k_utf8, sizeof(__pyx_k_utf8), 0, 0, 1, 1}, {&__pyx_n_s_version_info, __pyx_k_version_info, sizeof(__pyx_k_version_info), 0, 0, 1, 1}, {&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 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, 67, __pyx_L1_error) __pyx_builtin_AttributeError = __Pyx_GetBuiltinName(__pyx_n_s_AttributeError); if (!__pyx_builtin_AttributeError) __PYX_ERR(0, 73, __pyx_L1_error) __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 124, __pyx_L1_error) __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(2, 272, __pyx_L1_error) __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(2, 856, __pyx_L1_error) __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(2, 1038, __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); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); /* "(tree fragment)":2 * def __reduce_cython__(self): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") */ __pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); /* "(tree fragment)":4 * raise TypeError("no default __reduce__ due to non-trivial __cinit__") * def __setstate_cython__(self, __pyx_state): * raise TypeError("no default __reduce__ due to non-trivial __cinit__") # <<<<<<<<<<<<<< */ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_s_no_default___reduce___due_to_non); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); /* "pycocotools/_mask.pyx":130 * py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] * else: * raise Exception('Python version must be 2 or 3') # <<<<<<<<<<<<<< * c_string = py_string * rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) */ __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_s_Python_version_must_be_2_or_3); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 130, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); /* "pycocotools/_mask.pyx":154 * def merge(rleObjs, intersect=0): * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) # <<<<<<<<<<<<<< * rleMerge(Rs._R, R._R, Rs._n, intersect) * obj = _toString(R)[0] */ __pyx_tuple__6 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 154, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); /* "pycocotools/_mask.pyx":180 * # check if it's Nx4 bbox * if not len(objs.shape) == 2 or not objs.shape[1] == 4: * raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') # <<<<<<<<<<<<<< * objs = objs.astype(np.double) * elif type(objs) == list: */ __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_numpy_ndarray_input_is_only_for); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 180, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); /* "pycocotools/_mask.pyx":193 * objs = _frString(objs) * else: * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') # <<<<<<<<<<<<<< * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') */ __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s_list_input_can_be_bounding_box_N); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); /* "pycocotools/_mask.pyx":195 * raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') * else: * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') # <<<<<<<<<<<<<< * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s_unrecognized_type_The_following); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); /* "pycocotools/_mask.pyx":172 * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): * def _preproc(objs): # <<<<<<<<<<<<<< * if len(objs) == 0: * return objs */ __pyx_tuple__10 = PyTuple_Pack(4, __pyx_n_s_objs, __pyx_n_s_isbox, __pyx_n_s_isrle, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 172, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_pycocotools__mask_pyx, __pyx_n_s_preproc, 172, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 172, __pyx_L1_error) /* "pycocotools/_mask.pyx":197 * raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') * return objs * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): */ __pyx_tuple__12 = PyTuple_Pack(6, __pyx_n_s_dt, __pyx_n_s_gt, __pyx_n_s_iscrowd, __pyx_n_s_m, __pyx_n_s_n, __pyx_n_s_iou); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_rleIou, 197, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 197, __pyx_L1_error) /* "pycocotools/_mask.pyx":199 * def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): # <<<<<<<<<<<<<< * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): */ __pyx_tuple__14 = PyTuple_Pack(6, __pyx_n_s_dt, __pyx_n_s_gt, __pyx_n_s_iscrowd, __pyx_n_s_m, __pyx_n_s_n, __pyx_n_s_iou); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); __pyx_codeobj__15 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_bbIou, 199, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__15)) __PYX_ERR(0, 199, __pyx_L1_error) /* "pycocotools/_mask.pyx":201 * def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): * bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) * def _len(obj): # <<<<<<<<<<<<<< * cdef siz N = 0 * if type(obj) == RLEs: */ __pyx_tuple__16 = PyTuple_Pack(2, __pyx_n_s_obj, __pyx_n_s_N); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_len, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 201, __pyx_L1_error) /* "pycocotools/_mask.pyx":221 * return [] * if not type(dt) == type(gt): * raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') # <<<<<<<<<<<<<< * * # define local variables */ __pyx_tuple__18 = PyTuple_Pack(1, __pyx_kp_s_The_dt_and_gt_should_have_the_sa); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 221, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); /* "pycocotools/_mask.pyx":232 * _iouFun = _bbIou * else: * raise Exception('input data type not allowed.') # <<<<<<<<<<<<<< * _iou = malloc(m*n* sizeof(double)) * iou = np.zeros((m*n, ), dtype=np.double) */ __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_input_data_type_not_allowed); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); /* "pycocotools/_mask.pyx":307 * objs = frUncompressedRLE([pyobj], h, w)[0] * else: * raise Exception('input type is not supported.') # <<<<<<<<<<<<<< * return objs */ __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_input_type_is_not_supported); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":272 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(2, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":276 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(2, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":306 * 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__23 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(2, 306, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":856 * * 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__24 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(2, 856, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":880 * 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__25 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(2, 880, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1038 * _import_array() * except Exception: * raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<< * * cdef inline int import_umath() except -1: */ __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(2, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26); /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1044 * _import_umath() * except Exception: * raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<< * * cdef inline int import_ufunc() except -1: */ __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(2, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27); /* "pycocotools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ __pyx_tuple__28 = PyTuple_Pack(6, __pyx_n_s_Rs, __pyx_n_s_n, __pyx_n_s_py_string, __pyx_n_s_c_string, __pyx_n_s_objs, __pyx_n_s_i); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_toString, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 103, __pyx_L1_error) /* "pycocotools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ __pyx_tuple__30 = PyTuple_Pack(7, __pyx_n_s_rleObjs, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_py_string, __pyx_n_s_c_string, __pyx_n_s_i, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(1, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_frString, 119, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(0, 119, __pyx_L1_error) /* "pycocotools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ __pyx_tuple__32 = PyTuple_Pack(6, __pyx_n_s_mask, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_encode, 137, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 137, __pyx_L1_error) /* "pycocotools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ __pyx_tuple__34 = PyTuple_Pack(6, __pyx_n_s_rleObjs, __pyx_n_s_Rs, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_n, __pyx_n_s_masks); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_decode, 145, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 145, __pyx_L1_error) /* "pycocotools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ __pyx_tuple__36 = PyTuple_Pack(5, __pyx_n_s_rleObjs, __pyx_n_s_intersect, __pyx_n_s_Rs, __pyx_n_s_R, __pyx_n_s_obj); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_merge, 152, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 152, __pyx_L1_error) /* "pycocotools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ __pyx_tuple__38 = PyTuple_Pack(5, __pyx_n_s_rleObjs, __pyx_n_s_Rs, __pyx_n_s_a, __pyx_n_s_shape, __pyx_n_s_a_2); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_area, 159, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 159, __pyx_L1_error) /* "pycocotools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ __pyx_tuple__40 = PyTuple_Pack(18, __pyx_n_s_dt, __pyx_n_s_gt, __pyx_n_s_pyiscrowd, __pyx_n_s_preproc, __pyx_n_s_preproc, __pyx_n_s_rleIou, __pyx_n_s_rleIou, __pyx_n_s_bbIou, __pyx_n_s_bbIou, __pyx_n_s_len, __pyx_n_s_len, __pyx_n_s_iscrowd, __pyx_n_s_m, __pyx_n_s_n, __pyx_n_s_iou, __pyx_n_s_shape, __pyx_n_s_iouFun, __pyx_n_s_iou_2); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__40); __Pyx_GIVEREF(__pyx_tuple__40); __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(3, 0, 18, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_iou_2, 171, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 171, __pyx_L1_error) /* "pycocotools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ __pyx_tuple__42 = PyTuple_Pack(6, __pyx_n_s_rleObjs, __pyx_n_s_Rs, __pyx_n_s_n, __pyx_n_s_bb_2, __pyx_n_s_shape, __pyx_n_s_bb); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__42); __Pyx_GIVEREF(__pyx_tuple__42); __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_toBbox, 241, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 241, __pyx_L1_error) /* "pycocotools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ __pyx_tuple__44 = PyTuple_Pack(6, __pyx_n_s_bb, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44); __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_frBbox, 253, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 253, __pyx_L1_error) /* "pycocotools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ __pyx_tuple__46 = PyTuple_Pack(9, __pyx_n_s_poly, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_np_poly, __pyx_n_s_n, __pyx_n_s_Rs, __pyx_n_s_i, __pyx_n_s_p, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46); __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_frPoly, 260, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 260, __pyx_L1_error) /* "pycocotools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ __pyx_tuple__48 = PyTuple_Pack(11, __pyx_n_s_ucRles, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_cnts, __pyx_n_s_R, __pyx_n_s_data, __pyx_n_s_n, __pyx_n_s_objs, __pyx_n_s_i, __pyx_n_s_Rs, __pyx_n_s_j); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__48); __Pyx_GIVEREF(__pyx_tuple__48); __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_frUncompressedRLE, 270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 270, __pyx_L1_error) /* "pycocotools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ __pyx_tuple__50 = PyTuple_Pack(4, __pyx_n_s_pyobj, __pyx_n_s_h, __pyx_n_s_w, __pyx_n_s_objs); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__50); __Pyx_GIVEREF(__pyx_tuple__50); __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__50, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pycocotools__mask_pyx, __pyx_n_s_frPyObjects, 288, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 288, __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) 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 ---*/ if (PyType_Ready(&__pyx_type_11pycocotools_5_mask_RLEs) < 0) __PYX_ERR(0, 56, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_11pycocotools_5_mask_RLEs.tp_print = 0; #endif if (PyObject_SetAttr(__pyx_m, __pyx_n_s_RLEs, (PyObject *)&__pyx_type_11pycocotools_5_mask_RLEs) < 0) __PYX_ERR(0, 56, __pyx_L1_error) if (__Pyx_setup_reduce((PyObject*)&__pyx_type_11pycocotools_5_mask_RLEs) < 0) __PYX_ERR(0, 56, __pyx_L1_error) __pyx_ptype_11pycocotools_5_mask_RLEs = &__pyx_type_11pycocotools_5_mask_RLEs; if (PyType_Ready(&__pyx_type_11pycocotools_5_mask_Masks) < 0) __PYX_ERR(0, 77, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_11pycocotools_5_mask_Masks.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_11pycocotools_5_mask_Masks.tp_dictoffset && __pyx_type_11pycocotools_5_mask_Masks.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_11pycocotools_5_mask_Masks.tp_getattro = __Pyx_PyObject_GenericGetAttr; } if (PyObject_SetAttr(__pyx_m, __pyx_n_s_Masks, (PyObject *)&__pyx_type_11pycocotools_5_mask_Masks) < 0) __PYX_ERR(0, 77, __pyx_L1_error) if (__Pyx_setup_reduce((PyObject*)&__pyx_type_11pycocotools_5_mask_Masks) < 0) __PYX_ERR(0, 77, __pyx_L1_error) __pyx_ptype_11pycocotools_5_mask_Masks = &__pyx_type_11pycocotools_5_mask_Masks; __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; __Pyx_RefNannyFinishContext(); return -1; } 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(3, 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(3, 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(2, 206, __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(2, 206, __pyx_L1_error) __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn); if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 229, __pyx_L1_error) __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn); if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 233, __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(2, 242, __pyx_L1_error) __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn); if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 918, __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 init_mask(void) CYTHON_SMALL_CODE; /*proto*/ __Pyx_PyMODINIT_FUNC init_mask(void) #else __Pyx_PyMODINIT_FUNC PyInit__mask(void) CYTHON_SMALL_CODE; /*proto*/ __Pyx_PyMODINIT_FUNC PyInit__mask(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__mask(PyObject *__pyx_pyinit_module) #endif #endif { PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; int __pyx_t_3; __Pyx_RefNannyDeclarations #if CYTHON_PEP489_MULTI_PHASE_INIT if (__pyx_m) { if (__pyx_m == __pyx_pyinit_module) return 0; PyErr_SetString(PyExc_RuntimeError, "Module '_mask' 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__mask(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("_mask", __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_pycocotools___mask) { 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, "pycocotools._mask")) { if (unlikely(PyDict_SetItemString(modules, "pycocotools._mask", __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(); if (unlikely(__Pyx_modinit_type_init_code() != 0)) goto __pyx_L1_error; 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 /* "pycocotools/_mask.pyx":11 * #************************************************************************** * * __author__ = 'tsungyi' # <<<<<<<<<<<<<< * * import sys */ if (PyDict_SetItem(__pyx_d, __pyx_n_s_author, __pyx_n_s_tsungyi) < 0) __PYX_ERR(0, 11, __pyx_L1_error) /* "pycocotools/_mask.pyx":13 * __author__ = 'tsungyi' * * import sys # <<<<<<<<<<<<<< * PYTHON_VERSION = sys.version_info[0] * */ __pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 13, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":14 * * import sys * PYTHON_VERSION = sys.version_info[0] # <<<<<<<<<<<<<< * * # import both Python-level and C-level symbols of Numpy */ __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_version_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_PYTHON_VERSION, __pyx_t_1) < 0) __PYX_ERR(0, 14, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":18 * # import both Python-level and C-level symbols of Numpy * # the API uses Numpy to interface C and Python * import numpy as np # <<<<<<<<<<<<<< * cimport numpy as np * from libc.stdlib cimport malloc, free */ __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":23 * * # intialized Numpy. must do. * np.import_array() # <<<<<<<<<<<<<< * * # import numpy C function */ __pyx_t_3 = __pyx_f_5numpy_import_array(); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(0, 23, __pyx_L1_error) /* "pycocotools/_mask.pyx":103 * * # internal conversion from Python RLEs object to compressed RLE format * def _toString(RLEs Rs): # <<<<<<<<<<<<<< * cdef siz n = Rs.n * cdef bytes py_string */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_1_toString, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_toString, __pyx_t_1) < 0) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":119 * * # internal conversion from compressed RLE format to Python RLEs object * def _frString(rleObjs): # <<<<<<<<<<<<<< * cdef siz n = len(rleObjs) * Rs = RLEs(n) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_3_frString, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frString, __pyx_t_1) < 0) __PYX_ERR(0, 119, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":137 * # encode mask to RLEs objects * # list of RLE string can be generated by RLEs member function * def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): # <<<<<<<<<<<<<< * h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] * cdef RLEs Rs = RLEs(n) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_5encode, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_encode, __pyx_t_1) < 0) __PYX_ERR(0, 137, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":145 * * # decode mask from compressed list of RLE string or RLEs object * def decode(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_7decode, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_decode, __pyx_t_1) < 0) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":152 * return np.array(masks) * * def merge(rleObjs, intersect=0): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef RLEs R = RLEs(1) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_9merge, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_merge, __pyx_t_1) < 0) __PYX_ERR(0, 152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":159 * return obj * * def area(rleObjs): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef uint* _a = malloc(Rs._n* sizeof(uint)) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_11area, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_area, __pyx_t_1) < 0) __PYX_ERR(0, 159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":171 * * # iou computation. support function overload (RLEs-RLEs and bbox-bbox). * def iou( dt, gt, pyiscrowd ): # <<<<<<<<<<<<<< * def _preproc(objs): * if len(objs) == 0: */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_13iou, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_iou_2, __pyx_t_1) < 0) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":241 * return iou.reshape((m,n), order='F') * * def toBbox( rleObjs ): # <<<<<<<<<<<<<< * cdef RLEs Rs = _frString(rleObjs) * cdef siz n = Rs.n */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_15toBbox, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_toBbox, __pyx_t_1) < 0) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":253 * return bb * * def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): # <<<<<<<<<<<<<< * cdef siz n = bb.shape[0] * Rs = RLEs(n) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_17frBbox, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frBbox, __pyx_t_1) < 0) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":260 * return objs * * def frPoly( poly, siz h, siz w ): # <<<<<<<<<<<<<< * cdef np.ndarray[np.double_t, ndim=1] np_poly * n = len(poly) */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_19frPoly, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frPoly, __pyx_t_1) < 0) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":270 * return objs * * def frUncompressedRLE(ucRles, siz h, siz w): # <<<<<<<<<<<<<< * cdef np.ndarray[np.uint32_t, ndim=1] cnts * cdef RLE R */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_21frUncompressedRLE, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frUncompressedRLE, __pyx_t_1) < 0) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":288 * return objs * * def frPyObjects(pyobj, h, w): # <<<<<<<<<<<<<< * # encode rle from a list of python objects * if type(pyobj) == np.ndarray: */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11pycocotools_5_mask_23frPyObjects, NULL, __pyx_n_s_pycocotools__mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_frPyObjects, __pyx_t_1) < 0) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "pycocotools/_mask.pyx":1 * # distutils: language = c # <<<<<<<<<<<<<< * # distutils: sources = ../common/maskApi.c * */ __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; /* "../../anaconda2/envs/torch/lib/python3.6/site-packages/Cython/Includes/numpy/__init__.pxd":1046 * raise ImportError("numpy.core.umath failed to import") * * cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<< * try: * _import_umath() */ /*--- Wrapped vars code ---*/ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); if (__pyx_m) { if (__pyx_d) { __Pyx_AddTraceback("init pycocotools._mask", __pyx_clineno, __pyx_lineno, __pyx_filename); } Py_CLEAR(__pyx_m); } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init pycocotools._mask"); } __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; } /* 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; } /* 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); } /* BytesEquals */ static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { #if CYTHON_COMPILING_IN_PYPY return PyObject_RichCompareBool(s1, s2, equals); #else if (s1 == s2) { return (equals == Py_EQ); } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { const char *ps1, *ps2; Py_ssize_t length = PyBytes_GET_SIZE(s1); if (length != PyBytes_GET_SIZE(s2)) return (equals == Py_NE); ps1 = PyBytes_AS_STRING(s1); ps2 = PyBytes_AS_STRING(s2); if (ps1[0] != ps2[0]) { return (equals == Py_NE); } else if (length == 1) { return (equals == Py_EQ); } else { int result; #if CYTHON_USE_UNICODE_INTERNALS Py_hash_t hash1, hash2; hash1 = ((PyBytesObject*)s1)->ob_shash; hash2 = ((PyBytesObject*)s2)->ob_shash; if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { return (equals == Py_NE); } #endif result = memcmp(ps1, ps2, (size_t)length); return (equals == Py_EQ) ? (result == 0) : (result != 0); } } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { return (equals == Py_NE); } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { return (equals == Py_NE); } else { int result; PyObject* py_result = PyObject_RichCompare(s1, s2, equals); if (!py_result) return -1; result = __Pyx_PyObject_IsTrue(py_result); Py_DECREF(py_result); return result; } #endif } /* UnicodeEquals */ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { #if CYTHON_COMPILING_IN_PYPY return PyObject_RichCompareBool(s1, s2, equals); #else #if PY_MAJOR_VERSION < 3 PyObject* owned_ref = NULL; #endif int s1_is_unicode, s2_is_unicode; if (s1 == s2) { goto return_eq; } s1_is_unicode = PyUnicode_CheckExact(s1); s2_is_unicode = PyUnicode_CheckExact(s2); #if PY_MAJOR_VERSION < 3 if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { owned_ref = PyUnicode_FromObject(s2); if (unlikely(!owned_ref)) return -1; s2 = owned_ref; s2_is_unicode = 1; } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { owned_ref = PyUnicode_FromObject(s1); if (unlikely(!owned_ref)) return -1; s1 = owned_ref; s1_is_unicode = 1; } else if (((!s2_is_unicode) & (!s1_is_unicode))) { return __Pyx_PyBytes_Equals(s1, s2, equals); } #endif if (s1_is_unicode & s2_is_unicode) { Py_ssize_t length; int kind; void *data1, *data2; if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) return -1; length = __Pyx_PyUnicode_GET_LENGTH(s1); if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { goto return_ne; } #if CYTHON_USE_UNICODE_INTERNALS { Py_hash_t hash1, hash2; #if CYTHON_PEP393_ENABLED hash1 = ((PyASCIIObject*)s1)->hash; hash2 = ((PyASCIIObject*)s2)->hash; #else hash1 = ((PyUnicodeObject*)s1)->hash; hash2 = ((PyUnicodeObject*)s2)->hash; #endif if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { goto return_ne; } } #endif kind = __Pyx_PyUnicode_KIND(s1); if (kind != __Pyx_PyUnicode_KIND(s2)) { goto return_ne; } data1 = __Pyx_PyUnicode_DATA(s1); data2 = __Pyx_PyUnicode_DATA(s2); if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { goto return_ne; } else if (length == 1) { goto return_eq; } else { int result = memcmp(data1, data2, (size_t)(length * kind)); #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_EQ) ? (result == 0) : (result != 0); } } else if ((s1 == Py_None) & s2_is_unicode) { goto return_ne; } else if ((s2 == Py_None) & s1_is_unicode) { goto return_ne; } else { int result; PyObject* py_result = PyObject_RichCompare(s1, s2, equals); #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif if (!py_result) return -1; result = __Pyx_PyObject_IsTrue(py_result); Py_DECREF(py_result); return result; } return_eq: #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_EQ); return_ne: #if PY_MAJOR_VERSION < 3 Py_XDECREF(owned_ref); #endif return (equals == Py_NE); #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 /* 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 /* 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 /* 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 /* 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 /* 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; } /* 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; } /* 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 /* PyIntCompare */ static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED long inplace) { if (op1 == op2) { Py_RETURN_TRUE; } #if PY_MAJOR_VERSION < 3 if (likely(PyInt_CheckExact(op1))) { const long b = intval; long a = PyInt_AS_LONG(op1); if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE; } #endif #if CYTHON_USE_PYLONG_INTERNALS if (likely(PyLong_CheckExact(op1))) { int unequal; unsigned long uintval; Py_ssize_t size = Py_SIZE(op1); const digit* digits = ((PyLongObject*)op1)->ob_digit; if (intval == 0) { if (size == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; } else if (intval < 0) { if (size >= 0) Py_RETURN_FALSE; intval = -intval; size = -size; } else { if (size <= 0) Py_RETURN_FALSE; } uintval = (unsigned long) intval; #if PyLong_SHIFT * 4 < SIZEOF_LONG*8 if (uintval >> (PyLong_SHIFT * 4)) { unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); } else #endif #if PyLong_SHIFT * 3 < SIZEOF_LONG*8 if (uintval >> (PyLong_SHIFT * 3)) { unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); } else #endif #if PyLong_SHIFT * 2 < SIZEOF_LONG*8 if (uintval >> (PyLong_SHIFT * 2)) { unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); } else #endif #if PyLong_SHIFT * 1 < SIZEOF_LONG*8 if (uintval >> (PyLong_SHIFT * 1)) { unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK)) | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)); } else #endif unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK)); if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; } #endif if (PyFloat_CheckExact(op1)) { const long b = intval; double a = PyFloat_AS_DOUBLE(op1); if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE; } return ( PyObject_RichCompare(op1, op2, Py_EQ)); } /* 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); } /* DictGetItem */ #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()) { if (unlikely(PyTuple_Check(key))) { PyObject* args = PyTuple_Pack(1, key); if (likely(args)) { PyErr_SetObject(PyExc_KeyError, args); Py_DECREF(args); } } else { PyErr_SetObject(PyExc_KeyError, key); } } return NULL; } Py_INCREF(value); return value; } #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; } /* 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)); } /* 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; } /* FetchCommonType */ static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { PyObject* fake_module; PyTypeObject* cached_type = NULL; fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI); if (!fake_module) return NULL; Py_INCREF(fake_module); cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name); if (cached_type) { if (!PyType_Check((PyObject*)cached_type)) { PyErr_Format(PyExc_TypeError, "Shared Cython type %.200s is not a type object", type->tp_name); goto bad; } if (cached_type->tp_basicsize != type->tp_basicsize) { PyErr_Format(PyExc_TypeError, "Shared Cython type %.200s has the wrong size, try recompiling", type->tp_name); goto bad; } } else { if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; PyErr_Clear(); if (PyType_Ready(type) < 0) goto bad; if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0) goto bad; Py_INCREF(type); cached_type = type; } done: Py_DECREF(fake_module); return cached_type; bad: Py_XDECREF(cached_type); cached_type = NULL; goto done; } /* CythonFunction */ #include static PyObject * __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure) { if (unlikely(op->func_doc == NULL)) { if (op->func.m_ml->ml_doc) { #if PY_MAJOR_VERSION >= 3 op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc); #else op->func_doc = PyString_FromString(op->func.m_ml->ml_doc); #endif if (unlikely(op->func_doc == NULL)) return NULL; } else { Py_INCREF(Py_None); return Py_None; } } Py_INCREF(op->func_doc); return op->func_doc; } static int __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) { PyObject *tmp = op->func_doc; if (value == NULL) { value = Py_None; } Py_INCREF(value); op->func_doc = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { if (unlikely(op->func_name == NULL)) { #if PY_MAJOR_VERSION >= 3 op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name); #else op->func_name = PyString_InternFromString(op->func.m_ml->ml_name); #endif if (unlikely(op->func_name == NULL)) return NULL; } Py_INCREF(op->func_name); return op->func_name; } static int __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) { PyObject *tmp; #if PY_MAJOR_VERSION >= 3 if (unlikely(value == NULL || !PyUnicode_Check(value))) #else if (unlikely(value == NULL || !PyString_Check(value))) #endif { PyErr_SetString(PyExc_TypeError, "__name__ must be set to a string object"); return -1; } tmp = op->func_name; Py_INCREF(value); op->func_name = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { Py_INCREF(op->func_qualname); return op->func_qualname; } static int __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) { PyObject *tmp; #if PY_MAJOR_VERSION >= 3 if (unlikely(value == NULL || !PyUnicode_Check(value))) #else if (unlikely(value == NULL || !PyString_Check(value))) #endif { PyErr_SetString(PyExc_TypeError, "__qualname__ must be set to a string object"); return -1; } tmp = op->func_qualname; Py_INCREF(value); op->func_qualname = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure) { PyObject *self; self = m->func_closure; if (self == NULL) self = Py_None; Py_INCREF(self); return self; } static PyObject * __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { if (unlikely(op->func_dict == NULL)) { op->func_dict = PyDict_New(); if (unlikely(op->func_dict == NULL)) return NULL; } Py_INCREF(op->func_dict); return op->func_dict; } static int __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context) { PyObject *tmp; if (unlikely(value == NULL)) { PyErr_SetString(PyExc_TypeError, "function's dictionary may not be deleted"); return -1; } if (unlikely(!PyDict_Check(value))) { PyErr_SetString(PyExc_TypeError, "setting function's dictionary to a non-dict"); return -1; } tmp = op->func_dict; Py_INCREF(value); op->func_dict = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { Py_INCREF(op->func_globals); return op->func_globals; } static PyObject * __Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { Py_INCREF(Py_None); return Py_None; } static PyObject * __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { PyObject* result = (op->func_code) ? op->func_code : Py_None; Py_INCREF(result); return result; } static int __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { int result = 0; PyObject *res = op->defaults_getter((PyObject *) op); if (unlikely(!res)) return -1; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS op->defaults_tuple = PyTuple_GET_ITEM(res, 0); Py_INCREF(op->defaults_tuple); op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); Py_INCREF(op->defaults_kwdict); #else op->defaults_tuple = PySequence_ITEM(res, 0); if (unlikely(!op->defaults_tuple)) result = -1; else { op->defaults_kwdict = PySequence_ITEM(res, 1); if (unlikely(!op->defaults_kwdict)) result = -1; } #endif Py_DECREF(res); return result; } static int __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { PyObject* tmp; if (!value) { value = Py_None; } else if (value != Py_None && !PyTuple_Check(value)) { PyErr_SetString(PyExc_TypeError, "__defaults__ must be set to a tuple object"); return -1; } Py_INCREF(value); tmp = op->defaults_tuple; op->defaults_tuple = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { PyObject* result = op->defaults_tuple; if (unlikely(!result)) { if (op->defaults_getter) { if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; result = op->defaults_tuple; } else { result = Py_None; } } Py_INCREF(result); return result; } static int __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { PyObject* tmp; if (!value) { value = Py_None; } else if (value != Py_None && !PyDict_Check(value)) { PyErr_SetString(PyExc_TypeError, "__kwdefaults__ must be set to a dict object"); return -1; } Py_INCREF(value); tmp = op->defaults_kwdict; op->defaults_kwdict = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { PyObject* result = op->defaults_kwdict; if (unlikely(!result)) { if (op->defaults_getter) { if (__Pyx_CyFunction_init_defaults(op) < 0) return NULL; result = op->defaults_kwdict; } else { result = Py_None; } } Py_INCREF(result); return result; } static int __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) { PyObject* tmp; if (!value || value == Py_None) { value = NULL; } else if (!PyDict_Check(value)) { PyErr_SetString(PyExc_TypeError, "__annotations__ must be set to a dict object"); return -1; } Py_XINCREF(value); tmp = op->func_annotations; op->func_annotations = value; Py_XDECREF(tmp); return 0; } static PyObject * __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) { PyObject* result = op->func_annotations; if (unlikely(!result)) { result = PyDict_New(); if (unlikely(!result)) return NULL; op->func_annotations = result; } Py_INCREF(result); return result; } static PyGetSetDef __pyx_CyFunction_getsets[] = { {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0}, {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, {0, 0, 0, 0, 0} }; static PyMemberDef __pyx_CyFunction_members[] = { {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0}, {0, 0, 0, 0, 0} }; static PyObject * __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromString(m->func.m_ml->ml_name); #else return PyString_FromString(m->func.m_ml->ml_name); #endif } static PyMethodDef __pyx_CyFunction_methods[] = { {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, {0, 0, 0, 0} }; #if PY_VERSION_HEX < 0x030500A0 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist) #else #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist) #endif static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname, PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type); if (op == NULL) return NULL; op->flags = flags; __Pyx_CyFunction_weakreflist(op) = NULL; op->func.m_ml = ml; op->func.m_self = (PyObject *) op; Py_XINCREF(closure); op->func_closure = closure; Py_XINCREF(module); op->func.m_module = module; op->func_dict = NULL; op->func_name = NULL; Py_INCREF(qualname); op->func_qualname = qualname; op->func_doc = NULL; op->func_classobj = NULL; op->func_globals = globals; Py_INCREF(op->func_globals); Py_XINCREF(code); op->func_code = code; op->defaults_pyobjects = 0; op->defaults = NULL; op->defaults_tuple = NULL; op->defaults_kwdict = NULL; op->defaults_getter = NULL; op->func_annotations = NULL; PyObject_GC_Track(op); return (PyObject *) op; } static int __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) { Py_CLEAR(m->func_closure); Py_CLEAR(m->func.m_module); Py_CLEAR(m->func_dict); Py_CLEAR(m->func_name); Py_CLEAR(m->func_qualname); Py_CLEAR(m->func_doc); Py_CLEAR(m->func_globals); Py_CLEAR(m->func_code); Py_CLEAR(m->func_classobj); Py_CLEAR(m->defaults_tuple); Py_CLEAR(m->defaults_kwdict); Py_CLEAR(m->func_annotations); if (m->defaults) { PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); int i; for (i = 0; i < m->defaults_pyobjects; i++) Py_XDECREF(pydefaults[i]); PyObject_Free(m->defaults); m->defaults = NULL; } return 0; } static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) { if (__Pyx_CyFunction_weakreflist(m) != NULL) PyObject_ClearWeakRefs((PyObject *) m); __Pyx_CyFunction_clear(m); PyObject_GC_Del(m); } static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) { PyObject_GC_UnTrack(m); __Pyx__CyFunction_dealloc(m); } static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) { Py_VISIT(m->func_closure); Py_VISIT(m->func.m_module); Py_VISIT(m->func_dict); Py_VISIT(m->func_name); Py_VISIT(m->func_qualname); Py_VISIT(m->func_doc); Py_VISIT(m->func_globals); Py_VISIT(m->func_code); Py_VISIT(m->func_classobj); Py_VISIT(m->defaults_tuple); Py_VISIT(m->defaults_kwdict); if (m->defaults) { PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); int i; for (i = 0; i < m->defaults_pyobjects; i++) Py_VISIT(pydefaults[i]); } return 0; } static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) { Py_INCREF(func); return func; } if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) { if (type == NULL) type = (PyObject *)(Py_TYPE(obj)); return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type))); } if (obj == Py_None) obj = NULL; return __Pyx_PyMethod_New(func, obj, type); } static PyObject* __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) { #if PY_MAJOR_VERSION >= 3 return PyUnicode_FromFormat("", op->func_qualname, (void *)op); #else return PyString_FromFormat("", PyString_AsString(op->func_qualname), (void *)op); #endif } static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { PyCFunctionObject* f = (PyCFunctionObject*)func; PyCFunction meth = f->m_ml->ml_meth; Py_ssize_t size; switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { case METH_VARARGS: if (likely(kw == NULL || PyDict_Size(kw) == 0)) return (*meth)(self, arg); break; case METH_VARARGS | METH_KEYWORDS: return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); case METH_NOARGS: if (likely(kw == NULL || PyDict_Size(kw) == 0)) { size = PyTuple_GET_SIZE(arg); if (likely(size == 0)) return (*meth)(self, NULL); PyErr_Format(PyExc_TypeError, "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", f->m_ml->ml_name, size); return NULL; } break; case METH_O: if (likely(kw == NULL || PyDict_Size(kw) == 0)) { size = PyTuple_GET_SIZE(arg); if (likely(size == 1)) { PyObject *result, *arg0; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS arg0 = PyTuple_GET_ITEM(arg, 0); #else arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; #endif result = (*meth)(self, arg0); #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS) Py_DECREF(arg0); #endif return result; } PyErr_Format(PyExc_TypeError, "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", f->m_ml->ml_name, size); return NULL; } break; default: PyErr_SetString(PyExc_SystemError, "Bad call flags in " "__Pyx_CyFunction_Call. METH_OLDARGS is no " "longer supported!"); return NULL; } PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", f->m_ml->ml_name); return NULL; } static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); } static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { PyObject *result; __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { Py_ssize_t argc; PyObject *new_args; PyObject *self; argc = PyTuple_GET_SIZE(args); new_args = PyTuple_GetSlice(args, 1, argc); if (unlikely(!new_args)) return NULL; self = PyTuple_GetItem(args, 0); if (unlikely(!self)) { Py_DECREF(new_args); return NULL; } result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); Py_DECREF(new_args); } else { result = __Pyx_CyFunction_Call(func, args, kw); } return result; } static PyTypeObject __pyx_CyFunctionType_type = { PyVarObject_HEAD_INIT(0, 0) "cython_function_or_method", sizeof(__pyx_CyFunctionObject), 0, (destructor) __Pyx_CyFunction_dealloc, 0, 0, 0, #if PY_MAJOR_VERSION < 3 0, #else 0, #endif (reprfunc) __Pyx_CyFunction_repr, 0, 0, 0, 0, __Pyx_CyFunction_CallAsMethod, 0, 0, 0, 0, Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, 0, (traverseproc) __Pyx_CyFunction_traverse, (inquiry) __Pyx_CyFunction_clear, 0, #if PY_VERSION_HEX < 0x030500A0 offsetof(__pyx_CyFunctionObject, func_weakreflist), #else offsetof(PyCFunctionObject, m_weakreflist), #endif 0, 0, __pyx_CyFunction_methods, __pyx_CyFunction_members, __pyx_CyFunction_getsets, 0, 0, __Pyx_CyFunction_descr_get, 0, offsetof(__pyx_CyFunctionObject, func_dict), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, #if PY_VERSION_HEX >= 0x030400a1 0, #endif #if PY_VERSION_HEX >= 0x030800b1 0, #endif #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 0, #endif }; static int __pyx_CyFunction_init(void) { __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); if (unlikely(__pyx_CyFunctionType == NULL)) { return -1; } return 0; } static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults = PyObject_Malloc(size); if (unlikely(!m->defaults)) return PyErr_NoMemory(); memset(m->defaults, 0, size); m->defaults_pyobjects = pyobjects; return m->defaults; } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_tuple = tuple; Py_INCREF(tuple); } static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->defaults_kwdict = dict; Py_INCREF(dict); } static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; m->func_annotations = dict; Py_INCREF(dict); } /* BufferFallbackError */ static void __Pyx_RaiseBufferFallbackError(void) { PyErr_SetString(PyExc_ValueError, "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); } /* None */ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b) { Py_ssize_t q = a / b; Py_ssize_t r = a - q*b; q -= ((r != 0) & ((r ^ b) < 0)); return q; } /* BufferIndexError */ static void __Pyx_RaiseBufferIndexError(int axis) { PyErr_Format(PyExc_IndexError, "Out of bounds on buffer access (axis %d)", axis); } /* 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"); } /* 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; } /* PyObject_GenericGetAttrNoDict */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) { PyErr_Format(PyExc_AttributeError, #if PY_MAJOR_VERSION >= 3 "'%.50s' object has no attribute '%U'", tp->tp_name, attr_name); #else "'%.50s' object has no attribute '%.400s'", tp->tp_name, PyString_AS_STRING(attr_name)); #endif return NULL; } static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) { PyObject *descr; PyTypeObject *tp = Py_TYPE(obj); if (unlikely(!PyString_Check(attr_name))) { return PyObject_GenericGetAttr(obj, attr_name); } assert(!tp->tp_dictoffset); descr = _PyType_Lookup(tp, attr_name); if (unlikely(!descr)) { return __Pyx_RaiseGenericGetAttributeError(tp, attr_name); } Py_INCREF(descr); #if PY_MAJOR_VERSION < 3 if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS))) #endif { descrgetfunc f = Py_TYPE(descr)->tp_descr_get; if (unlikely(f)) { PyObject *res = f(descr, obj, (PyObject *)tp); Py_DECREF(descr); return res; } } return descr; } #endif /* PyObject_GenericGetAttr */ #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) { if (unlikely(Py_TYPE(obj)->tp_dictoffset)) { return PyObject_GenericGetAttr(obj, attr_name); } return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name); } #endif /* SetupReduce */ static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) { int ret; PyObject *name_attr; name_attr = __Pyx_PyObject_GetAttrStr(meth, __pyx_n_s_name); if (likely(name_attr)) { ret = PyObject_RichCompareBool(name_attr, name, Py_EQ); } else { ret = -1; } if (unlikely(ret < 0)) { PyErr_Clear(); ret = 0; } Py_XDECREF(name_attr); return ret; } static int __Pyx_setup_reduce(PyObject* type_obj) { int ret = 0; PyObject *object_reduce = NULL; PyObject *object_reduce_ex = NULL; PyObject *reduce = NULL; PyObject *reduce_ex = NULL; PyObject *reduce_cython = NULL; PyObject *setstate = NULL; PyObject *setstate_cython = NULL; #if CYTHON_USE_PYTYPE_LOOKUP if (_PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate)) goto GOOD; #else if (PyObject_HasAttr(type_obj, __pyx_n_s_getstate)) goto GOOD; #endif #if CYTHON_USE_PYTYPE_LOOKUP object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; #else object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto BAD; #endif reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto BAD; if (reduce_ex == object_reduce_ex) { #if CYTHON_USE_PYTYPE_LOOKUP object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; #else object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto BAD; #endif reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto BAD; if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) { reduce_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_cython); if (unlikely(!reduce_cython)) goto BAD; ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto BAD; ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto BAD; setstate = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate); if (!setstate) PyErr_Clear(); if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) { setstate_cython = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_setstate_cython); if (unlikely(!setstate_cython)) goto BAD; ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto BAD; ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto BAD; } PyType_Modified((PyTypeObject*)type_obj); } } goto GOOD; BAD: if (!PyErr_Occurred()) PyErr_Format(PyExc_RuntimeError, "Unable to initialize pickling for %s", ((PyTypeObject*)type_obj)->tp_name); ret = -1; GOOD: #if !CYTHON_USE_PYTYPE_LOOKUP Py_XDECREF(object_reduce); Py_XDECREF(object_reduce_ex); #endif Py_XDECREF(reduce); Py_XDECREF(reduce_ex); Py_XDECREF(reduce_cython); Py_XDECREF(setstate); Py_XDECREF(setstate_cython); return ret; } /* 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 (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(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); if (__Pyx_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 ((0)) {} else if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view); view->obj = NULL; Py_DECREF(obj); } #endif /* 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); } } /* 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_siz(siz value) { const siz neg_one = (siz) ((siz) 0 - (siz) 1), const_zero = (siz) 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(siz) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(siz) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(siz) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= 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(siz), little, !is_unsigned); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value) { const Py_intptr_t neg_one = (Py_intptr_t) ((Py_intptr_t) 0 - (Py_intptr_t) 1), const_zero = (Py_intptr_t) 0; const int is_unsigned = neg_one > const_zero; if (is_unsigned) { if (sizeof(Py_intptr_t) < sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(Py_intptr_t) <= sizeof(unsigned long)) { return PyLong_FromUnsignedLong((unsigned long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(Py_intptr_t) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(Py_intptr_t) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(Py_intptr_t) <= 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(Py_intptr_t), 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 /* 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); } } /* CIntToPy */ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) { const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (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); #ifdef HAVE_LONG_LONG } else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) { return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); #endif } } else { if (sizeof(enum NPY_TYPES) <= sizeof(long)) { return PyInt_FromLong((long) value); #ifdef HAVE_LONG_LONG } else if (sizeof(enum NPY_TYPES) <= 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(enum NPY_TYPES), little, !is_unsigned); } } /* CIntFromPy */ static CYTHON_INLINE siz __Pyx_PyInt_As_siz(PyObject *x) { const siz neg_one = (siz) ((siz) 0 - (siz) 1), const_zero = (siz) 0; const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(siz) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(siz, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (siz) 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 (siz) 0; case 1: __PYX_VERIFY_RETURN_INT(siz, digit, digits[0]) case 2: if (8 * sizeof(siz) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) >= 2 * PyLong_SHIFT) { return (siz) (((((siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0])); } } break; case 3: if (8 * sizeof(siz) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) >= 3 * PyLong_SHIFT) { return (siz) (((((((siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0])); } } break; case 4: if (8 * sizeof(siz) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, 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(siz) >= 4 * PyLong_SHIFT) { return (siz) (((((((((siz)digits[3]) << PyLong_SHIFT) | (siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)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 (siz) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(siz) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(siz, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(siz, 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 (siz) 0; case -1: __PYX_VERIFY_RETURN_INT(siz, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(siz, digit, +digits[0]) case -2: if (8 * sizeof(siz) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 2 * PyLong_SHIFT) { return (siz) (((siz)-1)*(((((siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case 2: if (8 * sizeof(siz) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 2 * PyLong_SHIFT) { return (siz) ((((((siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case -3: if (8 * sizeof(siz) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 3 * PyLong_SHIFT) { return (siz) (((siz)-1)*(((((((siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case 3: if (8 * sizeof(siz) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(siz) - 1 > 3 * PyLong_SHIFT) { return (siz) ((((((((siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case -4: if (8 * sizeof(siz) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, 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(siz) - 1 > 4 * PyLong_SHIFT) { return (siz) (((siz)-1)*(((((((((siz)digits[3]) << PyLong_SHIFT) | (siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; case 4: if (8 * sizeof(siz) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(siz, 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(siz) - 1 > 4 * PyLong_SHIFT) { return (siz) ((((((((((siz)digits[3]) << PyLong_SHIFT) | (siz)digits[2]) << PyLong_SHIFT) | (siz)digits[1]) << PyLong_SHIFT) | (siz)digits[0]))); } } break; } #endif if (sizeof(siz) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(siz, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(siz) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(siz, 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 siz 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 (siz) -1; } } else { siz val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (siz) -1; val = __Pyx_PyInt_As_siz(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to siz"); return (siz) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to siz"); return (siz) -1; } /* CIntFromPy */ static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) { const size_t neg_one = (size_t) ((size_t) 0 - (size_t) 1), const_zero = (size_t) 0; const int is_unsigned = neg_one > const_zero; #if PY_MAJOR_VERSION < 3 if (likely(PyInt_Check(x))) { if (sizeof(size_t) < sizeof(long)) { __PYX_VERIFY_RETURN_INT(size_t, long, PyInt_AS_LONG(x)) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { goto raise_neg_overflow; } return (size_t) 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 (size_t) 0; case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, digits[0]) case 2: if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) >= 2 * PyLong_SHIFT) { return (size_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } } break; case 3: if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) >= 3 * PyLong_SHIFT) { return (size_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); } } break; case 4: if (8 * sizeof(size_t) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, 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(size_t) >= 4 * PyLong_SHIFT) { return (size_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 #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 (size_t) -1; if (unlikely(result == 1)) goto raise_neg_overflow; } #endif if (sizeof(size_t) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, unsigned long, PyLong_AsUnsignedLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(size_t) <= sizeof(unsigned PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, 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 (size_t) 0; case -1: __PYX_VERIFY_RETURN_INT(size_t, sdigit, (sdigit) (-(sdigit)digits[0])) case 1: __PYX_VERIFY_RETURN_INT(size_t, digit, +digits[0]) case -2: if (8 * sizeof(size_t) - 1 > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { return (size_t) (((size_t)-1)*(((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case 2: if (8 * sizeof(size_t) > 1 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { return (size_t) ((((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case -3: if (8 * sizeof(size_t) - 1 > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { return (size_t) (((size_t)-1)*(((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case 3: if (8 * sizeof(size_t) > 2 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) } else if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { return (size_t) ((((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]))); } } break; case -4: if (8 * sizeof(size_t) - 1 > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, 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(size_t) - 1 > 4 * PyLong_SHIFT) { return (size_t) (((size_t)-1)*(((((((((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(size_t) > 3 * PyLong_SHIFT) { if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) { __PYX_VERIFY_RETURN_INT(size_t, 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(size_t) - 1 > 4 * PyLong_SHIFT) { return (size_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 if (sizeof(size_t) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, long, PyLong_AsLong(x)) #ifdef HAVE_LONG_LONG } else if (sizeof(size_t) <= sizeof(PY_LONG_LONG)) { __PYX_VERIFY_RETURN_INT_EXC(size_t, 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 size_t 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 (size_t) -1; } } else { size_t val; PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); if (!tmp) return (size_t) -1; val = __Pyx_PyInt_As_size_t(tmp); Py_DECREF(tmp); return val; } raise_overflow: PyErr_SetString(PyExc_OverflowError, "value too large to convert to size_t"); return (size_t) -1; raise_neg_overflow: PyErr_SetString(PyExc_OverflowError, "can't convert negative value to size_t"); return (size_t) -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; } /* 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 */ ================================================ FILE: cocoapi/PythonAPI/pycocotools/_mask.pyx ================================================ # distutils: language = c # distutils: sources = ../common/maskApi.c #************************************************************************** # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] #************************************************************************** __author__ = 'tsungyi' import sys PYTHON_VERSION = sys.version_info[0] # import both Python-level and C-level symbols of Numpy # the API uses Numpy to interface C and Python import numpy as np cimport numpy as np from libc.stdlib cimport malloc, free # intialized Numpy. must do. np.import_array() # import numpy C function # we use PyArray_ENABLEFLAGS to make Numpy ndarray responsible to memoery management cdef extern from "numpy/arrayobject.h": void PyArray_ENABLEFLAGS(np.ndarray arr, int flags) # Declare the prototype of the C functions in MaskApi.h cdef extern from "maskApi.h": ctypedef unsigned int uint ctypedef unsigned long siz ctypedef unsigned char byte ctypedef double* BB ctypedef struct RLE: siz h, siz w, siz m, uint* cnts, void rlesInit( RLE **R, siz n ) void rleEncode( RLE *R, const byte *M, siz h, siz w, siz n ) void rleDecode( const RLE *R, byte *mask, siz n ) void rleMerge( const RLE *R, RLE *M, siz n, int intersect ) void rleArea( const RLE *R, siz n, uint *a ) void rleIou( RLE *dt, RLE *gt, siz m, siz n, byte *iscrowd, double *o ) void bbIou( BB dt, BB gt, siz m, siz n, byte *iscrowd, double *o ) void rleToBbox( const RLE *R, BB bb, siz n ) void rleFrBbox( RLE *R, const BB bb, siz h, siz w, siz n ) void rleFrPoly( RLE *R, const double *xy, siz k, siz h, siz w ) char* rleToString( const RLE *R ) void rleFrString( RLE *R, char *s, siz h, siz w ) # python class to wrap RLE array in C # the class handles the memory allocation and deallocation cdef class RLEs: cdef RLE *_R cdef siz _n def __cinit__(self, siz n =0): rlesInit(&self._R, n) self._n = n # free the RLE array here def __dealloc__(self): if self._R is not NULL: for i in range(self._n): free(self._R[i].cnts) free(self._R) def __getattr__(self, key): if key == 'n': return self._n raise AttributeError(key) # python class to wrap Mask array in C # the class handles the memory allocation and deallocation cdef class Masks: cdef byte *_mask cdef siz _h cdef siz _w cdef siz _n def __cinit__(self, h, w, n): self._mask = malloc(h*w*n* sizeof(byte)) self._h = h self._w = w self._n = n # def __dealloc__(self): # the memory management of _mask has been passed to np.ndarray # it doesn't need to be freed here # called when passing into np.array() and return an np.ndarray in column-major order def __array__(self): cdef np.npy_intp shape[1] shape[0] = self._h*self._w*self._n # Create a 1D array, and reshape it to fortran/Matlab column-major array ndarray = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT8, self._mask).reshape((self._h, self._w, self._n), order='F') # The _mask allocated by Masks is now handled by ndarray PyArray_ENABLEFLAGS(ndarray, np.NPY_OWNDATA) return ndarray # internal conversion from Python RLEs object to compressed RLE format def _toString(RLEs Rs): cdef siz n = Rs.n cdef bytes py_string cdef char* c_string objs = [] for i in range(n): c_string = rleToString( &Rs._R[i] ) py_string = c_string objs.append({ 'size': [Rs._R[i].h, Rs._R[i].w], 'counts': py_string }) free(c_string) return objs # internal conversion from compressed RLE format to Python RLEs object def _frString(rleObjs): cdef siz n = len(rleObjs) Rs = RLEs(n) cdef bytes py_string cdef char* c_string for i, obj in enumerate(rleObjs): if PYTHON_VERSION == 2: py_string = str(obj['counts']).encode('utf8') elif PYTHON_VERSION == 3: py_string = str.encode(obj['counts']) if type(obj['counts']) == str else obj['counts'] else: raise Exception('Python version must be 2 or 3') c_string = py_string rleFrString( &Rs._R[i], c_string, obj['size'][0], obj['size'][1] ) return Rs # encode mask to RLEs objects # list of RLE string can be generated by RLEs member function def encode(np.ndarray[np.uint8_t, ndim=3, mode='fortran'] mask): h, w, n = mask.shape[0], mask.shape[1], mask.shape[2] cdef RLEs Rs = RLEs(n) rleEncode(Rs._R,mask.data,h,w,n) objs = _toString(Rs) return objs # decode mask from compressed list of RLE string or RLEs object def decode(rleObjs): cdef RLEs Rs = _frString(rleObjs) h, w, n = Rs._R[0].h, Rs._R[0].w, Rs._n masks = Masks(h, w, n) rleDecode(Rs._R, masks._mask, n); return np.array(masks) def merge(rleObjs, intersect=0): cdef RLEs Rs = _frString(rleObjs) cdef RLEs R = RLEs(1) rleMerge(Rs._R, R._R, Rs._n, intersect) obj = _toString(R)[0] return obj def area(rleObjs): cdef RLEs Rs = _frString(rleObjs) cdef uint* _a = malloc(Rs._n* sizeof(uint)) rleArea(Rs._R, Rs._n, _a) cdef np.npy_intp shape[1] shape[0] = Rs._n a = np.array((Rs._n, ), dtype=np.uint8) a = np.PyArray_SimpleNewFromData(1, shape, np.NPY_UINT32, _a) PyArray_ENABLEFLAGS(a, np.NPY_OWNDATA) return a # iou computation. support function overload (RLEs-RLEs and bbox-bbox). def iou( dt, gt, pyiscrowd ): def _preproc(objs): if len(objs) == 0: return objs if type(objs) == np.ndarray: if len(objs.shape) == 1: objs = objs.reshape((objs[0], 1)) # check if it's Nx4 bbox if not len(objs.shape) == 2 or not objs.shape[1] == 4: raise Exception('numpy ndarray input is only for *bounding boxes* and should have Nx4 dimension') objs = objs.astype(np.double) elif type(objs) == list: # check if list is in box format and convert it to np.ndarray isbox = np.all(np.array([(len(obj)==4) and ((type(obj)==list) or (type(obj)==np.ndarray)) for obj in objs])) isrle = np.all(np.array([type(obj) == dict for obj in objs])) if isbox: objs = np.array(objs, dtype=np.double) if len(objs.shape) == 1: objs = objs.reshape((1,objs.shape[0])) elif isrle: objs = _frString(objs) else: raise Exception('list input can be bounding box (Nx4) or RLEs ([RLE])') else: raise Exception('unrecognized type. The following type: RLEs (rle), np.ndarray (box), and list (box) are supported.') return objs def _rleIou(RLEs dt, RLEs gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): rleIou( dt._R, gt._R, m, n, iscrowd.data, _iou.data ) def _bbIou(np.ndarray[np.double_t, ndim=2] dt, np.ndarray[np.double_t, ndim=2] gt, np.ndarray[np.uint8_t, ndim=1] iscrowd, siz m, siz n, np.ndarray[np.double_t, ndim=1] _iou): bbIou( dt.data, gt.data, m, n, iscrowd.data, _iou.data ) def _len(obj): cdef siz N = 0 if type(obj) == RLEs: N = obj.n elif len(obj)==0: pass elif type(obj) == np.ndarray: N = obj.shape[0] return N # convert iscrowd to numpy array cdef np.ndarray[np.uint8_t, ndim=1] iscrowd = np.array(pyiscrowd, dtype=np.uint8) # simple type checking cdef siz m, n dt = _preproc(dt) gt = _preproc(gt) m = _len(dt) n = _len(gt) if m == 0 or n == 0: return [] if not type(dt) == type(gt): raise Exception('The dt and gt should have the same data type, either RLEs, list or np.ndarray') # define local variables cdef double* _iou = 0 cdef np.npy_intp shape[1] # check type and assign iou function if type(dt) == RLEs: _iouFun = _rleIou elif type(dt) == np.ndarray: _iouFun = _bbIou else: raise Exception('input data type not allowed.') _iou = malloc(m*n* sizeof(double)) iou = np.zeros((m*n, ), dtype=np.double) shape[0] = m*n iou = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _iou) PyArray_ENABLEFLAGS(iou, np.NPY_OWNDATA) _iouFun(dt, gt, iscrowd, m, n, iou) return iou.reshape((m,n), order='F') def toBbox( rleObjs ): cdef RLEs Rs = _frString(rleObjs) cdef siz n = Rs.n cdef BB _bb = malloc(4*n* sizeof(double)) rleToBbox( Rs._R, _bb, n ) cdef np.npy_intp shape[1] shape[0] = 4*n bb = np.array((1,4*n), dtype=np.double) bb = np.PyArray_SimpleNewFromData(1, shape, np.NPY_DOUBLE, _bb).reshape((n, 4)) PyArray_ENABLEFLAGS(bb, np.NPY_OWNDATA) return bb def frBbox(np.ndarray[np.double_t, ndim=2] bb, siz h, siz w ): cdef siz n = bb.shape[0] Rs = RLEs(n) rleFrBbox( Rs._R, bb.data, h, w, n ) objs = _toString(Rs) return objs def frPoly( poly, siz h, siz w ): cdef np.ndarray[np.double_t, ndim=1] np_poly n = len(poly) Rs = RLEs(n) for i, p in enumerate(poly): np_poly = np.array(p, dtype=np.double, order='F') rleFrPoly( &Rs._R[i], np_poly.data, int(len(p)/2), h, w ) objs = _toString(Rs) return objs def frUncompressedRLE(ucRles, siz h, siz w): cdef np.ndarray[np.uint32_t, ndim=1] cnts cdef RLE R cdef uint *data n = len(ucRles) objs = [] for i in range(n): Rs = RLEs(1) cnts = np.array(ucRles[i]['counts'], dtype=np.uint32) # time for malloc can be saved here but it's fine data = malloc(len(cnts)* sizeof(uint)) for j in range(len(cnts)): data[j] = cnts[j] R = RLE(ucRles[i]['size'][0], ucRles[i]['size'][1], len(cnts), data) Rs._R[0] = R objs.append(_toString(Rs)[0]) return objs def frPyObjects(pyobj, h, w): # encode rle from a list of python objects if type(pyobj) == np.ndarray: objs = frBbox(pyobj, h, w) elif type(pyobj) == list and len(pyobj[0]) == 4: objs = frBbox(pyobj, h, w) elif type(pyobj) == list and len(pyobj[0]) > 4: objs = frPoly(pyobj, h, w) elif type(pyobj) == list and type(pyobj[0]) == dict \ and 'counts' in pyobj[0] and 'size' in pyobj[0]: objs = frUncompressedRLE(pyobj, h, w) # encode rle from single python object elif type(pyobj) == list and len(pyobj) == 4: objs = frBbox([pyobj], h, w)[0] elif type(pyobj) == list and len(pyobj) > 4: objs = frPoly([pyobj], h, w)[0] elif type(pyobj) == dict and 'counts' in pyobj and 'size' in pyobj: objs = frUncompressedRLE([pyobj], h, w)[0] else: raise Exception('input type is not supported.') return objs ================================================ FILE: cocoapi/PythonAPI/pycocotools/coco.py ================================================ __author__ = 'tylin' __version__ = '2.0' # Interface for accessing the Microsoft COCO dataset. # Microsoft COCO is a large image dataset designed for object detection, # segmentation, and caption generation. pycocotools is a Python API that # assists in loading, parsing and visualizing the annotations in COCO. # Please visit http://mscoco.org/ for more information on COCO, including # for the data, paper, and tutorials. The exact format of the annotations # is also described on the COCO website. For example usage of the pycocotools # please see pycocotools_demo.ipynb. In addition to this API, please download both # the COCO images and annotations in order to run the demo. # An alternative to using the API is to load the annotations directly # into Python dictionary # Using the API provides additional utility functions. Note that this API # supports both *instance* and *caption* annotations. In the case of # captions not all functions are defined (e.g. categories are undefined). # The following API functions are defined: # COCO - COCO api class that loads COCO annotation file and prepare data structures. # decodeMask - Decode binary mask M encoded via run-length encoding. # encodeMask - Encode binary mask M using run-length encoding. # getAnnIds - Get ann ids that satisfy given filter conditions. # getCatIds - Get cat ids that satisfy given filter conditions. # getImgIds - Get img ids that satisfy given filter conditions. # loadAnns - Load anns with the specified ids. # loadCats - Load cats with the specified ids. # loadImgs - Load imgs with the specified ids. # annToMask - Convert segmentation in an annotation to binary mask. # showAnns - Display the specified annotations. # loadRes - Load algorithm results and create API for accessing them. # download - Download COCO images from mscoco.org server. # Throughout the API "ann"=annotation, "cat"=category, and "img"=image. # Help on each functions can be accessed by: "help COCO>function". # See also COCO>decodeMask, # COCO>encodeMask, COCO>getAnnIds, COCO>getCatIds, # COCO>getImgIds, COCO>loadAnns, COCO>loadCats, # COCO>loadImgs, COCO>annToMask, COCO>showAnns # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2014. # Licensed under the Simplified BSD License [see bsd.txt] import json import time import matplotlib.pyplot as plt from matplotlib.collections import PatchCollection from matplotlib.patches import Polygon import numpy as np import copy import itertools from . import mask as maskUtils import os from collections import defaultdict import sys PYTHON_VERSION = sys.version_info[0] if PYTHON_VERSION == 2: from urllib import urlretrieve elif PYTHON_VERSION == 3: from urllib.request import urlretrieve def _isArrayLike(obj): return hasattr(obj, '__iter__') and hasattr(obj, '__len__') class COCO: def __init__(self, annotation_file=None): """ Constructor of Microsoft COCO helper class for reading and visualizing annotations. :param annotation_file (str): location of annotation file :param image_folder (str): location to the folder that hosts images. :return: """ # load dataset self.dataset,self.anns,self.cats,self.imgs = dict(),dict(),dict(),dict() self.imgToAnns, self.catToImgs = defaultdict(list), defaultdict(list) if not annotation_file == None: print('loading annotations into memory...') tic = time.time() dataset = json.load(open(annotation_file, 'r')) assert type(dataset)==dict, 'annotation file format {} not supported'.format(type(dataset)) print('Done (t={:0.2f}s)'.format(time.time()- tic)) self.dataset = dataset self.createIndex() def createIndex(self): # create index print('creating index...') anns, cats, imgs = {}, {}, {} imgToAnns,catToImgs = defaultdict(list),defaultdict(list) if 'annotations' in self.dataset: for ann in self.dataset['annotations']: imgToAnns[ann['image_id']].append(ann) anns[ann['id']] = ann if 'images' in self.dataset: for img in self.dataset['images']: imgs[img['id']] = img if 'categories' in self.dataset: for cat in self.dataset['categories']: cats[cat['id']] = cat if 'annotations' in self.dataset and 'categories' in self.dataset: for ann in self.dataset['annotations']: catToImgs[ann['category_id']].append(ann['image_id']) print('index created!') # create class members self.anns = anns self.imgToAnns = imgToAnns self.catToImgs = catToImgs self.imgs = imgs self.cats = cats def info(self): """ Print information about the annotation file. :return: """ for key, value in self.dataset['info'].items(): print('{}: {}'.format(key, value)) def getAnnIds(self, imgIds=[], catIds=[], areaRng=[], iscrowd=None): """ Get ann ids that satisfy given filter conditions. default skips that filter :param imgIds (int array) : get anns for given imgs catIds (int array) : get anns for given cats areaRng (float array) : get anns for given area range (e.g. [0 inf]) iscrowd (boolean) : get anns for given crowd label (False or True) :return: ids (int array) : integer array of ann ids """ imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == len(areaRng) == 0: anns = self.dataset['annotations'] else: if not len(imgIds) == 0: lists = [self.imgToAnns[imgId] for imgId in imgIds if imgId in self.imgToAnns] anns = list(itertools.chain.from_iterable(lists)) else: anns = self.dataset['annotations'] anns = anns if len(catIds) == 0 else [ann for ann in anns if ann['category_id'] in catIds] anns = anns if len(areaRng) == 0 else [ann for ann in anns if ann['area'] > areaRng[0] and ann['area'] < areaRng[1]] if not iscrowd == None: ids = [ann['id'] for ann in anns if ann['iscrowd'] == iscrowd] else: ids = [ann['id'] for ann in anns] return ids def getCatIds(self, catNms=[], supNms=[], catIds=[]): """ filtering parameters. default skips that filter. :param catNms (str array) : get cats for given cat names :param supNms (str array) : get cats for given supercategory names :param catIds (int array) : get cats for given cat ids :return: ids (int array) : integer array of cat ids """ catNms = catNms if _isArrayLike(catNms) else [catNms] supNms = supNms if _isArrayLike(supNms) else [supNms] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(catNms) == len(supNms) == len(catIds) == 0: cats = self.dataset['categories'] else: cats = self.dataset['categories'] cats = cats if len(catNms) == 0 else [cat for cat in cats if cat['name'] in catNms] cats = cats if len(supNms) == 0 else [cat for cat in cats if cat['supercategory'] in supNms] cats = cats if len(catIds) == 0 else [cat for cat in cats if cat['id'] in catIds] ids = [cat['id'] for cat in cats] return ids def getImgIds(self, imgIds=[], catIds=[]): ''' Get img ids that satisfy given filter conditions. :param imgIds (int array) : get imgs for given ids :param catIds (int array) : get imgs with all given cats :return: ids (int array) : integer array of img ids ''' imgIds = imgIds if _isArrayLike(imgIds) else [imgIds] catIds = catIds if _isArrayLike(catIds) else [catIds] if len(imgIds) == len(catIds) == 0: ids = self.imgs.keys() else: ids = set(imgIds) for i, catId in enumerate(catIds): if i == 0 and len(ids) == 0: ids = set(self.catToImgs[catId]) else: ids &= set(self.catToImgs[catId]) return list(ids) def loadAnns(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying anns :return: anns (object array) : loaded ann objects """ if _isArrayLike(ids): return [self.anns[id] for id in ids] elif type(ids) == int: return [self.anns[ids]] def loadCats(self, ids=[]): """ Load cats with the specified ids. :param ids (int array) : integer ids specifying cats :return: cats (object array) : loaded cat objects """ if _isArrayLike(ids): return [self.cats[id] for id in ids] elif type(ids) == int: return [self.cats[ids]] def loadImgs(self, ids=[]): """ Load anns with the specified ids. :param ids (int array) : integer ids specifying img :return: imgs (object array) : loaded img objects """ if _isArrayLike(ids): return [self.imgs[id] for id in ids] elif type(ids) == int: return [self.imgs[ids]] def showAnns(self, anns): """ Display the specified annotations. :param anns (array of object): annotations to display :return: None """ if len(anns) == 0: return 0 if 'segmentation' in anns[0] or 'keypoints' in anns[0]: datasetType = 'instances' elif 'caption' in anns[0]: datasetType = 'captions' else: raise Exception('datasetType not supported') if datasetType == 'instances': ax = plt.gca() ax.set_autoscale_on(False) polygons = [] color = [] for ann in anns: c = (np.random.random((1, 3))*0.6+0.4).tolist()[0] if 'segmentation' in ann: if type(ann['segmentation']) == list: # polygon for seg in ann['segmentation']: poly = np.array(seg).reshape((int(len(seg)/2), 2)) polygons.append(Polygon(poly)) color.append(c) else: # mask t = self.imgs[ann['image_id']] if type(ann['segmentation']['counts']) == list: rle = maskUtils.frPyObjects([ann['segmentation']], t['height'], t['width']) else: rle = [ann['segmentation']] m = maskUtils.decode(rle) img = np.ones( (m.shape[0], m.shape[1], 3) ) if ann['iscrowd'] == 1: color_mask = np.array([2.0,166.0,101.0])/255 if ann['iscrowd'] == 0: color_mask = np.random.random((1, 3)).tolist()[0] for i in range(3): img[:,:,i] = color_mask[i] ax.imshow(np.dstack( (img, m*0.5) )) if 'keypoints' in ann and type(ann['keypoints']) == list: # turn skeleton into zero-based index sks = np.array(self.loadCats(ann['category_id'])[0]['skeleton'])-1 kp = np.array(ann['keypoints']) x = kp[0::3] y = kp[1::3] v = kp[2::3] for sk in sks: if np.all(v[sk]>0): plt.plot(x[sk],y[sk], linewidth=3, color=c) plt.plot(x[v>0], y[v>0],'o',markersize=8, markerfacecolor=c, markeredgecolor='k',markeredgewidth=2) plt.plot(x[v>1], y[v>1],'o',markersize=8, markerfacecolor=c, markeredgecolor=c, markeredgewidth=2) p = PatchCollection(polygons, facecolor=color, linewidths=0, alpha=0.4) ax.add_collection(p) p = PatchCollection(polygons, facecolor='none', edgecolors=color, linewidths=2) ax.add_collection(p) elif datasetType == 'captions': for ann in anns: print(ann['caption']) def loadRes(self, resFile): """ Load result file and return a result api object. :param resFile (str) : file name of result file :return: res (obj) : result api object """ res = COCO() res.dataset['images'] = [img for img in self.dataset['images']] print('Loading and preparing results...') tic = time.time() if type(resFile) == str or (PYTHON_VERSION == 2 and type(resFile) == unicode): anns = json.load(open(resFile)) elif type(resFile) == np.ndarray: anns = self.loadNumpyAnnotations(resFile) else: anns = resFile assert type(anns) == list, 'results in not an array of objects' annsImgIds = [ann['image_id'] for ann in anns] assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \ 'Results do not correspond to current coco set' if 'caption' in anns[0]: imgIds = set([img['id'] for img in res.dataset['images']]) & set([ann['image_id'] for ann in anns]) res.dataset['images'] = [img for img in res.dataset['images'] if img['id'] in imgIds] for id, ann in enumerate(anns): ann['id'] = id+1 elif 'bbox' in anns[0] and not anns[0]['bbox'] == []: res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) for id, ann in enumerate(anns): bb = ann['bbox'] x1, x2, y1, y2 = [bb[0], bb[0]+bb[2], bb[1], bb[1]+bb[3]] if not 'segmentation' in ann: ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]] ann['area'] = bb[2]*bb[3] ann['id'] = id+1 ann['iscrowd'] = 0 elif 'segmentation' in anns[0]: res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) for id, ann in enumerate(anns): # now only support compressed RLE format as segmentation results ann['area'] = maskUtils.area(ann['segmentation']) if not 'bbox' in ann: ann['bbox'] = maskUtils.toBbox(ann['segmentation']) ann['id'] = id+1 ann['iscrowd'] = 0 elif 'keypoints' in anns[0]: res.dataset['categories'] = copy.deepcopy(self.dataset['categories']) for id, ann in enumerate(anns): s = ann['keypoints'] x = s[0::3] y = s[1::3] x0,x1,y0,y1 = np.min(x), np.max(x), np.min(y), np.max(y) ann['area'] = (x1-x0)*(y1-y0) ann['id'] = id + 1 ann['bbox'] = [x0,y0,x1-x0,y1-y0] print('DONE (t={:0.2f}s)'.format(time.time()- tic)) res.dataset['annotations'] = anns res.createIndex() return res def download(self, tarDir = None, imgIds = [] ): ''' Download COCO images from mscoco.org server. :param tarDir (str): COCO results directory name imgIds (list): images to be downloaded :return: ''' if tarDir is None: print('Please specify target directory') return -1 if len(imgIds) == 0: imgs = self.imgs.values() else: imgs = self.loadImgs(imgIds) N = len(imgs) if not os.path.exists(tarDir): os.makedirs(tarDir) for i, img in enumerate(imgs): tic = time.time() fname = os.path.join(tarDir, img['file_name']) if not os.path.exists(fname): urlretrieve(img['coco_url'], fname) print('downloaded {}/{} images (t={:0.1f}s)'.format(i, N, time.time()- tic)) def loadNumpyAnnotations(self, data): """ Convert result data from a numpy array [Nx7] where each row contains {imageID,x1,y1,w,h,score,class} :param data (numpy.ndarray) :return: annotations (python nested list) """ print('Converting ndarray to lists...') assert(type(data) == np.ndarray) print(data.shape) assert(data.shape[1] == 7) N = data.shape[0] ann = [] for i in range(N): if i % 1000000 == 0: print('{}/{}'.format(i,N)) ann += [{ 'image_id' : int(data[i, 0]), 'bbox' : [ data[i, 1], data[i, 2], data[i, 3], data[i, 4] ], 'score' : data[i, 5], 'category_id': int(data[i, 6]), }] return ann def annToRLE(self, ann): """ Convert annotation which can be polygons, uncompressed RLE to RLE. :return: binary mask (numpy 2D array) """ t = self.imgs[ann['image_id']] h, w = t['height'], t['width'] segm = ann['segmentation'] if type(segm) == list: # polygon -- a single object might consist of multiple parts # we merge all parts into one mask rle code rles = maskUtils.frPyObjects(segm, h, w) rle = maskUtils.merge(rles) elif type(segm['counts']) == list: # uncompressed RLE rle = maskUtils.frPyObjects(segm, h, w) else: # rle rle = ann['segmentation'] return rle def annToMask(self, ann): """ Convert annotation which can be polygons, uncompressed RLE, or RLE to binary mask. :return: binary mask (numpy 2D array) """ rle = self.annToRLE(ann) m = maskUtils.decode(rle) return m ================================================ FILE: cocoapi/PythonAPI/pycocotools/cocoeval.py ================================================ __author__ = 'tsungyi' import numpy as np import datetime import time from collections import defaultdict from . import mask as maskUtils import copy class COCOeval: # Interface for evaluating detection on the Microsoft COCO dataset. # # The usage for CocoEval is as follows: # cocoGt=..., cocoDt=... # load dataset and results # E = CocoEval(cocoGt,cocoDt); # initialize CocoEval object # E.params.recThrs = ...; # set parameters as desired # E.evaluate(); # run per image evaluation # E.accumulate(); # accumulate per image results # E.summarize(); # display summary metrics of results # For example usage see evalDemo.m and http://mscoco.org/. # # The evaluation parameters are as follows (defaults in brackets): # imgIds - [all] N img ids to use for evaluation # catIds - [all] K cat ids to use for evaluation # iouThrs - [.5:.05:.95] T=10 IoU thresholds for evaluation # recThrs - [0:.01:1] R=101 recall thresholds for evaluation # areaRng - [...] A=4 object area ranges for evaluation # maxDets - [1 10 100] M=3 thresholds on max detections per image # iouType - ['segm'] set iouType to 'segm', 'bbox' or 'keypoints' # iouType replaced the now DEPRECATED useSegm parameter. # useCats - [1] if true use category labels for evaluation # Note: if useCats=0 category labels are ignored as in proposal scoring. # Note: multiple areaRngs [Ax2] and maxDets [Mx1] can be specified. # # evaluate(): evaluates detections on every image and every category and # concats the results into the "evalImgs" with fields: # dtIds - [1xD] id for each of the D detections (dt) # gtIds - [1xG] id for each of the G ground truths (gt) # dtMatches - [TxD] matching gt id at each IoU or 0 # gtMatches - [TxG] matching dt id at each IoU or 0 # dtScores - [1xD] confidence of each dt # gtIgnore - [1xG] ignore flag for each gt # dtIgnore - [TxD] ignore flag for each dt at each IoU # # accumulate(): accumulates the per-image, per-category evaluation # results in "evalImgs" into the dictionary "eval" with fields: # params - parameters used for evaluation # date - date evaluation was performed # counts - [T,R,K,A,M] parameter dimensions (see above) # precision - [TxRxKxAxM] precision for every evaluation setting # recall - [TxKxAxM] max recall for every evaluation setting # Note: precision and recall==-1 for settings with no gt objects. # # See also coco, mask, pycocoDemo, pycocoEvalDemo # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] def __init__(self, cocoGt=None, cocoDt=None, iouType='segm'): ''' Initialize CocoEval using coco APIs for gt and dt :param cocoGt: coco object with ground truth annotations :param cocoDt: coco object with detection results :return: None ''' if not iouType: print('iouType not specified. use default iouType segm') self.cocoGt = cocoGt # ground truth COCO API self.cocoDt = cocoDt # detections COCO API self.evalImgs = defaultdict(list) # per-image per-category evaluation results [KxAxI] elements self.eval = {} # accumulated evaluation results self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation self.params = Params(iouType=iouType) # parameters self._paramsEval = {} # parameters for evaluation self.stats = [] # result summarization self.ious = {} # ious between all gts and dts if not cocoGt is None: self.params.imgIds = sorted(cocoGt.getImgIds()) self.params.catIds = sorted(cocoGt.getCatIds()) def _prepare(self): ''' Prepare ._gts and ._dts for evaluation based on params :return: None ''' def _toMask(anns, coco): # modify ann['segmentation'] by reference for ann in anns: rle = coco.annToRLE(ann) ann['segmentation'] = rle p = self.params if p.useCats: gts=self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds, catIds=p.catIds)) dts=self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds, catIds=p.catIds)) else: gts=self.cocoGt.loadAnns(self.cocoGt.getAnnIds(imgIds=p.imgIds)) dts=self.cocoDt.loadAnns(self.cocoDt.getAnnIds(imgIds=p.imgIds)) # convert ground truth to mask if iouType == 'segm' if p.iouType == 'segm': _toMask(gts, self.cocoGt) _toMask(dts, self.cocoDt) # set ignore flag for gt in gts: gt['ignore'] = gt['ignore'] if 'ignore' in gt else 0 gt['ignore'] = 'iscrowd' in gt and gt['iscrowd'] if p.iouType == 'keypoints': gt['ignore'] = (gt['num_keypoints'] == 0) or gt['ignore'] self._gts = defaultdict(list) # gt for evaluation self._dts = defaultdict(list) # dt for evaluation for gt in gts: self._gts[gt['image_id'], gt['category_id']].append(gt) for dt in dts: self._dts[dt['image_id'], dt['category_id']].append(dt) self.evalImgs = defaultdict(list) # per-image per-category evaluation results self.eval = {} # accumulated evaluation results def evaluate(self): ''' Run per image evaluation on given images and store results (a list of dict) in self.evalImgs :return: None ''' tic = time.time() print('Running per image evaluation...') p = self.params # add backward compatibility if useSegm is specified in params if not p.useSegm is None: p.iouType = 'segm' if p.useSegm == 1 else 'bbox' print('useSegm (deprecated) is not None. Running {} evaluation'.format(p.iouType)) print('Evaluate annotation type *{}*'.format(p.iouType)) p.imgIds = list(np.unique(p.imgIds)) if p.useCats: p.catIds = list(np.unique(p.catIds)) p.maxDets = sorted(p.maxDets) self.params=p self._prepare() # loop through images, area range, max detection number catIds = p.catIds if p.useCats else [-1] if p.iouType == 'segm' or p.iouType == 'bbox': computeIoU = self.computeIoU elif p.iouType == 'keypoints': computeIoU = self.computeOks self.ious = {(imgId, catId): computeIoU(imgId, catId) \ for imgId in p.imgIds for catId in catIds} evaluateImg = self.evaluateImg maxDet = p.maxDets[-1] self.evalImgs = [evaluateImg(imgId, catId, areaRng, maxDet) for catId in catIds for areaRng in p.areaRng for imgId in p.imgIds ] self._paramsEval = copy.deepcopy(self.params) toc = time.time() print('DONE (t={:0.2f}s).'.format(toc-tic)) def computeIoU(self, imgId, catId): p = self.params if p.useCats: gt = self._gts[imgId,catId] dt = self._dts[imgId,catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId,cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId,cId]] if len(gt) == 0 and len(dt) ==0: return [] inds = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in inds] if len(dt) > p.maxDets[-1]: dt=dt[0:p.maxDets[-1]] if p.iouType == 'segm': g = [g['segmentation'] for g in gt] d = [d['segmentation'] for d in dt] elif p.iouType == 'bbox': g = [g['bbox'] for g in gt] d = [d['bbox'] for d in dt] else: raise Exception('unknown iouType for iou computation') # compute iou between each dt and gt region iscrowd = [int(o['iscrowd']) for o in gt] ious = maskUtils.iou(d,g,iscrowd) return ious def computeOks(self, imgId, catId): p = self.params # dimention here should be Nxm gts = self._gts[imgId, catId] dts = self._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 and len(dts) == 0: if len(gts) == 0 or len(dts) == 0: return [] ious = np.zeros((len(dts), len(gts))) sigmas = p.kpt_oks_sigmas vars = (sigmas * 2)**2 k = len(sigmas) # compute oks between each detection and ground truth object for j, gt in enumerate(gts): # 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] k1 = np.count_nonzero(vg > 0) 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 for i, dt in enumerate(dts): d = np.array(dt['keypoints']) xd = d[0::3]; yd = d[1::3] if k1>0: # measure the per-keypoint distance if keypoints visible dx = xd - xg dy = yd - yg else: # measure minimum distance to keypoints in (x0,y0) & (x1,y1) z = np.zeros((k)) dx = np.max((z, x0-xd),axis=0)+np.max((z, xd-x1),axis=0) dy = np.max((z, y0-yd),axis=0)+np.max((z, yd-y1),axis=0) e = (dx**2 + dy**2) / vars / (gt['area']+np.spacing(1)) / 2 if k1 > 0: e=e[vg > 0] ious[i, j] = np.sum(np.exp(-e)) / e.shape[0] return ious def evaluateImg(self, imgId, catId, aRng, maxDet): ''' perform evaluation for single category and image :return: dict (single image results) ''' p = self.params if p.useCats: gt = self._gts[imgId,catId] dt = self._dts[imgId,catId] else: gt = [_ for cId in p.catIds for _ in self._gts[imgId,cId]] dt = [_ for cId in p.catIds for _ in self._dts[imgId,cId]] if len(gt) == 0 and len(dt) ==0: return None for g in gt: if g['ignore'] or (g['area']aRng[1]): g['_ignore'] = 1 else: g['_ignore'] = 0 # sort dt highest score first, sort gt ignore last gtind = np.argsort([g['_ignore'] for g in gt], kind='mergesort') gt = [gt[i] for i in gtind] dtind = np.argsort([-d['score'] for d in dt], kind='mergesort') dt = [dt[i] for i in dtind[0:maxDet]] iscrowd = [int(o['iscrowd']) for o in gt] # load computed ious ious = self.ious[imgId, catId][:, gtind] if len(self.ious[imgId, catId]) > 0 else self.ious[imgId, catId] T = len(p.iouThrs) G = len(gt) D = len(dt) gtm = np.zeros((T,G)) dtm = np.zeros((T,D)) gtIg = np.array([g['_ignore'] for g in gt]) dtIg = np.zeros((T,D)) if not len(ious)==0: for tind, t in enumerate(p.iouThrs): for dind, d in enumerate(dt): # information about best match so far (m=-1 -> unmatched) iou = min([t,1-1e-10]) m = -1 for gind, g in enumerate(gt): # if this gt already matched, and not a crowd, continue if gtm[tind,gind]>0 and not iscrowd[gind]: continue # if dt matched to reg gt, and on ignore gt, stop if m>-1 and gtIg[m]==0 and gtIg[gind]==1: break # continue to next gt unless better match made if ious[dind,gind] < iou: continue # if match successful and best so far, store appropriately iou=ious[dind,gind] m=gind # if match made store id of match for both dt and gt if m ==-1: continue dtIg[tind,dind] = gtIg[m] dtm[tind,dind] = gt[m]['id'] gtm[tind,m] = d['id'] # set unmatched detections outside of area range to ignore a = np.array([d['area']aRng[1] for d in dt]).reshape((1, len(dt))) dtIg = np.logical_or(dtIg, np.logical_and(dtm==0, np.repeat(a,T,0))) # store results for given image and category return { 'image_id': imgId, 'category_id': catId, 'aRng': aRng, 'maxDet': maxDet, 'dtIds': [d['id'] for d in dt], 'gtIds': [g['id'] for g in gt], 'dtMatches': dtm, 'gtMatches': gtm, 'dtScores': [d['score'] for d in dt], 'gtIgnore': gtIg, 'dtIgnore': dtIg, } def accumulate(self, p = None): ''' Accumulate per image evaluation results and store the result in self.eval :param p: input params for evaluation :return: None ''' print('Accumulating evaluation results...') tic = time.time() if not self.evalImgs: print('Please run evaluate() first') # allows input customized parameters if p is None: p = self.params p.catIds = p.catIds if p.useCats == 1 else [-1] T = len(p.iouThrs) R = len(p.recThrs) K = len(p.catIds) if p.useCats else 1 A = len(p.areaRng) M = len(p.maxDets) precision = -np.ones((T,R,K,A,M)) # -1 for the precision of absent categories recall = -np.ones((T,K,A,M)) scores = -np.ones((T,R,K,A,M)) # create dictionary for future indexing _pe = self._paramsEval catIds = _pe.catIds if _pe.useCats else [-1] setK = set(catIds) setA = set(map(tuple, _pe.areaRng)) setM = set(_pe.maxDets) setI = set(_pe.imgIds) # get inds to evaluate k_list = [n for n, k in enumerate(p.catIds) if k in setK] m_list = [m for n, m in enumerate(p.maxDets) if m in setM] a_list = [n for n, a in enumerate(map(lambda x: tuple(x), p.areaRng)) if a in setA] i_list = [n for n, i in enumerate(p.imgIds) if i in setI] I0 = len(_pe.imgIds) A0 = len(_pe.areaRng) # retrieve E at each category, area range, and max number of detections for k, k0 in enumerate(k_list): Nk = k0*A0*I0 for a, a0 in enumerate(a_list): Na = a0*I0 for m, maxDet in enumerate(m_list): E = [self.evalImgs[Nk + Na + i] for i in i_list] E = [e for e in E if not e is None] if len(E) == 0: continue dtScores = np.concatenate([e['dtScores'][0:maxDet] for e in E]) # different sorting method generates slightly different results. # mergesort is used to be consistent as Matlab implementation. inds = np.argsort(-dtScores, kind='mergesort') dtScoresSorted = dtScores[inds] dtm = np.concatenate([e['dtMatches'][:,0:maxDet] for e in E], axis=1)[:,inds] dtIg = np.concatenate([e['dtIgnore'][:,0:maxDet] for e in E], axis=1)[:,inds] gtIg = np.concatenate([e['gtIgnore'] for e in E]) npig = np.count_nonzero(gtIg==0 ) if npig == 0: continue tps = np.logical_and( dtm, np.logical_not(dtIg) ) fps = np.logical_and(np.logical_not(dtm), np.logical_not(dtIg) ) tp_sum = np.cumsum(tps, axis=1).astype(dtype=np.float) fp_sum = np.cumsum(fps, axis=1).astype(dtype=np.float) for t, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): tp = np.array(tp) fp = np.array(fp) nd = len(tp) rc = tp / npig pr = tp / (fp+tp+np.spacing(1)) q = np.zeros((R,)) ss = np.zeros((R,)) if nd: recall[t,k,a,m] = rc[-1] else: recall[t,k,a,m] = 0 # numpy is slow without cython optimization for accessing elements # use python array gets significant speed improvement pr = pr.tolist(); q = q.tolist() for i in range(nd-1, 0, -1): if pr[i] > pr[i-1]: pr[i-1] = pr[i] inds = np.searchsorted(rc, p.recThrs, side='left') try: for ri, pi in enumerate(inds): q[ri] = pr[pi] ss[ri] = dtScoresSorted[pi] except: pass precision[t,:,k,a,m] = np.array(q) scores[t,:,k,a,m] = np.array(ss) self.eval = { 'params': p, 'counts': [T, R, K, A, M], 'date': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), 'precision': precision, 'recall': recall, 'scores': scores, } toc = time.time() print('DONE (t={:0.2f}s).'.format( toc-tic)) def summarize(self): ''' Compute and display summary metrics for evaluation results. Note this functin can *only* be applied on the default parameter setting ''' def _summarize( ap=1, iouThr=None, areaRng='all', maxDets=100 ): p = self.params iStr = ' {:<18} {} @[ IoU={:<9} | area={:>6s} | maxDets={:>3d} ] = {:0.3f}' titleStr = 'Average Precision' if ap == 1 else 'Average Recall' typeStr = '(AP)' if ap==1 else '(AR)' iouStr = '{:0.2f}:{:0.2f}'.format(p.iouThrs[0], p.iouThrs[-1]) \ if iouThr is None else '{:0.2f}'.format(iouThr) aind = [i for i, aRng in enumerate(p.areaRngLbl) if aRng == areaRng] mind = [i for i, mDet in enumerate(p.maxDets) if mDet == maxDets] if ap == 1: # dimension of precision: [TxRxKxAxM] s = self.eval['precision'] # IoU if iouThr is not None: t = np.where(iouThr == p.iouThrs)[0] s = s[t] s = s[:,:,:,aind,mind] else: # dimension of recall: [TxKxAxM] s = self.eval['recall'] if iouThr is not None: t = np.where(iouThr == p.iouThrs)[0] s = s[t] s = s[:,:,aind,mind] if len(s[s>-1])==0: mean_s = -1 else: mean_s = np.mean(s[s>-1]) print(iStr.format(titleStr, typeStr, iouStr, areaRng, maxDets, mean_s)) return mean_s def _summarizeDets(): stats = np.zeros((12,)) stats[0] = _summarize(1) stats[1] = _summarize(1, iouThr=.5, maxDets=self.params.maxDets[2]) stats[2] = _summarize(1, iouThr=.75, maxDets=self.params.maxDets[2]) stats[3] = _summarize(1, areaRng='small', maxDets=self.params.maxDets[2]) stats[4] = _summarize(1, areaRng='medium', maxDets=self.params.maxDets[2]) stats[5] = _summarize(1, areaRng='large', maxDets=self.params.maxDets[2]) stats[6] = _summarize(0, maxDets=self.params.maxDets[0]) stats[7] = _summarize(0, maxDets=self.params.maxDets[1]) stats[8] = _summarize(0, maxDets=self.params.maxDets[2]) stats[9] = _summarize(0, areaRng='small', maxDets=self.params.maxDets[2]) stats[10] = _summarize(0, areaRng='medium', maxDets=self.params.maxDets[2]) stats[11] = _summarize(0, areaRng='large', maxDets=self.params.maxDets[2]) return stats def _summarizeKps(): stats = np.zeros((10,)) stats[0] = _summarize(1, maxDets=20) stats[1] = _summarize(1, maxDets=20, iouThr=.5) stats[2] = _summarize(1, maxDets=20, iouThr=.75) stats[3] = _summarize(1, maxDets=20, areaRng='medium') stats[4] = _summarize(1, maxDets=20, areaRng='large') stats[5] = _summarize(0, maxDets=20) stats[6] = _summarize(0, maxDets=20, iouThr=.5) stats[7] = _summarize(0, maxDets=20, iouThr=.75) stats[8] = _summarize(0, maxDets=20, areaRng='medium') stats[9] = _summarize(0, maxDets=20, areaRng='large') return stats if not self.eval: raise Exception('Please run accumulate() first') iouType = self.params.iouType if iouType == 'segm' or iouType == 'bbox': summarize = _summarizeDets elif iouType == 'keypoints': summarize = _summarizeKps self.stats = summarize() def __str__(self): self.summarize() class Params: ''' Params for coco evaluation api ''' def setDetParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round((0.95 - .5) / .05)) + 1, endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round((1.00 - .0) / .01)) + 1, endpoint=True) self.maxDets = [1, 10, 100] self.areaRng = [[0 ** 2, 1e5 ** 2], [0 ** 2, 32 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'small', 'medium', 'large'] self.useCats = 1 def setKpParams(self): self.imgIds = [] self.catIds = [] # np.arange causes trouble. the data point on arange is slightly larger than the true value self.iouThrs = np.linspace(.5, 0.95, int(np.round((0.95 - .5) / .05)) + 1, endpoint=True) self.recThrs = np.linspace(.0, 1.00, int(np.round((1.00 - .0) / .01)) + 1, endpoint=True) self.maxDets = [20] self.areaRng = [[0 ** 2, 1e5 ** 2], [32 ** 2, 96 ** 2], [96 ** 2, 1e5 ** 2]] self.areaRngLbl = ['all', 'medium', 'large'] self.useCats = 1 self.kpt_oks_sigmas = np.array([.26, .25, .25, .35, .35, .79, .79, .72, .72, .62,.62, 1.07, 1.07, .87, .87, .89, .89])/10.0 def __init__(self, iouType='segm'): if iouType == 'segm' or iouType == 'bbox': self.setDetParams() elif iouType == 'keypoints': self.setKpParams() else: raise Exception('iouType not supported') self.iouType = iouType # useSegm is deprecated self.useSegm = None ================================================ FILE: cocoapi/PythonAPI/pycocotools/mask.py ================================================ __author__ = 'tsungyi' import pycocotools._mask as _mask # Interface for manipulating masks stored in RLE format. # # RLE is a simple yet efficient format for storing binary masks. RLE # first divides a vector (or vectorized image) into a series of piecewise # constant regions and then for each piece simply stores the length of # that piece. For example, given M=[0 0 1 1 1 0 1] the RLE counts would # be [2 3 1 1], or for M=[1 1 1 1 1 1 0] the counts would be [0 6 1] # (note that the odd counts are always the numbers of zeros). Instead of # storing the counts directly, additional compression is achieved with a # variable bitrate representation based on a common scheme called LEB128. # # Compression is greatest given large piecewise constant regions. # Specifically, the size of the RLE is proportional to the number of # *boundaries* in M (or for an image the number of boundaries in the y # direction). Assuming fairly simple shapes, the RLE representation is # O(sqrt(n)) where n is number of pixels in the object. Hence space usage # is substantially lower, especially for large simple objects (large n). # # Many common operations on masks can be computed directly using the RLE # (without need for decoding). This includes computations such as area, # union, intersection, etc. All of these operations are linear in the # size of the RLE, in other words they are O(sqrt(n)) where n is the area # of the object. Computing these operations on the original mask is O(n). # Thus, using the RLE can result in substantial computational savings. # # The following API functions are defined: # encode - Encode binary masks using RLE. # decode - Decode binary masks encoded via RLE. # merge - Compute union or intersection of encoded masks. # iou - Compute intersection over union between masks. # area - Compute area of encoded masks. # toBbox - Get bounding boxes surrounding encoded masks. # frPyObjects - Convert polygon, bbox, and uncompressed RLE to encoded RLE mask. # # Usage: # Rs = encode( masks ) # masks = decode( Rs ) # R = merge( Rs, intersect=false ) # o = iou( dt, gt, iscrowd ) # a = area( Rs ) # bbs = toBbox( Rs ) # Rs = frPyObjects( [pyObjects], h, w ) # # In the API the following formats are used: # Rs - [dict] Run-length encoding of binary masks # R - dict Run-length encoding of binary mask # masks - [hxwxn] Binary mask(s) (must have type np.ndarray(dtype=uint8) in column-major order) # iscrowd - [nx1] list of np.ndarray. 1 indicates corresponding gt image has crowd region to ignore # bbs - [nx4] Bounding box(es) stored as [x y w h] # poly - Polygon stored as [[x1 y1 x2 y2...],[x1 y1 ...],...] (2D list) # dt,gt - May be either bounding boxes or encoded masks # Both poly and bbs are 0-indexed (bbox=[0 0 1 1] encloses first pixel). # # Finally, a note about the intersection over union (iou) computation. # The standard iou of a ground truth (gt) and detected (dt) object is # iou(gt,dt) = area(intersect(gt,dt)) / area(union(gt,dt)) # For "crowd" regions, we use a modified criteria. If a gt object is # marked as "iscrowd", we allow a dt to match any subregion of the gt. # Choosing gt' in the crowd gt that best matches the dt can be done using # gt'=intersect(dt,gt). Since by definition union(gt',dt)=dt, computing # iou(gt,dt,iscrowd) = iou(gt',dt) = area(intersect(gt,dt)) / area(dt) # For crowd gt regions we use this modified criteria above for the iou. # # To compile run "python setup.py build_ext --inplace" # Please do not contact us for help with compiling. # # Microsoft COCO Toolbox. version 2.0 # Data, paper, and tutorials available at: http://mscoco.org/ # Code written by Piotr Dollar and Tsung-Yi Lin, 2015. # Licensed under the Simplified BSD License [see coco/license.txt] iou = _mask.iou merge = _mask.merge frPyObjects = _mask.frPyObjects def encode(bimask): if len(bimask.shape) == 3: return _mask.encode(bimask) elif len(bimask.shape) == 2: h, w = bimask.shape return _mask.encode(bimask.reshape((h, w, 1), order='F'))[0] def decode(rleObjs): if type(rleObjs) == list: return _mask.decode(rleObjs) else: return _mask.decode([rleObjs])[:,:,0] def area(rleObjs): if type(rleObjs) == list: return _mask.area(rleObjs) else: return _mask.area([rleObjs])[0] def toBbox(rleObjs): if type(rleObjs) == list: return _mask.toBbox(rleObjs) else: return _mask.toBbox([rleObjs])[0] ================================================ FILE: cocoapi/PythonAPI/pycocotools.egg-info/PKG-INFO ================================================ Metadata-Version: 1.0 Name: pycocotools Version: 2.0 Summary: UNKNOWN Home-page: UNKNOWN Author: UNKNOWN Author-email: UNKNOWN License: UNKNOWN Description: UNKNOWN Platform: UNKNOWN ================================================ FILE: cocoapi/PythonAPI/pycocotools.egg-info/SOURCES.txt ================================================ setup.py ../common/maskApi.c pycocotools/__init__.py pycocotools/_mask.c pycocotools/_mask.pyx pycocotools/coco.py pycocotools/cocoeval.py pycocotools/mask.py pycocotools.egg-info/PKG-INFO pycocotools.egg-info/SOURCES.txt pycocotools.egg-info/dependency_links.txt pycocotools.egg-info/requires.txt pycocotools.egg-info/top_level.txt ================================================ FILE: cocoapi/PythonAPI/pycocotools.egg-info/dependency_links.txt ================================================ ================================================ FILE: cocoapi/PythonAPI/pycocotools.egg-info/requires.txt ================================================ setuptools>=18.0 cython>=0.27.3 matplotlib>=2.1.0 ================================================ FILE: cocoapi/PythonAPI/pycocotools.egg-info/top_level.txt ================================================ pycocotools ================================================ FILE: cocoapi/PythonAPI/setup.py ================================================ from setuptools import setup, Extension import numpy as np # To compile and install locally run "python setup.py build_ext --inplace" # To install library to Python site-packages run "python setup.py build_ext install" ext_modules = [ Extension( 'pycocotools._mask', sources=['../common/maskApi.c', 'pycocotools/_mask.pyx'], include_dirs = [np.get_include(), '../common'], extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'], ) ] setup( name='pycocotools', packages=['pycocotools'], package_dir = {'pycocotools': 'pycocotools'}, install_requires=[ 'setuptools>=18.0', 'cython>=0.27.3', 'matplotlib>=2.1.0' ], version='2.0', ext_modules= ext_modules ) ================================================ FILE: cocoapi/README.txt ================================================ COCO API - http://cocodataset.org/ COCO is a large image dataset designed for object detection, segmentation, person keypoints detection, stuff segmentation, and caption generation. This package provides Matlab, Python, and Lua APIs that assists in loading, parsing, and visualizing the annotations in COCO. Please visit http://cocodataset.org/ for more information on COCO, including for the data, paper, and tutorials. The exact format of the annotations is also described on the COCO website. The Matlab and Python APIs are complete, the Lua API provides only basic functionality. In addition to this API, please download both the COCO images and annotations in order to run the demos and use the API. Both are available on the project website. -Please download, unzip, and place the images in: coco/images/ -Please download and place the annotations in: coco/annotations/ For substantially more details on the API please see http://cocodataset.org/#download. After downloading the images and annotations, run the Matlab, Python, or Lua demos for example usage. To install: -For Matlab, add coco/MatlabApi to the Matlab path (OSX/Linux binaries provided) -For Python, run "make" under coco/PythonAPI -For Lua, run “luarocks make LuaAPI/rocks/coco-scm-1.rockspec” under coco/ ================================================ FILE: cocoapi/common/gason.cpp ================================================ // https://github.com/vivkin/gason - pulled January 10, 2016 #include "gason.h" #include #define JSON_ZONE_SIZE 4096 #define JSON_STACK_SIZE 32 const char *jsonStrError(int err) { switch (err) { #define XX(no, str) \ case JSON_##no: \ return str; JSON_ERRNO_MAP(XX) #undef XX default: return "unknown"; } } void *JsonAllocator::allocate(size_t size) { size = (size + 7) & ~7; if (head && head->used + size <= JSON_ZONE_SIZE) { char *p = (char *)head + head->used; head->used += size; return p; } size_t allocSize = sizeof(Zone) + size; Zone *zone = (Zone *)malloc(allocSize <= JSON_ZONE_SIZE ? JSON_ZONE_SIZE : allocSize); if (zone == nullptr) return nullptr; zone->used = allocSize; if (allocSize <= JSON_ZONE_SIZE || head == nullptr) { zone->next = head; head = zone; } else { zone->next = head->next; head->next = zone; } return (char *)zone + sizeof(Zone); } void JsonAllocator::deallocate() { while (head) { Zone *next = head->next; free(head); head = next; } } static inline bool isspace(char c) { return c == ' ' || (c >= '\t' && c <= '\r'); } static inline bool isdelim(char c) { return c == ',' || c == ':' || c == ']' || c == '}' || isspace(c) || !c; } static inline bool isdigit(char c) { return c >= '0' && c <= '9'; } static inline bool isxdigit(char c) { return (c >= '0' && c <= '9') || ((c & ~' ') >= 'A' && (c & ~' ') <= 'F'); } static inline int char2int(char c) { if (c <= '9') return c - '0'; return (c & ~' ') - 'A' + 10; } static double string2double(char *s, char **endptr) { char ch = *s; if (ch == '-') ++s; double result = 0; while (isdigit(*s)) result = (result * 10) + (*s++ - '0'); if (*s == '.') { ++s; double fraction = 1; while (isdigit(*s)) { fraction *= 0.1; result += (*s++ - '0') * fraction; } } if (*s == 'e' || *s == 'E') { ++s; double base = 10; if (*s == '+') ++s; else if (*s == '-') { ++s; base = 0.1; } unsigned int exponent = 0; while (isdigit(*s)) exponent = (exponent * 10) + (*s++ - '0'); double power = 1; for (; exponent; exponent >>= 1, base *= base) if (exponent & 1) power *= base; result *= power; } *endptr = s; return ch == '-' ? -result : result; } static inline JsonNode *insertAfter(JsonNode *tail, JsonNode *node) { if (!tail) return node->next = node; node->next = tail->next; tail->next = node; return node; } static inline JsonValue listToValue(JsonTag tag, JsonNode *tail) { if (tail) { auto head = tail->next; tail->next = nullptr; return JsonValue(tag, head); } return JsonValue(tag, nullptr); } int jsonParse(char *s, char **endptr, JsonValue *value, JsonAllocator &allocator) { JsonNode *tails[JSON_STACK_SIZE]; JsonTag tags[JSON_STACK_SIZE]; char *keys[JSON_STACK_SIZE]; JsonValue o; int pos = -1; bool separator = true; JsonNode *node; *endptr = s; while (*s) { while (isspace(*s)) { ++s; if (!*s) break; } *endptr = s++; switch (**endptr) { case '-': if (!isdigit(*s) && *s != '.') { *endptr = s; return JSON_BAD_NUMBER; } case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': o = JsonValue(string2double(*endptr, &s)); if (!isdelim(*s)) { *endptr = s; return JSON_BAD_NUMBER; } break; case '"': o = JsonValue(JSON_STRING, s); for (char *it = s; *s; ++it, ++s) { int c = *it = *s; if (c == '\\') { c = *++s; switch (c) { case '\\': case '"': case '/': *it = c; break; case 'b': *it = '\b'; break; case 'f': *it = '\f'; break; case 'n': *it = '\n'; break; case 'r': *it = '\r'; break; case 't': *it = '\t'; break; case 'u': c = 0; for (int i = 0; i < 4; ++i) { if (isxdigit(*++s)) { c = c * 16 + char2int(*s); } else { *endptr = s; return JSON_BAD_STRING; } } if (c < 0x80) { *it = c; } else if (c < 0x800) { *it++ = 0xC0 | (c >> 6); *it = 0x80 | (c & 0x3F); } else { *it++ = 0xE0 | (c >> 12); *it++ = 0x80 | ((c >> 6) & 0x3F); *it = 0x80 | (c & 0x3F); } break; default: *endptr = s; return JSON_BAD_STRING; } } else if ((unsigned int)c < ' ' || c == '\x7F') { *endptr = s; return JSON_BAD_STRING; } else if (c == '"') { *it = 0; ++s; break; } } if (!isdelim(*s)) { *endptr = s; return JSON_BAD_STRING; } break; case 't': if (!(s[0] == 'r' && s[1] == 'u' && s[2] == 'e' && isdelim(s[3]))) return JSON_BAD_IDENTIFIER; o = JsonValue(JSON_TRUE); s += 3; break; case 'f': if (!(s[0] == 'a' && s[1] == 'l' && s[2] == 's' && s[3] == 'e' && isdelim(s[4]))) return JSON_BAD_IDENTIFIER; o = JsonValue(JSON_FALSE); s += 4; break; case 'n': if (!(s[0] == 'u' && s[1] == 'l' && s[2] == 'l' && isdelim(s[3]))) return JSON_BAD_IDENTIFIER; o = JsonValue(JSON_NULL); s += 3; break; case ']': if (pos == -1) return JSON_STACK_UNDERFLOW; if (tags[pos] != JSON_ARRAY) return JSON_MISMATCH_BRACKET; o = listToValue(JSON_ARRAY, tails[pos--]); break; case '}': if (pos == -1) return JSON_STACK_UNDERFLOW; if (tags[pos] != JSON_OBJECT) return JSON_MISMATCH_BRACKET; if (keys[pos] != nullptr) return JSON_UNEXPECTED_CHARACTER; o = listToValue(JSON_OBJECT, tails[pos--]); break; case '[': if (++pos == JSON_STACK_SIZE) return JSON_STACK_OVERFLOW; tails[pos] = nullptr; tags[pos] = JSON_ARRAY; keys[pos] = nullptr; separator = true; continue; case '{': if (++pos == JSON_STACK_SIZE) return JSON_STACK_OVERFLOW; tails[pos] = nullptr; tags[pos] = JSON_OBJECT; keys[pos] = nullptr; separator = true; continue; case ':': if (separator || keys[pos] == nullptr) return JSON_UNEXPECTED_CHARACTER; separator = true; continue; case ',': if (separator || keys[pos] != nullptr) return JSON_UNEXPECTED_CHARACTER; separator = true; continue; case '\0': continue; default: return JSON_UNEXPECTED_CHARACTER; } separator = false; if (pos == -1) { *endptr = s; *value = o; return JSON_OK; } if (tags[pos] == JSON_OBJECT) { if (!keys[pos]) { if (o.getTag() != JSON_STRING) return JSON_UNQUOTED_KEY; keys[pos] = o.toString(); continue; } if ((node = (JsonNode *) allocator.allocate(sizeof(JsonNode))) == nullptr) return JSON_ALLOCATION_FAILURE; tails[pos] = insertAfter(tails[pos], node); tails[pos]->key = keys[pos]; keys[pos] = nullptr; } else { if ((node = (JsonNode *) allocator.allocate(sizeof(JsonNode) - sizeof(char *))) == nullptr) return JSON_ALLOCATION_FAILURE; tails[pos] = insertAfter(tails[pos], node); } tails[pos]->value = o; } return JSON_BREAKING_BAD; } ================================================ FILE: cocoapi/common/gason.h ================================================ // https://github.com/vivkin/gason - pulled January 10, 2016 #pragma once #include #include #include enum JsonTag { JSON_NUMBER = 0, JSON_STRING, JSON_ARRAY, JSON_OBJECT, JSON_TRUE, JSON_FALSE, JSON_NULL = 0xF }; struct JsonNode; #define JSON_VALUE_PAYLOAD_MASK 0x00007FFFFFFFFFFFULL #define JSON_VALUE_NAN_MASK 0x7FF8000000000000ULL #define JSON_VALUE_TAG_MASK 0xF #define JSON_VALUE_TAG_SHIFT 47 union JsonValue { uint64_t ival; double fval; JsonValue(double x) : fval(x) { } JsonValue(JsonTag tag = JSON_NULL, void *payload = nullptr) { assert((uintptr_t)payload <= JSON_VALUE_PAYLOAD_MASK); ival = JSON_VALUE_NAN_MASK | ((uint64_t)tag << JSON_VALUE_TAG_SHIFT) | (uintptr_t)payload; } bool isDouble() const { return (int64_t)ival <= (int64_t)JSON_VALUE_NAN_MASK; } JsonTag getTag() const { return isDouble() ? JSON_NUMBER : JsonTag((ival >> JSON_VALUE_TAG_SHIFT) & JSON_VALUE_TAG_MASK); } uint64_t getPayload() const { assert(!isDouble()); return ival & JSON_VALUE_PAYLOAD_MASK; } double toNumber() const { assert(getTag() == JSON_NUMBER); return fval; } char *toString() const { assert(getTag() == JSON_STRING); return (char *)getPayload(); } JsonNode *toNode() const { assert(getTag() == JSON_ARRAY || getTag() == JSON_OBJECT); return (JsonNode *)getPayload(); } }; struct JsonNode { JsonValue value; JsonNode *next; char *key; }; struct JsonIterator { JsonNode *p; void operator++() { p = p->next; } bool operator!=(const JsonIterator &x) const { return p != x.p; } JsonNode *operator*() const { return p; } JsonNode *operator->() const { return p; } }; inline JsonIterator begin(JsonValue o) { return JsonIterator{o.toNode()}; } inline JsonIterator end(JsonValue) { return JsonIterator{nullptr}; } #define JSON_ERRNO_MAP(XX) \ XX(OK, "ok") \ XX(BAD_NUMBER, "bad number") \ XX(BAD_STRING, "bad string") \ XX(BAD_IDENTIFIER, "bad identifier") \ XX(STACK_OVERFLOW, "stack overflow") \ XX(STACK_UNDERFLOW, "stack underflow") \ XX(MISMATCH_BRACKET, "mismatch bracket") \ XX(UNEXPECTED_CHARACTER, "unexpected character") \ XX(UNQUOTED_KEY, "unquoted key") \ XX(BREAKING_BAD, "breaking bad") \ XX(ALLOCATION_FAILURE, "allocation failure") enum JsonErrno { #define XX(no, str) JSON_##no, JSON_ERRNO_MAP(XX) #undef XX }; const char *jsonStrError(int err); class JsonAllocator { struct Zone { Zone *next; size_t used; } *head = nullptr; public: JsonAllocator() = default; JsonAllocator(const JsonAllocator &) = delete; JsonAllocator &operator=(const JsonAllocator &) = delete; JsonAllocator(JsonAllocator &&x) : head(x.head) { x.head = nullptr; } JsonAllocator &operator=(JsonAllocator &&x) { head = x.head; x.head = nullptr; return *this; } ~JsonAllocator() { deallocate(); } void *allocate(size_t size); void deallocate(); }; int jsonParse(char *str, char **endptr, JsonValue *value, JsonAllocator &allocator); ================================================ FILE: cocoapi/common/maskApi.c ================================================ /************************************************************************** * Microsoft COCO Toolbox. version 2.0 * Data, paper, and tutorials available at: http://mscoco.org/ * Code written by Piotr Dollar and Tsung-Yi Lin, 2015. * Licensed under the Simplified BSD License [see coco/license.txt] **************************************************************************/ #include "maskApi.h" #include #include uint umin( uint a, uint b ) { return (ab) ? a : b; } void rleInit( RLE *R, siz h, siz w, siz m, uint *cnts ) { R->h=h; R->w=w; R->m=m; R->cnts=(m==0)?0:malloc(sizeof(uint)*m); siz j; if(cnts) for(j=0; jcnts[j]=cnts[j]; } void rleFree( RLE *R ) { free(R->cnts); R->cnts=0; } void rlesInit( RLE **R, siz n ) { siz i; *R = (RLE*) malloc(sizeof(RLE)*n); for(i=0; i0 ) { c=umin(ca,cb); cc+=c; ct=0; ca-=c; if(!ca && a0) { crowd=iscrowd!=NULL && iscrowd[g]; if(dt[d].h!=gt[g].h || dt[d].w!=gt[g].w) { o[g*m+d]=-1; continue; } siz ka, kb, a, b; uint c, ca, cb, ct, i, u; int va, vb; ca=dt[d].cnts[0]; ka=dt[d].m; va=vb=0; cb=gt[g].cnts[0]; kb=gt[g].m; a=b=1; i=u=0; ct=1; while( ct>0 ) { c=umin(ca,cb); if(va||vb) { u+=c; if(va&&vb) i+=c; } ct=0; ca-=c; if(!ca && athr) keep[j]=0; } } } void bbIou( BB dt, BB gt, siz m, siz n, byte *iscrowd, double *o ) { double h, w, i, u, ga, da; siz g, d; int crowd; for( g=0; gthr) keep[j]=0; } } } void rleToBbox( const RLE *R, BB bb, siz n ) { siz i; for( i=0; id?1:c=dy && xs>xe) || (dxye); if(flip) { t=xs; xs=xe; xe=t; t=ys; ys=ye; ye=t; } s = dx>=dy ? (double)(ye-ys)/dx : (double)(xe-xs)/dy; if(dx>=dy) for( d=0; d<=dx; d++ ) { t=flip?dx-d:d; u[m]=t+xs; v[m]=(int)(ys+s*t+.5); m++; } else for( d=0; d<=dy; d++ ) { t=flip?dy-d:d; v[m]=t+ys; u[m]=(int)(xs+s*t+.5); m++; } } /* get points along y-boundary and downsample */ free(x); free(y); k=m; m=0; double xd, yd; x=malloc(sizeof(int)*k); y=malloc(sizeof(int)*k); for( j=1; jw-1 ) continue; yd=(double)(v[j]h) yd=h; yd=ceil(yd); x[m]=(int) xd; y[m]=(int) yd; m++; } /* compute rle encoding given y-boundary points */ k=m; a=malloc(sizeof(uint)*(k+1)); for( j=0; j0) b[m++]=a[j++]; else { j++; if(jm, p=0; long x; int more; char *s=malloc(sizeof(char)*m*6); for( i=0; icnts[i]; if(i>2) x-=(long) R->cnts[i-2]; more=1; while( more ) { char c=x & 0x1f; x >>= 5; more=(c & 0x10) ? x!=-1 : x!=0; if(more) c |= 0x20; c+=48; s[p++]=c; } } s[p]=0; return s; } void rleFrString( RLE *R, char *s, siz h, siz w ) { siz m=0, p=0, k; long x; int more; uint *cnts; while( s[m] ) m++; cnts=malloc(sizeof(uint)*m); m=0; while( s[p] ) { x=0; k=0; more=1; while( more ) { char c=s[p]-48; x |= (c & 0x1f) << 5*k; more = c & 0x20; p++; k++; if(!more && (c & 0x10)) x |= -1 << 5*k; } if(m>2) x+=(long) cnts[m-2]; cnts[m++]=(uint) x; } rleInit(R,h,w,m,cnts); free(cnts); } ================================================ FILE: cocoapi/common/maskApi.h ================================================ /************************************************************************** * Microsoft COCO Toolbox. version 2.0 * Data, paper, and tutorials available at: http://mscoco.org/ * Code written by Piotr Dollar and Tsung-Yi Lin, 2015. * Licensed under the Simplified BSD License [see coco/license.txt] **************************************************************************/ #pragma once typedef unsigned int uint; typedef unsigned long siz; typedef unsigned char byte; typedef double* BB; typedef struct { siz h, w, m; uint *cnts; } RLE; /* Initialize/destroy RLE. */ void rleInit( RLE *R, siz h, siz w, siz m, uint *cnts ); void rleFree( RLE *R ); /* Initialize/destroy RLE array. */ void rlesInit( RLE **R, siz n ); void rlesFree( RLE **R, siz n ); /* Encode binary masks using RLE. */ void rleEncode( RLE *R, const byte *mask, siz h, siz w, siz n ); /* Decode binary masks encoded via RLE. */ void rleDecode( const RLE *R, byte *mask, siz n ); /* Compute union or intersection of encoded masks. */ void rleMerge( const RLE *R, RLE *M, siz n, int intersect ); /* Compute area of encoded masks. */ void rleArea( const RLE *R, siz n, uint *a ); /* Compute intersection over union between masks. */ void rleIou( RLE *dt, RLE *gt, siz m, siz n, byte *iscrowd, double *o ); /* Compute non-maximum suppression between bounding masks */ void rleNms( RLE *dt, siz n, uint *keep, double thr ); /* Compute intersection over union between bounding boxes. */ void bbIou( BB dt, BB gt, siz m, siz n, byte *iscrowd, double *o ); /* Compute non-maximum suppression between bounding boxes */ void bbNms( BB dt, siz n, uint *keep, double thr ); /* Get bounding boxes surrounding encoded masks. */ void rleToBbox( const RLE *R, BB bb, siz n ); /* Convert bounding boxes to encoded masks. */ void rleFrBbox( RLE *R, const BB bb, siz h, siz w, siz n ); /* Convert polygon to encoded mask. */ void rleFrPoly( RLE *R, const double *xy, siz k, siz h, siz w ); /* Get compressed string representation of encoded mask. */ char* rleToString( const RLE *R ); /* Convert from compressed string representation of encoded mask. */ void rleFrString( RLE *R, char *s, siz h, siz w ); ================================================ FILE: cocoapi/license.txt ================================================ Copyright (c) 2014, Piotr Dollar and Tsung-Yi Lin All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. ================================================ FILE: cocoapi/results/captions_val2014_fakecap_results.json ================================================ [{"image_id": 391895, "caption": "Man riding a motor bike on a dirt road on the countryside."}, {"image_id": 522418, "caption": "A woman wearing a net on her head cutting a cake. "}, {"image_id": 184613, "caption": "a young boy barefoot holding an umbrella touching the horn of a cow"}, {"image_id": 318219, "caption": "A young boy stares up at the computer monitor."}, {"image_id": 554625, "caption": "A group of people sitting at desk using computers."}, {"image_id": 397133, "caption": "A person standing by a stove in a kitchen."}, {"image_id": 574769, "caption": "A woman is working in a kitchen carrying a soft toy."}, {"image_id": 60623, "caption": "A young girl inhales with the intent of blowing out a candle. "}, {"image_id": 309022, "caption": "Food cooks in a pot on a stove in a kitchen."}, {"image_id": 5802, "caption": "Two people standing around in a large kitchen."}, {"image_id": 222564, "caption": "Two men that are standing in a kitchen."}, {"image_id": 118113, "caption": "this is a very dark picture of a room with a shelf"}, {"image_id": 193271, "caption": "A kitchen with wooden cabinets and black appliances."}, {"image_id": 224736, "caption": "A toilet and mop bucket in a kitchen."}, {"image_id": 483108, "caption": "a guy that is riding his bike next to a train"}, {"image_id": 403013, "caption": "A narrow kitchen filled with appliances and cooking utensils."}, {"image_id": 374628, "caption": "A kitchen made of mostly wood with a small desk with a laptop."}, {"image_id": 328757, "caption": "A woman eating fresh vegetables from a bowl."}, {"image_id": 384213, "caption": "Glasses and bottles are placed near a kitchen sink."}, {"image_id": 293802, "caption": "A boy performing a kickflip on his skateboard on a city street."}, {"image_id": 86408, "caption": "A kitchen with cabinets, a stove, microwave and refrigerator."}, {"image_id": 37777, "caption": "A small kitchen has various appliances and a table."}, {"image_id": 372938, "caption": "A truck carries a large amount of items and a few people."}, {"image_id": 386164, "caption": "A selection of wooden kitchen tools on a counter."}, {"image_id": 223648, "caption": "A table surrounded by chairs and filled with cooking utensils."}, {"image_id": 204805, "caption": "A boat is being rolled on a trailer"}, {"image_id": 113588, "caption": "several young students working at a desk with multiple computers"}, {"image_id": 384553, "caption": "A man in a brown shirt rides an elephant into the water."}, {"image_id": 337264, "caption": "a couple of women are in a kitchen"}, {"image_id": 368402, "caption": "The woman in the kitchen is holding a huge pan."}, {"image_id": 12448, "caption": "A baby is laying down with a teddy bear."}, {"image_id": 252219, "caption": "City dwellers walk by as a homeless man begs for cash."}, {"image_id": 79841, "caption": "A man riding a bike in front of a tall building."}, {"image_id": 87038, "caption": "a man falls off his skateboard in a skate park."}, {"image_id": 174482, "caption": "A blue bicycle sits on a sidewalk near a street."}, {"image_id": 515289, "caption": "Several smiling bicycle riders approaching a colorful pigeon."}, {"image_id": 562150, "caption": "Girl with a yellow shirt holding a small cat"}, {"image_id": 542145, "caption": "The bathroom has been cleaned and is ready to use. "}, {"image_id": 412151, "caption": "Two people in a shop looking at a bike."}, {"image_id": 403385, "caption": "a shower toilet and sink in a basement bathroom"}, {"image_id": 579003, "caption": "A small shower behind a small bathroom sink."}, {"image_id": 540186, "caption": "a corner bathroom with two sinks and a bathtub"}, {"image_id": 242611, "caption": "white vanity that opens up to a bathroom with shower"}, {"image_id": 51191, "caption": "Long shot of a bathroom includes closet and tub."}, {"image_id": 269105, "caption": "A white toilet sitting next to a green wall under a picture."}, {"image_id": 294832, "caption": "There are a toilet, a sink, and a shower stall in a large bathroom."}, {"image_id": 462565, "caption": "Bicyclists on a city street, most not using the bike lane"}, {"image_id": 144941, "caption": "Interior bathroom scene with modern furnishings including a plant."}, {"image_id": 173350, "caption": "Two small dogs standing in a restroom next to a toilet."}, {"image_id": 60760, "caption": "A room under construction with an unfinished shower and plumbing for the sink."}, {"image_id": 324266, "caption": "A kitchen is shown with a tub and a sink."}, {"image_id": 166532, "caption": "A bathroom with a tub and shower and a sink."}, {"image_id": 262284, "caption": "A walk in shower with a hand held shower head."}, {"image_id": 360772, "caption": "The toilet is near the door in the bathroom."}, {"image_id": 6818, "caption": "a couple of buckets in a white room"}, {"image_id": 191381, "caption": "A clean toilet in a bathroom with a cement floor."}, {"image_id": 111076, "caption": "A small white toilet sitting next to a sink."}, {"image_id": 340559, "caption": "Two stainless steel sinks with mirrors and a fire extinguisher. "}, {"image_id": 258985, "caption": "A toilet is sitting on the ground next to a plant."}, {"image_id": 509822, "caption": "A bike chained to the doors of a building "}, {"image_id": 321107, "caption": "A woman riding a bike down a street next to a divider."}, {"image_id": 229643, "caption": "A bathroom sink sitting under a bathroom mirror."}, {"image_id": 125059, "caption": "A view of a bathroom shows a toilet, sink and mirror."}, {"image_id": 455483, "caption": "A bathroom with sinks mirrors and tile flooring."}, {"image_id": 436141, "caption": "Doorway view into bathroom with a sink and toilet."}, {"image_id": 129001, "caption": "a bath tub sitting next to a sink "}, {"image_id": 232262, "caption": "A section of traffic coming to a stop at an intersection."}, {"image_id": 61181, "caption": "there are many taxi cabs on the road"}, {"image_id": 166323, "caption": "Mirror view of a bathroom with a sink and tub."}, {"image_id": 580041, "caption": "A very dark street with cars and many wires above."}, {"image_id": 326781, "caption": "Small bathroom area with a blue and white shower curtain hanging. "}, {"image_id": 387362, "caption": "a man taking a selfie in a little bathroom mirror "}, {"image_id": 138079, "caption": "A varying palette of neutrals in a bathroom awaits the softening of the cabinetry."}, {"image_id": 556616, "caption": "A parking meter on a street by a car with traffic."}, {"image_id": 472621, "caption": "A claw foot tub is in a large bathroom near a pedestal sink."}, {"image_id": 192440, "caption": "A bathroom with a white toilet and large shelf full of stuff."}, {"image_id": 86320, "caption": "A small beige bathroom with an additional medicine cabinet."}, {"image_id": 256668, "caption": "A white urinal mounted to a bathroom wall."}, {"image_id": 383445, "caption": "A donut put around an antenna on a car "}, {"image_id": 565797, "caption": "An orange striped tabby cat laying on top of a red vehicle's wheel."}, {"image_id": 81922, "caption": "An airplane flies over a street with many cars."}, {"image_id": 50125, "caption": "A silver bus that is parked in a lot."}, {"image_id": 364521, "caption": "A red helmet is on a yellow toilet in the dirt."}, {"image_id": 394892, "caption": "A girl stepping onto a skateboard in the playground"}, {"image_id": 1146, "caption": "A person that is dressed up very nicely."}, {"image_id": 310391, "caption": "The old fashioned car is carrying some retro surfboards."}, {"image_id": 97434, "caption": "A man is sitting on the sidewalk while a police officer is doing something behind him."}, {"image_id": 463836, "caption": "a person standing in a stone walled and floored room wearing a backpack "}, {"image_id": 241876, "caption": "A cat is perched on the top of a toilet seat in the bathroom."}, {"image_id": 156832, "caption": "A door open revealing a small bathroom with sink and toilet."}, {"image_id": 480985, "caption": "The new motorcycle on display is very shiny."}, {"image_id": 458054, "caption": "A row of toilets with broken seat tops on the ground."}, {"image_id": 270721, "caption": "Bathroom shot of non transparent shower glass and toilet."}, {"image_id": 462341, "caption": "Picture of a church and its tall steeple."}, {"image_id": 310103, "caption": "Two luxurious motor bikes on the road near a hedge."}, {"image_id": 32992, "caption": "close up of a wooden base with crosses designed on the neck"}, {"image_id": 122851, "caption": "A man standing over several bunches of green bananas."}, {"image_id": 540763, "caption": "A bathroom with a white toilet in the middle of the wall and a sun wall decor above it."}, {"image_id": 331352, "caption": "A small closed toilet in a cramped space."}, {"image_id": 138246, "caption": "A filed with brown horses standing next to a church."}, {"image_id": 197254, "caption": "A horse drawn carriage parked on the street."}, {"image_id": 32907, "caption": "A toilet on the pavement in front of a house, the tank lid lying discarded."}, {"image_id": 251252, "caption": "A motorcycle sits displayed in a large shopping area."}, {"image_id": 37675, "caption": "some horses eating grass by a big house"}, {"image_id": 159537, "caption": "A clock tower has a weather vane on top of it."}, {"image_id": 268556, "caption": "A woman is riding a motorcycle down the street."}, {"image_id": 271177, "caption": "Black motorcycle parked on the side of a busy street. "}, {"image_id": 75051, "caption": "A small white toilet sitting next to a metal trash can."}, {"image_id": 549399, "caption": "A purple motorcycle parked in front of a red brick building."}, {"image_id": 85160, "caption": "A few people working on various computers in an office."}, {"image_id": 559665, "caption": "Two men are at an intersection on motorcycles."}, {"image_id": 296649, "caption": "A group of motorists pass very large buildings in asia. "}, {"image_id": 19358, "caption": "A desert of bananas and cinnamon in two blue bowls."}, {"image_id": 459912, "caption": "Large set of motorcycles all lined up down a street."}, {"image_id": 15827, "caption": "Motorcycles are lined up outside along the street. "}, {"image_id": 394240, "caption": "a back ally neighborhood with motor bikes in a row"}, {"image_id": 510755, "caption": "a line of parked motorcycles on some grass and trees"}, {"image_id": 175831, "caption": "People riding motorcycles in front of a building"}, {"image_id": 386912, "caption": "a woman is sitting in front of a desk"}, {"image_id": 79472, "caption": "The computer desk in the corner is by a window."}, {"image_id": 502136, "caption": "a building with dirty walls and dirty doors"}, {"image_id": 250108, "caption": "A corner desk with a laptop and other office equipment"}, {"image_id": 491497, "caption": "The living room is empty with the television on. "}, {"image_id": 315601, "caption": "Bikers on bikes in front of a lot of traffic\n"}, {"image_id": 437218, "caption": "A flat screen television in a room with yellow walls."}, {"image_id": 503707, "caption": "A group of men riding motorcycle down a country road."}, {"image_id": 184791, "caption": "Painting of oranges, a bowl, candle, and a pitcher"}, {"image_id": 74331, "caption": "Bananas packed in cardboard box covered in plastic."}, {"image_id": 579664, "caption": "A large number of green and yellow bananas in wooden containers."}, {"image_id": 369763, "caption": "A scene depicting a man sitting down on a curb and a motor cop writing a ticket"}, {"image_id": 199951, "caption": "A person riding a motor cycle down a race track."}, {"image_id": 452684, "caption": "A large pitcher of some beverage is on the table next to orange slices."}, {"image_id": 213687, "caption": "People are riding electric scooters in front of a large building."}, {"image_id": 108094, "caption": "The couple scoots around town on the motorbike."}, {"image_id": 527040, "caption": "A bunch of birds sitting in a bread basket."}, {"image_id": 350341, "caption": "A bowl of bread and newspaper laid on a table."}, {"image_id": 550529, "caption": "A dirt bike sitting on a counter by some wine bottles."}, {"image_id": 432176, "caption": "A wooden bench sitting next to an entrance."}, {"image_id": 281533, "caption": "Large brown dog facing away, watching TV with wildlife scene."}, {"image_id": 369826, "caption": "A television that is sitting next to signs"}, {"image_id": 551334, "caption": "A man sitting a desk in front of a TV."}, {"image_id": 291380, "caption": "A person sitting net to a TV on a sidewalk."}, {"image_id": 368978, "caption": "A four engine jet transport airplane flying low."}, {"image_id": 77123, "caption": "An Air China airplane sitting on the runway "}, {"image_id": 513681, "caption": "A person directing a white jet airliner with orange sticks."}, {"image_id": 348881, "caption": "Airline employees by an aircraft parked at the gate"}, {"image_id": 437370, "caption": "Someone sitting in a renovated propellor fighter plane on a tarmac"}, {"image_id": 78371, "caption": "a small air plane getting ready to take off ."}, {"image_id": 560623, "caption": "The view of runway from behind the windows of airport."}, {"image_id": 289173, "caption": "a very large airplane that is on a runway"}, {"image_id": 52759, "caption": "A plan parked on the cement near a terminal."}, {"image_id": 289393, "caption": "Set of toy animals sitting in front of a red wooden wagon."}, {"image_id": 568623, "caption": "A man is sitting on a public bench on a busy city street."}, {"image_id": 128939, "caption": "A car that is sitting near a green street light."}, {"image_id": 339974, "caption": "A traffic signal sitting next to a street at night."}, {"image_id": 561100, "caption": "an E2 airplane painted blue with black and white stripes "}, {"image_id": 150410, "caption": "Man bending down to check out a model plain that is parked in the grass"}, {"image_id": 9426, "caption": "A small plane flying through a cloudy blue sky."}, {"image_id": 14869, "caption": "A park bench siting next to a tree next to a park."}, {"image_id": 522713, "caption": " a bench sitting in the grass facing the water and boats "}, {"image_id": 281221, "caption": "A giraffe is walking slowly on the grass as other giraffes walk ahead in a park."}, {"image_id": 108169, "caption": "A yellow airplane wing pointed toward the ground?"}, {"image_id": 440575, "caption": "a passenger jet plane beginning its ascent over a city in the mountains"}, {"image_id": 354533, "caption": "A motorbike, people and sheep in the background"}, {"image_id": 181666, "caption": "a flock of goats and some men watching them"}, {"image_id": 545959, "caption": "many different animals in a large field of green grass "}, {"image_id": 511058, "caption": "A hungry giraffe is eating it's food in the zoo."}, {"image_id": 91227, "caption": "a close up of a giraffe with a blurry background "}, {"image_id": 242139, "caption": "Large glass building shining from sunlight on it. "}, {"image_id": 17627, "caption": "Small parking lot of cars in front of a stone building."}, {"image_id": 334321, "caption": "A dog sitting on a bench next to an old man."}, {"image_id": 381021, "caption": "A sign in a median is displaying an ad of a woman."}, {"image_id": 170629, "caption": "A yellow bus is parked near people on the side of the road."}, {"image_id": 143931, "caption": "A political candidate advertisement on the side of a coach bus."}, {"image_id": 303818, "caption": "A group of people cross the curved street."}, {"image_id": 207797, "caption": "A giraffe stands in the grass in Africa. "}, {"image_id": 179558, "caption": "Two giraffes standing together in an open field zoo den"}, {"image_id": 368117, "caption": "The traffic lights are clearly visible for all of us to see. "}, {"image_id": 15085, "caption": "A giraffe awkwardly sips water from a puddle in the dirt road."}, {"image_id": 467522, "caption": "a small herd of giraffe in an open field"}, {"image_id": 40102, "caption": "Two giraffes stroll past each other near a bush."}, {"image_id": 403020, "caption": "A giraffe laying down on the dirt ground. "}, {"image_id": 6005, "caption": "A herd of giraffe standing on top of a dirt field."}, {"image_id": 219514, "caption": "some street signs sitting on a pole next to a street light "}, {"image_id": 521634, "caption": "There is an image of an outdoor area. \n\n"}, {"image_id": 125476, "caption": "There is a metal and wood chair in a garden"}, {"image_id": 402559, "caption": "A large tall giraffe standing by a tree."}, {"image_id": 484816, "caption": "a close up of the front end of a school bus "}, {"image_id": 165547, "caption": "An eating area with a table and a few chairs."}, {"image_id": 463730, "caption": "Two buses parked in a parking lot next to cars."}, {"image_id": 81561, "caption": "Street signal light near church at dusk near streetlight."}, {"image_id": 227125, "caption": "A stoplight on a pole near a large building "}, {"image_id": 189550, "caption": "a lady with glasses with a giraffe behind her"}, {"image_id": 212663, "caption": "People getting on a bus at a station."}, {"image_id": 476005, "caption": "A very long row of buses on the street in a city."}, {"image_id": 505440, "caption": "Two giraffes are facing in opposite directions with their necks bent down. "}, {"image_id": 67868, "caption": "The water of the river is muddy brown."}, {"image_id": 450263, "caption": "two people sitting on a bench with a boat in the background"}, {"image_id": 241691, "caption": "A giraffe standing next to a covered structure."}, {"image_id": 450500, "caption": "A large group of people on a corner waiting to cross the street."}, {"image_id": 545293, "caption": "A park bench with a broken board on one end."}, {"image_id": 232894, "caption": "Two kids sitting at a wooden table eating chips."}, {"image_id": 439969, "caption": "old and faded fire hydrant surrounded by some green grass"}, {"image_id": 29913, "caption": "A bicycle is lying on the sidewalk beside a fire hydrant."}, {"image_id": 410437, "caption": "A snow covered city street featuring a red fire hydrant"}, {"image_id": 455859, "caption": "People are standing outside in a busy city street."}, {"image_id": 235302, "caption": "A smiling couple in wedding attire on a wooden bench."}, {"image_id": 431573, "caption": "A red fire hydrant gushing water onto a street."}, {"image_id": 290570, "caption": "A herd of sheep standing on top of snow covered field."}, {"image_id": 127474, "caption": "Two little girls are wearing fireman hats and poking a fire hydrant."}, {"image_id": 28758, "caption": "A giraffe and zebra in field next to a fence and building."}, {"image_id": 163020, "caption": "a white brown and green duck is flying over some water"}, {"image_id": 332654, "caption": "A yellow and blue fire hydrant sitting on a sidewalk."}, {"image_id": 281455, "caption": "A flock of birds flying over a field."}, {"image_id": 38029, "caption": "A float in a parade on a sunny day."}, {"image_id": 17756, "caption": "A boat with flags and tents is docked next to a grassy bank."}, {"image_id": 380932, "caption": "There are mountains in the background and a lake in the middle."}, {"image_id": 155885, "caption": "A lot of white birds flying around boats."}, {"image_id": 231408, "caption": "A cat looking intently at something as a duck floats by."}, {"image_id": 305821, "caption": "Several giraffes eating leaves from the ground and tree."}, {"image_id": 459374, "caption": "there are blue lights shining threw palm trees "}, {"image_id": 190056, "caption": "Three giraffes grazing from a bush over a fence."}, {"image_id": 176649, "caption": "A city street sign warning of a hill in different languages."}, {"image_id": 121041, "caption": "Small black and white bird swimming through the ocean. "}, {"image_id": 156397, "caption": "A herd of sheep eating, some of them in the food dispenser."}, {"image_id": 173574, "caption": "That looks like a wall mural in the background of this photo with a lot of sheet."}, {"image_id": 236182, "caption": "a sidewalk lined with trees and a lamp post"}, {"image_id": 460347, "caption": "City bus next to traffic cones in the far right lane of a busy freeway."}, {"image_id": 208589, "caption": "A bird in a pot eating a fruit."}, {"image_id": 334405, "caption": "An old fashioned brown retro bus riding through town."}, {"image_id": 267571, "caption": "Closeup of giraffe's head in front of a stone wall."}, {"image_id": 73830, "caption": "A giraffe turns away from the pack to look at the camera."}, {"image_id": 158952, "caption": "THERE IS A STREET SIGN MORGAN RD AND STOP SIGN"}, {"image_id": 82258, "caption": "Several books are stacked on a table. "}, {"image_id": 308599, "caption": "A red door has a sign that says stop you must be over 18 to enter."}, {"image_id": 322864, "caption": "A picture of an animal is on a pole and next to it is a yellow taxi."}, {"image_id": 351053, "caption": "This appears to be signage for the New York Public Library."}, {"image_id": 157269, "caption": "several men on a street corner repairing a street sign"}, {"image_id": 495612, "caption": "A brown sign hangs on a post in a city street."}, {"image_id": 95022, "caption": "a black and white bird with red eyes sitting on a tree branch "}, {"image_id": 226111, "caption": "A sign prohibiting skating on the sidewalk with black and red writing."}, {"image_id": 570045, "caption": "two black and white signs some wires and a flag"}, {"image_id": 191501, "caption": "A street sign that reads \"FRIZERIE\" in front of a red building."}, {"image_id": 153299, "caption": "Two giraffes in a sanctuary standing close to the wall"}, {"image_id": 216482, "caption": "A giraffe stares directly into the camera lens"}, {"image_id": 358342, "caption": "A couple of street signs hanging on a pole"}, {"image_id": 8665, "caption": "The colorful bird is standing on the table outside."}, {"image_id": 125997, "caption": "A large blue sign with white lettering adorns the concrete wall."}, {"image_id": 69911, "caption": "A street sign on a pole on a road."}, {"image_id": 573291, "caption": "a close up of two giraffes in a field of grass with trees"}, {"image_id": 322226, "caption": "Cages are covered with white tarps strapped to them."}, {"image_id": 161470, "caption": "A close up of a birdbath with a bird in the water."}, {"image_id": 452224, "caption": "A brightly colored bird perches on a tree branch."}, {"image_id": 322654, "caption": "kids sit in the street painting a divider."}, {"image_id": 110196, "caption": "A green interstate sign in an asian country."}, {"image_id": 564563, "caption": "A flock of birds flying high above a snow covered mountain."}, {"image_id": 375363, "caption": "A crosswalk sign on Bainbridge Street during the winter."}, {"image_id": 93201, "caption": "A white dog wearing a black hat with it's tongue hanging out."}, {"image_id": 155877, "caption": "an adult sheep and baby sheep next to a tree in a grass field"}, {"image_id": 373591, "caption": "A bird on a branch on the ground "}, {"image_id": 308394, "caption": "There is a woman sitting alone on a train next to a bag"}, {"image_id": 338948, "caption": "A boy is jumping over a hurdle on his skateboard. "}, {"image_id": 84982, "caption": "A red and white street sign mounted on a red pole with a pedestrian traffic light."}, {"image_id": 386146, "caption": "Two birds sitting on top of wood poles"}, {"image_id": 456496, "caption": "A man sitting on cement by some birds"}, {"image_id": 325690, "caption": "Sign with the number \"eighty\" set against bright blue sky."}, {"image_id": 74711, "caption": "Two Canadian geese swim in a green pond."}, {"image_id": 531854, "caption": "Two ducks swimming alongside each other in a pond."}, {"image_id": 15113, "caption": "A bird with blue feathers in a tree at the zoo"}, {"image_id": 388325, "caption": "The large grey house sits on Nirvana Road."}, {"image_id": 58636, "caption": "street signs on the corner of Gladys and Detroit"}, {"image_id": 197461, "caption": "a ram is looking at the camera and standing on some grass"}, {"image_id": 144053, "caption": "The sign for Broadway Street stands in front of an advertisement board in the city."}, {"image_id": 75083, "caption": "A Pole with a bunch of different street signs "}, {"image_id": 271032, "caption": "There are many birds in and next to the water."}, {"image_id": 98416, "caption": "Numerous sheep graze and interact with one another on a large field"}, {"image_id": 78522, "caption": "A sheep standing in the middle of a field."}, {"image_id": 26767, "caption": "Blue and white street sign next to an open park. "}, {"image_id": 327807, "caption": "A woman poses for a picture next to a train and a fruit stand."}, {"image_id": 134778, "caption": "Flamingos are walking on the shore of a beach."}, {"image_id": 41888, "caption": "There are 3 female peacocks together walking around."}, {"image_id": 518586, "caption": "A train traveling through a train yard next to a light pole"}, {"image_id": 65227, "caption": "A girl in a scout uniform playing with a toy by a fence."}, {"image_id": 49633, "caption": "An angry bird is standing in front of the camera."}, {"image_id": 476597, "caption": "Two men are talking to each other near a fish tank. "}, {"image_id": 165029, "caption": "A man holding a snowboard next to a man in scary costume."}, {"image_id": 129699, "caption": "a sign on a post in a city with a building in the background "}, {"image_id": 117125, "caption": "The train is rounding the bend of a track on the mountain side. "}, {"image_id": 7211, "caption": "Old weathered red train boxcar with blue spray painted graffiti."}, {"image_id": 356298, "caption": "a train cart is near a white tank"}, {"image_id": 129942, "caption": "Two parrots on a tree next to a metal pan."}, {"image_id": 520433, "caption": "A freight train with graffiti on the side of a box car."}, {"image_id": 183666, "caption": "A train is making its way past a boarding area."}, {"image_id": 184321, "caption": "A blue train is next to a sidewalk on the rails."}, {"image_id": 426175, "caption": "A cute train planter set is seen outside of a real train."}, {"image_id": 336777, "caption": "Many different signs cover a post next to a bus stop."}, {"image_id": 249720, "caption": "Woman out running errands on her bicycle in the street."}, {"image_id": 409009, "caption": "High speed train stopped at the train station."}, {"image_id": 554348, "caption": "A woman takes a picture of a train on a track."}, {"image_id": 329486, "caption": "A red and blue train on a bridge during a cloudy day. "}, {"image_id": 565778, "caption": "A blue commuter train traveling towards a train tunnel."}, {"image_id": 231163, "caption": "Train stopped at a depot with people milling about."}, {"image_id": 297343, "caption": "A stop sign standing up against a wall."}, {"image_id": 336587, "caption": "a stop sign sittin on a pole that is somewhat broken "}, {"image_id": 463633, "caption": "Graffiti on a stop sign supporting the red sox"}, {"image_id": 122745, "caption": "A red stop sign sitting on the side of a dark road."}, {"image_id": 383470, "caption": "A red stop sign sits in the snow along suburban streets."}, {"image_id": 578292, "caption": "A little boy is holding on to a stop sign."}, {"image_id": 75748, "caption": "a blue passenger train on a track next to a large bush "}, {"image_id": 522778, "caption": "A man is operating a jackhammer near a parking meter."}, {"image_id": 365366, "caption": "A woman that is sitting near a coin meter."}, {"image_id": 46743, "caption": "A woman is sitting on the curb with a decorated parking meter."}, {"image_id": 554114, "caption": "A woman is putting a decoration on a parking meter."}, {"image_id": 52644, "caption": "Rows of black parking meters on street next to sand."}, {"image_id": 269394, "caption": "Two parking meters standing on a sidewalk. "}, {"image_id": 117407, "caption": "A cat with large eyes sitting on the side of the dock."}, {"image_id": 183757, "caption": "Two dogs and a cat on a boat at edge of water."}, {"image_id": 437609, "caption": "Woman sitting down and eventually milking a brown Cow. "}, {"image_id": 219578, "caption": "A dog and a cat curled up together on a couch."}, {"image_id": 434494, "caption": "Men in yellow safety vests stand near a yellow truck and a white truck."}, {"image_id": 191738, "caption": "A cat sitting on top of a stuffed animal. "}, {"image_id": 542510, "caption": "A man in a funny hat pulling a wagon in the grass."}, {"image_id": 171500, "caption": "A large truck travelling on a dirt road near trees. "}, {"image_id": 146411, "caption": "A cat on the ground with a shoe."}, {"image_id": 555705, "caption": "Orange and brown cat sitting on top of white shoes. "}, {"image_id": 205103, "caption": "a cat sitting with shoes on a bed playing with the strings"}, {"image_id": 472795, "caption": "A cow standing near a curb in front of a store. "}, {"image_id": 235006, "caption": "A rusted, classic fire truck parked in front of a tree."}, {"image_id": 182784, "caption": "a brown and white ox a motorcycle and a shop"}, {"image_id": 54088, "caption": "A white vehicle being towed by a white and orange tow truck."}, {"image_id": 324383, "caption": "A cat laying down in a open suitcase on a bed."}, {"image_id": 224861, "caption": "The cat is laying on the clothes in the suitcase."}, {"image_id": 443303, "caption": "A cat laying on clothes that are in a suitcase. "}, {"image_id": 319865, "caption": "A brown and white cat is in a suitcase."}, {"image_id": 353968, "caption": "A large cat sits on the sofa arm next to a girl using a computer"}, {"image_id": 500663, "caption": "A few cows grazing in a field near trees."}, {"image_id": 458052, "caption": "A cat feeding on a banana with a person feeding it to it."}, {"image_id": 309852, "caption": "A cat sitting on top of a wooden chair."}, {"image_id": 480076, "caption": "A gray chair and a black chair sit in a room near a lamp."}, {"image_id": 26942, "caption": "A cat sitting in a chair by a table."}, {"image_id": 346207, "caption": "Cat sitting on a computer desk with two computers."}, {"image_id": 190767, "caption": "Cows are eating the grass from the field."}, {"image_id": 418281, "caption": "A herd of cattle sitting and standing on a lush green field."}, {"image_id": 490081, "caption": "a person riding a carriage being pulled by bulls"}, {"image_id": 571034, "caption": "Three cows sitting in piles of hay at a stable."}, {"image_id": 372979, "caption": "The cat is curious about the people in the room,"}, {"image_id": 384204, "caption": "A very cute cat sitting in a window."}, {"image_id": 89668, "caption": "Black and brown cows are grazing in tall grass."}, {"image_id": 383406, "caption": "Four cats lay on a desk near two computer monitors and a keyboard while near them a bowl holds medicine bottles."}, {"image_id": 13383, "caption": "a cat on a desk laying next to a keyboard "}, {"image_id": 209692, "caption": "A red firetruck sitting in a parking spot on a snowy day."}, {"image_id": 205378, "caption": "A cat sitting behind storage containers and a computer."}, {"image_id": 551952, "caption": "A vehicle is shown transporting a shipment of bicycles."}, {"image_id": 535292, "caption": "A white faced cow stands in the tall grass."}, {"image_id": 10694, "caption": "a cat behind a tv near doors "}, {"image_id": 143824, "caption": "The cat is looking at the television with the dog on it"}, {"image_id": 37907, "caption": "a cat on top of different kinds of electronics"}, {"image_id": 168706, "caption": "three brown cows in some brown grass and one is laying down"}, {"image_id": 414679, "caption": "A couple of brown and white cows standing on top of a hill."}, {"image_id": 486203, "caption": "A couple of cows standing on a grass covered hill."}, {"image_id": 25560, "caption": "A cat is standing on top of a shelf and staring down."}, {"image_id": 60687, "caption": "A cow with halo hair is laying in a pasture."}, {"image_id": 122203, "caption": "Two black and white cows graze on green grass while many more cows and a silo are featured in the background."}, {"image_id": 181449, "caption": "A black cat is lying next to a remote control."}, {"image_id": 171062, "caption": "A cat sits on a table and watches television"}, {"image_id": 142667, "caption": "People standing in line by several food trucks parked on the street"}, {"image_id": 574184, "caption": "A cat laying on a bed next to an opened laptop.\n"}, {"image_id": 122390, "caption": "A grey and white cat laying next to a laptop on a bed."}, {"image_id": 99734, "caption": "fishermen on a boat with nets ready to fish"}, {"image_id": 400, "caption": "a dog sits on a boat floating in water"}, {"image_id": 245201, "caption": "A dog that is standing on a boat."}, {"image_id": 350694, "caption": "Many boats are traveling in the water outside the city area. "}, {"image_id": 419048, "caption": "Some very cute cows in a nice shaded area."}, {"image_id": 414560, "caption": "three black and white cows are resting in hat"}, {"image_id": 232383, "caption": "A grey and white cat sitting behind a laptop computer."}, {"image_id": 403817, "caption": "A picture of a cat staring at the ceiling. "}, {"image_id": 241453, "caption": "Several cows standing together in front of a building."}, {"image_id": 178592, "caption": "A couple of elephants standing in a grass field."}, {"image_id": 328421, "caption": "Variety of wildlife in field with tall golden grasses."}, {"image_id": 530212, "caption": "A display of dozens of neck ties in many colors."}, {"image_id": 278166, "caption": "A candle shaped as an elephant is on a china plate."}, {"image_id": 457754, "caption": "Two men are standing behind two other men who are signing papers."}, {"image_id": 109819, "caption": "As a bus and motorcycles carry passengers an elephant is also seated to carry a man."}, {"image_id": 260141, "caption": "a group of boats resting in the water next to a bridge"}, {"image_id": 7682, "caption": "a woman with glasses in a shirt and tie"}, {"image_id": 540264, "caption": "a person tying another persons neck tie wearing a suit"}, {"image_id": 246809, "caption": "A small boat traveling past a red light house."}, {"image_id": 102843, "caption": "a boat riding in the water by a light tower"}, {"image_id": 412914, "caption": "A boat turned over on a snowy bank by a lake."}, {"image_id": 85329, "caption": "An image of a very cute girl with face piercings."}, {"image_id": 440646, "caption": "A woman putting a tie on a man as he sit at a table."}, {"image_id": 242499, "caption": "Groups of people sitting on elephants crossing a river."}, {"image_id": 105975, "caption": "an elephant using its trunk to blow the dirt off its face"}, {"image_id": 66800, "caption": "A elephant is standing in the grass with zebras behind it."}, {"image_id": 511204, "caption": "a nd elephant is carrying some red jugs"}, {"image_id": 329323, "caption": "A group of people who are standing together."}, {"image_id": 30255, "caption": "A group of people in a boat in the water."}, {"image_id": 557981, "caption": "A man holding an umbrella in one hand and a stuffed animal in the other."}, {"image_id": 453819, "caption": "a couple of boats docked in a harbor next to a building"}, {"image_id": 260166, "caption": "The people are riding on the two elephants"}, {"image_id": 217005, "caption": "A COUPLE OF DIFFERENT PLANTS IN THE WOODS "}, {"image_id": 239274, "caption": "People are getting off a boat on a rocky island."}, {"image_id": 207264, "caption": "HERD OF ELEPHANTS IN THE WILD GRAZING AMONG THE TREES"}, {"image_id": 370043, "caption": "A big elephant in the grass in the wild "}, {"image_id": 307936, "caption": "An elephant strides through brown grass and trees."}, {"image_id": 458153, "caption": "an elephant is in some brown grass and some trees"}, {"image_id": 446751, "caption": "some elephants in some tall brown grass and trees"}, {"image_id": 286994, "caption": "A elephant drinks from a stream with several other elephants walking in the background."}, {"image_id": 511321, "caption": "Scenic boats daily travel the Thames in England."}, {"image_id": 529917, "caption": "a bunch of people in ties are grouped together "}, {"image_id": 451872, "caption": "Several elephants in zoo enclosure with onlookers watching."}, {"image_id": 31747, "caption": "A boat docked with some large equipment in the background"}, {"image_id": 410533, "caption": "A grey and white cat sitting in a sink "}, {"image_id": 247306, "caption": "There are many boats together out on the water"}, {"image_id": 466774, "caption": "Two adult elephants with a baby elephant walking with them."}, {"image_id": 420532, "caption": "A group of people standing next to each other."}, {"image_id": 154202, "caption": "Several different types of electronics sprawled out on a bed."}, {"image_id": 421478, "caption": "A man holds his suit over his shoulder"}, {"image_id": 314294, "caption": "An elephant standing in a shaded cleaning in a wooded area."}, {"image_id": 387173, "caption": "A person rowing in a red kayak glides through the water."}, {"image_id": 516750, "caption": "Two kayaks rest on the shore of a body of water."}, {"image_id": 289899, "caption": "A group of people on a canal boat."}, {"image_id": 233771, "caption": "A colorful umbrella in the center of a black and white picture of a busy city side walk."}, {"image_id": 419281, "caption": "There is a lot of boats docked at a docking station."}, {"image_id": 69946, "caption": "boats sitting around the side of a lake by a tree"}, {"image_id": 109005, "caption": "An elephant and a rhinoceros share a field with a pond."}, {"image_id": 216841, "caption": "a rack of very many different colored ties"}, {"image_id": 338327, "caption": "Various ties are on display in boxes on shelves."}, {"image_id": 77184, "caption": "A white boat with flags on it is in the water."}, {"image_id": 291712, "caption": "There is a row boat on very still waters with a ball in the water in front of it."}, {"image_id": 24430, "caption": "a small boat in the front yard of a house"}, {"image_id": 14990, "caption": "Two elephants following an individual on a dirt path"}, {"image_id": 167854, "caption": "The woman is standing on the beach by the water with two umbrellas. "}, {"image_id": 32965, "caption": "A woman staniding on the shore holding two umbrellas."}, {"image_id": 553442, "caption": "A woman with her arms around a girl who's holding a suitcase."}, {"image_id": 240903, "caption": "a elephant that is in side of a big fence"}, {"image_id": 207056, "caption": "A large group of elephants standing in some water."}, {"image_id": 476975, "caption": "The elephant with the herd is stretching it's trunk upwards near a tree. "}, {"image_id": 323682, "caption": "A man stands next to a few pieces of luggage. "}, {"image_id": 475779, "caption": "An adorable elephant walking through a grass covered forest."}, {"image_id": 304305, "caption": "A pair of elephants traveling on a grassy field."}, {"image_id": 76460, "caption": "The adult elephant is standing behind a young one."}, {"image_id": 468604, "caption": "A elephant that is standing in the grass."}, {"image_id": 35474, "caption": "An elephant with an open mouth lifts his trunk."}, {"image_id": 41945, "caption": "A weathered ship parked beside a building on the water"}, {"image_id": 15690, "caption": "Two elephants that are walking in some water."}, {"image_id": 102912, "caption": "A couple of gray elephants standing next to each other in a wire cage."}, {"image_id": 301867, "caption": "Three teenage girls hover under an umbrella while they talk and laugh."}, {"image_id": 261779, "caption": "a woman shades her eyes while sitting on a chest "}, {"image_id": 227227, "caption": "A woman sitting in a car holding a small white dog."}, {"image_id": 198448, "caption": "A woman sitting on a piece of luggage in a field."}, {"image_id": 312421, "caption": "Several middle eastern looking stickers decorate a black briefcase."}, {"image_id": 122934, "caption": "The tourists take a leasurely ride in the horse-drawn carriage."}, {"image_id": 421681, "caption": "There are two suitcases stacked up on a box"}, {"image_id": 181714, "caption": "A stylish young woman holds an umbrella in the rain."}, {"image_id": 449981, "caption": "Young elephants being fed while people take pictures."}, {"image_id": 573349, "caption": "An assortment of people walking in a line down a road."}, {"image_id": 247984, "caption": "A black suitcase with handles to help when rolling it around."}, {"image_id": 429580, "caption": "People playing Frisbee with a drown and white dog."}, {"image_id": 185250, "caption": "A man standing in a grass field with a dog in front of him and frisbee type toys thrown in the air."}, {"image_id": 450247, "caption": "A cat laying on top of a plastic container next to a bottle."}, {"image_id": 329717, "caption": "A little boy sitting on a suitcase on the floor."}, {"image_id": 393258, "caption": "a bunch of travel bags sit on a carpet floor "}, {"image_id": 247285, "caption": "A woman holds her baby while a man covers them with an umbrella. "}, {"image_id": 314154, "caption": "A young girl is smiling while holding a luggage bag."}, {"image_id": 579815, "caption": "A man holding a black umbrella outside of a hotel."}, {"image_id": 42069, "caption": "an umbrella is put on the roof of a house"}, {"image_id": 511136, "caption": "A man is on his roof with a large umbrella."}, {"image_id": 341393, "caption": "A golden retriever sleeps at the edge of the pool."}, {"image_id": 299319, "caption": "an image of two girls walking with umbrellas"}, {"image_id": 185768, "caption": "A newspaper with cartoon characters on the cover. "}, {"image_id": 139530, "caption": "Three men claiming their baggage at an airport."}, {"image_id": 504142, "caption": "A dog laying on top of a bed with large brown cushions."}, {"image_id": 288955, "caption": "A black dog being given broccoli to eat.\n"}, {"image_id": 356427, "caption": "A man stands at a train station with lots of luggage"}, {"image_id": 407368, "caption": "The bear is sitting in an enclosure area."}, {"image_id": 553162, "caption": "A small brown colored bear on a path in a wooded area with trees and grass."}, {"image_id": 515779, "caption": "A boy with several backpacks and some luggage."}, {"image_id": 262986, "caption": "The wet black bear is standing on rocks in the river."}, {"image_id": 77187, "caption": "There is a brown bear walking through the woods alone"}, {"image_id": 156416, "caption": "Three people in a crystal blue ocean during the day."}, {"image_id": 479057, "caption": "A polar bear grazing in a vibrant green grass"}, {"image_id": 563964, "caption": "A man throwing a frisbee in front of a sign point in the direction of the toilet."}, {"image_id": 103579, "caption": "A woman and a little girl playing with a Frisbee in the sun on a green lawn."}, {"image_id": 236189, "caption": "A young child holding a frisbee and posing in a throwing motion with a woman across from her."}, {"image_id": 240028, "caption": "A guy wearing a white shirt holds up a white frisbee."}, {"image_id": 62060, "caption": "Some people stand together near a lake. "}, {"image_id": 572517, "caption": "A bird sitting in front of the water with a bear on the other side."}, {"image_id": 438723, "caption": "A woman laying in a bunch of purses and shoes. "}, {"image_id": 386500, "caption": "A dog that is laying down on a couch."}, {"image_id": 324937, "caption": "A dog that is laying down on a couch."}, {"image_id": 557556, "caption": "a person is holding a flying disk outside"}, {"image_id": 426578, "caption": "A man in a wetsuit running on the beach."}, {"image_id": 278506, "caption": "Two guys are jumping to catch a frisbee on a crowded beach."}, {"image_id": 501762, "caption": "a man on a beach holding a frisbee"}, {"image_id": 370423, "caption": "A white and gray dog sits on a bed near a pile of rumpled sheets."}, {"image_id": 406932, "caption": "A dog hanging out of a side window on a car."}, {"image_id": 293554, "caption": "a woman is playing frisbee with her dog "}, {"image_id": 18149, "caption": "A dog in a cage looking out of the cage."}, {"image_id": 289423, "caption": "A couple of people on a beach with a flying Frisbee."}, {"image_id": 155743, "caption": "A zebra eating grass inside a fenced in area. "}, {"image_id": 64710, "caption": "a person and a dog are standing near some cliffs"}, {"image_id": 180447, "caption": "A black and white photograph of a zebra grazing."}, {"image_id": 318171, "caption": "A brown and white dog sitting on the grass. "}, {"image_id": 216273, "caption": "A wooly, white dog sitting on the carpet"}, {"image_id": 270244, "caption": "A zebra stands in high grass in wooded area."}, {"image_id": 75162, "caption": "One zebra standing in snow near a stone wall."}, {"image_id": 283210, "caption": "Two similar sized dogs fighting near an empty chair."}, {"image_id": 252213, "caption": "Two dogs have a playful fight with one another."}, {"image_id": 82680, "caption": "two dogs brown white and black and some people"}, {"image_id": 469088, "caption": "A couple of dogs standing each other up being playful."}, {"image_id": 496768, "caption": "a boy is on the beach tying to catch a frisbee"}, {"image_id": 562261, "caption": "Man in a blue shirt holding up a white frisbee. "}, {"image_id": 16716, "caption": "There 3 Zebras standing together in the wild. "}, {"image_id": 517822, "caption": "a small child standing in a field of green grass playing with a frisbee"}, {"image_id": 443591, "caption": "Three zebras walking through a grassland area together."}, {"image_id": 344860, "caption": "A zebra looks over another zebra in the grass. "}, {"image_id": 516316, "caption": "Three Zebra's eating grass as they walk. "}, {"image_id": 125211, "caption": "there is a very beautiful zebra that is standing in the shade"}, {"image_id": 562121, "caption": "Two zebras fighting in a cloud of dust"}, {"image_id": 235914, "caption": "A couple of zebra standing on top of a field."}, {"image_id": 148358, "caption": "Three zebras eating grass in a grassy field. "}, {"image_id": 104025, "caption": "A person riding a donkey travels between two mountains."}, {"image_id": 62790, "caption": "A series of pictures shows horses and people on the street."}, {"image_id": 129637, "caption": "Three plastic horse figurines standing next to each other on a shelf."}, {"image_id": 427438, "caption": "A bunch of zebras standing around in an open field."}, {"image_id": 2684, "caption": "A herd of zebra in a grassy are with bushes in the background."}, {"image_id": 256091, "caption": "A group of zebras standing around in the desert. "}, {"image_id": 433460, "caption": "On a sunny afternoon, the herd of zebra are romping in the field."}, {"image_id": 307569, "caption": "A group of jockeys on horses in a race on a beach."}, {"image_id": 181962, "caption": "These people are riding horses along the shore"}, {"image_id": 360661, "caption": "People riding on horses as the run on a beach. "}, {"image_id": 120935, "caption": "A herd of zebra standing near some bushes and rocks."}, {"image_id": 405778, "caption": "A herd of zebras is grazing in a grassy field."}, {"image_id": 520727, "caption": "A zebra and a giraffe eating from the grass and trees."}, {"image_id": 62151, "caption": "Horses grazing in a muddy portion of a flooded field"}, {"image_id": 353807, "caption": "A horse pulling a carriage next to a crowd of people."}, {"image_id": 440329, "caption": "A man rides a cow through a parking lot."}, {"image_id": 248468, "caption": "A group of horses that are standing in the dirt."}, {"image_id": 112085, "caption": "A farmer is plowing the land with his horses."}, {"image_id": 379977, "caption": "A horse in a green meadow along hills with a cloudy grey sky in the background."}, {"image_id": 444444, "caption": "A young woman in a leather coat about to pet a horse"}, {"image_id": 345998, "caption": "A trainer leads a girl on horseback to a field."}, {"image_id": 497312, "caption": "A little girl sitting on top of a brown horse."}, {"image_id": 16228, "caption": "A trolley that is being pulled by a white horse."}, {"image_id": 143769, "caption": "Ponies have long manes and tails and stand beside a fence in front of a building."}, {"image_id": 311913, "caption": "Two horses running inside a grassy fenced pasture."}, {"image_id": 461885, "caption": "The person is riding the horse on the field."}, {"image_id": 328289, "caption": "A group of people walking horses through a field."}, {"image_id": 318671, "caption": "People riding on a horse trolley in the street."}, {"image_id": 31255, "caption": "three horses in the snow and some trees"}, {"image_id": 244575, "caption": "Two horses are looking towards the camera while standing in the woods."}, {"image_id": 79380, "caption": "A man riding on the back of a brown horse."}, {"image_id": 175417, "caption": "Two race horses running on a dirt track."}, {"image_id": 503005, "caption": "A rider gallops on his horse in the grass."}, {"image_id": 382088, "caption": "A white horse standing on top of a dirt field."}, {"image_id": 16574, "caption": "Several people dressed as knights on horses in a courtyard."}, {"image_id": 300814, "caption": "A couple of people dressed in knight outfits jousting."}, {"image_id": 316795, "caption": "A man in black leading an all white horse"}, {"image_id": 263136, "caption": "A woman in a wedding dress in a field, holding a lead rope with a white horse."}, {"image_id": 84235, "caption": "A hotdog on a bed of lettuce on a plate."}, {"image_id": 310177, "caption": "A white plate topped with different types of foods."}, {"image_id": 227879, "caption": "a man is holding a baseball bat at a game"}, {"image_id": 321079, "caption": "a bowl with some pancakes and toppings on it"}, {"image_id": 535668, "caption": "some baseball players are playing baseball on a field"}, {"image_id": 375840, "caption": "a banana and two oranges sit on a tray next to a bowl and a plate"}, {"image_id": 466787, "caption": "An array of apples and bananas lay on a plate"}, {"image_id": 288403, "caption": "A group of boys playing a little league baseball game."}, {"image_id": 147980, "caption": "A group of kids that are standing in the grass."}, {"image_id": 313789, "caption": "Clusters of bananas and pictures hanging on a wall."}, {"image_id": 121745, "caption": "A plate with a orange on it and designs. "}, {"image_id": 497006, "caption": "A banana display at an indoor grocery store. "}, {"image_id": 136501, "caption": "A baseball player with one leg kicked up preparing to throw a ball"}, {"image_id": 295589, "caption": "A baseball player is crouched and waiting attentively."}, {"image_id": 37038, "caption": "a man water skiing at in the water at the beach"}, {"image_id": 511117, "caption": "A little boy wearing a baseball uniform stands by a little girl. "}, {"image_id": 246199, "caption": "Bunches of bananas and other fruit and vegetables displayed in buckets"}, {"image_id": 95427, "caption": "A pile of oranges for sale the the price on a sign on top of them."}, {"image_id": 180800, "caption": "Man baskets of apricots are arranged on a shelf."}, {"image_id": 485709, "caption": "A pitcher in a baseball game on the mound in action."}, {"image_id": 146973, "caption": "A close up a plate filled with a variety of chocolate desserts "}, {"image_id": 98590, "caption": "A couple of people in the snow on some skis."}, {"image_id": 557360, "caption": "A small red plant similar to a banana plant."}, {"image_id": 114549, "caption": "There are some green bananas hanging in bunches"}, {"image_id": 376549, "caption": "A man on skis at the peak of a slope looking back."}, {"image_id": 536831, "caption": "A man is on the ski slope on a sunny day."}, {"image_id": 34180, "caption": "A person wearing a hat made out of yellow bananas."}, {"image_id": 169802, "caption": "A smiling guy with a very funny looking hat of bananas."}, {"image_id": 317560, "caption": "A performer poses joyously in a banana costume."}, {"image_id": 144200, "caption": "A wooden spoon accompanied by a cooking pan filled with stir-fried broccoli and onions."}, {"image_id": 138975, "caption": "two men standing by each other on a snowy hill "}, {"image_id": 266409, "caption": "A man walking on his skis in the snow with snow covered trees in the background."}, {"image_id": 430961, "caption": "A baseball player lunges and reaches back with the ball."}, {"image_id": 570465, "caption": "A table with a plate of cut pizza, two plates of salad, and a can of soda."}, {"image_id": 94590, "caption": "There is a variety of donuts on a plate."}, {"image_id": 162827, "caption": "Four different kinds of donuts on a plate."}, {"image_id": 208663, "caption": "A meal of vegetables and seafood mixed together."}, {"image_id": 410632, "caption": "Three players standing on the field during a break during a baseball game"}, {"image_id": 248242, "caption": "a kid with very warm clothes pulling a rope"}, {"image_id": 80671, "caption": "A woman touching her skis going down a ski hill."}, {"image_id": 10442, "caption": "A group of men on a baseball field giving each other high fives."}, {"image_id": 356708, "caption": "A man riding skis on top of a snow covered slope."}, {"image_id": 419856, "caption": "A rusty bicycle filled with mangoes and bananas."}, {"image_id": 397773, "caption": "Pasta dish with cheese and vegetables served on plate."}, {"image_id": 400139, "caption": "Red and white plate full of meat and vegetables."}, {"image_id": 27353, "caption": "A piece of broccoli with a fork and twig."}, {"image_id": 210103, "caption": "A bowl of various candies mixed in a red bowl."}, {"image_id": 362368, "caption": "Boy holding bowl of ice cream sundae up"}, {"image_id": 577539, "caption": "A bowl of banana's, sprinkels, chocolate chips, and marshmellows."}, {"image_id": 519706, "caption": "A little old lady holding a bowl of bananas."}, {"image_id": 40881, "caption": "A bowl of soup with onions, broccoli and chicken."}, {"image_id": 472246, "caption": "A fork, apple, orange and onion sitting on a surface."}, {"image_id": 420229, "caption": "A person getting ready to use an apple slicer"}, {"image_id": 564659, "caption": "A group of celery are posed with a mini chair."}, {"image_id": 308026, "caption": "A skateboarder doing a trick on the side of concrete steps."}, {"image_id": 10142, "caption": "A man smiles as he turns to look behind him while skiing."}, {"image_id": 311553, "caption": "A plate of chicken and broccoli next to bowls of rice."}, {"image_id": 16497, "caption": "A man posing for a picture while holding a skateboard."}, {"image_id": 572051, "caption": "A mixture of food all on a plate ."}, {"image_id": 185036, "caption": "A group of people riding skis across snow covered ground."}, {"image_id": 273045, "caption": "A fish and some broccoli in a glass tank."}, {"image_id": 287570, "caption": "A person with some skis in the snow."}, {"image_id": 140007, "caption": "A thick woman riding skis on top of a snow covered slope."}, {"image_id": 41687, "caption": "A person skiing and a person snowboarding on slope."}, {"image_id": 104612, "caption": "A broccoli and pasta salad with oil and vinegar dressing."}, {"image_id": 493868, "caption": "A plate of rolled up food and broccoli "}, {"image_id": 119181, "caption": "Two wine glasses and bread on top of a piece of paper"}, {"image_id": 296303, "caption": "A grasshopper in a cage eating something that is orange colored."}, {"image_id": 258516, "caption": "There is some sort of insect inside of a cage"}, {"image_id": 341041, "caption": "A young child holding a skateboard in a skate park."}, {"image_id": 406404, "caption": "a man is doing a trick on a skateboard"}, {"image_id": 560108, "caption": "A young boy with safety gear on a skate board in his backyard"}, {"image_id": 352194, "caption": "A person wearing a hooded jacket traveling with his skate board down the road."}, {"image_id": 216228, "caption": "lady in front of a store standing on a pink skateboard"}, {"image_id": 476258, "caption": "Man in yellow and black body suit on skateboard."}, {"image_id": 448365, "caption": "A person on a skateboard on a street."}, {"image_id": 143671, "caption": "A bunch of fresh carrots still covered with dirt in a basket."}, {"image_id": 285291, "caption": "A young person in a red winter suit skiing down a snow covered hill."}, {"image_id": 64822, "caption": "A clock is shaped like a coffee mug."}, {"image_id": 420775, "caption": "a man wearing a backpack and green jacket"}, {"image_id": 153656, "caption": "Miniature electric toothbrushes and toothpaste inside a cup."}, {"image_id": 472854, "caption": "Two men on skateboards on the pavement"}, {"image_id": 35197, "caption": "A person on a skateboard rides down a ramp."}, {"image_id": 330835, "caption": "A person wearing sneakers riding a skateboard on cement."}, {"image_id": 347170, "caption": "A man riding a skateboard next to a chain link fence."}, {"image_id": 349860, "caption": "a young man doing a jump with his skateboard in a skate park"}, {"image_id": 234572, "caption": "A man riding a skateboard on a ramp."}, {"image_id": 72944, "caption": "A young boy who is riding on a skateboard."}, {"image_id": 383137, "caption": "PERSON ON A SKATE BOARD WITH COLORFUL TENNIS SHOES ON"}, {"image_id": 65415, "caption": "a person that is skiing across some snow"}, {"image_id": 204049, "caption": "A person on skis is getting ready to throw a snowball."}, {"image_id": 335472, "caption": "Happy skier skiing down hill with demolished snowman to the left."}, {"image_id": 180135, "caption": "A guy holding a skate board is speaking into a microphone."}, {"image_id": 234500, "caption": "A child eating a sandwich with relish on it."}, {"image_id": 272110, "caption": "a few men that are skateboarding across the lot"}, {"image_id": 577826, "caption": "Two skateboarders are riding on a slanted walkway. "}, {"image_id": 385861, "caption": "The young girl in a jacket is biting a sandwich."}, {"image_id": 59202, "caption": "A skateboarder is near the edge of a skateboard ledge."}, {"image_id": 383419, "caption": "A kid eating a hot dog in a restaurant. "}, {"image_id": 41369, "caption": "A young person is skateboarding on a side of the street. "}, {"image_id": 262873, "caption": "A man riding a snow board down a snow covered slope."}, {"image_id": 303590, "caption": "A child smiling in front of a hotdog, in a restaurant. "}, {"image_id": 483234, "caption": "Snowboards resting upon a tree, with man hiding inside it like fort"}, {"image_id": 553667, "caption": "A young girl is eating a messy sandwich."}, {"image_id": 173704, "caption": "A MAN ON A WINTERY DAY IS EATING A HOT DOG"}, {"image_id": 404243, "caption": "There are plenty of sandwiches to buy in the store."}, {"image_id": 127451, "caption": "Two men use their snowboards to go down a snowy incline."}, {"image_id": 109092, "caption": "A man is eating a hot dog while wearing a suit."}, {"image_id": 514083, "caption": "A man riding on a skateboard near a crate."}, {"image_id": 461953, "caption": "A foot long hotdog on two regular buns on a Styrofoam plate."}, {"image_id": 25202, "caption": "A plate with a chocolate and a sliced orange."}, {"image_id": 486438, "caption": "The chocolate and glazed donuts are stacked on a plate."}, {"image_id": 400573, "caption": "A man taking a bite of a doughnut while wearing glasses."}, {"image_id": 495107, "caption": "a man in glasses is holding a snadwich"}, {"image_id": 413044, "caption": "A woman eating a donut on a park bench."}, {"image_id": 399012, "caption": "A wooden table with several donuts and eggs."}, {"image_id": 523772, "caption": "several glazed donuts sit on a table with a bowl of liquid"}, {"image_id": 109798, "caption": "three different donuts one is pink one is brown and one has white sprinkles"}, {"image_id": 436795, "caption": "A man eating a hot dog inside of a room."}, {"image_id": 413321, "caption": "This is a person with a jacket, pants and a mask on in a sandy place. "}, {"image_id": 557780, "caption": "A dog chewing on a chew toy while sitting on a beanbag."}, {"image_id": 370677, "caption": "Three female workers stand in front of rows of pastries. "}, {"image_id": 299116, "caption": "A girl eating a hotdog at a wooden table."}, {"image_id": 569839, "caption": "A little girl sitting in the middle of a restaurant and smiling for picture."}, {"image_id": 313155, "caption": "TWO DONUTS WITH SPRINKLES ARE ON A DESK"}, {"image_id": 375521, "caption": "Two people wearing snow suits conversing about a snowboard."}, {"image_id": 66412, "caption": "Getting geared up to do a little snow boarding."}, {"image_id": 404464, "caption": " Persons skating in the ice skating rink on the skateboard."}, {"image_id": 54277, "caption": "A person is seen using a snowboard on the packed snow."}, {"image_id": 319908, "caption": "Man standing up posing for a picture with his snowboard."}, {"image_id": 188958, "caption": "A group of people with snowboards outside of a lodge."}, {"image_id": 238866, "caption": "A rack topped with glazed donuts sitting side by side."}, {"image_id": 410002, "caption": "Donuts and pastries sit on trays in a store."}, {"image_id": 533750, "caption": "The donuts on the napkins are very colorful. "}, {"image_id": 507065, "caption": "A little boy sitting on a wooden bench eating half a sandwich."}, {"image_id": 540174, "caption": "a close up of a child in a car seat with a doughnut"}, {"image_id": 446322, "caption": "A display case of donuts and other sweets"}, {"image_id": 415746, "caption": "a bunch of baked goods in a plastic shelf"}, {"image_id": 369370, "caption": "A ham sandwich on a white plate with a kale garnish."}, {"image_id": 334686, "caption": "A girl eats doughnuts in front of a boy"}, {"image_id": 280819, "caption": "a woman with eye glasses sitting at a table covered with food"}, {"image_id": 5754, "caption": "A box is full of a variety of different donuts."}, {"image_id": 71171, "caption": "A grilled cheese sandwich with a side of salad and a pickle"}, {"image_id": 556462, "caption": "This person ordered some sandwich melts with fries on the side."}, {"image_id": 502737, "caption": "A person holding a cookie with icing that has one of it's arms bitten off."}, {"image_id": 292301, "caption": "In-flight meal of a bagged sandwich and drinks"}, {"image_id": 550627, "caption": "A bunch of doughnuts with sprinkles on them"}, {"image_id": 266041, "caption": "A man holding a basketball in his hands in the dark."}, {"image_id": 244339, "caption": "A basketball player holds a basketball for a picture."}, {"image_id": 515579, "caption": "A man throwing a ball while smiling and on a field. "}, {"image_id": 427135, "caption": "A man kicking a soccer ball on a field."}, {"image_id": 578210, "caption": "A sheet cake sitting on top of a table with lit candles."}, {"image_id": 201925, "caption": "a close up of a cake being cooked in an oven"}, {"image_id": 72833, "caption": "Man in a wetsuit on top of a blue and white surfboard."}, {"image_id": 269089, "caption": "a close up of food on a tray with a sandwich"}, {"image_id": 45864, "caption": "Many soccer players are competing for control of the ball. "}, {"image_id": 562614, "caption": "A group of children running after a soccer ball"}, {"image_id": 541010, "caption": "A bunch of youth soccer players huddling around each other."}, {"image_id": 289444, "caption": "Two boys contending over a soccer ball on a soccer field."}, {"image_id": 515445, "caption": "The people have surfboards and are on the beach."}, {"image_id": 570579, "caption": "a small boy playing with z toy tractor from a cake"}, {"image_id": 94194, "caption": "Two men holding onto a knife about to cut a cake."}, {"image_id": 173383, "caption": "The cake is prepared and ready to be eaten."}, {"image_id": 143541, "caption": "Someone is walking through water holding a surfboard."}, {"image_id": 284350, "caption": "Surfer on a black sand beach holding her board"}, {"image_id": 309120, "caption": "there is a man running on a field with a soccer ball"}, {"image_id": 146193, "caption": "A black and white picture of a surfer walking into the water."}, {"image_id": 467477, "caption": "The surfer in the black and white photo is on a huge wave. "}, {"image_id": 172327, "caption": "A person body surfing on a wave in the ocean."}, {"image_id": 153570, "caption": "A man riding on top of a surfboard on top of a wave."}, {"image_id": 550444, "caption": "a group of people playing soccer on a field "}, {"image_id": 438862, "caption": "Soccer players in orange and grey uniforms on a field. "}, {"image_id": 154971, "caption": "A man kicking a soccerball at a group of people on a field."}, {"image_id": 282225, "caption": "A young man kicking a soccer ball around a field."}, {"image_id": 146723, "caption": "A soccer goalie by the net and holding the soccer ball."}, {"image_id": 489023, "caption": "Man in an orange soccer jersey and white shorts looking up at a blue soccer ball. "}, {"image_id": 453757, "caption": "Soccer players are scrambling for the ball with one player down."}, {"image_id": 321674, "caption": "A young child in a bed is hooked to an IV."}, {"image_id": 195829, "caption": "Two teams are playing soccer on the field."}, {"image_id": 398076, "caption": "A woman is pointing at the camera while lying down"}, {"image_id": 310227, "caption": "A pair of feet poke out from under a bed sheet."}, {"image_id": 180560, "caption": "One woman carrying a cake with candles and another woman in the background."}, {"image_id": 453926, "caption": "A small cake is covered in frosting on a plate."}, {"image_id": 347693, "caption": "a room with some big window on the side of it "}, {"image_id": 90935, "caption": "Possible hospital room with cleaning bucket and drying rack."}, {"image_id": 39956, "caption": "View of a very messy bedroom with boxes and bags covering the floor."}, {"image_id": 542959, "caption": "Little pictures of a home including driveway, fireplace, bedroom, furniture, and pictures."}, {"image_id": 295837, "caption": "A woman standing over a pan filled with food in a kitchen."}, {"image_id": 321214, "caption": "A baby in plaid shirt eating a frosted cake."}, {"image_id": 279305, "caption": "Give candles light a decorative cake with white frosting."}, {"image_id": 207826, "caption": "A person reading a book while lying in a bed."}, {"image_id": 474028, "caption": "a group of kids playing soccer in a field"}, {"image_id": 224757, "caption": "A soccer coach is instructing the children on the field."}, {"image_id": 385786, "caption": "Two beds in a room with orange walls and lovely curtains."}, {"image_id": 165133, "caption": "A man holding a black and white surfboard in street clothes."}, {"image_id": 66523, "caption": "A bed with white and gray bedding and netting overhead."}, {"image_id": 336102, "caption": "A mouse head shapped pizza sitting in a box."}, {"image_id": 355257, "caption": "A young girl lying in a hospital room hooked up to machines"}, {"image_id": 17707, "caption": "At the beach resort, there is a privacy bed for rental "}, {"image_id": 140743, "caption": "A child frowning while eating a slice of pizza."}, {"image_id": 66423, "caption": "A group of surfers practicing on the beach."}, {"image_id": 142092, "caption": "An overhead view of a pizza on a pizza stone."}, {"image_id": 63154, "caption": "A surfer paddles over a wave in clear blue water."}, {"image_id": 476280, "caption": "A man holds a surf board and walks with a woman."}, {"image_id": 182245, "caption": "Friends about to enjoy fresh pizza and coffee at a restaurant"}, {"image_id": 1369, "caption": "A man in a wetsuit with a surfboard standing on a beach."}, {"image_id": 199551, "caption": "A boy asleep on a large bed under a mosquito net"}, {"image_id": 430125, "caption": "A man eats a slice of pizza at the carnival."}, {"image_id": 546702, "caption": "A cat spreads it's legs in the middle of a bed."}, {"image_id": 177941, "caption": "Picture of two pizza pies on a date"}, {"image_id": 53015, "caption": "A baby grabs for a bite of pizza that a man is eating."}, {"image_id": 239347, "caption": "A picture of a couple that just got married lying in a bed."}, {"image_id": 514508, "caption": "A man in bowler hat and lab coat by people in a tv frame."}, {"image_id": 504304, "caption": "A little girl holding a tennis racquet next to another woman."}, {"image_id": 54796, "caption": "A little girl playing with a tennis ball and raquet."}, {"image_id": 124629, "caption": "Children are playing with an old woman in the street."}, {"image_id": 310302, "caption": "A personal pizza and beer on a table"}, {"image_id": 353830, "caption": "A plate of food cut into slices has onions and olives on it."}, {"image_id": 493652, "caption": "Living room decorated for Christmas with gifts galore"}, {"image_id": 226278, "caption": "A man playing a game of tennis at night."}, {"image_id": 399839, "caption": "A young girl eating a very tasty looking slice of pizza."}, {"image_id": 39540, "caption": "A pizza with multiple toppings including an egg. "}, {"image_id": 301102, "caption": "a bunch of tennis rackets are tangles together "}, {"image_id": 473237, "caption": "Small girl in green shirt holding a slice of pizza to her face. "}, {"image_id": 317595, "caption": "Three men eating sandwiches at a corner table."}, {"image_id": 53990, "caption": "An African American girl eating a slice of pizza."}, {"image_id": 190081, "caption": "A young woman holding a giant tennis racquet "}, {"image_id": 521400, "caption": "A woman with a racket stands at a net."}, {"image_id": 228144, "caption": "A chair sitting in the middle of the room, in a black and white photo."}, {"image_id": 193565, "caption": "There is a man eating a slice of pizza."}, {"image_id": 207151, "caption": "A couple of pieces of pizza with vegetable slices on them."}, {"image_id": 57387, "caption": "A female tennis player waiting for the ball to come down for the serve."}, {"image_id": 577858, "caption": "A boy and a girl making their own pizzas. "}, {"image_id": 409944, "caption": "An advertisement with a male tennis player in it."}, {"image_id": 481635, "caption": "A smiling woman waves at the camera as she sits at a restaurant table in front of a piece of pizza."}, {"image_id": 206027, "caption": "a slice of pizza sitting on top of a table."}, {"image_id": 78915, "caption": "A lady is taking a shot at doing her best Tennis serve. "}, {"image_id": 551215, "caption": "A woman reaching with her tennis racquet on a court."}, {"image_id": 261757, "caption": "A pizza is sitting on a pizza stone fully cooked."}, {"image_id": 538859, "caption": "A cook preparing food in a kitchen at a restaurant."}, {"image_id": 183803, "caption": "A living room with a couch and coffee table."}, {"image_id": 143975, "caption": "A couch and a table in a small room."}, {"image_id": 490923, "caption": "a young girl is using a blue toothbrush"}, {"image_id": 544519, "caption": "An Asian child brushes their teeth with a blue toothbrush."}, {"image_id": 96493, "caption": "a kid is wearing a blanket on a coach"}, {"image_id": 336182, "caption": "A woman in a blue top is sitting on a bed"}, {"image_id": 371250, "caption": "a small couch overed with blankes and pinapple designed pillows\n"}, {"image_id": 391735, "caption": "The man kneeling on the sidewalk is near a yellow structure."}, {"image_id": 8418, "caption": "Toothpaste,toothbrush,mouth rinse,tongue cleaner and other mouth cleaning things are kept."}, {"image_id": 71466, "caption": "A mirror hangs on the wall above a chair."}, {"image_id": 65244, "caption": "a little kid is brushing his teeth and smiling"}, {"image_id": 80172, "caption": "A baby boy brushing his teeth with a green tooth brush."}, {"image_id": 209868, "caption": "The girl is brushing her teeth and toothpaste and it is foaming up."}, {"image_id": 201723, "caption": "A wall that is filled with some cool items."}, {"image_id": 187743, "caption": "A girl in pajamas brushing her teeth with an crayon toothbrush."}, {"image_id": 23899, "caption": "Three men laughing at some pictures from a projector."}, {"image_id": 150675, "caption": "A lamp shines on the nightstand beside the bed."}, {"image_id": 362373, "caption": "A room in a house that has two bookshelves extending from the floor to the ceiling on each side of a doorway."}, {"image_id": 506552, "caption": "Group of folks playing bowling on Wii sports"}, {"image_id": 129576, "caption": "A couch, bicycle and television sitting next to a window in a living room."}, {"image_id": 461898, "caption": "a lady wearing glasses playing a video game"}, {"image_id": 409251, "caption": "Man pressing buttons on the Wii controller for a woman."}, {"image_id": 451468, "caption": "A room with a wooden table, rug, sofa, and book shelf"}, {"image_id": 340175, "caption": " a living room with a big table next to a book shelf "}, {"image_id": 65267, "caption": "A clean, orderly living room with high ceilings and with many windows."}, {"image_id": 146627, "caption": "Two kids playing in a room with a beach ball. "}, {"image_id": 578498, "caption": "A living room area with some couches and a television"}, {"image_id": 203849, "caption": "Large bright living area with cabinets and wooden floors."}, {"image_id": 196311, "caption": "A living room with two couches and a coffee table"}, {"image_id": 395405, "caption": "A living room filled with furniture and a table."}, {"image_id": 436470, "caption": "An indoor living space with furniture and decorations"}, {"image_id": 102446, "caption": "A living room with hard wood floors filled with furniture."}, {"image_id": 132001, "caption": "A white keyboard and mouse provide contrast to black desktop."}, {"image_id": 578500, "caption": "The room has red walls with a blue chair"}, {"image_id": 349737, "caption": "A computer station with monitor, keyboard and personal items."}, {"image_id": 235597, "caption": "People are sitting at desks working on computers."}, {"image_id": 358763, "caption": "a keyboard with five screens and a laptop"}, {"image_id": 366141, "caption": "Cat sitting on recliner back in room facing the television"}, {"image_id": 484982, "caption": "A living room area furnished with a fireplace, chairs, bookshelves, etc. "}, {"image_id": 57597, "caption": "A group of women running after a soccer ball"}, {"image_id": 559842, "caption": "Group of small children running down the field playing soccer."}, {"image_id": 129739, "caption": "The curtains in a room project a blue light."}, {"image_id": 281878, "caption": "Two computers are on the matress of a small bed."}, {"image_id": 503311, "caption": "A man flying a kite while walking on the beach. "}, {"image_id": 245453, "caption": "A person that just let go of a kite."}, {"image_id": 568101, "caption": "A beach a lot of people flying kites in the air."}, {"image_id": 49559, "caption": "the shoreline of a sandy beach with a colorful kite flying above it."}, {"image_id": 381106, "caption": "Two children on a beach flying a yellow kite."}, {"image_id": 132686, "caption": "Variety of different colored kites flying next to each other. "}, {"image_id": 471009, "caption": "People flying a kite on the sand near the ocean "}, {"image_id": 434230, "caption": "A view of a bunch of pottery at a very old store."}, {"image_id": 138477, "caption": "A male flying a wing kite in an open field"}, {"image_id": 12543, "caption": "two kids are flying a kite in a field"}, {"image_id": 39760, "caption": "A man is parasailing in the water on a sunny day. "}, {"image_id": 76292, "caption": "A dark skinned child getting ready to be pushed on a swing."}, {"image_id": 499940, "caption": "Two boys play in an open country field."}, {"image_id": 16356, "caption": "An older kid helping a younger one fly a kite."}, {"image_id": 296098, "caption": "The clock tower rises higher than any building in the vicinity"}, {"image_id": 146738, "caption": "A strange brass statue holding a clock on a bureau"}, {"image_id": 428454, "caption": "A man on a snowboard para sailing in the snow."}, {"image_id": 400538, "caption": "A bunch of teenagers in a classroom with laptops and books."}, {"image_id": 331162, "caption": "some tables laptops chairs a white board and a white screen"}, {"image_id": 502090, "caption": "THERE ARE DIFFERENT KITES FLYING IN THE SKY"}, {"image_id": 137003, "caption": "A small girl is holding a large triangular kite."}, {"image_id": 399462, "caption": "A LITTLE GIRL IS RUNNING WITH HER KITE IN A OPEN FIELD"}, {"image_id": 403065, "caption": "a white truck is driving down the beach"}, {"image_id": 232309, "caption": "a man playing with a kite that looks a bit like a dragon on the beach "}, {"image_id": 199602, "caption": "A woman in white shirt holding a kite on beach."}, {"image_id": 28655, "caption": "The clock is at the center of the old town square was erected by the local bank."}, {"image_id": 387431, "caption": "Sidewalk in city with store fronts and clock."}, {"image_id": 261061, "caption": "A WOMAN IS STANDING LOOKING AT SOMETHING "}, {"image_id": 168330, "caption": "Blurry photograph of a lamppost clock light on a street corner"}, {"image_id": 448269, "caption": "A batter in a baseball game ready to hit the ball."}, {"image_id": 237669, "caption": "A baseball player taking a swing at a ball"}, {"image_id": 426523, "caption": "a couple of kids are swinging bats outside"}, {"image_id": 466211, "caption": "A referee and umpire behind a batter at a baseball game. "}, {"image_id": 383384, "caption": "A baseball player holding a bat next to home plate."}, {"image_id": 191096, "caption": "Two baseball players and an umpire are standing on the field."}, {"image_id": 78707, "caption": "A baseball player taking a swing at a ball"}, {"image_id": 336493, "caption": "A catcher catches a baseball after a young kid swings and misses. "}, {"image_id": 342006, "caption": "Tall building sitting on the rivers edge and a barge,"}, {"image_id": 335833, "caption": "Scaffolding surrounding a clock tower on a pier."}, {"image_id": 48636, "caption": "a baseball player is swinging a bat at a ball"}, {"image_id": 132615, "caption": "A batter hits the ball during a Little League baseball game."}, {"image_id": 430359, "caption": "A man wearing a baseball uniform warms up with a bat on a stadium field."}, {"image_id": 113914, "caption": "a kid poses on a side walk as a baseball player "}, {"image_id": 74369, "caption": "A little boy in a baseball uniform holds the bat ready to swing."}, {"image_id": 418949, "caption": "a batter standing on the side watching a baseball game "}, {"image_id": 569768, "caption": "The man is helping the girl hold the baseball bat. "}, {"image_id": 505099, "caption": "A man is at bat at a baseball game with a crowd watching."}, {"image_id": 384012, "caption": "A baseball player about to receive a pitch in a stadium full of people. "}, {"image_id": 93725, "caption": "A boy swinging a bat at as baseball heading towards him."}, {"image_id": 579056, "caption": "a person breadking a bottle with a baseball bat "}, {"image_id": 217285, "caption": "some ball players are looking home plate and talking"}, {"image_id": 276580, "caption": "A baseball player holding a bat while standing on top of a field"}, {"image_id": 377715, "caption": "A man in a gray baseball uniform holds a bat over his shoulder."}, {"image_id": 351683, "caption": "A baseball player holding a bat on top of a field."}, {"image_id": 5064, "caption": "A batter swinging his bat during a baseball game"}, {"image_id": 46859, "caption": "A baseball game, the batter has just swung on a pitch."}, {"image_id": 24223, "caption": "A person cutting a pizza on a stove."}, {"image_id": 365426, "caption": "a small group of kids standing around a tennis court"}, {"image_id": 564745, "caption": "A young man in an orange shirt is holding a tray of tennis balls. "}, {"image_id": 69392, "caption": "A group of people that are standing on a tennis court."}, {"image_id": 240727, "caption": "Two young children are eating food off of a plate."}, {"image_id": 236412, "caption": "A cheese pizza pie is in the serving dish on the counter."}, {"image_id": 20965, "caption": "A man is trying to catch the Tennis ball. "}, {"image_id": 360926, "caption": "A person about to swing a tennis racket"}, {"image_id": 303298, "caption": "A person holding a tennis racket in the air on a tennis court"}, {"image_id": 158015, "caption": "A man holding a tennis racquet on a tennis court."}, {"image_id": 280607, "caption": "The person is cutting the pizza on the counter."}, {"image_id": 340420, "caption": "Variety of baked pizzas displayed on metal pans on stove."}, {"image_id": 477010, "caption": "A man serving the ball as the audience watches."}, {"image_id": 560323, "caption": "A tennis player reacts as the crowd looks on."}, {"image_id": 308441, "caption": "A woman holding a tennis racquet on top of a tennis court."}, {"image_id": 480726, "caption": "A group of women standing on top of a tennis court."}, {"image_id": 527023, "caption": "Two women stand next to each other on a court."}, {"image_id": 493174, "caption": "Two women on the same side of the tennis court, playing tennis."}, {"image_id": 331692, "caption": "A pizza topped with lots of toppings on a checkered table cloth."}, {"image_id": 284220, "caption": "Young boy on court playing tennis wearing red shirt."}, {"image_id": 272262, "caption": "A person hitting a tennis ball with a tennis racket. "}, {"image_id": 196053, "caption": "A woman hitting a ball with a tennis racket."}, {"image_id": 461063, "caption": "a lady that is on a tennis court with a racket"}, {"image_id": 133698, "caption": "A square shaped pizza half pepperoni and half mushroom."}, {"image_id": 335578, "caption": "A tennis player hits a ball in an indoor area."}, {"image_id": 377385, "caption": "A tennis player is lunging for the ball. "}, {"image_id": 500062, "caption": "A person wearing black shorts is playing indoor tennis "}, {"image_id": 398362, "caption": "A vase hanging in font of a barred window."}, {"image_id": 152751, "caption": "A large desk by a window is neatly arranged."}, {"image_id": 38034, "caption": "An office with a computer, printer, scanner and many other technologies."}, {"image_id": 212704, "caption": "a group of people gathered around one person sitting in front o f a computer monitor"}, {"image_id": 295564, "caption": "A table with many painted glass items on top of it."}, {"image_id": 524456, "caption": "A woman is typing on a laptop on a wooden table."}, {"image_id": 354540, "caption": "an image of a kitchen setting with various cords hanging"}, {"image_id": 41550, "caption": "A view of an empty conference room with laptops."}, {"image_id": 43635, "caption": "A bunch of people sit in an open court yard"}, {"image_id": 153563, "caption": "A group of men sitting by tables working on laptops"}, {"image_id": 335532, "caption": "A young girl biting into a hot dog."}, {"image_id": 365289, "caption": "Little girl holding a stuffed bunny rabbit toy."}, {"image_id": 10766, "caption": "a little asian girl holding a stuffed rabbit close to her face "}, {"image_id": 209604, "caption": "A large amount of toys are stacked on shelves."}, {"image_id": 289610, "caption": "Teddy bears dressed up are on a display shelf."}, {"image_id": 521967, "caption": "A sad teddy bear thats is falling apart and wants to be fixed."}, {"image_id": 27235, "caption": "A teddy bear sits on the bed in a colorful children's room."}, {"image_id": 153343, "caption": "A giant bear and mouse on display at the mall."}, {"image_id": 299716, "caption": "A kitchen with a clock mounted on it's wall."}, {"image_id": 294119, "caption": "An iPhone resting in a bean bag holder."}, {"image_id": 348654, "caption": "The cell phone is in front of a computer monitor."}, {"image_id": 95786, "caption": "Several pieces of pottery in the process of being painted."}, {"image_id": 189845, "caption": "A woman walking down the sidewalk with a cell phone in her hand."}, {"image_id": 534957, "caption": "A hallway with wooden floors and a table in it."}, {"image_id": 101622, "caption": "Man talks on a cell phone while in his cubicle."}, {"image_id": 320039, "caption": "A girl eating a plate of spaghetti with a fork."}, {"image_id": 421010, "caption": "A man standing at a table with two women."}, {"image_id": 376959, "caption": "Little girl sitting at a table in front of a piece of paper."}, {"image_id": 137658, "caption": "a guy with his hand on his pocket with his phone in it"}, {"image_id": 87199, "caption": "A man in costume talking on a cell phone."}, {"image_id": 410337, "caption": "A girl standing with a cell phone in her hands."}, {"image_id": 57545, "caption": "A man in uniform with a cell phone up to his ear."}, {"image_id": 562870, "caption": "Closeup of a white and black cellphone on a wooden table."}, {"image_id": 326541, "caption": "People at a public event using cell phones to take pictures of the event."}, {"image_id": 162952, "caption": "A woman looks at a bottle of wine as a man uses his cell phone."}, {"image_id": 573206, "caption": "A large home made pizza ready to be cooked."}, {"image_id": 213086, "caption": "A man holding an oven door open while he looks in it. "}, {"image_id": 191270, "caption": "A man pointing to a baby's picture on a bulletin board. "}, {"image_id": 169891, "caption": "Older white refrigerator near a red countertop and a bed in the other room."}, {"image_id": 503772, "caption": "a kitchen with a stove and a refrigerator "}, {"image_id": 180490, "caption": "A partial view of a refrigerator with a potted plant on top."}, {"image_id": 385633, "caption": "A refrigerator that has a plant on top of it."}, {"image_id": 310325, "caption": "A refrigerator with an ice machine and two vertical doors stands on a tile floor next to a door."}, {"image_id": 53542, "caption": "People walking across a bridge near a building with a clock on it."}, {"image_id": 231339, "caption": "a girl is looking into an open refrigerator"}, {"image_id": 58915, "caption": "Public Market sign with clock near farmer sign."}, {"image_id": 356302, "caption": "A double door refrigerator in the kitchen near the counter."}, {"image_id": 82327, "caption": "A large clock is on the colored wall of this building."}, {"image_id": 331807, "caption": "A view of a kitchen full of kitchen utensils on a cutting board. "}, {"image_id": 453756, "caption": "A stock photo shows different blue decor on shelves."}, {"image_id": 153607, "caption": "The bowls have water and a single flower in them."}, {"image_id": 477949, "caption": "a vase of colorful flowers sitting on a table"}, {"image_id": 300138, "caption": "a close up of a pitcher and a vase with a flower inside"}, {"image_id": 527025, "caption": "A group of people stand outside a building at a ribbon cutting."}, {"image_id": 576939, "caption": "A pile of various types of scissors on the table. "}, {"image_id": 527248, "caption": "A crowd of people walking in an outdoor fair."}, {"image_id": 508730, "caption": "A couple of little girls sitting next to each other in a bathroom."}, {"image_id": 39743, "caption": "Two toddlers each sitting on their own little potties."}, {"image_id": 353136, "caption": "A woman brushing her cat that is laying on a radiator."}, {"image_id": 83915, "caption": "a big tower that is surrounded by trees"}, {"image_id": 129159, "caption": "The infamous Big Ben clock tower underneath a cloudy sky."}, {"image_id": 529636, "caption": "a large tower that has a big clock at the top"}, {"image_id": 457691, "caption": "A large brick clock tower in the middle of a town. "}, {"image_id": 14941, "caption": "A baby girl sitting in a chair holding a white teddy bear."}, {"image_id": 371999, "caption": "a lit up clock on a tower in front of a night sky"}, {"image_id": 2240, "caption": "Teddy bears and dolls laying down on a bench."}, {"image_id": 3084, "caption": "A large clock at the top of a brick building of which the clock hands indicate twelve thirty."}, {"image_id": 142592, "caption": "Clockpost on the sidewalk in front of a travel agency."}, {"image_id": 577821, "caption": "An old, stained elaborate roman numerical clock on a clear day"}, {"image_id": 28377, "caption": "A city street surrounded by tall colorful buildings."}, {"image_id": 239448, "caption": "a clock with two gunman from the old west"}, {"image_id": 558524, "caption": "An intricately designed vase is shown in a glass case."}, {"image_id": 550426, "caption": "A vase is filled with a bouquet of tulips. "}, {"image_id": 222304, "caption": "A floral arrangement designed in a water can."}] ================================================ FILE: cocoapi/results/instances_val2014_fakebbox100_results.json ================================================ [{"image_id":42,"category_id":18,"bbox":[258.15,41.29,348.26,243.78],"score":0.236},{"image_id":73,"category_id":11,"bbox":[61,22.75,504,609.67],"score":0.318},{"image_id":73,"category_id":4,"bbox":[12.66,3.32,268.6,271.91],"score":0.726},{"image_id":74,"category_id":18,"bbox":[87.87,276.25,296.42,103.18],"score":0.546},{"image_id":74,"category_id":2,"bbox":[0,3.66,142.15,312.4],"score":0.3},{"image_id":74,"category_id":1,"bbox":[296.55,93.96,18.42,58.83],"score":0.407},{"image_id":74,"category_id":1,"bbox":[328.94,97.05,13.55,25.93],"score":0.611},{"image_id":74,"category_id":1,"bbox":[356.62,95.47,15.71,52.08],"score":0.335},{"image_id":74,"category_id":1,"bbox":[464.08,105.09,31.66,41.9],"score":0.805},{"image_id":74,"category_id":1,"bbox":[276.11,103.84,15.33,46.88],"score":0.953},{"image_id":74,"category_id":1,"bbox":[281.65,103.41,11.69,24.25],"score":0.087},{"image_id":133,"category_id":65,"bbox":[0,2.87,601,418.65],"score":0.699},{"image_id":133,"category_id":88,"bbox":[521.34,20.93,47.95,28.72],"score":0.423},{"image_id":136,"category_id":16,"bbox":[8.84,114.71,53.54,257.7],"score":0.473},{"image_id":136,"category_id":1,"bbox":[9,61.35,68.92,312.65],"score":0.796},{"image_id":136,"category_id":38,"bbox":[101,116.38,185.74,252.68],"score":0.127},{"image_id":136,"category_id":25,"bbox":[315.72,131.83,128.04,164.25],"score":0.326},{"image_id":139,"category_id":64,"bbox":[236.98,142.51,24.7,69.5],"score":0.221},{"image_id":139,"category_id":37,"bbox":[20.03,167.76,149.32,94.87],"score":0.849},{"image_id":139,"category_id":72,"bbox":[559.21,209.19,80.79,78.73],"score":0.518},{"image_id":139,"category_id":13,"bbox":[352.98,218.05,56,102.83],"score":0.477},{"image_id":139,"category_id":62,"bbox":[292.69,218,61.83,98.48],"score":0.38},{"image_id":139,"category_id":62,"bbox":[410.2,223.01,30.17,81.36],"score":0.864},{"image_id":139,"category_id":62,"bbox":[317.4,219.24,21.58,11.59],"score":0.401},{"image_id":139,"category_id":1,"bbox":[413.8,157.61,53.05,138.01],"score":0.157},{"image_id":139,"category_id":1,"bbox":[386.43,172.21,15.12,35.74],"score":0.71},{"image_id":139,"category_id":78,"bbox":[513.22,205.75,14.74,15.97],"score":0.075},{"image_id":139,"category_id":82,"bbox":[492.1,174.34,20.29,108.31],"score":0.26},{"image_id":139,"category_id":85,"bbox":[446.77,121.12,13.97,21.88],"score":0.164},{"image_id":139,"category_id":86,"bbox":[539.06,309.43,36.68,89.67],"score":0.806},{"image_id":139,"category_id":86,"bbox":[349.76,208.84,11.37,22.55],"score":0.474},{"image_id":139,"category_id":62,"bbox":[413.25,219.02,9.63,12.52],"score":0.375},{"image_id":139,"category_id":11,"bbox":[337.79,199.5,9.73,16.73],"score":0.532},{"image_id":139,"category_id":61,"bbox":[305.21,231.22,125.56,88.93],"score":0.106},{"image_id":143,"category_id":16,"bbox":[441.88,192.47,131.18,176.35],"score":0.829},{"image_id":143,"category_id":1,"bbox":[124.19,104.46,95.77,167.42],"score":0.523},{"image_id":143,"category_id":16,"bbox":[275.59,126.88,100,162.77],"score":0.755},{"image_id":143,"category_id":35,"bbox":[129.08,319.22,92.28,161.25],"score":0.42},{"image_id":143,"category_id":16,"bbox":[45.96,20.22,95.5,133.71],"score":0.144},{"image_id":143,"category_id":16,"bbox":[123.18,237.43,114.24,134.32],"score":0.878},{"image_id":143,"category_id":16,"bbox":[468.71,320.79,94.24,154.59],"score":0.756},{"image_id":164,"category_id":44,"bbox":[388.84,183.92,8.02,26.87],"score":0.923},{"image_id":164,"category_id":44,"bbox":[374.4,189.64,6.87,20.93],"score":0.46},{"image_id":164,"category_id":44,"bbox":[366.79,184.72,7.05,27.54],"score":0.168},{"image_id":164,"category_id":44,"bbox":[383.16,187.56,7.21,24.24],"score":0.084},{"image_id":164,"category_id":44,"bbox":[428.79,280.36,18.32,31.37],"score":0.145},{"image_id":164,"category_id":82,"bbox":[439.7,171.07,96.72,138.04],"score":0.178},{"image_id":164,"category_id":44,"bbox":[463.1,282.68,9.92,36.55],"score":0.263},{"image_id":164,"category_id":44,"bbox":[401.87,161.68,9.4,17.1],"score":0.917},{"image_id":164,"category_id":44,"bbox":[374.61,135.8,10.49,15.16],"score":0.805},{"image_id":164,"category_id":57,"bbox":[404.56,132.62,9.78,15.75],"score":0.155},{"image_id":164,"category_id":44,"bbox":[413.11,131.22,10.65,16.86],"score":0.863},{"image_id":164,"category_id":62,"bbox":[173.04,409.16,151.36,70.84],"score":0.3},{"image_id":164,"category_id":46,"bbox":[154.96,189.95,12.83,28.26],"score":0.125},{"image_id":164,"category_id":28,"bbox":[140.01,190.76,16.1,36.54],"score":0.134},{"image_id":164,"category_id":46,"bbox":[108.42,196.32,14.31,33.4],"score":0.631},{"image_id":164,"category_id":46,"bbox":[57.59,196.12,19.66,37.63],"score":0.04},{"image_id":164,"category_id":46,"bbox":[81.76,195.46,15.44,39.6],"score":0.048},{"image_id":164,"category_id":46,"bbox":[94.89,196.13,11.83,36.93],"score":0.679},{"image_id":164,"category_id":47,"bbox":[148.61,233.85,26.78,20.8],"score":0.269},{"image_id":164,"category_id":58,"bbox":[113.56,236.81,23.23,19.52],"score":0.062},{"image_id":164,"category_id":47,"bbox":[176.77,232.66,20.14,16.13],"score":0.616},{"image_id":164,"category_id":47,"bbox":[195.65,228.88,19.99,15.51],"score":0.845},{"image_id":164,"category_id":51,"bbox":[513.25,221.5,56.15,10.53],"score":0.347},{"image_id":164,"category_id":78,"bbox":[380.72,227.45,53.28,30.36],"score":0.856},{"image_id":164,"category_id":79,"bbox":[273.61,263.38,46.82,34.22],"score":0.5},{"image_id":164,"category_id":46,"bbox":[77.17,194.99,10.84,39.68],"score":0.883},{"image_id":164,"category_id":46,"bbox":[134.3,192.93,10.75,35.37],"score":0.154},{"image_id":164,"category_id":62,"bbox":[158.47,231.64,21.72,21.24],"score":0.438},{"image_id":164,"category_id":47,"bbox":[512.83,134.18,15.4,21.38],"score":0.231},{"image_id":164,"category_id":47,"bbox":[529.63,139.85,15.19,13.71],"score":0.71},{"image_id":164,"category_id":47,"bbox":[505.11,146.68,6.26,8.2],"score":0.301},{"image_id":164,"category_id":47,"bbox":[172.77,203.22,17.75,18.85],"score":0.302},{"image_id":164,"category_id":47,"bbox":[135.77,233.33,15.32,20.21],"score":0.96},{"image_id":164,"category_id":51,"bbox":[503.95,211.57,29.18,4.68],"score":0.364},{"image_id":164,"category_id":51,"bbox":[505.14,219.24,56.89,4.21],"score":0.089},{"image_id":164,"category_id":22,"bbox":[514.26,215.43,52.03,5.24],"score":0.853},{"image_id":164,"category_id":51,"bbox":[511.83,212.69,55.62,6.07],"score":0.084},{"image_id":164,"category_id":74,"bbox":[362.88,171.41,13.36,9.05],"score":0.704},{"image_id":164,"category_id":67,"bbox":[364.78,459.12,137.14,14.96],"score":0.236},{"image_id":192,"category_id":1,"bbox":[341.48,253.48,131.6,220.05],"score":0.123},{"image_id":192,"category_id":1,"bbox":[448.21,218.33,78.41,248.03],"score":0.864},{"image_id":192,"category_id":1,"bbox":[0.93,274.23,36.53,205.51],"score":0.919},{"image_id":192,"category_id":1,"bbox":[255.11,179.46,111.35,235.68],"score":0.222},{"image_id":192,"category_id":39,"bbox":[9.2,381.39,36,92.98],"score":0.054},{"image_id":196,"category_id":50,"bbox":[285.73,200.54,210.81,48.65],"score":0.574},{"image_id":196,"category_id":57,"bbox":[443.17,363.72,22.98,42.51],"score":0.405},{"image_id":196,"category_id":57,"bbox":[392.24,374.67,24.62,53.82],"score":0.948},{"image_id":196,"category_id":57,"bbox":[411.55,404.5,55.98,30.74],"score":0.876},{"image_id":196,"category_id":50,"bbox":[548.65,250.15,73.72,122.35],"score":0.851},{"image_id":196,"category_id":46,"bbox":[232.52,42.78,71.44,43.44],"score":0.536},{"image_id":196,"category_id":50,"bbox":[470.49,390.81,121.54,88.15],"score":0.138},{"image_id":196,"category_id":51,"bbox":[277.91,58.21,128.58,62.76],"score":0.213},{"image_id":196,"category_id":10,"bbox":[421.99,236.14,144.88,113.72],"score":0.888},{"image_id":196,"category_id":51,"bbox":[219.69,197.88,169.4,86.23],"score":0.227},{"image_id":196,"category_id":51,"bbox":[376.02,337.26,161.24,139.17],"score":0.111},{"image_id":196,"category_id":51,"bbox":[321.22,157.3,132.68,69.04],"score":0.122},{"image_id":196,"category_id":51,"bbox":[349.69,115.74,151.25,64.57],"score":0.47},{"image_id":196,"category_id":51,"bbox":[183.83,72.85,88.39,33.07],"score":0.621},{"image_id":196,"category_id":51,"bbox":[358.33,47.29,92.99,62.87],"score":0.43},{"image_id":196,"category_id":56,"bbox":[200.46,254.35,18.25,31.59],"score":0.958},{"image_id":196,"category_id":56,"bbox":[281.51,393.55,37.68,28.9],"score":0.892},{"image_id":196,"category_id":56,"bbox":[172.36,269.84,21.54,29.09],"score":0.108},{"image_id":196,"category_id":57,"bbox":[459.6,401.48,26.37,31.69],"score":0.361},{"image_id":196,"category_id":57,"bbox":[412.04,417.75,13.64,31.75],"score":0.963},{"image_id":196,"category_id":70,"bbox":[0,41.94,555,438.06],"score":0.539},{"image_id":196,"category_id":6,"bbox":[214.7,407.69,84.78,66.08],"score":0.03},{"image_id":196,"category_id":51,"bbox":[105.26,88.64,96.13,39.34],"score":0.62},{"image_id":196,"category_id":16,"bbox":[25.84,109.71,117.18,60.2],"score":0.896},{"image_id":196,"category_id":51,"bbox":[0,145.79,71.35,73.52],"score":0.587},{"image_id":196,"category_id":56,"bbox":[119.3,340.83,40,25.45],"score":0.593},{"image_id":196,"category_id":57,"bbox":[577.34,377.01,12.18,15.03],"score":0.972},{"image_id":196,"category_id":57,"bbox":[368.9,388.96,31.37,27.25],"score":0.183},{"image_id":196,"category_id":57,"bbox":[165.75,359.55,41.76,41.77],"score":0.036},{"image_id":196,"category_id":57,"bbox":[435.1,446.58,20.64,10.6],"score":0.033},{"image_id":196,"category_id":50,"bbox":[524.71,129.89,19.64,9.29],"score":0.081},{"image_id":196,"category_id":56,"bbox":[250.3,325.7,24.42,20.53],"score":0.479},{"image_id":196,"category_id":56,"bbox":[288.99,290.28,17.52,33.3],"score":0.767},{"image_id":196,"category_id":56,"bbox":[150.98,262.69,16.43,13.92],"score":0.277},{"image_id":196,"category_id":43,"bbox":[6,188.89,172.64,92.01],"score":0.624},{"image_id":208,"category_id":81,"bbox":[52.08,108.94,587.92,366.75],"score":0.476},{"image_id":208,"category_id":49,"bbox":[0,150.36,299.55,109.76],"score":0.287},{"image_id":208,"category_id":90,"bbox":[133.81,170.21,191.76,88.89],"score":0.495},{"image_id":208,"category_id":90,"bbox":[42.35,122.18,158.34,82.29],"score":0.126},{"image_id":241,"category_id":63,"bbox":[333.46,250.92,146.54,296.02],"score":0.674},{"image_id":241,"category_id":63,"bbox":[0,278.19,142.45,260.43],"score":0.434},{"image_id":241,"category_id":1,"bbox":[147.7,6.57,200.43,626.17],"score":0.857},{"image_id":241,"category_id":1,"bbox":[4.44,263.55,205.66,348.05],"score":0.25},{"image_id":241,"category_id":1,"bbox":[307.71,263.06,107.15,257.15],"score":0.622},{"image_id":241,"category_id":47,"bbox":[106.72,595.29,50.72,44.71],"score":0.986},{"image_id":241,"category_id":47,"bbox":[0,596.49,39.42,43.51],"score":0.097},{"image_id":241,"category_id":75,"bbox":[116.1,321.7,44.12,22.16],"score":0.703},{"image_id":241,"category_id":1,"bbox":[407.51,337.98,72.49,230.11],"score":0.319},{"image_id":241,"category_id":64,"bbox":[88.85,71.11,109.84,201.2],"score":0.748},{"image_id":241,"category_id":64,"bbox":[135.45,350.26,49.78,72.27],"score":0.521},{"image_id":257,"category_id":10,"bbox":[50.27,199.13,25.09,23.76],"score":0.923},{"image_id":257,"category_id":27,"bbox":[177.16,362.21,50.4,55.49],"score":0.683},{"image_id":257,"category_id":8,"bbox":[286.17,277.96,204.94,122.97],"score":0.912},{"image_id":257,"category_id":1,"bbox":[144.57,345.58,71.52,134.42],"score":0.7},{"image_id":257,"category_id":65,"bbox":[231.74,326.46,28.38,79.72],"score":0.412},{"image_id":257,"category_id":1,"bbox":[213.62,332.49,22.28,60.49],"score":0.646},{"image_id":257,"category_id":1,"bbox":[265.09,330.65,16.37,72.88],"score":0.23},{"image_id":257,"category_id":14,"bbox":[291.83,337.14,33.15,77],"score":0.427},{"image_id":257,"category_id":1,"bbox":[568.98,327.79,14.75,42.24],"score":0.044},{"image_id":257,"category_id":1,"bbox":[124.19,325.45,10.13,37.03],"score":0.765},{"image_id":257,"category_id":1,"bbox":[314.72,334.13,20.17,74.8],"score":0.055},{"image_id":257,"category_id":1,"bbox":[78.65,326.41,20.3,48.17],"score":0.278},{"image_id":257,"category_id":1,"bbox":[138.11,325.59,15.55,38.45],"score":0.868},{"image_id":257,"category_id":1,"bbox":[226.17,327.33,15.21,69.54],"score":0.648},{"image_id":257,"category_id":10,"bbox":[227.37,296.5,11.3,11.39],"score":0.526},{"image_id":257,"category_id":10,"bbox":[26.58,303.1,5.69,7.11],"score":0.789},{"image_id":257,"category_id":10,"bbox":[27.93,276.6,5.82,11.76],"score":0.96},{"image_id":257,"category_id":27,"bbox":[208.47,340.87,11.3,19.58],"score":0.116},{"image_id":257,"category_id":1,"bbox":[190.83,330.6,20.63,39.77],"score":0.626},{"image_id":257,"category_id":8,"bbox":[513.96,323.81,120.04,156.19],"score":0.881},{"image_id":257,"category_id":8,"bbox":[25.24,301.11,141.23,59.84],"score":0.563},{"image_id":257,"category_id":10,"bbox":[89.93,177.97,15.03,14.65],"score":0.956},{"image_id":257,"category_id":31,"bbox":[94.13,344.24,5.88,12.48],"score":0.514},{"image_id":257,"category_id":10,"bbox":[301.98,260.82,7.09,14.18],"score":0.489},{"image_id":257,"category_id":10,"bbox":[295.6,261.4,6.39,12.2],"score":0.511},{"image_id":257,"category_id":10,"bbox":[55.4,299.17,4.88,4.3],"score":0.605},{"image_id":257,"category_id":31,"bbox":[209.91,341.48,11.21,29.05],"score":0.455},{"image_id":257,"category_id":31,"bbox":[472.6,340.88,6.14,4.6],"score":0.292},{"image_id":283,"category_id":44,"bbox":[49.18,42.58,82.4,311.75],"score":0.676},{"image_id":283,"category_id":62,"bbox":[10.23,142.61,59.56,86.35],"score":0.691},{"image_id":283,"category_id":62,"bbox":[149.65,67.02,278.35,289.03],"score":0.914},{"image_id":283,"category_id":70,"bbox":[144.76,156.24,88.26,214.22],"score":0.418},{"image_id":285,"category_id":23,"bbox":[0,68.81,559,563.94],"score":0.487},{"image_id":294,"category_id":50,"bbox":[414.57,349.85,15.31,23.55],"score":0.071},{"image_id":294,"category_id":78,"bbox":[508.6,312.81,131.4,109.39],"score":0.895},{"image_id":294,"category_id":48,"bbox":[607.51,251.83,7.67,40.75],"score":0.798},{"image_id":294,"category_id":49,"bbox":[447.73,329.05,17.33,34.67],"score":0.346},{"image_id":294,"category_id":49,"bbox":[452.37,320.69,15.89,45.17],"score":0.014},{"image_id":294,"category_id":50,"bbox":[398.49,323.29,23.1,25.32],"score":0.192},{"image_id":294,"category_id":50,"bbox":[387.89,341.86,35.58,40.04],"score":0.055},{"image_id":294,"category_id":50,"bbox":[421.95,114.4,13.43,103.27],"score":0.643},{"image_id":294,"category_id":49,"bbox":[460.6,335.52,16.28,33.28],"score":0.378},{"image_id":294,"category_id":49,"bbox":[465.52,325.24,13.79,32.5],"score":0.153},{"image_id":294,"category_id":49,"bbox":[466.28,335.38,15.32,33.19],"score":0.438},{"image_id":294,"category_id":85,"bbox":[0,0,47.87,53.96],"score":0.746},{"image_id":294,"category_id":50,"bbox":[404.99,367.62,32.19,21.11],"score":0.256},{"image_id":294,"category_id":50,"bbox":[394.56,299.36,16.54,32.35],"score":0.201},{"image_id":294,"category_id":50,"bbox":[400.36,355.24,21.6,25.14],"score":0.937},{"image_id":294,"category_id":50,"bbox":[623.23,50.49,4.79,22.57],"score":0.234},{"image_id":328,"category_id":77,"bbox":[438.75,283.15,35.01,18.64],"score":0.663},{"image_id":328,"category_id":1,"bbox":[240.91,90.52,205.13,389.34],"score":0.19},{"image_id":328,"category_id":1,"bbox":[358.87,58.48,249.91,426.04],"score":0.191},{"image_id":328,"category_id":23,"bbox":[49.6,104.76,587.67,374.74],"score":0.08},{"image_id":328,"category_id":84,"bbox":[232.65,220.95,86.44,37.42],"score":0.749},{"image_id":328,"category_id":3,"bbox":[349.46,77.31,101.02,65.61],"score":0.078},{"image_id":328,"category_id":32,"bbox":[461.06,177.54,18.31,43.81],"score":0.406},{"image_id":328,"category_id":32,"bbox":[317.37,171.71,22.5,57.98],"score":0.448},{"image_id":328,"category_id":28,"bbox":[24.03,171.36,119.45,79.63],"score":0.057},{"image_id":328,"category_id":27,"bbox":[46.45,160.85,85.28,47.84],"score":0.712},{"image_id":338,"category_id":82,"bbox":[216.59,149.74,95.78,177.26],"score":0.919},{"image_id":338,"category_id":85,"bbox":[461.17,88.69,23.24,24.61],"score":0.333},{"image_id":338,"category_id":28,"bbox":[325,142.07,90.46,183.7],"score":0.397},{"image_id":338,"category_id":1,"bbox":[436.35,173.72,56.91,153.28],"score":0.154},{"image_id":338,"category_id":79,"bbox":[28.25,243.96,138.88,78.63],"score":0.502},{"image_id":338,"category_id":31,"bbox":[463.15,231.65,25.66,39.34],"score":0.787},{"image_id":357,"category_id":39,"bbox":[540.09,121.4,4,27.24],"score":0.407},{"image_id":357,"category_id":40,"bbox":[567.96,186.44,8.91,6.69],"score":0.621},{"image_id":357,"category_id":40,"bbox":[77.74,97.16,6.97,9.21],"score":0.52},{"image_id":357,"category_id":40,"bbox":[279.48,25.03,5.46,4.72],"score":0.069},{"image_id":357,"category_id":1,"bbox":[370.19,25.03,17.25,27.63],"score":0.34},{"image_id":357,"category_id":1,"bbox":[275.1,18.4,27.02,37.16],"score":0.437},{"image_id":357,"category_id":1,"bbox":[208.34,22.61,22.2,31.01],"score":0.752},{"image_id":357,"category_id":1,"bbox":[72.62,79.12,18.53,48.08],"score":0.997},{"image_id":357,"category_id":1,"bbox":[527.83,136.21,29.04,54.59],"score":0.888},{"image_id":357,"category_id":1,"bbox":[570.61,160.02,26.76,38.03],"score":0.294},{"image_id":357,"category_id":1,"bbox":[592.37,154.71,27.18,46.6],"score":0.344},{"image_id":357,"category_id":40,"bbox":[557.03,23.96,13.89,9.67],"score":0.406},{"image_id":357,"category_id":1,"bbox":[266.33,6.43,17.69,27.34],"score":0.59},{"image_id":357,"category_id":1,"bbox":[567.15,29.27,11.87,23.74],"score":0.057},{"image_id":357,"category_id":1,"bbox":[580.99,32.19,6.72,23.92],"score":0.804},{"image_id":359,"category_id":36,"bbox":[155.87,100.44,65.37,34.25],"score":0.822},{"image_id":359,"category_id":10,"bbox":[245.76,99.94,51,22.4],"score":0.773},{"image_id":359,"category_id":10,"bbox":[278.48,293.48,4.46,4.11],"score":0.324},{"image_id":359,"category_id":46,"bbox":[2,290.11,123.72,37.58],"score":0.914},{"image_id":360,"category_id":18,"bbox":[258.02,138.76,52.1,36.95],"score":0.054},{"image_id":360,"category_id":36,"bbox":[248.45,155.01,52.19,41.49],"score":0.428},{"image_id":387,"category_id":73,"bbox":[176.38,50.29,463.62,312.38],"score":0.328},{"image_id":387,"category_id":77,"bbox":[355.5,111.88,210,93.75],"score":0.064},{"image_id":395,"category_id":77,"bbox":[293.15,289.29,19.84,22.97],"score":0.037},{"image_id":395,"category_id":1,"bbox":[177.61,138.16,432.72,435.32],"score":0.607},{"image_id":395,"category_id":1,"bbox":[0,207.32,72.81,278.92],"score":0.043},{"image_id":395,"category_id":1,"bbox":[81.02,270.92,82.55,204.66],"score":0.465},{"image_id":395,"category_id":77,"bbox":[618.05,305.74,15.83,11.59],"score":0.297},{"image_id":395,"category_id":1,"bbox":[111.58,232.54,38.86,46.9],"score":0.252},{"image_id":395,"category_id":1,"bbox":[132.76,239.82,82.12,109.48],"score":0.961},{"image_id":395,"category_id":1,"bbox":[413.44,194.77,32.94,105.97],"score":0.58},{"image_id":395,"category_id":1,"bbox":[420.93,206.74,43.9,113.15],"score":0.632},{"image_id":395,"category_id":1,"bbox":[153.8,332.19,60.39,66.97],"score":0.76},{"image_id":395,"category_id":1,"bbox":[58.7,214.92,48.39,126.94],"score":0.803},{"image_id":395,"category_id":1,"bbox":[451.16,253.08,70.79,89.66],"score":0.239},{"image_id":397,"category_id":62,"bbox":[469.94,0,143.48,98.06],"score":0.935},{"image_id":397,"category_id":47,"bbox":[7,294.57,36.75,71.88],"score":0.157},{"image_id":397,"category_id":48,"bbox":[596.24,404.53,43.76,52.1],"score":0.63},{"image_id":397,"category_id":54,"bbox":[85.25,349.09,503.69,130.91],"score":0.657},{"image_id":397,"category_id":1,"bbox":[0,0,205.4,205.33],"score":0.089},{"image_id":400,"category_id":18,"bbox":[430.5,148.97,97.62,78.77],"score":0.534},{"image_id":400,"category_id":9,"bbox":[0,64.72,616,477.48],"score":0.136},{"image_id":415,"category_id":10,"bbox":[62.13,399.09,41.97,44.41],"score":0.045},{"image_id":415,"category_id":1,"bbox":[1,257.44,122.96,301.62],"score":0.373},{"image_id":428,"category_id":32,"bbox":[367.56,200.49,94.65,154.52],"score":0.097},{"image_id":428,"category_id":1,"bbox":[218.94,32.65,355.92,323.27],"score":0.912},{"image_id":428,"category_id":61,"bbox":[399.41,234.73,175.13,121.62],"score":0.374},{"image_id":459,"category_id":32,"bbox":[170.57,278.99,61.63,239.81],"score":0.97},{"image_id":459,"category_id":1,"bbox":[0,84.85,457.88,547.96],"score":0.16},{"image_id":472,"category_id":5,"bbox":[390.86,56.68,87.21,31.46],"score":0.656},{"image_id":474,"category_id":1,"bbox":[23.37,42.7,309.63,429.21],"score":0.163},{"image_id":474,"category_id":40,"bbox":[22.86,234.5,88.41,71.31],"score":0.962},{"image_id":486,"category_id":44,"bbox":[621.9,233.27,16.02,38.17],"score":0.286},{"image_id":486,"category_id":50,"bbox":[223.65,192.28,6.92,51.96],"score":0.24},{"image_id":486,"category_id":44,"bbox":[496.82,278.46,23.05,25.31],"score":0.004},{"image_id":486,"category_id":44,"bbox":[82.06,219.17,5.12,29.08],"score":0.14},{"image_id":486,"category_id":49,"bbox":[234.42,200.87,3.9,16.53],"score":0.182},{"image_id":486,"category_id":51,"bbox":[265.43,299.84,131.39,88.22],"score":0.915},{"image_id":488,"category_id":1,"bbox":[183.76,210.3,104.63,131.03],"score":0.596},{"image_id":488,"category_id":39,"bbox":[211.91,225.8,63.45,45.93],"score":0.379},{"image_id":488,"category_id":40,"bbox":[562.51,253.32,10.5,7.99],"score":0.984},{"image_id":488,"category_id":1,"bbox":[553.32,216.45,44.13,49.26],"score":0.661},{"image_id":488,"category_id":1,"bbox":[37.67,208.02,91.24,152.36],"score":0.566},{"image_id":502,"category_id":23,"bbox":[190.96,88,273.13,257.74],"score":0.205},{"image_id":520,"category_id":16,"bbox":[297.04,140.73,32.01,20.26],"score":0.519},{"image_id":520,"category_id":16,"bbox":[230.03,131.19,34.17,13.96],"score":0.373},{"image_id":520,"category_id":1,"bbox":[244.02,307.84,15.21,34.27],"score":0.371},{"image_id":520,"category_id":48,"bbox":[451.26,217.6,18.56,17.79],"score":0.874},{"image_id":520,"category_id":16,"bbox":[0,187.56,22.33,15.48],"score":0.564},{"image_id":520,"category_id":16,"bbox":[444.38,174.06,21.97,16.09],"score":0.608},{"image_id":520,"category_id":16,"bbox":[92.33,194.51,35.82,22.84],"score":0.937},{"image_id":520,"category_id":44,"bbox":[156.5,184.44,25.5,11.87],"score":0.507},{"image_id":520,"category_id":1,"bbox":[508.05,323.61,8.1,13.7],"score":0.446},{"image_id":536,"category_id":62,"bbox":[285.41,138.98,156.33,195.53],"score":0.82},{"image_id":536,"category_id":1,"bbox":[286.86,133.95,155.14,198.27],"score":0.838},{"image_id":536,"category_id":1,"bbox":[185.41,79.52,108.42,255.62],"score":0.584},{"image_id":536,"category_id":1,"bbox":[89.34,68.58,98.16,263.52],"score":0.769},{"image_id":536,"category_id":31,"bbox":[23.1,258.04,44.05,77.96],"score":0.176},{"image_id":536,"category_id":31,"bbox":[193.07,185.98,69.48,63.22],"score":0.071},{"image_id":536,"category_id":31,"bbox":[350.78,235.32,45.57,12.3],"score":0.619},{"image_id":536,"category_id":77,"bbox":[203.43,106.55,13.68,21.14],"score":0.324},{"image_id":536,"category_id":77,"bbox":[101.62,87.68,28.93,39.35],"score":0.44},{"image_id":536,"category_id":62,"bbox":[3.68,141.91,82.48,194.09],"score":0.481},{"image_id":536,"category_id":57,"bbox":[361.35,224.65,8.04,12.47],"score":0.124},{"image_id":544,"category_id":37,"bbox":[596.57,293.78,13.81,7.44],"score":0.954},{"image_id":544,"category_id":1,"bbox":[273.32,243.73,113.23,161.2],"score":0.921},{"image_id":544,"category_id":1,"bbox":[114.47,301.3,129.54,111.31],"score":0.381},{"image_id":544,"category_id":1,"bbox":[36.53,269.29,101.67,142.79],"score":0.186},{"image_id":544,"category_id":1,"bbox":[75.23,191.66,28.84,44.78],"score":0.785},{"image_id":544,"category_id":1,"bbox":[248.29,185.44,29.17,50.01],"score":0.739},{"image_id":544,"category_id":1,"bbox":[191.14,209.98,30.04,27.53],"score":0.17},{"image_id":544,"category_id":1,"bbox":[144.91,193.7,31.15,41.98],"score":0.76},{"image_id":544,"category_id":1,"bbox":[3.07,221.17,33.48,77.9],"score":0.274},{"image_id":544,"category_id":1,"bbox":[546.81,211.75,21.74,21],"score":0.23},{"image_id":544,"category_id":38,"bbox":[224.14,300.79,52.74,7.6],"score":0.941},{"image_id":544,"category_id":40,"bbox":[217.39,324.92,20.27,30.58],"score":0.466},{"image_id":544,"category_id":1,"bbox":[19.46,237.09,42.72,59.44],"score":0.439},{"image_id":544,"category_id":1,"bbox":[17.77,194.87,25.64,45.63],"score":0.913},{"image_id":544,"category_id":54,"bbox":[514.31,203.13,16.39,29.72],"score":0.066},{"image_id":564,"category_id":1,"bbox":[225.51,335.3,147.48,279.2],"score":0.292},{"image_id":564,"category_id":1,"bbox":[433.78,203.68,86.22,93.9],"score":0.17},{"image_id":564,"category_id":43,"bbox":[282.89,432.81,105.48,40.82],"score":0.658},{"image_id":564,"category_id":62,"bbox":[58.9,234.39,43.46,22.27],"score":0.842},{"image_id":564,"category_id":62,"bbox":[103.71,232,45.58,25.44],"score":0.721},{"image_id":564,"category_id":62,"bbox":[197.82,230.33,47.5,26.02],"score":0.807},{"image_id":564,"category_id":62,"bbox":[254.16,307.81,56.56,28.28],"score":0.666},{"image_id":564,"category_id":62,"bbox":[140.73,258.53,50.13,30.25],"score":0.051},{"image_id":564,"category_id":62,"bbox":[84.79,256.37,50.46,25.81],"score":0.785},{"image_id":564,"category_id":62,"bbox":[47.44,260.53,46.92,23.68],"score":0.136},{"image_id":564,"category_id":62,"bbox":[18.52,235.62,47.74,22.44],"score":0.776},{"image_id":564,"category_id":62,"bbox":[397.26,304.21,61.51,46.54],"score":0.75},{"image_id":564,"category_id":62,"bbox":[331.82,279.27,51.53,21.61],"score":0.44},{"image_id":564,"category_id":62,"bbox":[307.39,307.56,51.38,27.27],"score":0.684},{"image_id":564,"category_id":62,"bbox":[229.06,228.6,66.46,77.41],"score":0.565},{"image_id":564,"category_id":62,"bbox":[149.8,232.51,48.71,41.53],"score":0.493},{"image_id":569,"category_id":1,"bbox":[100.1,269.14,80.18,145.38],"score":0.253},{"image_id":569,"category_id":38,"bbox":[168.12,216.94,16.66,32.58],"score":0.839},{"image_id":569,"category_id":38,"bbox":[142.5,229.28,22.99,23.7],"score":0.761},{"image_id":569,"category_id":38,"bbox":[134.91,239.77,25.66,23.29],"score":0.369},{"image_id":589,"category_id":34,"bbox":[465.86,229.41,18.75,6.3],"score":0.729},{"image_id":589,"category_id":1,"bbox":[359.91,184.57,145.43,184.29],"score":0.882},{"image_id":590,"category_id":81,"bbox":[86.87,295.01,85.2,11.57],"score":0.151},{"image_id":590,"category_id":51,"bbox":[80,292.99,92.87,27.6],"score":0.79},{"image_id":599,"category_id":64,"bbox":[545.37,5.48,94.63,237.26],"score":0.751},{"image_id":599,"category_id":17,"bbox":[18.92,37.13,412.5,365.75],"score":0.952},{"image_id":599,"category_id":63,"bbox":[56,1.83,584,400.9],"score":0.314},{"image_id":599,"category_id":75,"bbox":[481.01,198.19,158.99,87.8],"score":0.438},{"image_id":599,"category_id":75,"bbox":[382.58,167.29,198,60.5],"score":0.492},{"image_id":623,"category_id":15,"bbox":[283.29,72.62,91.71,238.38],"score":0.823},{"image_id":623,"category_id":88,"bbox":[29.12,31.46,345.88,462.92],"score":0.872},{"image_id":623,"category_id":62,"bbox":[277.62,62.92,97.38,239.84],"score":0.872},{"image_id":623,"category_id":1,"bbox":[144.34,1.3,211.69,490.91],"score":0.735},{"image_id":626,"category_id":85,"bbox":[314.52,124.36,41.32,42.47],"score":0.378},{"image_id":626,"category_id":73,"bbox":[398.15,129.71,20.88,46.91],"score":0.701},{"image_id":632,"category_id":65,"bbox":[0,266.85,376.5,208.25],"score":0.144},{"image_id":632,"category_id":64,"bbox":[187.36,136.56,60.78,92.39],"score":0.344},{"image_id":632,"category_id":84,"bbox":[455.98,192.5,8.57,35.59],"score":0.088},{"image_id":632,"category_id":84,"bbox":[453.31,252.97,8.02,33.93],"score":0.589},{"image_id":632,"category_id":84,"bbox":[444.76,297.63,5.32,39.68],"score":0.902},{"image_id":632,"category_id":84,"bbox":[504.95,191.02,12.15,36.78],"score":0.405},{"image_id":632,"category_id":84,"bbox":[487.51,199.33,7.48,28.05],"score":0.032},{"image_id":632,"category_id":62,"bbox":[234.82,230.45,104.72,87.69],"score":0.051},{"image_id":632,"category_id":84,"bbox":[527.02,248.57,24.4,40.43],"score":0.026},{"image_id":632,"category_id":84,"bbox":[524.32,97.38,2.8,37.77],"score":0.084},{"image_id":632,"category_id":84,"bbox":[454.66,245.27,48.55,12.14],"score":0.704},{"image_id":632,"category_id":84,"bbox":[461.77,253.68,8.24,33.31],"score":0.451},{"image_id":636,"category_id":70,"bbox":[122.72,89.37,265.23,536.22],"score":0.283},{"image_id":641,"category_id":2,"bbox":[563.25,265.02,17.49,21.82],"score":0.031},{"image_id":641,"category_id":6,"bbox":[100.35,100.03,417.42,228.9],"score":0.329},{"image_id":641,"category_id":1,"bbox":[580.29,233.52,11.19,13.08],"score":0.993},{"image_id":641,"category_id":1,"bbox":[569.24,240.92,17.46,34.38],"score":0.18},{"image_id":641,"category_id":1,"bbox":[595.87,232.88,9.74,13.22],"score":0.969},{"image_id":641,"category_id":1,"bbox":[556.69,231.63,7.03,22.85],"score":0.25},{"image_id":641,"category_id":1,"bbox":[463.68,225.62,5.04,26.32],"score":0.583},{"image_id":641,"category_id":1,"bbox":[606.61,231.89,7.13,14.45],"score":0.591},{"image_id":641,"category_id":1,"bbox":[25.91,207.55,29.39,23],"score":0.355},{"image_id":641,"category_id":1,"bbox":[3.82,209.9,20.4,22.96],"score":0.751},{"image_id":641,"category_id":1,"bbox":[0,220.97,6.32,18.94],"score":0.862},{"image_id":661,"category_id":77,"bbox":[90.11,4.42,111.24,44.67],"score":0.843},{"image_id":661,"category_id":5,"bbox":[17.15,45.37,337.07,289.04],"score":0.734},{"image_id":675,"category_id":17,"bbox":[325.71,81.3,314.29,391.6],"score":0.248},{"image_id":675,"category_id":77,"bbox":[99.84,232.35,34.79,25.58],"score":0.102},{"image_id":675,"category_id":47,"bbox":[243.34,209.84,69.65,98.5],"score":0.616},{"image_id":675,"category_id":47,"bbox":[138.74,231.28,56.88,73.37],"score":0.789},{"image_id":675,"category_id":60,"bbox":[169.37,179.04,46.55,90.39],"score":0.817},{"image_id":692,"category_id":90,"bbox":[315.39,263.78,37.77,33.79],"score":0.255},{"image_id":692,"category_id":1,"bbox":[288.42,30.26,351.58,428.34],"score":0.608},{"image_id":692,"category_id":1,"bbox":[188.87,129.27,307.8,343.32],"score":0.073},{"image_id":692,"category_id":90,"bbox":[383,338.04,22.31,29.38],"score":0.757},{"image_id":693,"category_id":41,"bbox":[429.64,193.67,125.51,198.6],"score":0.884},{"image_id":693,"category_id":41,"bbox":[0,190.22,212.1,137.01],"score":0.577},{"image_id":693,"category_id":41,"bbox":[14.96,220.25,236.6,190.44],"score":0.815},{"image_id":693,"category_id":41,"bbox":[163.19,19.83,125.4,153.27],"score":0.668},{"image_id":693,"category_id":41,"bbox":[211.24,48.93,91.56,89.91],"score":0.278},{"image_id":693,"category_id":41,"bbox":[236.35,0,88.94,77.36],"score":0.93},{"image_id":693,"category_id":41,"bbox":[71.7,92.27,192.32,124.51],"score":0.532},{"image_id":693,"category_id":80,"bbox":[0,122.61,190.86,142.72],"score":0.404},{"image_id":693,"category_id":41,"bbox":[223.46,36.1,71.24,78.42],"score":0.152},{"image_id":693,"category_id":42,"bbox":[213.87,0,82.98,64.55],"score":0.435},{"image_id":699,"category_id":10,"bbox":[31.32,74.58,66.07,95.58],"score":0.647},{"image_id":699,"category_id":10,"bbox":[23.1,171.18,85.54,70.98],"score":0.32},{"image_id":699,"category_id":10,"bbox":[44.63,0.69,46.46,74.21],"score":0.38},{"image_id":711,"category_id":17,"bbox":[451.41,164.9,45.52,34.77],"score":0.138},{"image_id":711,"category_id":64,"bbox":[349.66,148.34,41.34,20.79],"score":0.708},{"image_id":711,"category_id":75,"bbox":[208.59,342.4,26.64,28.5],"score":0.394},{"image_id":711,"category_id":49,"bbox":[288.32,314.87,53.95,21.46],"score":0.49},{"image_id":711,"category_id":62,"bbox":[554.21,165.91,35.93,105.94],"score":0.162},{"image_id":711,"category_id":64,"bbox":[280.08,175.71,18.23,27.81],"score":0.296},{"image_id":711,"category_id":86,"bbox":[404.93,65.59,8.78,20.64],"score":0.793},{"image_id":711,"category_id":86,"bbox":[330.66,118.24,8.79,25.07],"score":0.847},{"image_id":711,"category_id":64,"bbox":[557.89,126.82,23.63,29.7],"score":0.281},{"image_id":711,"category_id":86,"bbox":[45.69,87.06,26.69,34.26],"score":0.982},{"image_id":711,"category_id":86,"bbox":[418.67,91.88,16.87,21.9],"score":0.035},{"image_id":711,"category_id":84,"bbox":[237.28,352.6,38.7,21.15],"score":0.339},{"image_id":711,"category_id":63,"bbox":[9,164.54,302.22,241.78],"score":0.438},{"image_id":715,"category_id":52,"bbox":[237.81,243.61,62.21,79.23],"score":0.576},{"image_id":715,"category_id":52,"bbox":[461.66,324.67,56.09,81.98],"score":0.555},{"image_id":715,"category_id":52,"bbox":[244.25,244.91,283.06,188.98],"score":0.524},{"image_id":715,"category_id":47,"bbox":[357.38,121.03,40.84,42.26],"score":0.962},{"image_id":715,"category_id":82,"bbox":[473.35,114.89,43.93,43.2],"score":0.812},{"image_id":715,"category_id":47,"bbox":[515.91,110.3,43.77,36.36],"score":0.277},{"image_id":715,"category_id":47,"bbox":[282.12,88.59,27.93,33.33],"score":0.813},{"image_id":715,"category_id":47,"bbox":[440.09,106.55,41.2,33.46],"score":0.34},{"image_id":715,"category_id":47,"bbox":[397.82,109.4,41.38,29.87],"score":0.344},{"image_id":715,"category_id":53,"bbox":[33.65,141.22,16.4,19.03],"score":0.746},{"image_id":715,"category_id":53,"bbox":[49.96,146.83,19,18.43],"score":0.871},{"image_id":715,"category_id":53,"bbox":[6.48,140.32,16.95,14.84],"score":0.522},{"image_id":715,"category_id":54,"bbox":[75,108.53,35.91,18.24],"score":0.322},{"image_id":715,"category_id":54,"bbox":[127.53,60.89,37.18,18.9],"score":0.881},{"image_id":715,"category_id":54,"bbox":[46.93,119.59,77.47,35.69],"score":0.249},{"image_id":715,"category_id":54,"bbox":[64.04,81.55,30.36,18.58],"score":0.161},{"image_id":715,"category_id":55,"bbox":[128.2,270.78,32.69,33.61],"score":0.627},{"image_id":715,"category_id":55,"bbox":[291.13,154.15,37.18,44.92],"score":0.799},{"image_id":715,"category_id":22,"bbox":[211.31,146.7,377.53,135.91],"score":0.356},{"image_id":715,"category_id":55,"bbox":[149.11,142.74,27.79,26.37],"score":0.112},{"image_id":715,"category_id":55,"bbox":[120.2,146.07,42.61,37.28],"score":0.473},{"image_id":715,"category_id":55,"bbox":[87.2,285.29,34.6,31.79],"score":0.959},{"image_id":715,"category_id":55,"bbox":[235.1,337.96,42.86,42.35],"score":0.407},{"image_id":715,"category_id":55,"bbox":[459.66,415.28,47.46,51.78],"score":0.753},{"image_id":715,"category_id":55,"bbox":[480.16,373.21,48.54,44.23],"score":0.833},{"image_id":715,"category_id":47,"bbox":[312.85,78.82,32.21,42.18],"score":0.877},{"image_id":715,"category_id":47,"bbox":[183.7,90.85,31.08,29.98],"score":0.308},{"image_id":715,"category_id":53,"bbox":[86.77,156.3,16.45,15.84],"score":0.871},{"image_id":715,"category_id":55,"bbox":[168.64,317.06,38.04,34.34],"score":0.31},{"image_id":715,"category_id":55,"bbox":[131.22,303.17,36.59,32.39],"score":0.556},{"image_id":715,"category_id":55,"bbox":[480.72,346.82,39.77,35.88],"score":0.433},{"image_id":715,"category_id":47,"bbox":[256.88,98.33,29.03,38.79],"score":0.787},{"image_id":715,"category_id":64,"bbox":[90.72,98.04,32.83,16.77],"score":0.638},{"image_id":715,"category_id":58,"bbox":[54.94,49.87,36.92,19.98],"score":0.313},{"image_id":724,"category_id":13,"bbox":[123.07,71.83,134.49,153.08],"score":0.132},{"image_id":724,"category_id":8,"bbox":[121.39,279.44,21.74,30.17],"score":0.449},{"image_id":724,"category_id":47,"bbox":[127.26,267.21,12.88,8.15],"score":0.141},{"image_id":724,"category_id":13,"bbox":[202.38,259.9,19.01,26.06],"score":0.388},{"image_id":730,"category_id":3,"bbox":[29.45,275.25,88.35,76.3],"score":0.304},{"image_id":730,"category_id":3,"bbox":[430.55,288.02,54.48,57.65],"score":0.611},{"image_id":730,"category_id":36,"bbox":[122.58,109.89,328.93,279.88],"score":0.094},{"image_id":730,"category_id":1,"bbox":[397.56,219.54,18.43,19.16],"score":0.012},{"image_id":730,"category_id":38,"bbox":[351.27,192.82,48.79,47.01],"score":0.315},{"image_id":757,"category_id":22,"bbox":[75.67,18.3,485.53,408.7],"score":0.108},{"image_id":757,"category_id":22,"bbox":[36.89,52.41,410.66,297.17],"score":0.554},{"image_id":757,"category_id":22,"bbox":[463.89,0.96,176.11,419.34],"score":0.486},{"image_id":761,"category_id":35,"bbox":[312.11,340.85,160.58,52.23],"score":0.979},{"image_id":761,"category_id":35,"bbox":[266.08,320.25,122.07,42.73],"score":0.727},{"image_id":761,"category_id":1,"bbox":[577.69,125.12,45.3,118.66],"score":0.474},{"image_id":761,"category_id":1,"bbox":[500.34,177.98,20.49,63.64],"score":0.089},{"image_id":761,"category_id":1,"bbox":[404.18,122.81,84.84,247.31],"score":0.364},{"image_id":761,"category_id":1,"bbox":[309.87,117.57,94.92,230.83],"score":0.485},{"image_id":761,"category_id":1,"bbox":[0,211.7,135.42,267.86],"score":0.292},{"image_id":761,"category_id":1,"bbox":[51.52,138.96,49.66,86.9],"score":0.336},{"image_id":761,"category_id":1,"bbox":[118.03,145.45,23.64,58.38],"score":0.065},{"image_id":761,"category_id":1,"bbox":[203.25,89.98,137.46,378.8],"score":0.587},{"image_id":761,"category_id":1,"bbox":[145.76,125.74,61.68,172.59],"score":0.934},{"image_id":761,"category_id":1,"bbox":[398.23,127.68,20.88,47.35],"score":0.553},{"image_id":761,"category_id":1,"bbox":[355.93,128.35,19.19,23.58],"score":0.625},{"image_id":761,"category_id":36,"bbox":[195.71,402.22,175.54,77.78],"score":0.794},{"image_id":761,"category_id":35,"bbox":[113.44,198.59,42.83,6.59],"score":0.109},{"image_id":761,"category_id":35,"bbox":[126.53,265.77,45.21,9.44],"score":0.3},{"image_id":764,"category_id":34,"bbox":[132.23,135.93,43.53,17.6],"score":0.995},{"image_id":764,"category_id":1,"bbox":[69.14,95.58,78.62,185.76],"score":0.199},{"image_id":764,"category_id":1,"bbox":[254.43,128.1,184.19,202.24],"score":0.664},{"image_id":764,"category_id":1,"bbox":[185.11,113.05,33.84,93.83],"score":0.396},{"image_id":764,"category_id":1,"bbox":[378.03,120.17,12.88,38.21],"score":0.478},{"image_id":764,"category_id":1,"bbox":[435.53,120.39,13.67,37.3],"score":0.02},{"image_id":764,"category_id":1,"bbox":[454.64,106.84,40.09,66.48],"score":0.751},{"image_id":764,"category_id":54,"bbox":[232.19,106.68,30.35,61.34],"score":0.284},{"image_id":764,"category_id":1,"bbox":[409.1,123.7,11.11,34.35],"score":0.433},{"image_id":764,"category_id":1,"bbox":[384.69,112.49,13.78,51.29],"score":0.973},{"image_id":764,"category_id":1,"bbox":[251.52,123.08,9.19,36.33],"score":0.952},{"image_id":772,"category_id":20,"bbox":[0,100.09,294.01,238.38],"score":0.211},{"image_id":772,"category_id":20,"bbox":[315.06,76.07,205.57,235.42],"score":0.839},{"image_id":772,"category_id":20,"bbox":[244.7,105.31,119.44,207.28],"score":0.125},{"image_id":775,"category_id":2,"bbox":[320.77,0.77,208.45,235.07],"score":0.468},{"image_id":775,"category_id":4,"bbox":[0,163.12,549,257.16],"score":0.071},{"image_id":775,"category_id":3,"bbox":[531.56,0.6,89.83,33.59],"score":0.487},{"image_id":776,"category_id":88,"bbox":[0,56.22,308.95,471.35],"score":0.663},{"image_id":776,"category_id":88,"bbox":[0.88,278.2,317.12,354.59],"score":0.56},{"image_id":776,"category_id":88,"bbox":[72.92,5.75,332.23,545.08],"score":0.943},{"image_id":776,"category_id":65,"bbox":[4.43,0.14,423.57,639.86],"score":0.559},{"image_id":785,"category_id":1,"bbox":[252.79,44.73,218.7,346.68],"score":0.156},{"image_id":785,"category_id":35,"bbox":[209.34,362.21,409.72,38.2],"score":0.334},{"image_id":802,"category_id":82,"bbox":[216.05,185.23,165.76,356.03],"score":0.781},{"image_id":802,"category_id":79,"bbox":[47.08,289.08,126.56,231.55],"score":0.598},{"image_id":810,"category_id":62,"bbox":[569.61,3.1,70.39,82.58],"score":0.908},{"image_id":810,"category_id":62,"bbox":[475.34,0.88,50.17,69.19],"score":0.169},{"image_id":810,"category_id":67,"bbox":[33.24,150.33,606.76,329.67],"score":0.669},{"image_id":810,"category_id":1,"bbox":[501.86,3.04,55.59,77.46],"score":0.938},{"image_id":810,"category_id":63,"bbox":[0,0.72,75.91,149.26],"score":0.814},{"image_id":810,"category_id":1,"bbox":[423.64,0,33.33,72.81],"score":0.706},{"image_id":810,"category_id":1,"bbox":[60.88,1.08,43.14,66.88],"score":0.94},{"image_id":810,"category_id":3,"bbox":[344.82,0,50.54,30.96],"score":0.835},{"image_id":810,"category_id":54,"bbox":[347.41,151.15,14.24,8.85],"score":0.646},{"image_id":810,"category_id":62,"bbox":[129.25,11.88,201.25,146.25],"score":0.867},{"image_id":810,"category_id":54,"bbox":[288.46,100.8,71.64,71.3],"score":0.515},{"image_id":827,"category_id":24,"bbox":[164.7,66.73,231.31,353.65],"score":0.317},{"image_id":831,"category_id":1,"bbox":[287.63,259.44,7.54,20.09],"score":0.911},{"image_id":831,"category_id":1,"bbox":[56.77,256.2,8.89,14.24],"score":0.036},{"image_id":831,"category_id":1,"bbox":[256.47,258.01,6.16,6],"score":0.401},{"image_id":836,"category_id":1,"bbox":[200.82,62.96,85.07,121.95],"score":0.122},{"image_id":836,"category_id":36,"bbox":[206.04,47.41,125.19,68.32],"score":0.199},{"image_id":872,"category_id":37,"bbox":[409.03,172.04,19.38,16.53],"score":0.797},{"image_id":872,"category_id":1,"bbox":[125.26,100.67,291.95,457.35],"score":0.534},{"image_id":872,"category_id":1,"bbox":[214.73,126.42,265.69,480.4],"score":0.265},{"image_id":872,"category_id":40,"bbox":[362.64,157.25,57.45,45.78],"score":0.526},{"image_id":873,"category_id":85,"bbox":[147.82,277.68,11.86,16.62],"score":0.978},{"image_id":885,"category_id":1,"bbox":[268.31,189.99,140.09,208.22],"score":0.186},{"image_id":885,"category_id":1,"bbox":[278.02,89.81,111.83,169.55],"score":0.907},{"image_id":885,"category_id":48,"bbox":[591.68,25.78,43.37,227.48],"score":0.144},{"image_id":885,"category_id":1,"bbox":[434.7,0.33,32.79,12.67],"score":0.381},{"image_id":885,"category_id":1,"bbox":[289.39,0.19,44.65,11.46],"score":0.774},{"image_id":885,"category_id":43,"bbox":[371.04,268.61,81.34,40.22],"score":0.606},{"image_id":885,"category_id":1,"bbox":[534.88,1.73,65.84,10.12],"score":0.512},{"image_id":885,"category_id":1,"bbox":[1.11,0.56,58.94,8.89],"score":0.617},{"image_id":885,"category_id":1,"bbox":[488.47,0.76,75.17,13.38],"score":0.202},{"image_id":923,"category_id":7,"bbox":[171.55,131.58,289.26,270.77],"score":0.36},{"image_id":923,"category_id":3,"bbox":[550.4,149.82,57.95,32.49],"score":0.913},{"image_id":923,"category_id":3,"bbox":[603.09,167.69,36.91,30.36],"score":0.673},{"image_id":923,"category_id":37,"bbox":[483.12,143.28,38.19,22.61],"score":0.715},{"image_id":923,"category_id":3,"bbox":[580.67,165.12,54.13,26.05],"score":0.646},{"image_id":923,"category_id":3,"bbox":[570.96,160.14,52.73,25.02],"score":0.057},{"image_id":923,"category_id":3,"bbox":[529.06,150.35,17.85,29.65],"score":0.648},{"image_id":923,"category_id":3,"bbox":[139.11,126.95,29.89,21.51],"score":0.646},{"image_id":923,"category_id":3,"bbox":[523.08,150.85,18.41,22.64],"score":0.502},{"image_id":923,"category_id":52,"bbox":[470.6,140.9,33.14,20.69],"score":0.406},{"image_id":923,"category_id":3,"bbox":[496.21,145.11,35,21.79],"score":0.315},{"image_id":923,"category_id":1,"bbox":[400.06,258.53,19.99,17.6],"score":0.341},{"image_id":923,"category_id":10,"bbox":[44.53,103.32,14.35,14.35],"score":0.241},{"image_id":939,"category_id":70,"bbox":[109.78,261.39,130.55,81.8],"score":0.291},{"image_id":939,"category_id":81,"bbox":[94.16,393.71,235.14,80.9],"score":0.669},{"image_id":939,"category_id":81,"bbox":[356.77,326.69,155.4,66.67],"score":0.916},{"image_id":939,"category_id":13,"bbox":[501.79,284.34,18.51,8.73],"score":0.641},{"image_id":962,"category_id":43,"bbox":[257.46,226.74,169.54,146.46],"score":0.492},{"image_id":962,"category_id":1,"bbox":[0,155.33,337.56,483.23],"score":0.076},{"image_id":962,"category_id":37,"bbox":[347.34,331.25,24.95,23.99],"score":0.201},{"image_id":969,"category_id":37,"bbox":[252.88,271.62,18.43,18.79],"score":0.765},{"image_id":969,"category_id":40,"bbox":[231.46,310.32,29.96,35.06],"score":0.533},{"image_id":969,"category_id":40,"bbox":[83.88,550.66,43.06,67.44],"score":0.37},{"image_id":969,"category_id":1,"bbox":[94.77,357.4,166.23,272.63],"score":0.806},{"image_id":974,"category_id":1,"bbox":[173.91,51.76,98.88,146.07],"score":0.378},{"image_id":974,"category_id":1,"bbox":[142.11,50.09,33.29,89.3],"score":0.388},{"image_id":974,"category_id":1,"bbox":[110.9,46.19,46.79,62.38],"score":0.201},{"image_id":974,"category_id":62,"bbox":[71.91,59.55,93.26,132.58],"score":0.088},{"image_id":974,"category_id":22,"bbox":[77.69,200.07,165.16,276.41],"score":0.664},{"image_id":974,"category_id":15,"bbox":[170.02,105.39,112.83,90.94],"score":0.522},{"image_id":985,"category_id":6,"bbox":[0,131.93,535.81,186.13],"score":0.029},{"image_id":985,"category_id":1,"bbox":[400.37,220.88,35.64,69.86],"score":0.093},{"image_id":985,"category_id":1,"bbox":[390.96,202.97,33.03,31.76],"score":0.91},{"image_id":985,"category_id":1,"bbox":[204.03,163.53,14.28,31.82],"score":0.112},{"image_id":985,"category_id":1,"bbox":[361.1,203.87,23.59,31.27],"score":0.756},{"image_id":985,"category_id":1,"bbox":[376.55,243.22,21.17,49.4],"score":0.613},{"image_id":985,"category_id":28,"bbox":[377.07,157.42,13.78,39.37],"score":0.624},{"image_id":985,"category_id":1,"bbox":[364.95,265.03,22.46,26.74],"score":0.024},{"image_id":985,"category_id":1,"bbox":[407.98,159.82,7.7,15.67],"score":0.501},{"image_id":985,"category_id":1,"bbox":[341.16,223.69,19.91,34.88],"score":0.715},{"image_id":985,"category_id":1,"bbox":[342.24,266.69,21.28,26.72],"score":0.92},{"image_id":985,"category_id":62,"bbox":[123.78,183.06,13.32,15.98],"score":0.343},{"image_id":985,"category_id":1,"bbox":[433.76,159.23,18.7,38.11],"score":0.758},{"image_id":985,"category_id":1,"bbox":[301.63,231.59,35.48,61.38],"score":0.712},{"image_id":985,"category_id":62,"bbox":[85.5,182.59,17.88,17.69],"score":0.65},{"image_id":985,"category_id":1,"bbox":[387.58,226.31,19.61,41.92],"score":0.088},{"image_id":987,"category_id":79,"bbox":[188.71,140.22,421.75,334.39],"score":0.683},{"image_id":987,"category_id":47,"bbox":[597.31,83.9,42.69,51.5],"score":0.564},{"image_id":987,"category_id":47,"bbox":[92.35,76.68,42.11,51.93],"score":0.645},{"image_id":987,"category_id":49,"bbox":[72.92,45.96,18.31,34.61],"score":0.532},{"image_id":987,"category_id":49,"bbox":[45.17,45.34,21.11,34.49],"score":0.204},{"image_id":987,"category_id":49,"bbox":[82.28,47.04,17.38,31.46],"score":0.782},{"image_id":987,"category_id":49,"bbox":[59.96,46.17,20.39,34.31],"score":0.202},{"image_id":987,"category_id":49,"bbox":[75.29,23.01,16.56,27.84],"score":0.883},{"image_id":987,"category_id":49,"bbox":[71.14,1.1,25.82,27.23],"score":0.271},{"image_id":987,"category_id":49,"bbox":[61.34,55.23,15.8,24.34],"score":0.561},{"image_id":987,"category_id":49,"bbox":[41.17,45.78,19.82,32.7],"score":0.204},{"image_id":987,"category_id":51,"bbox":[519.81,91.88,59.17,31.29],"score":0.658},{"image_id":987,"category_id":81,"bbox":[591.68,171.91,48.32,60.36],"score":0.539},{"image_id":987,"category_id":47,"bbox":[38.9,88.52,48.62,61.09],"score":0.708},{"image_id":987,"category_id":79,"bbox":[140.46,81.48,398.15,65.56],"score":0.045},{"image_id":987,"category_id":49,"bbox":[56.18,44.8,8.24,11.45],"score":0.349},{"image_id":999,"category_id":1,"bbox":[0,0,189.73,301.28],"score":0.17},{"image_id":999,"category_id":1,"bbox":[210.78,100.43,363.41,197.72],"score":0.266},{"image_id":999,"category_id":40,"bbox":[0,26.18,30.42,87.53],"score":0.839},{"image_id":999,"category_id":54,"bbox":[0,264.94,156.47,16.31],"score":0.005},{"image_id":1000,"category_id":43,"bbox":[42.07,303.19,47.43,87.32],"score":0.59},{"image_id":1000,"category_id":31,"bbox":[27.54,226.71,53.29,121.53],"score":0.157},{"image_id":1000,"category_id":31,"bbox":[202.91,224.35,70.26,117.55],"score":0.693},{"image_id":1000,"category_id":1,"bbox":[128.16,152.13,83.23,228.41],"score":0.599},{"image_id":1000,"category_id":1,"bbox":[402.93,120.42,37.13,45.52],"score":0.747},{"image_id":1000,"category_id":1,"bbox":[272.33,95.86,88.92,315.88],"score":0.951},{"image_id":1000,"category_id":1,"bbox":[208.23,174.64,99.63,249.08],"score":0.795},{"image_id":1000,"category_id":1,"bbox":[500.67,191.95,135.33,288.05],"score":0.63},{"image_id":1000,"category_id":1,"bbox":[391.85,159.91,88.44,319.25],"score":0.212},{"image_id":1000,"category_id":86,"bbox":[334.07,154.25,83.05,313.88],"score":0.728},{"image_id":1000,"category_id":1,"bbox":[415.75,107.03,88.09,121.16],"score":0.66},{"image_id":1000,"category_id":1,"bbox":[167.4,121.34,95.77,272.75],"score":0.269},{"image_id":1000,"category_id":27,"bbox":[205.49,163.88,62.42,58.04],"score":0.181},{"image_id":1000,"category_id":27,"bbox":[50.72,223.89,55.73,50.98],"score":0.794},{"image_id":1000,"category_id":1,"bbox":[49.14,185.12,59.26,212.53],"score":0.56},{"image_id":1000,"category_id":1,"bbox":[347.49,118.71,52.64,41.13],"score":0.726},{"image_id":1029,"category_id":56,"bbox":[137.51,306.7,194.47,63.85],"score":0.626},{"image_id":1064,"category_id":56,"bbox":[0,77.82,300.48,249.67],"score":0.297},{"image_id":1064,"category_id":56,"bbox":[288.94,72.52,211.06,186.02],"score":0.12},{"image_id":1083,"category_id":21,"bbox":[361.3,172.13,48,46.06],"score":0.737},{"image_id":1083,"category_id":21,"bbox":[376.3,190.3,41.41,46.71],"score":0.571},{"image_id":1083,"category_id":44,"bbox":[178.44,206.97,44.43,47.98],"score":0.787},{"image_id":1089,"category_id":40,"bbox":[272.08,346.22,62.76,225.57],"score":0.882},{"image_id":1089,"category_id":55,"bbox":[106.09,75.97,503.47,497.03],"score":0.107},{"image_id":1089,"category_id":47,"bbox":[269.44,488.74,85.79,84.26],"score":0.564},{"image_id":1103,"category_id":51,"bbox":[179.96,219.72,43.96,25.69],"score":0.633},{"image_id":1103,"category_id":16,"bbox":[110.11,219.52,46.08,25.32],"score":0.254},{"image_id":1103,"category_id":90,"bbox":[266.54,250.17,35.32,17.18],"score":0.264},{"image_id":1103,"category_id":16,"bbox":[310.3,256.05,23.3,11.88],"score":0.968},{"image_id":1103,"category_id":16,"bbox":[351.09,215.91,40,20.51],"score":0.602},{"image_id":1103,"category_id":16,"bbox":[292.65,219.47,37.76,20.01],"score":0.235},{"image_id":1103,"category_id":16,"bbox":[182.22,246.89,26.66,11.82],"score":0.189},{"image_id":1103,"category_id":3,"bbox":[213.64,217.9,28.25,24.93],"score":0.33},{"image_id":1138,"category_id":13,"bbox":[261.07,80.06,104.49,179.49],"score":0.493},{"image_id":1138,"category_id":64,"bbox":[103.75,98.86,34.29,59.84],"score":0.705},{"image_id":1138,"category_id":62,"bbox":[251.55,262.9,242.74,112.1],"score":0.112},{"image_id":1138,"category_id":63,"bbox":[18,217.92,136.8,119.9],"score":0.043},{"image_id":1138,"category_id":63,"bbox":[330.17,200.02,169.83,122.06],"score":0.386},{"image_id":1138,"category_id":64,"bbox":[20.52,63.28,57,49.14],"score":0.462},{"image_id":1138,"category_id":85,"bbox":[164.07,143.33,12.83,9.43],"score":0.284},{"image_id":1138,"category_id":62,"bbox":[0,213.13,126.7,161.87],"score":0.115},{"image_id":1146,"category_id":32,"bbox":[121.44,252.04,74.78,378.25],"score":0.201},{"image_id":1146,"category_id":1,"bbox":[2,0,312.05,640],"score":0.122},{"image_id":1149,"category_id":15,"bbox":[155.07,95.74,24.84,80.13],"score":0.242},{"image_id":1149,"category_id":32,"bbox":[396.31,97.53,24.41,86.24],"score":0.197},{"image_id":1149,"category_id":1,"bbox":[296.87,19.19,108.42,334.88],"score":0.78},{"image_id":1149,"category_id":37,"bbox":[504.69,42.2,66.42,289.78],"score":0.801},{"image_id":1149,"category_id":1,"bbox":[394.42,48.44,96.66,305.73],"score":0.637},{"image_id":1149,"category_id":1,"bbox":[557.58,30.43,82.42,333.62],"score":0.389},{"image_id":1149,"category_id":1,"bbox":[88.42,46.07,113.36,164.87],"score":0.685},{"image_id":1149,"category_id":1,"bbox":[489.95,74.28,39.14,159.26],"score":0.243},{"image_id":1149,"category_id":1,"bbox":[429.02,53.96,60.23,97.78],"score":0.232},{"image_id":1149,"category_id":1,"bbox":[243.75,28.5,87.56,242.7],"score":0.947},{"image_id":1149,"category_id":1,"bbox":[119.65,64.12,26.22,23.89],"score":0.553},{"image_id":1149,"category_id":1,"bbox":[39.54,100.11,22.37,53.5],"score":0.103},{"image_id":1149,"category_id":77,"bbox":[164.35,129.86,11.22,13.83],"score":0.041},{"image_id":1149,"category_id":1,"bbox":[57.05,96.45,23.8,56.81],"score":0.69},{"image_id":1149,"category_id":77,"bbox":[397.35,171.28,11.27,15.26],"score":0.264},{"image_id":1153,"category_id":44,"bbox":[0,0,55.21,160.87],"score":0.269},{"image_id":1153,"category_id":44,"bbox":[164.13,0,43.8,78.98],"score":0.894},{"image_id":1153,"category_id":50,"bbox":[34.45,49.4,93.71,68.77],"score":0.313},{"image_id":1153,"category_id":50,"bbox":[282.9,41.12,23.36,43.86],"score":0.801},{"image_id":1153,"category_id":52,"bbox":[180.65,198.38,319.35,138.53],"score":0.855},{"image_id":1153,"category_id":52,"bbox":[49.65,97.06,373.23,145.59],"score":0.234},{"image_id":1153,"category_id":52,"bbox":[105.59,85.59,322.94,205.59],"score":0.932},{"image_id":1153,"category_id":52,"bbox":[66.41,59.01,397.94,135],"score":0.223},{"image_id":1153,"category_id":44,"bbox":[91.4,0,83.77,110.06],"score":0.464},{"image_id":1153,"category_id":51,"bbox":[182.71,45.81,98.91,77.61],"score":0.653},{"image_id":1164,"category_id":1,"bbox":[236.42,141.79,153.21,151.56],"score":0.779},{"image_id":1164,"category_id":42,"bbox":[340.8,34.44,116.11,176.5],"score":0.331},{"image_id":1164,"category_id":22,"bbox":[10,76.76,403.01,302.26],"score":0.557},{"image_id":1171,"category_id":7,"bbox":[151.67,35.42,419.3,342.71],"score":0.429},{"image_id":1171,"category_id":8,"bbox":[6,303.25,61.78,49.28],"score":0.494},{"image_id":1171,"category_id":3,"bbox":[8,302.11,61.36,48.05],"score":0.368},{"image_id":1176,"category_id":1,"bbox":[185.59,270.19,56.09,109.18],"score":0.933},{"image_id":1176,"category_id":1,"bbox":[68.67,348.39,19.56,48.64],"score":0.513},{"image_id":1176,"category_id":1,"bbox":[58.32,352.65,12.18,28.62],"score":0.269},{"image_id":1176,"category_id":1,"bbox":[172.86,342.56,12.76,29.39],"score":0.056},{"image_id":1176,"category_id":1,"bbox":[159.97,352.63,9.17,17.79],"score":0.719},{"image_id":1176,"category_id":41,"bbox":[195.41,376.29,31.94,11.75],"score":0.468},{"image_id":1176,"category_id":1,"bbox":[30.92,371.33,17.44,25.89],"score":0.416},{"image_id":1176,"category_id":1,"bbox":[39.35,354.18,12.64,27.55],"score":0.35},{"image_id":1176,"category_id":1,"bbox":[86.51,350.87,8.73,25.88],"score":0.021},{"image_id":1176,"category_id":1,"bbox":[114.09,360.09,6.27,13.67],"score":0.767},{"image_id":1176,"category_id":1,"bbox":[125.27,357.01,4.91,13.98],"score":0.312},{"image_id":1176,"category_id":15,"bbox":[136.46,384.1,188.03,39.68],"score":0.212},{"image_id":1176,"category_id":1,"bbox":[25.68,358.47,10.84,14.56],"score":0.653},{"image_id":1180,"category_id":62,"bbox":[315.57,284.03,75.16,111.93],"score":0.015},{"image_id":1180,"category_id":62,"bbox":[300.09,278.64,33.4,52.33],"score":0.665},{"image_id":1180,"category_id":1,"bbox":[151.05,118.2,170.09,302.7],"score":0.846},{"image_id":1180,"category_id":36,"bbox":[4,248.38,50.58,216.39],"score":0.639},{"image_id":1180,"category_id":49,"bbox":[176.14,415.23,11.45,10.1],"score":0.507},{"image_id":1180,"category_id":51,"bbox":[61.24,485.78,112.92,51.43],"score":0.35},{"image_id":1180,"category_id":61,"bbox":[199.09,401.41,226.91,97.83],"score":0.419},{"image_id":1180,"category_id":49,"bbox":[359.43,468.6,66.57,14.83],"score":0.013},{"image_id":1180,"category_id":23,"bbox":[0,395.51,410,237.3],"score":0.957},{"image_id":1180,"category_id":1,"bbox":[39.96,238.66,89.31,200.31],"score":0.581},{"image_id":1180,"category_id":1,"bbox":[378.44,226.55,47.56,162.01],"score":0.069},{"image_id":1180,"category_id":48,"bbox":[78.98,494.96,22.75,14.63],"score":0.8},{"image_id":1180,"category_id":48,"bbox":[148.15,501.22,21.43,5.69],"score":0.12},{"image_id":1180,"category_id":62,"bbox":[117.69,302.1,9.1,42.6],"score":0.702},{"image_id":1180,"category_id":62,"bbox":[402.59,335.8,11.85,52.01],"score":0.816},{"image_id":1180,"category_id":1,"bbox":[3.37,387.79,11.84,10.81],"score":0.489},{"image_id":1180,"category_id":62,"bbox":[105.29,374.51,16.46,56.22],"score":0.617},{"image_id":1205,"category_id":65,"bbox":[89.04,237.47,219.64,127.61],"score":0.334},{"image_id":1228,"category_id":24,"bbox":[31.41,68.65,315.67,411.35],"score":0.306},{"image_id":1228,"category_id":2,"bbox":[565.69,33.44,68.31,198.47],"score":0.175},{"image_id":1228,"category_id":24,"bbox":[0,113.5,195.87,330.47],"score":0.45},{"image_id":1228,"category_id":24,"bbox":[204.52,32.36,367.82,394.79],"score":0.887},{"image_id":1244,"category_id":62,"bbox":[487.12,361.48,34.17,50.87],"score":0.849},{"image_id":1244,"category_id":9,"bbox":[193.56,218.92,83.51,49.38],"score":0.311},{"image_id":1244,"category_id":1,"bbox":[473.96,326.55,49.57,80.24],"score":0.963},{"image_id":1244,"category_id":9,"bbox":[554.4,251.74,47.44,18.79],"score":0.758},{"image_id":1244,"category_id":9,"bbox":[522.24,219.18,46.78,52.23],"score":0.435},{"image_id":1244,"category_id":33,"bbox":[431.51,401.97,37.13,14.26],"score":0.922},{"image_id":1244,"category_id":9,"bbox":[316.77,263.48,10.34,2.63],"score":0.347},{"image_id":1244,"category_id":9,"bbox":[326.51,260.87,6.64,4.6],"score":0.222},{"image_id":1268,"category_id":43,"bbox":[199.81,224.8,74.73,33.43],"score":0.678},{"image_id":1268,"category_id":80,"bbox":[114.77,124.71,139.54,17.07],"score":0.172},{"image_id":1268,"category_id":9,"bbox":[3,129.71,105.44,15.14],"score":0.596},{"image_id":1268,"category_id":1,"bbox":[484.68,77.66,138.32,343.71],"score":0.567},{"image_id":1268,"category_id":1,"bbox":[0,209.18,21.95,80.6],"score":0.381},{"image_id":1268,"category_id":77,"bbox":[524.91,180.52,29.68,18.75],"score":0.502},{"image_id":1268,"category_id":27,"bbox":[25.81,231.3,22.55,51.55],"score":0.768},{"image_id":1268,"category_id":31,"bbox":[484.47,197.95,103.07,227.35],"score":0.65},{"image_id":1268,"category_id":9,"bbox":[279.52,86.03,121.67,57.45],"score":0.212},{"image_id":1270,"category_id":1,"bbox":[389.54,210.99,78.1,191.72],"score":0.982},{"image_id":1270,"category_id":67,"bbox":[464.43,125.41,81.08,149.18],"score":0.862},{"image_id":1270,"category_id":1,"bbox":[333.19,77.07,39.96,148.07],"score":0.713},{"image_id":1270,"category_id":39,"bbox":[395.41,314.59,24.39,46.86],"score":0.689},{"image_id":1270,"category_id":1,"bbox":[130.9,126.19,62.16,99.41],"score":0.131},{"image_id":1270,"category_id":33,"bbox":[208.43,132.14,81.78,92.34],"score":0.005},{"image_id":1270,"category_id":40,"bbox":[177.4,250.21,19.62,30.07],"score":0.899},{"image_id":1270,"category_id":81,"bbox":[451.67,289.08,7.76,22.09],"score":0.863},{"image_id":1270,"category_id":44,"bbox":[443.14,289.91,8.44,22.09],"score":0.431},{"image_id":1270,"category_id":1,"bbox":[47.63,145.97,97.06,248.49],"score":0.724},{"image_id":1270,"category_id":1,"bbox":[225.53,45.87,44.92,111.64],"score":0.802},{"image_id":1270,"category_id":15,"bbox":[0,224.85,63.8,6.34],"score":0.13},{"image_id":1270,"category_id":15,"bbox":[213.95,223.55,176.68,17.2],"score":0.634},{"image_id":1270,"category_id":1,"bbox":[202.02,69.45,32.43,71.45],"score":0.994},{"image_id":1270,"category_id":1,"bbox":[328.91,109.23,13.24,45.39],"score":0.563},{"image_id":1270,"category_id":1,"bbox":[257.01,113.98,31.64,43.01],"score":0.179},{"image_id":1270,"category_id":1,"bbox":[67.77,137.52,39.3,55.17],"score":0.713},{"image_id":1290,"category_id":1,"bbox":[299.46,11.88,193.81,268.18],"score":0.651},{"image_id":1290,"category_id":57,"bbox":[27.56,13.4,310.42,267.99],"score":0.849},{"image_id":1290,"category_id":1,"bbox":[323.77,122.42,299.23,417.58],"score":0.975},{"image_id":1290,"category_id":61,"bbox":[121.14,259.24,344.29,269.11],"score":0.344},{"image_id":1290,"category_id":67,"bbox":[0,439.28,607.81,100.72],"score":0.916},{"image_id":1290,"category_id":62,"bbox":[0,221.23,424.22,196.88],"score":0.823},{"image_id":1290,"category_id":47,"bbox":[134.07,450.6,133.62,88.6],"score":0.249},{"image_id":1292,"category_id":62,"bbox":[160.71,189.99,325.29,231.25],"score":0.779},{"image_id":1292,"category_id":41,"bbox":[45.23,47.68,359.98,379.32],"score":0.626},{"image_id":1292,"category_id":1,"bbox":[0,205.05,28.62,193.83],"score":0.594},{"image_id":1292,"category_id":43,"bbox":[193.26,44.14,222.62,256.2],"score":0.997},{"image_id":1292,"category_id":47,"bbox":[66.74,228.43,32.05,32.89],"score":0.097}] ================================================ FILE: cocoapi/results/instances_val2014_fakesegm100_results.json ================================================ [{"image_id":42,"category_id":18,"segmentation":{"size":[478,640],"counts":"VQi31m>0O2N100O100O2N100O10001N101O1N2O1O2M2O1O1N3N1O1N2O2N1N2O1O1N3N1O1N2O2N1N2O1O2M2O1O1M3M4K4M3M3M4L3M3M3M4L3L4M3M3M4L3M3M3M4L3O1N2N101N1O2O0O2N101N1O2O0O2N101N1O2O0O1O2N101N1O2O0O2N101N1O2O0O2N101N1O2O0O1O2O0O2N101N1O2O0O2N101N101O001O1O001O1N2O001O1O1O001O1O1O001O1O001O1O1N101O1O1O001O1O1O001O1O1O001O1N2O001O1O001O1O1O001O1O1O001O1O1N010000O10000O10000O10000O100O010O100O100O100O10000O100O100O10O0100O100O100O100O1O100O100O1O010O100O1O2O0O2N101N101N1O2O1N1O2O0O2O0O2N2O0O2N101N101N2N101N101N1O2O1N1O2O0O20O2O0O2O001N101N100O2O001N101N101N101O0O101N101N101N101O0O101N101N1010O010O010O00010O0O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2N1O2M2M4L3M4L3M4RNREGP;5UEGo:3XEHk:4ZEHj:2\\EJg:1_EKe:0`ELc:OcEMa:NdEN_:MgE0\\:JjE2Y:JlE2X:HnE4aP3]Nc1WOi000001O0000001O00001O00001O0000001O00001O00001O0O10001O000O2O00001N1000001N10001O0O10001O0O101O00001N1000001N10001O0O101O000O1000000O100000E;G81000O10O100000O01000000O10O1000O100000O10O100000O01000000O10O1000O1^MnCVMRh<;G6CROUDR1f;SOUDS1g;;M3M3M10N106[Oa0G8M3M4M7J7HkRW4"},"score":0.407},{"image_id":74,"category_id":1,"segmentation":{"size":[426,640],"counts":"YoX42V=5K3M3N2HE^C=a<72M3N1O1L4L4Khkk3"},"score":0.611},{"image_id":74,"category_id":1,"segmentation":{"size":[426,640],"counts":"dcd48R=7I4jCDU;`0aDH^;`0L3M4M3LURa4"},"score":0.953},{"image_id":74,"category_id":1,"segmentation":{"size":[426,640],"counts":"c]e32X=1N3N2I7M3N2N2MFbCJ`<1eCN\\4M2O0O2O0000010O0KHcA8Y>NeA1[>0fANZ><0O10000O10O101N10000000000N2N2O1001O011N3M4L3N1N1O01O000010O001O2N2OdWQ1"},"score":0.423},{"image_id":136,"category_id":16,"segmentation":{"size":[374,500],"counts":"_c3[1_8l1SNm1SMmJZMP7f2P11O001O001O00001O001O001O00001mK\\L2d3]OoLa0R3WOXMf0h2WO]Mg0d2VO`Mh0`2VOdMh0\\2UOiMi0X2TOlMj0T2SOQNk0P2ROTNl0l1SOWNk0j1ROZNl0g1RO\\Nl0d1RO`Nl0a1ROcNk0^1SOeNk0\\1ROgNm0Z1QOiNm0X1POkNo0U1POmNo0T1oNoNo0T1lNoNS1T1SNQL@o2\\2T1lMSLDl2^2V1fMFW2n4jNjFIX93Y1L3N2N2M6K6J6JZeo4"},"score":0.473},{"image_id":136,"category_id":1,"segmentation":{"size":[374,500],"counts":"[[3^1W:2O0O100O101O0O100O2O0O100O2iIYN]2g1`McNY2]1dMlNV2T1gMVOR2j0kM[OS2f0iM^OV2b0gMBX2>eMGY2:cMJ\\26aMO]22_M2`2N_M4`2M]M7a2J]M8b2H\\M;c2F[MOP1eNdN\\186S1ZNgNb1OcG\\Oa8a0cGZOa8d0cGWO`8f0dGUO`8h0dGSOd8g0\\1H7J7Hbd]2"},"score":0.127},{"image_id":136,"category_id":25,"segmentation":{"size":[374,500],"counts":"Xbc31e;1O1O1O2N1N2O1N2O2M4M1N3K4K5L4N2N2N2O1N2N2NUOlE7S:HoE6Q:JRF3n9NSFOn91UFJn95TFGn99UFAn9?d0100O1O1000000000001O001O1O1O1O001Oe0[O;F2hHVN^4m1[KXNd4k1VKXNj4j1QKZNn4o1eJUN[5S401OO1J6K5K5gNY1JQI[MY5^2mJcMS5V2RKlMn4R2SKoMm4T2nJoMQ5T2jJnMV5l2oIUMQ6Y3_IiLb6d3oH]LQ7S41F;F:E;EG02D\\D^O`;2UENS<1O3N1N2NB`C5^A:G4L4L4LPNoEk0m9gNSGj0o:H8Glio2"},"score":0.477},{"image_id":139,"category_id":62,"segmentation":{"size":[426,640],"counts":"nUj3:j<3MO2O00[N7\\EECJ88n:Q1iDiN35Y;S1cDQOa;X15K400001O00000001O00000001O00000001O5K5K5K8I4K5K1O_DFR:;fEL[:4]E3c:NkDc0U;b07F:ROn0000000O10001O0O10000O100000XDLZ:4_E2b:NWE9i:GoD;W;EbD;e;ETD;T<5;F;BSZf3"},"score":0.38},{"image_id":139,"category_id":62,"segmentation":{"size":[426,640],"counts":"giZ54n<`0@>YDSOa:W1mDSOU;_12N2N2K5K5K5M31O0001O01O0000001O006Jf0ZO:FcN[E5m:]O`E;k:UOaEe0h;I7J6IZmb2"},"score":0.864},{"image_id":139,"category_id":62,"segmentation":{"size":[426,640],"counts":"mRT41Y=4L5L1N000000000000O100000000000000000001OUPm3"},"score":0.401},{"image_id":139,"category_id":1,"segmentation":{"size":[426,640],"counts":"S^\\52W=100O10000O010O10O01N100fNL^E6a:N[E2e:1WE0XOIX;;XE1]OGZ;?eD7N^O\\;e1O00000O10001O:F0001N2O1O1OmE_N^8_1oFXOP9b2O2O06H2N2N2N2N2N3PNTF000000O2O00001O]OkC1VB;E3M3M2N3M2N3M2N3M3M2N2N2N2N2N2N2N2N2N2N2N21O1O001iMgE[1Y:`NQF[1P:cNVFX1k9eN[FU1g9jN_Fn0e9PO`Fj0b9UOdFd0mPk0"},"score":0.806},{"image_id":139,"category_id":86,"segmentation":{"size":[426,640],"counts":"]ja45Q=5C<00000000006J5K5HmBNYXd3"},"score":0.474},{"image_id":139,"category_id":62,"segmentation":{"size":[426,640],"counts":"WQ\\52Q=7N200000000O2OL4IVRj2"},"score":0.375},{"image_id":139,"category_id":11,"segmentation":{"size":[426,640],"counts":"Yj\\43Q=6K5O10O1000O1000HXYi3"},"score":0.532},{"image_id":139,"category_id":61,"segmentation":{"size":[426,640],"counts":"aSo32X=8H4L00000000001O00000000000000000000000000000001O000001O0hD6P9R201O0000000000000000YNgE=Y:TOV2L4000000O1000000000000000000000000000000000000Kfb9NV]F;000000000L3K6JgR74UmH7O00_1aN6J4L1O0000L4`Nbhf2"},"score":0.106},{"image_id":143,"category_id":16,"segmentation":{"size":[500,600],"counts":"^Qh6k0d>8VOi0L4L4L5L3N2N2N3M2N2N2N2N2N3M2N2N2N2N2N2N1O2N1O1O2N1O1O1O1O1O000O2O00001O001O00001O0O2O001O001O001O001O0O2O1O100O001O1O1O1O1O001O1O1O1O001O1O1O1O10O01000000001N100000000O2O00001O0O2O001O001N101O001N101O1O3M3L4M3M3M0M4M2N3M3M2N3M2N3fN\\C_Og<>ZCAh<=ZC@j<@oA=e>N3L3N3L4Mek<"},"score":0.829},{"image_id":143,"category_id":1,"segmentation":{"size":[500,600],"counts":"lil11b?1N3M2PNJaD7`;1UD2j;o0SCSOnTNd:AkD_2a0nMd:CkDa2a0jMd:FkDa2a0gMd:IjDa2c0cMe:LgDc2c0`Mg:LgDe2b0]Mh:NeDg2c0YMi:0cDh2e0VMi:2bDi2e0SMi:4bDk2e0nLk:[3g01O1O1N10100O1O001O1O001O1O10O01O1O1O001ON2O1O2M2O2M3N2N2M3N2M3N2N2M3N2M3N2N1N2fMQDn0P7L4K5K6J5L4K5K5K6K4N2N2N3L3N2N2N2N3M2N2N2M4M2N1O1O2N101O001O00001O001O00001O010O00001O001O00001O0VDYLh;g3WD[Lg;e3YD\\Lg;i3O2O0O2O001N100O2O0O2O0O101N101N100O2O001N101N100001M3N1O2N2N2N2N2N2N1O2N2N2N2N2N2N1H9WOi0WOi0YOg0@`0_OfV]3"},"score":0.755},{"image_id":143,"category_id":35,"segmentation":{"size":[500,600],"counts":"kZo18Z?a0_O4L5K4L5K4L5L3M4L3L3N3M2M4M2N3M2N3M2N3N1N3M:G`0_Og0ZO1N2N2N2N2M3N2N110O1O0010O00010O0L4I7H9I6K6I6JYDcLd;V3ZDTMe;^3O2OO1L3M8I6I8I6J7I6J5K2N2M2O2N2N1O2N2O0O2O00]O]NnBk1S=:1O1O1N2O3M3L5L4K5L4L4K5L4K7J5J6K8HRfh5"},"score":0.42},{"image_id":143,"category_id":16,"segmentation":{"size":[500,600],"counts":"Qaf0b0o>f0[O4K4M4K5L4L3L5L4K5M3L3N1O1O100O1O1O001O1mCVM\\;j2cDWM\\;j2bDXM];i2aDYM^;h2`DZM_;h2^DZMa;g2]D[Mc;e2\\D\\Mc;f2ZD\\Me;e2YD]Mf;d2XD^Mh;X3N10000O10000O10000O101O0O10000O10000O10000O2O000O100001O0O100O101N100B>N2N2N3M2N2N2N2O2N2N3M2N3M2N3M2N3M3M2N3M2QOaBFc=7^BGf=6[BHj=4XBIl=4UBHn>K6IXQP7"},"score":0.144},{"image_id":143,"category_id":16,"segmentation":{"size":[500,600],"counts":"S[l12Z?9H8N1O2O1N2O0O2O1N2O0O2O1N2O0O2N2O1N101O1O1N101O0O2O00001N101O001N2N1O2N2M2O2N2N1O2N2N2N1O2N2N1O3M7I6I7J7I5K001O1O1O1O10000001O0YORDhMo;W2\\D]Me;c2g0O00001O010O01O0100O10000O2O0O10000001O00001O01O01O00010O01O010O4L4M3L4L4M3nNdBC`=:kBZOY=b0RCTOQ=i0R1K5L4K5L4Lol`5"},"score":0.878},{"image_id":143,"category_id":16,"segmentation":{"size":[500,600],"counts":"c[U7h0g>7N2M2O2YOVO`Bk0]=XObBj0Z=YOeBi0W=XOiBj0S=YOmBi0o6C90KmA]OS>b0nA^O[>9eAG\\>7fAH^>4Qga3"},"score":0.923},{"image_id":164,"category_id":44,"segmentation":{"size":[480,640],"counts":"a`_52_>?N2N2000000RWi3"},"score":0.46},{"image_id":164,"category_id":44,"segmentation":{"size":[480,640],"counts":"iV\\54>5g=0nA6R><001O009Fn_l3"},"score":0.168},{"image_id":164,"category_id":44,"segmentation":{"size":[480,640],"counts":"Xgc59d>5E:O0007I3Mjod3"},"score":0.084},{"image_id":164,"category_id":44,"segmentation":{"size":[480,640],"counts":"Y\\Y6>`>2N2N2N2K6O0M3O11O1O2N1O004L3M1O1OjUj2"},"score":0.145},{"image_id":164,"category_id":82,"segmentation":{"size":[480,640],"counts":"`]^6T1i=d0@a0^Oa0@`0@5J0000000OO2N2N20000001O2N4L2N1O1O1O1jDcLf:l30000000001O0000000000I7DV:BjE>V:BjE>V:BjE>W:AiE?W:BhE>X:BhE>X:BhE>X:BhE>X:BhE>X:oN[FQ1Wc0_O5I4O1O0000O4M1OjU[3"},"score":0.917},{"image_id":164,"category_id":44,"segmentation":{"size":[480,640],"counts":"Ym_5>a>1000000000000001Nh\\g3"},"score":0.805},{"image_id":164,"category_id":57,"segmentation":{"size":[480,640],"counts":"Uom5?a>000000000000000kiY3"},"score":0.155},{"image_id":164,"category_id":44,"segmentation":{"size":[480,640],"counts":"WgQ69e>6K100O1000000001O8HdSU3"},"score":0.863},{"image_id":164,"category_id":62,"segmentation":{"size":[480,640],"counts":"naa22k>3M3M3M3M3L4N2O1N2N2N2N2O1N2N2N2O1N2N2N2O100O1O1O1O1O100O1O1O1O100O1O1O100O100O100O100O10000O100O100O100O100O100O1000000O10000000000000000000000000000O1000000001O0000001O00001O0000001O00001O0000001O00001O00001O001O001O1O001O001O001O1O001O001O001O1O001O001O001O1O1O2N2N3M2N3M2N2N3M2N3M2N3M2N3M3M2N3M2NSec4"},"score":0.3},{"image_id":164,"category_id":46,"segmentation":{"size":[480,640],"counts":"ojX24k>3]ALV>`0O1O2N5K1OG9O1O2M3N3LPRm6"},"score":0.125},{"image_id":164,"category_id":28,"segmentation":{"size":[480,640],"counts":"QjQ23l>3N2N6kACZ=b0bB_O]=g0\\BZOd=Q100000@aB_O_=`0bB@^=?cBA_=OndR7"},"score":0.134},{"image_id":164,"category_id":46,"segmentation":{"size":[480,640],"counts":"Tjb12M2N3M2mA\\Of=f0XB[Og=h0SB[Om=l00]O`BF`=9aBG`=7`BJa=3aBLa=2`BNY>02NmSb7"},"score":0.631},{"image_id":164,"category_id":46,"segmentation":{"size":[480,640],"counts":"T\\k02n>1O2N8H1O1O1O1TB@V=b0gB_OY=i0^BXOb=S10\\O[BMe=2cBG]=8gBEY=:iBEW=:kBDV=6QCIo<2R1NnfW8"},"score":0.04},{"image_id":164,"category_id":46,"segmentation":{"size":[480,640],"counts":"TdV18h>5K1O2SBAU=`0hBCW=b0dB^O\\=j0ZBXOf=Q10\\OXB0h=NdBH\\=7iBEW=:kBEU=9nBFR=9j0KS[n7"},"score":0.048},{"image_id":164,"category_id":46,"segmentation":{"size":[480,640],"counts":"Zg\\17e0JZ=?aBA^=d0]B^Ob=f0YB[Og=P1OO1^O^BFb=9aBE^=:e0N3L6Ildi7"},"score":0.679},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"ZRV2`0`>2N2N0000000000001O000000000000M3N4M1O10O01O2N1O2Megi6"},"score":0.269},{"image_id":164,"category_id":58,"segmentation":{"size":[480,640],"counts":"^ee1?a>0000O100000000000O1000001O1O1O11G511O2N1O3Kca[7"},"score":0.062},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"YVc24l>2N1O4YAH^>=000000000000000O100O1O2O1O1N3Mc]_6"},"score":0.616},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"USl2432`>9N00000000000000000003K12O000001N3M4Jf`V6"},"score":0.845},{"image_id":164,"category_id":51,"segmentation":{"size":[480,640],"counts":"oca72n>001O1O001O1O1O1O1O0000000000000000000000000O1000000000000000000000000000O10000000000O1O1O1O1O1O1000000O10RRQ1"},"score":0.347},{"image_id":164,"category_id":78,"segmentation":{"size":[480,640],"counts":"Tjb5h0X>4L000000000000000000000000001O000000000000000000000000000000000000000000000000000000001N1000000005K:F;ESZP3"},"score":0.856},{"image_id":164,"category_id":79,"segmentation":{"size":[480,640],"counts":"YfP48f>7K6J4M3L4L1O0000O10000O100O10000O10000N2L4N2N2O1N2O1O1O1O1O100O10000O2O0O100O10000O100O10gge4"},"score":0.5},{"image_id":164,"category_id":46,"segmentation":{"size":[480,640],"counts":"SYT11o>3[AM<1S=7ZBKb0NT=?kBBT=?jBBV=1YB?8Ah=j03XOPB:S>BUB7_>K0Ln`R8"},"score":0.883},{"image_id":164,"category_id":46,"segmentation":{"size":[480,640],"counts":"Q_o13:NX>5_A4?G^=d0]B^Oc=e0VB^Oj=l00BZBBf==\\BBd=>]B@h=00001bAOk=1TB0l=1RB0n=0QB1o=OQB1o=OPB2Q>MnA3S>NkA3W>LfA5[>72O010O0O2O2M4K_\\g6"},"score":0.438},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"Xc`7a0^>3M10000001O0O100000000O10;E^[d1"},"score":0.231},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"\\bh7=c>00000000000000000000001O00Lh\\\\1"},"score":0.71},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"dk\\76i>101O00000]Zl1"},"score":0.301},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"[Ya29g>3M3M1O2O0O0000000000O10001O000000cXb6"},"score":0.302},{"image_id":164,"category_id":47,"segmentation":{"size":[480,640],"counts":"hoo12m>1DOgA4V>OgA3Z>;N000000001O01O7I8H2MUoT7"},"score":0.96},{"image_id":164,"category_id":51,"segmentation":{"size":[480,640],"counts":"e^\\72n>00001O0000000000000O010000000000000000000000O1000000O10\\na1"},"score":0.364},{"image_id":164,"category_id":51,"segmentation":{"size":[480,640],"counts":"m\\]71o>1O0000000000000000000000000000000000000000000000000000000000O1000O10000000000000000000000000000000000O10O1000U[T1"},"score":0.089},{"image_id":164,"category_id":22,"segmentation":{"size":[480,640],"counts":"kca71o>00001O000000O100000000000O1000000000000000000000000O100000000000000000000O1000000000000000O1O1O0010Y_R1"},"score":0.853},{"image_id":164,"category_id":51,"segmentation":{"size":[480,640],"counts":"iV`71o>0O2O000000O01000000000000000000000000000000O1000O10000000000000000000000000O100000O100000000000000000000O10[PR1"},"score":0.084},{"image_id":164,"category_id":74,"segmentation":{"size":[480,640],"counts":"]ZZ52n>3L3N000000000000000ON4Mfbk3"},"score":0.704},{"image_id":164,"category_id":67,"segmentation":{"size":[480,640],"counts":"ga[51o>000000000O10000000000O100000000O10000000000O10000000000O10000000000O100000000O10000000000O10000000001N10000000000O100000000O10000000000O100001O000000001O0000001O0000001O0000001O000000001O0000001O0000001O000000001O0001O01O0000001O000000001O0000001O000000001O00000000WdQ2"},"score":0.236},{"image_id":192,"category_id":1,"segmentation":{"size":[480,640],"counts":"WdP52l>3N2N2N2N2M3N2N2N2N2N2M2O2N2N2PFROk5P1PJTOn5o0nISOR6o0iIUOV6m0eIWOZ6k0bIXO]6j0^IZOa6h0cGaN>k0m7g0bGcN:j0S8e0_GfN9h0W8d0\\GjN6f0]8b0YGnN3d0c8`0VGQO1c0g8?UGSONa0m8=QGXOK?T9:mF\\OI>Z97iF[1W9fNeF]1[9T200O1000000000000O10000000O10O100000000VO[JYHe5g7_JUHa5j7eJPH\\5P8hJlGX5S8nJhGR5X8SKcGm4\\8l000O10000O100O100O100O100O10000O010000O2J5L5J5L5J5K6K4K6K4dK\\FW3j9cL\\FY3g9aL`F]3b9[LfFc3\\:O2N2M3N1O2N2N2N1TObDUN`;i1fDPN];o1hDkMZ;S2lDgMU;X2k0N2N1O2N2O1N1O2N2N2N1O3M4M3L4L4L4L4L4L4M3L4L4L4L3M4Lom]2"},"score":0.123},{"image_id":192,"category_id":1,"segmentation":{"size":[480,640],"counts":"PYb61l>:E4M4YF^Om4c0dH]O54S7`0gH_O34R7`0iH]O54P7`0kH\\O45o6a0lH[O55m6b0lHYO77k6a0lHYO:7b6h0RIQO=8_6i0QIPOaNK:4:9h7i0aHhNmNa06c0`0[Ok7k0`H^OVOa0:VOP8k0`H^OUOf06SOT8j0`H\\OVOm01mNX8k0aHZOVOT1KhNe7BhHY1a0XOXOY1DfNj7EeHU1e0UOXOR2^7eMdHT1g0SOWOU2]7gMcHR1h0QOYOV2[7iMcHQ1j0mNXOZ2W7mMeHm0g1X1b5nMdHl0h1W1c5PNbHj0k1W1b5RN`Hh0l1X1c5IZJ9e5IYJ7f5LWJ6g58kIIT69jIHU6;iIEW6cIC]6`0_I@b6b0[I_Oe6b0YI_Og6c0VI]NCeNV7P3UIUNOhNl6T3SIhMb0\\N\\O6P7g3oHkMc8V2WGQNh8V4M2O1N2O2jGbId7b6oGlIn7i6J3M10N1_I[He5e7ZJ\\Hf5e7jIZH42R6d7hImHW6T7fInH^1[OROOo00P1c8mNbGROMm01S1`8nNdGoNNl01V1^8mNfGnN0G24D8:P2[8mNlHfNeN98Q2X8POUIkNgNS2U8nNTJm0n5POZJi0g5WO\\Jf0d5ZO^Jc0d5\\O^J\\OTM7_8<^KAc4>iKVOY4h0jKTOY4j0hKTO\\4i0P5M3M3K7J8HYfd1"},"score":0.864},{"image_id":192,"category_id":1,"segmentation":{"size":[480,640],"counts":"bg0Q4o:]2cM00M3M3M3M3N3M2N3WKkFb3X9]LkF[3\\9cLfFU3a9jLaFm2h9QMZFf2n9YMUF^2R:`MQFX2W:eMlEY2U:eMoEY2R:bMSF_2n9ZMWFg2i9SM\\Fl2n:N1O1O2N1O1N2O3I9C>F9G:F9B;EkYj8"},"score":0.919},{"image_id":192,"category_id":1,"segmentation":{"size":[480,640],"counts":"ihg33e>9I7N3M2M3N2N2N3L3N2N2N3L3N2N2N2M4M2N2N2M3N5K5K5K5L4K5L4K5K3N2M3M2O2M3M3M2N3M3M3M2N4L5J5K6I7J6K5L4K4M4K5L4K5L3Lc0_O1N2N3M2N2N2O0O000000000010O001O1O1O1O1O3K6J5J3L5H7J7O01OnNWGmKj8m3]GQLc8j3cGUL^8f3gGYLY8T3[HkLf7n1aIQN_6i1gIWNY6f1kIYNV6f1jIZNW6e1iI[NW6e1jIZNW6e1iI[NX6d1hI\\NX6d1iIYNZ6g1eIXN]6g1dIVN^6j1bITNb6j1_ISNd6l1]IRNf6k1[ISNh6l1YIQNk6l1V3N3L4[Oh0ETWP4"},"score":0.222},{"image_id":192,"category_id":39,"segmentation":{"size":[480,640],"counts":"Uc41k>6K6O0001M_AH\\>5fANX>0hA3X>JhA:]>3N2M3O1N1011N2O1O1N10000O2O0O1N20000004KN3M2N2N2N1O1NZ^f8"},"score":0.054},{"image_id":196,"category_id":50,"segmentation":{"size":[480,640],"counts":"kXV4a0X>7O2N1O2N101N1O2N1O2N1O2O0O2O001O001O001O001O001O001O0000O1000000O2O001O0O2O001N101O0O2N1O2N2N1O2N1O2N1O2N1O2N1O1N2O1O2N1O1O1O2O000000001OO100000O1000000000O10000000000000O10O10000000000000000O1000O100000000000O10000000000000O10O10000000000000000O1000O100000000000O100000000000O1000O10000000000000000O1000O100000000000O100000000000O1000O10000000000000000O10O10000000000000O100000000000O1000O100000000000000001O2M2O1N3MaYS2"},"score":0.574},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"`P`62l>5K6L5K5K3M2N1O2N21O2M3N3L1O1O1N2N2N2N2O1N2NbUa2"},"score":0.405},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"jSh54k>3M4M2N1N3N1O102N3N1O1N3N2N101O1NO3L3N2M3M4K4K9IkSX3"},"score":0.948},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"e`Q64l>1O001O1O001O1O0000010O00001O000010O0000010O0001O010O1O10O0100O100O100O010O10O01000O10O10O100O1O001O1O1O1O0M4KiV`2"},"score":0.876},{"image_id":196,"category_id":50,"segmentation":{"size":[480,640],"counts":"bfQ82l>2N1N2O2N110O000010O01O01O010O00010O10O01O01N1O2N1O1O2N1O1NM40O100O100O10O010O01O1O001O0O2O1O1O1O01000O10000O100O1001O1O1O002N1O1O2N1O2O2M2N3N3LTV8"},"score":0.851},{"image_id":196,"category_id":46,"segmentation":{"size":[480,640],"counts":"\\X]34l>3L2O010O0010O010O01O10O010O010O010O01000O010O10O0100O01000O010O010O10O0100O01000O010O10O0100O01000O010O1O010O10O0100O010O1O010O00100O00101N[]m4"},"score":0.536},{"image_id":196,"category_id":50,"segmentation":{"size":[480,640],"counts":"WUm61P?0O100O2O1N1O2O0O100O010O1000O3N2Nf[2LYdM5M4O1N101N0010O010O010O0010O0010O010O010O010O01O010O010O010O010O0010O010O010O010O01O010O010O010O01O010O010O010O010O010O010O010O010O01O010O010O010O0010O010O01O010O0010O0010O0010O01O02O1N2M3N2M3MXQf0"},"score":0.138},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"]kR42o>0EOeA2Y>OgA2X>OhA1V>0jA1U>0jA1T>1kA1S>OnA1Q>0nA1P>0PB1o=0QB0n=0RB1m=0RB1l=1TB0j=0VB1i=0VB1h=0XB1g=0YB0f=1YB0e=1[B1c=0]B0b=0^B2`=N`B3_=MbB4[=MeB4Z=KgB6X=JhB8V=HkB9S=GmB:Q=GoB9Q=FQC:ne<^O^Cb0b<^O^Cb0b<_O]Ca0cbbP=BPC=Q=CoB3lAOV><2M2O2N2N2N1O2N2Nfc]3"},"score":0.213},{"image_id":196,"category_id":10,"segmentation":{"size":[480,640],"counts":"PSV6>h=l0H7K6M3N2M3M3M2O2M3M2N101N2N2N101N2N2O001O1O1O001O1N2O001O1O1O1O001N2O1O001O1O1O00001N1000001O0000001N1000001O01O0001O0001O01O0000010O000000O101O000000001O0O100000001O00000O1N3M2N2N2N2M4M2N2N3N1O2O0O2O0O2O0O2O0O2O001N101N101N101N101N101N101O001O1O1O1O1O1O001O1O1O1O1O2N2N2N2N2N1K6H8I7H8HWnQ1"},"score":0.888},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"mZW36f>7K7I8I7H3N1N3N1O2O1O0O2O001N101N2O001N101O0O2O1O0O2O0O2O001O1O001O001O001O1O001O001O001O1O001O001O001O1O001O001O1O001O000000001O000000000000001O0000000000001O00000001O000001O0000000000000010O00000000000000000000001O0000000000001O001O00001N101O001O001O001O001O001O0O2O0O2O0O2O1N101N2O0O2O000O2O0O101N1O1O2N2N2N3M2N2N2N3M2N2M4K4K5L4L5K4Ke]e3"},"score":0.227},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"hc`55h>:F:F9F7L3L5L3L4M4K4M3L5L3L4N2M4M2M3N3L3M3N2M2O2M3M2O2M2O2M2O1O1O1O1O1O1N3N1O1O001O0000001O00001O0000001O00001O0000001O0000001O00001O00000O2O000000000000O1000000O10001O000O2O00001O0O101O0O2O000O2O0O101O0O2O0O101O0O2O0O2O1O0O2O0O2O001N2O0O2O001N101N2O001N101N101O1N2N2N2N2N2N2N2N2N2N2N2N2N2N2N2M3N2N4L3L4M3M4K4M3L4K6I7J8G]l_1"},"score":0.111},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"ddf41m>3K5K5K5N2O1N2O1N2O1N2O1N2O1N2O1N2O1N2O0O2O001O001O001O001O001O001O001O001O001O001O001O001O001O001O001O001O001O00001O010O001O001O00001O0010O01O00001O0000000000O2O000000000O100000000O2O0000000O100000000O101O00000O1000000O100O1O2N100O1O1O100O1O1O101N1O1O104K6J6J5L5JVPg2"},"score":0.122},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"ZVT59g>8G1O2O0O1O100O1O1O100O1O100O1O1O100O1O100O1O1O010O1O10O01O10O0100000010O0000000010O000000010O000000010O000000010O00000001O01O000001O01O000001O01O000001O01O000001O0001O0001O0001O000001O01O00000001O01O000000001O01O00000001O00000^OUB0j=0VB0j=OWB1i=OXB0h=0XB0i=NXB2h=NXB3g=LZB;_=EaB?[=AeB?[=@fB`0Z=@eB`0\\=_OeB?^=@bB?_=@bB?_=@bB>`=B`B=a=B`B=a=B`Bg=AXB>j=AVB?k=@VB?k=ATB?m=@SB?o=@QB`0P>@oA`0X>O101O0O2O2N1N3N3McPQ2"},"score":0.47},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"eZf22m>3M2N2N1O1O2O000O2O00000O2O000O2O001O0O2iA]Oo=j00O1000000O0100000O10000000000000000001O00000O10001O00000000001O00000000001O000000000010O0000001O000000001O0000001O0M4L3M3M4N1O2N2M4M^]\\5"},"score":0.621},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"hZX51n>3N1O0O100O2O0O10001N100O10001N100O101N10001O010jB@j;`0UDAk;?SDCm;>PDDP<9J5K401N1O1O2O0O110O1O010O10O1ATBIl=4[BGb`U6"},"score":0.958},{"image_id":196,"category_id":56,"segmentation":{"size":[480,640],"counts":"fbT43k>3N2N2M3N2N3M3N1N2O1O0O101N100001O001N101O001N101O001N101O1N3M2O1N3N1M3MXRf4"},"score":0.892},{"image_id":196,"category_id":56,"segmentation":{"size":[480,640],"counts":"dl`21n>5L4_AHQ>e0N2O1N10O1O010O1000O100002N1N3N1O4J6HXi`6"},"score":0.108},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"fPh61o>2N1O1O001O1O1J5100001O009GO100O10O010001N1N2M4M2NnhW2"},"score":0.361},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"RaQ6=d>7J1O000000N2N1O2O1N2N4L4JTlS3"},"score":0.963},{"image_id":196,"category_id":70,"segmentation":{"size":[480,640],"counts":"_3a;_3000000000000000O1000000000000000000O1000000000000O1N2N2N2N2N2N200O10000O1000000O10000O10000O1000000O10000O10000000000000000O10000000000000000000000000000000000000000O100000000000000000000000000000000000000000000O1N2M3N200O10000O100O10000O100O10000000000000000O10000000000000000000000000000TO^CZOb1O2N2N1O2N2N101N2N1O2N2N2N1O2O1N1O2N2N1103M3M2N3M3M1O000000O101O000O1000000O100000000O2O00000O1000O1O001O100O001O1O1O1O001O1O1O001O100O001O1O1O001O1O1O001O1O100O001OW\\o4"},"score":0.03},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"WZa11n>2N3M2N3M1O100O2N1O1000001N1000001O0O2O001O000O2O001O001N10001O001N101O1O6J00O100000000O100000000O1000000O1000000O100000000O1000000O100O101N10000O100O2O0O100O10000O2O0O100O101N100O2O0O2M2N3MRf]6"},"score":0.62},{"image_id":196,"category_id":16,"segmentation":{"size":[480,640],"counts":"XZ<7g>4I6N100O2N100O2O0O1O101N100O2N100O10000O101O000O101O0O10001N10001O0aBlNQ=c1O001N101OO1000O0100O100O10O0100O100O10000O010O100O100O100O100O100O10000O100O100O100O100O100O10000O100O100O2O0O100O2O0O101O0O100O2O0O100O2O0O2N1O2N1O2N101N2N2N3M2LWkX7"},"score":0.896},{"image_id":196,"category_id":51,"segmentation":{"size":[480,640],"counts":"d4k1U=3L100003MO1O1O1O1EJgA;Y>6O2O0O1000000001O00001O1O1O2N1O001O001O0O2O0O100O1O2N2M4MnSQ7"},"score":0.593},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"oj^82h>7O1O2N1O1O01O100O1O1N2HXRg0"},"score":0.972},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"`[]52n>3ELcA6Y>;O100O0011N101NM301N101O000010_OjA6V>JkA5U>JlA7S>InA6R>JnA7Q>IPB6Q>IoA7R>HnA8S>GnA8S>GmA8^>O2O01XS`3"},"score":0.183},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"gU^21o>1N2N2O0O2N2N2O0O3M3N2M3M3M3N1N3M3M3N0O0010O1O100O2O0O1O100O2N100O101N1O2O2K5I6J7IbTZ6"},"score":0.036},{"image_id":196,"category_id":57,"segmentation":{"size":[480,640],"counts":"S[\\61m>3O0O1O2O0000001O0000000010O0000100O1O1Nmie2"},"score":0.033},{"image_id":196,"category_id":50,"segmentation":{"size":[480,640],"counts":"VWf71m>4M2O001O0O10O10000O11O00000001O100Nlk\\1"},"score":0.081},{"image_id":196,"category_id":56,"segmentation":{"size":[480,640],"counts":"X`e36j>3M2N3M2N2N00O10O10O100O10000O10O0100O10001N6K5J`hZ5"},"score":0.479},{"image_id":196,"category_id":56,"segmentation":{"size":[480,640],"counts":"ZhW4>`>8I1O2N2N1O2O0O2O10O000O1O2N4L4L9^Ohik4"},"score":0.767},{"image_id":196,"category_id":56,"segmentation":{"size":[480,640],"counts":"`QW24h>4O1N2O1O10000000001ON3M3M2O2Mh^m6"},"score":0.277},{"image_id":196,"category_id":43,"segmentation":{"size":[480,640],"counts":"lP3d1[=1O2N1O2N1O1O2N1O101N100O2O000O2O0O100O100O2O0O100O1000000O10001O0O10000O1000000O10001O0O1000000O10000O1000O10O1000000O1000000O100000O01000000O10000000000O1000O1O1O10000O100O100O100O01000O100O100O100O10000O100O100O100O100O10000O100O100O100O10000O100O100O100O10001N100O2O0O101N100O2O0O101N100O2O0O101N100O2O0O100O2O0O2O1N2O0O2O1N101N3N1L5L3M5K7IXlg6"},"score":0.624},{"image_id":208,"category_id":81,"segmentation":{"size":[480,640],"counts":"Ueh0g5Y9O010000O100O10000O100O100O10000O010O10000O100O10000O100O10000O010O10000O100O10000O100O10000O010O0100O001O001O1O001O0010O01O1O0nM^GgMc8S2lGcMT8[2SH`Mn7]2WH`Mj7Z2^HcMb7V2iHfMX7V2oHgMP7W2YI_Mk6^2m2L3N3M2M4N2N1N3N1O2N2M2O2N1O2M3N1O2N1N3N2N1O2M2O2N2M2O2M2NQHQOS2m0nMTOQ2g0TNZOl1`0YNAg17`NJ_1NiN3Q81O1O1O1O1O1O1O1O1N2O1O1O1O1O1O1O1O1O1O1O1O1O1O1N2O1000000001O0000000EVBAi==ZBBf=<^BBb=gG[ONR2JXN`8_ONT3]7QMUH=L5J6N2O0O2N2N2O1N1O2O1Nom`09hQ_O1PBJU=8jBJS=9lBGS=:lBHQ=:oBGn<oBCe;0mDa0YOAg;1PES1Q;mNnDT1Q;mNnDT1R;lNmDT1T;kNlDV1S;kNlDV1T;jNkDV1V;jNiDW1V;iNjDX1V;hNiDX1X;hNgDY1X;hNgDX1Z;hNeDY1[;gNdDZ1[;gNdDY1];gNbDZ1^;eNbD[1_;eN`D\\1`;dN_D]1a;cN^D]1c;cN\\D^1d;bN[D^1e;cN[D]1e;cNZD^1f;bNYD^1h;bNWD_1i;aNVD_1k;aNTD`1l;_NTDb1l;^NSDb1n;]NRDd1n;[NSDe1l;[NTDe1m;ZNSDg1m;XNSDh1n;WNSDi1m;VNTDj1l;QNYDn1\\<10O10000O1N101N2O1N2O010O10O01O10O010O01N2N1N3N2O00100O010O10O10000O10000O2O000O10000O10000O10000O10O001N101O1O001O001O001O10O100O1000000O1000O01010O01O00001PC\\Nb5J2O001M3O001O0O2O1O0O2O1O0O2O001O1N101O0O2000O10000O010O10000O10OO2M3L4M3N110O100O10O0100O10O01O100O10O010000000O1000001N100000000O2N1O1O1O1O1O2O0O10000O10O10O10O10O10O10O10O10O10O10O10O10O010O10O10O0100O010O10O0100O010O10O0100O010O10O0100O010O10O0100O010O010O10O0100O010O10O0100O010O10O0100O01000O010O10O01000O0100O01000O010O100O01000O010O100O01000O10O0100O01000O2O0O101N10001N1LgPc4"},"score":0.495},{"image_id":208,"category_id":90,"segmentation":{"size":[480,640],"counts":"jkc01m>b0_O2N1O001N101O001O1N101O0100O10000O100O10000O100O1O1O1O1O1O1O1O1O100O1O1O00000000O100000000000001O2N2N2N2O001N01000O0100O010O10O10O100O01000O010O10O010000O010O10O01000O0100O010O1000O0100O01000O010O100O01000O010O10O01000O0100O10O10O10O0100O01000O010O100O01000O010O10O10O100O010O10O10O10O0100O01000O10O01000O03N3L4MnS^6"},"score":0.126},{"image_id":241,"category_id":63,"segmentation":{"size":[640,480],"counts":"Qd`61kc04K5gHIeJ8RNd\\1\\2N100oNd]O8bb0Bg]O4n^c6"},"score":0.434},{"image_id":241,"category_id":1,"segmentation":{"size":[640,480],"counts":"Ujl21mc02N3N1N2O1N3M2O1N3N0O2N2O0O2O1M3L3L5L4M3L3N3M3L3N3L5L3L4M3L4L4H8G9mGnLPOZ3n0iLhN`3V1cL`Ng3]1\\L]Ni3b1XL\\NU57nJFZ52hJL_5NaJ2f5F\\J8l5@VJ>Q6[OQJc0W6VOiIi0^6QOcIn0d6kN]IS1j6fNWIY1P7aNQI]1U7^NlH`1[7ZNfHd1a7VN_HRN^On0X8j0\\HRN`04[7d1VHRNi04X7d1oGTNo05X7b1jGSNU18X7_1dGSN[1;W7\\1`GWN\\1;Z7X1ZG^N]17`7U1TGdN]14e7S1oFiN^10j7Q1hFPO_1LP8m0cFVO_1JT8k0^F[O_1HY8g0YFA_1E`8c0QFI`1Ah8>iE1_1_OQ97bE9^1^OX92ZEa0]1\\Ob9KREi0\\1YOk9GjDP1[1WOT:AaDX1\\1TO]:[OYDa1Z1RORf0\\A]Oc>c0[A@d>a0ZAAe>`0XACg>?UADj>=TADl>>PAEo>nKWAV4b>oK]AS4\\>SLbAQ4W>TLgAo3U>TLjAn3Q>ULnAo3l=ULRBn3j=ULUBn3g=X1M3N3L1O100O103L7J5J9H:E:G8G6K2M2O2M2N3N1O2N1O2O0O2N101[EQGU:P9gEVGV:l8eEYGZ:]9I3M2O2M2N2O2M2N100O1O100OQGaF^7^9]HhFc7X9WHnFi7Q9PHWGP8k8fG]GZ8k8VG]Gj8l9nKZEkNf:S1eEdN[:Z1kEaNV:\\1PF`NQ:^1TF^Nm9`1nFfMR9Y2RGdMo8Z2UGbMm8\\2WG`Mk8^2YG_Mh8_2[G^Mg8`2]G\\Me8a2_G\\Md8a2_G]Mb8a2aG\\Ma8b2bG[Ma8c2bGZM_8e2bGYMa8e2aGXMa8g2`GXMb8f2`GWMc8g2^GWMh8e2YGYMl8b2UG\\MQ9_2PG`MU9\\2kFbM[9Y2fFeM`9V2aFiMd9S2\\FkMj9P2WFoMn9l1SFRNR:k1nESNX:h1iEWNY:g1hEWNY:j1gEUNZ:j1o3O10O01O100O0011O000O2O001O0O2O00002M3N2N2N1N10O1000O001O1O0011N101O0O101O0O2O0O10c^OnMl`0Q2S_ORNk`0m1T_OVNl`0i1S_OYNl`0g1R_O]Nm`0a1R_ObNo`0\\1P_OfNPa0X1o^OlNPa0S1o^OoNRa0n0m^OSOUa0l0i^OUOYa0j0f^OWO[a0g0d^OZO_a0d0`^O\\Oba0a11N[N^Af1`>]N_Ac1_>`N_Ab1^>aN`A`1^>cNaA]1]>gNUAd1j>_No@g1o>[NQAd1o>\\NQAa1R?_Nn@\\1X?dNg@V1_?jNa@Q1d?oN]@j0j?UOV@i0l?WOT@i0l?XOS@i0l?WOT@i0m?VOT@k0j?UOV@l0i?TOW@m0i?SOV@n0i?ROW@P1g?oN[@Q1d?nN]@S1c?lN]@V1a?iN`@X1`?fNa@[1^OnMf?g0l@S2g>kMXA[2e>dMYAb2c>]M[Aj2b>UM_AV1^OJo>QObAT1DKg>QOeAR1HKc>ROeAS1LH^>VOfAo00JZ>WOeAn04JW>WOeAn07GV>\\OcAk0:EV>@_Ai0?CT>D^Ag0a0BS>G[Af0e0_OS>JXAe0i0]OQ>OUAc0l0[OR>2e@n0\\1lNR>l1PBQNR>m1RBnMR=3mAm1S1mMR=:hAf1V`0_Ng_O_1[`0dNb_OY1c`0hNY_OV1l`0lNP_OR1Ta0oNi^On0[a0h05K5J6J6K5M2N3L4M3M3L3N2N3L3M3N3L3M3M4M2M9G\\`_5"},"score":0.748},{"image_id":241,"category_id":64,"segmentation":{"size":[640,480],"counts":"nZe22oc00O1O101N1O1O1^\\OP1Sb0?O1O2O0O1O1O100O2N1O100O0001O0000001O00001O00000010O01O1O001O1O6J6J6J6J6J6J6J6J6Kmng5"},"score":0.521},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"Xdg01o>4K4M4M1N1000O010O00100O00^ADa>;_AF`>=10O0100O1N2O0O2N2L^dX8"},"score":0.923},{"image_id":257,"category_id":27,"segmentation":{"size":[480,640],"counts":"[Xd21o>1O0oAOS=1mB0R=1nB0P=0PC2m2N2N2N2O1O0001O0O1000O1M3M3M2O000O1O1`ND^D4iBAh;b0UDAi;`0lCJS`0L5L2M2O1O2L3K6N11O01O0`BfNZ=9dB4O11E[=4hBJL54`0T=@PCO2`0n<\\OPC4_>N201O100OVQm5"},"score":0.646},{"image_id":257,"category_id":1,"segmentation":{"size":[480,640],"counts":"Xcl3;Z=Z1G90O01O100O12M4M3M3M3K5G9H8G]nW5"},"score":0.23},{"image_id":257,"category_id":14,"segmentation":{"size":[480,640],"counts":"\\WY4>Y>9M3O1NIoACo==:ORC_O_;e0_D\\O_;R1SDoNl;V1PDjNn;[1nCfNR2N3J6GDeA`01Jf=k0O2O01O013L2O1N1K:\\Ofmi0"},"score":0.044},{"image_id":257,"category_id":1,"segmentation":{"size":[480,640],"counts":"f^j15h>7\\AIMLm=Q1O1N20LWBQOi=h0;ZOlA;1BU>1lA6h>L`k\\7"},"score":0.765},{"image_id":257,"category_id":1,"segmentation":{"size":[480,640],"counts":"RPd42b09^=JWBe0c=c0[OjNQC]1e3K0TBJX=?YBJe=i00WO[B0k=1VBCT>;73N021N100001O1O6J2N1M4N]Xm7"},"score":0.278},{"image_id":257,"category_id":1,"segmentation":{"size":[480,640],"counts":"bPQ24i>;G3mA2o=0oA5`=I^B41c0OXOh<`0YCe0c<]O[Ce0f_OiA1\\>JhA3e>Ngej5"},"score":0.648},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"_fZ35g>4O100O10000000000000Jmek5"},"score":0.526},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"_n<7i>0001O00`fl8"},"score":0.789},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"ik=2n>1UANb>:000Ibik8"},"score":0.96},{"image_id":257,"category_id":27,"segmentation":{"size":[480,640],"counts":"VkQ31g>9J5M21O1N2N1N3N2N2N3M\\aT6"},"score":0.116},{"image_id":257,"category_id":1,"segmentation":{"size":[480,640],"counts":"jki29d>;H1G^OQBd0k=@TBa0k=ASB?l=;01O00001O01O1TOVBa0j=^OWBa0V>N2N2BeA4g>L3MagX6"},"score":0.626},{"image_id":257,"category_id":8,"segmentation":{"size":[480,640],"counts":"nZa78h>>Af0[O7I7I7I7I4L7N210O0001O0000010@?@`k2LkTM6I8F:N13N2O1O2N1O10000O1003M3M3M2N2N2N9G0000001O0000006J1O001O00001O000000N2O1O1000000O1EhBnNX=P1mBmNS=Q1RClNn>mADT>c02M3M3M2I`AKa>0Qlm6"},"score":0.563},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"d[Z12n>2M3N2N3L3NO10001O00001O002NZcj7"},"score":0.956},{"image_id":257,"category_id":31,"segmentation":{"size":[480,640],"counts":"R]\\12i>5O101M26IQil7"},"score":0.514},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"Uj]45k>1[AL\\><0000001Nklj4"},"score":0.489},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"VP[4;e>00000O15LeUn4"},"score":0.511},{"image_id":257,"category_id":10,"segmentation":{"size":[480,640],"counts":"]Rj02l>200001Odb_8"},"score":0.605},{"image_id":257,"category_id":31,"segmentation":{"size":[480,640],"counts":"[iR31m>4M3CIlA:Q>GoA5S>MmA1T>OnAMS>42O000002NYT[2"},"score":0.292},{"image_id":283,"category_id":44,"segmentation":{"size":[640,428],"counts":"Qjn0[Od0010000000O10000000000O2O0l]O_Oi`0a0R_OEm`0;n^OJRa06i^OOWa01e^O4Ya0Md^O6\\a0J`^O;_a0E^^O>ba0Q1O001N1J60001O0O1000001O0O1000001O00O001N2XOh0L4L5J7J6J5J7I7J8GXco6"},"score":0.691},{"image_id":283,"category_id":62,"segmentation":{"size":[640,428],"counts":"eom21oc03M2N2N2N2N000000000000000000000e\\OEQc0;l\\OHTc08j\\OJVc06h\\OMWc0>01O0002O1N2O1N1O2O1N2OO010O01O01O010O01O010O01O01O010O010O001L3L`T1NdkN3L3M3N2M3N3L3M3N2M3h@WOW;k0eDYOX;k0eDWOX;l0gDVOV;l0iDUOT;n0kDTOQ;o0nDROP;Q1nDPOo:S1QEnNl:T1SEmNj:V1UElNg:W1XEjNf:Y1XEhNe:[1ZEgNc:[1\\EfNa:]1^EeN^:^1bEbN\\:a1bE`N]:a1bEaN]:_1bEbN]:_1bEcN\\:^1cEcN\\:_1bEbN]:_1bEcN]:^1bEbN]:d1]E^Na:i1XEXNg:n1SESNl:S2nDoMQ;V2iDkMV;[2dDgMZ;^2aDcM^;a2_D_M`;f2[D\\Md;g2XDZMg;k2TDWMj;m2RDTMm;Q3kCSMUS<;2O1K6J6L4K5LW]W2"},"score":0.014},{"image_id":294,"category_id":50,"segmentation":{"size":[427,640],"counts":"[YV52U=6K3N2N10100O1O1000000000001O10O010003LN4L3M8Edbj2"},"score":0.192},{"image_id":294,"category_id":50,"segmentation":{"size":[427,640],"counts":"aTR52V=4L3O2N2O0O2N2O0O2O5J7I7JN101O0CRD]OPN2O10000O100O10000O10000O1O2M4M2MkTj2"},"score":0.055},{"image_id":294,"category_id":50,"segmentation":{"size":[427,640],"counts":"eR`5:Q=?cDCn8d2H4M20N:aNkEUOd:KlE5f;O1O010N5LYYe2"},"score":0.643},{"image_id":294,"category_id":49,"segmentation":{"size":[427,640],"counts":"mbP63V=2N2M2O2M101N101O00001N1002K5KfdS2"},"score":0.378},{"image_id":294,"category_id":49,"segmentation":{"size":[427,640],"counts":"SeR66n<5M210O0100O1O210O101N2LWjR2"},"score":0.153},{"image_id":294,"category_id":49,"segmentation":{"size":[427,640],"counts":"eeR61W=3N3L2N3M2N1000O001O001O3M2N6JkaQ2"},"score":0.438},{"image_id":294,"category_id":85,"segmentation":{"size":[427,640],"counts":"1e1f;00000000000000000000000000O100000000O100000O0100O10000O100O100O100N2O1N2O1N2M3M3M3M3L6J5L4L5K]kf7"},"score":0.746},{"image_id":294,"category_id":50,"segmentation":{"size":[427,640],"counts":"nWY52W=4M3M3M1O2O0O2O00001O001O00001O0000010O01O1O001O0O2N1O2N1O2N3LRYd2"},"score":0.256},{"image_id":294,"category_id":50,"segmentation":{"size":[427,640],"counts":"WPU5>l<3M4M1N2O1O1O3M2cCROZ"},"score":0.191},{"image_id":328,"category_id":23,"segmentation":{"size":[491,640],"counts":"ZUh0g2l:l1iNS10001O01O0001O0001O0001O01nM\\F[Nd9`1bF_N^9]1gFbNY9Y1mFgNR9T1UGjNl8Q1YGnNg8m0_GROa8m0aGSO^8k0eGTO[8k0fGUO[8i0fGWOZ8h0hGWOX8g0jGZOU8e0mGZOS8e0nG[OS8c0nG]OR8b0PH^Oo7a0RH_On7`0SH@m7`0TH_Om7?THAl7?THBk7=WHBi7>WHBi7=YHBh7=XHDg7;ZHEf7;[HDe7;\\HEe78]HHc76`HJ_74cHL]73dHM\\73eHL\\72eHOZ70gH0Y7OhH1X7MjH3V7JmH6T7GnH:Q7EPI;P7CRI=n6BSI>m6BSI?m6@SI`0m6@SI`0m6@TI?l6ATI?l6ATI`0l6_OTIa0l6_OTIa0l6_OTIa0l6_OTIa0m6^OSIc0l6]OTIc0l6]OTIc0l6]OTIc0l6]OTId0l6[OTIe0l6[OTIe0l6\\OSId0m6\\OSId0m6\\OTId0l6\\OSId0m6\\OSId0m6\\OSId0m6]ORId0m6\\OTIc0m6\\OSId0m6]ORIc0n6]ORIc0n6]ORId0m6\\OTIc0m6\\OSId0m6\\OSId0m6\\OSIe0l6[OTIe0l6[OTIe0m6ZOSId0o6\\OQIb0Q7^OPI7Z7IfH3_7LaH0c70]HLg74YHHk78UHDo7B=E7MDmAAS>`0RBZOo=f0;_OiAMW>0d0MUZ31jeL`0@8H000O100000000O1J6K5N2N13N6I7G8H9F[S1"},"score":0.08},{"image_id":328,"category_id":84,"segmentation":{"size":[491,640],"counts":"Sn_32X?2M3O001O1O1O1O001O1O1O001O1O1O10O01O1O1O1O001O1O1O001O1O1O1O10000000O001O1O1O1O00100O1O001O1O1O1O001O100O1O001O001O0000010O0000001O0000001O01O0001O00001O00000O2N1O1O2N1Ncei4"},"score":0.749},{"image_id":328,"category_id":3,"segmentation":{"size":[491,640],"counts":"QmW55U?4M4K4L5K4M3L4L4M3L3M4M2N000000001N1000001O0000001O0000001O0000001O0000001O0O100010O000001O0000010O0000001O01O0001O00000010O000001O0001O01O0000001O01N1O1N2N2O1N2O2M2O1N2O1N2M4L3M3M3O1O1O1O2M4M3M3M4I_Pk2"},"score":0.078},{"image_id":328,"category_id":32,"segmentation":{"size":[491,640],"counts":"QWm63X?6J7I1O1O1O2NF]ANa>0cA0[>NiA1V>NlA3U>ImA`0\\>1OO0O2N7J6I`o\\2"},"score":0.406},{"image_id":328,"category_id":32,"segmentation":{"size":[491,640],"counts":"\\fh43U?2M3L4L5K4EYOgAa0^>_OcA7f>H]A4]T`4"},"score":0.448},{"image_id":328,"category_id":28,"segmentation":{"size":[491,640],"counts":"Ug;5n>9H8G:L3N2O2M2N2N3M2N2N2N2N1O1O1O1O1O1O1O2N1O1O1O1O1O100O2N1001O1O001O100O1O1O001O1O1O100O001O1O1O1O0010O0001O001O0010O01O00001O001O010O001O00001O0010O01O001O001O0010O01O001N1O2N1O2N1O2O0O1O1O2N1O1O1O2N100N2N3M2N2N2N3N1O1O1O2N1O1O1O2N1OVS^7"},"score":0.057},{"image_id":328,"category_id":27,"segmentation":{"size":[491,640],"counts":"cff05R?4M4K5N101N2O001O1O001O1O001O1O001O001O001O001O00001O010O001O0010O01O00001O010O001O001O001O001O0O101O000000001O00000O100000001O000000000O10001O00000000000000YOWBMh=N_BJh=1^BEj=7g0L4Kg]c7"},"score":0.712},{"image_id":338,"category_id":82,"segmentation":{"size":[327,640],"counts":"W^U2c1c8[1fN1N2O1O001O1O1O001O1O1XI^Mi5b2WJ[Nl4f1RKiN`4_3000000000000001O00000000000000000000002N2N0000O100000000000000000000000000000000000000000000000000000000000000000O1O100O1O00100O1O100O1O100O1O100O1O101N7IU2lMj1UNk^X3"},"score":0.919},{"image_id":338,"category_id":85,"segmentation":{"size":[327,640],"counts":"kYc48m94M3M2N3M100O2O00001O0000000001N101N2O1M3N4LTga1"},"score":0.333},{"image_id":338,"category_id":28,"segmentation":{"size":[327,640],"counts":"UQX35j9;G8K5K6J5J6I7I8H7eHZNo5j1`IeN_6b2N2O2lN^L_Kd3a4]L]Kd3b4^L[Kd3d4^LZKc3e4_LXKc3h4^LVKc3i4^LUKd3j4^LSKd3m4]LQKd3n4^LoJd3P5^LmJd3R5^LkJd3U5]LiJd3V5g0O100O1O1O1O1N2M3N2N2O1O100O100O1O100O100O100OQNcKWN\\4c1PLWNP4d1[LVNd3e1kLRNU3i1]MjMb2S2dMkM\\2U2gMhMZ2b0bKZIJUOFb7O_H5k05TOGo73mH5TOET83jH7ROEW81iH9POFY8NiH;nNGa98_FIa95`FKa94`FK\\99dFG[9:eFF^97bFI]989000O010001O2N3M2N]dW2"},"score":0.397},{"image_id":338,"category_id":1,"segmentation":{"size":[327,640],"counts":"]^[41U:6I6J7I7J5J7I7I6K6I7hHbN[5d1fIWOX6]2O1N2N2O1O1O100O1O1O1O100O1O1O1NN02M4O20RNhKmMX4c1YL\\Nf3]1cLbN]3^1dLaN\\3_1eLaNZ3`1fL_NY3b1iL\\NW3d1jLZNW3f1jLXNW3h1jLVNW3j1jLUNV3l1b2DjGhNU8T1PHlNo7P1UHQOj7k0[HUOd7g0`HZO_7c0eH]O[7>jHBW79lHFX75kHJW73jHLY71iHNY7OhH1\\7JfH4bo^1"},"score":0.154},{"image_id":338,"category_id":79,"segmentation":{"size":[327,640],"counts":"SV9j0\\9[1eN1O1O1O1O1N2O1O1O10O1000000000001O00000000000000000000000000001O00000000000000000000000000001O000000000000000000000000001O00000000000000000000000000001O00000000000000000000000000001O00000000000000000000000000001O000O1000000000000000000000001O0000000000001O2N2N2N2N2N2N2N1O2HWif4"},"score":0.502},{"image_id":338,"category_id":31,"segmentation":{"size":[327,640],"counts":"PSd4f0S9>O2O001O0002M7J5K000O0100O001K55K0O1000000XOhF`0c9M3K5ISo_1"},"score":0.787},{"image_id":357,"category_id":39,"segmentation":{"size":[218,640],"counts":"bRc328=i5821NHSJET`d0"},"score":0.407},{"image_id":357,"category_id":40,"segmentation":{"size":[218,640],"counts":"_Si31f6301O0O1O11O1O2LZW="},"score":0.621},{"image_id":357,"category_id":40,"segmentation":{"size":[218,640],"counts":"^f`02g62O100[ILb670I^I4e6OhQf3"},"score":0.52},{"image_id":357,"category_id":40,"segmentation":{"size":[218,640],"counts":"a]k11h62N2O00O3Nca[2"},"score":0.069},{"image_id":357,"category_id":1,"segmentation":{"size":[218,640],"counts":"_i^22g63M2O0011NbIK10o56mIM2MQ6c000mI]OP6=PJD00P6ZKCf4eJO[5h01O001O1N1K6N2O0GXJ^Ok5>;L3O2N2N6JkR4"},"score":0.344},{"image_id":357,"category_id":40,"segmentation":{"size":[218,640],"counts":"bcf31h6100O1O1LO_I1`65001O3NO01O001MVe>"},"score":0.406},{"image_id":357,"category_id":1,"segmentation":{"size":[218,640],"counts":"mkh12f62N2N2O2EJnI7P691O1O1OkI@S6?mIBS6=lIDW6=3M3O011Nmh[2"},"score":0.59},{"image_id":357,"category_id":1,"segmentation":{"size":[218,640],"counts":"anh32h6001O1[I1Z62fI1V60jI2V6LjI6W6H>O1OcI1P6NSJ0YT="},"score":0.057},{"image_id":357,"category_id":1,"segmentation":{"size":[218,640],"counts":"Tgk31g64O00`0@00O3LRQ;"},"score":0.804},{"image_id":359,"category_id":36,"segmentation":{"size":[332,500],"counts":"_fb17l9:F9I700000O10O1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O100000000002N2Ia[j2"},"score":0.822},{"image_id":359,"category_id":10,"segmentation":{"size":[332,500],"counts":"ck_2?j93O100O1O1000000000000001O1O1O1O1O00O1O1N2O1O1000000001O001O1O1O1O2NO1N2N2O100O1000000000O2O001O2N2GQgQ2"},"score":0.773},{"image_id":359,"category_id":10,"segmentation":{"size":[332,500],"counts":"^]j21[:3M000O1WRV2"},"score":0.324},{"image_id":359,"category_id":46,"segmentation":{"size":[332,500],"counts":"jm0dEC^:;aEFb:7]EId:9YEHg::UEGl:b00N2N2DTEKn:3<00000001O001O001O010O00000O002Oj]U2"},"score":0.054},{"image_id":360,"category_id":36,"segmentation":{"size":[375,500],"counts":"k[k24b;2N2O1N2N2N010O1O1O10O00001O01O0001O01O01O00010O0001O01O00010O0001O01O00010O000010O0000010O02N2N1O3M4KQgX2"},"score":0.428},{"image_id":387,"category_id":73,"segmentation":{"size":[480,640],"counts":"Tkb27fTO@8V1HgNDP2TOVAn0i>T12F:K5O3N2N2M3NO0K6Z@B_=g0]BE\\=9aB3X=c2J7I8H8G:G1O1N101O001N101O001O1O001O001O0O2O0000001O00001O00001O000001J6H8iJlCP4aWOn@;2[1j>W1N1O2N2N101O100O01O0K6H8I:ZMh@Q2j?H8I7H8I700O103L4M3L4K5L4K5L4K5L`kR3"},"score":0.632},{"image_id":395,"category_id":1,"segmentation":{"size":[580,640],"counts":"[cg23na05K5K5K5K4M10000000000000000000000001O000000001O001O001O1O001O001O00100O001O001O00000000O10000000000001O1O001O1O0M4K4LQo`7"},"score":0.76},{"image_id":395,"category_id":1,"segmentation":{"size":[580,640],"counts":"XeQ14la05M2O2O1O0O2O001O1N2O001N2O1UOBn_Om0c?An_Og0k?n0K4L4Ll0SO4M2N1O2O1N2OO1O0O2N2N3N2M3M2hNlA]NW>[1XB\\Nj=\\1cB\\Na=[1j1G9I7K5L3L4M2M3M3Ljd]9"},"score":0.803},{"image_id":395,"category_id":1,"segmentation":{"size":[580,640],"counts":"`ho71Rb01O2M2O2N1O2H8M2O2O0O2O0O2O1N2O1O1N101N2L4J6]Oc0N2M2N01N1011N100O010000O100O1M3N3L4M3L3M4L4L4L3M4L4M300O100O100O100O101N1O100O1O1O1O2O0O2N2N6KbbR2"},"score":0.239},{"image_id":397,"category_id":62,"segmentation":{"size":[480,640],"counts":"f[l635OY>8dALT>e0G8H8H8H9J50M3E;E;H8001O00001O00001O00001O0O101O0000001O00001O00001O00001O00001O00001O00001O00001O0000001O00001O00001O00001O00001O00001O00001O00001aC]N_;c1^DcN_;]1]DjN`;V1\\DRO`;o0[DXOb;h0[DWOi;i0SDWOQ1N2N1N3L4M3M3M3M2N3M3M3M2N3M2O2O001O01O2O0O2N1O2N1O2N1O2N1O100O101O0O10001O0O2O5K1N2KWB"},"score":0.63},{"image_id":397,"category_id":54,"segmentation":{"size":[480,640],"counts":"aYX1=[=X1hNX1C=00O100O1O100O100O1O100O1O100O100O1O100O1O1O100O1O1O1O100O1O1O100O1O11O1O1O001O1O1O1O1O1O1O1O1O1O001O1O1O1O1O1O1O1O1O1O001O1O1O1O1O1O1O001O1O1O1O1O001O1O1O1O1O1O001O1O1O1O1O0nMdC`1]<]NfCb1[<\\NfCd1[Zj7h1TDlMS4;h7[2ZHbMe7`2\\H^Md7l2UHQMj7Q3WHnLg7S3\\HjLd7V3^HhLa7Y3`HfL`7Y3aHhL]7c1\\DEX4gN\\7d1eD\\Oo3PO[7d1oDTOg3WOZ7e1WElN`3_OX7d1_EgNY3EX7d1bEcNX3HV7e1eE`NU3KV7d1iE^NR3MU7d1mE\\No20S7c1QF[Nl22S7b1TFZNj23R7c1VFXNh25R7b1nJ[NQ5d1TKXNl4g1g6O100O1O2N1O00100N2OI7I7O1O1O1O1O11O001O001O001O1O001F9O3M2O1O101O0000001O00000N3N1O2N4K5L4K5I9H\\cb4"},"score":0.373},{"image_id":428,"category_id":32,"segmentation":{"size":[360,640],"counts":"hbQ4=i:3M2N300O10O010000O01000O10O010000O010O100XH@g4?QKJn47jJ1V5NcJ;[5F\\Jc0d5\\OUJl0k5SOPJT1n5lNoIX1Q6hNkI]1S6cNjIa1V6^NfIZ1g6fNUIg0a7YO\\Hh0g7WOVHi0m7XOoGi0R8XOkGi0W8WOfGk0[8VOaGl0`8TO]Go0b8RO[GP1f8i00POZG]Og8b0[G\\Of8c0\\G\\Oc8d0`GYOa8e0bGZO^8e0eGYO[8e0hGYOX8d0mG[OS8c0QH[Oo7d0SHZOn7f0SHYOm7f0VHXOi7h0YHVOh7i0ZHVOf7j0[HUOe7j0\\101O1O1O1O001O1O1O0O10000O101O0O100O10000O101N10000O100O10O1O04M2M4M3M2MR\\n1"},"score":0.097},{"image_id":428,"category_id":1,"segmentation":{"size":[360,640],"counts":"lX]24l:9H8L4K5L4K5L4L5J5L4K5M300O2N2O0O2O0O2O0O2N4M2M4M2M3N0O2N200O1O10N1O1O2N1O1O2N100O2N1O1O2N1O1O2N1O1O2N1O1Og0YO1O100O1O1O1O1O2N1O1O1O1ON2L4L4L4M4K4L4M3L4L4L4L4L4L4L4L4L4L4N2O1O2N100O1O1O1O1O1O1O1O100O1O1O1O1O2N1O1O100O1O1O00N2O1N3N2M32M5L4QMgLgM\\3R2PMeMQ3W2[MaMe2V1lK[Nk18Y2[1YLnMc1f0T2Y1ROeNo0Y1TOfNl0X1XOfNh0X1[OgNe0V1_OhNb0V1AiN?U1DjNlNBS1`0kNAU1?kNAT1a0kN_OT1b0kN_OT1c0kN]OT1e0kN[OU1e0kN[OT1g0jNZOU1g0kNYOT1i0kNWOU1^5O1O1O1O100O0100000000000000000000000000000000POo0O2N2O1N2N200000000kNaMaI_2\\6eMcI[2[6hMdIX2Y6lMfIT2W6PNhIP2V6SNiIm1V6UNiIk1U6XNjIh1U6ZNjIf1U6\\NjId1U6^NjIb1U6`NjI`1T6cNkI]1T6fNhI\\1W6fNeI]1Z6eNaI^1_6f10000O1000000O10000O1000000O10000O1000000000001O0O2O1O001O001O001aNWK]Lj4a3XK^Lh4a3YK_Lh4_3ZK`Lf4_3\\K_Lf4_3[KaLe4]3^KbLc4\\3_KcLb4[3`KdL`4[3aKeL`4Y3bKfL_4X3cKgL]4X3dKhL]4V3dKjL]4T3dKlL]4R3dKnL\\4Q3eKoL\\4o2eKPM]4o2cKQM]4n2dKRM]4m2cKSM^4k2cKUM^4i2cKWM]4i2cKWM^4g2dKXM]4f2dKZM\\4f2dKZM]4d2dK\\M]4b2dK^M]4a2cK_M]4`2dK`M]4_2cKaM^4[2eKeM[4Y2gKgMZ4U2iKkMX4Q2kKoMV4n1lKRNT4k1oKUNS4g1\\KYM^OP1X5b1WKgM^Og0\\5^1SKTN^O>a5Z1mJbN^O4g5S1XJDNYOl5l0YJ0HTOQ6f0ZJZ1g5`N\\Jb1f5WN]Jk1e5oM]JS2e5fM^J\\2c5_M_Jc2c5VMaJk2l62M3J6J6J50100O1O100O1O100O1O11O1O1O001O1O11QJmKe4U4VKoKj4S4QKPLP5_1UJi0f0kMV5V1ZJP1;mM\\5m0^JX10oMc5c0cJ^1FQNi5;fJf1\\ORNo53jJe2U5WMPKi2m4UMYKj2d4TMaKl2]4QMiKn2V4oLnKP3Q4mLULR3j3kLZLT3e3kL_LT3_3jLeLU3[3hLjLW3f5M2N3N1N3N1N2O2M2O2M3N2M3M4M2M3N2M5L4K5L2M3M3N2M3N2M3N2M3N2M[bf0"},"score":0.912},{"image_id":428,"category_id":61,"segmentation":{"size":[360,640],"counts":"Zc\\4>b:;D9M300O1O1O100O1O100O1O1mNiNUHW1g7mNXHT1d7QO[Ho0d7RO[Ho0c7TO[Hm0d7TO\\Hl0b7WO\\Hj0c7WO]Hi0b7YO\\Hh0b7ZO]Hg0b7[O]He0a7]O^Hd0a7^O^Hb0`7@_Ha0`7A]Ha0c7_OYHe0f7_100O100O100O100O100O100O100O100O100O100000000000000000000O10000000000000000000000O1000000O1000001O00000O100000000000000O10000000000000000O100000000000000001O0000001O0000001O0000001O0000001O0000001O0000001O0oLeHU2\\7gMRIn1o6mMZIn1h6mM\\IR2n7O1O1O003M3M000000001O0000001O000000001O000000001O0000001O2N2N4L6J7I7I7I6J7Ickf0"},"score":0.374},{"image_id":459,"category_id":32,"segmentation":{"size":[640,516],"counts":"RY[3:_c0SLCl3>SLDl3;TLFl3:TLFk3:`IhNa0o0o59]InN`0k0Q68[ITO`0e0U66YI[O9e0]61VIA5c0e6LSIG1b0j6GSIML`0Q7CRI1F`0V7ASIQ3e6VM[Il2\\6\\McIe2[6]MdId2[6\\MeIe2Z6\\MeIf2Y6[MfIf2P3_KjNk1VNg2f2TLfNW1cNf2]2gLeNd0mNg2T2PMlN9POh2Q2TMlN5ROh2P2WMkN2TOh2o1[MhNNYOi2k1^MiNJZOj2k1`MhNG\\Oj2i1dMhNB^Ol2h1fMhN^O_On2f1hMhN[O@o2f1kMgNUOCQ3f1lMdNTODR3g1mMcNQOER3i1nM`NPOFT3j1lM_NQOFT3k1kM]NSOFT3m1iM[NTOHS3n1iMXNVOIR3o1hMVNXOIR3Q2fMTNYOKQ3R2fMQN[OKQ3T2fMlM\\OOo2U2gMfM]O4n2V2gMaM^O8k2W2m0hMTOX2k0iMUOW2k0hMVOX2j0gMVOZ2i0fMXOZ2h0fMXOZ2h0eMXO\\2g0dMZO\\2f0cM[O]2e0cM[O]2d0cM\\O^2d0aM]O_2c0aM]O^2c0bM]O_2c0aM]O_2c0aM]O^2c0cM]O]2c0cM\\O]2e0cM[O]2d0cM]O\\2d0dM[O]2e0cM[O\\2e0eMZO\\2f0dMZO[2g0eMXO\\2g0dMZO[2g0eMXO\\2h0dMXO\\2g0eMXO\\2h0dMXO\\2h0dMWO]2h0cMYO]2g0cMXO^2h0bMXO^2g0cMYO]2g0cMXO^2h0bMXO^2g0bMYO_2g0aMYO_2g0aMXO`2g0aMYO_2g0aMXO`2h0`MXO`2g0`MYOa2g0_MYOa2f0`MYOa2g0_MYOa2f0`MYOa2g0_MYOa2f0_MZOc2e0]M^LGMm2c3]M`LKHi2g3[McLOBh2h3YMhL3ZOg2l3UMlL7TOg2l3SMPM9QOf2m3PMTM;mNh2k3mLZMfNo2f3cLfM?bNR3d3^LlM`0^NW3a3ZLRN`0[NZ3_3ULWNb0YN]3\\3PL]Nd0UN`3Y3lKdNd0QNe3W3fKiNg0nMf3U3dKmNh0lMh3S3_KROj0jMj3P3\\KXOk0eMm3P3WK\\Om0cMo3m2UK@n0aMo3o2PKAR1_MP4Q3jJAX1[MQ4k6PLSIS4k6oKRIT4l6mKRIU4m6lKQIV4m6lKQIW4m6iKRIY4l6iKRIY4m6hKQIZ4n6gKkH`4S7aKfHg4Y7k1O0O2O0O2O1O0O2O0O2N2O0O2N1O2N101N1O2N1O2O0O1O2N101N1O1O2N100O2N1O2O0O1O2N1O2O0O1O2N101N1O101N102M2N3N1N2N3N1N3M2O1N3M2O2M2N3N1N2O2N101N1O2N2N2N3M2O1NRJ"},"score":0.163},{"image_id":474,"category_id":40,"segmentation":{"size":[500,333],"counts":"h_;1b?2N2N1O2N1O2N1O0000000000O2O01O1O0O2O1O001N2O001N2UB@aZCDf<7oAHS>7mAHU>6f0O1N1O2O1N2OoT\\3"},"score":0.962},{"image_id":486,"category_id":44,"segmentation":{"size":[427,640],"counts":"acS8b0e<7L3M100O1O1O1KQOmCQ1R<4000000001O3MYc0"},"score":0.286},{"image_id":486,"category_id":50,"segmentation":{"size":[427,640],"counts":"Qcm2b0j<9G=I2OH8H8YOP[Z5"},"score":0.24},{"image_id":486,"category_id":44,"segmentation":{"size":[427,640],"counts":"m`_6;j<600M4L3001O0001O000000001O000000O4M1O1O001O[ha1"},"score":0.004},{"image_id":486,"category_id":44,"segmentation":{"size":[427,640],"counts":"Q]R1l0_<1O0009Go[V7"},"score":0.14},{"image_id":486,"category_id":49,"segmentation":{"size":[427,640],"counts":"hhQ32Y==B0;Ed]W5"},"score":0.182},{"image_id":486,"category_id":51,"segmentation":{"size":[427,640],"counts":"\\j^31Y=3M3M3M3M3M3L4N2M3N3M2M3N2M4M2N2M4M2M3N2M4M1O1N2F:N3N1N2O1N1O100O10000000001O000000000000000000000008H01O000000000O100000000000001O000000000000000000O1000000000000O0100001O00000O10001O0000000O2O0O1O100O1O2N100O1O1O101N1O1O100O2N1O1M4K4M4L3M4L3M3L5L3M4N1O2M2O1O5K`PU3"},"score":0.915},{"image_id":488,"category_id":1,"segmentation":{"size":[406,640],"counts":"oXY23b<3M1O2N1O1N2O1O1N2O1O100O1O100OGRDLm;4UDKk;5VDJi;6YDIg;6ZDJe;6=10O00O1O2O000001O01N1N2kMARHa0l7CTG0E`0T9DSG4A:^9BnF7A8b9AkF:_O7h9_OeF=D2h9BaF?FOj9B[Fd0KHl9CVFi0MCn9EQFk02^Oo9GlEn04ZOQ:T1oEkNR:T1oEiNT:W1kEhNV:Y1jEeNX:[1gEcN[:]1fEaN[:`1dE_N^:a1bE]N_:d1`EZNb:f1_EXNb:i151O1N101O001O001@TNSFm1l9`0N1O101N1OQOWFTOg9k0\\FVOb9i0`FWO_9g0eFYOX9f0kF[OS9c0oF^OP9d0oF]On8f0QG^Ok8d0SGK]86cGLZ85fGMX84gGKY86gGIY87hGHX89gGGZ8PO]G`09?[8oNbG>3b0]8mNcG?1d0]8jNeG`0Oe0^8iNeG`0Nf0^8hNgG`0Lg0^8fNjGa0I4EBh8GoG4QO4e0100e9N]G1d8M]G3d8K^G5b8I`G6a:O0O2O0O2O0OYd[4"},"score":0.596},{"image_id":488,"category_id":39,"segmentation":{"size":[406,640],"counts":"mXd21c<3N200O1000000O1000O010O100O010O100O010O10O010000O010O100N\\\\20ecM001000O0100000O01000O01000O01000Onb1OR]N100010Na^`4"},"score":0.379},{"image_id":488,"category_id":40,"segmentation":{"size":[406,640],"counts":"R_o63b<1O2O1N100001O0O3LTZj0"},"score":0.984},{"image_id":488,"category_id":1,"segmentation":{"size":[406,640],"counts":"Smk61d<101K4M3M3M3L1HA_D9b;L]D3c;2YDMh;?2O010OK5O20OcDTOR;l0kDXOT;g0mDYOU;e0jD\\OX;a0bDFb;f00O1H8K4N313L4L2O001O000O01O01O0O2O0O2N2N[i`0"},"score":0.661},{"image_id":488,"category_id":1,"segmentation":{"size":[406,640],"counts":"a\\?9o:JZF`0\\9BaFb0[9BbF`0\\9BbF`0\\9BbFa0[9BaFa0\\9BbFa0[9BbF`0\\9BbF`0\\9CaF`0[9CbF`0\\9CbF>\\9DcF<]9GaF9^9M\\F3d9`1O010O001O1O001O0010G_F\\Ma9b2fFZMY9d2=M3N2M3N3M2M3N2M3001O2O0O1O2N1O1O1O2N1O1O2M2O1N5K5K5K5K5L4L4M3Lk0UO1O1O100O1010[M^H4b7IcH5]7HiH5X7GmH7S7FSI7m6FXI8i6C^I;a6BdI<\\6CiI9X6DYJMg51gJCY5;nJ@S5>QK_Oo4?SKAm4=UKCm48WKFl44XKLj4OYK1j4HZK7d8O00000O6KZXZ6"},"score":0.566},{"image_id":502,"category_id":23,"segmentation":{"size":[427,640],"counts":"ii_2j0^10001N10O0100[AM\\>2cAO]>2bAN^>3`AMa>4^ALc>8001O001O1OO001O001O010OK\\AOd>1^ANa>3_AM`>3aAL_>4610O00dda4"},"score":0.519},{"image_id":520,"category_id":16,"segmentation":{"size":[480,640],"counts":"`n[31n>1O1LOXA1h>400O010OO2O0010O100O101N100000H[A6h>O0010O01O1O010O1O100O1O10_b`5"},"score":0.373},{"image_id":520,"category_id":1,"segmentation":{"size":[480,640],"counts":"leb37g>3N3L4M2N3N1N3N31N;E3L3L2M2N`Xb5"},"score":0.371},{"image_id":520,"category_id":48,"segmentation":{"size":[480,640],"counts":"lcc63m>3L1O10O100000000O10000001O2N2N22N6Jh^_2"},"score":0.874},{"image_id":520,"category_id":16,"segmentation":{"size":[480,640],"counts":"l53m>100O1\\ALZ>4eAM\\>3cAM]>7_AIa>;2N1O1O1O1O00O1N11O0J]A0d>O]A1c>O^A0a>0`A0a]R9"},"score":0.564},{"image_id":520,"category_id":16,"segmentation":{"size":[480,640],"counts":"dWa61o>0J1[AOe>6001O01O001O00100O001OI[A3e>L]A4b>L_A4a>K`A4h>O00U\\a2"},"score":0.608},{"image_id":520,"category_id":16,"segmentation":{"size":[480,640],"counts":"Yi[11o>000Q?0o@0010O01O010O010O1O100O0XAMd>3[AMe>4YAMh>2XA0f>51O0O101N01O0O2OK[A1c>0^A0a>0aAN]>4601O1Ooi_7"},"score":0.937},{"image_id":520,"category_id":44,"segmentation":{"size":[480,640],"counts":"mhY21o>1N010O10OXAOb>2^AOa>0`A0`>2]AOb>8000000O11O00004L00000O1O010O4LR`f6"},"score":0.507},{"image_id":520,"category_id":1,"segmentation":{"size":[480,640],"counts":"U^^72m>3XAN^>:1O001O0000jii1"},"score":0.446},{"image_id":536,"category_id":62,"segmentation":{"size":[336,448],"counts":"^im26U:`1`N4L5K5QLUOVMnNTOR2g36nKoMOP2T4OnKj0S4SOoKl0R4SOoKk0S4SOoKl0R4ROQLl0P4SOQLl0P4RORLm0o3RORLm0o3QOTLn0l3QOULo0k3POVLQ1i3mNZLR1f3lN\\LT1d3cNeL]1[3bNfL^1Z3bNgL]1Y3bNhL^1X3aNiL_1W3`NjLa1U3^NlLb1T3^NlLb1T3]NmLc1S3\\N[LiN@k2U4[N[LkN@j2U4[NZLmN@h2V4ZNYLPOAf2V4YNYLROAf2V4SN]LWO]Of2V4oM`L\\OZOe2V4iMeLDTOc2W4eMlLEmNf2W4dMoLDjNh2W4bMSMDfNg0BW1e4\\NWMDbNg0IT1^4`NiM:PNR1V4bNlM2aMId0^1o3eNnM1eMGb0a1k3eN^OZ1b0eN@Z1`0dNB\\1>bNE]1;bNG]1f40100O1O001O1O1O0010O00O100O1O1O1O1O1E;E;O1O1O1O1O1N2O1O1O1O1O^`00c_O2N2O1N2N2N2N2N2N2N2N2N1O2N2N1O2N2N1O2N2N1O2N2N1O2N2N1O2N2N1OH8^Ob0^OkR1InmN2M3N3N1O1O0O1000O10000O1000000O0100O10OeFJ\\8W1O1N2O1N1O100O100O10cNmG_5E\\Jb0_5A\\Jf0_5]O\\Jj0_5X2K5J8I8dK`JY3g5[L_Jd3W6O2N1O1N2N2N2N2N2M3N2N2L4K5N2O1O100O100O100O1O100O100O100O1O1000000100O001O001O001O001O2N2N3M2N2N2N2N2Ne0[O2N2N1O1O1O001O1O1O001O1O1O3nJcKk3a4kKfKU4c4[KeKc4U5`K\\JR4f5kK\\JT4e5iK^JV4d5fK^JZ4n5N6J5K5K5K6J5K5Kk0UOb0^O7I8H8H8H7I8H8HcVb1"},"score":0.584},{"image_id":536,"category_id":1,"segmentation":{"size":[336,448],"counts":"iZm04[:Z1gN>B1O1N101]JSNa2n1gLkNW3V1WL\\Og3f0iKKU46eK1MlM_3S2^L9IlMi3l1XL?EmMR4f1SL[1m3fNlK`1T4^2N2J6M3N2N2N2oNZIWNg6h1]ISNe6l1`InMb6P2cIkM_6T2fIbM`6]2j0N2O1O1O1N20000000000O10000000000000000000000001O00001O00001O0gIgM[4Y2`KlM`4U2[KoMe4Q2XKSNg4m1VKVNj4k1SKWNm4k1oJWNQ5l1jJWNU5k1fJXNZ5k1aJXN^5^3O001O1O1O001O1O001O1O3M3M2N3fLUKi0n4QOYKk0g5RN`Jj1[6YMkIc2U7L4K5L3M4L4L4L4L3M7I8H8H8WOjPe2"},"score":0.769},{"image_id":536,"category_id":31,"segmentation":{"size":[336,448],"counts":"[j76W:`0_O6K5L4K5M3M7I6J7I6J101NYOmGSOR8n0RHnNm7S1WHiNh7X1\\HdNd7\\1`H`N`7`1h0000000O10000O100O100O2N101N2N2NeGmN[7T24L4L4LR1nN3M2N2N2Lefl3"},"score":0.176},{"image_id":536,"category_id":31,"segmentation":{"size":[336,448],"counts":"Zao15U:7I7L3N3N2M3N1O2M3N1N20O010000O10000O10000O1000O01000O10000O10000O10000000001O0000001O0000001O0001O1O010O0011O3L3N3L2O1O1004M2MM3E;I7M4KQjl1"},"score":0.071},{"image_id":536,"category_id":31,"segmentation":{"size":[336,448],"counts":"l\\c38X:3NO1O0O2O001N2O000O10000O11O01O0000000000000000000000010OO1O100O100O1O100O1000001O00000cj`0"},"score":0.619},{"image_id":536,"category_id":77,"segmentation":{"size":[336,448],"counts":"\\QS24[:7LK5Kko06RPOOTe0MP[O3ce[2"},"score":0.324},{"image_id":536,"category_id":77,"segmentation":{"size":[336,448],"counts":"ZlQ11Re00^E100O00100O010O0N2N2O1O00N2OnELj93TFOm91PF1Q:6QFFk98UFH02i90VFO12j9MTF302Q:LoE6Q:41O2M2IolW3"},"score":0.44},{"image_id":536,"category_id":62,"segmentation":{"size":[336,448],"counts":"^^1R6^4000000000000000000000000000000000000000000000000000000000000VJmKW5o4G8H9G9G8H9G5K2N2N2N1O2N2N2N1O2N2N4L3M3M4L2N001O001O00001O001O001O001O1O0iMWHg1j7VNaHa1_7]NgH_1Y8L4L5K4L5K4L5K4L5K3M3Mb^f3"},"score":0.481},{"image_id":536,"category_id":57,"segmentation":{"size":[336,448],"counts":"RPg34[:4M2O0001M3MZfi0"},"score":0.124},{"image_id":544,"category_id":37,"segmentation":{"size":[427,640],"counts":"_Wi75U=10000O100000000000O101NTW<"},"score":0.954},{"image_id":544,"category_id":1,"segmentation":{"size":[427,640],"counts":"UWb3;o<1O1N2O001O1N2O0000O010O10O10001O001O0010OjM]OeGc0n70lG0R88hGHW8?cGA\\8g0]GYOb8o0WGQOh8W1QGiNY8^O]Go14cN\\8F\\Gm11]Nb8KYGn1OWNi8NTGR2LPNQ90PGh2Q9[MlFd2T9h02O1O2N2N2N2N2N2N1O2N1O2N1O2M3N3K5K4L4L4L3O2000O1000O2`N\\E6g:^ObEb0`:SOjEl0Y:iNoEW1T;O001O001N1010O2O1N2O0O2O1N2O100O100O1O100O10M2N3M2N3M2N3M2N2N3M2N2N3M2M3N3M2N2N2M101O001O00VnY3"},"score":0.921},{"image_id":544,"category_id":1,"segmentation":{"size":[427,640],"counts":"Ql_13X=g0YO1N2O1N2O0\\DQOk:Q1RESOl:n0QEVOm:k0PEYOm:i0oDZOQ;g0lD[OS;f0kD]OT;d0iD^OW;[1O2O0O100IQNREP2l:8O100O2O0O101N100O1O10O001O001O010O01O10O0100O010G9N110O10CfEhMZ:X2gEhMX:X2jEgMV:X2kEhMT:W2oEgMQ:Y2QFfMo9Y2RFfMn9Y2UFeMl9Z2VFeMj9Z2WFeMj9Z2d0N3N1O2N1N3N1O2M2O1iNdD>^;^OfD`0[;]OiD5e;G^D9b;DbD<^;@fD?S<01O001O10O01O001O10O01O001O0001O000000001O01O00000001O000000001O01OO1N2N1O2N2N1O2N2N21N101O1N101O0O2O1O001N1GoiT5"},"score":0.381},{"image_id":544,"category_id":1,"segmentation":{"size":[427,640],"counts":"_h?4R=5L4L5K4N3kDZOb9h0ZF_O`9c0]FAa9a0[FBd9`0XFCf9?WFDh9>TFEj9>QFFn9;kELT:f1N2O1O1O1O001O00EhEeMW:\\2jEbMV:_2kE`M4Jg9g2VF\\M4Od9f2XFZM41c9f2ZFVM36b9d2dF]M[9g2`F\\M^9k2[FVMd9Y3O1O1O10eM_Fl0`9TOdFi0\\9VOfFi0Z9VOhFi0X9VOjFi0V9VOlFi0S9WOoFh0Q9WOQGh0n8XOTG8]OnN[9m0ZG3\\OPOU9Q1bGMZOQOn8W1jGGXOQOn8X1lGFWOQOl8Y1PHDTOSOl8[1oGAVOROl8]1PH^OVOTOi8_1RHmNDC[8`1\\I_Nd6a1\\I^Nd6b1^I]Nb6c1_I[Na6i0RGO^2WO`6k0SGL`;3lDBS;>oD@Q;`0PE@P;`0PE@o:`0RE_On:a0RE@n:?SEAl:`0TE_Om:>UECj:m;BRD>o;?0000000001O000;F1N1O4L4M3L4MPUg4"},"score":0.739},{"image_id":544,"category_id":1,"segmentation":{"size":[427,640],"counts":"nk_21Z=0O1O1O2N1O1O100O2N1O1O100O2F9N20000O100010O2M2N1O1J6M3O100O1001O1O001O5J2O1O1O0O1ORDTO_;k0]DZOc;W11O1O1O1O1O2_OQDBPN2Mdh`7"},"score":0.439},{"image_id":544,"category_id":1,"segmentation":{"size":[427,640],"counts":"mf74U=3M3N2N3N2F9K5O2M2N3N1O1O2N2N1OO2O1O1O?A1O2Oa0^O3Mjfh7"},"score":0.913},{"image_id":544,"category_id":54,"segmentation":{"size":[427,640],"counts":"`af61Y=5A>L3M3N1O1NIgC]OZiCAX<`0gC@YdD?Z;DcD>[;I_D8`;NYD4e;2UDOj;8oCJo;=kCDTBT_k2"},"score":0.292},{"image_id":564,"category_id":1,"segmentation":{"size":[640,520],"counts":"Pa_85jc04M1O0O2OO1O001O00100O001O1O1O01000O100000O010000OYO:U]OGjb0;U]OEjb0O1O1O001O1dI"},"score":0.17},{"image_id":564,"category_id":43,"segmentation":{"size":[640,520],"counts":"YZa55jc01000000000000000000000000000001O000000000O100O1O100O1O100O100O1O2O0O1O2O0O2O0O1O2O0O2N100O2O0O1O2O000O2O000O10000O101O000O10000O2O0000000000001OO1000001O0O1000000O2O001O000O2O001O0O2O001N1O2N1O2N2M2O2N2N1N3IXRb2"},"score":0.658},{"image_id":564,"category_id":62,"segmentation":{"size":[640,520],"counts":"PTU11mc02N2N2O1N2N2N2O1N2N2N2N2001O000000000000000000001O000000000000000000001O00000000008H[PU8"},"score":0.842},{"image_id":564,"category_id":62,"segmentation":{"size":[640,520],"counts":"oWQ21mc02N2O1N2O1N2O1N2O0O2O1O1O1O01000O10000O1000000O10000001O00000000001O000000000100O1O01M2OedW7"},"score":0.721},{"image_id":564,"category_id":62,"segmentation":{"size":[640,520],"counts":"nok32kc03N2M3N2N2M3O1O1O1O100O1O100000000O100000000O1000000O1001O0000000000000000000000001O001O1M3Eod[5"},"score":0.807},{"image_id":564,"category_id":62,"segmentation":{"size":[640,520],"counts":"]Ro41nc01N2O1N2O1O1N2O1N2N2N2N2N2O100O1000000O1000000000000O100000000000000000000000O1000000000001O00001O00000100O01G7M2N00000O10000000000001O01O000001O0000O100000000nBJX;7aDO`;1\\D3d;LYD7g;JUD:j;FSD=n;CcCl0\\100O001O2N2O0O2N2N2fAHi=h00VOoAa0T>^OQB7V>Hhae6"},"score":0.839},{"image_id":569,"category_id":38,"segmentation":{"size":[480,640],"counts":"YXS2;a>6O0O2O0O2O0ON3N1N3N1N2O2M2O1N2O100O100O10e]n6"},"score":0.761},{"image_id":569,"category_id":38,"segmentation":{"size":[480,640],"counts":"a`o11n>4M3N2N2]AHY>?2N100JcAG^>8bAH`>6`AJb>3_AMc>1\\A0e>O[A0j>1O000O11O001O0000O100XhP7"},"score":0.369},{"image_id":589,"category_id":34,"segmentation":{"size":[480,640],"counts":"Zej62m>001000O0100O100000000O10000000O1N2Ol]X2"},"score":0.729},{"image_id":589,"category_id":1,"segmentation":{"size":[480,640],"counts":"RSY53l>7I10O1000002M01O1O1O1O001O1O1001N10O100O010O1O0O001O1O001O010O1O101N1O1N3L3N2M4K4M2N22N2O1O010O10O010O0O001O001O002N2N2N2N2N1O1O2N1O2L3K5K6K4M3M4L3N2M4N2O0TOXMaEi2_:]MZEd2f:aMTE_2m:fMlD\\2S;i001O001N101O00001N1UFSLc8n3ZGTLf8l3XGWLg8j3WGXLg8i3YGXLf8i3XGYLg8g3XG[Lg8f3VG\\Lj8d3TG_Ll8a3QGaLQ9]3mFeLT9[3iFgLX9h1]FkN9_O[9_1cFQO0B^9U1jFYOFDa9k0oFA_OEc9c0UGHVOVOLMV:i0gF4VOVO4HP:l0iF4QOXO7Ho9;iEKT1X1WObNk9;lEJS1V1WOeNj9:oEIP1W1YOfNf9:QFJP1U1[OfNd9;QFJP1T1\\OhNb9:RFJP1S1^OiN_9:RFKQ1Q1@iN\\9ABO8n6CSI4??ABN7Q7DQI5>N22^O6R7EPI6=N22]O4V7EPI7:N23^O1X7HmH6;N23]O1[7HjH7;M33]OOGD`76oH79N32]OOFGc73mH89M42]OMELd71mH69N42\\O8Z7AmH88N32^O7Z7BlH88M42^O7[7AlH96M52]O9\\7_OkH97M44]O7]7@kH86N34^O7_7^OkH94N44^O8^7^OlH74O35^O8`7]OkH73O36_O7`7]OlH71026@8a7[OlH71O18A7a7\\OlH51009A7c7ZOkH71OO9B8b7ZOlH60OO:B8d7YOkH60NNB7f7WOlH5OOK?D6f7WOmH5MOK`0E5g7WOlH5MNKa0D7g7VOmH3M0Ia0F6h7UOmH4LOHc0F6i7UOmH3KOHd0G6i7TOmH2LOFm1a7RNnH2J0Em1d7QNmH2JODP2d7PNnH1IOCS2g7kMmH3JO@U2i7iMmH3IO@W2j7gMmH3Ib2Z7ZMnH4Gc2\\7XMmH4Hd2[7XMmH4Ge2\\7VMnH5Ef2]7UMnH5Ef2^7TMmH5Eh2^7SMmH5Eh2^7TMlH4Ei2`7RMkH5Ei2NTMo6N^I4Ek2KYMo6I`I3Fk2I_Mm6CdI3El2GdMn6\\OeI4Gl2CjMn6VOhI4FQ4^6lKkI4FS4\\6iKnI4EX4Z6cKQJ5E[4W6aKSJ4E`4T6\\KWJ4Ce4S6WKZJ4Aj4S6QK\\J5@o4P6mJ_J4_OT5o5hJbJ4]OZ5m5bJfJl5X5TJgJP6U5PJkJS6R5mInJV6o4jIPKU6S5kIlJR6i4"},"score":0.751},{"image_id":599,"category_id":17,"segmentation":{"size":[407,640],"counts":"Qi7B1O00001O0N2O2N1O1O1O2N1O1O2N1O1O2M2O1O1O2N1O1O1O1O1O1O1O1O1O1O1O1O1O1O100O1O1O1O1O1OBkI\\JT6_5VJ]Ji5^5bJ]J]5_5o001O0O0100000O1000O010000001O1O1N2O2M2O1N2O1O1N2O1N2O1N2O1O1N2O1O1O010O100O1O010O100O10O0100O100O10O0100O100O010O100O10000O10000O10000O100O10000O1000001N10001N2O1O0O2O1O1O1N2O1O1N2O001O1N2O000O2O0000000O100000001N100000000O1000001O0O100000000O101O0000000O100000000O100000000O100000000O10000000000O1000000O10000O1000000O10000TNQHoNP8Q1THkNl7T1XHiNh7W1[HeNf7[1]HbNc7^1`H_N`7a1dH[N\\7e1gHWNZ7i1iHTNW7l1mHPNS7o1QIiMT7W2PIaMT7_2mH[MX7e2]10O2O00001O001O001O00001N101O001O1O001O1O1O001O0O2PMlL[LT3c3RMYLn2e3WMXLi2e3]MXLd2e3bMWL^2f3hMWLX2g3nMULR2i3SNTLm1i3YNTLg1j3_NRL`1l3fNPL[1n3iNPLW1n3mNPLS1m3SOPLl0o3XOiKn0V4VOaKP1^4SOYKS1f4QORKU1m4oNiJX1V5T301O1O001O2N1N2O1O2N1O1O1O1O2N000O10O100000000O01000O100O10O10001O001N110O010O1O012M2O2_LQHU2Q8bMZH[2h7aM]HZ2f7dM^HX2e7dM`HW2T9Kd0\\O4hN`ELj:3m00001O0O2O001L3M3L5K`nb2"},"score":0.952},{"image_id":599,"category_id":63,"segmentation":{"size":[407,640],"counts":"ZXf0P4g8^2TJiL\\MW3R1[NnNe1R1[NnNf1Q1ZNoNf1R1YNnNg1R1YNnNh1R1WNnNi1R1WNnNi1R1WNnNj1R1UNnNk1R1UNnNk1S1TNmNm1R1SNnNm1R1SNnNm1S1RNmNo1R1QNnNo1S1PNmNP2S1PNmNQ2R1oMnNQ2S1nMmNR2S1nMmNS2R1mMnNS2S1lMmNT2S1lMmNT2T1kMlNV2S1jMmNV2S1jMmNV2T1iMlNX2S1hMmNX2T1gMlNY2T1gMlNZ2S1fMmNZ2T1eMlN[2T1eMlN\\2T1cMlN]2T1cMlN]2T1cMlN^2T1aMlN_2T1aMlN_2U1`MkNa2T1_MlNa2T1_MlNa2U1^MkNc2T1]MlNc2T1]MlNc2U1\\MkNe2T1[MlNe2U1ZMkNf2U1ZMkNf2U1ZMkNg2U1XMkNh2U1XMkNh2V1WMjNj2U1VMkNj2U1VMkNj2V1UMjNl2U1TMkNl2V1SMjNm2V1SMjNn2U1RMkNn2V1QMjNo2V1QMjNP3V1oLjNQ3V1oLjNQ3V1oLjNR3V1mLjNS3V1mLjNS3W1lLiNU3V1eIjNV20U4V1^IVOX2DZ4W1WI@Z2YO`4V1PIL[2nNe4g2XKYMh4h2WKXMi4i2VKWMk4i2TKWMl4j2SKVMm4k2RKUMo4k2PKUMP5l2oJTMQ5m2nJSMR5n2mJRMR5P3mJPMR5R3mJnLR5U3lJkLS5]3fJcLZ5c3^IaL6L[6g4^IYKa6P5WIPKh6X5QIhJn6a5O1O1O1O1O1O100O1O1O1O1O1O1O1O1O1O100O1O1O1O1O1O1O1O1O1O100O1O100OROTJSKk5m4]JlJc5S5eJfJZ5Z5lJaJS5^5oJbJQ5]5PKcJo4]5RKcJm4]5TKcJk4\\5WKdJi4[5XKeJg4Z5[KfJd4Z5]KfJc4X5_KhJ`4X5aKhJ^4X5cKhJ]4V5fJiJ<1l4W5dJlJa0Mj4V5bJRKd0Hi4V5^JXKi0Bh4U5^J\\Kj0_Og4U5_J]Kj0^Oe4U5aJ_Kj0\\Od4Q6\\KoIc4T5cJcKj0YOb4S6^KmIa4T6_KlI_4V6aKjI^4W6bKiI]4X6cKhI\\4Y6dKgI[4Z6eKfIY4\\6gKdIX4]6hKcIW4]6jKcIU4^6kKbIT4_6lKaIR4a6nK_IQ4b6oK^IP4c6PL]Io3d6QL\\In3e6RL[Il3g6TLYIl3g6TLYIk3h6ULXIk3h6ULXIj3i6VLWIi3j6WLVIi3i6XLWIg3j6YLVIf3k6ZLUIf3k6ZLUIe3l6[LTIe3l6[LTId3m6\\LSIc3n6]LRIc3n6]LRIb3o6^LQIb3o6^LQIa3P7_LPI`3Q7`LoH`3Q7`LoH_3R7aLnH^3R7cLnH]3R7cLnH\\3S7dLmH\\3S7dLmH[3T7eLlHZ3U7fLkHZ3U7fLkHY3V7gLjHX3W7hLiHX3W7hLiHW3X7iLhHW3X7iLhHV3Y7jLgHU3Z7kLfHU3Y7lLgHT3Y7lLgHT3Y7lLgHT3Y7lLgHT3Y7lLgHT3Y7lLgHT3Y7lLgHT3Y7lLgHT3Y7lLgHS3Z7mLfHS3Z7mLfHS3Z7mLfHS3Z7mLfHS3Z7mLfHS3Z7mLfHS3Y7nLgHR3Y7nLgHR3Y7nLgHR3Y7nLgHR3Y7nLgHQ3Z7oLfHQ3Z7oLfHQ3Z7oLfHQ3Z7oLfHQ3Z7oLfHQ3Z7oLfHQ3Z7oLfHQ3Z7oLfHQ3Z7oLfHQ3Y7PMgHP3Y7PMgHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHo2Z7QMfHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHn2[7RMeHm2\\7SMdHm2\\7SMdHm2\\7SMdHm2\\7SMdHm2\\7SMdHl2]7TMcHl2]7TMcHl2]7TMcHk2^7UMbHk2^7UMbHk2^7TMcHk2^7UMbHk2^7UMbHk2^7UMbHj2_7VMaHj2_7VMaHj2_7VMaHi2`7WM`Hi2`7WM`Hi2`7WM`Hh2a7XM_Hh2a7XM_Hh2a7XM_Hg2b7YM^Hg2b7YM^Hg2b7YM^Hf2c7ZM]Hf2c7ZM]He2d7[M\\He2d7[M\\He2d7[M\\Hd2e7\\M[Hd2e7\\M[Hd2e7\\M[Hc2f7]MZHc2f7]MZHc2f7]MZHb2g7^MYHb2g7^MYHk0KJl7[OYHh0OKi7]OXHe03Me7^OXHb08N`7@XH`0;N^7BWH?=N\\7CWH>?NZ7DWH>a0KY7GVH?a0IY7HVH?b0HX7IVH`0c0eN]O?o7eMl0P6lNXL8hMl0m5ROWL3lMj0j5ZOWLLoMj0g5@WLFRNj0f5DULBUNj0e5HSL^OXNj0c5MRLYO[Nj0b51PLUO^Nj0a55nKQOaNj0`59lKmNdNj0_5=jKiNgNi0_5c0fKdNkNi0]5h0eK_NnNi0\\5l0bK\\NROh0[5P1`KXNUOh0Z5T1^KTNXOh0Y5X1\\KPN[Oh0X5\\1ZKlM^Oh0W5`1XKhMAh0U5e1UKeMFf0T5i1nJfMNa0S5m1gJgM6mLh54RKj0lNR29RMi52SKb0TOW20VMi51UK`0TOH5X1IaNi5OVK:ZO@=^1]OkNf5MXK3f0l0`NVOb5KYKMm0i0\\NA^5IQN7hL2W5G^O;b0E\\O=d0CZO?f0AWOb0i0^OUOd0k0\\OSOf0m0ZOQOh0o0XOPOi0P1WOoNj0Q1VOnNk0R1UOnNk0R1UOmNk0T1UOlNk0T1UOlNk0T1UOlNk0T1UOlNk0T1UOlNk0T1UOmNj0S1VOmNj0S1VOmNj0S1VOmNj0S1VOmNj0S1VOmNj0S1VOnNi0R1WOnNi0R1WOnNi0R1WOnNi0R1WOnNi0R1WOoNh0Q1XOoNh0Q1XOoNh0Q1XOoNh0Q1XOoNh0Q1XOoNh0Q1XOPOg0P1YOPOg0P1YOPOg0P1YOPOg0P1YOPOg0VKTOY55Ag0SKXO[51Cf0PK\\O\\5NDe0nJB\\5IFe0lJE]5FGe0iJI_5BH^17bNJ_14aNL`13`NMa12_NNb11^NOd1O\\N1e1N[N3e1L[N4f1KZN5g1JYN6g1JYN6g1JYN7g1HYN8g1HYN8g1HYNhMICo1d2XNfMLFl1d2XNbM1Ih1d2WN`M4Md1c2XN]M8O`1d2XNZM;2^1c2WNPLf1]13c2W1\\MjNc2V1^MiNb2X1]MhNc2X1]MiNb2W1^MiNb2X1]MhNc2X1]MiNb2X1^MgNb2Y1^MhNa2X1_MhNa2Y1^MgNb2Y1^MhNa2Y1^MgNb2Y1_MgN`2Y1`MgN`2Z1_MfNa2[1^MfNa2[1^MeNb2]1]MbNc2_1\\MbNc2_1\\MaNd2`1[MaNd2`1[M`Ne2a1ZM_Nf2b1ZM^Ne2d1YM\\Ng2e1XM\\Ng2e1XM[Nh2f1WMZNi2g1WMYNh2h1WMXNi2j1UMVNk2k1TMVNk2k1TMUNl2l1SMUNl2l1TMSNl2n1SMRNm2P2QMQNn2P2QMPNo2Q2PMPNo2Q2QMnMo2S2PMmMP3T2oLlMQ3U2nLkMR3W2lLiMT3X2kLhMU3Y2kLgMT3Z2kLfMU3[2jLeMV3\\2iLdMW3^2gLbMY3_2fLaMZ3`2fL_MZ3b2eL^M[3c2dL]M\\3d2cL\\M]3f2aLZM_3g2aLXM_3i2`LWM`3j2_LVMa3k2^LUMb3l2]LTMc3m2\\LSMd3o2[LQMd3P3[LPMe3Q3ZLoLf3R3YLnLg3S3XLmLh3T3XLkLh3W3VLiLj3X3ULhLk3Y3TLgLl3Z3SLfLm3[3RLfLm3[3SLdLm3^3QLcLn3^3QLbLo3_3PLbLo3_3PLaLP4`3PL`Lo3a3PL_LP4b3oK_LP4c3nK]LR4d3mK\\LS4e3lK\\LS4e3mKZLS4g3lKZLS4g3lKYLT4i3jKXLU4i3jKWLV4V6O001O001O001O001O00001O001O001O001O001lMZG5f8KgGHZ86TH]Ol7c0aHPO_7o0nHeNR7Z1W2O0O10YG"},"score":0.314},{"image_id":599,"category_id":75,"segmentation":{"size":[407,640],"counts":"`\\o51e<1N3M3N3L3M3N2M4L3N2M3N3N1O100O2N00001O00001O001O01O01O00001O001O01O01O000010O01O000010O0001O0010O0001O00010O00001O010O00001O01O01O000010O0001O00010O00001O01O0001O00010O00001O01O01O000010O000001O01O01O000010O0010O0001O010O00010O0010O00010O01O0010O00010O01O01O01O010O001O01O01O010O00010O0010O0001O010O0010O00010O01O01bH"},"score":0.438},{"image_id":599,"category_id":75,"segmentation":{"size":[407,640],"counts":"a]h41d<2N2N2N2N3M2N2N2N2N2N2N2N2N2N2N2O11O001O01O0001O00000000001O00000000001O01O00000001O00000000001O00000000010O0000000M3J7O000001O0001O0001O0000010O0000000010O00000001O01O000001O0001O0001O000001O01O000000010O0000000010O000001O0001O0001O000001O01O00000010O0001O0000010O00001O0001O01O00001O01O0001O000010O000001O00010O0000001O01O01O00000010O0001O0000010O00001O00010O0000001O01O01OF:N2N2N3L3N2N2N2N2NYXg0"},"score":0.492},{"image_id":623,"category_id":15,"segmentation":{"size":[500,375],"counts":"YYZ43[?6O2N1O2N1O2N1L5K4L5L4L3N3L3O2O00101N2O1N1O2O1N1O2O0O2N100O2N100O2N1O1O1O2N1O1O2N1O1N3N1O1O2N1O1O2N1O1O2N1O2N3L5L3M4L3M4nD^Lj9e3QFbLj9`3RFfLj9]3QFoLOTOT9o3jFTMLnNY9Q4fFTMOmNZ9Q4cFTM2mNZ9R4_FTM6jN[9`5cFbJ\\9^5dFcJZ9_5cFdJ\\9k5O1O1O001O1O001O1O1O001N2O001O1O002cG^Id7h6RH[Io7U70OfM"},"score":0.823},{"image_id":623,"category_id":88,"segmentation":{"size":[500,375],"counts":"^W>8[?k0PIKlLo0]2h1iJSO^4l0aKOf30YLk0n2TOQMg1W2WNhMc2`1\\M_N_3h0`LXOZ4OeK1U5VOjJi0P6`NnI`1S:000000O100000000O100000000O100000000O100000000O100000000O100000000O100000000O10000000000000000000000000000000000000000000000000000000000000000000000000000000000O1000000000000000000000000000000O100O10000O10000O10000O10000O1O1O100O1O100O1O1O100O1O100O1O100O1O1O100O1O100O1O1O1001O00000000000000000000000SCVOP;j0mDKa:5[E=W:CeEc0Y:^OcEg0[:YOaEl0^:W2N2N1O2N2N2N1O2N2N1O2N2N2N1O2N2N1O4L4L3M4L4L4L4L3M4L4L4L3M2N0000000000000000000lITJ`2l5aMcKo0]4QOfLLZ35jLFV3:PM@P3a0UMYOk2g0ZMTOg2l0^MnNb2R1cMiN]2X1hMbNX2^1mM]NS2d1RNVNn1j1WNQNi1P2[NkMe1U2]NiMc1X2^NfMb1Z2`NdM`1]2aNaM_1_2bN`M^1a2cN]M]1d2dNZM\\1f2fNXMZ1i2gNUMY1k2hNTMX1l2jNRMW1n2jNPMV1P3nNlLR1T3g51O000010O000010O00010O00010O01O00010O00010O00010O001O01O01O01O01O01O01O010O000010O00010O0001O010O00010O000010O01O01O01O00010O000010O01O01O01O00010N10001O1O1O1N2O2N1O1O1O1N2O1O1O2N1O1N2O1O1O1O2N1N2O1O1O1O1O2M2O1O1N2M3N2MbG"},"score":0.872},{"image_id":623,"category_id":62,"segmentation":{"size":[500,375],"counts":"mjW44^?3M4K4M4L3M4K4M4L3N3M2N3M2N3M2N3M2N2O2N1N3N1O2N1O2N1O2N1O2N1N3N1O2N1O2N1O2N1O2M2O1O2N1O2N1O2N1O2M2O2N1O2N2N4L5K5K5J6K5K5K4LP1PO2N2N2N2M3N1O2N2N1O1O1O2N1N2O1O2N1O1O1O2N1O1N3N3M2N3M3M001O001O0O101PN"},"score":0.872},{"image_id":623,"category_id":1,"segmentation":{"size":[500,375],"counts":"\\]V21^?7H8H8H8I7G9G9H7H9G9H8J6M3M3M3L4M3M3M3M3M2N3M3M3M3M3M3L4M3MX1hN1O2N1O1O1O2N1O1O1O2M2WIlIR4T6lKUJm3l5PL\\Jj3d5ULdJd3\\5\\LkJ]3U5dLPKV3Q5iLVKP3j4QM[Kh1ZNlL[6\\1bKn0fNeMi5]1gK5TO]NV5^1lK[OBVOb4_1SLaNN0o3`1XLgM=h0\\3`1_O_Na0b1^O^Nb0b1_O]Na0c1@\\Na0d1^O\\Nb0d1_O[Na0f1_OYNa0g1_OYNb0g1^OXNb0h1_OWNa0i1_OVNc0j1]OUNc0k1^OTNb0m1]OSNc0m1^ORNc0n1]OQNc0o1]OQNc0o1^OPNb0Q2]OoMd0P2\\OPNd0Q2\\OnMd0R2\\OnMd0R2\\OnMe0R2ZOnMf0R2ZOnMf0S2YOmMh0R2XOmMi0T2VOmMi0S2WOmMi0S2WOnMi0R2VOoMi0Q2WOPNh0Q2WOoMi0Q2WOPNi0P2VOQNi0o1WORNh0n1XORNi0n1VOSNi0m1XOSNg0n1XOSNg0m1YOSNh0m1WOTNh0l1XOUNg0k1YOUNg0l1YOTNg0k1YOVNf0k1YOVNf0j1ZOVNg0j1XOWNg0i1ZOWNe0i1iMeMSMc0S5i1`M_NkLHf5h1WM[O`LnNX6h1oLd0P3\\OgLo0W3RO`LX1_3gNYLd1d3\\NSLo1k3RNoKU2o3kMPLX2o3hMoK[21VKg1_2VN_2KZKm1X2VNa2F]KT2Q2TNf2@`K\\2i1SNj2YOdKc2c1RNl2SOiKj2Z1QNQ3mNlKR3S1TNo2cNTLX3m0dNb2lMiL_3e0SOV4m0iKBi3=WLKb35^LKc34\\LNc31^LOb31]L0c30]L0d3N\\L4c3L\\L5d3K\\L5d3J\\L8d3G\\L9d3G[L:e3E\\L;e3DZL=f3CYL=h3BYL=h3CWL=k3AVL>k3BTL>m3BSL=n3BQL?Q4@nKa0R4_OmKa0T4^OlKb0U4^OjKb0X4]OgKc0Z4\\OfKd0[4\\OdKd0]4\\OaKe0a4YO_Kg0b4YO]Kg0d4YO[Kg0g4WOYKi0h4WOWKi0j4WOUKi0l4VOTKj0n4UOPKl0Q5TOnJl0S5SOmJm0T5SOkJm0W5ROhJn0Y5QOgJo0Z5QOeJo0\\5POdJP1b5kN\\JV1S6\\NlId1c6mM]IEYNR1h8kNnH0]NU1T9]N^H;aNX1_9oMPHf0dN[1g9eMdGm0hN]1];`NfD`1Y;^NjDb1V;[NmDe1S;XNPEh1P;UNSEk1m:RNVEn1j:oMXER2h:kM[EU2e:hM^EX2a:fMbEZ2l;00000000000000000000000O10O100000000000000F:A?A?B>Aom8"},"score":0.735},{"image_id":626,"category_id":85,"segmentation":{"size":[480,640],"counts":"^ic45K4L4M3L3N2N1O2N1O2O0O100O1000O010000O100000O100O100O1O2N2N1O2N2N2N2N2M5K4K6J5LeoT4"},"score":0.378},{"image_id":626,"category_id":73,"segmentation":{"size":[480,640],"counts":"cfj56^>`0H6N3M2M3N2N2O1O00O2O000O2O2M3L3L5K5K6GX^W3"},"score":0.701},{"image_id":632,"category_id":65,"segmentation":{"size":[483,640],"counts":"d8T6P9O1O1O1O001O1O1O1O001O1O1O1O1O001O00000000001O00000000000000001O000000000000001O00000000000000001O000000000000001O0001O000000000001O00000000000000001O000000000000001O00000000000000001O000000000000001O00000000000000001O00000000000000001O000000000000001O00000000000000001O00000000000000001O000000000000001O00000000000000001O0000000000000010O0000000000000001O00000000000000001O000000000000001O00000000000000001O00000000000000001O000000000000001O00000000000000001O000000000000001O00000000000000001O00000000000000001O0000000000000000000000001O0000000000000000000001O0000000001O000000000000000000000000000000001O0000000000000000000000000000001O001O001O001O1O001O001O001O001O1O001O001O002N3M2N3M2N2N3M2N3M2N2N3M2N3M2N2N3M2F:L5J5K6K4K5K6K4K6J5L4K6J5L5J5L4K6J5Lddk3"},"score":0.144},{"image_id":632,"category_id":64,"segmentation":{"size":[483,640],"counts":"Z\\h26m>2M3M2N1O101aABV>?gAJS>d0O1O00000102MO1000O1LlAYO[=3WCd0k<@hBJ1f0U=CgBJ4f0`QCBo<9PCRO2c0P=9oBTO0d0Q=IoBL1FOe0R=FPCO4:_=FaB7a=J_B4c=L]B2e=N\\BDQ><;000000O2O001N1O2N1N3Nofh5"},"score":0.344},{"image_id":632,"category_id":84,"segmentation":{"size":[483,640],"counts":"iXg6;h>e0\\O0O010ON2G:F9Fc[b2"},"score":0.088},{"image_id":632,"category_id":84,"segmentation":{"size":[483,640],"counts":"[ne63X>h0I70000000N2_O]Vd2"},"score":0.589},{"image_id":632,"category_id":84,"segmentation":{"size":[483,640],"counts":"aVb6g0l=`0000000`Zi2"},"score":0.902},{"image_id":632,"category_id":84,"segmentation":{"size":[483,640],"counts":"Z\\^73P?010O1O8I7H9G6KO5K;E:Gdii1"},"score":0.405},{"image_id":632,"category_id":84,"segmentation":{"size":[483,640],"counts":"Q\\V76l>8I6M32I6I7IbUT2"},"score":0.032},{"image_id":632,"category_id":62,"segmentation":{"size":[483,640],"counts":"fS_32P?3M3M1001O01YAn0RO1aVe1"},"score":0.084},{"image_id":632,"category_id":84,"segmentation":{"size":[483,640],"counts":"Zkf63Q?O000001O01O000001O01O000001O01O000001O01O0001O0001O0001O0001O0001O0001O0001O0001O01O000001O0Om[P2"},"score":0.704},{"image_id":632,"category_id":84,"segmentation":{"size":[483,640],"counts":"PVj69^>S5^OQKa0Q5YOTKe0n4WOUKh0n4SOVKl0k4oNZKo0i4lN[KR1g4jN\\KV1f4fN]KX1e4eN^KY1e4cN^K[1d4cN^KZ1f4bN\\K\\1g4aN\\K]1g4_N\\K^1g4_N\\K^1h4_NZK^1i4_NYK_1k4]NXKa1j4\\NYKa1k4[NXKb1m4ZNTKd1Q5WNTKd1Q5WNSKe1R5VNSKf1Q5UNTKf1Q5VNRKf1S5UNRKf1S5UNQKg1S5oMXKl1m4gM_KV2e4\\MiK_2\\4TMPLh2U4kLXLP3m3bLaLY3d3ZLhLb3o9L3L5K4L5K5K7J9F9G:F9G9H9F9G9G:FgPi1"},"score":0.283},{"image_id":641,"category_id":2,"segmentation":{"size":[428,640],"counts":"kb[73S=:I3N0O13G82O0O15K2M01M2J5O21N2N2Mi\\h0"},"score":0.031},{"image_id":641,"category_id":6,"segmentation":{"size":[428,640],"counts":"oRZ11U=6K5J6J7I6J6J6K5J6J6J6J7I6J6K5J6J6J6J6J7J5J6J6J6J6J6K6I6J6J6L4O1O1O1O2O0O1O1O1O100O2N1O1O2O1N2N2N2N2O1N1O2N2N2O1N2N2N2N10O1O1O1O2N1O1O1O1O1O1O2O000000000000010O0000000000010O000000000000010O0000000000010O000000000001O01O0000000001O01O000000000001O01O0000000001O01O0000000001O0001O00000001O0001O0000000001O0001O00000001O0001O00000001O0000012M0000O1000001O0000000O1000001O0000000O10001O000000000O10001O0O1G9I7L4M3L5L3M3L4M3M3L4M3L5O01O1O2N1YHmKS6T4SIeLm6m41O000O10000000001O00000000001N10001O0000001O00001O0O101O0000001O00001O000O2O00001O0000001O00001O0O101O0000001O00001O000O2O0000001O00001O00001N1000001O00001O00001O00001O0000001O00001O000N3N1N2O1O2N1O101N1O1O2N1O10001O00001O00001O010O2N1O1O1O1O1O1O000010O000001O0000001O00001O01O0001O0000001O0000001O01O01O0000010O0001O01O01O01O100O1O1O1N2M3N2N2M2O2N2M3N2I7I7I7J6O1O1N1000O1O010O1O10O0100O\\Od0SOn0ROljb1"},"score":0.329},{"image_id":641,"category_id":1,"segmentation":{"size":[428,640],"counts":"Peb71Z=2N2L7K10O101O4L2N1OjWd0"},"score":0.993},{"image_id":641,"category_id":1,"segmentation":{"size":[428,640],"counts":"]R^71Y=2O1O2M1OO3NoBNk<3QC2h2N2N1O2N1O2N2O001O00100O1O001O1O010O1O0O2O1O>B3VClNa;X1[DjNc;Z1YDiNe;Z1VDiNh;[1TDgNj;\\1SDgNj;]1RDdNn;^1oCdNo;_1mCcNR6N2O1N2N2O0O2O1N2O1O1000000000000000O101O0000000000000000001L5I6K5Jg_\\7"},"score":0.102},{"image_id":675,"category_id":47,"segmentation":{"size":[480,640],"counts":"iSb31m>:G6K9G:F:E:G:F9G:F3M1O1O001N101O001O000O2O00001O000O1000000006J4L1O001O1O0000000000000O1000000000O10O010000O10O001O010O1O001N1D=B>CDbRi4"},"score":0.616},{"image_id":675,"category_id":47,"segmentation":{"size":[480,640],"counts":"]\\Q21o>?@b0^Ob0_O9G1N2O1O1O1O001O001O000010O010O001O00001O0000O10000O1O1O1O1N20000000000001O0O1000000O10001N100O101N1O1N5RN]C7XZ`6"},"score":0.789},{"image_id":675,"category_id":60,"segmentation":{"size":[480,640],"counts":"fk_24l>1N2O2N3lAJX=Q1N2M3N2N0000001N100000001O01O0001O00100O001O0O11O1O001O1hNfBh0\\=UOeBk0\\=SOeBm0]=POeBo0f=0011R1POL3L4M3L5K;Fk`V6"},"score":0.817},{"image_id":692,"category_id":90,"segmentation":{"size":[480,640],"counts":"Ymc46j>001O0O2O001O02O0O10000001O00001O00O100000O100000000000O1000000O1O1O2N1O2NhWV4"},"score":0.255},{"image_id":692,"category_id":1,"segmentation":{"size":[480,640],"counts":"k\\W47g>3M4L4L3M4L4K4M4L4L3M3M3M3M3M2N3M3M3M3M2010O010O100O10000O10O0100OoNlMWET2e:mM^ER2_:oMdEQ2Y:PNiEo1T:TNlEl1Q:WNPFi1m9YNTFf1i9]NXFb1e9aN\\F_1a9cN`F\\1]9gNdFY1X9jNiFU1U9mNkFS1R9POoFo0n8TOQGm0m8UOSGl0i8WOWGi0f8ZOYGg0e8[O[Ge0b8^O^Gb0_8A`G`0^8BbG>[8EeG;X8HgG9W8IiG7T8LkG5R8NnG2P80oG1n72RHNk75THLj76VHJg79XHHe7;[HEc7=\\HDa7?_HA^7b0aH_O]7c0cH]OZ7f0eH[OX7h0hHXOV7j0jHVOS7m0lHSOR7P1nHPOP7R1PImNn6V1QIkNl6W1UIhNl6X1TIhNn6U1RIkNQ7P1RIPOo6l0TISOo6i0RIXOP7d0RI[OQ7a0PI@Q7=QIBR79PIGS75oHKS71oHNT7NmH3T7JnH5U7GlH:V7AmH>V7^OkHc0W7YOkHg0V7VOkHj0X7ROjHn0X7nNjHR1X7iNjHW1Y7eNiH[1X7bNiH^1Z7^NhHb1Z7ZNhHf1Z7UNhHl1Y7QNiHn1Z7nMhHR2Z7jMgHW2Q:00O010000O10O100000O0100000O0100000O01000000O10O1000O100000O0100000000000O101N100O100O101N100O100O100O2O0O10000O101N1UI^MX1b2fNcMW1]2gNhMU1Y2iNjMV1W2gNlMW1U2gNoMW1Q2gNRNX1o1eNTNZ1l1eNVNY1k1eNXNZ1h1dN[N[1f1bN]N]1c1aN`N^1`1`NcN_1^1^NfN`1Z1^NiNa1W1]NlNb1U1\\NmNc1S1[NPOd1P1ZNSOe1n0XNXOd1h0ZN]Oc1c0[NCa1=]NH`19]NM_13_N5[1KcN9[1HcN;[1EcNa0Y1_OeNo0o0QOoNh1:XNDm19SNEQ29oMFT28lMGW28hMHZ26fMI]25cMJa23_MLd22\\MMg21YMNj21UMOm2OSM0o2OQM0P30PMOR30nLOS32lLMV32jLNV32jLMX32hLMZ32fLM[34eLJ]35cLJ^36bLJ_35aLJa36]LJd36\\LIf36ZLIg37YLHi38VLGl38TLHl38TLGn38RLGo39PLGR49mKFT4:lKEV4:jKEX4:hKEY4\\KAf4?XKAi4`0UK@m4`0RK_Oo4b0oJ_OQ5b0mJ_OT5a0jJ@V5`0iJAX5?eJC[5?bJA`5?]JCc5>[JCe5>YJCh5=UJFj5;SJGn5:bI4^6NSI?n6C]Ho0c7X30O001O001O010O001O00XLkHFU70oIUOQ6k0YJlNf5T1dJbN\\5]1PKYNo4g1TKWNk4i1UKWNl4h1TKYNk4g1UKYNk4g1VKYNi4g1WKYNi4f1XK[Ng4e1YK[Nh4d1XK]Ng4c1YK]N8RNj1a3nM^N1XNP2Z3oM^NJ`NV2R3PN_NGbNY2n2QN_NEeNY2l2RN`NBgN[2i2SN`NAiN[2g2TNaN^OkN]2d2UNaN]OmN]2b2VNbNZOoN`2^2VNcNWOSOb2Z2WNdNQOXOg2T2XNdNmN]Oj2o1YNeNgNCn2h1[NeNbNIS3a1[NgN^NLV3]1]NfNZN1X3Y1^NnNoMMc3T1^NWOdMJm3n0_Nj1a1UN_Nl1a1SN_Nn1a1QN_NP2a1oM_NS2`1lM`NU2_1kMaNV2_1iMaNX2_1gMaNZ2_1eMaN\\2_1aMcN`2]1^MdNd2[1ZMfNg2Z1WMgNj2X1TMjNm2V1QMkNP3U1nLlNS3T1kLmNV3S1fLPO[3P1aLSOa3l0ZLTOlMSMk5i3VLmNX4T1dKeLQN^1f6n1UKbLZNV1k6X2iJ_L`Ne0\\7m2PJ[LiNg0Y7o2jIXLROg0W7Q3cIZLVOd0Y7T3]IYL[Oa0Z7Y3UIWLB?[7\\3oHVLF=]7_3XHfL1O1N101O1O1O0O2O1O1O001N2O1O001O1N2O1O001O1O00000001O0001O000000O1O100O100O100O2O0O1O100O1O100O1O10N1lJZOoKf0P4_OkKc0R4DiK2N2N1O2N2M3N1O2N2N2000O10001O0N2N3L3N2N3Lfi]3"},"score":0.757},{"image_id":693,"category_id":41,"segmentation":{"size":[428,640],"counts":"lRd54T=5L4L4K5L5K4K5L4K5L4L4L4M4L3L3N2N2O100000000002N4L3M4L2N1O1N2O1O1O1O1O1O1ObNbNoF]1P9fNoFY1Q9jNmFU1S9nNlFP1S9TOkFk0U9WOiFi0W9WOjFh0U9ZOjFe0W9\\OhFc0Z9\\OgFb0Z9_OeF`0]9_OdF?^9AaF>a9A`F=a9D^F46W9^OdF=44Z9_ObF=24]9A^F>30W8ZOZH8YOa04NV8]O\\H5XOb05KU8A^H3VOc05IV8D_H5nN`0=GS8HaHX1ZOQOR8KdHT1YOPOQ8OfHQ1XOQOP81gHo0XOPOo74iHl0VOQOP85iHj0WOQOo76jHj0UOPOQ88iHi0UOZNK=V8b0iHh0TOYNO0UNV7_1iH7[8JdG2_80`GKe85[GGh8;WGCj8?TG@n8a0QG\\OQ9f0nFXOT9i0jFVOW9m0gFPO[9R1aFoNa9R1ZFPOg9R1SFPOP:T22N2N2M3N2N2M3N2N2M3N2N2M4M2N2O1O101O0O10000O3N2M3N2N2M3N2M[ZS1"},"score":0.884},{"image_id":693,"category_id":41,"segmentation":{"size":[428,640],"counts":"S6W1U<001O100O1O1O103L9G00010O001O001O000O2O001O001O000O2O001O0JRNnDo1R;50010O010O010O01O010O010O010O0nMTEd1[;00O010O10O01O01O010O010O00010O0010O010O00010O010O01O01O010O01O010O01O01O010O0010O0010O0010O010O00010O010O01O01O01O010O010O00010O010O0010O0010O0010O010O00010O01O010O01O01O010O010O00010O10O01O10O0100O1O010O1O010O010O0010O010O01N1N3N1N3M2N2001O01O01O00001O010O00001O3M8H010O1O1O001O10OO2O1O001O1O001O1O001O1O2M2N3M2N3M2N2M4M2N3L3K6K\\cb5"},"score":0.577},{"image_id":693,"category_id":41,"segmentation":{"size":[428,640],"counts":"j`6[1h:Z1000O1000000O1000000O10000O1000000O10N2O1O001O1O1O001O1O1O0O2O1O1O001O1O1O001O1O11N2O2N1N2O1O2M1000O1O010O10O0100O00100O010O10O01O10O0100O010O1O10O0100O010O1O010O10O0100O00100O010O10O01O100O010O1O010O1O010O1O010O1O00100O00100O00100O1O00100O00100O00100O0010O01O0010O01O010O0010O01O1O010O0010O01O010O0010O01O0010O01O01O1O001O1N101O1O0O2O1O001N101O1O0O2O1O001N2O001O1lNPFiNQ:W1bFVN_9i1S1N101O1O0O2O1O001N20O0100OPEaNS:_1lEcNT:]1jEeNV:Z1iEhNV:Y1hEiNX:V1gElNY:T1eEnNZ:S1eEmN\\:R1cEnN_:R1_EoNa:R1YEROi:n0PEXOQ;a10O2O1O1N1O2N2O1N2N2N2N101N2N2N2N2N2N2O0O2K5J6M6J7I6JZjQ5"},"score":0.815},{"image_id":693,"category_id":41,"segmentation":{"size":[428,640],"counts":"RUT24R=8M2O1N2O1N3N1N2O100O2O0O1O100O2O0O100O101N101N101N101N101N1O2O0O2O0O2O0O2O001O001O010O000G\\NiDe1U;aNfD_1X;=N1N2O2N1OZNVEk0i:RO\\En0b:RO_En0a:QO`Eo0_:POcEQ1[:oNfEQ1Z:nNhEQ1W:oNjEQ1U:nNmES1R:lNoET1U;010O00001O01O01O0001O01O000010O0001O00010O00000010O0001O00011N2N1O2N2OO0O1O1O10O000O10000O10iNaDa0_;[OgDc0Y;ZOlDd0T;ZOPEd0Q;[OQEc0o:]OSE`0n:@SE>n:BTEZLcA8Z>KbA7^>6O10000O1O1O1O2N1O1O1N2N2NROTBj0R>O1XOkAc0Y>1O0000000000000O1000010OO2O0O2O1N2O1N2O0O2O1N3N2M3MRkR2"},"score":0.138},{"image_id":711,"category_id":64,"segmentation":{"size":[480,640],"counts":"PWT51m>3N1O2M4L3N4L1O0100O010O100O100000000000000000010O0000010O0001OO1O1O101N1O101N2MYbd3"},"score":0.708},{"image_id":711,"category_id":75,"segmentation":{"size":[480,640],"counts":"jYR32m>3N2M3N2M3N2N101N101O1O001N01O1O1O1O0O2O1O2N2N2M3Lh_m5"},"score":0.394},{"image_id":711,"category_id":49,"segmentation":{"size":[480,640],"counts":"]ZW41m>3O10O00O1000O01000O10O01000O010O01000O0100O01000O010O01000O010O10O10O01000O010O10O10O10O010O10O10O010001NU\\[4"},"score":0.49},{"image_id":711,"category_id":62,"segmentation":{"size":[480,640],"counts":"\\nS83e>8H9G2VO[O\\Ch0i4L3O2N1ON2O1O2N1O0O2O0000001O0M4LXTP5"},"score":0.296},{"image_id":711,"category_id":86,"segmentation":{"size":[480,640],"counts":"Tmm5b0]>1O100000000001A[lY3"},"score":0.793},{"image_id":711,"category_id":86,"segmentation":{"size":[480,640],"counts":"[Yk421Ok>3_O3fAK53S>b0N2000JjABY>5QBGV]]4"},"score":0.847},{"image_id":711,"category_id":64,"segmentation":{"size":[480,640],"counts":"efU87c>600O100000000O10000N2N3K2L33O1N2N200O2O001K=EhQk0"},"score":0.281},{"image_id":711,"category_id":86,"segmentation":{"size":[480,640],"counts":"hde0e0Z>4N1N2O2M2OO001O001OO10000000000000000003K8I5K3L5KeTZ8"},"score":0.982},{"image_id":711,"category_id":86,"segmentation":{"size":[480,640],"counts":"U`T67d>9H5O001O01O0000000O1N3L3M3M3L4MUao2"},"score":0.035},{"image_id":711,"category_id":84,"segmentation":{"size":[480,640],"counts":"Y^_33k>3O0O2O1O0O2O1O001N2O001N2O001OO01000O01000O10001O0O2O1O0O2O1O0O2O1O0O2O1O0OgXZ5"},"score":0.339},{"image_id":711,"category_id":63,"segmentation":{"size":[480,640],"counts":"e]4:e>f0ZOe0[Of0ZOf0ZOe0\\Oe0ZOe0[Of0ZOc0]O1O100O1O1O1O1O100O001O1O1O100O1O100O1O00100O1O100O1O1O100O00100O1O1O100O1O100O1O00100O1O100O1O1O100O00100O1002N2N1O2N2M2O2N2N1O2N2N1O2M2O000000000000000O10000000000000000O100000000000000O100000000000000O100O100O100O100O100O1O100O100O100O100O1O100O100O100OO2N1E;J70O100O100O2O0O1O100O101N100O100O1O101N100O100O101N100O1O100O101N100O100O101N100O10000O101N100O100O101O0O100O100O101N100O10000O2O0O100O101N2O001N2O1N2O0O100O01000O100O010O100O10O10O100O10O0100O100O01000O100O010O100O1000O0100O100O010O10000O010O100O10O010000O10O0100O1000O02O6I8I6J7H8I:G9G8I6K3M3M4L3M3M4L3N2N3N1N2O1N100O101NmN_CI`<4gCIX<4nCIS<3TDUO`B6J5M4M2N2O2M2N3M2O2M2N2N2O0O10000000000001O0ZNiCc0W<[ORD>n;AYD9g;FaD3_;LhDAe;>`1N1O1O1O1O1O1O2N1001O10O01000O1000O010000O0O2M3N2N1N_kh1"},"score":0.555},{"image_id":715,"category_id":52,"segmentation":{"size":[480,640],"counts":"Web33j>:F7J3M4L4L2N2bBSOhREAm:?VE_Oj:`0YE_Oe:a0^E]Oe:?]E@c:?^E@a:a0aE^O]:d0dE[O[:e0fE[OX:f0jEYOT:h0mEWOS:i0oEVOo9k0SFTOk9n0UFROj9n0XFPOg9Q1[FnNd9R1]FnNb9R1`FlN`9U1aFiN_9W1eFeN[9[1hFaNX9GWE_1e1fNT9JXEd1c1_NT9NXEg1d1XNS91ZEj1c1QNT95XEn1]9G9G9G9H001O0O100000000O10001O000000000000000010O000000000O1L5L3M3M4L3M4L3M3M7JQZa3"},"score":0.962},{"image_id":715,"category_id":82,"segmentation":{"size":[480,640],"counts":"bkm64W>f0M2N2N200O2O0O4M3M0O10O10O100000000000000000001OO1N3N1N3N1O2N2N2N1O2N2O001O1O1M3O0O2KUai1"},"score":0.812},{"image_id":715,"category_id":47,"segmentation":{"size":[480,640],"counts":"hoa76g>0000001O0001OO1N3L3N2N2O2N1N2O2N1O5K5KVkU1"},"score":0.277},{"image_id":715,"category_id":47,"segmentation":{"size":[480,640],"counts":"oXT41j>7N1O1O1N?B7I0000O100000000O100000001O0O10001O1L4I7I7IWcj4"},"score":0.813},{"image_id":715,"category_id":47,"segmentation":{"size":[480,640],"counts":"S\\^63j>3M2N3JFcA=[>401N2O1O1O2O0O10001O1O1O2N1O001O0000000000000000000000O101N2K4K6K5M3M2Nb]Z2"},"score":0.34},{"image_id":715,"category_id":47,"segmentation":{"size":[480,640],"counts":"jej54i>7J5K4M100O2O000O100O2O000O101O0000]OSB3l=G[B:U>000M3G9L4000O2O000000000O2O1O0O2L3N3L4L4M]Sn2"},"score":0.344},{"image_id":715,"category_id":53,"segmentation":{"size":[480,640],"counts":"bR`08e>6M2M10001N100000000000DhAOY>0=N3N`]d8"},"score":0.746},{"image_id":715,"category_id":53,"segmentation":{"size":[480,640],"counts":"jbg04i>7K2N101N1O101O000001O000000002M4L7IR`[8"},"score":0.871},{"image_id":715,"category_id":53,"segmentation":{"size":[480,640],"counts":"gn21j>5O2M2O2O001N10000001O1O1O000000`RQ9"},"score":0.522},{"image_id":715,"category_id":54,"segmentation":{"size":[480,640],"counts":"aXS13l>4M2N0O2O0O2O001N101O00001O001O01O00000O101O00001O00001O0000001N1J6O2M_kg7"},"score":0.322},{"image_id":715,"category_id":54,"segmentation":{"size":[480,640],"counts":"PRl16i>100O2O00001N10001O00001O0000010O0000001O01O10O01O00100O001O2N2N101N2N2O`bn6"},"score":0.881},{"image_id":715,"category_id":54,"segmentation":{"size":[480,640],"counts":"UUf02m>4L4L4L1O1O2N101N10001N101O0O010O0100O010O0102N2N200O001OO1O001O00000000000000000O100O100O100O1O100O100O1O100O100O1O100000000O1000000O2O000000001N3N2M4Liga7"},"score":0.249},{"image_id":715,"category_id":54,"segmentation":{"size":[480,640],"counts":"cRn05k>00001O0O2O00001O001O01O01O0010O00010O010O10O010O01O2O2M3Nnjo7"},"score":0.161},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"PYl12k>9H3L4M4L3N2O2N0O10000O10000O10000O10000001O001O001O0O2O1N2O0Oe0ZOiWP7"},"score":0.627},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"dbX44g>8@IoA;n==N3M2N2N2N2O1O0O2O00000O10001O00000001O001N2O1O2N1O1N5L4K2N2O1N2N2LdRb4"},"score":0.799},{"image_id":715,"category_id":22,"segmentation":{"size":[480,640],"counts":"fQS31O1O2M2O1O1O1O2N1O1O000O1000O100O1O1O1O010O1O1O1O10lA_Oi=a0VB@j=`0TBAm=`0QBAo=?oACQ>=nADS>d00O10000000000101N1O1O1O1O1O010WBPO`=Q1]BQOc=P1ZBSOe=T100000010O000000001O0001O00000001O0000000001O00`BQOo7J5L4L2O1N101O1N2O1O0000O10000000001N101O001M2O2N4L5IYlh6"},"score":0.112},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"S]h12i>8J7I5K4O1N2O0O100O10000010O0000001O000010000O102N1N0001O0001O00001O001N102N2M6I3N3Jh]o6"},"score":0.473},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"\\RY13g>9L4L3M3M2N1O2N2O001N100000000O1000000000O10000O101O1N2N2O1N2N2JdAF]>4;Jo`b7"},"score":0.959},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"o_^33k>4L5J4M4L3L5L3M3L5L3M3L5MM3M4L3001O001O100O10O0100O10O001O001O00001O1O1O1O1O1O1M4K4M3M3L4M3L_mm1"},"score":0.753},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"e[Q73m>9G4L4L4L4L4L4L1O1O001O1O001O1O001O1O01N100000001N100000000O2O0000000O2O0O1O1O1O2N1O1N2M3N3L8I8Gmdc1"},"score":0.833},{"image_id":715,"category_id":47,"segmentation":{"size":[480,640],"counts":"cib47h>3N7H7J5K6I6K0O0100O100O100O1O1O1O1O1O100O1O1O1O2N1O1O2O0L5H7HfVZ4"},"score":0.877},{"image_id":715,"category_id":47,"segmentation":{"size":[480,640],"counts":"nZf23m>2M3M3N3L3N3M2N3M3M1O001O00O4L3M1O1OL50O1000000O101N1O2O0K6F[TW6"},"score":0.308},{"image_id":715,"category_id":53,"segmentation":{"size":[480,640],"counts":"omX19f>3M2O001O00000O1001O1O0O2N2M4Nnak7"},"score":0.871},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"Za_28e>6J5M3M2N2N1O^OnA9Q>EoA=Q>@PBc0o=ZORBh0R>2M3M2O1O100001O1O0O0100000O2O000O1O1O2O0O2N2O1M3M4L3MkdZ6"},"score":0.31},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"ofm11n>3L4M3L5L3L4M2M3O0O1O100O1O100001O00000001OO2O0O100O1O2N1O100O2N1O5K5K7IPnl6"},"score":0.556},{"image_id":715,"category_id":55,"segmentation":{"size":[480,640],"counts":"UjQ7=b>1N2O1O1O1O10O0100O1000001N10001O001O00100O1O1O1O1O0100000O10O1N2N2N3M3M3L5Jglg1"},"score":0.433},{"image_id":715,"category_id":47,"segmentation":{"size":[480,640],"counts":"Wbh3:f>;D7J4K4M0O10000O010000000O11N10000O100O10000N2O3L7I6J7FbjU5"},"score":0.787},{"image_id":715,"category_id":64,"segmentation":{"size":[480,640],"counts":"ThZ18h>1O0O2O00001O001N101O00001O0010O0000000O1O1O2N101O0O2O0O101O0O5Leha7"},"score":0.638},{"image_id":715,"category_id":58,"segmentation":{"size":[480,640],"counts":"fji07g>2N3O001O001O0010O00000001O000001O01O01O001O010O0010O010O01O0O2O1O1O2N4LmiP8"},"score":0.313},{"image_id":724,"category_id":13,"segmentation":{"size":[500,375],"counts":"ZUl1=V?j0VOi0WO6J3M2N2N2N2N2O2M2N2N2N2N2N2N2N3M2N2N2N2N2N2N2N3M2N2N2N2N2N2N2N2N3M2N2N2N2O1O1O1O2O0O1O0000000001O00000000001O0000000000001O00000000001O0000000000001O00000000001O0000000000001O00000000001O000000002M2N3L3N2N3M2N3M2N3M2N3L3N2N3M2N3M2N3M2M4M2N2N3M2N3M2N3M2M4M2N2N?A[1eN^nh1"},"score":0.132},{"image_id":724,"category_id":8,"segmentation":{"size":[500,375],"counts":"[[k17^?c0^ON2N2N1O01O00O1010O2N1O00000001O000K7K8Jio`3"},"score":0.449},{"image_id":724,"category_id":47,"segmentation":{"size":[500,375],"counts":"mXn12_?3M30000001M7MI5O100002N__b3"},"score":0.141},{"image_id":724,"category_id":13,"segmentation":{"size":[500,375],"counts":"clR32a?000001O0000000002N3BUC5Q=01O100O3Mc\\m2"},"score":0.012},{"image_id":730,"category_id":38,"segmentation":{"size":[428,640],"counts":"jmb41X=4K5L3M4K5N2N1O2M3N2N1M4L3O100O100O1O100O1O100O100001O00001O2N1O1O1O1O1O1O1O1O3ZOhC2g<2N1O2N1O22M3N3GXST3"},"score":0.315},{"image_id":757,"category_id":22,"segmentation":{"size":[427,640],"counts":"dno02V=4M2N3N2N1O2N1N10000000O100000O100000O10000000O10O1000000000000O01000000000O10fIIA7`0I^O8c0I[O7f0IYO7g0JPMK_N;b4JlL3\\N2j4LeL;[NIQ5N_La0ZNBjN@R6>eLi0YNZOoN@R6`0aLl0YNVOTO_OQ6`0]LQ1[NQOVO_OR6?ZLV1[NnNWO_OS6=WL\\1\\NiNZO^OS6=TLa1\\NeN\\O^OS6h3]O\\Lc0e3YO^Lg0d3TO_Ll0b3POaLP1`3lNcLT1_3hNdLW1^3dNeL\\1]3`NeL`1]3[NfLe1\\3WNfLi1\\3SNfLm1\\3nMgLR2[3jMgLV2[3eMhL[2Z3aMhL`2Y3\\MjLc2X3XMkLh2W3TMkLl2W3oLlLQ3V3kLlLU3V3gLlLY3V3`LoL`3S3VLUMj3m2mKZMS4o501O00000000O1N2N2N2N2N2O1N2N2N2N2N2N2O1N2O1O1O1O1N2O1O1O1N2O1O1O1N2O1O1O1O1N2O1O001NdKfHk2Y7fLWIZ3h6RLmIm3i70000O101O0O100000000O10000000000000000000000000001O000001O00001O00000000001O0O1@`0@`0Dm_GB[8h0`GYOZ8Q1bGoNX8[1dGeNY8b1cG^N[8h1aGXN\\8P2_GPN_8V2]GjMa8\\2ZGeMd8a2XG_Mf8g2VGYMg8n2UGRMi8T3SGlLk8Z3QGfLm8m3L4J4"},"score":0.486},{"image_id":761,"category_id":35,"segmentation":{"size":[480,640],"counts":"bcb42n>1O010O001O01O010O00010O01N1]AMY>3gANX>2hANX>3hALW>5iALV>4jALV>4kAKU>5kALT>4lALS>4nALR>4oALP>4PBLP>4PBLP>3QBMn=4RBMm=3RBNn=2QBOo=0QB1o=OQB1n=0RB0n=0QB1o=NRB2n=NQB3n=MSB3m=LSB5m=JTB5l=KUB5k=KTB6l=JTB5m=KRB6m=KSB5m=KSB4n=LRB4n=LRB4m=MRB3o=MQB3o=MPB4o=LRB3o=MQB3o=MPB3Q>MoA3P>NoA3Q>MoA2R>NmA3R>MoA2R>NnA2R>NnA2R>NnA1R>0nA0R>OoA1Q>NoA2Q>NPB2P>NPB1Q>NoA3Q>MoA3P>NoA2R>NnA2R>MoA2R>NmA3R>NnA2R>NnA1S>OlA2T>OkA1U>OjA1W>OiA1W>OhA1Y>NgA3Y>MgA3Y>MfA3Z>MgA3Y>LhA3Y>MgA3Y>KiA4X>KiA5a>01N1001N1000O100O010O10O010O010O10O0100O1O0010O01O00100O1O001O010O1O1OEan04aQO6O01000000O01000O10O10O10O1000O10O10O10O001000O100O10001N2O3M1N10U]^2"},"score":0.979},{"image_id":761,"category_id":35,"segmentation":{"size":[480,640],"counts":"PQm31n>3N2M3NO10O010O10O10O010O1[AIa>6`AK_>5aAM\\>3dAN\\>2dAN\\>2cAO\\>1eAO[>1eAOZ>2eA0Z>OgA1Y>OfA2Y>NhA2X>NhA2W>OhA2X>MiA2X>NgA3X>NhA2X>MhA3X>NhA2X>NhA2X>MhA3X>NhA2X>MhA4W>MiA2X>NhA2X>MhA4W>MiA2X>NgA3Y>LhA4W>MhA3Z>KgA5Y>KgA5Z>JeA6\\>IeA7\\>HcA9^>FbA9_>FbA:_>E`AO0100O01000O010O10O101O2M2O2N1N3NeS=OWlB50O0100O010O010O10O0100O010O010O10O0100O010O03N3Mkie3"},"score":0.727},{"image_id":761,"category_id":1,"segmentation":{"size":[480,640],"counts":"[S_84i>5kNNVC7g<2nB3n<3kB1S=0jB6Q=LlB:P=o0K5L4K5L2M4M2M3M3N2M3O1N2O1OO10O3N2N2N2MM4K5L4K5Kk0UO5K6J5K5L4L5L3M4L5K4L5L8HXi7"},"score":0.474},{"image_id":761,"category_id":1,"segmentation":{"size":[480,640],"counts":"\\R[72m>2N2iNM_C4^<0_C2^<2_CO_<5^CLa<7\\CJb<:[CFe<`0UC_Ol6J5J6K6J5K5K6J5K5K5K6J5K5K6fEfMd7_2WHgMc7^2YHhM`7^2ZHfMb7_2YHeMc7`2XHdMd7h2QH[Mk7Q3iGQMU8[3_GgL_8e3VG\\Lh8o4N2O1nNlIVIV6f6QJVIP6e6XJVIj5g6]JTId5l6_JoHc5P7aJlH`5T7dJfH^5Z7T1O100O10000O10O100O1O100O100O100O102M3N2M3M3\\MYHkMi7Q2dHcM_7Y2oH[MR7b2[InLl6m2cI]Lj6^3_2L4L5J5L5K4L4O2O000000O00O10O01O100O1O4M3L4TOm0jNQdV2"},"score":0.364},{"image_id":761,"category_id":1,"segmentation":{"size":[480,640],"counts":"S`a49]>g7@^H2N2jBL];6_DM`;6]DKb;6\\DKd;6[DKd;6ZDLe;4aCg0_4N20010O1N3M4J;[OYO]Bl04SOn7I7I7J3`MLmE:m96nDe0l:k1K5J6K500O1O1O1N2O000O2O000O10000O101mJaKBc4:_KDe48^KEe48]KcNa0cLW4e4ZKgNb0aLX4d4WKkNc0^L[4b4SKoNS6l0nISOW6h0kIVOZ6e0gIZO]6b0dI]Oa6>`IAd6PNkHl0b0S1h6mLgH=9_19W1[7jLhHj1O[1Z8aNgG^1]8^NdGb1_8YNcGg1a8TN`Gk1d8QN]Go1o8dMRG\\2Z9WMhFg2Z9VMhFj2Z9SMgFm2Z9QMgFn2\\9nLfFR3[9lLfFT3[9jLfFU3d:O00M3M4K4M3L4M4L3N2M3N3L3N2M3M3M4K4M4L4K6K4M3L4H8H9N100O0O1nGmIU7^1UHU3c0`KT7[1[HV3a0`KP7Y1cHX3<_Kn6Y1iHX3:_Km4OoJ772ZO`04O2N1O1O1O2OO1O010O1O10O000O2aCFV::fEKVOIj9=lF0WOEk9=iF3ZOAm9=aF;_OYOo9>[Fa0CROR99bFg0426oNQ9_Fm0OK=lNS9>_Fl0L3=dNW9W4dFjK[9Z4bFfK^9^4]FcKb9n400OiN]FSMc9j2cFSM]9k2gFSMY9j2lFTMT99^FU1c0`No87PGi05nNk85bG2N3L4N1OO2N1a0fAXO]=V100N3M2O1N20BcBWO_=f0gBTO\\=e0c0[OmA;`>M2O1Na^W3"},"score":0.553},{"image_id":761,"category_id":1,"segmentation":{"size":[480,640],"counts":"XPW51n>2N2M8I3L2O101000O102M10O0103L2N2N3M]Rl3"},"score":0.625},{"image_id":761,"category_id":36,"segmentation":{"size":[480,640],"counts":"nil21o>00001N10000O1000000O10000O10000000000O11OO1000000O10000O1000000O1000O01000O01000O10O0100O010O100O010O10O0100O10O001O010O001O010O001O010O001O0010O01O001N101O001N101O10O100O010O10O010O001O001O010O001O001O0010O01O010O001O010O001O010O0010O01O010O010O010O0010O010O01O10O10O0100O10O0100O10O010000O010O100O010O101N100O10000O2O0O100O100O2O0O101N1O2O0O1OZfm3"},"score":0.794},{"image_id":761,"category_id":35,"segmentation":{"size":[480,640],"counts":"\\de11n>1O1000O1000000001O00000000000001OnT50QkJ10000O1000O100000000000ieR7"},"score":0.109},{"image_id":761,"category_id":35,"segmentation":{"size":[480,640],"counts":"ZXl1130h>0YA0g>0XA0h>1WA0h>0XA1g>0YAOg>1YA0f>1YAOh>0XA0h>0XA0h>0XA0h>0XA0h>0XA0h>0XA0h>OYA1g>OYA1g>OYA1g>OYA1g>OYA1f>0ZAOg>1YAOg>1YAOg>1YAOg>1YAOg>0ZA0f>0ZA0f>0YA1g>OYA1g>OYA1f>0ZA0f>0ZA0f>0ZA0f>0ZA0f>0ZA0g>NZA2f>NZA2j>0001N1000``l6"},"score":0.3},{"image_id":764,"category_id":34,"segmentation":{"size":[343,500],"counts":"me\\12e:1O0O2O1N2O001O1O1O001O010O00001O01O01O01O010O01O01O10O01O001O001O001O1O0O2O0O2N10nf\\3"},"score":0.995},{"image_id":764,"category_id":1,"segmentation":{"size":[343,500],"counts":"e[g05`:8H4L3M3M3M3L4M3M3N1nKTOWNo0e1VOXKCZ2Y1]2WOUKFX2V1`2XOUKHU2Q1d2[OTKJ>[Om0c1_3[ORKN;WOQ1b1a3[OQK63oNX1b1d3l0YLVOf3l0XLUOh3l0ULVOj3l0SLVOm3[3UKRKk4k4YKTKg4i4]KVKc4g4aKXK_4e4fKYK[4c4iK\\KW4a4Q1M3M4L3M4L5L3L5^LWIo2n6iL\\IP3^7F3N2M3NWIaM^5]2aJfM^5Z2aJhM^5X2bJjM\\5V2dJkM[5W2bJkM]5W2aJlM\\5V2bJmM[5U2bJnM\\5T2`JoM`5R2]JQNb5Q2ZJRNe5o1XJTNg5m1VJVNh5l1TJXNk5i1RJZNm5Y3O10kKRJ`3m5_LVJ=2m1h5dMYJ77k1FbMj5:\\J1^6DfH9c07h6a0QICo6a0hHDX7`0`HCa7i101AQMVIn2d6^MVIc2j6d000010O010O\\K\\LV2d3hM`LV2W4QMlKo2l4XLUKh3Q5RLPKm3S5oKnJQ4V5kKjJU4Y5gKhJY4j5100O100O100O10000O4M3M3UNYK`Mi4Z2PLQMS4g2]LnLc3n2kLhLV3R3QMkLP3U3SMhLn2W3TMfLm2Z3X201O001O00001O0O101O1O7I1O1O001O001fMTHg1m7YNTHf1k7\\NTHe1k7[NVHe1i7[NXHd1g7]NZHc1e7]N\\Hb1d7^N]Hb1a7^NaHa1_7^NcHb1[7^NgHa1Y7^NiHb1V7^NkHa1T7_NnHa1Q7^NQIb1n6]NTIb1l6]NVIc1n6WNTIh1Q7QNRIo1m7O03M3M3MdNaG?^8_OdG`0]8^OfG`0[8]OhGb0\\8XOgGg0]8SOfGm0]8mNfGR1Q9O1O1O1O20O1O001O1O10M3M2N3M9G3M3M3M3M2N3MfSd0"},"score":0.664},{"image_id":764,"category_id":1,"segmentation":{"size":[343,500],"counts":"[Un12^:7WNHmH>o6IgH>U7IaH?Y7I^H=_7_100ON3L3N1N2N2N2O2M4L52M:F:G7HO101\\MRH]2n7_MXH_2Q8O1O1DmGRNT8b1WH]NP8Q1]HnNj7c0_H\\Oh7>^1K6Innm2"},"score":0.396},{"image_id":764,"category_id":1,"segmentation":{"size":[343,500],"counts":"ign36_:4M2hEEP:b0O2M6J2O2O2OG\\F@d9NZF5\\:GfE2a:OQ\\T1"},"score":0.478},{"image_id":764,"category_id":1,"segmentation":{"size":[343,500],"counts":"ZUb4@4L3M2O10N2K5M3L4M3F:^Od0M3N3M2N10O01O1O10O01O1O010Lka1"},"score":0.751},{"image_id":764,"category_id":54,"segmentation":{"size":[343,500],"counts":"Sk]21`:7J5N2O1N2N3M4L5M4K6J4L:G0L3O2O1000C`GbNb8Y1a0K4L=F2N1O2O0O2L3L5K4LeX_2"},"score":0.284},{"image_id":764,"category_id":1,"segmentation":{"size":[343,500],"counts":"j^Y42^:0gE1W:1iEN8Oa95UFO41e9f000O4M01N2L`ej0"},"score":0.433},{"image_id":764,"category_id":1,"segmentation":{"size":[343,500],"counts":"PSQ42[:4hEMU:k0_O:@9N2O0O11N1XOlFLU92nFG0BS97jF56L[9LbF57HT[R1"},"score":0.973},{"image_id":764,"category_id":1,"segmentation":{"size":[343,500],"counts":"aad25a:>C0O1O1M@`0N13M3nm_2"},"score":0.952},{"image_id":772,"category_id":20,"segmentation":{"size":[424,640],"counts":"S4]4?mLa6Y3UImLj6h401O01O01O01O00_IiIR6U6oImIP6P6QJSJo5R5jJPKU5l4nJVKQ5h4PKZKP5d4oJ_KP5_4QKcKn4\\4QKgKo4X4oJkKP5U4nJnKR5Q4lJRLS5o3jJTLV5k3gJYLX5g3fJ\\LZ5c3bJ_L`5d3YJ]Lk5f3lI[LX6W54K5L3M4N1O2N2N1O2M2O2N2M2O2O100001N1000001O0O10001O000O101O001O5K4L5J4M3M1O0000000000WOaIhJ`6U5iIeJV6Y5RJbJn5]5VJ`Jj5_5P1O100O1O1O10000O1000O10O100000000O100000000O1000O10000000000000001O0000000000001O001O1O1O1O1O1O1O1O1O1O1O2N1O001O1O1O1O1O1O100OWOmH^KR7`4QI`Kn6_4UI`Kj6^4ZIaKe6^4^IaKa6]4cIaK^6]4dIcK[6\\4hIbKX6^4iIaKW6_4jIaKU6_4kIaKU6_4lI`KT6`4mI`KS6_4mIaKS6_4nI`KR6`4oI`KP6`4PJ`KP6`4QJ_Ko5a4QJ^KP6b4QJ]KP6b4QJ]Ko5c4QJ]Ko5c4RJ[Ko5e4QJ[Ko5e4RJZKn5f4SJYKm5g4SJXKo5g4TJVKl5j4Y100000001O000000000O2O000001[IcK]4]4`KfK`4Z4^KhKc4W4[KkKe4U4YKmKg4S4TKRLl4n3oJWLQ5P6000000001O000O1kNlIVKT6g4WJQKi5l4aJmJ_5P5lJhJT5V5`1O1O1O100O10000000O5L4L4L4Lo0QO6I5L1O0000VNnI^LR6a3cJjK^5V4fJfKY5Z4mJaKS5_4QK]Ko4b4WKXKj4h4[KSKe4m4]KQKc4n4aKoJ^4R5dKkJ]4T5fKjJZ4V5l1O100O100O1O10O0100O1O100O1O100O1O100O1O1O100O1O100O1N2O1M3N2M3M3N2M3N2M2O2N2N2O1WNcFE_9bF_O_9b0bFZO`9f0bFVO`9i0cFTO^9k0eFQO]9n0eFoN]9P1eFmN]9R1eFlN\\9T1eFhN^9W1eFdN^9[1dFbN^9]1dF_N_9`1cF\\N`9c1cFXN`9g1T1L4M3L4Ln0RO7IkS_4"},"score":0.211},{"image_id":772,"category_id":20,"segmentation":{"size":[424,640],"counts":"_fR4c0a<5K4K6K4K6K4K5L4K4L4M4F9F;]Ob0_Ob0O01A>G:F:F9LUNdMTIY2n6hMRIV2o6lMoHS2R7nMnHo1T7RNiHo1X7RNeHQ2Z7PNcHS2\\7oM_HU2`7lM]HW2b7jMlGh2S8YMhGl2W8UMiGk2V8]McGc2\\8]MeGc2Z8^MfGb2Y8^MhGb2W8_MiG_2X8bMhG\\2Y8dMgG[2Z8fMfGX2\\8gMeGW2\\8jMcGU2_8kMaGS2`8nM_GQ2c8oM]Go1e8QN[Gl1g8UNXGj1j8VNVGh1k8YNUGg1k8ZNSGh1l8XNTGh1k8YNUGh1j8XNTGk1j8VNUGk1k8UNSGn1l8RNSGo1l8RNRGQ2m8oMQGT2m8T101O1N101N101O1O001O00W1iN?A`0@5K000001O0000000001O00\\NPJPLP6Q4]JaKc5`4dJXK\\5h4gJUKY5l4iJQKW5P5kJmJU5T5mJiJS5X5oJeJR5Z5PKdJP5]5]11O1O0010O01O001O3cI^Jn4f5kJ^JU5f5bJ_J]5e5[J`Jd5d5TJ`Jl5e5lI_JS6[6001O0001O00000001O0kMlITLi0WOZ5f4VJeKQ7[4XIXKl6h4i02O00001O00001O00001O0O10000000001O000000000O2O4M3L4L4L4L7I:F9H9F5K1O00001O01O01OXOnIZJR6Z5]JcJc5d4XKZKh4e4\\KXKd4h4^KVKb4i4aKUK`4i4dKSK]4m4eKQK[4n4iKoJW4P5Q200O101N1O100O1O100cKgGj3[8TLhGj3X8ULkGh3V8XLlGe3U8ZLnGd3R8[LRHa3o7^LTH_3n7_LUH^3l7aLWH[3k7dLXHW3Q9K4L4L4K6K4L4L4K8I8H7I8G9@?ZOmSa1"},"score":0.839},{"image_id":772,"category_id":20,"segmentation":{"size":[424,640],"counts":"`gU3h1a6cMVIe04k1f6]MXIk0Mk1m7XNmGk1R8XNjGk1U8WNfGl1Y8XNaGk1_8WN\\Gl1d8^1O101O00000000001O003M3M3M\\KiGV4`88J6J6J6J3M2jNaJ^J`5a5cJ\\J^5c5eJZJ\\5f5fJWJ\\5g5gJVJZ5i5hJUJY5k5iJRJX5o5iJnIh0DU3^6TLkIg0LQ3Z6YLgIf03n2V6]LeId0:m2Q6`LbIc0a0j2n5mMWJo1j5oMZJn1g5PN]Jn1c5oMcJm1^5QNfJl1Z5SNkJj1U5TNPKh1Q5VNSKg1o4UNWKg1j4WN[Kf1f4WN`Kd1a4ZNeKa1]4\\NhKa1X4\\NoK_1S4_NRL\\1o3eNTLV1n3iNVLS1j3nNYLm0i3RO[L7X4JjKYOQ5f0j310O010O010O010O010O01O01O0O2O0O101O0O2O00001O001O00001O001O00001N1O3L5L3M3LQX^1"},"score":0.468},{"image_id":775,"category_id":4,"segmentation":{"size":[427,640],"counts":"n9`2j:100O1O1O1O1O1O1O100O1O1O1O1O2N1O1O100O1O1O1O1O1O1O100O1O1O1O1O1O1O2O0O1O1O1O1O1O1O100O1O1O1O1O1O1O100O1O1O2N1O1O1O100O1O1O1O1O1O1O100O1O1O100O1O2N100O1O1O100O1O100O1O1O100O1O1O100O1O2O0O1O1O100O1O1O100O1O100O001O100O1O1O10O01O1O100O1O10O01O1O100O1O00100O1O100O1O00100O1O1O100O00100O1O100O10O0100O100O10O0100O10000O10O0100O100O100O010O100O100O10O0100O100O10O10O100O100O10O0100O100RJaIo4`6oJbIQ5^6nJcIQ5]6oJdIQ5\\6nJeIQ5\\6nJeIR5[6lJgIS5Z6lJgIT5Y6kJhIT5Y6kJhIU5W6kJjIT5W6jJkIV5U6iJlIW5T6hJmIW5T6hJmIX5S6gJnIX5R6gJPJY5P6fJQJY5P6fJQJZ5o5eJRJZ5o5eJRJ[5n5cJTJ\\5m5cJTJ]5k5cJVJ\\5k5cJVJ]5j5bJWJ]5j5aJXJ_5j6O100O100O100O10000O100O100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001O1O1O1O001O1O1O1O001O1O1O1O001O1O1O001O1O1O1O001O1O1O1O001O1O1O1O001O1O1O1O001O1O1O3M2N3M2N3M3M2N3M2N3M3M00O100O1O100O100O1O100O100O1O100O100O1O100O100O1O100O1O100O100O1O100O100O1O100O100O100000000000000000000001O00O1O1O1O1O1O1O100O1O1O1O1O1O100O1O1O1O1O1O1O1001O00000000000000001O0000000000000000001O0000000000001O1O001O1O1O1O001O1O1O1O001O1O1O001O2N3M2N3M3M00O10000O1000000O10000O10000O1000000O10000O10000O10000O1000000O10000O10000OnNcIXK]6e4gIZKY6c4kI\\KU6a4oI^KP6`4TJ_Kl5`4VJ_Kj5a4WJ^Kh5b4ZJ]Kf5c4[J\\Ke5c4^J[Ka5f4`JYK`5f4bJYK^5g4cJXK]5g4eJXKZ5i4gJVKY5j4hJUKX5j4jJUKU5l4lJSKT5l4nJSKR5m4oJRKQ5m4QKRKo4n4RKQKn4l4VKSKj4i4[KVKe4f4_KZKa4b4dK]K\\4b4eK^K[4a4gK^KY4b4gK^KY4b4gK^KY4a4iK^KW4b4iK^KW4a4kK^KU4b4kK^KU4a4mK^KS4b4mK^KS4b4mK^KS4a4oK^KQ4b4oK^KQ4a4QL^Ko3b4QL^Ko3a4SL^Km3b4SL^K\\4S4R4[Ne1\\N_dU1"},"score":0.071},{"image_id":775,"category_id":3,"segmentation":{"size":[427,640],"counts":"cen61Z=00001O001O00001O00001O001O00001O001O00001O00001O001O00O100O1O1001O001O001O001O00001O001O001O001O001O001O001O00001O001[C@]1N2O1000O01000000O1000000O100O1O1O1O1O100O1O1O1O1O100O1O1O1O1O100O2N1O1O1O100O10001O0O1000000000001O0000001O00001O00001O00001O00001O001O00001N10001O001O001O001O001O010O001O001O001O001O01O0O100000000O1000001N1000000O1000001N1000001N10001N10001O0O101O0O10001N10001O0O103M2^JfBY4^=cKeBZ4^=cKdB[4`=aKcB\\4`=`KdB^4_=^KdB_4_=^KcB`4a=[KcBb4`=[KcBb4a=ZKaBd4`>M3M3O0O2O1N101N2O1N101N2O0O4Lg0YOf1ZN1O10O010O010O10O10O010O010O01000O100O101N1O1O1_C]Nc6d1[IaNa6`1\\IfN_6\\1_IjN\\6W1bInNZ6S1dISOW6n0gIWOU6k0gIZOV6g0hI[OW6f0gI[OY6f0eI\\OZ6e0dI]O[6d0bI^O^6d0_I^O`6c0^I^Ob6c0\\I_Oc6b0[I_Oe6c0WI@h6c0TI^Ol6f0oH\\OP7g0lH[OS7h0iHYOV7Q1_HRO`7W1VHjNj7_1lGcNS8^1jGdNV8^1gGdNX8^1dGdN\\8]1bGeN]8]1`GdN`8^1\\GeNc8\\1[GfNc8]1YGeNg8]1VGdNj8^1RGdNn8b1kF^NV9i1aFXN`9o1XFRNh9U2PFkMP:]2aEjM`:k50O1O100O1O010O1O100O1O10O0100O1O01O01O010O00010O00010O00010O002N3M3M3N2M3M3M3M3M3M3M3M3N2M3M3M3M3M3M3M3M3N2M3M4L3M3M3M3M3M3N3L5K4L4L4L5K4L4J6J7H7J6I8I6J6I7J7H7J6I7J7aNWRZ2"},"score":0.663},{"image_id":776,"category_id":88,"segmentation":{"size":[640,428],"counts":"Wm0m0Pc0Y1hNX1gNY1hNX1gNY1gNZ1hNW1jNV1jN4L0000000000000000000000000000000000000000O1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001N101O001O001O1O001O001O001O001O001O1O001O001O001O001O001O1O001O001O0000O100000000O100000000O100000000O100000000O1000000O100000000O100000000O010000000O100000000O1000000O100000000O100000000O100000000O10000000mImFY1U9aNoF_1S9[NQGe1Q9UNSGk1o8oMTGR2n8hMVGX2l8bMXG^2j8]MYGc2i8XMZGh2h8SM[Gm2g8nL\\GR3f8hL^GX3d8cL_G]3c8^L`G^ObNU2P:XNaGBbNT2o9UNbGEbNU2n9QNbGIdNT2l9mMdGNbNT2l9iMeG1cNT2j9fMfG4cNU2i9bMgG8bNU2i9^MhG;cNU2g9[MiG>cNV2f9WMjGb0cNU2e9SMlGf0bNV2d9oLmGi0cNV2b9lLnGm0bNV2b9hLoGP1cNV2`9eLoGT1dNV2\\"},"score":0.943},{"image_id":776,"category_id":65,"segmentation":{"size":[640,428],"counts":"R`2i3W`0O1O1O1O1O1O1O00100O1O100O1O100O1O1O100O1O100O1O100O1O1O100O1O100O1O100O1O1O100O1O100O1O100O1O1O100O1O1O1N2O1O1O1N2O1O1O1N2O1O1O1N2O1O1O10000O100O10000O10000O100O1000000000000000O10000000O100000000kNk]O?Ub0Al]O>Tb0Ao]O=Qb0BQ^O=oa0BT^ORa0@Q_O?Xb001O001O001O001O001O1O1O1O2N1O1N3N1OY_c3f0P`\\LP1POP1PO;E1N2O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1N2O100O1O100O100O1O100O100O100O1O100O100O100O1O100O010O1O100O100O100O1O100O100O1O1b@cKY?]4g@fKU?[4k@gKS?Y4m@iKP?X4PAkLk=W3UBjLi=W3WBjLg=W3YBkLd=V3\\BkLa=W3_BjL_=W3aBjL]=W3cBjL[=W3eBjLY=W3gBjLV=X3jBiLT=X3lBjLQ=W3oBiLP=X3PCiLmiF]OW9>SG]Om8=^G^Ob8=hG^OX84[HFf7HTINn6APJ0QUl4"},"score":0.598},{"image_id":810,"category_id":62,"segmentation":{"size":[480,640],"counts":"QW[8a0^>c0^O2N001N10000O10N2L4L3M4L4O11N3N1O1N2O1O2N1bBTOe<`14M3L3M4L4M3L3M4L4M0O1O12O2M3M3M3O1000000001O0000000O100000000001O;E;E3N2M2OO01O10O0100lNHaC9a<3QCLR==bBD`=l02M3N21O00001O08H5K5L3L0010O01O00kA4W=j00L4H9G8H9O00000O2O0000001O003M2N2N2N1Oh\\e1"},"score":0.169},{"image_id":810,"category_id":67,"segmentation":{"size":[480,640],"counts":"hd?1n>`0@h3XL1O1O1[IlK]2U4bMTLU2m3jM]Ll1d3SNdLe1]3YNeLf1\\3YNeLf1\\3YNeLf1\\3YNeLf1\\3XNfLg1\\3WNeLh1\\3WNeLh1\\3VNfLi1[3VNfLi1[3VNfLi1[3VNfLi1[3UNgLj1Z3UNgLj1Z3UNgLj1Z3UNgLj1Z3TNhLk1Y3TNhLk1Y3TNhLk1Z3SNgLl1Z3RNhLm1Y3RNhLm1Y3RNhLm1Y3QNiLn1X3QNiLn1X3QNiLn1Y3PNhLP2X3nMjLR2V3mMkLS2U3lMlLT2U3jMlLV2T3hMnLX2R3gMoLZ2P3eMQM[2P3cMQM]2o2aMSM_2m2`MTM`2l2_MUMa2l2\\MVMd2j2[MWMe2i2ZMXMf2h2YMYMg2h2VMZMj2f2UM[Mk2e2TM\\Ml2d2SM]Mm2d2PM^MP3b2oL_MQ3a2nL`MR3`2mLaMS3`2jLbMV3^2iLcMW3]2hLdMX3\\2fLfMZ3[2dLfM\\3Z2cLgM]3Y2bLhM^3X2`LjM`3W2^LjMb3V2]LkMc3U2\\LlMd3U2YLmMg3T2WLmMi3T2ULmMk3T2SLmMm3T2PLnMP4S2nKnMR4S2lKnMT4S2iKoMW4R2gKoMY4R2eKoM[4R2cKoM]4R2`KPN`4P2_KQNa4P2]KQNc4P2[KQNe4P2XKRNh4S60000000000000000000000000000000000001O000000000000000000000000000000000000000000000000000000000000000000000001O0000000000000000000000000000000000000000000000000001O0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001O00000000000000000000000000000PFVKj9j4TF\\Kh9d4WFbKd9o4N2N1O2N1O1O2N1O2N1O1O2N1O2N1O1O2N1O2N1O1O0000001O0000000000001O00000000001O00000000001O00000000001O0000000000001O00000000001O00000000001O00000000001O0000000000010O00000000001O00000000001O00000000001O0000000000001O00000000001O00000000001O00000000001O0000000000001O00000000001O00000000001O00000000001O0000000000001O00000000000000O10000O10000O1000000O10000O10000O10000O1000000O10000O01000O10000O100K5L4K5L4L4M3O1O100O1O1O1O1O100O1001O1O1O1O2N1O1O1O1N3N1O1O1O1O2N1O1O1O1O2N1O1O1O1O1O2N1O1O1O1O2N1O1O1O1O2N1O1O1O1O2M2O1O1O1O2N1O1O1O1O2N1O1O1O1O1O2N1O1O1O1O2N1O1O1O1O2N1O1O1O1O2N1O1N2O1O2N1O1O1O1O1O2N1O1O1O2N1O1O2N1O1O2N1O1O2N1O1O2N1O1O2N1O1O2N1O1N3N1O2N1O1O2N1O1O2N1O1O2N1O1O2N1O1O2N1O1O2N1O2N1O1O2N1O1O2N1O1O2N1N2O2N1OlD"},"score":0.669},{"image_id":810,"category_id":1,"segmentation":{"size":[480,640],"counts":"bZ[74k>2O0O2O0O2N101N100O2N101O001O00000O1N2N3M2O1000001O5K2N2N1O2N2N1O2O1N1O2N1O1O2N1O1O2N1O?A0011N1O2O1N2N101N2DTC`NZYW1"},"score":0.938},{"image_id":810,"category_id":63,"segmentation":{"size":[480,640],"counts":"1n2R<3M3M3M3M3M3M3M3M30000000001O0000N2M3M4M2M3M3M3N2M3M3M3N2M3M3M3N2M3M3N2M3M3L4M4L3L4M3L4M3M3L4M3L4M2N0O100O10000O100O100O100O1O1O1O1O1O1O1O1O1O1O1O1O1OTXX8"},"score":0.814},{"image_id":810,"category_id":1,"segmentation":{"size":[480,640],"counts":"PhV64l>6_BOnNI^<;`DMPOIa<<[DLTOIa<=SD0\\OBb<`0jC4D\\Ob]1N2N2N2O1N2N2N2O1NRie2"},"score":0.706},{"image_id":810,"category_id":1,"segmentation":{"size":[480,640],"counts":"Xdl0=U>`0_Ob0D;01M3M2OO00000000000000000O1N2N2O1N2N2N2O1N2O100O100O1O100O100O2O3L4L4K5J6J6J7IWWk7"},"score":0.94},{"image_id":810,"category_id":3,"segmentation":{"size":[480,640],"counts":"QgQ51o>2N1O2N1O2N1Oc0]O00000000000000000000000000001O000O1000000000000000O100O100O100O100O100O100O100O100OQkb3"},"score":0.835},{"image_id":810,"category_id":54,"segmentation":{"size":[480,640],"counts":"oiR51k>4M3O0101O00001N1000001N10VdR4"},"score":0.646},{"image_id":810,"category_id":62,"segmentation":{"size":[480,640],"counts":"Xbl14b>?A?A`0D7M3N3L3M3M3M3N3L3M3M3N3L3M3M3N3L3M3M3O2O0O1O100O10O010N1O2M2O2M2O1O2M2O2N1N3N1O2M2O2N1N2O2N1O2N1O2N1O2N1O1N3O0O2N1O2O0O2N1O101N1O2N101N2N1O2OSTS4"},"score":0.515},{"image_id":827,"category_id":24,"segmentation":{"size":[496,500],"counts":"YR`27m>;EoIBR6;QJEn58UJHl56VJIj57VJJj54XJKh54YJLh53YJMf52[JNf51[JOd50]J0d5M_J3n7100O2O00O1O00101N4LbjU2"},"score":0.122},{"image_id":836,"category_id":36,"segmentation":{"size":[335,500],"counts":"Q^S24[:2N001O00001O00001O001O01O010O0010O010O01O010O00100O010O0010O010O010O010O0100O010O010O010O0100O010O010O010O010O010O010O10O010O010O010O010O010O01O10O010O010O010O010O010O010O010O010O010O0010O0100O010O100O010O100O10O10O100O010O100O010O1000O10O1000002NdUg1"},"score":0.199},{"image_id":872,"category_id":37,"segmentation":{"size":[640,621],"counts":"bio72lc04M4L2O1N101O0O1000001OO101O0O2N3L4M_^h3"},"score":0.797},{"image_id":872,"category_id":1,"segmentation":{"size":[640,621],"counts":"Zc^21oc03L3N3L4L3N3L3N2M3N1N3N2M3N1N3M3N2M2N3M3M2O2M3M3M2O2M3M3M2N3N2M3M2N3N0O1O001O01O01O0010O01O001O010O00F:D=E:000001O0000006J7I7I7I7I7I7I6JnmY1OPRfN4L4L4M3L4L4L4L4M3L4L4L4L4O1O1O1O1TFeNR1\\1mNfNQ1[1nNhNo0Y1POjNm0W1ROkNl0V1SOmNj0T1UOoNi0Q1gMQNjJP1]7P1eMZNgJi0a7n0cMcNfJb0d7l0bMkNdJ;h7k0`MTOaJ4l7i0bMYO\\J1o7g0dM_OVJLU8e0eMDPJJX8c0hMZ1V2fNiM\\1U2eNkM]1S2cNlM`1Q2aNoM`1o1aNQNa1m1_NRNd1k1]NUNe1i1[NVNh1g1YNYNi1d1XN\\Nj1b1VN]Nm1`1TN`Nn1^1RNaNQ2IbKnK^2Y4R2[LaKQ11\\N\\2X4U2VLbKR1N`N\\2W4W2SLdKQ1KdN[2X4X2oKfKQ1HiNZ2V4[2lKhKP1DnNZ2V4\\2hKjKP1ASOY2U4^2dKmKo0]OXOY2T4`2aKnKo0[O[OZ1^NWOg5X4]KPLn0YOAV1`NXOc5g6WLlHFS1cNZO`5j6RLjHLP1eN[O]5n6mKhH1m0iN\\OY5R7hKgH6h0lN_OV5U7cKeH;f0oN_OS5Y7^KcH`0c0ROAQ5[7XKbHf0`0TOBn4`7QKaHl0;XODk4c7lJ_HR17[OFg4g7gJ]HW15]OGf4i7aJ\\H\\12AHb4m7\\JZHb1OBJ`4o8mKUGGK\\4o8nKTGILZ4n8mKTGLNW4m8nKRGO0S4m8nKRG11Q4m8mKPG62n3l8mKPG74l3k8mKoF;5h3k8nKmF=8e3j8nKmF`08c3j8lKlFe09_3j8mKkFf0;]3`1UJY5h1jHj0:[3b1UJX5\\4QIe1d1QJZ5\\4lHh1i1nIZ5e:dJ\\EU3KVMk:B]Ej2e0SMo91^E_2_1PMU9>_ES2Z2nLX8m0`Eh1T3lL]7Y1bE]1c>aN_AQ1P?lNSAg0Y?WOi@i0X?TOk@k0U?SOm@m0T?POo@n0S?nNPAR1P?kNTAT1n>hNUAV1m>fNVAZ1k>cNXA\\1i>`NZA`1g>\\N]Ab1a`001O001N101O1N101O001N10O1O1O0O2O1O1O0O2O1O001O1O10O0100O1O010O10O0100O10O0100O10O010O1N1O2N2N2N9G9G8H9H8GmYo3"},"score":0.534},{"image_id":872,"category_id":1,"segmentation":{"size":[640,621],"counts":"jfV42mc03M2M4M2M3N3M2M4M2N2M4M2N1N100O1000O2O001O0010O0lDnN\\3Q1dLPO[3Q1eLoN[3P1eLQOZ3o0fLROZ3m0gLSOX3n0gLSOY3l0gLUOX3k0iLVOV3j0iLWOV3i0jLXOV3g0kLYOT3g0lLZOT3f0kL[OT3e0mL[OS3d0mL]OR3d0mL]OS3b0nL^OiNGbMk0e3_OdNLfMd0f3B]N2jM=i3AXN9mM5lN4S1_On1`0PNM]NS1X1aNV2f0RNG^Na1m0RNc2h0nMFaNn1a0eMo2j0kMDcNV2<]MU3l0hMBfN[28XMY3m0fMBgN^27SM\\3o0bMAjNc23nL`3Q1_M_OmNg20jLc3S1\\M^OoNk2NdLf3W1XM[OROQ3K_Li3X1VMYOUOU3H[Lm3Z1QMWOYOZ3EULP4]1nLVO[O]3DPLR4a1jLSO_Ob3@kKV4c1fLROCf3]OeKZ4f1aLQOFi3[OaK]4l1ZLkNMn3XO[K`4W2oKaN8S4TOVKd4a2dKWNd0V4QORKf4S5WL1nNkJEUOV5n5WL6kNgJHVOT5n5WL;hNaJOUOQ5S6TLX1kNeHP5X6PLT1S4oNiKR1X4POeKQ1[4QOaKQ1_4QO^Ko0c4SOYKo0f4UOVKl0j4VORKl0n4VOoJj0R5XOjJj0V5P70O1000O01000000O1000ORLhJUIZ5h6jJVIV5h6oJUIR5h6RKUIo4i6UKUIl4i6XKTIh4j6\\KTIe4i6`KSIa4k6cKSI^4k6eKSI\\4j6iKVHgNdNa5T9lKhG_OfNf4o9_KbFb6a9^IdE[7]:S13N1N2O2M2O2N1N3N1N3N1N3N0OO2O1N1[FYGQ8\\:N2N2O1N2O1N2O1N101N2O1N2O1N2O1N2N2O1N2O1N101N2O1N2O1N3N2M3N2M3M3N2M3N2M3N2M3N2M3N2M3N2PNnBmLU=P3nBmLV=n2nBPMT=l2nBSMU=f0iB@2KW==oBDKOP>^O]B`0D2k>\\NiA^1]O6P`0FQ@;Q`0BP@=S`0_On_Ob0T`0[Ol_Oe0W`0WOj_Oj0X`0ROj_Om0Y`0POg_OQ1[`0kNf_OU1]`0hNd_OW1_`0eNb_O\\1``0`Na_O`1b`0]N^_Od1d`0XN^_Og1]a01O010O0010O01O0010O00010O01O0010O01O010O0010O0001O010O0010O010O2O1N2O1O101O00000O1O1O1O100O1O1O2N1O100O1O1O1O100O1O1O2N1O100O1O1O1O2O1N2N2N1O2N2O1M3M2N3L4M3MTfg2"},"score":0.265},{"image_id":872,"category_id":40,"segmentation":{"size":[640,621],"counts":"WQS79gc00O2O001O0O2O001N101O1O2M3N1N9H1N101N101N101N101N2O0010O01OO1O100O2N1O1[O`]OIab06e]OD\\b0;e0O2O00000000001O00001O1N2O1O1N2O1NiRn3"},"score":0.526},{"image_id":873,"category_id":85,"segmentation":{"size":[640,502],"counts":"jhl29ec03N2N2O00000000O2N3L5HY_e6"},"score":0.978},{"image_id":885,"category_id":1,"segmentation":{"size":[427,640],"counts":"hP`34T=7I8I6I3M4M2N3M3L3N2N2N2N1N3N1O2N2N1N3N101O010O1O001O001O01O00000000001N21N2mGQNh4Q2TKSNj4n1SKUNl4l1QKWNm4k1PKXNo4j1mJXNS5i1jJZNU5g1hJ\\NV5g1fJ[NZ5f1aJ_N^5b1\\JcNd5^1WJfNh5^1QJgNn5_1hIeNX6`1_IdNa6b1UIbNj6d1iHeNV7h30oNcHTL]7j3gHTLX7k3mHRLS7k3RIRLo6l3VIQLj6m3ZIfKP7X4S1N2M3N1O2H8H8M3M2hNWFmNl9S1_F_Nd9b1eFQN^9P2n0001N2O001O1O001N1F;K5O001O1O0O2O00001O001O001O0010O000VNQF9n9DYF8g9D_F;a9AdF=]9_OgFa0Z9QOTGm0f:01N1O2O0O2O0O2N1O2N1O2N01O01O00001C>B9G8H7I8H7J6M4M2M3N1N2O1N3N1N2O1N3N1N101N2O1O1N2O1N2O1N2O1N2O1N2O1N2O1N2O0O2O2M2O1N2O1O2N1O100O1O2O0O1O100O1O100O1O100O1O100O1O1O100O1O100O1O100O1O100O1O100O1O2O0O1O100O2N100O00100O1O010O1O1O10O01O100O00100O1O010O1O10O01O1WGcJh7^5THeJm7[5oGiJP8W5nGlJQ8U5kGoJU8Q5gGRKY8o4cGUK\\8k4aGYK_8g5O1O010O1O1O01O01O01O00010O000010O00010O0000100O00100O1O100O1O100O1O1O100O1O10O01O10O00001O00001O0000001O00001O00010O00001O00001O0000010O00001O01O01O000010O000001O01O01O1O1O010O1O1O1O010O1O1O0010O000000000001O00000000001O00000000000O2O001O001O1O001O1ZOUGPKl8o4TGQKl8n4VGQKk8n4VGQKk8m4WGRKi8n4WGRKj8l4XGRKj8m4WGRKi8m4YGRKh8l4YGTKh8k4YGTKg8k4[GTKf8k4ZGUKg8j4ZGTKg8l4ZGSKg8l4ZGRKh8m4XGSKi8l4XGRKi8n4XGQKi8n4XGPKj8o4VGQKj8o4g0O1O001O1O002N2N1O2N2N1O2N2jK^Ec3W;G9F:G9B>C=Bi0XOh0WOl_d2"},"score":0.36},{"image_id":923,"category_id":3,"segmentation":{"size":[485,640],"counts":"PeT82Q??@3N2M3O10001N2O2N1O000000000000000000000000000000O10000000000O1APBIQ>5`000O100O100O1O101O0000001O001O001O1N101O001OW_?"},"score":0.913},{"image_id":923,"category_id":3,"segmentation":{"size":[485,640],"counts":"Rim82o>4M4K5O0000000000001N100O1O100O100O3N1N2O1N100O10001O000000O1O1O1000001OgJ"},"score":0.673},{"image_id":923,"category_id":37,"segmentation":{"size":[485,640],"counts":"ZmT72n>OTA4ONh>90000000000O101N2O0O2O000O2O00J`AG_>6bAF13]>6hAIX>6jAHW>6<01O1O0Ob]1NbbN000000O100000Xfh1"},"score":0.715},{"image_id":923,"category_id":3,"segmentation":{"size":[485,640],"counts":"\\[c87j>400O1O1O101N1O1O101N1O1O2O1N2O00000000JgA@Y><4N1O2N1O1O1O1O1N0100O2O1O1N2O1O1O1N2O1O1O10000000O100000000000000000000000O10001O0000001O000O2O001O1O00[]7"},"score":0.057},{"image_id":923,"category_id":3,"segmentation":{"size":[485,640],"counts":"nfj74j>8M2O1N3M2O1O100O101N3NAgA3X>JVBLi=1\\BMd=1_BNa=0aB0^=OdB1WZ\\1"},"score":0.648},{"image_id":923,"category_id":3,"segmentation":{"size":[485,640],"counts":"hnQ23Q?10O1N2001m@045_>:O10000000001O2N00I8O06J00001OO100010O03M1M4N7IUnn6"},"score":0.646},{"image_id":923,"category_id":3,"segmentation":{"size":[485,640],"counts":"gkg7;i>100O2N101N10K4K6O0O2O0O2O001OU?0dX^1"},"score":0.502},{"image_id":923,"category_id":52,"segmentation":{"size":[485,640],"counts":"VWo6:j>4L2N1O2M200000O1IbAG^>79N20000000000O100O100O10000O1000001N101O0OogP2"},"score":0.406},{"image_id":923,"category_id":3,"segmentation":{"size":[485,640],"counts":"[R[76n>1O2N2N1O2N1O3M2N10000000O1M3L3O2N2O1N2O2O00000O10000000000O2O000000^_c1"},"score":0.315},{"image_id":923,"category_id":1,"segmentation":{"size":[485,640],"counts":"ffm57m>3M2N4M1O000001O1O3M7I001O00001O001O00jmW3"},"score":0.341},{"image_id":923,"category_id":10,"segmentation":{"size":[485,640],"counts":"Y]e0>f>0100000000000000000000000bRc8"},"score":0.241},{"image_id":939,"category_id":70,"segmentation":{"size":[480,640],"counts":"clc14k>1N1O200O1O010O10O0100O10O010000O010O10O10O10O1000O10O10O10O1000O010000O1000O01000000O01000O1000O010000O10O10O0100O0100000`NHXD7i;KkBNW16m;;iCEW5K5O1O1O100O1O1O100O1O1O100O1O100O1O1O100O1O1O100O1O1O100O1O1O100O1O1O100O1O1O100O1O1O100O1O100O1O1O11O2N2N2N2N00O10000000000O1000000O1000000O1000000O1000000O1000000O1000000O1000000O100O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1M3H80000000000000000O10000000000000000000000O10000000000000000000000O10000000000000000000000O10000000000000000000000O1000000000000000000001O00001O00001O00001O00001O00001O00001O00001O00001O0000001O00001O00001O000N3L4M3M3L4M3M3L4M3M3L4M3M3L4M3L4M3M3L4Mi[a4"},"score":0.669},{"image_id":939,"category_id":81,"segmentation":{"size":[480,640],"counts":"[fW53i>5L4L5K4O1N2N2O0O2N101N1O2O1N1O2O0O2O07JO001O10O01O001O001O001N2O00000O2O00000O10001O0O1000000O2O00000O10001N100O1O100O2N1O1O1O1O1O1O1O100O0010000000O100000000O010000000O1000000O10O100000O100000000O100000000O10001O000O100000000O2O0000000O100000001N1000000O1000001O0O1000001N2N1O2M3N1O2N2N1N3N2N1O2N2N1N3N5K8HPek1"},"score":0.916},{"image_id":939,"category_id":13,"segmentation":{"size":[480,640],"counts":"Sc[71m>2N2O1O10000000001N100001O00000L4NUog1"},"score":0.641},{"image_id":962,"category_id":43,"segmentation":{"size":[640,427],"counts":"^oP51oc00O10001O1N1O2N1O2O0O2N1O2N10O0000001O01O000001O0001O0001O00001O01O01O00O10001O001N101O00001N1O2O0O1O2O0O2N101N1O1O2O1N2N101N2N101N2I7F9K6N2N101N2N2N1O2N2N101O1O1O001O1O1O1O1O001O1O1O1O1O00100O100O100O010O10000O100O100O100O100O1000O0100O100000000001O0000000O101O0O100O10000O2O000O100O101N100O1O1O2N101N2N1O2N101N2N1O2O0O2N2N1O2N1N3N2N1O2N]H"},"score":0.492},{"image_id":962,"category_id":1,"segmentation":{"size":[640,427],"counts":"X7`3\\`06K5K4ROULbAP4[>WL\\An3`>ZLVAk3h>i0L4L3N3L4M3L3M4M3L6K5J6J6K5K5K6K4L4L4K5L4L4K5L2N2N1N3N1O1N3N1O1O2M2O1O2M2O1O2N1N3N1O1N3N1O1O2M2O1O2M2O2N1O1N30O0001O00001O01O01O001O00001O01O01O00001OO2O000O100O2O000O101N10000O100_FTFl8m9RGUFn8k9QGWFn8i9PGYFo8h9PGYFP9\\:O10O1O001O001O1O001O001O1O001O002N1O1001O0001O000000000000001ObM]E^Kc:Z4eEfK[:[OaEj2PNf8HmFW2Z7eNfIm0PO=Z7gNfIl0QO:Z7jNgIl0nN9[7lNgIk0nN8\\7lNgIm0mN4]7POgIk0lN3^7ROgIl0kNMa7XOdIk0kNIe7\\O`Ik0kNEh7@_Ik0iN@k7E]Ik0hN\\Oo7HZIm0gNVOR8NXIk0fNSOV81UIm0fNlNX87SIm0gNgNX8i1TAUNh>o1ZAnMc>W2^AgM^>]2dAaM\\>`2eA^M[>b2a1001O0YAbMl;`2dCPN[:F:G8H4M3M3M3M4K4M3M3M3M3N4M3L4M4L3M3M3M3M3M3M5K6J6J1O0001O2N1O2N1`NiEaMX:a2kEXMY:g2\\100O100O100ON3M2]CfMh;S30001ORNQEUOf:UOcDf1[=[NcBe1^=\\N`Bd1a=]N]Bb1e=^NZBb1g=]NYBb1i=^NVBb1k=]NUBb1m=20O2O1O1N2O1N101N2O1O1N2O1N101N2O1O1O1N101O1O1O1O1O001O1N2O1O1O001O1O1O1N2L4L3N3N2Odem0"},"score":0.378},{"image_id":974,"category_id":1,"segmentation":{"size":[500,334],"counts":"g\\U23[?:K5L4L2M2oAZOR=g0fBBW=a0cBD\\==aBG\\=;bBH\\=:aBI\\=9bBJ\\=X1N3N2M3N101O1N100O100O010ON4H9H8G9jNV1J5J4LYb]2"},"score":0.388},{"image_id":974,"category_id":1,"segmentation":{"size":[500,334],"counts":"VXf11b?2N2N2O2M2N2N3M1O1O1nA_OQ=a0lBBS=?jBDV=C4L4L5L3M3aN[NjDi1Q;\\NlDf1P;_NlDd1P;`NmDd1o:`NmDc1o:bNmDa1o:cNoD]1o:hNmDY1Q;lNkDU1S;POiDQ1W;ROfDn0Z;TOcDl0^;e11O0000001O00001N1000001O00001O000O101O00003M3M3M2N3L4M3M3M2N3M3M1O1O1N2O1O001O1O1O1O1N1O2N2N2N2N2N2N1O2N2N2N2N2N1O2N2N4M2M4L4L4L3M4L4L3M4L4L4L3Mj[b2"},"score":0.088},{"image_id":974,"category_id":22,"segmentation":{"size":[500,334],"counts":"cZV1c0n>:G5J6K5J5L5J6K5K6I6K6J5M4K4L5L3L4L5L3L4M2M2N3N1N3M3N1N3N1N3M3N1N3M2O2M2O2M3M2O2M2N3N2M2O2M2N3N1O2N2N1O2N1O2O0O2N2N2N4L4L4L4L5K4L4L4L4M3L4L5K4L4L4L4L4L4L3M0001O0O1000000O1000000O10000O2O00000O1000000O1000000O101O001N3N2N1O2M3N2N2QOVHPJk7k5QI\\IR7^6V1J6J5K6J6J6J6J5K6M3L4M2N3M3L4M3M2N3M3L4M2N3RNXDKk;N[DOi;I^D5e;DaD:a;@eD>^;ZOiDc0[;VOkDh0X;POoDn0S;lNSER1iGmA9S>GmA8T>HmA7S>ImA7S>InA5S>KmA5S>KmA5R>LoA2U>KlA4k>O1Nihh0"},"score":0.522},{"image_id":985,"category_id":6,"segmentation":{"size":[426,640],"counts":"X4V5T8000000000000000000000000000000000000000000000000000000000000000000000000000000O10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001O001O001O1O001O001O1O001O001O001O1O001O0O2O1O001O001O001O00O1000000O1000000O10000O1000000O1000000O10000O1000000O1O1O1O1N2O1O1O1O1O1N2O1O1O1O1N2O1000000000000000000000000001O000000000000000000000000000000000000000O100000000000000000000000000000000000000000000000001O0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001O0000000000000000000000000O100000000000000000000000000000000000000000000000000000000000001O0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001O0000000000000O1000000000000000000000000000001O001O001O001O001O1O001O001O001O001O00000000000000000000O1000001O000000000O10001O0000000O1O1O2M2O1O1N2O1N2O1O2M2O1O11O000001O01O000000000010O00000001O000001O0001O00000001O01O000000001O01O00000001O0001O0001O00000000O2O000000000O101O00000O100000001N100000000O10001O000O100000001O0O1000001OCO1000000O10000002N2N3M2N3M4L5K4LTab3"},"score":0.92},{"image_id":985,"category_id":62,"segmentation":{"size":[426,640],"counts":"`hc14U=3N3M6J000001O1O002N1O2NXRa6"},"score":0.343},{"image_id":985,"category_id":1,"segmentation":{"size":[426,640],"counts":"nfd53V=4L4J5I7M3O1N00001O4L30O3K2N2M2O3LYQ^2"},"score":0.758},{"image_id":985,"category_id":1,"segmentation":{"size":[426,640],"counts":"Wlm35R=3M4O201O0BKeC5V:M2O2M2O2N1N3N1N3N1N3N1N3N4L5J5TKnMbLW2W3kMiLZ2Q3gMoL]2k2eMUM`2e2aMZMe2`2\\M`Mi2Y2YMgMk2T2VMlMo2m1SMSNR3g1oLXNW3b1jL^NZ3\\1hLdN]3V1dLjNa3o0aLQOc3j0^LUOh3e0YL[Ol3>VLBo38RLHR42oKOV4KkK5Z4EgK;]4_OeKa0`4YOaKg0d4RO^Kn0g4lNZKT1j4gNWKY1n4`NTK`1Q5ZNPKf1U5SNmJm1W5nMjJR2[5hMfJX2_5aMcJ_2a5\\M`Jd2e5UM]Jk2h5oLYJQ3l5iLUJW3o5cLSJ]3R6]LoIc3V6VLlIj3Y6PLhIP4\\6kKeIU4`6dKbI\\4c6^K^Ib4`80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O100000000000000000000000000000000000000000000000000000000000000000O10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fM]KWJc4d5dKZJ\\4b5iK]JW4^5oKaJQ4[5TLdJl3W5[LgJe3U5`LjJ_3R5gLmJY3o4lLPKT3k4RMTKn2h4XMVKh2e4^MZKb2b4cM]K]2^4iMaKW2[4oMcKQ2X4UNgKk1U4ZNjKf1Q4`NnK`1n3eNQL[1j3lNTLT1h3QOWLo0e3VOZLj0a3\\O^Ld0^3B`L>[3HdL8X3MgL3T33kLMQ38nLHm2?QMAk2d0TM\\Og2j0XMVOd2o0[MQO`2U1_MkN]2[1aMeNZ2a1eM_NW2f1hMZNS2l1lMTNP2R2nMnMm1X2RNhMj1]2UNcMf1c2YN]Mc1h2[NZM_1m2_NUM[1P3dNRMU1T3jNnLP1W3oNkLj0\\3TOfLh0]3WOeLf0]3YOeLc0^3\\OdL`0_3_OcL>`3@bL;O1O1O1N2O1O1N2O1O3M3L5L1O1N2O001O001O1O001O001O10O0000000000000000000000000000001OZM"},"score":0.564},{"image_id":987,"category_id":47,"segmentation":{"size":[480,640],"counts":"bV[15k>g0XO4M3L4M2M2O1O1N2O2M2O0000000000000000000000001O0000O100O2O0O101O0O101N104K5L2L8GSS]7"},"score":0.645},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"`XR17h>101N2O2N3O0O05K010O00100O04MO1N10jXQ8"},"score":0.532},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"`Te04k>4L3N1N112M2O0011N2N3M0010OO110O01O1OO2Njo\\8"},"score":0.204},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"e_V13g>8O0O2O0O2O0O2O0010O100O100O1O1M3GSRm7"},"score":0.782},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"dUl01m>4L3N3N1O2O0O101O0014K10O010O0100O011Mi]V8"},"score":0.202},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"mUS11l>4N2N2O1N2O4M3M11N2M3N1N3O1N2M3LajP8"},"score":0.883},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"RhQ14l>2N2M2O1O2N1O2N1O2N1O1O2N1101N1N3M2N3M2N3M3M2NVon7"},"score":0.271},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"hdl04l>3M1N3O0001O010O0010O01O001O1KjjW8"},"score":0.561},{"image_id":987,"category_id":49,"segmentation":{"size":[480,640],"counts":"_Xc06i>3N1O001O2N16K001OO010O01O001O0010O000gZ_8"},"score":0.204},{"image_id":987,"category_id":51,"segmentation":{"size":[480,640],"counts":"[kc76c>7L5O1N1O2O1N2O0O2O1O001O00001O000000000000000000000000000000001O00000001O00001O00001O00001N101N10001N10001N1N2M5J7Jk_l0"},"score":0.658},{"image_id":987,"category_id":81,"segmentation":{"size":[480,640],"counts":"\\ee85k>5K1O1O1O1O1O1O1O1O1O1O1O1O2N1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O1O2N1O1O1O1O1O1cJ"},"score":0.539},{"image_id":987,"category_id":47,"segmentation":{"size":[480,640],"counts":"R\\b03m>6I6K6I7J6I6K6I7J0O101O0O100O100O100O2O00000001O001O01OO2O0O101N101O0O101N10001N4M6I7J6I6K6J6I7JdcR8"},"score":0.708},{"image_id":987,"category_id":79,"segmentation":{"size":[480,640],"counts":"bWR21n>1N2O1O1O1O1O1O1O1N2O1O1O1O1O1O1O1N2O1O1O1O1O1O1O1N2O001O1O1O1O1N2O1O1O1N2O1O1O1N2O1O1O1O1O1O1O1N2O1O1O1O1O1O100000000000000000000000000000000000000000]NRCT1^=O1O1O00000O101O000000001O00000000001O0000000000001O00000000000000000000000000000000O10000000000000000000000000000O1000000O010000000O100000000O10000O1O100O1O100O1CiNQCW1o3L2N2N1001H7Ocn]8"},"score":0.349},{"image_id":999,"category_id":1,"segmentation":{"size":[347,640],"counts":"0c1X91O00001O001O00ZOPGAP9;VGDi87]GHc84cGK\\81jGMV8OoG0Q8MTH2k7LXH3h7K\\H3d7K`H4T9O2O1N1OkP50klJf0SI[Ok6f0UI\\Og6f0YI[Of6e0ZI\\Oe6d0[I^Oc6b0]I_Ob6a0^I@a6`0_IA`0Lf3c0jKC8c0[3K\\LC2\\1n2QOPMDKP2f2\\N_MFCX2j2RNcMIZO`2n2gMhMLoNj2T3ZMmMOcNW3Y3jLTNb4_1^KaNn4S1RKmN[5f0eJZOg5:YJFT6MlI3c6^O^Ia0^800000000000000000001O00000000000000000000001O00000000000000000000001O000000WKYO^Og0`06eNJ]1g0PNYOQ2Y1\\MgNf2h1hLYNZ3m1WLZNj3m1fK[N\\4j1VK]Nk4i32N1O2N2N1O2N1O2N2N1O2N1O2N2N1O2N1O2N1O2N2N1O2N1O2N2N2N2N3M2N2N2N3M2N2N2N2N3M2N2NiLhLmNV3l0SMUOj2e0^M[O`2>hMCV26SNJk10\\N2a1FiN:U1ZOYOf0e0oNGW12PMi1h3Z2N1O2N2O0O3M4L3M3M4L3N3L3M4L3M4L3N3L3M3M4L3L4M3L3N2M3N3M2M3N2M4VO`F3b9FiF3U:KRWh4"},"score":0.17},{"image_id":999,"category_id":1,"segmentation":{"size":[347,640],"counts":"TeW24e:6J5J6K5M4K7I6K5J2N100O2N100O2N100O2O0O2O0O100O1O100O1O2N1O1O1lIlM`3U2_LnM_3R2`LPN]3R2bLPN[3R2eLoMX3R2hLQNT3Q2lLPNQ3Q2oLPNo2Q2RMoMm2Q2SMPNl2P2UMPNk2o1UMSNi2n1WMRNi2m1WMTNh2n1WMRNi2n1VMSNi2o1VMPNk2Q2SMPNl2Q2TMoMl2R2RMoMm2S2RMlMo2T2PMmMo2U2PMkMP3U2PMjMQ3W2nLiMQ3X2oLhMQ3W2oLjMP3W2PMhMQ3W2PMiMP3W2PMiMo2V2SMiMn2U2TMkMk2T2VMmMj2Q2XMoMg2P2[MPNe2\\2oLdMQ3^2mLbMR3a2lL_MT3c2iL^MV3e2fL]MZ3Q3VLQMj3h3\\KYLc4o3TKSLl4n4O100O10000O100000N2O1O1O1O1O1O1O1N2O001N2N2N2N2N2M3N2N2N2N2N2N2M2O2N2N2N2N2N2M3M3M3M3M3N2O02O00000000000000001O0000000O100001O01OO1000000000001N10kIcLl4]3mJRMk4n2nJZMQ5f2jJ_MV5a2gJcMX5]2eJgM[5W2bJnM]5i3O001O010O001O010O001O0001O01O00000010O00000000010O00001O00001O00010O00001O0000001O001O1O010O1O1O001O1O001O1O1O001O1O010O1O1O001O1O1N101N2N2mMSJVOn5g0_JmNb5P1bJoN_5m0eJQO]5l0eJSO]5i0fJWO[5e0hJ[OX5b0lJ]OU5?nJAS5MhRA0M1[E0e:300000000000000O10000000000000000000000000000000000000001O0000000000000000000O100000000000000000000000000001O00000N2MRhS5"},"score":0.005},{"image_id":1000,"category_id":43,"segmentation":{"size":[480,640],"counts":"VQd05h>;E;E4M3L3M4L4M3M3N2M3M3M2O1N3M2BUNeCm1Z<=O1O1O2N15K6J6J4L1O1O1O2M2O1N2O2M2O1N3N1N3M2O2L4L4L5L4K4L?Aa^Q8"},"score":0.59},{"image_id":1000,"category_id":31,"segmentation":{"size":[480,640],"counts":"i]=6h>7I4M3L4M3M2N2N2M3N2N2N2M3M2O2M2N3J5M4M3N1N3E:H9K4N3M2N3M2N2N2TMnCn1e:K5M4M2M3N3L3N3L3N2M4M2M3N3L2O1N3N1N2O1N3O01O01O0001O0VNYC\\1f<[NaCm02N2N2N3M2N2N2N3M2N2N2N3M2N2N2N3M2N2N3M2N2N2N3M2N2N2OQ1nNn2SMO00010OZO\\JQHd5h7fJVHY5h7lJUHU5k7mJRHS5n7PKPHo4Q8SKlGd4^8c0;E4N3M1O100O1M3N3M4M5J6L1N3N1N2O1N3N1O00O2N100O1O100O1O1O10000XO[B5e=KaBO_=JiB5R>M3L4M\\cm2"},"score":0.747},{"image_id":1000,"category_id":1,"segmentation":{"size":[480,640],"counts":"PUP45h>4L3aAHR>=jAIP>g0K4L4K5L5K4L4SD@W9b0jEUNc0_1[9=PFWNe0\\1c1dNQ5k1`H\\Nl0V1`1hNo4U2aISO]1lNo4S2dIQO[1nNo4U2dImNZ1POQ5W2bIjN[1POS5Y2`IiNY1oNV5\\2_IhNU1oN[5W1SIlN>R1n0mN`5V1TIhN`0S2JTNb6h0]InN8_2AkMk6h0]IkN6k2\\OaMQ7j0]IgN7n3^6ZM\\IeN7R4]6ZM\\IaN8U4^6ZM[I]N8Z4]6YM\\I]N5Z4a6YM[I[N3]4c6WMSJk2k4jK]J\\1d0m2f4ULaJm0g0R3g4VL]Je0l0X3h4WLVJDLM[1_3dNkLn57UJC1E[1b3lNiLc5>RJD5]O_1b3ROiLX5`1WJRN`1`3]OhLl4f1WJPNb1\\3FhLa4n1nKa0^6A^ImMXNX2d8JPHoM=]2_7DSHQN>_2[7@THUN?_2Y7^OWHTN?a2W7^OWHRNa0a2V7BUHnMd0b2X1SMg3^2[JoMd0b2W1VMg3Z2[JQNf0a2T1YMh3l2RKL[OlMf0Bj4i2QKW1GULU5h2PKW2m4kMQKX2m4gMSK\\2j4dMVK]2i4cMkJeL6h5o4iMQKW2P5iMmJY2S5j3001[GhJ`7X5_HmJ]7T5bHPKn5IZJZ5DPKl50[JR5EoJl58ZJl4ARKQ6;F5J5K4L4M3L4M3N1O2N2N2N5J7nFRNh4S2mJTNQ5Q2PHYO9mNe7o1eGKNaN[8i1]GR1a8h2O1N1O1WOiIhHX6U7SJbHm5]7YJ_Hg5_7m0O0O10O2F;G9H8G9D=F9K5L4K6K4O101N2O1N2O0O2002jFQLV7Q4[H_Lb7c3PHjLo7U5N2O02O1O1N2O1N:hJdGW3^8bLjG[3X8bLlG\\3T8bLoG\\3R8cLWHR3k7nL]H_1mNdNh8L\\HW1VOiNa8N[HS1[OlN\\80ZHo0@mNY83YHj0DPOT86aH>_OYOS87fH4^OBn79jHI@Ji7iJAW5>kJAT5=PKBn46J5K5K6J5J7J5K6J5K6J5H8H9G8eFXMU6P3hITMo5S3nIQMj5W3SJkLf5\\3XJfL`5b3]JaL\\5f3bJ\\LW5l3fJVLS5Q4YIeKa0=P6T4ZIPL8N^6R4UIaLN@l6P4RIjMn6W2lHnMS7P50000O10000OUKZIAGWO`5hNZK^2NRO^OFV5YOSKm1`0lN\\OLm4@VKf1g0gN[O1d4GXK`1P1`NYO7^4JYK]1V1ZNYO=X4MXKZ1^1QNZOf0o31WKW1b3eNX14VKT1g3fNS17UKQ1l3fNo0:SKo0R4eNk0=RKl0W4eNg0?RKj0[4dNc0d0QKf0`4cN`0h0nJd0f4aN=k0mJa0k4aN9o0kJ>P5aN5R1iJ7I8H9H8I7M14J;E6J4K6K5Kb_60]`I6H6I7I6J7ZBkN\\=X1`BjN`=[1O1O2N100O101O1O1N101O1PD\\Nb:e1\\EcN]:^1aEgN[:Y1dElNY:T1fEoNW:T1cEmN_:Y1VEkNl:^1fDdN\\;_22N100O2N2O1fMiDh0Y;WOgDh0[;VOfDj0[;TOfDk0\\;SOfDk0e;]NlC3d0`1d9G2N1N2O1O2N1O1O1dNNhC3]9BWHj0UNEQ99SGWOd0T1PO^OS9Y1hGCnNTOW9^1RHOk75RGUN?b1\\8S1fGjNe7RNTHW3:dNc7XNkGY3d0]Na7]NcG[3n0VN_7Q2cHoM\\7Q2fHmMZ7S2hHkMY7S2jHjMW7g1gGQMS1V1X7g1lGlLo0f0j7d1PGlMM0k19^7h1nFjMO2f16b7l1ZGkMV13e7P2T3O2M2O2O00100O1O00100OGUN_Cj1QlHC_<>^CH^<:^CHc<:XCIg<9UCJDEnLU``5"},"score":0.269},{"image_id":1000,"category_id":27,"segmentation":{"size":[480,640],"counts":"mYP31h>5J6K5L4L4^O@bBd0`=<1O2N2N1O2N2L4M2M4LVP?B\\PA?B1N1O2O1N2NN3L3L4L4M4K4MiV^5"},"score":0.181},{"image_id":1000,"category_id":27,"segmentation":{"size":[480,640],"counts":"XUh09Z>:2N1O2N101N1O2N2N3MgX3N^gL001O1nAOS=2hB2W=OfB2\\=1]B2d=2TB0o=>3M3J6Jn_7Eb`H2O4K5L4K5002J6H\\Rj7"},"score":0.794},{"image_id":1000,"category_id":1,"segmentation":{"size":[480,640],"counts":"kVg0`0X>=H7H9E;J4L3M4WCoM[;9UEj1\\OQN\\;8UES2h:QNTER2h:RNVEo1h:TNUEn1T2\\MS6j0fGj1W2^MQ6n0aGd1_2_Mn5f3RJZLn5e3SJ\\Ll5d3TJ]Lk5e3SJZLn5m3kISLU6o3iIQLV6S4fInKZ6T4dIlK\\6k3mIULT6h3mIXLT6f3nIZLR6e3oIZLS6e3mI[LS6i3jGSLd11c6\\4P23L2N101N100O1OWLjEi2V:\\LjEd01Q3m0XLU83oFa01U3g0[LW8OSG>0Z3b0\\L[8KYG8Ld3:\\L`8GoGP4XO`Lg8@QHl4o7SKRHn2ROkNo9o0]FlNc9n0bGRN_8i1fGWN\\8GmE^1j1jN^8BmEX1n1UOZ8]OlE_1g1SOo8h0QGWOU9c0lF\\OY9?hF@^9:dFDa97`FGe94^FJg9N^F0\\101N2N101N2N101N2N2O0O2N2N4L5K4L10N101O02O00000O2O00000O101O0001O01O01O0010O01O0010O0001O010N1O2[OYBNh=Ng0LU\\`3"},"score":0.726},{"image_id":1029,"category_id":56,"segmentation":{"size":[640,443],"counts":"QSi21oc000001O00001O0000001O00001O00001O0000001O0O101O0000001O00001O00001O0000001O0000000000000000001O00000MCc\\O=]c0Db\\O<]c0Ec\\O;\\c0Fd\\O:[c0Ge\\O9Zc07O100O1O1O2N1O100O1O1O10000000000001O01O000000000001O00000000000001O000N2N2N2N2N2N2N2N2N2N2N3M2N2N2N2T1lN1O0000000000000001O01N10000O1000000O101O000O10000O1000001N10000O1000000O10001O000O1000000O10001O000O1000000O1000001O0O1000000O1000001O0O1000000O100000001N10000000odU2"},"score":0.626},{"image_id":1064,"category_id":56,"segmentation":{"size":[335,500],"counts":"a4g2g73M2O2M3M3N2M3M3M3N2M3M3N2M3M4L3N2M3M3N2M3M3M3N2M3M3N2M3M3M2O0O2N101N101N101N1O2O1N101N2N101N2N1O2N2N1O2N2N101N2N1O2N1O1O1O2N100O1O1O2O0O1O1O2O0O1O10001O000000001O000000001O0000000010O0000001O00000000000001O01O000000000000O10000N2N2N3L3O10000000001O000O100000001O0000000000001O00000000001O0O10000O10001N1000000000010O0000000001O000000010O000000001O00000000010O000000001O2N1O1O1O100O1O1O1O1O1O2N1O1O1O1O1O100O1O2N1O1O1O2N2YJZLa4h3WKdLc4^3TKjLk4X3lJPMS5W4O001O1N2O1O0O2O1O0O1000000O2O000O10000O101O0O101O0O2O1O1N2O1O1N2O1N2O0O2O1N2O1N2O1N2O1N2O001N2O1N2O1N2O1N2O1N101N2O1O1N2O1N2O1N2O0O3N1N2O1M3L5L3L4M3L4M4K4M3L4L5J8I9G:E:GTVQ2"},"score":0.297},{"image_id":1064,"category_id":56,"segmentation":{"size":[335,500],"counts":"[fn22[:3M4L4M3L3M4M1O2N2O0O2O0O2N101N2N101N1O2O1N1O2O1N1O2O1N2N1N3L4K4M4L4L4L3M4M3L3N3M3M2N3M3M2N3M3M2O2O1O001O1O001O1O1O1O2N1O2N1O1O2N1O1O2N1O1O2N3M3M3M3M4L4L5K4L2N001O00001O001O000010O01O001O000000000000000000000001O00000000O100O10001N10000O1000000O101O0O10000O10000O10000O1000O01000O100O10000O10000O100000001N101O1O001O1O1O001O1O001O1O001N2O1N102M2O1O1N2O1N2O1N2O1N2O2M2O1N2O1N2O1N2O1N2O1N3M2N2O1N2N2O1N2N2N2O1N3L3M3M3M4L3MPL"},"score":0.12},{"image_id":1083,"category_id":21,"segmentation":{"size":[427,640],"counts":"^Tg43V=102K3O2O1O1O002O001O106I6cCTOn;U10NmCmNRO0O]C\\OcYN[A2g>K[A4g>I[A6g>G[A8g>E[A:g>C[AA\\A=e>@^A?d>^O^Aa0d>\\O^Ac0d>ZO^Ae0d>XO^Ag0d>VO^Ai0d>TO_Aj0c>SO_Al0b>RO`Am0b>PO`Ao0h?00O2H7^OcWZ5"},"score":0.882},{"image_id":1089,"category_id":55,"segmentation":{"size":[573,640],"counts":"\\kk1=g`0i0VOj0L4O1O1N2O1O1N2O1O1N2O1O1N2O2N1N2O1O1N2O1O1N2O1O1N2O1O1N2O1O1N3N1O1N2O1O1N2O1O1N2O1O1N2O1N2O1O1N3N1O1N2O1O1N2O1O1N2O1O1N2O1O1N2O1O1N3N1O1N2O1O1N2O1O1N2O1O1N2M3I7I7I7I8H7I7H8I7I7I7I7N2O1000000O10000O101O000O10000O10000O1000000O10000O10000O1000000O10000O1000000O10000O10000O1000000O10000O10000RO]GaHd8g3\\GSO4SM`8h3mGdNHaM[8i3_HUNYOPNX8j3oHeMnN]NT8l3^IXMaNjNQ8l3cIUMaNlNl7n3gIQMaNnNi7o3kIoL`NoNe7Q4oIkL`NROa7Q4TJiLV7U3nHgLT7X3PIdLQ7Z3TIaLn6]3WI_Lj6`3ZI[Lh6c3]IYLd6f3j3N2N2O1N2N2O1N2O1N2N2O1N2N2O1N2N2O1N2O1000000O1000000O100000000O100000000O100000000O100000000O100000000O100000000O100000000O100000000O100000000O1000000O100000000O100000000O10000001O001O1O001O001O001O1O001O001O001O1O001O001O001O1O001O001O001O1O001O001O001O1O001O001O001O1O001O001O001O001O1O1O6J6J6J6J6J6J6J6J6J6J2N0aEgJZ8Y5dGiJ\\8X5aGjJ_8V5_GmJ`8S5^GoJb8Q5\\GQKd8o4ZGTKe8l4YGVKg8j4WGXKi8h4UG[Kj8e4SG^Km8b4QG`Ko8a4nFbKQ9^4mFdKS9]4jFeKV9\\4gFgKX9Z4eFhK[9Y4bFiK^9X4_FkK`9V4]FlKc9U4YFnKg9S4VFPLi9Q4TFQLl9P4QFRLo9o3nETLQ:m3lEULT:j501O00001O00001O00001O00001O00001O00001O00001O00001O1O001O001O1O001O1O001O001O1O001O001O1O001O1O001O001O1O001O1O001O001O1O00001O000000000000001O00000000000000001O00000000000000001O000000000000001O00000000000000001O001O1O1O001O1O1O1O001O1O1O001O1O1O1O001O1O1O1O001O1O1O001O1O1O1O0EB`0_O]n`1"},"score":0.493},{"image_id":1138,"category_id":64,"segmentation":{"size":[375,500],"counts":"mUV12d01Y:1dE2[:1aE1_:5ZEKOJ73i98QFKNJ2?i9MVFKMJ3`0i9>VFCi9=XF[OP:e0PF[Oo9f0PF_Ol9a0SFBj9W1O0000000001N3`NRFI0c0OLS:CUF?JLb:1^EOc:O_E1`:McE2]:NcE1^:OcEO_:OcEMb:MbE4Q;1O10O1N1O101M]]T4"},"score":0.705},{"image_id":1138,"category_id":62,"segmentation":{"size":[375,500],"counts":"Vbl23c;3M4L3M3M3M3M2N1N3N2N1O2O1nFSOX7m0dHXO[7i0aH[O_7e0\\H@c7`0ZHDf7BO1O1N2O1O1O1O0000O100000O10000000O10000000O10000000O1000000000O1000000000000000000O10001O00000000000O1000000000001O00000O10000000000000001N1000000000000000000O101O002N2N2N2N1O2M3N2N2N2N2N2N2N2N2N2M3N2N2N2N2N2N2N2N2N1N3N2N2N2N2N2N2N2N2M3N2N2N2N2N2N2N2N2N2M3Nd\\n3"},"score":0.043},{"image_id":1138,"category_id":63,"segmentation":{"size":[375,500],"counts":"U^i33c;3N2M3M3N2M3_E^Oh9e0jEGU:n001N100O101N100O100O2M2O1O1O1O2O01O0001O01O0000010O0000001O000O101N100O101N1O100O2O0O100O2O000000O1O100O1O1O001O1N2O1N2N2O1N2O1O10O0100O100O10000O100000010O000000000001O00000001O01O01O001O001O010O001O001O010O001O001O0010O01O1O1O1O100O1O1O1O1O0001O0001O000001O0001O000000010O001O001O010O001O001O0010O01O001O1O10O01O1O1O1O0[I"},"score":0.386},{"image_id":1138,"category_id":64,"segmentation":{"size":[375,500],"counts":"Qi72d;1N2N2N2O2M2\\ODjE`0U:GbE<\\:a02M3N0000000000O3N00O100O1O10O0000000000000000000O0100O100O1000O0100O10000O100O100O2N2N2N2O2K9Cg^j4"},"score":0.462},{"image_id":1138,"category_id":85,"segmentation":{"size":[375,500],"counts":"^Vl17];300000000001O000000004LaTf3"},"score":0.284},{"image_id":1138,"category_id":62,"segmentation":{"size":[375,500],"counts":"l6h4n63N1OO100O100O100O10000O1E;00O10000O10000O2O1O0O2O001N101O1N101O001O0O10O1000O100000000O100000O10O100000000000000O1000O1000000000O10000000001O000O2O00001O001O000O2O00007I6J3M4K4M4L3M00O1O1O1O001O001O03N1N3N1N2O2M2O2M2O1N3NdFPNR9[20010O0001O010N2N2M3N2M3N2K5KRZX4"},"score":0.115},{"image_id":1146,"category_id":32,"segmentation":{"size":[640,427],"counts":"\\o[24gc0X1hNX1hNY1gNX1hNX1hNY1gNX1hN9G5K5K6YOf0mNS10001O000000001O0000001O0000001O000005K9H9Fk0UO2N101N2N1O2N2O0O2N2N101N2N1O2N101N2N1O2O1N1O2M4Kb0^Ob0^Ob0]Ob0_Ob0^Ob0^Ob0^Ob0^Ob0]Oc0^Oa0_Ob0^Ob0^Ob0^Ob0]Omi_4"},"score":0.201},{"image_id":1146,"category_id":1,"segmentation":{"size":[640,427],"counts":"__1[;d8c0]Oc0]O3M1O1O100O100O100O1O100O100O100O100O100O100O100O100O100O100O10000O100O100O10000O100O100fKnBe1S=WNXCb1h<]N]C_1c<_NbC]1_BP<]OSDe0l;WOWDk0T><]OckQ3"},"score":0.78},{"image_id":1149,"category_id":37,"segmentation":{"size":[427,640],"counts":"Ygb6a0f_4Dd2:_M@f2=V5N2N2N2N2Noel0"},"score":0.801},{"image_id":1149,"category_id":1,"segmentation":{"size":[427,640],"counts":"l`T53bB>^IWLh2W4gLPLU3^4ZLhKd3e4kKbKQ4i4aK]KUOXOe4f5fK[K_OSOi4m5XKYKInNm4Q8N1N2oN]HXLe7X3`1C<001O01O00000000000000000001O000O1000000000001O0000001O00001O00001O000TMoL^KR3^4VM]Kj2`4]M\\Kg2]4`M^Kc3]3dL_L]3]3kL^LV3^3QM^LP3^3WM^Lj2^3]M^Ld2^3cM^L^2^3iM^LY2^3mM^LT2^3SN^Ln1^3YN^Lh1^3^N_Lc1]3dN_L]1]3jN_LW1^3nN_LS1^3SO^Lo0^3VO_Lk0]3\\O_Le0^3@_La0^3E^L<_3j4M3M4K4M3MlL"},"score":0.389},{"image_id":1149,"category_id":1,"segmentation":{"size":[427,640],"counts":"diT1b0fGn5f1UJWNl5h1VJWNj5h1YJYNc5b1dJaNX5_1iJcNT5]1SK_Ni4b1aKWN\\4i1nKoMP4Q2ZLeMf3d2RL[Mo3d2QL\\Mo3d2PL]MQ4b2oK^MR4a2RKULF[1W5`2RK]No4b1PK_NQ5`1WLXMi3h2WLXMj3g2WLXMi3h2WLXMj3a2\\L_Me3X2dLgM\\3V2gLjMZ3DTJ^1e2nN[3@QJ^1g2ROa3WOiIc1j2TO_3WOhIc1k2iNk3@^Id1i2_Nj4^1d3PO^D3d;M_DMd;3]DJf;5ZDIj;5WDGm;8TDEP<9PDET<9mCDV<:`0L4M2N3M^hP4"},"score":0.947},{"image_id":1149,"category_id":1,"segmentation":{"size":[427,640],"counts":"cSb1=i<410000O010O1000O0N31O1N2O001N2O1O1N2O1N2O1O0O2O1O\\m]6"},"score":0.553},{"image_id":1149,"category_id":1,"segmentation":{"size":[427,640],"counts":"Wi`04V=3M;Ej0SO4M4O1N01AeDnN\\;o0hDoNZ;T1b06D01O001oNkDJV;5kDJV;5kDJW;5Q1N1O2Mol`7"},"score":0.103},{"image_id":1149,"category_id":77,"segmentation":{"size":[427,640],"counts":"``T23V=5M3M1O1O001OO3N3M3M4LR[Q6"},"score":0.041},{"image_id":1149,"category_id":1,"segmentation":{"size":[427,640],"counts":"Plg01Y=3L3O1TCIb<9\\C1Z<0eC:QZGLXNFV:f0dGG[88gGGY8:hGEW8kJDU5]5AdJ?]5_OcJb0]5]OcJc0^5]ObJc0^5\\ObJe0^5ZObJf0_5YOaJh0_5WObJh0_5WOaJj0`5TO`Jm0`5ROaJm0`5RO`Jo0`5PO`JmN^OB9G5K4L2N2N2N2N2N2N1O2N1O2N1XH\\Kh6f4QI`Kn6`5N1O1O1O2N1O1O2N1O1O1O2N1O1O1O2N1O1O2N1O1O1O2jL_I_Ob64jILW6LPJ4Q6IQJ7Q6EQJ;P6CQJ=P6@RJ`0P6\\ORJd0o5YOSJg0o5UOSJk0o5QOSJo0o5mNSJS1o5iNSJW1n5gNSJY1o5cNRJ^1P6^NRJb1P6ZNRJg1o5TNTJl1n5eM_J[2c5WMiJi2l701O00001O0000001O0000001O0000001O0000001O00001O0000001O0000001O0000001O000jNcE_O^:`0gE[OY:e0lEVOT:j0QFQOo9o0UFmNl9R1YFiNg9W1^FdNb9\\1V101O0000001O0000001O01O01O0000001O0000001O001O001O00001O0010O01O001O00001O001O001O001O00001O001M2J7H7J7Ha]l0"},"score":0.429},{"image_id":1171,"category_id":8,"segmentation":{"size":[426,640],"counts":"ji2i0U<=O001O1O001O001O000000001O0000O1O1N2O10000000000000000000001O001O001O001O100O0011O1O1N01O100O001O001O001O1O0O2M2O2M5J7I8IZd]7"},"score":0.494},{"image_id":1171,"category_id":3,"segmentation":{"size":[426,640],"counts":"Pd3W1R<100000000O100010O000000001O000000001O000000001O01O000001O000000001O00001O1O2N1O100O1O1O1O10O0010O0001O01O01O01M2N2N3M3M\\W]7"},"score":0.368},{"image_id":1176,"category_id":1,"segmentation":{"size":[640,426],"counts":"Sbd34hc04J7K5L4M2N3N2N1N3X^OPO]`0R1`_OQO]`0R1`_OQO]`0Q1a_OROW`0V1f_OmNW`0V1g_OlNW`0U1h_OlNX`0U1f_OkN[`0V1c_OkN\\`0V1c_OjN^`0W1a_OiN_`0X1__OhNa`0Y1^_OhNb`0Y1\\_OgNd`0[1Y_OgNg`0Y1W_OhNj`0X1S_OjNm`0X1o^OkNPa0S2O1O1O0010ZNS_O9m`0FT_O:l`0DW_O;i`0CY_Ob`0@`_O`0^`0@d_O`0Z`0@i_O?W`0@j_O`0V`0^On_O`0R`0_OP@?Q`0@Q@NA[O\\`0e0V@LB_OW`0d0Y@JB^OY`0f0X@I_`06c_OG``06f1O2N1O1O2O0Kdgb3"},"score":0.933},{"image_id":1176,"category_id":1,"segmentation":{"size":[640,426],"counts":"Z_[18ec04F:R]O@Yb0b0d]OA[b0S1O1NK7O009D5M9J06I_Oi\\O8Wc0Gk\\O8Tc0HU]O0kb0NW]O1jb0NX]O0ib0Omlb6"},"score":0.513},{"image_id":1176,"category_id":1,"segmentation":{"size":[640,426],"counts":"\\cT11nc01NOU\\O1dc00^\\O4ac0:L1h\\OAPc0001O0000000000000000000000000000001O00000001O00000000000000000001O0000000h\\OKeb05Z]OMeb03[]OMeb03[]OMeb08V]OIib0=Q]OCob0g00001OZOo\\O=Rc0BR]O:nb0FV]O6jb0JZ]O3eb0M^]O0bb00^]O0bb00_]O0`b00a]OO_b01a]OLbb04e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O100000000000000000000000000000000000000000000T]OLka05T^OLla04R^ONna02P^OOQb0`0^]OBbb0n0000000000QOX]Of0hb0YO`]O`0`b0@h]O6Zb0Ji]O2Xb0Ni]OOYb01g]ONZb02f]OM[b03e]OK]b05g000O100000O100P\\o1"},"score":0.212},{"image_id":1176,"category_id":1,"segmentation":{"size":[640,426],"counts":"Wc`041Mic0;KO1O10O11L5N2N0O]\\c7"},"score":0.653},{"image_id":1180,"category_id":62,"segmentation":{"size":[640,426],"counts":"nhU6>bc05K1O001O1R]ONla03h]O8Xb0i0O0000O1O1O1000000O1000000001O0000001N1000001O1O2N1R^O_O[`0S201N1000WMd_O]1;nMQ`0e0g_O]1h`0aN]_OZ1g`0cN\\_OZ1g`0cN]_OY1ha0L3E:]Ob0Gb]OHfa08U^OMka03P^O2Pb0Oj]O7Ub0If]O<[b0C`]Ob0`b0<3F:F:F:O10001O00000000000000000010P]O=ca0o01O1O101NP1PO[`e0"},"score":0.015},{"image_id":1180,"category_id":62,"segmentation":{"size":[640,426],"counts":"Zik53ic04K5K5Y]OBja0`0T^OBka0?T^OCka0=U^ODja0WOiA8]>DQBMU>MTBIS>2R3J5LXaW7"},"score":0.639},{"image_id":1180,"category_id":49,"segmentation":{"size":[640,426],"counts":"Q]^35ic030O10O10O1O001O1N2Ojnd4"},"score":0.507},{"image_id":1180,"category_id":51,"segmentation":{"size":[640,426],"counts":"iWW12mc02N3M2N2N2N2N2N2N2N3M2N2N2N2N2N2O1O2N1O1O1N2O1O1O1O00001O00000O101O0000000000000O10000000000000O1000000000000000000000000000000O1000000000000000000000000000000O2O000000000000000000000O2M2N2N2O1N2N2N3M2O2M2N3M2N3M2N3M2N3L3NdPm4"},"score":0.35},{"image_id":1180,"category_id":61,"segmentation":{"size":[640,426],"counts":"kil32kc04L4L4L3N3N2O1O1N101N2O1N2O001N2O1N2O001O100O1O001O1O1O1O001O1O1O1O0O2O1O1O1N101O1N2O1O0O2O1O1O1O0O2O1O1O1O0O2O1O1O1O0O2O1O1O1O0O2O1O1O000O10O100000O01000000O010000O10O1000O10O1000O1000O100000O01000000O1000O1000O1000000O10O1000O100000O10O1000O10O1000O10O1000O1000O10O1000O1000000O100000000O1000000O100000000O1000000O10O1000O2O0000000O101O000O1000001N101O001O0O2O001O0O2O001O0O2O001O001N10001O0O2O001O001N101O001N101O001N101O001O0O2O001O0O101O001N101O00dB"},"score":0.419},{"image_id":1180,"category_id":49,"segmentation":{"size":[640,426],"counts":"iRR71oc01O0000001O00001O00001O0000001N10001O00001O0000001O00001O00000O01O1O100O1O100O100O100O100O10O10000000000000000000000000O1000O100[A"},"score":0.013},{"image_id":1180,"category_id":23,"segmentation":{"size":[640,426],"counts":"W>b5^>000O1000000000000O1000000000000O10000000000O100O100O100O100O100O100O100O100O100O10000O100O100O100O100O100O100O100O100O100O100O100O100000000000000000000000000O1000000000000000000000000000000000000000000000000000000000000000000001O0000000000000000000000001O00000000000000000000000000000000O10000000000O1000000000000O10000000000O1000000000000O10000000000O10000000000O1000000000000O10000000000O1000000000000O10000000000O10000000000O1000000000000O10000000000O10000000000O1000000000000O10000000000O1000000000000O10000000000O10000000000O1000000000000O10000000000O1000000000000O10000000000O10000000000O1000000000000O10000000000O10000000000O1000000000000O10000000000O1000000000000O10000000000O10000000000O1000000000000O10000000000O100000000000000001O00001O0000001O00001O00001O00001O0000001O00001O00001O0000001O00001O00001O0jNV1TLTg9"},"score":0.957},{"image_id":1180,"category_id":1,"segmentation":{"size":[640,426],"counts":"\\Yi09fc05K5K5L1N3M2O2M2N3M3N1N4L3M9Ha0^O3N2M4L3N2M4M2M3M4M2M9o_OSM_>T3XAQMd>V3TAlLl>S40100O1TOTKdBk4W=aKcB_4\\=gK^BZ4b=kKYBT4h=oKUBQ4j=TLRBl3n=S10O010000O010O1000oNSBnKm=R4ZBhKf=X4aBaK_=^4lBXKT=i4Q14M2M4M3L4M2M4M2N00QKmAP4R>nKPBR4Q>kKRBU4n=hKTBX4l=fKWBZ4i=cKYB]4h=`K[B_4f=^K\\Bb4b>N10001O001WOh@gLY?X3n@bLS?\\3UA]Lk>b3\\AXLe>f3k0N4L4L5K4L7I7UNj_O@^`02Q2D]Zi5"},"score":0.581},{"image_id":1180,"category_id":1,"segmentation":{"size":[640,426],"counts":"_`\\71nc05L4K5K5K5K5K5K5L2M1O1AeNX^O\\1ea0hNY^OY1ea0jNY^OX1ca0lN\\^OT1ba0oN\\^OR1aa0RO]^Oo0aa0TO]^Om0ba0i001N100O1O100O2O1O2N1O2O1N2N1O2O1N2N2N100O000010O001hMT_OZ1m`0cNV_O]1k`0_NX_O`1]9"},"score":0.069},{"image_id":1180,"category_id":48,"segmentation":{"size":[640,426],"counts":"fka11nc02N1N3N2N101N2O0100O001O1O001O1O1O00100M2O2NXPZ6"},"score":0.8},{"image_id":1180,"category_id":48,"segmentation":{"size":[640,426],"counts":"hWn21oc0000010O00O100O2O0O10O10O0101N100O10ZTP5"},"score":0.12},{"image_id":1180,"category_id":62,"segmentation":{"size":[640,426],"counts":"mQZ2d0Zc05K3M3N2M3M3M10TO^cj5"},"score":0.702},{"image_id":1180,"category_id":62,"segmentation":{"size":[640,426],"counts":"YWl78bc08H:F;F:K3M0O100OC>\\OTV7"},"score":0.816},{"image_id":1180,"category_id":1,"segmentation":{"size":[640,426],"counts":"TX21oc02N2N2N2N1O01O2N1O2M3Nd_P8"},"score":0.489},{"image_id":1180,"category_id":62,"segmentation":{"size":[640,426],"counts":"TdR22mc0001N2O0O2O001N2O00d0]Oi0WO010O0R1nNVcm5"},"score":0.617},{"image_id":1205,"category_id":65,"segmentation":{"size":[480,640],"counts":"jmZ11o>000OR2oMO10O1000O010000O0100eNXC>g1n>`0A1O001O0010O01O10O010O010O01O10O010O01O010O010O1O010O010O010O1O010O001O010O1O001O010O001O10OWBBP=?hB4l<\\1D=CVKCe4d0XK]Oc4i0RKBh4d0jJIQ5W5J5K6J5K5K6J5K6J5K5Dh0UOP1POP1oNcUY4"},"score":0.306},{"image_id":1228,"category_id":2,"segmentation":{"size":[480,640],"counts":"b\\Y8;_>=D2N1O2N2N1O2N2M3N1O2N2N1O2N2N2UBUO^=l0^BXOa=j0[BXOd=S1O001O001O001O001O00001O0O2O001O0100O010O100O100O1O100O100O100O100O100O010O1O100O100O100O100O100O100O1001N1001O01O01O010O00010O00010O001O01O01O01QMnNnGR1l7TOUHk0d7\\O\\He0]7AdH>\\7BdH>[7CeH=Z7DgH\\GVO[3;V5b0bGoNY3?S5c0gGlNW3a0R5b0jGjNT3d0Y5;fGnNR3f0_54cGSOo2i0d5MQK3V5ElJ:[5_OfJa0`5WOaJi0l9O10O01O10O101O0O2O001N101O0O2O001N101O0O2O0O2O001N101O0O2O001N101O0O2O0010O01O0010SOdBW2X;gMiDj3g9SL[Fm3g9PLYFQ4h9mKYFS4h9jKZFV4g9hKZFX4h9dKYF]4h9aKYF_4T:1O000O1000000O4M7I7I7H8I7I7I7jIZJc2n5SMUJm2n5oLSJQ3P6kLQJU3S6fLmIZ3W6bLjI^3Y6^LhIb3]6XLcIh3f6nK\\IR4j6gKWIX4P7aKQI_4T7[KlHf4Z7SKgHl4_7nJbHR5c7hJ^HW5e81000O010O10gMSK_Jl4P5iKXJWOWOQ5Y4SNZLd2f3_MSLd2n3_MlKd2T4_MfKc2[4`M_Kc2a4m310000O10O010000O100O010O10000O010O100O1000O0100O100O01000O100O01000O100O10O01000001O2N1O2N1O2N1O2N2N1O2N1O2WJ`Jn1a5nMdJP2^5kMhJR2Y5jMmJS2U5hMPKV2Q5fMUKW2m4dMWKZ2l4aMVK`2k4\\MXKd2j4WMXKj2i4RMZKn2h4mLZKT3g4hL\\KX3f4cL\\K^3e4^L^Kb3d4YL^Kh3d4SL^Kn3c4oK_KQ4c4jK_KW4b4eKaK[4a4`KaKa4c4XK`Kh4h4mJZKT5Y70O100O1O101N101N1AcJ[G^5c8iJVGY5h8`0O2N1O2M2O2hNW1O2N1O2M2O2N1O2L3ROoGiJV8P5SHhJR8R5XHfJm7R5T1J7I6J7I6M4M2N3L3N3M2N3L4M4L4L4K5L4L4L4M3N2N2N2N2N2N2N2K5L5J6K5J6K5J6K5J6K5J7J5Kjfo0"},"score":0.887},{"image_id":1244,"category_id":62,"segmentation":{"size":[479,640],"counts":"kUT79d>8G6@?J6N1N2O001N1000001O0O100000000000000000O1N2M3N2L4N3N1N2O2M2MQZg1"},"score":0.849},{"image_id":1244,"category_id":9,"segmentation":{"size":[479,640],"counts":"\\oj25j>4L5K5K5J5L00000000001O0O100000000000001O0001O00000000001O0000000000001O00000000001O00N2N200O1000000O10000O100O100O100O1L4L4M3001O00N2M4K4LnaY5"},"score":0.311},{"image_id":1244,"category_id":1,"segmentation":{"size":[479,640],"counts":"]Rn62l>4K4M4K6K4L5J5eBoNa1N3N2M2O2M2O0O1O100O100O2O0O1000000000000000000001O1O1O0O2O1O1O1O001O00001O001OGIlA5V>1cAN_>81O2M3L3Me`a0"},"score":0.758},{"image_id":1244,"category_id":9,"segmentation":{"size":[479,640],"counts":"e]d75j>;E0O10000mN6nBMS=3lBMU=3jBMX=2gBN[=0dB1X=\\OhB[1X=gNhBW1Z=iNgBT1[=lNeBQ1^=oNbBo0Z=oNeB21m0Z=ROfB1Ol0[=UOfBQ1[=POeBn0]=ROcBl0_=TOaBj0`=VO`Bi0[=TOdB30h0]=VOcBQ1_=QO`Bm0a=TO^Bk0c=VO]Bh0e=YOZBe0g=\\OZBa0g=;1O2N1GSB^On=`0UB^OP>VBAk=>;O1O101F^A4g>O100O3LQoP1"},"score":0.435},{"image_id":1244,"category_id":33,"segmentation":{"size":[479,640],"counts":"S_Z66i>1O1O1O1O2N1O00000000000000000000O01000000000000000000001O1O001N2O001O4Ljb_2"},"score":0.922},{"image_id":1244,"category_id":9,"segmentation":{"size":[479,640],"counts":"[ad42m>01O00O10000O11O0OPUb4"},"score":0.347},{"image_id":1244,"category_id":9,"segmentation":{"size":[479,640],"counts":"nVi44k>00000001OW[_4"},"score":0.222},{"image_id":1268,"category_id":43,"segmentation":{"size":[427,640],"counts":"^dc21Z=0O1O100O1O2N1O1O1O1O1O100O100O1O100O101N1000000O106J001O1N2O00O1O1IdC]O^LHOn0ZOUOd0U1POoNn0Y1iNjNU1_1aNdN]1e1XN_Nf1i1QNZNm1m1kMVNS2n1gMVNY2k1dMWN\\2k1bMUN^2l1bMSN^2o1`MQN`2P2_MPNa2R2]MnMc2S2\\MmMd2U2[MjMe2U2\\MkMd2T2]MlMc2S2^MmMb2R2`MmMb2o1`MQNa2m1`MSNb2j1_MVNb2Be0[O3J6I7J7I8G8F:G9G:[O^\\e0"},"score":0.65},{"image_id":1268,"category_id":9,"segmentation":{"size":[427,640],"counts":"\\ld34W=5K1N10000000000O100000000O10000fNI`E7n:l0=C=C2N00000000000000000000000000000000000000000000000001O0000000O10000000000000000IG\\C9d<70000001O0000000000000000000000000000000000000000000000001O1O1O1O1O1O0000000000000000000O100O100O1O100O2O1N101N2O0O2O0OQaS3"},"score":0.212},{"image_id":1270,"category_id":1,"segmentation":{"size":[480,640],"counts":"]Vg51n>1N2O1O1hK0_I1`6g0hHZOW7j0UGWOB0Y9k0PG_O_OG`9m0kFG]O]Oh9m0gF0YOTOo9o0cF6VOmNW:n0^Fn0a9UOZFn0e9UOUFo0T9`MQGb1GQ1U9dMoF^1FR1X9gMnFX1FT1Z9nMgFl3W9o0O10kNWGSLk8i3^GQLc8k3eGPL\\8l3kGPLV8m3`1M2O2M3M3M3N2N2O1O00100O1O101N3fMYDV1?kMi:l0jDY16UNn:`0nDY1OaNP;3TEW2k:eMXE]2f:`M]Eb2a:[MbEg2^:TMeEm2^:mLcEV3S;2O001]EeL]9[3^FhLc9Z3XFgLk9Y3QFiLQ:W3jElLX:U3_EQMc:e32N2hMZE2a;jNkDS1^;[NnDa1\\6J6YOg0N2N2N2N2N2N3M3N3M3Ld0]O>BO0010O10000BfLUE[3i:hLVEX3g:lLWEU3g:nLXER3g:RMUEo2j:d0M2H9O[Oe0G:F92O0O110O0000000000001O0001O2N2N1O:GOhMoCa1Q;E4M2aE]O_6e0YIAg6`0mEH\\2Nh7:iE3P2IW85eE>e1Cf8`1lFfNT9c1hE_M>T1j9e1oEaNQ:_1jEfNW:Y1jEfNV:[1iEeNW:[1iEeNW:[1iEeNW:\\1gEeNY:[1gEeNZ:Z1fE`Nd:\\1\\EoMc;h1\\DdM32l;X2YDjMg;U2WDnMi;R2UDPNk;o1TDSNl;l1RDWNn;i1PDYNQcDBl;G]D6X=M4M2Mnnl3"},"score":0.713},{"image_id":1270,"category_id":39,"segmentation":{"size":[480,640],"counts":"Soi54i>4M3M2M3N2N2N101OO2L3M3N001N2O02O00000001O2N7JPjV3"},"score":0.689},{"image_id":1270,"category_id":1,"segmentation":{"size":[480,640],"counts":"hQn11l>6L4JF`A>\\>BcA?]>3O000000001O000EBTB>f=HZB9c=I]B8a=I_B8^=JbB8[=IeB8Y=IgBf0i<[OWCh0fL3Mg[a6"},"score":0.131},{"image_id":1270,"category_id":33,"segmentation":{"size":[480,640],"counts":"_eQ36f>j0WO5K5L4K5K4M200O10O10O100O01O010O001O01O01O0OJ7N113M9G9G5L01O01O00001O01O00010O1O0O3J8jM`CY1P=`NRC\\1[=N3O0000001O00001O0000001N101O1O03N1iBfNe<\\1TChNl<[1mBjNS=a1001O1O1O1O2N3M2N3M3M3I7I8H7I7InkS5"},"score":0.005},{"image_id":1270,"category_id":40,"segmentation":{"size":[480,640],"counts":"bWc21m>4YOLWB=f=D[B;1O2N1O3L:G2M2N`\\_6"},"score":0.899},{"image_id":1270,"category_id":81,"segmentation":{"size":[480,640],"counts":"WUd6`0_>1K50000005Kjad2"},"score":0.863},{"image_id":1270,"category_id":44,"segmentation":{"size":[480,640],"counts":"Yn_6;d>5FBgAa0Y>300000^OgA=_>O1BTkg2"},"score":0.431},{"image_id":1270,"category_id":1,"segmentation":{"size":[480,640],"counts":"Vlf03S>6ZBNe=8SBKk=f0N2L4M4L3M3M3L4M3M3L4YLZNQJi1b5hNVJ\\1_5PO]JS1c5mNYJV1h5kNPITOVOT2j7lN\\HBEd1o7QOPHDL\\1U8j0hGkNGQNc8V3aGjNl8W1QGjNP9a31M4M2N3K4L5K4L5K4M4OVOZKZGg4f8^KUGa4l8dKoF\\4R9hKiFX4W9mKdFR4]9h0001N1L5J6K51O2M3N2N2N2N2O1N2N2N2O1N2N4L5L5J>B8H6K4K8HbI^H`5a7]JbHV54RJ[7e0cHo4U8kJoG^1Ja1Z8mLoG_1M`1U8nLPHc1M[1V8nLoGh1LW1Y8lLnGm1KS1o8nNRGo0o8VNgF@6SNFhDj:DVE=i:CWE?g:AYE`0f:@ZEa0e:_O[Ea0d:@\\Ea0c:_O]Eb0b:^O^Ec0a:]O_Ee0_:\\O`Ef0^:ZObEl0Y:SOgET1R:lNnEU1R:jNnEW1R:hNnEY1R:fNmE\\1S:cNmE]1T:bNlE^1V:`NQEZ2[;?1O001O1O1N2N2N2M3N3L3O2M2O2M4M3kNlB7[>DQZ]5"},"score":0.802},{"image_id":1270,"category_id":15,"segmentation":{"size":[480,640],"counts":"Q76j>00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000oh]8"},"score":0.13},{"image_id":1270,"category_id":15,"segmentation":{"size":[480,640],"counts":"PaT33m>8H6J0000000000000000000000000000O1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O1000000000P`d3"},"score":0.634},{"image_id":1270,"category_id":1,"segmentation":{"size":[480,640],"counts":"_in23k>3lNLYC6eb>7H6K4L2M4M2M2O00100?@`0A`a[4"},"score":0.563},{"image_id":1270,"category_id":1,"segmentation":{"size":[480,640],"counts":"cch35k>5K0O1000O1000ROJRC6m<8[BB47a=>^BBa=o0001O001O00001O001O0010O0001O001L4H>G9I7Hb\\T5"},"score":0.179},{"image_id":1270,"category_id":1,"segmentation":{"size":[480,640],"counts":"eQP16g>5L4M2OO1OHDnA:S>HlA7T>JlA5T>LlA3T>NlA2T>NlA1T>0lAOT>2lAMT>4lALT>4lAKU>5kAJU>7kAIU>7kAIg=3YB50He=8XB03Gd=j0\\BVOd=j0\\BVOc=k0]BTOd=l0\\BROe=?f0I7N20000O10000O2O000O2O1Ocfi7"},"score":0.713},{"image_id":1290,"category_id":1,"segmentation":{"size":[540,640],"counts":"j^n42h`02O1N2O1N3N1N2O1N2O1N2O2M2O1N2N2O1N2O2M2O1N2O1N2O1N3N1N2N2O1N2O1N2O2M2O1N2O1N2O1N3M2O1N2O1N2O1N3M2L4L4K5L4K5L4K6K4L4K5L4K5L4L5J5L4K5L4K5L4L5J5L4K5L4K5L4L4K6K4K5L4L4K5L4K6K4K5L4L21O2N2O1N2N2N2O1N2N2N2N2O1N2N2N2O1N2N2N2O1N2N2N2N2O1N2N2N2O1N2N2N2O1O1N2O1O1O1N2O1O1N2O1O1N2O1O1N2O1O1O0O2O1O1N2O1O1N2O1O1O1N2O1O1N2O1O1N2O1O1N2O1O1O1N2O1O1N2O1O1N2O1O1N2K5I7I7J6I7I7I7G9E;E;E;E;H8K5K5K5J6K5K]`]2"},"score":0.651},{"image_id":1290,"category_id":57,"segmentation":{"size":[540,640],"counts":"Sm>a0W`08J7I6J7I6I8J4L4M3M3M2N3M3M3M3M001N101O001O001N101O001O1O0O2O001O001OO10O100O010O100O010O10000O010O1QDmLU:S3dETM[:l2_E[Ma:e2XEaMh:`2REfMn:Z2kDmMT;T2eDSNZ;m1aDYN_;g1ZD`Ne;\\300O001O1O1fNjJmFW5h8`KkFa4R9SL\\Fn3a9h1M3N2M3M3N2M3M3O1O1O1N2O1O1O1N2O100O1O100O100O1O100O100O10000000000O01000000000O010000000000O10000000000O1000000000001N101O00001O0O2O001O001O1N2O1O001O1O1N3N1O1O1O1O1O2M2O1O2N1O1O2N2M4M2N2N3M4L3L4M2N2N1O0000O01WKjEl2V:PMPFn2o9oLVFP3j9kL[FU3e9kL\\FT3d9lL\\FT3d9lL]FR3e9lL\\FT3e9kL[FU3f9iL\\FV3e9hL\\FX3e9fL\\FZ3e9dL\\F[3f9cL\\F\\3b;000000O101O00000O1000000O100000000O100000000O100000000000000000000000001O001O001O1O001O1O1O1N2O1O1O1O00001O0000001O00001O00001O0000000O10001O00000000000O1000001O000000000[O\\BQNe=n1`BnM`=Q2dBlM\\=S2hBjMX=U2kBiMU=W2nBfMT=W2oBgMS=V2l0N101N2O1O1N2O2M3N1N1O2N1O2O1N1O2N2N1O2O1L3L5K4L5J6K4L5M3M2NeQo4"},"score":0.849},{"image_id":1290,"category_id":1,"segmentation":{"size":[540,640],"counts":"f[[52j`03M3M3L4M2N3M3L100000000O1000000O100000000O1000000O100QOWOkAi0U>YOiAg0W>[OgAe0Y>^OcAc0]>_OaAa0_>A_A?a>D\\AFYA;g>HVA8j>JTA6l>LRA4n>m00000001O0000001O0000001O0000001O000000001O0000001O0000001O0000001O0000001O000000001O0000001O0000001O0000001OXNlNhCT1n;VORDj0d;@\\D`0Y;LgD3o:7QEIe:a0[E_O]:i0cEWO[:l0eESO\\:l0dETO\\:l0dETO\\:l0dETO]:l0cESO]:m0cESO]:m0cESO^:l0bETO^:m0bERO^:n0bERO^:n0bERO_:m0aESO_:m0bERO^:o0aEQO`:n0`ERO`:n0`ERO`:n0`EROa:n0_EQOa:o0_EQOa:o0_EQOb:n0^EROb:o0^EPOb:P1^EPOc:o0]EQOc:o0]EQOc:P1]EoNd:P1\\EPOd:P1\\EPOd:P1\\EPOe:P1[EoNe:Q1[EoNe:Q1[EoNf:P1ZEPOf:P1[EoNe:R1ZEnNg:Q1YEoNg:Q1YEoNg:Q1ZEnNg:R1XEnNh:R1XEnNh:R1XEnNh:R1XEnNi:R1VEnNj:R1WEmNi:S1WEmNj:R1VEnNj:S1UEmNk:S1UEmNl:R1TEnNl:R1TEnNl:R1TEnNm:R1REnNn:R1REnNn:R1REnNo:Q1REnNn:S1QEmNo:S1QEmNo:S1QEmNn:T1RElNn:U1QEkNo:U1QEkNo:U1QEkNo:U1QEkNn:W1QEiNo:W1QEiNo:W1QEiNo:W1QEiNo:X1PEhNo:Y1QEgNo:Y1QEgNo:Y1QEgNo:Y1QEgNo:Z1PEfNo:[1QEeNo:[1QEeNo:[1QEeNo:\\1PEdNP;\\1PEdNo:]1QEcNo:]1QEcNo:^1PEbNP;^1PEbNP;^1PEbNo:_1QEaNo:`1PE`NP;`1PE`NP;`1PE`NP;`1PE`No:a1QE_No:b1PE^NP;b1PE^NP;b1PE^NP;b1PE^No:d1PE\\NP;d1PE\\NP;d1oD]NQ;c1oD]NQ;d1nD\\NQ;e1oD[NQ;e1oD[NQ;e1oD[NP;g1oDYNQ;g1oDYNP;h1PEXNo:i1QEWNn:j1REVNn:k1QEUNn:l1RETNm:m1SESNm:m1SESNl:o1SEQNl:P2TEPNk:Q2UEoMk:Q2UEoMj:R2VEnMi:T2VElMj:T2VElMi:U2WEkMh:V2XEjMg:X2XEhMh:X2XEhMg:Y2YEgMj86nFT28fMh89oFQ29fMg8;nFQ2:dMg8=mFP2mFP2=bMd8a0nFm1>bMc8c0mFl1`0aMb8e0lFl1a0_Ma8g0nFj1a0_M`8i0mFi1b0_M`8j0lFh1d0^MP6IjJS1aNg1c0^MY5g0[K7gNe1e0]MP5V1]KImNe1e0]MP5\\1WK\\3IXKo4c1PKW30WKo4i1jJR36UKo4P2dJl2a2[>00000O100000000O100000000O100000000O100000000O100000000O100000000O1000000O100000000O100000000O100000000O100000000O100000000O100000000O100000000O10001O000O100000000O100000000O100000000O1003M4L4L4L3M4L4L2N001O1O1O1O1O1O1O1O1O0kNUA9l>FTA:m>ETA:m>ESA;n>CTACSA=n>BSA=n>BRA>o>@RA`0n>@SA?n>@RA`0o>_ORA`0o>^ORAb0o>]ORAb0o>]OQAc0P?\\OQAc0P?[OQAe0P?ZOQAe0P?ZOPAb0T?^Ol@;\\?Cf@4c?K]@Nk?1a0Occ^21Y\\aM3L400O1000000O10000O1000000O1000000O10000O1000000O10000O1000000O1000000O10000O1000000O10000O100003M6J6J6JWPn01goQO1O1O1N3N1O1O1O1N3N1O1O1N3N1O1O1O2M2O1O1O1O2M2O1O1O2M2O1O1O2N1N2O1010O00000010O0000010O0000010O0001O0001O01O0001O01O0001O01O0000010O0000010O0000010O0000010O00000010O0000010O0001O01O0001O000O101O0O10001N1000001O0000001O0000001O01O0001O0000001O00000010O0001O0000001O00000010O000001O0000001O0000010O0000001O0000001O0001O01O00001O0000001O0001O000001O00000000000001O0000O1O1O1O1O1O2N1O1O1O1O1O1O1O1O1O1N2O1O1O1O1O1O2N1O1O1Okm`0"},"score":0.916},{"image_id":1290,"category_id":62,"segmentation":{"size":[540,640],"counts":"X8h4T<0001N102N1O1O1O1O1O1O1O1N2O1O1O2N1O1O1O1O1O1N1000000000000000000O10000000000000O1000O1000000000000000000O100000000000000000000O1000000000000000000O01000J6G9F:G9G9G9G9G9G900O1O1O1O1O1O1O1O1O100O1O1O1O1O1O1O1O1O100O1O1O001O1O1O1O1O100O1O1O1O1O001O1O010O1O001O001O1O001O10O01O1O001O01000O010000O010O10O10O10O10O1000O0100O01000O01000O10O01000O010000O01000O010O10O10O1000O01000O0100O01000O10O10O10O010000O01000O01000O010O1000O010001N100O10001N10000O10001N100O10000O2O000O10001N100O10000O2O000O100O101O0O10000O2O000O100O101O0O10000O101O0O100O101O0O10000O101N10001N10000O2O000O101N1001O01O01O00010O00010O000010O0001O010O000010O0001O01O01O01O01O00010O000010O0001O01O01O0010O00010O0001O01O01O00010O000010O0001O01O01O01O01O0010O00010O1O100O1N2N2N200O01000O100O10000O010O10000O10O010000O100O01000O100O10O10O100O1000O0100O10000O010O100O10O10O10O0N;F;D;EK5K4L4N2N2N2O1N2M3M3L4M4lNeFkMf9o1n0N2M3M3N4K4L5L3L5K5L3L9GSOn0SNbNj2a0SOl0UNbNg2c0TOj0WNaNc2h0VOf0bNWNW2U1WOd0n2_ORM`0l2CTM 0: return str(round(flops / 10.**9, precision)) + ' GMac' elif flops // 10**6 > 0: return str(round(flops / 10.**6, precision)) + ' MMac' elif flops // 10**3 > 0: return str(round(flops / 10.**3, precision)) + ' KMac' else: return str(flops) + ' Mac' else: if units == 'GMac': return str(round(flops / 10.**9, precision)) + ' ' + units elif units == 'MMac': return str(round(flops / 10.**6, precision)) + ' ' + units elif units == 'KMac': return str(round(flops / 10.**3, precision)) + ' ' + units else: return str(flops) + ' Mac' def params_to_string(params_num): if params_num // 10 ** 6 > 0: return str(round(params_num / 10 ** 6, 2)) + ' M' elif params_num // 10 ** 3: return str(round(params_num / 10 ** 3, 2)) + ' k' def print_model_with_flops(model, units='GMac', precision=3): total_flops = model.compute_average_flops_cost() def accumulate_flops(self): if is_supported_instance(self): return self.__flops__ / model.__batch_counter__ else: sum = 0 for m in self.children(): sum += m.accumulate_flops() return sum def flops_repr(self): accumulated_flops_cost = self.accumulate_flops() return ', '.join([flops_to_string(accumulated_flops_cost, units=units, precision=precision), '{:.3%} MACs'.format(accumulated_flops_cost / total_flops), self.original_extra_repr()]) def add_extra_repr(m): m.accumulate_flops = accumulate_flops.__get__(m) flops_extra_repr = flops_repr.__get__(m) if m.extra_repr != flops_extra_repr: m.original_extra_repr = m.extra_repr m.extra_repr = flops_extra_repr assert m.extra_repr != m.original_extra_repr def del_extra_repr(m): if hasattr(m, 'original_extra_repr'): m.extra_repr = m.original_extra_repr del m.original_extra_repr if hasattr(m, 'accumulate_flops'): del m.accumulate_flops model.apply(add_extra_repr) print(model) model.apply(del_extra_repr) def get_model_parameters_number(model): params_num = sum(p.numel() for p in model.parameters() if p.requires_grad) return params_num def add_flops_counting_methods(net_main_module): # adding additional methods to the existing module object, # this is done this way so that each function has access to self object net_main_module.start_flops_count = start_flops_count.__get__(net_main_module) net_main_module.stop_flops_count = stop_flops_count.__get__(net_main_module) net_main_module.reset_flops_count = reset_flops_count.__get__(net_main_module) net_main_module.compute_average_flops_cost = compute_average_flops_cost.__get__(net_main_module) net_main_module.reset_flops_count() # Adding variables necessary for masked flops computation net_main_module.apply(add_flops_mask_variable_or_reset) return net_main_module def compute_average_flops_cost(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Returns current mean flops consumption per image. """ batches_count = self.__batch_counter__ flops_sum = 0 for module in self.modules(): if is_supported_instance(module): flops_sum += module.__flops__ return flops_sum / batches_count def start_flops_count(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Activates the computation of mean flops consumption per image. Call it before you run the network. """ add_batch_counter_hook_function(self) self.apply(add_flops_counter_hook_function) def stop_flops_count(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Stops computing the mean flops consumption per image. Call whenever you want to pause the computation. """ remove_batch_counter_hook_function(self) self.apply(remove_flops_counter_hook_function) def reset_flops_count(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Resets statistics computed so far. """ add_batch_counter_variables_or_reset(self) self.apply(add_flops_counter_variable_or_reset) def add_flops_mask(module, mask): def add_flops_mask_func(module): if isinstance(module, torch.nn.Conv2d): module.__mask__ = mask module.apply(add_flops_mask_func) def remove_flops_mask(module): module.apply(add_flops_mask_variable_or_reset) # ---- Internal functions def is_supported_instance(module): if isinstance(module, (torch.nn.Conv2d, torch.nn.ReLU, torch.nn.PReLU, torch.nn.ELU, \ torch.nn.LeakyReLU, torch.nn.ReLU6, torch.nn.Linear, \ torch.nn.MaxPool2d, torch.nn.AvgPool2d, torch.nn.BatchNorm2d, \ torch.nn.Upsample, nn.AdaptiveMaxPool2d, nn.AdaptiveAvgPool2d)): return True return False def empty_flops_counter_hook(module, input, output): module.__flops__ += 0 def upsample_flops_counter_hook(module, input, output): output_size = output[0] batch_size = output_size.shape[0] output_elements_count = batch_size for val in output_size.shape[1:]: output_elements_count *= val module.__flops__ += output_elements_count def relu_flops_counter_hook(module, input, output): active_elements_count = output.numel() module.__flops__ += active_elements_count def linear_flops_counter_hook(module, input, output): input = input[0] batch_size = input.shape[0] module.__flops__ += batch_size * input.shape[1] * output.shape[1] def pool_flops_counter_hook(module, input, output): input = input[0] module.__flops__ += np.prod(input.shape) def bn_flops_counter_hook(module, input, output): module.affine input = input[0] batch_flops = np.prod(input.shape) if module.affine: batch_flops *= 2 module.__flops__ += batch_flops def conv_flops_counter_hook(conv_module, input, output): # Can have multiple inputs, getting the first one input = input[0] batch_size = input.shape[0] output_height, output_width = output.shape[2:] kernel_height, kernel_width = conv_module.kernel_size in_channels = conv_module.in_channels out_channels = conv_module.out_channels groups = conv_module.groups filters_per_channel = out_channels // groups conv_per_position_flops = kernel_height * kernel_width * in_channels * filters_per_channel active_elements_count = batch_size * output_height * output_width if conv_module.__mask__ is not None: # (b, 1, h, w) flops_mask = conv_module.__mask__.expand(batch_size, 1, output_height, output_width) active_elements_count = flops_mask.sum() overall_conv_flops = conv_per_position_flops * active_elements_count bias_flops = 0 if conv_module.bias is not None: bias_flops = out_channels * active_elements_count overall_flops = overall_conv_flops + bias_flops conv_module.__flops__ += overall_flops def batch_counter_hook(module, input, output): # Can have multiple inputs, getting the first one input = input[0] batch_size = input.shape[0] module.__batch_counter__ += batch_size def add_batch_counter_variables_or_reset(module): module.__batch_counter__ = 0 def add_batch_counter_hook_function(module): if hasattr(module, '__batch_counter_handle__'): return handle = module.register_forward_hook(batch_counter_hook) module.__batch_counter_handle__ = handle def remove_batch_counter_hook_function(module): if hasattr(module, '__batch_counter_handle__'): module.__batch_counter_handle__.remove() del module.__batch_counter_handle__ def add_flops_counter_variable_or_reset(module): if is_supported_instance(module): module.__flops__ = 0 def add_flops_counter_hook_function(module): if is_supported_instance(module): if hasattr(module, '__flops_handle__'): return if isinstance(module, torch.nn.Conv2d): handle = module.register_forward_hook(conv_flops_counter_hook) elif isinstance(module, (torch.nn.ReLU, torch.nn.PReLU, torch.nn.ELU, \ torch.nn.LeakyReLU, torch.nn.ReLU6)): handle = module.register_forward_hook(relu_flops_counter_hook) elif isinstance(module, torch.nn.Linear): handle = module.register_forward_hook(linear_flops_counter_hook) elif isinstance(module, (torch.nn.AvgPool2d, torch.nn.MaxPool2d, nn.AdaptiveMaxPool2d, \ nn.AdaptiveAvgPool2d)): handle = module.register_forward_hook(pool_flops_counter_hook) elif isinstance(module, torch.nn.BatchNorm2d): handle = module.register_forward_hook(bn_flops_counter_hook) elif isinstance(module, torch.nn.Upsample): handle = module.register_forward_hook(upsample_flops_counter_hook) else: handle = module.register_forward_hook(empty_flops_counter_hook) module.__flops_handle__ = handle def remove_flops_counter_hook_function(module): if is_supported_instance(module): if hasattr(module, '__flops_handle__'): module.__flops_handle__.remove() del module.__flops_handle__ # --- Masked flops counting # Also being run in the initialization def add_flops_mask_variable_or_reset(module): if is_supported_instance(module): module.__mask__ = None ================================================ FILE: src/init_paths.py ================================================ import os.path as osp import sys def add_path(path): if path not in sys.path: sys.path.insert(0, path) #import pudb;pudb.set_trace() #print('11111111111111') this_dir = osp.dirname(__file__) # Add lib to PYTHONPATH lib_path = osp.join(this_dir, 'lib') add_path(lib_path) ================================================ FILE: src/lib/datasets/dataset/coco.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import pycocotools.coco as coco from pycocotools.cocoeval import COCOeval import numpy as np import json import os import torch.utils.data as data class COCO(data.Dataset): num_classes = 80 default_resolution = [512, 512] mean = np.array([0.40789654, 0.44719302, 0.47026115], dtype=np.float32).reshape(1, 1, 3) std = np.array([0.28863828, 0.27408164, 0.27809835], dtype=np.float32).reshape(1, 1, 3) def __init__(self, opt, split): super(COCO, self).__init__() self.data_dir = os.path.join(opt.data_dir, 'coco') self.img_dir = os.path.join(self.data_dir, '{}2017'.format(split)) if split == 'test': self.annot_path = os.path.join( self.data_dir, 'annotations', 'image_info_test-dev2017.json').format(split) else: if opt.task == 'exdet': self.annot_path = os.path.join( self.data_dir, 'annotations', 'instances_extreme_{}2017.json').format(split) else: self.annot_path = os.path.join( self.data_dir, 'annotations', 'instances_{}2017.json').format(split) self.max_objs = 128 self.class_name = [ '__background__', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush'] self._valid_ids = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 90] self.cat_ids = {v: i for i, v in enumerate(self._valid_ids)} self.voc_color = [(v // 32 * 64 + 64, (v // 8) % 4 * 64, v % 8 * 32) \ for v in range(1, self.num_classes + 1)] self._data_rng = np.random.RandomState(123) self._eig_val = np.array([0.2141788, 0.01817699, 0.00341571], dtype=np.float32) self._eig_vec = np.array([ [-0.58752847, -0.69563484, 0.41340352], [-0.5832747, 0.00994535, -0.81221408], [-0.56089297, 0.71832671, 0.41158938] ], dtype=np.float32) # self.mean = np.array([0.485, 0.456, 0.406], np.float32).reshape(1, 1, 3) # self.std = np.array([0.229, 0.224, 0.225], np.float32).reshape(1, 1, 3) self.split = split self.opt = opt print('==> initializing coco 2017 {} data.'.format(split)) self.coco = coco.COCO(self.annot_path) self.images = self.coco.getImgIds() self.num_samples = len(self.images) print('Loaded {} {} samples'.format(split, self.num_samples)) def _to_float(self, x): return float("{:.2f}".format(x)) def convert_eval_format(self, all_bboxes): # import pdb; pdb.set_trace() detections = [] for image_id in all_bboxes: for cls_ind in all_bboxes[image_id]: category_id = self._valid_ids[cls_ind - 1] for bbox in all_bboxes[image_id][cls_ind]: bbox[2] -= bbox[0] bbox[3] -= bbox[1] score = bbox[4] bbox_out = list(map(self._to_float, bbox[0:4])) detection = { "image_id": int(image_id), "category_id": int(category_id), "bbox": bbox_out, "score": float("{:.2f}".format(score)) } if len(bbox) > 5: extreme_points = list(map(self._to_float, bbox[5:13])) detection["extreme_points"] = extreme_points detections.append(detection) return detections def __len__(self): return self.num_samples def save_results(self, results, save_dir): json.dump(self.convert_eval_format(results), open('{}/results.json'.format(save_dir), 'w')) def run_eval(self, results, save_dir): # result_json = os.path.join(save_dir, "results.json") # detections = self.convert_eval_format(results) # json.dump(detections, open(result_json, "w")) self.save_results(results, save_dir) coco_dets = self.coco.loadRes('{}/results.json'.format(save_dir)) coco_eval = COCOeval(self.coco, coco_dets, "bbox") coco_eval.evaluate() coco_eval.accumulate() coco_eval.summarize() ================================================ FILE: src/lib/datasets/dataset/coco_hp_wodet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import pycocotools.coco as coco from pycocotools.cocoeval import COCOeval import numpy as np import json import os import torch.utils.data as data class COCOHP_wodet(data.Dataset): num_classes = 1 num_joints = 17 default_resolution = [512, 512] mean = np.array([0.40789654, 0.44719302, 0.47026115], dtype=np.float32).reshape(1, 1, 3) std = np.array([0.28863828, 0.27408164, 0.27809835], dtype=np.float32).reshape(1, 1, 3) flip_idx = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], [15, 16]] def __init__(self, opt, split): super(COCOHP_wodet, self).__init__() self.edges = [[0, 1], [0, 2], [1, 3], [2, 4], [4, 6], [3, 5], [5, 6], [5, 7], [7, 9], [6, 8], [8, 10], [6, 12], [5, 11], [11, 12], [12, 14], [14, 16], [11, 13], [13, 15]] self.acc_idxs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] self.data_dir = os.path.join(opt.data_dir, 'coco') self.img_dir = os.path.join(self.data_dir, '{}2017'.format(split)) if split == 'test': self.annot_path = os.path.join( self.data_dir, 'annotations', 'image_info_test-dev2017.json').format(split) else: self.annot_path = os.path.join( self.data_dir, 'annotations', 'person_keypoints_{}2017.json').format(split) self.max_objs = 32 self._data_rng = np.random.RandomState(123) self._eig_val = np.array([0.2141788, 0.01817699, 0.00341571], dtype=np.float32) self._eig_vec = np.array([ [-0.58752847, -0.69563484, 0.41340352], [-0.5832747, 0.00994535, -0.81221408], [-0.56089297, 0.71832671, 0.41158938] ], dtype=np.float32) self.split = split self.opt = opt print('==> initializing coco 2017 {} data.'.format(split)) self.coco = coco.COCO(self.annot_path) image_ids = self.coco.getImgIds() if split == 'train': self.images = [] for img_id in image_ids: idxs = self.coco.getAnnIds(imgIds=[img_id]) if len(idxs) > 0: self.images.append(img_id) else: self.images = image_ids self.num_samples = len(self.images) print('Loaded {} {} samples'.format(split, self.num_samples)) def _to_float(self, x): return float("{:.2f}".format(x)) def kps_to_bbox(self, kps, mode='max'): assert kps.shape == (20,35) pts = det[:,1:].reshape(20,17,2) if mode == 'max': tl = np.min(pts,axis=1) rd = np.max(pts,axis=1) bbox = np.concatenate([tl,rd],axis=1) assert bbox.shape == (20,4) det_ = np.concatenate([bbox,det],axis=1) return det_ def convert_eval_format(self, all_bboxes, MS=False): # import pudb; pudb.set_trace() detections = [] for image_id in all_bboxes: for cls_ind in all_bboxes[image_id]: category_id = 1 for dets in all_bboxes[image_id][cls_ind]: if MS==False: score = dets[0] #* np.log(area) keypoints = np.concatenate([ np.array(dets[1:35], dtype=np.float32).reshape(-1, 2), np.ones((17, 1), dtype=np.float32)], axis=1).reshape(51).tolist() else: score = dets[4] keypoints = np.concatenate([ np.array(dets[5:39], dtype=np.float32).reshape(-1, 2), np.ones((17, 1), dtype=np.float32)], axis=1).reshape(51).tolist() keypoints = list(map(self._to_float, keypoints)) detection = { "image_id": int(image_id), "category_id": int(category_id), # "bbox": bbox_out, "score": float("{:.2f}".format(score)), "keypoints": keypoints } detections.append(detection) return detections def __len__(self): return self.num_samples def save_results(self, results, save_dir,MS=False): json.dump(self.convert_eval_format(results,MS=MS), open('{}/results.json'.format(save_dir), 'w')) def run_eval(self, results, save_dir, MS=False): self.save_results(results, save_dir, MS=MS) coco_dets = self.coco.loadRes('{}/results.json'.format(save_dir)) coco_eval = COCOeval(self.coco, coco_dets, "keypoints") 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 ================================================ FILE: src/lib/datasets/dataset/crowdpose.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import crowdposetools.coco as coco # from pycocotools.cocoeval import COCOeval from crowdposetools.cocoeval import COCOeval import numpy as np import json import os import torch.utils.data as data class CrowdPose(data.Dataset): num_classes = 1 num_joints = 14 default_resolution = [512, 512] mean = np.array([0.40789654, 0.44719302, 0.47026115], dtype=np.float32).reshape(1, 1, 3) std = np.array([0.28863828, 0.27408164, 0.27809835], dtype=np.float32).reshape(1, 1, 3) flip_idx = [[0, 1], [2, 3], [4, 5], [6, 7], [8, 9], [10, 11]] def __init__(self, opt, split): super(CrowdPose, self).__init__() self.edges = [[13,1], [0,2], [0,13], [13,12], [2,4], [1,3], [3,5], [6,7], [6,8], [8,10], [7,9], [9,11]] self.data_format ='zip' self.acc_idxs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] self.data_dir = os.path.join(opt.data_dir, 'crowdpose') self.img_dir = os.path.join(self.data_dir, 'images') if split == 'test' or split == 'val': self.annot_path = os.path.join( self.data_dir, 'json', 'crowdpose_{}.json'.format('test')) # elif split == 'val': # self.annot_path = os.path.join( # self.data_dir, 'json', # 'crowdpose_{}.json'.format(split)) else: self.annot_path = os.path.join( self.data_dir, 'json', 'crowdpose_{}.json'.format('trainval')) self.max_objs = 32 self._data_rng = np.random.RandomState(123) self._eig_val = np.array([0.2141788, 0.01817699, 0.00341571], dtype=np.float32) self._eig_vec = np.array([ [-0.58752847, -0.69563484, 0.41340352], [-0.5832747, 0.00994535, -0.81221408], [-0.56089297, 0.71832671, 0.41158938] ], dtype=np.float32) self.split = split self.opt = opt print('==> initializing crowdpose {} data.'.format(split)) self.coco = coco.COCO(self.annot_path) image_ids = self.coco.getImgIds() if split == 'train': self.images = [] for img_id in image_ids: idxs = self.coco.getAnnIds(imgIds=[img_id]) if len(idxs) > 0: self.images.append(img_id) else: self.images = image_ids self.num_samples = len(self.images) print('Loaded {} {} samples'.format(split, self.num_samples)) def _to_float(self, x): return float("{:.2f}".format(x)) # def kps_to_bbox(self, kps, mode='max'): # assert kps.shape == (20,29) # pts = det[:,1:].reshape(20,14,2) # if mode == 'max': # tl = np.min(pts,axis=1) # rd = np.max(pts,axis=1) # bbox = np.concatenate([tl,rd],axis=1) # assert bbox.shape == (20,4) # det_ = np.concatenate([bbox,det],axis=1) # return det_ def convert_eval_format(self, all_bboxes, MS=False): # import pudb; pudb.set_trace() detections = [] for image_id in all_bboxes: for cls_ind in all_bboxes[image_id]: category_id = 1 for dets in all_bboxes[image_id][cls_ind]: if MS==False: score = dets[0] #* np.log(area) keypoints = np.concatenate([ np.array(dets[1:29], dtype=np.float32).reshape(-1, 2), np.ones((14, 1), dtype=np.float32)], axis=1).reshape(42).tolist() else: score = dets[4] keypoints = np.concatenate([ np.array(dets[5:33], dtype=np.float32).reshape(-1, 2), np.ones((14, 1), dtype=np.float32)], axis=1).reshape(42).tolist() keypoints = list(map(self._to_float, keypoints)) detection = { "image_id": int(image_id), "category_id": int(category_id), # "bbox": bbox_out, "score": float("{:.2f}".format(score)), "keypoints": keypoints } detections.append(detection) return detections def __len__(self): return self.num_samples def save_results(self, results, save_dir,MS=False): json.dump(self.convert_eval_format(results,MS=MS), open('{}/results.json'.format(save_dir), 'w')) def run_eval(self, results, save_dir, MS=False): self.save_results(results, save_dir, MS=MS) coco_dets = self.coco.loadRes('{}/results.json'.format(save_dir)) coco_eval = COCOeval(self.coco, coco_dets, "keypoints") coco_eval.evaluate() coco_eval.accumulate() coco_eval.summarize() stats_names = ['AP', 'Ap .5', 'AP .75', 'AR', 'AR .5', 'AR .75', 'AP (easy)', 'AP (medium)', 'AP (hard)'] stats_index = [0, 1, 2, 5, 6, 7, 8, 9, 10] info_str = [] for ind, name in enumerate(stats_names): info_str.append((name, coco_eval.stats[stats_index[ind]])) return info_str ================================================ FILE: src/lib/datasets/dataset/kitti.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch.utils.data as data import pycocotools.coco as coco import numpy as np import torch import json import cv2 import os import math import torch.utils.data as data class KITTI(data.Dataset): num_classes = 3 default_resolution = [384, 1280] mean = np.array([0.485, 0.456, 0.406], np.float32).reshape(1, 1, 3) std = np.array([0.229, 0.224, 0.225], np.float32).reshape(1, 1, 3) def __init__(self, opt, split): super(KITTI, self).__init__() self.data_dir = os.path.join(opt.data_dir, 'kitti') self.img_dir = os.path.join(self.data_dir, 'images', 'trainval') if opt.trainval: split = 'trainval' if split == 'train' else 'test' self.img_dir = os.path.join(self.data_dir, 'images', split) self.annot_path = os.path.join( self.data_dir, 'annotations', 'kitti_{}.json').format(split) else: self.annot_path = os.path.join(self.data_dir, 'annotations', 'kitti_{}_{}.json').format(opt.kitti_split, split) self.max_objs = 50 self.class_name = [ '__background__', 'Pedestrian', 'Car', 'Cyclist'] self.cat_ids = {1:0, 2:1, 3:2, 4:-3, 5:-3, 6:-2, 7:-99, 8:-99, 9:-1} self._data_rng = np.random.RandomState(123) self._eig_val = np.array([0.2141788, 0.01817699, 0.00341571], dtype=np.float32) self._eig_vec = np.array([ [-0.58752847, -0.69563484, 0.41340352], [-0.5832747, 0.00994535, -0.81221408], [-0.56089297, 0.71832671, 0.41158938] ], dtype=np.float32) self.split = split self.opt = opt self.alpha_in_degree = False print('==> initializing kitti {}, {} data.'.format(opt.kitti_split, split)) self.coco = coco.COCO(self.annot_path) self.images = self.coco.getImgIds() self.num_samples = len(self.images) print('Loaded {} {} samples'.format(split, self.num_samples)) def __len__(self): return self.num_samples def _to_float(self, x): return float("{:.2f}".format(x)) def convert_eval_format(self, all_bboxes): pass def save_results(self, results, save_dir): results_dir = os.path.join(save_dir, 'results') if not os.path.exists(results_dir): os.mkdir(results_dir) for img_id in results.keys(): out_path = os.path.join(results_dir, '{:06d}.txt'.format(img_id)) f = open(out_path, 'w') for cls_ind in results[img_id]: for j in range(len(results[img_id][cls_ind])): class_name = self.class_name[cls_ind] f.write('{} 0.0 0'.format(class_name)) for i in range(len(results[img_id][cls_ind][j])): f.write(' {:.2f}'.format(results[img_id][cls_ind][j][i])) f.write('\n') f.close() def run_eval(self, results, save_dir): self.save_results(results, save_dir) os.system('./tools/kitti_eval/evaluate_object_3d_offline ' + \ '../data/kitti/training/label_val ' + \ '{}/results/'.format(save_dir)) ================================================ FILE: src/lib/datasets/dataset/pascal.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import pycocotools.coco as coco import numpy as np import torch import json import os import torch.utils.data as data class PascalVOC(data.Dataset): num_classes = 20 default_resolution = [384, 384] mean = np.array([0.485, 0.456, 0.406], dtype=np.float32).reshape(1, 1, 3) std = np.array([0.229, 0.224, 0.225], dtype=np.float32).reshape(1, 1, 3) def __init__(self, opt, split): super(PascalVOC, self).__init__() self.data_dir = os.path.join(opt.data_dir, 'voc') self.img_dir = os.path.join(self.data_dir, 'images') _ann_name = {'train': 'trainval0712', 'val': 'test2007'} self.annot_path = os.path.join( self.data_dir, 'annotations', 'pascal_{}.json').format(_ann_name[split]) self.max_objs = 50 self.class_name = ['__background__', "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"] self._valid_ids = np.arange(1, 21, dtype=np.int32) self.cat_ids = {v: i for i, v in enumerate(self._valid_ids)} self._data_rng = np.random.RandomState(123) self._eig_val = np.array([0.2141788, 0.01817699, 0.00341571], dtype=np.float32) self._eig_vec = np.array([ [-0.58752847, -0.69563484, 0.41340352], [-0.5832747, 0.00994535, -0.81221408], [-0.56089297, 0.71832671, 0.41158938] ], dtype=np.float32) self.split = split self.opt = opt print('==> initializing pascal {} data.'.format(_ann_name[split])) self.coco = coco.COCO(self.annot_path) self.images = sorted(self.coco.getImgIds()) self.num_samples = len(self.images) print('Loaded {} {} samples'.format(split, self.num_samples)) def _to_float(self, x): return float("{:.2f}".format(x)) def convert_eval_format(self, all_bboxes): detections = [[[] for __ in range(self.num_samples)] \ for _ in range(self.num_classes + 1)] for i in range(self.num_samples): img_id = self.images[i] for j in range(1, self.num_classes + 1): if isinstance(all_bboxes[img_id][j], np.ndarray): detections[j][i] = all_bboxes[img_id][j].tolist() else: detections[j][i] = all_bboxes[img_id][j] return detections def __len__(self): return self.num_samples def save_results(self, results, save_dir): json.dump(self.convert_eval_format(results), open('{}/results.json'.format(save_dir), 'w')) def run_eval(self, results, save_dir): # result_json = os.path.join(save_dir, "results.json") # detections = self.convert_eval_format(results) # json.dump(detections, open(result_json, "w")) self.save_results(results, save_dir) os.system('python tools/reval.py ' + \ '{}/results.json'.format(save_dir)) ================================================ FILE: src/lib/datasets/dataset_factory.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function from .sample.multi_pose_wodet import MultiPoseDataset_wodet from .sample.multi_pose_crowdpose import MultiPoseCrowdpose from .dataset.coco_hp_wodet import COCOHP_wodet from .dataset.crowdpose import CrowdPose dataset_factory = { 'coco_hp_wodet': COCOHP_wodet, 'crowdpose': CrowdPose } _sample_factory = { 'multi_pose_wodet': MultiPoseDataset_wodet, 'multi_pose_crowdpose': MultiPoseCrowdpose } def get_dataset(dataset, task): class Dataset(dataset_factory[dataset], _sample_factory[task]): pass return Dataset ================================================ FILE: src/lib/datasets/sample/ctdet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch.utils.data as data import numpy as np import torch import json import cv2 import os from utils.image import flip, color_aug from utils.image import get_affine_transform, affine_transform from utils.image import gaussian_radius, draw_umich_gaussian, draw_msra_gaussian from utils.image import draw_dense_reg import math class CTDetDataset(data.Dataset): def _coco_box_to_bbox(self, box): bbox = np.array([box[0], box[1], box[0] + box[2], box[1] + box[3]], dtype=np.float32) return bbox def _get_border(self, border, size): i = 1 while size - border // i <= border // i: i *= 2 return border // i def __getitem__(self, index): img_id = self.images[index] file_name = self.coco.loadImgs(ids=[img_id])[0]['file_name'] img_path = os.path.join(self.img_dir, file_name) ann_ids = self.coco.getAnnIds(imgIds=[img_id]) anns = self.coco.loadAnns(ids=ann_ids) num_objs = min(len(anns), self.max_objs) img = cv2.imread(img_path) height, width = img.shape[0], img.shape[1] c = np.array([img.shape[1] / 2., img.shape[0] / 2.], dtype=np.float32) if self.opt.keep_res: input_h = (height | self.opt.pad) + 1 input_w = (width | self.opt.pad) + 1 s = np.array([input_w, input_h], dtype=np.float32) else: s = max(img.shape[0], img.shape[1]) * 1.0 input_h, input_w = self.opt.input_h, self.opt.input_w flipped = False if self.split == 'train': if not self.opt.not_rand_crop: s = s * np.random.choice(np.arange(0.6, 1.4, 0.1)) w_border = self._get_border(128, img.shape[1]) h_border = self._get_border(128, img.shape[0]) c[0] = np.random.randint(low=w_border, high=img.shape[1] - w_border) c[1] = np.random.randint(low=h_border, high=img.shape[0] - h_border) else: sf = self.opt.scale cf = self.opt.shift c[0] += s * np.clip(np.random.randn()*cf, -2*cf, 2*cf) c[1] += s * np.clip(np.random.randn()*cf, -2*cf, 2*cf) s = s * np.clip(np.random.randn()*sf + 1, 1 - sf, 1 + sf) if np.random.random() < self.opt.flip: flipped = True img = img[:, ::-1, :] c[0] = width - c[0] - 1 trans_input = get_affine_transform( c, s, 0, [input_w, input_h]) inp = cv2.warpAffine(img, trans_input, (input_w, input_h), flags=cv2.INTER_LINEAR) inp = (inp.astype(np.float32) / 255.) if self.split == 'train' and not self.opt.no_color_aug: color_aug(self._data_rng, inp, self._eig_val, self._eig_vec) inp = (inp - self.mean) / self.std inp = inp.transpose(2, 0, 1) output_h = input_h // self.opt.down_ratio output_w = input_w // self.opt.down_ratio num_classes = self.num_classes trans_output = get_affine_transform(c, s, 0, [output_w, output_h]) hm = np.zeros((num_classes, output_h, output_w), dtype=np.float32) wh = np.zeros((self.max_objs, 2), dtype=np.float32) dense_wh = np.zeros((2, output_h, output_w), dtype=np.float32) reg = np.zeros((self.max_objs, 2), dtype=np.float32) ind = np.zeros((self.max_objs), dtype=np.int64) reg_mask = np.zeros((self.max_objs), dtype=np.uint8) cat_spec_wh = np.zeros((self.max_objs, num_classes * 2), dtype=np.float32) cat_spec_mask = np.zeros((self.max_objs, num_classes * 2), dtype=np.uint8) draw_gaussian = draw_msra_gaussian if self.opt.mse_loss else \ draw_umich_gaussian gt_det = [] for k in range(num_objs): ann = anns[k] bbox = self._coco_box_to_bbox(ann['bbox']) cls_id = int(self.cat_ids[ann['category_id']]) if flipped: bbox[[0, 2]] = width - bbox[[2, 0]] - 1 bbox[:2] = affine_transform(bbox[:2], trans_output) bbox[2:] = affine_transform(bbox[2:], trans_output) bbox[[0, 2]] = np.clip(bbox[[0, 2]], 0, output_w - 1) bbox[[1, 3]] = np.clip(bbox[[1, 3]], 0, output_h - 1) h, w = bbox[3] - bbox[1], bbox[2] - bbox[0] if h > 0 and w > 0: radius = gaussian_radius((math.ceil(h), math.ceil(w))) radius = max(0, int(radius)) radius = self.opt.hm_gauss if self.opt.mse_loss else radius ct = np.array( [(bbox[0] + bbox[2]) / 2, (bbox[1] + bbox[3]) / 2], dtype=np.float32) ct_int = ct.astype(np.int32) draw_gaussian(hm[cls_id], ct_int, radius) wh[k] = 1. * w, 1. * h ind[k] = ct_int[1] * output_w + ct_int[0] reg[k] = ct - ct_int reg_mask[k] = 1 cat_spec_wh[k, cls_id * 2: cls_id * 2 + 2] = wh[k] cat_spec_mask[k, cls_id * 2: cls_id * 2 + 2] = 1 if self.opt.dense_wh: draw_dense_reg(dense_wh, hm.max(axis=0), ct_int, wh[k], radius) gt_det.append([ct[0] - w / 2, ct[1] - h / 2, ct[0] + w / 2, ct[1] + h / 2, 1, cls_id]) ret = {'input': inp, 'hm': hm, 'reg_mask': reg_mask, 'ind': ind, 'wh': wh} if self.opt.dense_wh: hm_a = hm.max(axis=0, keepdims=True) dense_wh_mask = np.concatenate([hm_a, hm_a], axis=0) ret.update({'dense_wh': dense_wh, 'dense_wh_mask': dense_wh_mask}) del ret['wh'] elif self.opt.cat_spec_wh: ret.update({'cat_spec_wh': cat_spec_wh, 'cat_spec_mask': cat_spec_mask}) del ret['wh'] if self.opt.reg_offset: ret.update({'reg': reg}) if self.opt.debug > 0 or not self.split == 'train': gt_det = np.array(gt_det, dtype=np.float32) if len(gt_det) > 0 else \ np.zeros((1, 6), dtype=np.float32) meta = {'c': c, 's': s, 'gt_det': gt_det, 'img_id': img_id} ret['meta'] = meta return ret ================================================ FILE: src/lib/datasets/sample/ddd.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch.utils.data as data import pycocotools.coco as coco import numpy as np import torch import json import cv2 import os import math from utils.image import flip, color_aug from utils.image import get_affine_transform, affine_transform from utils.image import gaussian_radius, draw_umich_gaussian, draw_msra_gaussian import pycocotools.coco as coco class DddDataset(data.Dataset): def _coco_box_to_bbox(self, box): bbox = np.array([box[0], box[1], box[0] + box[2], box[1] + box[3]], dtype=np.float32) return bbox def _convert_alpha(self, alpha): return math.radians(alpha + 45) if self.alpha_in_degree else alpha def __getitem__(self, index): img_id = self.images[index] img_info = self.coco.loadImgs(ids=[img_id])[0] img_path = os.path.join(self.img_dir, img_info['file_name']) img = cv2.imread(img_path) if 'calib' in img_info: calib = np.array(img_info['calib'], dtype=np.float32) else: calib = self.calib height, width = img.shape[0], img.shape[1] c = np.array([img.shape[1] / 2., img.shape[0] / 2.]) if self.opt.keep_res: s = np.array([self.opt.input_w, self.opt.input_h], dtype=np.int32) else: s = np.array([width, height], dtype=np.int32) aug = False if self.split == 'train' and np.random.random() < self.opt.aug_ddd: aug = True sf = self.opt.scale cf = self.opt.shift s = s * np.clip(np.random.randn()*sf + 1, 1 - sf, 1 + sf) c[0] += img.shape[1] * np.clip(np.random.randn()*cf, -2*cf, 2*cf) c[1] += img.shape[0] * np.clip(np.random.randn()*cf, -2*cf, 2*cf) trans_input = get_affine_transform( c, s, 0, [self.opt.input_w, self.opt.input_h]) inp = cv2.warpAffine(img, trans_input, (self.opt.input_w, self.opt.input_h), flags=cv2.INTER_LINEAR) inp = (inp.astype(np.float32) / 255.) # if self.split == 'train' and not self.opt.no_color_aug: # color_aug(self._data_rng, inp, self._eig_val, self._eig_vec) inp = (inp - self.mean) / self.std inp = inp.transpose(2, 0, 1) num_classes = self.opt.num_classes trans_output = get_affine_transform( c, s, 0, [self.opt.output_w, self.opt.output_h]) hm = np.zeros( (num_classes, self.opt.output_h, self.opt.output_w), dtype=np.float32) wh = np.zeros((self.max_objs, 2), dtype=np.float32) reg = np.zeros((self.max_objs, 2), dtype=np.float32) dep = np.zeros((self.max_objs, 1), dtype=np.float32) rotbin = np.zeros((self.max_objs, 2), dtype=np.int64) rotres = np.zeros((self.max_objs, 2), dtype=np.float32) dim = np.zeros((self.max_objs, 3), dtype=np.float32) ind = np.zeros((self.max_objs), dtype=np.int64) reg_mask = np.zeros((self.max_objs), dtype=np.uint8) rot_mask = np.zeros((self.max_objs), dtype=np.uint8) ann_ids = self.coco.getAnnIds(imgIds=[img_id]) anns = self.coco.loadAnns(ids=ann_ids) num_objs = min(len(anns), self.max_objs) draw_gaussian = draw_msra_gaussian if self.opt.mse_loss else \ draw_umich_gaussian gt_det = [] for k in range(num_objs): ann = anns[k] bbox = self._coco_box_to_bbox(ann['bbox']) cls_id = int(self.cat_ids[ann['category_id']]) if cls_id <= -99: continue # if flipped: # bbox[[0, 2]] = width - bbox[[2, 0]] - 1 bbox[:2] = affine_transform(bbox[:2], trans_output) bbox[2:] = affine_transform(bbox[2:], trans_output) bbox[[0, 2]] = np.clip(bbox[[0, 2]], 0, self.opt.output_w - 1) bbox[[1, 3]] = np.clip(bbox[[1, 3]], 0, self.opt.output_h - 1) h, w = bbox[3] - bbox[1], bbox[2] - bbox[0] if h > 0 and w > 0: radius = gaussian_radius((h, w)) radius = max(0, int(radius)) ct = np.array( [(bbox[0] + bbox[2]) / 2, (bbox[1] + bbox[3]) / 2], dtype=np.float32) ct_int = ct.astype(np.int32) if cls_id < 0: ignore_id = [_ for _ in range(num_classes)] \ if cls_id == - 1 else [- cls_id - 2] if self.opt.rect_mask: hm[ignore_id, int(bbox[1]): int(bbox[3]) + 1, int(bbox[0]): int(bbox[2]) + 1] = 0.9999 else: for cc in ignore_id: draw_gaussian(hm[cc], ct, radius) hm[ignore_id, ct_int[1], ct_int[0]] = 0.9999 continue draw_gaussian(hm[cls_id], ct, radius) wh[k] = 1. * w, 1. * h gt_det.append([ct[0], ct[1], 1] + \ self._alpha_to_8(self._convert_alpha(ann['alpha'])) + \ [ann['depth']] + (np.array(ann['dim']) / 1).tolist() + [cls_id]) if self.opt.reg_bbox: gt_det[-1] = gt_det[-1][:-1] + [w, h] + [gt_det[-1][-1]] # if (not self.opt.car_only) or cls_id == 1: # Only estimate ADD for cars !!! if 1: alpha = self._convert_alpha(ann['alpha']) # print('img_id cls_id alpha rot_y', img_path, cls_id, alpha, ann['rotation_y']) if alpha < np.pi / 6. or alpha > 5 * np.pi / 6.: rotbin[k, 0] = 1 rotres[k, 0] = alpha - (-0.5 * np.pi) if alpha > -np.pi / 6. or alpha < -5 * np.pi / 6.: rotbin[k, 1] = 1 rotres[k, 1] = alpha - (0.5 * np.pi) dep[k] = ann['depth'] dim[k] = ann['dim'] # print(' cat dim', cls_id, dim[k]) ind[k] = ct_int[1] * self.opt.output_w + ct_int[0] reg[k] = ct - ct_int reg_mask[k] = 1 if not aug else 0 rot_mask[k] = 1 # print('gt_det', gt_det) # print('') ret = {'input': inp, 'hm': hm, 'dep': dep, 'dim': dim, 'ind': ind, 'rotbin': rotbin, 'rotres': rotres, 'reg_mask': reg_mask, 'rot_mask': rot_mask} if self.opt.reg_bbox: ret.update({'wh': wh}) if self.opt.reg_offset: ret.update({'reg': reg}) if self.opt.debug > 0 or not ('train' in self.split): gt_det = np.array(gt_det, dtype=np.float32) if len(gt_det) > 0 else \ np.zeros((1, 18), dtype=np.float32) meta = {'c': c, 's': s, 'gt_det': gt_det, 'calib': calib, 'image_path': img_path, 'img_id': img_id} ret['meta'] = meta return ret def _alpha_to_8(self, alpha): # return [alpha, 0, 0, 0, 0, 0, 0, 0] ret = [0, 0, 0, 1, 0, 0, 0, 1] if alpha < np.pi / 6. or alpha > 5 * np.pi / 6.: r = alpha - (-0.5 * np.pi) ret[1] = 1 ret[2], ret[3] = np.sin(r), np.cos(r) if alpha > -np.pi / 6. or alpha < -5 * np.pi / 6.: r = alpha - (0.5 * np.pi) ret[5] = 1 ret[6], ret[7] = np.sin(r), np.cos(r) return ret ================================================ FILE: src/lib/datasets/sample/exdet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch.utils.data as data import pycocotools.coco as coco import numpy as np import torch import json import cv2 import os from utils.image import flip, color_aug from utils.image import get_affine_transform, affine_transform from utils.image import gaussian_radius, draw_umich_gaussian, draw_msra_gaussian import pycocotools.coco as coco import math class EXDetDataset(data.Dataset): def _coco_box_to_bbox(self, box): bbox = np.array([box[0], box[1], box[0] + box[2], box[1] + box[3]], dtype=np.float32) return bbox def _get_border(self, border, size): i = 1 while size - border // i <= border // i: i *= 2 return border // i def __getitem__(self, index): img_id = self.images[index] img_info = self.coco.loadImgs(ids=[img_id])[0] img_path = os.path.join(self.img_dir, img_info['file_name']) img = cv2.imread(img_path) height, width = img.shape[0], img.shape[1] c = np.array([img.shape[1] / 2., img.shape[0] / 2.]) s = max(img.shape[0], img.shape[1]) * 1.0 flipped = False if self.split == 'train': if not self.opt.not_rand_crop: s = s * np.random.choice(np.arange(0.6, 1.4, 0.1)) w_border = self._get_border(128, img.shape[1]) h_border = self._get_border(128, img.shape[0]) c[0] = np.random.randint(low=w_border, high=img.shape[1] - w_border) c[1] = np.random.randint(low=h_border, high=img.shape[0] - h_border) else: sf = self.opt.scale cf = self.opt.shift s = s * np.clip(np.random.randn()*sf + 1, 1 - sf, 1 + sf) c[0] += img.shape[1] * np.clip(np.random.randn()*cf, -2*cf, 2*cf) c[1] += img.shape[0] * np.clip(np.random.randn()*cf, -2*cf, 2*cf) if np.random.random() < self.opt.flip: flipped = True img = img[:, ::-1, :] trans_input = get_affine_transform( c, s, 0, [self.opt.input_res, self.opt.input_res]) inp = cv2.warpAffine(img, trans_input, (self.opt.input_res, self.opt.input_res), flags=cv2.INTER_LINEAR) inp = (inp.astype(np.float32) / 255.) if self.split == 'train' and not self.opt.no_color_aug: color_aug(self._data_rng, inp, self._eig_val, self._eig_vec) inp = (inp - self.mean) / self.std inp = inp.transpose(2, 0, 1) output_res = self.opt.output_res num_classes = self.opt.num_classes trans_output = get_affine_transform(c, s, 0, [output_res, output_res]) num_hm = 1 if self.opt.agnostic_ex else num_classes hm_t = np.zeros((num_hm, output_res, output_res), dtype=np.float32) hm_l = np.zeros((num_hm, output_res, output_res), dtype=np.float32) hm_b = np.zeros((num_hm, output_res, output_res), dtype=np.float32) hm_r = np.zeros((num_hm, output_res, output_res), dtype=np.float32) hm_c = np.zeros((num_classes, output_res, output_res), dtype=np.float32) reg_t = np.zeros((self.max_objs, 2), dtype=np.float32) reg_l = np.zeros((self.max_objs, 2), dtype=np.float32) reg_b = np.zeros((self.max_objs, 2), dtype=np.float32) reg_r = np.zeros((self.max_objs, 2), dtype=np.float32) ind_t = np.zeros((self.max_objs), dtype=np.int64) ind_l = np.zeros((self.max_objs), dtype=np.int64) ind_b = np.zeros((self.max_objs), dtype=np.int64) ind_r = np.zeros((self.max_objs), dtype=np.int64) reg_mask = np.zeros((self.max_objs), dtype=np.uint8) ann_ids = self.coco.getAnnIds(imgIds=[img_id]) anns = self.coco.loadAnns(ids=ann_ids) num_objs = min(len(anns), self.max_objs) draw_gaussian = draw_msra_gaussian if self.opt.mse_loss else \ draw_umich_gaussian for k in range(num_objs): ann = anns[k] # bbox = self._coco_box_to_bbox(ann['bbox']) # tlbr pts = np.array(ann['extreme_points'], dtype=np.float32).reshape(4, 2) # cls_id = int(self.cat_ids[ann['category_id']] - 1) # bug cls_id = int(self.cat_ids[ann['category_id']]) hm_id = 0 if self.opt.agnostic_ex else cls_id if flipped: pts[:, 0] = width - pts[:, 0] - 1 pts[1], pts[3] = pts[3].copy(), pts[1].copy() for j in range(4): pts[j] = affine_transform(pts[j], trans_output) pts = np.clip(pts, 0, self.opt.output_res - 1) h, w = pts[2, 1] - pts[0, 1], pts[3, 0] - pts[1, 0] if h > 0 and w > 0: radius = gaussian_radius((math.ceil(h), math.ceil(w))) radius = max(0, int(radius)) pt_int = pts.astype(np.int32) draw_gaussian(hm_t[hm_id], pt_int[0], radius) draw_gaussian(hm_l[hm_id], pt_int[1], radius) draw_gaussian(hm_b[hm_id], pt_int[2], radius) draw_gaussian(hm_r[hm_id], pt_int[3], radius) reg_t[k] = pts[0] - pt_int[0] reg_l[k] = pts[1] - pt_int[1] reg_b[k] = pts[2] - pt_int[2] reg_r[k] = pts[3] - pt_int[3] ind_t[k] = pt_int[0, 1] * output_res + pt_int[0, 0] ind_l[k] = pt_int[1, 1] * output_res + pt_int[1, 0] ind_b[k] = pt_int[2, 1] * output_res + pt_int[2, 0] ind_r[k] = pt_int[3, 1] * output_res + pt_int[3, 0] ct = [int((pts[3, 0] + pts[1, 0]) / 2), int((pts[0, 1] + pts[2, 1]) / 2)] draw_gaussian(hm_c[cls_id], ct, radius) reg_mask[k] = 1 ret = {'input': inp, 'hm_t': hm_t, 'hm_l': hm_l, 'hm_b': hm_b, 'hm_r': hm_r, 'hm_c': hm_c} if self.opt.reg_offset: ret.update({'reg_mask': reg_mask, 'reg_t': reg_t, 'reg_l': reg_l, 'reg_b': reg_b, 'reg_r': reg_r, 'ind_t': ind_t, 'ind_l': ind_l, 'ind_b': ind_b, 'ind_r': ind_r}) return ret ================================================ FILE: src/lib/datasets/sample/multi_pose_crowdpose.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch.utils.data as data import numpy as np import torch import json import cv2 import os from utils.image import flip, color_aug from utils.image import get_affine_transform, affine_transform from utils.image import gaussian_radius, draw_umich_gaussian, draw_msra_gaussian from utils.image import draw_dense_reg import math class MultiPoseCrowdpose(data.Dataset): def _coco_box_to_bbox(self, box): bbox = np.array([box[0], box[1], box[0] + box[2], box[1] + box[3]], dtype=np.float32) return bbox def _get_border(self, border, size): i = 1 while size - border // i <= border // i: i *= 2 return border // i def __getitem__(self, index): img_id = self.images[index] file_name = self.coco.loadImgs(ids=[img_id])[0]['file_name'] img_path = os.path.join(self.img_dir, file_name) ann_ids = self.coco.getAnnIds(imgIds=[img_id]) anns = self.coco.loadAnns(ids=ann_ids) num_objs = min(len(anns), self.max_objs) img = cv2.imread(img_path) height, width = img.shape[0], img.shape[1] c = np.array([img.shape[1] / 2., img.shape[0] / 2.], dtype=np.float32) s = max(img.shape[0], img.shape[1]) * 1.0 rot = 0 flipped = False if self.split == 'train': if not self.opt.not_rand_crop: s = s * np.random.choice(np.arange(0.6, 1.4, 0.1)) w_border = self._get_border(128, img.shape[1]) h_border = self._get_border(128, img.shape[0]) c[0] = np.random.randint(low=w_border, high=img.shape[1] - w_border) c[1] = np.random.randint(low=h_border, high=img.shape[0] - h_border) else: sf = self.opt.scale cf = self.opt.shift c[0] += s * np.clip(np.random.randn()*cf, -2*cf, 2*cf) c[1] += s * np.clip(np.random.randn()*cf, -2*cf, 2*cf) s = s * np.clip(np.random.randn()*sf + 1, 1 - sf, 1 + sf) if np.random.random() < self.opt.aug_rot: rf = self.opt.rotate rot = np.clip(np.random.randn()*rf, -rf*2, rf*2) if np.random.random() < self.opt.flip: flipped = True img = img[:, ::-1, :] c[0] = width - c[0] - 1 trans_input = get_affine_transform( c, s, rot, [self.opt.input_res, self.opt.input_res]) inp_ = cv2.warpAffine(img, trans_input, (self.opt.input_res, self.opt.input_res), flags=cv2.INTER_LINEAR) # cv2.imwrite('/data/yabo.xiao/coco_vis/'+file_name,inp) inp = (inp_.astype(np.float32) / 255.) if self.split == 'train' and not self.opt.no_color_aug: color_aug(self._data_rng, inp, self._eig_val, self._eig_vec) inp = (inp - self.mean) / self.std inp = inp.transpose(2, 0, 1) output_res = self.opt.output_res num_joints = self.num_joints trans_output_rot = get_affine_transform(c, s, rot, [output_res, output_res]) trans_output = get_affine_transform(c, s, 0, [output_res, output_res]) hm = np.zeros((self.num_classes, output_res, output_res), dtype=np.float32) hm_hp = np.zeros((num_joints, output_res, output_res), dtype=np.float32) dense_kps = np.zeros((num_joints, 2, output_res, output_res), dtype=np.float32) dense_kps_mask = np.zeros((num_joints, output_res, output_res), dtype=np.float32) wh = np.zeros((self.max_objs, 2), dtype=np.float32) kps = np.zeros((self.max_objs, num_joints * 2), dtype=np.float32) reg = np.zeros((self.max_objs, 2), dtype=np.float32) ind = np.zeros((self.max_objs), dtype=np.int64) reg_mask = np.zeros((self.max_objs), dtype=np.uint8) kps_mask = np.zeros((self.max_objs, self.num_joints * 2), dtype=np.uint8) hp_offset = np.zeros((self.max_objs * num_joints, 2), dtype=np.float32) hp_ind = np.zeros((self.max_objs * num_joints), dtype=np.int64) hp_mask = np.zeros((self.max_objs * num_joints), dtype=np.int64) area = np.zeros((self.max_objs), dtype=np.float32) draw_gaussian = draw_msra_gaussian if self.opt.mse_loss else \ draw_umich_gaussian gt_det = [] for k in range(num_objs): ann = anns[k] bbox = self._coco_box_to_bbox(ann['bbox']) cls_id = int(ann['category_id']) - 1 pts = np.array(ann['keypoints'], np.float32).reshape(num_joints, 3) #print(bbox) if flipped: bbox[[0, 2]] = width - bbox[[2, 0]] - 1 pts[:, 0] = width - pts[:, 0] - 1 for e in self.flip_idx: pts[e[0]], pts[e[1]] = pts[e[1]].copy(), pts[e[0]].copy() valid_kps_num = 0 pts_tmp = np.zeros((1,2)) ####################################################################################################################### for ind_ in range(num_joints): if pts[ind_, 2] > 0: pts[ind_, :2] = affine_transform(pts[ind_, :2], trans_output_rot) if pts[ind_, 0] >= 0 and pts[ind_, 0] < output_res and \ pts[ind_, 1] >= 0 and pts[ind_, 1] < output_res: valid_kps_num += 1 pts_tmp = np.concatenate((pts_tmp, pts[ind_, :2][None]), axis = 0) else: pts[ind_, 2] = 0 # import pudb; pudb.set_trace() if valid_kps_num == 0: continue else: ct = np.array( [pts_tmp[:,0].sum()/valid_kps_num, pts_tmp[:,1].sum()/valid_kps_num], dtype=np.float32) ## the average of all visible keypoints ####################################### generate the pseudo-box according to the visiable keypoints##################### pts_tmp_wo_zero = pts_tmp[1:, :] assert len(pts_tmp_wo_zero) == valid_kps_num tl = np.min(pts_tmp_wo_zero,axis=0) rd = np.max(pts_tmp_wo_zero,axis=0) h, w = rd[1] - tl[1], rd[0] - tl[0] ################################################################################################################### ct_int = ct.astype(np.int32) area[k] = ann['bbox'][2] * ann['bbox'][3] * (self.opt.input_res / s) / 16.0 # area of 4 stride if ct_int[0] >= 0 and ct_int[0] < output_res and \ ct_int[1] >= 0 and ct_int[1] < output_res and (h > 0 and w > 0) and valid_kps_num > 0: radius = gaussian_radius((math.ceil(h), math.ceil(w))) radius = self.opt.hm_gauss if self.opt.mse_loss else max(0, int(radius)) wh[k] = 1. * w/output_res, 1. * h/output_res # normalize to (0,1) hp_radius = gaussian_radius((math.ceil(h), math.ceil(w))) hp_radius = self.opt.hm_gauss \ if self.opt.mse_loss else max(0, int(hp_radius)) ind[k] = ct_int[1] * output_res + ct_int[0] reg_mask[k] = 1 for j in range(num_joints): if pts[j, 2] > 0: kps[k, j * 2: j * 2 + 2] = pts[j, :2] - ct_int kps_mask[k, j * 2: j * 2 + 2] = 1 pt_int = pts[j, :2].astype(np.int32) hp_offset[k * num_joints + j] = pts[j, :2] - pt_int hp_ind[k * num_joints + j] = pt_int[1] * output_res + pt_int[0] hp_mask[k * num_joints + j] = 1 if self.opt.dense_hp: # must be before draw center hm gaussian draw_dense_reg(dense_kps[j], hm[cls_id], ct_int, pts[j, :2] - ct_int, radius, is_offset=True) draw_gaussian(dense_kps_mask[j], ct_int, radius) draw_gaussian(hm_hp[j], pt_int, hp_radius) draw_gaussian(hm[cls_id], ct_int, radius) gt_det.append([ct[0] - w / 2, ct[1] - h / 2, ct[0] + w / 2, ct[1] + h / 2, 1] + pts[:, :2].reshape(num_joints * 2).tolist() + [cls_id]) #import pudb;pudb.set_trace() ret = {'input': inp, 'hm': hm, 'reg_mask': reg_mask, 'ind': ind, 'wh': wh, 'hps': kps, 'hps_mask': kps_mask, 'area': area} if self.opt.dense_hp: dense_kps = dense_kps.reshape(num_joints * 2, output_res, output_res) dense_kps_mask = dense_kps_mask.reshape( num_joints, 1, output_res, output_res) dense_kps_mask = np.concatenate([dense_kps_mask, dense_kps_mask], axis=1) dense_kps_mask = dense_kps_mask.reshape( num_joints * 2, output_res, output_res) ret.update({'dense_hps': dense_kps, 'dense_hps_mask': dense_kps_mask}) del ret['hps'], ret['hps_mask'] if self.opt.reg_offset: ret.update({'reg': reg}) if self.opt.hm_hp: ret.update({'hm_hp': hm_hp}) if self.opt.reg_hp_offset: ret.update({'hp_offset': hp_offset, 'hp_ind': hp_ind, 'hp_mask': hp_mask}) if self.opt.debug > 0 or not self.split == 'train': gt_det = np.array(gt_det, dtype=np.float32) if len(gt_det) > 0 else \ np.zeros((1, 40), dtype=np.float32) #meta = {'c': c, 's': s, 'gt_det': gt_det, 'img_id': img_id} meta = {'c': c, 's': s, 'img_id': img_id} ret['meta'] = meta return ret ================================================ FILE: src/lib/datasets/sample/multi_pose_wodet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch.utils.data as data import numpy as np import torch import json import cv2 import os from utils.image import flip, color_aug from utils.image import get_affine_transform, affine_transform from utils.image import gaussian_radius, draw_umich_gaussian, draw_msra_gaussian from utils.image import draw_dense_reg import math class MultiPoseDataset_wodet(data.Dataset): def _coco_box_to_bbox(self, box): bbox = np.array([box[0], box[1], box[0] + box[2], box[1] + box[3]], dtype=np.float32) return bbox def _get_border(self, border, size): i = 1 while size - border // i <= border // i: i *= 2 return border // i def __getitem__(self, index): #import pudb;pudb.set_trace() img_id = self.images[index] file_name = self.coco.loadImgs(ids=[img_id])[0]['file_name'] img_path = os.path.join(self.img_dir, file_name) ann_ids = self.coco.getAnnIds(imgIds=[img_id]) anns = self.coco.loadAnns(ids=ann_ids) num_objs = min(len(anns), self.max_objs) img = cv2.imread(img_path) height, width = img.shape[0], img.shape[1] c = np.array([img.shape[1] / 2., img.shape[0] / 2.], dtype=np.float32) s = max(img.shape[0], img.shape[1]) * 1.0 rot = 0 flipped = False if self.split == 'train': if not self.opt.not_rand_crop: s = s * np.random.choice(np.arange(0.6, 1.4, 0.1)) w_border = self._get_border(128, img.shape[1]) h_border = self._get_border(128, img.shape[0]) c[0] = np.random.randint(low=w_border, high=img.shape[1] - w_border) c[1] = np.random.randint(low=h_border, high=img.shape[0] - h_border) else: sf = self.opt.scale cf = self.opt.shift c[0] += s * np.clip(np.random.randn()*cf, -2*cf, 2*cf) c[1] += s * np.clip(np.random.randn()*cf, -2*cf, 2*cf) s = s * np.clip(np.random.randn()*sf + 1, 1 - sf, 1 + sf) if np.random.random() < self.opt.aug_rot: rf = self.opt.rotate rot = np.clip(np.random.randn()*rf, -rf*2, rf*2) if np.random.random() < self.opt.flip: flipped = True img = img[:, ::-1, :] c[0] = width - c[0] - 1 trans_input = get_affine_transform( c, s, rot, [self.opt.input_res, self.opt.input_res]) inp_ = cv2.warpAffine(img, trans_input, (self.opt.input_res, self.opt.input_res), flags=cv2.INTER_LINEAR) # cv2.imwrite('/data/yabo.xiao/coco_vis/'+file_name,inp) inp = (inp_.astype(np.float32) / 255.) if self.split == 'train' and not self.opt.no_color_aug: color_aug(self._data_rng, inp, self._eig_val, self._eig_vec) inp = (inp - self.mean) / self.std inp = inp.transpose(2, 0, 1) output_res = self.opt.output_res num_joints = self.num_joints trans_output_rot = get_affine_transform(c, s, rot, [output_res, output_res]) trans_output = get_affine_transform(c, s, 0, [output_res, output_res]) hm = np.zeros((self.num_classes, output_res, output_res), dtype=np.float32) hm_hp = np.zeros((num_joints, output_res, output_res), dtype=np.float32) dense_kps = np.zeros((num_joints, 2, output_res, output_res), dtype=np.float32) dense_kps_mask = np.zeros((num_joints, output_res, output_res), dtype=np.float32) wh = np.zeros((self.max_objs, 2), dtype=np.float32) kps = np.zeros((self.max_objs, num_joints * 2), dtype=np.float32) reg = np.zeros((self.max_objs, 2), dtype=np.float32) ind = np.zeros((self.max_objs), dtype=np.int64) reg_mask = np.zeros((self.max_objs), dtype=np.uint8) kps_mask = np.zeros((self.max_objs, self.num_joints * 2), dtype=np.uint8) hp_offset = np.zeros((self.max_objs * num_joints, 2), dtype=np.float32) hp_ind = np.zeros((self.max_objs * num_joints), dtype=np.int64) hp_mask = np.zeros((self.max_objs * num_joints), dtype=np.int64) area = np.zeros((self.max_objs), dtype=np.float32) draw_gaussian = draw_msra_gaussian if self.opt.mse_loss else \ draw_umich_gaussian gt_det = [] for k in range(num_objs): ann = anns[k] bbox = self._coco_box_to_bbox(ann['bbox']) cls_id = int(ann['category_id']) - 1 pts = np.array(ann['keypoints'], np.float32).reshape(num_joints, 3) #print(bbox) if flipped: bbox[[0, 2]] = width - bbox[[2, 0]] - 1 pts[:, 0] = width - pts[:, 0] - 1 for e in self.flip_idx: pts[e[0]], pts[e[1]] = pts[e[1]].copy(), pts[e[0]].copy() valid_kps_num = 0 pts_tmp = np.zeros((1,2)) ####################################################################################################################### for ind_ in range(num_joints): if pts[ind_, 2] > 0: pts[ind_, :2] = affine_transform(pts[ind_, :2], trans_output_rot) if pts[ind_, 0] >= 0 and pts[ind_, 0] < output_res and \ pts[ind_, 1] >= 0 and pts[ind_, 1] < output_res: valid_kps_num += 1 pts_tmp = np.concatenate((pts_tmp, pts[ind_, :2][None]), axis = 0) else: pts[ind_, 2] = 0 # import pudb; pudb.set_trace() if valid_kps_num == 0: continue else: ct = np.array( [pts_tmp[:,0].sum()/valid_kps_num, pts_tmp[:,1].sum()/valid_kps_num], dtype=np.float32) ## the average of all valid keypoints ####################################### generate the pseudo-box according to the visiable keypoints##################### pts_tmp_wo_zero = pts_tmp[1:, :] assert len(pts_tmp_wo_zero) == valid_kps_num tl = np.min(pts_tmp_wo_zero,axis=0) rd = np.max(pts_tmp_wo_zero,axis=0) h, w = rd[1] - tl[1], rd[0] - tl[0] ################################################################################################################### ct_int = ct.astype(np.int32) area[k] = ann['area'] * (self.opt.input_res / s) / 16.0 # area of 4 stride if ct_int[0] >= 0 and ct_int[0] < output_res and \ ct_int[1] >= 0 and ct_int[1] < output_res and (h > 0 and w > 0) and valid_kps_num > 0: radius = gaussian_radius((math.ceil(h), math.ceil(w))) radius = self.opt.hm_gauss if self.opt.mse_loss else max(0, int(radius)) wh[k] = 1. * w/output_res, 1. * h/output_res # normalize to (0,1) hp_radius = gaussian_radius((math.ceil(h), math.ceil(w))) hp_radius = self.opt.hm_gauss \ if self.opt.mse_loss else max(0, int(hp_radius)) ind[k] = ct_int[1] * output_res + ct_int[0] reg_mask[k] = 1 for j in range(num_joints): if pts[j, 2] > 0: kps[k, j * 2: j * 2 + 2] = pts[j, :2] - ct_int kps_mask[k, j * 2: j * 2 + 2] = 1 pt_int = pts[j, :2].astype(np.int32) hp_offset[k * num_joints + j] = pts[j, :2] - pt_int hp_ind[k * num_joints + j] = pt_int[1] * output_res + pt_int[0] hp_mask[k * num_joints + j] = 1 if self.opt.dense_hp: # must be before draw center hm gaussian draw_dense_reg(dense_kps[j], hm[cls_id], ct_int, pts[j, :2] - ct_int, radius, is_offset=True) draw_gaussian(dense_kps_mask[j], ct_int, radius) draw_gaussian(hm_hp[j], pt_int, hp_radius) draw_gaussian(hm[cls_id], ct_int, radius) gt_det.append([ct[0] - w / 2, ct[1] - h / 2, ct[0] + w / 2, ct[1] + h / 2, 1] + pts[:, :2].reshape(num_joints * 2).tolist() + [cls_id]) #import pudb;pudb.set_trace() # cv2.imwrite('/data/yabo.xiao/coco_vis_center/'+file_name,inp_) ret = {'input': inp, 'hm': hm, 'reg_mask': reg_mask, 'ind': ind, 'wh': wh, 'hps': kps, 'hps_mask': kps_mask, 'area': area} if self.opt.dense_hp: dense_kps = dense_kps.reshape(num_joints * 2, output_res, output_res) dense_kps_mask = dense_kps_mask.reshape( num_joints, 1, output_res, output_res) dense_kps_mask = np.concatenate([dense_kps_mask, dense_kps_mask], axis=1) dense_kps_mask = dense_kps_mask.reshape( num_joints * 2, output_res, output_res) ret.update({'dense_hps': dense_kps, 'dense_hps_mask': dense_kps_mask}) del ret['hps'], ret['hps_mask'] if self.opt.reg_offset: ret.update({'reg': reg}) if self.opt.hm_hp: ret.update({'hm_hp': hm_hp}) if self.opt.reg_hp_offset: ret.update({'hp_offset': hp_offset, 'hp_ind': hp_ind, 'hp_mask': hp_mask}) if self.opt.debug > 0 or not self.split == 'train': gt_det = np.array(gt_det, dtype=np.float32) if len(gt_det) > 0 else \ np.zeros((1, 40), dtype=np.float32) #meta = {'c': c, 's': s, 'gt_det': gt_det, 'img_id': img_id} meta = {'c': c, 's': s, 'img_id': img_id} ret['meta'] = meta return ret ================================================ FILE: src/lib/detectors/base_detector.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import cv2 import numpy as np from progress.bar import Bar import time import torch from models.model import create_model, load_model from utils.image import get_affine_transform from utils.debugger import Debugger class BaseDetector(object): def __init__(self, opt): if opt.gpus[0] >= 0: opt.device = torch.device('cuda') else: opt.device = torch.device('cpu') print('Creating model...') self.model = create_model(opt.arch, opt.heads, opt.head_conv, is_train=False) self.model = load_model(self.model, opt.load_model) self.model = self.model.to(opt.device) self.model.eval() params_num = sum(p.numel() for p in self.model.parameters() if p.requires_grad) print('Params: %.2fM' % (params_num / 1e6)) self.mean = np.array(opt.mean, dtype=np.float32).reshape(1, 1, 3) self.std = np.array(opt.std, dtype=np.float32).reshape(1, 1, 3) self.max_per_image = 100 self.num_classes = opt.num_classes self.scales = opt.test_scales self.opt = opt self.pause = True def keep_aspect_resize(self, image,scale, input_res): height, width = image.shape[0:2] # print('og',height,width) if height > width: sf = (input_res/width) new_height = height * sf new_width = input_res else: sf = (input_res/height) new_width = width * sf new_height = input_res new_height = int(new_height * scale) new_width = int(new_width * scale) return new_height,new_width,sf def pre_process(self, image, scale, meta=None): if self.opt.fix_res: #print('################################fix_res########################') sf = 1.0 height, width = image.shape[0:2] new_height = int(height * scale) new_width = int(width * scale) inp_height, inp_width = self.opt.input_h, self.opt.input_w c = np.array([new_width / 2., new_height / 2.], dtype=np.float32) s = max(height, width) * 1.0 else: new_height,new_width,sf = self.keep_aspect_resize(image, scale, self.opt.input_res) inp_height = (new_height | self.opt.pad) + 1 inp_width = (new_width | self.opt.pad) + 1 c = np.array([new_width // 2, new_height // 2], dtype=np.float32) s = np.array([inp_width, inp_height], dtype=np.float32) trans_input = get_affine_transform(c, s, 0, [inp_width, inp_height]) resized_image = cv2.resize(image, (new_width, new_height)) inp_image = cv2.warpAffine( resized_image, trans_input, (inp_width, inp_height), flags=cv2.INTER_LINEAR) # cv2.imwrite('/data/yabo.xiao/pad_vis/'+ img_name,inp_image) inp_image = ((inp_image / 255. - self.mean) / self.std).astype(np.float32) # print(inp_image.shape) images = inp_image.transpose(2, 0, 1).reshape(1, 3, inp_height, inp_width) if self.opt.flip_test: images = np.concatenate((images, images[:, :, :, ::-1]), axis=0) images = torch.from_numpy(images) meta = {'c': c, 's': s, 'sf':sf, 'out_height': inp_height // self.opt.down_ratio, 'out_width': inp_width // self.opt.down_ratio} return images, meta def process(self, images, return_time=False): raise NotImplementedError def post_process(self, dets, meta, scale=1): raise NotImplementedError def merge_outputs(self, detections): raise NotImplementedError def debug(self, debugger, images, dets, output, scale=1): raise NotImplementedError def show_results(self, debugger, image, results): raise NotImplementedError def run(self, image_or_path_or_tensor, meta=None): load_time, pre_time, net_time, dec_time, post_time = 0, 0, 0, 0, 0 merge_time, tot_time = 0, 0 debugger = Debugger(dataset=self.opt.dataset, ipynb=(self.opt.debug==3), theme=self.opt.debugger_theme) start_time = time.time() pre_processed = False if isinstance(image_or_path_or_tensor, np.ndarray): image = image_or_path_or_tensor elif type(image_or_path_or_tensor) == type (''): image = cv2.imread(image_or_path_or_tensor) else: image = image_or_path_or_tensor['image'][0].numpy() pre_processed_images = image_or_path_or_tensor pre_processed = True loaded_time = time.time() load_time += (loaded_time - start_time) detections = [] for scale in self.scales: scale_start_time = time.time() if not pre_processed: images, meta = self.pre_process(image, scale, meta) else: # images = pre_processed_images['images'][scale][0] meta = pre_processed_images['meta'][scale] meta = {k: v.numpy()[0] for k, v in meta.items()} images = images.to(self.opt.device) torch.cuda.synchronize() pre_process_time = time.time() pre_time += pre_process_time - scale_start_time output, dets, forward_time = self.process(images, return_time=True) torch.cuda.synchronize() net_time += forward_time - pre_process_time decode_time = time.time() dec_time += decode_time - forward_time if self.opt.debug >= 2: self.debug(debugger, images, dets, output, scale) dets, adapt_pts = self.post_process(dets, meta, scale) torch.cuda.synchronize() post_process_time = time.time() post_time += post_process_time - decode_time detections.append(dets) results = self.merge_outputs(detections) torch.cuda.synchronize() end_time = time.time() merge_time += end_time - post_process_time tot_time += end_time - start_time vis_img = image if self.opt.debug >= 1: # import pudb;pudb.set_trace() import os if self.opt.demo in image_or_path_or_tensor: # customized image visualization save_path = '/'.join(image_or_path_or_tensor.split('/')[:-1]) + '/pred/' if not os.path.exists(save_path): os.makedirs(save_path) vis_img = self.show_results(debugger, image, results, adapt_pts, save_path, image_or_path_or_tensor.split('/')[-1]) elif self.opt.demo == 'webcam' or self.opt.demo[self.opt.demo.rfind('.') + 1:].lower() in ['mp4', 'mov', 'avi', 'mkv']: save_path = self.opt.output_path + '/pred/' vis_img = self.show_results(debugger, image, results, adapt_pts, save_path, None, is_video=True) else: # coco vis save_path = self.opt.output_path + '/pred/' if not os.path.exists(save_path): os.makedirs(save_path) vis_img = self.show_results(debugger, image, results, adapt_pts, save_path, image_or_path_or_tensor['img_name'][0]) return {'results': results, 'tot': tot_time, 'load': load_time, 'pre': pre_time, 'net': net_time, 'dec': dec_time, 'post': post_time, 'merge': merge_time, 'vis_img': vis_img} ================================================ FILE: src/lib/detectors/ctdet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import cv2 import numpy as np from progress.bar import Bar import time import torch try: from external.nms import soft_nms except: print('NMS not imported! If you need it,' ' do \n cd $CenterNet_ROOT/src/lib/external \n make') from models.decode import ctdet_decode from models.utils import flip_tensor from utils.image import get_affine_transform from utils.post_process import ctdet_post_process from utils.debugger import Debugger from .base_detector import BaseDetector class CtdetDetector(BaseDetector): def __init__(self, opt): super(CtdetDetector, self).__init__(opt) def process(self, images, return_time=False): with torch.no_grad(): output = self.model(images)[-1] hm = output['hm'].sigmoid_() wh = output['wh'] reg = output['reg'] if self.opt.reg_offset else None if self.opt.flip_test: hm = (hm[0:1] + flip_tensor(hm[1:2])) / 2 wh = (wh[0:1] + flip_tensor(wh[1:2])) / 2 reg = reg[0:1] if reg is not None else None torch.cuda.synchronize() forward_time = time.time() dets = ctdet_decode(hm, wh, reg=reg, cat_spec_wh=self.opt.cat_spec_wh, K=self.opt.K) if return_time: return output, dets, forward_time else: return output, dets def post_process(self, dets, meta, scale=1): dets = dets.detach().cpu().numpy() dets = dets.reshape(1, -1, dets.shape[2]) dets = ctdet_post_process( dets.copy(), [meta['c']], [meta['s']], meta['out_height'], meta['out_width'], self.opt.num_classes) for j in range(1, self.num_classes + 1): dets[0][j] = np.array(dets[0][j], dtype=np.float32).reshape(-1, 5) dets[0][j][:, :4] /= scale return dets[0] def merge_outputs(self, detections): results = {} for j in range(1, self.num_classes + 1): results[j] = np.concatenate( [detection[j] for detection in detections], axis=0).astype(np.float32) if len(self.scales) > 1 or self.opt.nms: soft_nms(results[j], Nt=0.5, method=2) scores = np.hstack( [results[j][:, 4] for j in range(1, self.num_classes + 1)]) if len(scores) > self.max_per_image: kth = len(scores) - self.max_per_image thresh = np.partition(scores, kth)[kth] for j in range(1, self.num_classes + 1): keep_inds = (results[j][:, 4] >= thresh) results[j] = results[j][keep_inds] return results def debug(self, debugger, images, dets, output, scale=1): detection = dets.detach().cpu().numpy().copy() detection[:, :, :4] *= self.opt.down_ratio for i in range(1): img = images[i].detach().cpu().numpy().transpose(1, 2, 0) img = ((img * self.std + self.mean) * 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm_{:.1f}'.format(scale)) debugger.add_img(img, img_id='out_pred_{:.1f}'.format(scale)) for k in range(len(dets[i])): if detection[i, k, 4] > self.opt.center_thresh: debugger.add_coco_bbox(detection[i, k, :4], detection[i, k, -1], detection[i, k, 4], img_id='out_pred_{:.1f}'.format(scale)) def show_results(self, debugger, image, results): debugger.add_img(image, img_id='ctdet') for j in range(1, self.num_classes + 1): for bbox in results[j]: if bbox[4] > self.opt.vis_thresh: debugger.add_coco_bbox(bbox[:4], j - 1, bbox[4], img_id='ctdet') debugger.show_all_imgs(pause=self.pause) ================================================ FILE: src/lib/detectors/ddd.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import cv2 import numpy as np from progress.bar import Bar import time import torch from models.decode import ddd_decode from models.utils import flip_tensor from utils.image import get_affine_transform from utils.post_process import ddd_post_process from utils.debugger import Debugger from utils.ddd_utils import compute_box_3d, project_to_image, alpha2rot_y from utils.ddd_utils import draw_box_3d, unproject_2d_to_3d from .base_detector import BaseDetector class DddDetector(BaseDetector): def __init__(self, opt): super(DddDetector, self).__init__(opt) self.calib = np.array([[707.0493, 0, 604.0814, 45.75831], [0, 707.0493, 180.5066, -0.3454157], [0, 0, 1., 0.004981016]], dtype=np.float32) def pre_process(self, image, scale, calib=None): height, width = image.shape[0:2] inp_height, inp_width = self.opt.input_h, self.opt.input_w c = np.array([width / 2, height / 2], dtype=np.float32) if self.opt.keep_res: s = np.array([inp_width, inp_height], dtype=np.int32) else: s = np.array([width, height], dtype=np.int32) trans_input = get_affine_transform(c, s, 0, [inp_width, inp_height]) resized_image = image #cv2.resize(image, (width, height)) inp_image = cv2.warpAffine( resized_image, trans_input, (inp_width, inp_height), flags=cv2.INTER_LINEAR) inp_image = (inp_image.astype(np.float32) / 255.) inp_image = (inp_image - self.mean) / self.std images = inp_image.transpose(2, 0, 1)[np.newaxis, ...] calib = np.array(calib, dtype=np.float32) if calib is not None \ else self.calib images = torch.from_numpy(images) meta = {'c': c, 's': s, 'out_height': inp_height // self.opt.down_ratio, 'out_width': inp_width // self.opt.down_ratio, 'calib': calib} return images, meta def process(self, images, return_time=False): with torch.no_grad(): torch.cuda.synchronize() output = self.model(images)[-1] output['hm'] = output['hm'].sigmoid_() output['dep'] = 1. / (output['dep'].sigmoid() + 1e-6) - 1. wh = output['wh'] if self.opt.reg_bbox else None reg = output['reg'] if self.opt.reg_offset else None torch.cuda.synchronize() forward_time = time.time() dets = ddd_decode(output['hm'], output['rot'], output['dep'], output['dim'], wh=wh, reg=reg, K=self.opt.K) if return_time: return output, dets, forward_time else: return output, dets def post_process(self, dets, meta, scale=1): dets = dets.detach().cpu().numpy() detections = ddd_post_process( dets.copy(), [meta['c']], [meta['s']], [meta['calib']], self.opt) self.this_calib = meta['calib'] return detections[0] def merge_outputs(self, detections): results = detections[0] for j in range(1, self.num_classes + 1): if len(results[j] > 0): keep_inds = (results[j][:, -1] > self.opt.peak_thresh) results[j] = results[j][keep_inds] return results def debug(self, debugger, images, dets, output, scale=1): dets = dets.detach().cpu().numpy() img = images[0].detach().cpu().numpy().transpose(1, 2, 0) img = ((img * self.std + self.mean) * 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][0].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') debugger.add_ct_detection( img, dets[0], show_box=self.opt.reg_bbox, center_thresh=self.opt.vis_thresh, img_id='det_pred') def show_results(self, debugger, image, results): debugger.add_3d_detection( image, results, self.this_calib, center_thresh=self.opt.vis_thresh, img_id='add_pred') debugger.add_bird_view( results, center_thresh=self.opt.vis_thresh, img_id='bird_pred') debugger.show_all_imgs(pause=self.pause) ================================================ FILE: src/lib/detectors/detector_factory.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function # from .exdet import ExdetDetector # from .ddd import DddDetector # from .ctdet import CtdetDetector # from .multi_pose import MultiPoseDetector from .multi_pose_wodet import MultiPoseDetector_wodet from .multi_pose_crowdpose import MultiPoseDetector_crowdpose detector_factory = { # 'exdet': ExdetDetector, # 'ddd': DddDetector, # 'ctdet': CtdetDetector, # 'multi_pose': MultiPoseDetector, 'multi_pose_wodet': MultiPoseDetector_wodet, 'multi_pose_crowdpose': MultiPoseDetector_crowdpose } ================================================ FILE: src/lib/detectors/exdet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function #import _init_paths import os import cv2 import numpy as np from progress.bar import Bar import time import torch from models.decode import exct_decode, agnex_ct_decode from models.utils import flip_tensor from utils.image import get_affine_transform, transform_preds from utils.post_process import ctdet_post_process from utils.debugger import Debugger from .base_detector import BaseDetector class ExdetDetector(BaseDetector): def __init__(self, opt): super(ExdetDetector, self).__init__(opt) self.decode = agnex_ct_decode if opt.agnostic_ex else exct_decode def process(self, images, return_time=False): with torch.no_grad(): torch.cuda.synchronize() output = self.model(images)[-1] t_heat = output['hm_t'].sigmoid_() l_heat = output['hm_l'].sigmoid_() b_heat = output['hm_b'].sigmoid_() r_heat = output['hm_r'].sigmoid_() c_heat = output['hm_c'].sigmoid_() torch.cuda.synchronize() forward_time = time.time() if self.opt.reg_offset: dets = self.decode(t_heat, l_heat, b_heat, r_heat, c_heat, output['reg_t'], output['reg_l'], output['reg_b'], output['reg_r'], K=self.opt.K, scores_thresh=self.opt.scores_thresh, center_thresh=self.opt.center_thresh, aggr_weight=self.opt.aggr_weight) else: dets = self.decode(t_heat, l_heat, b_heat, r_heat, c_heat, K=self.opt.K, scores_thresh=self.opt.scores_thresh, center_thresh=self.opt.center_thresh, aggr_weight=self.opt.aggr_weight) if return_time: return output, dets, forward_time else: return output, dets def debug(self, debugger, images, dets, output, scale=1): detection = dets.detach().cpu().numpy().copy() detection[:, :, :4] *= self.opt.down_ratio for i in range(1): inp_height, inp_width = images.shape[2], images.shape[3] pred_hm = np.zeros((inp_height, inp_width, 3), dtype=np.uint8) img = images[i].detach().cpu().numpy().transpose(1, 2, 0) img = ((img * self.std + self.mean) * 255).astype(np.uint8) parts = ['t', 'l', 'b', 'r', 'c'] for p in parts: tag = 'hm_{}'.format(p) pred = debugger.gen_colormap( output[tag][i].detach().cpu().numpy(), (inp_height, inp_width)) if p != 'c': pred_hm = np.maximum(pred_hm, pred) else: debugger.add_blend_img( img, pred, 'pred_{}_{:.1f}'.format(p, scale)) debugger.add_blend_img(img, pred_hm, 'pred_{:.1f}'.format(scale)) debugger.add_img(img, img_id='out_{:.1f}'.format(scale)) for k in range(len(detection[i])): # print('detection', detection[i, k, 4], detection[i, k]) if detection[i, k, 4] > 0.01: # print('detection', detection[i, k, 4], detection[i, k]) debugger.add_coco_bbox(detection[i, k, :4], detection[i, k, -1], detection[i, k, 4], img_id='out_{:.1f}'.format(scale)) def post_process(self, dets, meta, scale=1): out_width, out_height = meta['out_width'], meta['out_height'] dets = dets.detach().cpu().numpy().reshape(2, -1, 14) dets[1, :, [0, 2]] = out_width - dets[1, :, [2, 0]] dets = dets.reshape(1, -1, 14) dets[0, :, 0:2] = transform_preds( dets[0, :, 0:2], meta['c'], meta['s'], (out_width, out_height)) dets[0, :, 2:4] = transform_preds( dets[0, :, 2:4], meta['c'], meta['s'], (out_width, out_height)) dets[:, :, 0:4] /= scale return dets[0] def merge_outputs(self, detections): detections = np.concatenate( [detection for detection in detections], axis=0).astype(np.float32) classes = detections[..., -1] keep_inds = (detections[:, 4] > 0) detections = detections[keep_inds] classes = classes[keep_inds] results = {} for j in range(self.num_classes): keep_inds = (classes == j) results[j + 1] = detections[keep_inds][:, 0:7].astype(np.float32) soft_nms(results[j + 1], Nt=0.5, method=2) results[j + 1] = results[j + 1][:, 0:5] scores = np.hstack([ results[j][:, -1] for j in range(1, self.num_classes + 1) ]) if len(scores) > self.max_per_image: kth = len(scores) - self.max_per_image thresh = np.partition(scores, kth)[kth] for j in range(1, self.num_classes + 1): keep_inds = (results[j][:, -1] >= thresh) results[j] = results[j][keep_inds] return results def show_results(self, debugger, image, results): debugger.add_img(image, img_id='exdet') for j in range(1, self.num_classes + 1): for bbox in results[j]: if bbox[4] > self.opt.vis_thresh: debugger.add_coco_bbox(bbox[:4], j - 1, bbox[4], img_id='exdet') debugger.show_all_imgs(pause=self.pause) ================================================ FILE: src/lib/detectors/multi_pose.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import cv2 import numpy as np from progress.bar import Bar import time import torch try: from external.nms import soft_nms_39 except: print('NMS not imported! If you need it,' ' do \n cd $CenterNet_ROOT/src/lib/external \n make') from models.decode import multi_pose_decode from models.utils import flip_tensor, flip_lr_off, flip_lr from utils.image import get_affine_transform from utils.post_process import multi_pose_post_process from utils.debugger import Debugger from .base_detector import BaseDetector class MultiPoseDetector(BaseDetector): def __init__(self, opt): super(MultiPoseDetector, self).__init__(opt) self.flip_idx = opt.flip_idx def process(self, images, return_time=False): with torch.no_grad(): torch.cuda.synchronize() output = self.model(images)[-1] output['hm'] = output['hm'].sigmoid_() if self.opt.hm_hp and not self.opt.mse_loss: output['hm_hp'] = output['hm_hp'].sigmoid_() reg = output['reg'] if self.opt.reg_offset else None hm_hp = output['hm_hp'] if self.opt.hm_hp else None hp_offset = output['hp_offset'] if self.opt.reg_hp_offset else None torch.cuda.synchronize() forward_time = time.time() if self.opt.flip_test: output['hm'] = (output['hm'][0:1] + flip_tensor(output['hm'][1:2])) / 2 output['wh'] = (output['wh'][0:1] + flip_tensor(output['wh'][1:2])) / 2 output['hps'] = (output['hps'][0:1] + flip_lr_off(output['hps'][1:2], self.flip_idx)) / 2 hm_hp = (hm_hp[0:1] + flip_lr(hm_hp[1:2], self.flip_idx)) / 2 \ if hm_hp is not None else None reg = reg[0:1] if reg is not None else None hp_offset = hp_offset[0:1] if hp_offset is not None else None dets = multi_pose_decode( output['hm'], output['wh'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) if return_time: return output, dets, forward_time else: return output, dets def post_process(self, dets, meta, scale=1): dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets = multi_pose_post_process( dets.copy(), [meta['c']], [meta['s']], meta['out_height'], meta['out_width']) for j in range(1, self.num_classes + 1): dets[0][j] = np.array(dets[0][j], dtype=np.float32).reshape(-1, 39) # import pdb; pdb.set_trace() dets[0][j][:, :4] /= scale dets[0][j][:, 5:] /= scale return dets[0] def merge_outputs(self, detections): results = {} results[1] = np.concatenate( [detection[1] for detection in detections], axis=0).astype(np.float32) if self.opt.nms or len(self.opt.test_scales) > 1: soft_nms_39(results[1], Nt=0.5, method=2) results[1] = results[1].tolist() return results def debug(self, debugger, images, dets, output, scale=1): dets = dets.detach().cpu().numpy().copy() dets[:, :, :4] *= self.opt.down_ratio dets[:, :, 5:39] *= self.opt.down_ratio img = images[0].detach().cpu().numpy().transpose(1, 2, 0) img = np.clip((( img * self.std + self.mean) * 255.), 0, 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][0].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') if self.opt.hm_hp: pred = debugger.gen_colormap_hp( output['hm_hp'][0].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hmhp') def show_results(self, debugger, image, results): debugger.add_img(image, img_id='multi_pose') for bbox in results[1]: if bbox[4] > self.opt.vis_thresh: debugger.add_coco_bbox(bbox[:4], 0, bbox[4], img_id='multi_pose') debugger.add_coco_hp(bbox[5:39], img_id='multi_pose') debugger.show_all_imgs(pause=self.pause) ================================================ FILE: src/lib/detectors/multi_pose_crowdpose.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import cv2 import numpy as np from progress.bar import Bar import time import torch try: from external.nms import soft_nms_39 except: print('NMS not imported! If you need it,' ' do \n cd $CenterNet_ROOT/src/lib/external \n make') from models.decode import multi_pose_decode_wodet, multi_pose_decode_wodet_vis, multi_pose_decode from models.utils import flip_tensor, flip_lr_off, flip_lr from utils.image import get_affine_transform from utils.post_process import multi_pose_wodet_post_process,multi_pose_wodet_post_process_vis, multi_pose_crowdpose_post_process_vis from utils.debugger import Debugger from .base_detector import BaseDetector class MultiPoseDetector_crowdpose(BaseDetector): def __init__(self, opt): super(MultiPoseDetector_crowdpose, self).__init__(opt) self.flip_idx = opt.flip_idx def process(self, images, return_time=False): with torch.no_grad(): torch.cuda.synchronize() output = self.model(images)[-1] output['hm'] = output['hm'].sigmoid_() if self.opt.hm_hp and not self.opt.mse_loss: output['hm_hp'] = output['hm_hp'].sigmoid_() reg = output['reg'] if self.opt.reg_offset else None # reg = None hm_hp = output['hm_hp'] if self.opt.hm_hp else None hp_offset = output['hp_offset'] if self.opt.reg_hp_offset else None # hp_offset = None torch.cuda.synchronize() forward_time = time.time() if self.opt.flip_test: output['hm'] = (output['hm'][0:1] + flip_tensor(output['hm'][1:2])) / 2 output['hps'] = output['hps'][0:1] hm_hp = None #hm_hp[0:1] # output['hm'] = (output['hm'][0:1] + flip_tensor(output['hm'][1:2])) / 2 # output['wh'] = (output['wh'][0:1] + flip_tensor(output['wh'][1:2])) / 2 # output['hps'] = (output['hps'][0:1] + # flip_lr_off(output['hps'][1:2], self.flip_idx)) / 2 # hm_hp = (hm_hp[0:1] + flip_lr(hm_hp[1:2], self.flip_idx)) / 2 \ # if hm_hp is not None else None # reg = reg[0:1] if reg is not None else None # hp_offset = hp_offset[0:1] if hp_offset is not None else None # dets = multi_pose_decode( # output['hm'],output['wh'] ,output['hps'], # reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) dets = multi_pose_decode_wodet( output['hm'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) # dets = multi_pose_decode_wodet_vis( # output['hm'], output['hps'],output['ap'], # reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) if return_time: return output, dets, forward_time else: return output, dets def post_process(self, dets, meta, scale=1): dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) # dets = multi_pose_wodet_post_process( # dets.copy(), [meta['c']], [meta['s']], # meta['out_height'], meta['out_width']) dets,adapt_pts = multi_pose_crowdpose_post_process_vis( dets.copy(), [meta['c']], [meta['s']], meta['out_height'], meta['out_width']) for j in range(1, self.num_classes + 1): dets[0][j] = np.array(dets[0][j], dtype=np.float32).reshape(-1, 29) # import pdb; pdb.set_trace() #dets[0][j][:, :4] /= scale dets[0][j][:, 1:] /= (scale*meta['sf']) adapt_pts /= (scale*meta['sf']) return dets[0] ,adapt_pts def kps_to_bbox(self, det, mode='max'): assert det.shape == (20,29) pts = det[:,1:].reshape(20,14,2) if mode == 'max': tl = np.min(pts,axis=1) rd = np.max(pts,axis=1) bbox = np.concatenate([tl,rd],axis=1) assert bbox.shape == (20,4) det_ = np.concatenate([bbox,det,det[:,:6]],axis=1) return det_ def merge_outputs(self, detections): # import pudb; pudb.set_trace() results = {} if self.opt.nms or len(self.opt.test_scales) > 1: results[1] = np.concatenate( [self.kps_to_bbox(detection[1]) for detection in detections], axis=0).astype(np.float32) soft_nms_39(results[1], Nt=0.5, method=2) else: results[1] = np.concatenate( [detection[1] for detection in detections], axis=0).astype(np.float32) results[1] = results[1].tolist() return results def debug(self, debugger, images, dets, output, scale=1): dets = dets.detach().cpu().numpy().copy() dets[:, :, :4] *= self.opt.down_ratio dets[:, :, 5:39] *= self.opt.down_ratio img = images[0].detach().cpu().numpy().transpose(1, 2, 0) img = np.clip((( img * self.std + self.mean) * 255.), 0, 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][0].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') if self.opt.hm_hp: pred = debugger.gen_colormap_hp( output['hm_hp'][0].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hmhp') def show_results(self, debugger, image, results, adapt_pts, image_path): debugger.add_img(image, img_id='multi_pose') for idx,bbox in enumerate(results[1]): if bbox[0] > self.opt.vis_thresh: # import pudb; pudb.set_trace() # debugger.add_coco_bbox(bbox[:4], 0, bbox[4], img_id='multi_pose') debugger.add_coco_hp_with_ap(bbox[1:35], adapt_pts[idx], image_path,img_id='multi_pose') # debugger.show_all_imgs(pause=self.pause) ================================================ FILE: src/lib/detectors/multi_pose_wodet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import cv2 import numpy as np from progress.bar import Bar import time import torch try: from external.nms import soft_nms_39 except: print('NMS not imported! If you need it,' ' do \n cd $CenterNet_ROOT/src/lib/external \n make') from models.decode import multi_pose_decode_wodet, multi_pose_decode_wodet_vis, multi_pose_decode from models.utils import flip_tensor, flip_lr_off, flip_lr from utils.image import get_affine_transform from utils.post_process import multi_pose_wodet_post_process,multi_pose_wodet_post_process_vis from utils.debugger import Debugger from .base_detector import BaseDetector class MultiPoseDetector_wodet(BaseDetector): def __init__(self, opt): super(MultiPoseDetector_wodet, self).__init__(opt) self.flip_idx = opt.flip_idx self.debug = opt.debug def process(self, images, return_time=False): with torch.no_grad(): torch.cuda.synchronize() output = self.model(images)[-1] output['hm'] = output['hm'].sigmoid_() if self.opt.hm_hp and not self.opt.mse_loss: output['hm_hp'] = output['hm_hp'].sigmoid_() reg = output['reg'] if self.opt.reg_offset else None # reg = None hm_hp = output['hm_hp'] if self.opt.hm_hp else None hp_offset = output['hp_offset'] if self.opt.reg_hp_offset else None # hp_offset = None torch.cuda.synchronize() forward_time = time.time() if self.opt.flip_test: output['hm'] = (output['hm'][0:1] + flip_tensor(output['hm'][1:2])) / 2 output['hps'] = output['hps'][0:1] hm_hp = None #hm_hp[0:1] # output['hm'] = (output['hm'][0:1] + flip_tensor(output['hm'][1:2])) / 2 # output['wh'] = (output['wh'][0:1] + flip_tensor(output['wh'][1:2])) / 2 # output['hps'] = (output['hps'][0:1] + # flip_lr_off(output['hps'][1:2], self.flip_idx)) / 2 # hm_hp = (hm_hp[0:1] + flip_lr(hm_hp[1:2], self.flip_idx)) / 2 \ # if hm_hp is not None else None # reg = reg[0:1] if reg is not None else None # hp_offset = hp_offset[0:1] if hp_offset is not None else None # dets = multi_pose_decode( # output['hm'],output['wh'] ,output['hps'], # reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) if not self.debug: dets = multi_pose_decode_wodet( output['hm'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) else: dets = multi_pose_decode_wodet_vis( output['hm'], output['hps'],output['ap'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) if return_time: return output, dets, forward_time else: return output, dets def post_process(self, dets, meta, scale=1): dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) # dets = multi_pose_wodet_post_process( # dets.copy(), [meta['c']], [meta['s']], # meta['out_height'], meta['out_width']) dets,adapt_pts = multi_pose_wodet_post_process_vis( dets.copy(), [meta['c']], [meta['s']], meta['out_height'], meta['out_width']) for j in range(1, self.num_classes + 1): dets[0][j] = np.array(dets[0][j], dtype=np.float32).reshape(-1, 35) #dets[0][j][:, :4] /= scale dets[0][j][:, 1:] /= (scale*meta['sf']) adapt_pts = np.asarray(adapt_pts) adapt_pts /= (scale*meta['sf']) return dets[0] ,adapt_pts.tolist() def kps_to_bbox(self, det, mode='max'): assert det.shape == (20,35) pts = det[:,1:].reshape(20,17,2) if mode == 'max': tl = np.min(pts,axis=1) rd = np.max(pts,axis=1) bbox = np.concatenate([tl,rd],axis=1) assert bbox.shape == (20,4) det_ = np.concatenate([bbox,det],axis=1) return det_ def merge_outputs(self, detections): results = {} if self.opt.nms or len(self.opt.test_scales) > 1: results[1] = np.concatenate( [self.kps_to_bbox(detection[1]) for detection in detections], axis=0).astype(np.float32) soft_nms_39(results[1], Nt=0.5, method=2) else: results[1] = np.concatenate( [detection[1] for detection in detections], axis=0).astype(np.float32) results[1] = results[1].tolist() return results def debug(self, debugger, images, dets, output, scale=1): dets = dets.detach().cpu().numpy().copy() dets[:, :, :4] *= self.opt.down_ratio dets[:, :, 5:39] *= self.opt.down_ratio img = images[0].detach().cpu().numpy().transpose(1, 2, 0) img = np.clip((( img * self.std + self.mean) * 255.), 0, 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][0].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') if self.opt.hm_hp: pred = debugger.gen_colormap_hp( output['hm_hp'][0].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hmhp') def show_results(self, debugger, image, results, adapt_pts, save_path, img_name, is_video=False): debugger.add_img(image, img_id='multi_pose') vis_img = image for idx,bbox in enumerate(results[1]): if bbox[0] > self.opt.vis_thresh: # debugger.add_coco_bbox(bbox[:4], 0, bbox[4], img_id='multi_pose') vis_img = debugger.add_coco_hp_with_ap(bbox[1:35], adapt_pts[idx], save_path, img_name, img_id='multi_pose', is_video=is_video) return vis_img ================================================ FILE: src/lib/external/.gitignore ================================================ bbox.c bbox.cpython-35m-x86_64-linux-gnu.so bbox.cpython-36m-x86_64-linux-gnu.so nms.c nms.cpython-35m-x86_64-linux-gnu.so nms.cpython-36m-x86_64-linux-gnu.so ================================================ FILE: src/lib/external/Makefile ================================================ all: python setup.py build_ext --inplace rm -rf build ================================================ FILE: src/lib/external/__init__.py ================================================ ================================================ FILE: src/lib/external/nms.pyx ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- # ---------------------------------------------------------- # Soft-NMS: Improving Object Detection With One Line of Code # Copyright (c) University of Maryland, College Park # Licensed under The MIT License [see LICENSE for details] # Written by Navaneeth Bodla and Bharat Singh # ---------------------------------------------------------- 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 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] 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 def soft_nms(np.ndarray[float, ndim=2] boxes, float sigma=0.5, float Nt=0.3, float threshold=0.001, unsigned int method=0): cdef unsigned int N = boxes.shape[0] cdef float iw, ih, box_area cdef float ua cdef int pos = 0 cdef float maxscore = 0 cdef int maxpos = 0 cdef float x1,x2,y1,y2,tx1,tx2,ty1,ty2,ts,area,weight,ov for i in range(N): maxscore = boxes[i, 4] maxpos = i tx1 = boxes[i,0] ty1 = boxes[i,1] tx2 = boxes[i,2] ty2 = boxes[i,3] ts = boxes[i,4] pos = i + 1 # get max box while pos < N: if maxscore < boxes[pos, 4]: maxscore = boxes[pos, 4] maxpos = pos pos = pos + 1 # add max box as a detection boxes[i,0] = boxes[maxpos,0] boxes[i,1] = boxes[maxpos,1] boxes[i,2] = boxes[maxpos,2] boxes[i,3] = boxes[maxpos,3] boxes[i,4] = boxes[maxpos,4] # swap ith box with position of max box boxes[maxpos,0] = tx1 boxes[maxpos,1] = ty1 boxes[maxpos,2] = tx2 boxes[maxpos,3] = ty2 boxes[maxpos,4] = ts tx1 = boxes[i,0] ty1 = boxes[i,1] tx2 = boxes[i,2] ty2 = boxes[i,3] ts = boxes[i,4] pos = i + 1 # NMS iterations, note that N changes if detection boxes fall below threshold while pos < N: x1 = boxes[pos, 0] y1 = boxes[pos, 1] x2 = boxes[pos, 2] y2 = boxes[pos, 3] s = boxes[pos, 4] area = (x2 - x1 + 1) * (y2 - y1 + 1) iw = (min(tx2, x2) - max(tx1, x1) + 1) if iw > 0: ih = (min(ty2, y2) - max(ty1, y1) + 1) if ih > 0: ua = float((tx2 - tx1 + 1) * (ty2 - ty1 + 1) + area - iw * ih) ov = iw * ih / ua #iou between max box and detection box if method == 1: # linear if ov > Nt: weight = 1 - ov else: weight = 1 elif method == 2: # gaussian weight = np.exp(-(ov * ov)/sigma) else: # original NMS if ov > Nt: weight = 0 else: weight = 1 boxes[pos, 4] = weight*boxes[pos, 4] # if box score falls below threshold, discard the box by swapping with last box # update N if boxes[pos, 4] < threshold: boxes[pos,0] = boxes[N-1, 0] boxes[pos,1] = boxes[N-1, 1] boxes[pos,2] = boxes[N-1, 2] boxes[pos,3] = boxes[N-1, 3] boxes[pos,4] = boxes[N-1, 4] N = N - 1 pos = pos - 1 pos = pos + 1 keep = [i for i in range(N)] return keep def soft_nms_39(np.ndarray[float, ndim=2] boxes, float sigma=0.5, float Nt=0.3, float threshold=0.001, unsigned int method=0): cdef unsigned int N = boxes.shape[0] cdef float iw, ih, box_area cdef float ua cdef int pos = 0 cdef float maxscore = 0 cdef int maxpos = 0 cdef float x1,x2,y1,y2,tx1,tx2,ty1,ty2,ts,area,weight,ov cdef float tmp for i in range(N): maxscore = boxes[i, 4] maxpos = i tx1 = boxes[i,0] ty1 = boxes[i,1] tx2 = boxes[i,2] ty2 = boxes[i,3] ts = boxes[i,4] pos = i + 1 # get max box while pos < N: if maxscore < boxes[pos, 4]: maxscore = boxes[pos, 4] maxpos = pos pos = pos + 1 # add max box as a detection boxes[i,0] = boxes[maxpos,0] boxes[i,1] = boxes[maxpos,1] boxes[i,2] = boxes[maxpos,2] boxes[i,3] = boxes[maxpos,3] boxes[i,4] = boxes[maxpos,4] # swap ith box with position of max box boxes[maxpos,0] = tx1 boxes[maxpos,1] = ty1 boxes[maxpos,2] = tx2 boxes[maxpos,3] = ty2 boxes[maxpos,4] = ts for j in range(5, 39): tmp = boxes[i, j] boxes[i, j] = boxes[maxpos, j] boxes[maxpos, j] = tmp tx1 = boxes[i,0] ty1 = boxes[i,1] tx2 = boxes[i,2] ty2 = boxes[i,3] ts = boxes[i,4] pos = i + 1 # NMS iterations, note that N changes if detection boxes fall below threshold while pos < N: x1 = boxes[pos, 0] y1 = boxes[pos, 1] x2 = boxes[pos, 2] y2 = boxes[pos, 3] s = boxes[pos, 4] area = (x2 - x1 + 1) * (y2 - y1 + 1) iw = (min(tx2, x2) - max(tx1, x1) + 1) if iw > 0: ih = (min(ty2, y2) - max(ty1, y1) + 1) if ih > 0: ua = float((tx2 - tx1 + 1) * (ty2 - ty1 + 1) + area - iw * ih) ov = iw * ih / ua #iou between max box and detection box if method == 1: # linear if ov > Nt: weight = 1 - ov else: weight = 1 elif method == 2: # gaussian weight = np.exp(-(ov * ov)/sigma) else: # original NMS if ov > Nt: weight = 0 else: weight = 1 boxes[pos, 4] = weight*boxes[pos, 4] # if box score falls below threshold, discard the box by swapping with last box # update N if boxes[pos, 4] < threshold: boxes[pos,0] = boxes[N-1, 0] boxes[pos,1] = boxes[N-1, 1] boxes[pos,2] = boxes[N-1, 2] boxes[pos,3] = boxes[N-1, 3] boxes[pos,4] = boxes[N-1, 4] for j in range(5, 39): tmp = boxes[pos, j] boxes[pos, j] = boxes[N - 1, j] boxes[N - 1, j] = tmp N = N - 1 pos = pos - 1 pos = pos + 1 keep = [i for i in range(N)] return keep def soft_nms_merge(np.ndarray[float, ndim=2] boxes, float sigma=0.5, float Nt=0.3, float threshold=0.001, unsigned int method=0, float weight_exp=6): cdef unsigned int N = boxes.shape[0] cdef float iw, ih, box_area cdef float ua cdef int pos = 0 cdef float maxscore = 0 cdef int maxpos = 0 cdef float x1,x2,y1,y2,tx1,tx2,ty1,ty2,ts,area,weight,ov cdef float mx1,mx2,my1,my2,mts,mbs,mw for i in range(N): maxscore = boxes[i, 4] maxpos = i tx1 = boxes[i,0] ty1 = boxes[i,1] tx2 = boxes[i,2] ty2 = boxes[i,3] ts = boxes[i,4] pos = i + 1 # get max box while pos < N: if maxscore < boxes[pos, 4]: maxscore = boxes[pos, 4] maxpos = pos pos = pos + 1 # add max box as a detection boxes[i,0] = boxes[maxpos,0] boxes[i,1] = boxes[maxpos,1] boxes[i,2] = boxes[maxpos,2] boxes[i,3] = boxes[maxpos,3] boxes[i,4] = boxes[maxpos,4] mx1 = boxes[i, 0] * boxes[i, 5] my1 = boxes[i, 1] * boxes[i, 5] mx2 = boxes[i, 2] * boxes[i, 6] my2 = boxes[i, 3] * boxes[i, 6] mts = boxes[i, 5] mbs = boxes[i, 6] # swap ith box with position of max box boxes[maxpos,0] = tx1 boxes[maxpos,1] = ty1 boxes[maxpos,2] = tx2 boxes[maxpos,3] = ty2 boxes[maxpos,4] = ts tx1 = boxes[i,0] ty1 = boxes[i,1] tx2 = boxes[i,2] ty2 = boxes[i,3] ts = boxes[i,4] pos = i + 1 # NMS iterations, note that N changes if detection boxes fall below threshold while pos < N: x1 = boxes[pos, 0] y1 = boxes[pos, 1] x2 = boxes[pos, 2] y2 = boxes[pos, 3] s = boxes[pos, 4] area = (x2 - x1 + 1) * (y2 - y1 + 1) iw = (min(tx2, x2) - max(tx1, x1) + 1) if iw > 0: ih = (min(ty2, y2) - max(ty1, y1) + 1) if ih > 0: ua = float((tx2 - tx1 + 1) * (ty2 - ty1 + 1) + area - iw * ih) ov = iw * ih / ua #iou between max box and detection box if method == 1: # linear if ov > Nt: weight = 1 - ov else: weight = 1 elif method == 2: # gaussian weight = np.exp(-(ov * ov)/sigma) else: # original NMS if ov > Nt: weight = 0 else: weight = 1 mw = (1 - weight) ** weight_exp mx1 = mx1 + boxes[pos, 0] * boxes[pos, 5] * mw my1 = my1 + boxes[pos, 1] * boxes[pos, 5] * mw mx2 = mx2 + boxes[pos, 2] * boxes[pos, 6] * mw my2 = my2 + boxes[pos, 3] * boxes[pos, 6] * mw mts = mts + boxes[pos, 5] * mw mbs = mbs + boxes[pos, 6] * mw boxes[pos, 4] = weight*boxes[pos, 4] # if box score falls below threshold, discard the box by swapping with last box # update N if boxes[pos, 4] < threshold: boxes[pos,0] = boxes[N-1, 0] boxes[pos,1] = boxes[N-1, 1] boxes[pos,2] = boxes[N-1, 2] boxes[pos,3] = boxes[N-1, 3] boxes[pos,4] = boxes[N-1, 4] N = N - 1 pos = pos - 1 pos = pos + 1 boxes[i, 0] = mx1 / mts boxes[i, 1] = my1 / mts boxes[i, 2] = mx2 / mbs boxes[i, 3] = my2 / mbs keep = [i for i in range(N)] return keep ================================================ FILE: src/lib/external/setup.py ================================================ import numpy from distutils.core import setup from distutils.extension import Extension from Cython.Build import cythonize extensions = [ Extension( "nms", ["nms.pyx"], extra_compile_args=["-Wno-cpp", "-Wno-unused-function"] ) ] setup( name="coco", ext_modules=cythonize(extensions), include_dirs=[numpy.get_include()] ) ================================================ FILE: src/lib/logger.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function # Code referenced from https://gist.github.com/gyglim/1f8dfb1b5c82627ae3efcfbbadb9f514 import os import time import sys import torch USE_TENSORBOARD = True #try: # import tensorboardX #print('Using tensorboardX') #except: USE_TENSORBOARD = False class Logger(object): def __init__(self, opt): """Create a summary writer logging to log_dir.""" if not os.path.exists(opt.save_dir): os.makedirs(opt.save_dir) if not os.path.exists(opt.debug_dir): os.makedirs(opt.debug_dir) time_str = time.strftime('%Y-%m-%d-%H-%M') args = dict((name, getattr(opt, name)) for name in dir(opt) if not name.startswith('_')) file_name = os.path.join(opt.save_dir, 'opt.txt') with open(file_name, 'wt') as opt_file: opt_file.write('==> torch version: {}\n'.format(torch.__version__)) opt_file.write('==> cudnn version: {}\n'.format( torch.backends.cudnn.version())) opt_file.write('==> Cmd:\n') opt_file.write(str(sys.argv)) opt_file.write('\n==> Opt:\n') for k, v in sorted(args.items()): opt_file.write(' %s: %s\n' % (str(k), str(v))) log_dir = opt.save_dir + '/logs_{}'.format(time_str) if USE_TENSORBOARD: self.writer = tensorboardX.SummaryWriter(log_dir=log_dir) else: if not os.path.exists(os.path.dirname(log_dir)): os.mkdir(os.path.dirname(log_dir)) if not os.path.exists(log_dir): os.mkdir(log_dir) self.log = open(log_dir + '/log.txt', 'w') try: os.system('cp {}/opt.txt {}/'.format(opt.save_dir, log_dir)) except: pass self.start_line = True def write(self, txt): if self.start_line: time_str = time.strftime('%Y-%m-%d-%H-%M') self.log.write('{}: {}'.format(time_str, txt)) else: self.log.write(txt) self.start_line = False if '\n' in txt: self.start_line = True self.log.flush() def close(self): self.log.close() def scalar_summary(self, tag, value, step): """Log a scalar variable.""" if USE_TENSORBOARD: self.writer.add_scalar(tag, value, step) ================================================ FILE: src/lib/models/GCN_utils/__init__.py ================================================ ================================================ FILE: src/lib/models/GCN_utils/gcn2.py ================================================ import math import pdb import numpy as np import torch import torch.nn as nn from torch.autograd import Variable from .graph import Graph def import_class(name): components = name.split('.') mod = __import__(components[0]) for comp in components[1:]: mod = getattr(mod, comp) return mod def conv_branch_init(conv, branches): weight = conv.weight n = weight.size(0) k1 = weight.size(1) k2 = weight.size(2) nn.init.normal_(weight, 0, math.sqrt(2. / (n * k1 * k2 * branches))) nn.init.constant_(conv.bias, 0) def conv_init(conv): nn.init.kaiming_normal_(conv.weight, mode='fan_out') nn.init.constant_(conv.bias, 0) def bn_init(bn, scale): nn.init.constant_(bn.weight, scale) nn.init.constant_(bn.bias, 0) class change_channels(nn.Module): def __init__(self, in_channels, out_channels): super(change_channels, self).__init__() self.conv = nn.Conv2d(in_channels, out_channels, kernel_size=(1, 1)) self.bn = nn.BatchNorm2d(out_channels) self.relu = nn.ReLU() conv_init(self.conv) bn_init(self.bn, 1) def forward(self, x): x = self.bn(self.conv(x)) return x class unit_gcn(nn.Module): def __init__(self, in_channels, out_channels, A, coff_embedding=4, num_subset=3): super(unit_gcn, self).__init__() inter_channels = out_channels // coff_embedding self.inter_c = inter_channels self.PA = nn.Parameter(torch.from_numpy(A.astype(np.float32))) nn.init.constant_(self.PA, 1e-6) self.A = Variable(torch.from_numpy(A.astype(np.float32)), requires_grad=False) # print(self.A.shape) self.num_subset = num_subset self.alpha = nn.Parameter(torch.zeros(1)) self.conv_a = nn.ModuleList() self.conv_b = nn.ModuleList() self.conv_d = nn.ModuleList() for i in range(self.num_subset): self.conv_a.append(nn.Conv2d(in_channels, inter_channels, 1)) self.conv_b.append(nn.Conv2d(in_channels, inter_channels, 1)) self.conv_d.append(nn.Conv2d(in_channels, out_channels, 1)) if in_channels != out_channels: self.down = nn.Sequential( nn.Conv2d(in_channels, out_channels, 1), nn.BatchNorm2d(out_channels) ) else: self.down = lambda x: x # self.bn = nn.BatchNorm2d(out_channels) self.bn = nn.LayerNorm(out_channels) self.soft = nn.Softmax(-2) self.relu = nn.ReLU() for m in self.modules(): if isinstance(m, nn.Conv2d): conv_init(m) elif isinstance(m, nn.BatchNorm2d): bn_init(m, 1) bn_init(self.bn, 1e-6) for i in range(self.num_subset): conv_branch_init(self.conv_d[i], self.num_subset) def forward(self, x): B, C, HW, V = x.size() # B, C, H*W, V A = self.A.cuda(x.get_device()) A = A + self.PA y = None for i in range(self.num_subset): A1 = self.conv_a[i](x).permute(0, 2, 3, 1).contiguous().view(B*HW, V, self.inter_c) A2 = self.conv_b[i](x).permute(0, 2, 1, 3).contiguous().view(B*HW, self.inter_c, V) A1 = self.soft(torch.matmul(A1, A2) / A1.size(-1)) # B*HW V V A1 = A1 * self.alpha + A[i] A2 = x.permute(0, 2, 1, 3).contiguous().view(B * HW, C, V) z = self.conv_d[i](torch.bmm(A2, A1).view(B, HW, C, V).permute(0, 2, 1, 3).contiguous()) # z=x y = z + y if y is not None else z y = self.bn(y.permute(0, 3, 2, 1).contiguous()).permute(0, 3, 2, 1).contiguous() y += self.down(x) return self.relu(y) class GCN_unit(nn.Module): def __init__(self, in_channels, out_channels, A, residual=True): super(GCN_unit, self).__init__() self.gcn = unit_gcn(in_channels, out_channels, A) self.relu = nn.ReLU() if not residual: self.residual = lambda x: 0 elif in_channels == out_channels: self.residual = lambda x: x else: self.residual = change_channels(in_channels, out_channels) def forward(self, x): x = self.gcn(x) + self.residual(x) return self.relu(x) class GCN(nn.Module): def __init__(self, in_channels, num_point=7): super(GCN, self).__init__() self.graph = Graph() A = self.graph.A # self.data_bn = nn.BatchNorm1d(in_channels * num_point) self.data_bn = nn.LayerNorm(in_channels) # bn_init(self.data_bn, 1) # self.l1 = GCN_unit(in_channels, 64, A, residual=False) self.l1 = GCN_unit(in_channels, 64, A, residual=True) # self.l2 = GCN_unit(64, 64, A) # self.l3 = GCN_unit(64, 64, A) def forward(self, x): V, B, C, H, W = x.size() x = x.flatten(3).permute(0, 1, 3, 2).contiguous() # ?? (v,b,hw,c) x = self.data_bn(x) x = x.permute(1, 3, 2, 0).contiguous() # (B,C,HW,V) x = self.l1(x) # x = self.l2(x) # x = self.l3(x) c_new=x.size(1) x = x.view(B,c_new,H,W,V).permute(4, 0, 1, 2, 3).contiguous() return x # def forward(self, x): # V, B, C, H, W = x.size() # x = x.permute(1, 0, 2, 3, 4).contiguous().view(B, V*C, H*W) # ?? (B,V,C,H,W) # x = self.data_bn(x) # x = x.view(B, V, C, H, W).permute(0, 2, 3, 4, 1).contiguous().view(B, C, H*W, V) # (B,C,H,W,V) # x = self.l1(x) # # x = self.l2(x) # # x = self.l3(x) # c_new=x.size(1) # x = x.view(B,c_new,H,W,V).permute(4, 0, 1, 2, 3).contiguous() # return x # torch.set_default_tensor_type(torch.DoubleTensor) # x = torch.tensor(np.random.random((7,10,3,5,6))).to(device='cuda:1') # model = GCN(in_channels=3).to(device='cuda:1') # out = model(x) ================================================ FILE: src/lib/models/GCN_utils/graph.py ================================================ import sys from .tools import get_spatial_graph num_node = 7 self_link = [(i, i) for i in range(num_node)] inward_ori_index = [(0, 1), (1, 2), (1, 3), (1, 4), (4, 5), (4, 6)] inward = [(i, j) for (i, j) in inward_ori_index] outward = [(j, i) for (i, j) in inward] neighbor = inward + outward class Graph: def __init__(self): self.A = self.get_adjacency_matrix() self.num_node = num_node self.self_link = self_link self.inward = inward self.outward = outward self.neighbor = neighbor def get_adjacency_matrix(self): A = get_spatial_graph(num_node, self_link, inward, outward) return A ================================================ FILE: src/lib/models/GCN_utils/tools.py ================================================ import numpy as np def edge2mat(link, num_node): A = np.zeros((num_node, num_node)) for i, j in link: A[j, i] = 1 return A def normalize_digraph(A): # 除以每列的和 Dl = np.sum(A, 0) h, w = A.shape Dn = np.zeros((w, w)) for i in range(w): if Dl[i] > 0: Dn[i, i] = Dl[i] ** (-1) AD = np.dot(A, Dn) return AD def get_spatial_graph(num_node, self_link, inward, outward): I = edge2mat(self_link, num_node) In = normalize_digraph(edge2mat(inward, num_node)) Out = normalize_digraph(edge2mat(outward, num_node)) A = np.stack((I, In, Out)) return A ================================================ FILE: src/lib/models/__init__.py ================================================ ================================================ FILE: src/lib/models/data_parallel.py ================================================ import torch from torch.nn.modules import Module from torch.nn.parallel.scatter_gather import gather from torch.nn.parallel.replicate import replicate from torch.nn.parallel.parallel_apply import parallel_apply from .scatter_gather import scatter_kwargs class _DataParallel(Module): r"""Implements data parallelism at the module level. This container parallelizes the application of the given module by splitting the input across the specified devices by chunking in the batch dimension. In the forward pass, the module is replicated on each device, and each replica handles a portion of the input. During the backwards pass, gradients from each replica are summed into the original module. The batch size should be larger than the number of GPUs used. It should also be an integer multiple of the number of GPUs so that each chunk is the same size (so that each GPU processes the same number of samples). See also: :ref:`cuda-nn-dataparallel-instead` Arbitrary positional and keyword inputs are allowed to be passed into DataParallel EXCEPT Tensors. All variables will be scattered on dim specified (default 0). Primitive types will be broadcasted, but all other types will be a shallow copy and can be corrupted if written to in the model's forward pass. Args: module: module to be parallelized device_ids: CUDA devices (default: all devices) output_device: device location of output (default: device_ids[0]) Example:: >>> net = torch.nn.DataParallel(model, device_ids=[0, 1, 2]) >>> output = net(input_var) """ # TODO: update notes/cuda.rst when this class handles 8+ GPUs well def __init__(self, module, device_ids=None, output_device=None, dim=0, chunk_sizes=None): super(_DataParallel, self).__init__() if not torch.cuda.is_available(): self.module = module self.device_ids = [] return if device_ids is None: device_ids = list(range(torch.cuda.device_count())) if output_device is None: output_device = device_ids[0] self.dim = dim self.module = module self.device_ids = device_ids self.chunk_sizes = chunk_sizes self.output_device = output_device if len(self.device_ids) == 1: self.module.cuda(device_ids[0]) def forward(self, *inputs, **kwargs): if not self.device_ids: return self.module(*inputs, **kwargs) inputs, kwargs = self.scatter(inputs, kwargs, self.device_ids, self.chunk_sizes) if len(self.device_ids) == 1: return self.module(*inputs[0], **kwargs[0]) replicas = self.replicate(self.module, self.device_ids[:len(inputs)]) outputs = self.parallel_apply(replicas, inputs, kwargs) return self.gather(outputs, self.output_device) def replicate(self, module, device_ids): return replicate(module, device_ids) def scatter(self, inputs, kwargs, device_ids, chunk_sizes): return scatter_kwargs(inputs, kwargs, device_ids, dim=self.dim, chunk_sizes=self.chunk_sizes) def parallel_apply(self, replicas, inputs, kwargs): return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)]) def gather(self, outputs, output_device): return gather(outputs, output_device, dim=self.dim) def data_parallel(module, inputs, device_ids=None, output_device=None, dim=0, module_kwargs=None): r"""Evaluates module(input) in parallel across the GPUs given in device_ids. This is the functional version of the DataParallel module. Args: module: the module to evaluate in parallel inputs: inputs to the module device_ids: GPU ids on which to replicate module output_device: GPU location of the output Use -1 to indicate the CPU. (default: device_ids[0]) Returns: a Variable containing the result of module(input) located on output_device """ if not isinstance(inputs, tuple): inputs = (inputs,) if device_ids is None: device_ids = list(range(torch.cuda.device_count())) if output_device is None: output_device = device_ids[0] inputs, module_kwargs = scatter_kwargs(inputs, module_kwargs, device_ids, dim) if len(device_ids) == 1: return module(*inputs[0], **module_kwargs[0]) used_device_ids = device_ids[:len(inputs)] replicas = replicate(module, used_device_ids) outputs = parallel_apply(replicas, inputs, module_kwargs, used_device_ids) return gather(outputs, output_device, dim) def DataParallel(module, device_ids=None, output_device=None, dim=0, chunk_sizes=None): if chunk_sizes is None: return torch.nn.DataParallel(module, device_ids, output_device, dim) standard_size = True for i in range(1, len(chunk_sizes)): if chunk_sizes[i] != chunk_sizes[0]: standard_size = False if standard_size: return torch.nn.DataParallel(module, device_ids, output_device, dim) return _DataParallel(module, device_ids, output_device, dim, chunk_sizes) ================================================ FILE: src/lib/models/decode.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import torch.nn as nn from .utils import _gather_feat, _transpose_and_gather_feat def _nms(heat, kernel=5): pad = (kernel - 1) // 2 hmax = nn.functional.max_pool2d( heat, (kernel, kernel), stride=1, padding=pad) keep = (hmax == heat).float() return heat * keep def _left_aggregate(heat): ''' heat: batchsize x channels x h x w ''' shape = heat.shape heat = heat.reshape(-1, heat.shape[3]) heat = heat.transpose(1, 0).contiguous() ret = heat.clone() for i in range(1, heat.shape[0]): inds = (heat[i] >= heat[i - 1]) ret[i] += ret[i - 1] * inds.float() return (ret - heat).transpose(1, 0).reshape(shape) def _right_aggregate(heat): ''' heat: batchsize x channels x h x w ''' shape = heat.shape heat = heat.reshape(-1, heat.shape[3]) heat = heat.transpose(1, 0).contiguous() ret = heat.clone() for i in range(heat.shape[0] - 2, -1, -1): inds = (heat[i] >= heat[i +1]) ret[i] += ret[i + 1] * inds.float() return (ret - heat).transpose(1, 0).reshape(shape) def _top_aggregate(heat): ''' heat: batchsize x channels x h x w ''' heat = heat.transpose(3, 2) shape = heat.shape heat = heat.reshape(-1, heat.shape[3]) heat = heat.transpose(1, 0).contiguous() ret = heat.clone() for i in range(1, heat.shape[0]): inds = (heat[i] >= heat[i - 1]) ret[i] += ret[i - 1] * inds.float() return (ret - heat).transpose(1, 0).reshape(shape).transpose(3, 2) def _bottom_aggregate(heat): ''' heat: batchsize x channels x h x w ''' heat = heat.transpose(3, 2) shape = heat.shape heat = heat.reshape(-1, heat.shape[3]) heat = heat.transpose(1, 0).contiguous() ret = heat.clone() for i in range(heat.shape[0] - 2, -1, -1): inds = (heat[i] >= heat[i + 1]) ret[i] += ret[i + 1] * inds.float() return (ret - heat).transpose(1, 0).reshape(shape).transpose(3, 2) def _h_aggregate(heat, aggr_weight=0.1): return aggr_weight * _left_aggregate(heat) + \ aggr_weight * _right_aggregate(heat) + heat def _v_aggregate(heat, aggr_weight=0.1): return aggr_weight * _top_aggregate(heat) + \ aggr_weight * _bottom_aggregate(heat) + heat ''' # Slow for large number of categories def _topk(scores, K=40): batch, cat, height, width = scores.size() topk_scores, topk_inds = torch.topk(scores.view(batch, -1), K) topk_clses = (topk_inds / (height * width)).int() topk_inds = topk_inds % (height * width) topk_ys = (topk_inds / width).int().float() topk_xs = (topk_inds % width).int().float() return topk_scores, topk_inds, topk_clses, topk_ys, topk_xs ''' def _topk_channel(scores, K=40): batch, cat, height, width = scores.size() topk_scores, topk_inds = torch.topk(scores.view(batch, cat, -1), K) topk_inds = topk_inds % (height * width) topk_ys = (topk_inds / width).int().float() topk_xs = (topk_inds % width).int().float() return topk_scores, topk_inds, topk_ys, topk_xs def _topk(scores, K=40): #import pudb;pudb.set_trace() batch, cat, height, width = scores.size() topk_scores, topk_inds = torch.topk(scores.view(batch, cat, -1), K) topk_inds = topk_inds % (height * width) topk_ys = (topk_inds / width).int().float() topk_xs = (topk_inds % width).int().float() topk_score, topk_ind = torch.topk(topk_scores.view(batch, -1), K) topk_clses = (topk_ind / K).int() topk_inds = _gather_feat( topk_inds.view(batch, -1, 1), topk_ind).view(batch, K) topk_ys = _gather_feat(topk_ys.view(batch, -1, 1), topk_ind).view(batch, K) topk_xs = _gather_feat(topk_xs.view(batch, -1, 1), topk_ind).view(batch, K) return topk_score, topk_inds, topk_clses, topk_ys, topk_xs def agnex_ct_decode( t_heat, l_heat, b_heat, r_heat, ct_heat, t_regr=None, l_regr=None, b_regr=None, r_regr=None, K=40, scores_thresh=0.1, center_thresh=0.1, aggr_weight=0.0, num_dets=1000 ): batch, cat, height, width = t_heat.size() ''' t_heat = torch.sigmoid(t_heat) l_heat = torch.sigmoid(l_heat) b_heat = torch.sigmoid(b_heat) r_heat = torch.sigmoid(r_heat) ct_heat = torch.sigmoid(ct_heat) ''' if aggr_weight > 0: t_heat = _h_aggregate(t_heat, aggr_weight=aggr_weight) l_heat = _v_aggregate(l_heat, aggr_weight=aggr_weight) b_heat = _h_aggregate(b_heat, aggr_weight=aggr_weight) r_heat = _v_aggregate(r_heat, aggr_weight=aggr_weight) # perform nms on heatmaps t_heat = _nms(t_heat) l_heat = _nms(l_heat) b_heat = _nms(b_heat) r_heat = _nms(r_heat) t_heat[t_heat > 1] = 1 l_heat[l_heat > 1] = 1 b_heat[b_heat > 1] = 1 r_heat[r_heat > 1] = 1 t_scores, t_inds, _, t_ys, t_xs = _topk(t_heat, K=K) l_scores, l_inds, _, l_ys, l_xs = _topk(l_heat, K=K) b_scores, b_inds, _, b_ys, b_xs = _topk(b_heat, K=K) r_scores, r_inds, _, r_ys, r_xs = _topk(r_heat, K=K) ct_heat_agn, ct_clses = torch.max(ct_heat, dim=1, keepdim=True) # import pdb; pdb.set_trace() t_ys = t_ys.view(batch, K, 1, 1, 1).expand(batch, K, K, K, K) t_xs = t_xs.view(batch, K, 1, 1, 1).expand(batch, K, K, K, K) l_ys = l_ys.view(batch, 1, K, 1, 1).expand(batch, K, K, K, K) l_xs = l_xs.view(batch, 1, K, 1, 1).expand(batch, K, K, K, K) b_ys = b_ys.view(batch, 1, 1, K, 1).expand(batch, K, K, K, K) b_xs = b_xs.view(batch, 1, 1, K, 1).expand(batch, K, K, K, K) r_ys = r_ys.view(batch, 1, 1, 1, K).expand(batch, K, K, K, K) r_xs = r_xs.view(batch, 1, 1, 1, K).expand(batch, K, K, K, K) box_ct_xs = ((l_xs + r_xs + 0.5) / 2).long() box_ct_ys = ((t_ys + b_ys + 0.5) / 2).long() ct_inds = box_ct_ys * width + box_ct_xs ct_inds = ct_inds.view(batch, -1) ct_heat_agn = ct_heat_agn.view(batch, -1, 1) ct_clses = ct_clses.view(batch, -1, 1) ct_scores = _gather_feat(ct_heat_agn, ct_inds) clses = _gather_feat(ct_clses, ct_inds) t_scores = t_scores.view(batch, K, 1, 1, 1).expand(batch, K, K, K, K) l_scores = l_scores.view(batch, 1, K, 1, 1).expand(batch, K, K, K, K) b_scores = b_scores.view(batch, 1, 1, K, 1).expand(batch, K, K, K, K) r_scores = r_scores.view(batch, 1, 1, 1, K).expand(batch, K, K, K, K) ct_scores = ct_scores.view(batch, K, K, K, K) scores = (t_scores + l_scores + b_scores + r_scores + 2 * ct_scores) / 6 # reject boxes based on classes top_inds = (t_ys > l_ys) + (t_ys > b_ys) + (t_ys > r_ys) top_inds = (top_inds > 0) left_inds = (l_xs > t_xs) + (l_xs > b_xs) + (l_xs > r_xs) left_inds = (left_inds > 0) bottom_inds = (b_ys < t_ys) + (b_ys < l_ys) + (b_ys < r_ys) bottom_inds = (bottom_inds > 0) right_inds = (r_xs < t_xs) + (r_xs < l_xs) + (r_xs < b_xs) right_inds = (right_inds > 0) sc_inds = (t_scores < scores_thresh) + (l_scores < scores_thresh) + \ (b_scores < scores_thresh) + (r_scores < scores_thresh) + \ (ct_scores < center_thresh) sc_inds = (sc_inds > 0) scores = scores - sc_inds.float() scores = scores - top_inds.float() scores = scores - left_inds.float() scores = scores - bottom_inds.float() scores = scores - right_inds.float() scores = scores.view(batch, -1) scores, inds = torch.topk(scores, num_dets) scores = scores.unsqueeze(2) if t_regr is not None and l_regr is not None \ and b_regr is not None and r_regr is not None: t_regr = _transpose_and_gather_feat(t_regr, t_inds) t_regr = t_regr.view(batch, K, 1, 1, 1, 2) l_regr = _transpose_and_gather_feat(l_regr, l_inds) l_regr = l_regr.view(batch, 1, K, 1, 1, 2) b_regr = _transpose_and_gather_feat(b_regr, b_inds) b_regr = b_regr.view(batch, 1, 1, K, 1, 2) r_regr = _transpose_and_gather_feat(r_regr, r_inds) r_regr = r_regr.view(batch, 1, 1, 1, K, 2) t_xs = t_xs + t_regr[..., 0] t_ys = t_ys + t_regr[..., 1] l_xs = l_xs + l_regr[..., 0] l_ys = l_ys + l_regr[..., 1] b_xs = b_xs + b_regr[..., 0] b_ys = b_ys + b_regr[..., 1] r_xs = r_xs + r_regr[..., 0] r_ys = r_ys + r_regr[..., 1] else: t_xs = t_xs + 0.5 t_ys = t_ys + 0.5 l_xs = l_xs + 0.5 l_ys = l_ys + 0.5 b_xs = b_xs + 0.5 b_ys = b_ys + 0.5 r_xs = r_xs + 0.5 r_ys = r_ys + 0.5 bboxes = torch.stack((l_xs, t_ys, r_xs, b_ys), dim=5) bboxes = bboxes.view(batch, -1, 4) bboxes = _gather_feat(bboxes, inds) clses = clses.contiguous().view(batch, -1, 1) clses = _gather_feat(clses, inds).float() t_xs = t_xs.contiguous().view(batch, -1, 1) t_xs = _gather_feat(t_xs, inds).float() t_ys = t_ys.contiguous().view(batch, -1, 1) t_ys = _gather_feat(t_ys, inds).float() l_xs = l_xs.contiguous().view(batch, -1, 1) l_xs = _gather_feat(l_xs, inds).float() l_ys = l_ys.contiguous().view(batch, -1, 1) l_ys = _gather_feat(l_ys, inds).float() b_xs = b_xs.contiguous().view(batch, -1, 1) b_xs = _gather_feat(b_xs, inds).float() b_ys = b_ys.contiguous().view(batch, -1, 1) b_ys = _gather_feat(b_ys, inds).float() r_xs = r_xs.contiguous().view(batch, -1, 1) r_xs = _gather_feat(r_xs, inds).float() r_ys = r_ys.contiguous().view(batch, -1, 1) r_ys = _gather_feat(r_ys, inds).float() detections = torch.cat([bboxes, scores, t_xs, t_ys, l_xs, l_ys, b_xs, b_ys, r_xs, r_ys, clses], dim=2) return detections def exct_decode( t_heat, l_heat, b_heat, r_heat, ct_heat, t_regr=None, l_regr=None, b_regr=None, r_regr=None, K=40, scores_thresh=0.1, center_thresh=0.1, aggr_weight=0.0, num_dets=1000 ): batch, cat, height, width = t_heat.size() ''' t_heat = torch.sigmoid(t_heat) l_heat = torch.sigmoid(l_heat) b_heat = torch.sigmoid(b_heat) r_heat = torch.sigmoid(r_heat) ct_heat = torch.sigmoid(ct_heat) ''' if aggr_weight > 0: t_heat = _h_aggregate(t_heat, aggr_weight=aggr_weight) l_heat = _v_aggregate(l_heat, aggr_weight=aggr_weight) b_heat = _h_aggregate(b_heat, aggr_weight=aggr_weight) r_heat = _v_aggregate(r_heat, aggr_weight=aggr_weight) # perform nms on heatmaps t_heat = _nms(t_heat) l_heat = _nms(l_heat) b_heat = _nms(b_heat) r_heat = _nms(r_heat) t_heat[t_heat > 1] = 1 l_heat[l_heat > 1] = 1 b_heat[b_heat > 1] = 1 r_heat[r_heat > 1] = 1 t_scores, t_inds, t_clses, t_ys, t_xs = _topk(t_heat, K=K) l_scores, l_inds, l_clses, l_ys, l_xs = _topk(l_heat, K=K) b_scores, b_inds, b_clses, b_ys, b_xs = _topk(b_heat, K=K) r_scores, r_inds, r_clses, r_ys, r_xs = _topk(r_heat, K=K) t_ys = t_ys.view(batch, K, 1, 1, 1).expand(batch, K, K, K, K) t_xs = t_xs.view(batch, K, 1, 1, 1).expand(batch, K, K, K, K) l_ys = l_ys.view(batch, 1, K, 1, 1).expand(batch, K, K, K, K) l_xs = l_xs.view(batch, 1, K, 1, 1).expand(batch, K, K, K, K) b_ys = b_ys.view(batch, 1, 1, K, 1).expand(batch, K, K, K, K) b_xs = b_xs.view(batch, 1, 1, K, 1).expand(batch, K, K, K, K) r_ys = r_ys.view(batch, 1, 1, 1, K).expand(batch, K, K, K, K) r_xs = r_xs.view(batch, 1, 1, 1, K).expand(batch, K, K, K, K) t_clses = t_clses.view(batch, K, 1, 1, 1).expand(batch, K, K, K, K) l_clses = l_clses.view(batch, 1, K, 1, 1).expand(batch, K, K, K, K) b_clses = b_clses.view(batch, 1, 1, K, 1).expand(batch, K, K, K, K) r_clses = r_clses.view(batch, 1, 1, 1, K).expand(batch, K, K, K, K) box_ct_xs = ((l_xs + r_xs + 0.5) / 2).long() box_ct_ys = ((t_ys + b_ys + 0.5) / 2).long() ct_inds = t_clses.long() * (height * width) + box_ct_ys * width + box_ct_xs ct_inds = ct_inds.view(batch, -1) ct_heat = ct_heat.view(batch, -1, 1) ct_scores = _gather_feat(ct_heat, ct_inds) t_scores = t_scores.view(batch, K, 1, 1, 1).expand(batch, K, K, K, K) l_scores = l_scores.view(batch, 1, K, 1, 1).expand(batch, K, K, K, K) b_scores = b_scores.view(batch, 1, 1, K, 1).expand(batch, K, K, K, K) r_scores = r_scores.view(batch, 1, 1, 1, K).expand(batch, K, K, K, K) ct_scores = ct_scores.view(batch, K, K, K, K) scores = (t_scores + l_scores + b_scores + r_scores + 2 * ct_scores) / 6 # reject boxes based on classes cls_inds = (t_clses != l_clses) + (t_clses != b_clses) + \ (t_clses != r_clses) cls_inds = (cls_inds > 0) top_inds = (t_ys > l_ys) + (t_ys > b_ys) + (t_ys > r_ys) top_inds = (top_inds > 0) left_inds = (l_xs > t_xs) + (l_xs > b_xs) + (l_xs > r_xs) left_inds = (left_inds > 0) bottom_inds = (b_ys < t_ys) + (b_ys < l_ys) + (b_ys < r_ys) bottom_inds = (bottom_inds > 0) right_inds = (r_xs < t_xs) + (r_xs < l_xs) + (r_xs < b_xs) right_inds = (right_inds > 0) sc_inds = (t_scores < scores_thresh) + (l_scores < scores_thresh) + \ (b_scores < scores_thresh) + (r_scores < scores_thresh) + \ (ct_scores < center_thresh) sc_inds = (sc_inds > 0) scores = scores - sc_inds.float() scores = scores - cls_inds.float() scores = scores - top_inds.float() scores = scores - left_inds.float() scores = scores - bottom_inds.float() scores = scores - right_inds.float() scores = scores.view(batch, -1) scores, inds = torch.topk(scores, num_dets) scores = scores.unsqueeze(2) if t_regr is not None and l_regr is not None \ and b_regr is not None and r_regr is not None: t_regr = _transpose_and_gather_feat(t_regr, t_inds) t_regr = t_regr.view(batch, K, 1, 1, 1, 2) l_regr = _transpose_and_gather_feat(l_regr, l_inds) l_regr = l_regr.view(batch, 1, K, 1, 1, 2) b_regr = _transpose_and_gather_feat(b_regr, b_inds) b_regr = b_regr.view(batch, 1, 1, K, 1, 2) r_regr = _transpose_and_gather_feat(r_regr, r_inds) r_regr = r_regr.view(batch, 1, 1, 1, K, 2) t_xs = t_xs + t_regr[..., 0] t_ys = t_ys + t_regr[..., 1] l_xs = l_xs + l_regr[..., 0] l_ys = l_ys + l_regr[..., 1] b_xs = b_xs + b_regr[..., 0] b_ys = b_ys + b_regr[..., 1] r_xs = r_xs + r_regr[..., 0] r_ys = r_ys + r_regr[..., 1] else: t_xs = t_xs + 0.5 t_ys = t_ys + 0.5 l_xs = l_xs + 0.5 l_ys = l_ys + 0.5 b_xs = b_xs + 0.5 b_ys = b_ys + 0.5 r_xs = r_xs + 0.5 r_ys = r_ys + 0.5 bboxes = torch.stack((l_xs, t_ys, r_xs, b_ys), dim=5) bboxes = bboxes.view(batch, -1, 4) bboxes = _gather_feat(bboxes, inds) clses = t_clses.contiguous().view(batch, -1, 1) clses = _gather_feat(clses, inds).float() t_xs = t_xs.contiguous().view(batch, -1, 1) t_xs = _gather_feat(t_xs, inds).float() t_ys = t_ys.contiguous().view(batch, -1, 1) t_ys = _gather_feat(t_ys, inds).float() l_xs = l_xs.contiguous().view(batch, -1, 1) l_xs = _gather_feat(l_xs, inds).float() l_ys = l_ys.contiguous().view(batch, -1, 1) l_ys = _gather_feat(l_ys, inds).float() b_xs = b_xs.contiguous().view(batch, -1, 1) b_xs = _gather_feat(b_xs, inds).float() b_ys = b_ys.contiguous().view(batch, -1, 1) b_ys = _gather_feat(b_ys, inds).float() r_xs = r_xs.contiguous().view(batch, -1, 1) r_xs = _gather_feat(r_xs, inds).float() r_ys = r_ys.contiguous().view(batch, -1, 1) r_ys = _gather_feat(r_ys, inds).float() detections = torch.cat([bboxes, scores, t_xs, t_ys, l_xs, l_ys, b_xs, b_ys, r_xs, r_ys, clses], dim=2) return detections def ddd_decode(heat, rot, depth, dim, wh=None, reg=None, K=40): batch, cat, height, width = heat.size() # heat = torch.sigmoid(heat) # perform nms on heatmaps heat = _nms(heat) scores, inds, clses, ys, xs = _topk(heat, K=K) if reg is not None: reg = _transpose_and_gather_feat(reg, inds) reg = reg.view(batch, K, 2) xs = xs.view(batch, K, 1) + reg[:, :, 0:1] ys = ys.view(batch, K, 1) + reg[:, :, 1:2] else: xs = xs.view(batch, K, 1) + 0.5 ys = ys.view(batch, K, 1) + 0.5 rot = _transpose_and_gather_feat(rot, inds) rot = rot.view(batch, K, 8) depth = _transpose_and_gather_feat(depth, inds) depth = depth.view(batch, K, 1) dim = _transpose_and_gather_feat(dim, inds) dim = dim.view(batch, K, 3) clses = clses.view(batch, K, 1).float() scores = scores.view(batch, K, 1) xs = xs.view(batch, K, 1) ys = ys.view(batch, K, 1) if wh is not None: wh = _transpose_and_gather_feat(wh, inds) wh = wh.view(batch, K, 2) detections = torch.cat( [xs, ys, scores, rot, depth, dim, wh, clses], dim=2) else: detections = torch.cat( [xs, ys, scores, rot, depth, dim, clses], dim=2) return detections def ctdet_decode(heat, wh, reg=None, cat_spec_wh=False, K=100): batch, cat, height, width = heat.size() # heat = torch.sigmoid(heat) # perform nms on heatmaps heat = _nms(heat) scores, inds, clses, ys, xs = _topk(heat, K=K) if reg is not None: reg = _transpose_and_gather_feat(reg, inds) reg = reg.view(batch, K, 2) xs = xs.view(batch, K, 1) + reg[:, :, 0:1] ys = ys.view(batch, K, 1) + reg[:, :, 1:2] else: xs = xs.view(batch, K, 1) + 0.5 ys = ys.view(batch, K, 1) + 0.5 wh = _transpose_and_gather_feat(wh, inds) if cat_spec_wh: wh = wh.view(batch, K, cat, 2) clses_ind = clses.view(batch, K, 1, 1).expand(batch, K, 1, 2).long() wh = wh.gather(2, clses_ind).view(batch, K, 2) else: wh = wh.view(batch, K, 2) clses = clses.view(batch, K, 1).float() scores = scores.view(batch, K, 1) bboxes = torch.cat([xs - wh[..., 0:1] / 2, ys - wh[..., 1:2] / 2, xs + wh[..., 0:1] / 2, ys + wh[..., 1:2] / 2], dim=2) detections = torch.cat([bboxes, scores, clses], dim=2) return detections def multi_pose_decode( heat, wh, kps, reg=None, hm_hp=None, hp_offset=None, K=100): #import pudb; pudb.set_trace() batch, cat, height, width = heat.size() num_joints = kps.shape[1] // 2 # heat = torch.sigmoid(heat) # perform nms on heatmaps heat = _nms(heat) scores, inds, clses, ys, xs = _topk(heat, K=K) kps = _transpose_and_gather_feat(kps, inds) kps = kps.view(batch, K, num_joints * 2) kps[..., ::2] += xs.view(batch, K, 1).expand(batch, K, num_joints) kps[..., 1::2] += ys.view(batch, K, 1).expand(batch, K, num_joints) if reg is not None: reg = _transpose_and_gather_feat(reg, inds) reg = reg.view(batch, K, 2) xs = xs.view(batch, K, 1) + reg[:, :, 0:1] ys = ys.view(batch, K, 1) + reg[:, :, 1:2] else: xs = xs.view(batch, K, 1) + 0.5 ys = ys.view(batch, K, 1) + 0.5 wh = _transpose_and_gather_feat(wh, inds) wh = wh.view(batch, K, 2) # assert height == width ############ wh = wh * 128 ############### clses = clses.view(batch, K, 1).float() scores = scores.view(batch, K, 1) bboxes = torch.cat([xs - wh[..., 0:1] / 2, ys - wh[..., 1:2] / 2, xs + wh[..., 0:1] / 2, ys + wh[..., 1:2] / 2], dim=2) if hm_hp is not None: hm_hp = _nms(hm_hp) thresh = 0.1 kps = kps.view(batch, K, num_joints, 2).permute( 0, 2, 1, 3).contiguous() # b x J x K x 2 reg_kps = kps.unsqueeze(3).expand(batch, num_joints, K, K, 2) hm_score, hm_inds, hm_ys, hm_xs = _topk_channel(hm_hp, K=K) # b x J x K if hp_offset is not None: hp_offset = _transpose_and_gather_feat( hp_offset, hm_inds.view(batch, -1)) hp_offset = hp_offset.view(batch, num_joints, K, 2) hm_xs = hm_xs + hp_offset[:, :, :, 0] hm_ys = hm_ys + hp_offset[:, :, :, 1] else: hm_xs = hm_xs + 0.5 hm_ys = hm_ys + 0.5 mask = (hm_score > thresh).float() hm_score = (1 - mask) * -1 + mask * hm_score hm_ys = (1 - mask) * (-10000) + mask * hm_ys hm_xs = (1 - mask) * (-10000) + mask * hm_xs hm_kps = torch.stack([hm_xs, hm_ys], dim=-1).unsqueeze( 2).expand(batch, num_joints, K, K, 2) # kps extracted from heatmap dist = (((reg_kps - hm_kps) ** 2).sum(dim=4) ** 0.5) min_dist, min_ind = dist.min(dim=3) # b x J x K hm_score = hm_score.gather(2, min_ind).unsqueeze(-1) # b x J x K x 1 min_dist = min_dist.unsqueeze(-1) min_ind = min_ind.view(batch, num_joints, K, 1, 1).expand( batch, num_joints, K, 1, 2) hm_kps = hm_kps.gather(3, min_ind) hm_kps = hm_kps.view(batch, num_joints, K, 2) l = bboxes[:, :, 0].view(batch, 1, K, 1).expand(batch, num_joints, K, 1) t = bboxes[:, :, 1].view(batch, 1, K, 1).expand(batch, num_joints, K, 1) r = bboxes[:, :, 2].view(batch, 1, K, 1).expand(batch, num_joints, K, 1) b = bboxes[:, :, 3].view(batch, 1, K, 1).expand(batch, num_joints, K, 1) mask = (hm_kps[..., 0:1] < l) + (hm_kps[..., 0:1] > r) + \ (hm_kps[..., 1:2] < t) + (hm_kps[..., 1:2] > b) + \ (hm_score < thresh) + (min_dist > (torch.max(b - t, r - l) * 0.3)) #print(mask) mask = (mask > 0).float().expand(batch, num_joints, K, 2) kps = (1 - mask) * hm_kps + mask * kps kps = kps.permute(0, 2, 1, 3).contiguous().view( batch, K, num_joints * 2) # detections = torch.cat([bboxes, scores, kps, clses], dim=2) detections = torch.cat([scores, kps, clses], dim=2) ########## return detections def multi_pose_decode_wodet( heat, kps, reg=None, hm_hp=None, hp_offset=None, K=100): #import pudb; pudb.set_trace() batch, cat, height, width = heat.size() num_joints = kps.shape[1] // 2 # heat = torch.sigmoid(heat) # perform nms on heatmaps heat = _nms(heat) scores, inds, clses, ys, xs = _topk(heat, K=K) kps = _transpose_and_gather_feat(kps, inds) kps = kps.view(batch, K, num_joints * 2) kps[..., ::2] += xs.view(batch, K, 1).expand(batch, K, num_joints) kps[..., 1::2] += ys.view(batch, K, 1).expand(batch, K, num_joints) clses = clses.view(batch, K, 1).float() scores = scores.view(batch, K, 1) detections = torch.cat([scores, kps, clses], dim=2) return detections def multi_pose_decode_wodet_vis( heat, kps,off1, reg=None, hm_hp=None, hp_offset=None, K=100): # import pudb; pudb.set_trace() batch, cat, height, width = heat.size() num_joints = kps.shape[1] // 2 num_adapt_pts = off1.shape[1] // 2 # heat = torch.sigmoid(heat) # perform nms on heatmaps heat = _nms(heat) scores, inds, clses, ys, xs = _topk(heat, K=K) center = torch.cat([xs.unsqueeze(2),ys.unsqueeze(2)],dim=2) kps = _transpose_and_gather_feat(kps, inds) kps = kps.view(batch, K, num_joints * 2) kps[..., ::2] += xs.view(batch, K, 1).expand(batch, K, num_joints) kps[..., 1::2] += ys.view(batch, K, 1).expand(batch, K, num_joints) off1 = _transpose_and_gather_feat(off1, inds) off1 = off1.view(batch, K, num_adapt_pts*2) off1[..., ::2] += xs.view(batch, K, 1).expand(batch, K, num_adapt_pts) off1[..., 1::2] += ys.view(batch, K, 1).expand(batch, K, num_adapt_pts) clses = clses.view(batch, K, 1).float() scores = scores.view(batch, K, 1) adapt_pt = torch.cat([center,off1],dim=2) detections = torch.cat([scores, kps, clses, adapt_pt], dim=2) return detections ================================================ FILE: src/lib/models/flops_counter.py ================================================ import torch.nn as nn import torch import numpy as np def get_model_complexity_info(model, input_res, print_per_layer_stat=True, as_strings=True, channel=3): assert type(input_res) is tuple assert len(input_res) == 2 batch = torch.FloatTensor(1, channel, *input_res) flops_model = add_flops_counting_methods(model) flops_model.eval().start_flops_count() out = flops_model(batch) if print_per_layer_stat: print_model_with_flops(flops_model) flops_count = flops_model.compute_average_flops_cost() params_count = get_model_parameters_number(flops_model) flops_model.stop_flops_count() if as_strings: return flops_to_string(flops_count), params_to_string(params_count) return flops_count, params_count def flops_to_string(flops, units='GMac', precision=2): if units is None: if flops // 10**9 > 0: return str(round(flops / 10.**9, precision)) + ' GMac' elif flops // 10**6 > 0: return str(round(flops / 10.**6, precision)) + ' MMac' elif flops // 10**3 > 0: return str(round(flops / 10.**3, precision)) + ' KMac' else: return str(flops) + ' Mac' else: if units == 'GMac': return str(round(flops / 10.**9, precision)) + ' ' + units elif units == 'MMac': return str(round(flops / 10.**6, precision)) + ' ' + units elif units == 'KMac': return str(round(flops / 10.**3, precision)) + ' ' + units else: return str(flops) + ' Mac' def params_to_string(params_num): if params_num // 10 ** 6 > 0: return str(round(params_num / 10 ** 6, 2)) + ' M' elif params_num // 10 ** 3: return str(round(params_num / 10 ** 3, 2)) + ' k' def print_model_with_flops(model, units='GMac', precision=3): total_flops = model.compute_average_flops_cost() def accumulate_flops(self): if is_supported_instance(self): return self.__flops__ / model.__batch_counter__ else: sum = 0 for m in self.children(): sum += m.accumulate_flops() return sum def flops_repr(self): accumulated_flops_cost = self.accumulate_flops() return ', '.join([flops_to_string(accumulated_flops_cost, units=units, precision=precision), '{:.3%} MACs'.format(accumulated_flops_cost / total_flops), self.original_extra_repr()]) def add_extra_repr(m): m.accumulate_flops = accumulate_flops.__get__(m) flops_extra_repr = flops_repr.__get__(m) if m.extra_repr != flops_extra_repr: m.original_extra_repr = m.extra_repr m.extra_repr = flops_extra_repr assert m.extra_repr != m.original_extra_repr def del_extra_repr(m): if hasattr(m, 'original_extra_repr'): m.extra_repr = m.original_extra_repr del m.original_extra_repr if hasattr(m, 'accumulate_flops'): del m.accumulate_flops model.apply(add_extra_repr) print(model) model.apply(del_extra_repr) def get_model_parameters_number(model): params_num = sum(p.numel() for p in model.parameters() if p.requires_grad) return params_num def add_flops_counting_methods(net_main_module): # adding additional methods to the existing module object, # this is done this way so that each function has access to self object net_main_module.start_flops_count = start_flops_count.__get__(net_main_module) net_main_module.stop_flops_count = stop_flops_count.__get__(net_main_module) net_main_module.reset_flops_count = reset_flops_count.__get__(net_main_module) net_main_module.compute_average_flops_cost = compute_average_flops_cost.__get__(net_main_module) net_main_module.reset_flops_count() # Adding variables necessary for masked flops computation net_main_module.apply(add_flops_mask_variable_or_reset) return net_main_module def compute_average_flops_cost(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Returns current mean flops consumption per image. """ batches_count = self.__batch_counter__ flops_sum = 0 for module in self.modules(): if is_supported_instance(module): flops_sum += module.__flops__ return flops_sum / batches_count def start_flops_count(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Activates the computation of mean flops consumption per image. Call it before you run the network. """ add_batch_counter_hook_function(self) self.apply(add_flops_counter_hook_function) def stop_flops_count(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Stops computing the mean flops consumption per image. Call whenever you want to pause the computation. """ remove_batch_counter_hook_function(self) self.apply(remove_flops_counter_hook_function) def reset_flops_count(self): """ A method that will be available after add_flops_counting_methods() is called on a desired net object. Resets statistics computed so far. """ add_batch_counter_variables_or_reset(self) self.apply(add_flops_counter_variable_or_reset) def add_flops_mask(module, mask): def add_flops_mask_func(module): if isinstance(module, torch.nn.Conv2d): module.__mask__ = mask module.apply(add_flops_mask_func) def remove_flops_mask(module): module.apply(add_flops_mask_variable_or_reset) # ---- Internal functions def is_supported_instance(module): if isinstance(module, (torch.nn.Conv2d, torch.nn.ReLU, torch.nn.PReLU, torch.nn.ELU, \ torch.nn.LeakyReLU, torch.nn.ReLU6, torch.nn.Linear, \ torch.nn.MaxPool2d, torch.nn.AvgPool2d, torch.nn.BatchNorm2d, \ torch.nn.Upsample, nn.AdaptiveMaxPool2d, nn.AdaptiveAvgPool2d)): return True return False def empty_flops_counter_hook(module, input, output): module.__flops__ += 0 def upsample_flops_counter_hook(module, input, output): output_size = output[0] batch_size = output_size.shape[0] output_elements_count = batch_size for val in output_size.shape[1:]: output_elements_count *= val module.__flops__ += output_elements_count def relu_flops_counter_hook(module, input, output): active_elements_count = output.numel() module.__flops__ += active_elements_count def linear_flops_counter_hook(module, input, output): input = input[0] batch_size = input.shape[0] module.__flops__ += batch_size * input.shape[1] * output.shape[1] def pool_flops_counter_hook(module, input, output): input = input[0] module.__flops__ += np.prod(input.shape) def bn_flops_counter_hook(module, input, output): module.affine input = input[0] batch_flops = np.prod(input.shape) if module.affine: batch_flops *= 2 module.__flops__ += batch_flops def conv_flops_counter_hook(conv_module, input, output): # Can have multiple inputs, getting the first one input = input[0] batch_size = input.shape[0] output_height, output_width = output.shape[2:] kernel_height, kernel_width = conv_module.kernel_size in_channels = conv_module.in_channels out_channels = conv_module.out_channels groups = conv_module.groups filters_per_channel = out_channels // groups conv_per_position_flops = kernel_height * kernel_width * in_channels * filters_per_channel active_elements_count = batch_size * output_height * output_width if conv_module.__mask__ is not None: # (b, 1, h, w) flops_mask = conv_module.__mask__.expand(batch_size, 1, output_height, output_width) active_elements_count = flops_mask.sum() overall_conv_flops = conv_per_position_flops * active_elements_count bias_flops = 0 if conv_module.bias is not None: bias_flops = out_channels * active_elements_count overall_flops = overall_conv_flops + bias_flops conv_module.__flops__ += overall_flops def batch_counter_hook(module, input, output): # Can have multiple inputs, getting the first one input = input[0] batch_size = input.shape[0] module.__batch_counter__ += batch_size def add_batch_counter_variables_or_reset(module): module.__batch_counter__ = 0 def add_batch_counter_hook_function(module): if hasattr(module, '__batch_counter_handle__'): return handle = module.register_forward_hook(batch_counter_hook) module.__batch_counter_handle__ = handle def remove_batch_counter_hook_function(module): if hasattr(module, '__batch_counter_handle__'): module.__batch_counter_handle__.remove() del module.__batch_counter_handle__ def add_flops_counter_variable_or_reset(module): if is_supported_instance(module): module.__flops__ = 0 def add_flops_counter_hook_function(module): if is_supported_instance(module): if hasattr(module, '__flops_handle__'): return if isinstance(module, torch.nn.Conv2d): handle = module.register_forward_hook(conv_flops_counter_hook) elif isinstance(module, (torch.nn.ReLU, torch.nn.PReLU, torch.nn.ELU, \ torch.nn.LeakyReLU, torch.nn.ReLU6)): handle = module.register_forward_hook(relu_flops_counter_hook) elif isinstance(module, torch.nn.Linear): handle = module.register_forward_hook(linear_flops_counter_hook) elif isinstance(module, (torch.nn.AvgPool2d, torch.nn.MaxPool2d, nn.AdaptiveMaxPool2d, \ nn.AdaptiveAvgPool2d)): handle = module.register_forward_hook(pool_flops_counter_hook) elif isinstance(module, torch.nn.BatchNorm2d): handle = module.register_forward_hook(bn_flops_counter_hook) elif isinstance(module, torch.nn.Upsample): handle = module.register_forward_hook(upsample_flops_counter_hook) else: handle = module.register_forward_hook(empty_flops_counter_hook) module.__flops_handle__ = handle def remove_flops_counter_hook_function(module): if is_supported_instance(module): if hasattr(module, '__flops_handle__'): module.__flops_handle__.remove() del module.__flops_handle__ # --- Masked flops counting # Also being run in the initialization def add_flops_mask_variable_or_reset(module): if is_supported_instance(module): module.__mask__ = None ================================================ FILE: src/lib/models/losses.py ================================================ # ------------------------------------------------------------------------------ # Portions of this code are from # CornerNet (https://github.com/princeton-vl/CornerNet) # Copyright (c) 2018, University of Michigan # Licensed under the BSD 3-Clause License # ------------------------------------------------------------------------------ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import torch.nn as nn from .utils import _transpose_and_gather_feat import torch.nn.functional as F # from torchvision.ops.boxes import box_area def bboxes_giou(boxes1,boxes2): ''' cal GIOU of two boxes or batch boxes such as: (1) boxes1 = np.asarray([[0,0,5,5],[0,0,10,10],[15,15,25,25]]) boxes2 = np.asarray([[5,5,10,10]]) and res is [-0.49999988 0.25 -0.68749988] (2) boxes1 = np.asarray([[0,0,5,5],[0,0,10,10],[0,0,10,10]]) boxes2 = np.asarray([[0,0,5,5],[0,0,10,10],[0,0,10,10]]) and res is [1. 1. 1.] :param boxes1:[xmin,ymin,xmax,ymax] or [[xmin,ymin,xmax,ymax],[xmin,ymin,xmax,ymax],...] :param boxes2:[xmin,ymin,xmax,ymax] :return: ''' # import pudb;pudb.set_trace() # cal the box's area of boxes1 and boxess boxes1Area = (boxes1[...,2]-boxes1[...,0])*(boxes1[...,3]-boxes1[...,1]) boxes2Area = (boxes2[..., 2] - boxes2[..., 0]) * (boxes2[..., 3] - boxes2[..., 1]) # ===========cal IOU=============# #cal Intersection left_up = torch.max(boxes1[...,:2],boxes2[...,:2]) right_down = torch.min(boxes1[...,2:],boxes2[...,2:]) inter_section = torch.max(right_down-left_up, torch.zeros_like(right_down-left_up)) inter_area = inter_section[...,0] * inter_section[...,1] union_area = boxes1Area + boxes2Area - inter_area ious = torch.max(1.0 * inter_area/(union_area + 1e-5)) # ===========cal enclose area for GIOU=============# enclose_left_up = torch.min(boxes1[..., :2], boxes2[..., :2]) enclose_right_down = torch.max(boxes1[..., 2:], boxes2[..., 2:]) enclose = torch.max(enclose_right_down - enclose_left_up, torch.zeros_like(right_down-left_up)) enclose_area = enclose[..., 0] * enclose[..., 1] # cal GIOU gious = ious - 1.0 * (enclose_area - union_area) / (enclose_area + 1e-5) return gious # def box_iou(boxes1, boxes2): # area1 = box_area(boxes1) # area2 = box_area(boxes2) # lt = torch.max(boxes1[:, None, :2], boxes2[:, :2]) # [N,M,2] # rb = torch.min(boxes1[:, None, 2:], boxes2[:, 2:]) # [N,M,2] # wh = (rb - lt).clamp(min=0) # [N,M,2] # inter = wh[:, :, 0] * wh[:, :, 1] # [N,M] # union = area1[:, None] + area2 - inter # iou = inter / union # return iou, union # def generalized_box_iou(boxes1, boxes2): # """ # Generalized IoU from https://giou.stanford.edu/ # The boxes should be in [x0, y0, x1, y1] format # Returns a [N, M] pairwise matrix, where N = len(boxes1) # and M = len(boxes2) # """ # # degenerate boxes gives inf / nan results # # so do an early check # boxes1 = boxes1.reshape(-1,4) # boxes2 = boxes2.reshape(-1,4) # assert (boxes1[:, 2:] >= boxes1[:, :2]).all() # assert (boxes2[:, 2:] >= boxes2[:, :2]).all() # iou, union = box_iou(boxes1, boxes2) # lt = torch.min(boxes1[:, None, :2], boxes2[:, :2]) # rb = torch.max(boxes1[:, None, 2:], boxes2[:, 2:]) # wh = (rb - lt).clamp(min=0) # [N,M,2] # area = wh[:, :, 0] * wh[:, :, 1] # return iou - (area - union) / area def off_to_pose(output, inds): ''' output is predicted offset ''' batch, cat, height, width = output.size() num_kps = cat // 2 ys = (inds / width).int().float() xs = (inds % width).int().float() ct_coord = torch.stack([xs,ys], dim=-1) pred_offset = _transpose_and_gather_feat(output, inds) pred_pose = ct_coord.repeat(1,1,num_kps) + pred_offset return pred_pose def kps_to_pseudo(pose, is_valid): ''' kps: b * num_person * 34 mask: b * num_person * 34 ''' # filter_pose = pose * is_valid is_valid = is_valid.reshape(is_valid.shape[0], is_valid.shape[1], 17, 2) filter_pose = pose.reshape(pose.shape[0], pose.shape[1], 17, 2) filter_pose[is_valid == 0] = 1e+5 tl = torch.min(filter_pose, dim=2)[0] filter_pose[filter_pose == 1e+5] = -1e+5 br = torch.max(filter_pose, dim =2)[0] pseudo_box = torch.cat([tl, br], dim = -1) pseudo_box[pseudo_box==1e+5] = 0 pseudo_box[pseudo_box==-1e+5] = 0 return pseudo_box.reshape(pose.shape[0], pose.shape[1], 4) class Giou(nn.Module): def __init__(self): super(Giou, self).__init__() def forward(self, output, kps_mask, inst_mask, ind, gt_pseudo): pred_pose = off_to_pose(output, ind) kps_mask = kps_mask.float() pred_pseudo = kps_to_pseudo(pred_pose, kps_mask) # import pudb;pudb.set_trace() loss = 1 - bboxes_giou(pred_pseudo, gt_pseudo) loss = loss.sum() / (inst_mask.sum() + 1e-4) return loss def _slow_neg_loss(pred, gt): '''focal loss from CornerNet''' pos_inds = gt.eq(1) neg_inds = gt.lt(1) neg_weights = torch.pow(1 - gt[neg_inds], 4) loss = 0 pos_pred = pred[pos_inds] neg_pred = pred[neg_inds] pos_loss = torch.log(pos_pred) * torch.pow(1 - pos_pred, 2) neg_loss = torch.log(1 - neg_pred) * torch.pow(neg_pred, 2) * neg_weights num_pos = pos_inds.float().sum() pos_loss = pos_loss.sum() neg_loss = neg_loss.sum() if pos_pred.nelement() == 0: loss = loss - neg_loss else: loss = loss - (pos_loss + neg_loss) / num_pos return loss def _neg_loss(pred, gt): ''' Modified focal loss. Exactly the same as CornerNet. Runs faster and costs a little bit more memory Arguments: pred (batch x c x h x w) gt_regr (batch x c x h x w) ''' pos_inds = gt.eq(1).float() neg_inds = gt.lt(1).float() neg_weights = torch.pow(1 - gt, 4) loss = 0 pos_loss = torch.log(pred) * torch.pow(1 - pred, 2) * pos_inds neg_loss = torch.log(1 - pred) * torch.pow(pred, 2) * neg_weights * neg_inds num_pos = pos_inds.float().sum() pos_loss = pos_loss.sum() neg_loss = neg_loss.sum() if num_pos == 0: loss = loss - neg_loss else: loss = loss - (pos_loss + neg_loss) / num_pos return loss def _not_faster_neg_loss(pred, gt): pos_inds = gt.eq(1).float() neg_inds = gt.lt(1).float() num_pos = pos_inds.float().sum() neg_weights = torch.pow(1 - gt, 4) loss = 0 trans_pred = pred * neg_inds + (1 - pred) * pos_inds weight = neg_weights * neg_inds + pos_inds all_loss = torch.log(1 - trans_pred) * torch.pow(trans_pred, 2) * weight all_loss = all_loss.sum() if num_pos > 0: all_loss /= num_pos loss -= all_loss return loss def _slow_reg_loss(regr, gt_regr, mask): num = mask.float().sum() mask = mask.unsqueeze(2).expand_as(gt_regr) regr = regr[mask] gt_regr = gt_regr[mask] regr_loss = nn.functional.smooth_l1_loss(regr, gt_regr, size_average=False) regr_loss = regr_loss / (num + 1e-4) return regr_loss def _reg_loss(regr, gt_regr, mask): ''' L1 regression loss Arguments: regr (batch x max_objects x dim) gt_regr (batch x max_objects x dim) mask (batch x max_objects) ''' num = mask.float().sum() mask = mask.unsqueeze(2).expand_as(gt_regr).float() regr = regr * mask gt_regr = gt_regr * mask regr_loss = nn.functional.smooth_l1_loss(regr, gt_regr, size_average=False) regr_loss = regr_loss / (num + 1e-4) return regr_loss class FocalLoss(nn.Module): '''nn.Module warpper for focal loss''' def __init__(self): super(FocalLoss, self).__init__() self.neg_loss = _neg_loss def forward(self, out, target): return self.neg_loss(out, target) class RegLoss(nn.Module): '''Regression loss for an output tensor Arguments: output (batch x dim x h x w) mask (batch x max_objects) ind (batch x max_objects) target (batch x max_objects x dim) ''' def __init__(self): super(RegLoss, self).__init__() def forward(self, output, mask, ind, target): pred = _transpose_and_gather_feat(output, ind) loss = _reg_loss(pred, target, mask) return loss class RegL1Loss(nn.Module): def __init__(self): super(RegL1Loss, self).__init__() def forward(self, output, mask, ind, target): pred = _transpose_and_gather_feat(output, ind) mask = mask.unsqueeze(2).expand_as(pred).float() # loss = F.l1_loss(pred * mask, target * mask, reduction='elementwise_mean') loss = F.l1_loss(pred * mask, target * mask, size_average=False) loss = loss / (mask.sum() + 1e-4) return loss class NormRegL1Loss(nn.Module): def __init__(self): super(NormRegL1Loss, self).__init__() def forward(self, output, mask, ind, target): pred = _transpose_and_gather_feat(output, ind) mask = mask.unsqueeze(2).expand_as(pred).float() # loss = F.l1_loss(pred * mask, target * mask, reduction='elementwise_mean') pred = pred / (target + 1e-4) target = target * 0 + 1 loss = F.l1_loss(pred * mask, target * mask, size_average=False) loss = loss / (mask.sum() + 1e-4) return loss class RegWeightedL1Loss(nn.Module): def __init__(self): super(RegWeightedL1Loss, self).__init__() def forward(self, output, mask, ind, target): pred = _transpose_and_gather_feat(output, ind) mask = mask.float() # loss = F.l1_loss(pred * mask, target * mask, reduction='elementwise_mean') loss = F.l1_loss(pred * mask, target * mask, size_average=False) loss = loss / (mask.sum() + 1e-4) return loss class RegWeightedL1Loss_coco(nn.Module): def __init__(self, with_bone=False): super(RegWeightedL1Loss_coco, self).__init__() self.with_bone = with_bone self.edges = [[0, 1], [0, 2], [1, 3], [2, 4], [5, 6], [5, 7], [7, 9], [6, 8], [8, 10], [5, 11], [6, 12], [11, 13], [13, 15], [12, 14], [14, 16]] # self.edges = [[13,1], [0,2], [0,13], [13,12], [2,4], [1,3], # [3,5], [6,7], [6,8], [8,10], [7,9], [9,11]] self.num_edges = len(self.edges) def forward(self, output, mask, ind, target): # import pudb;pudb.set_ts bs, num_persons = target.shape[:2] pred = _transpose_and_gather_feat(output, ind) mask = mask.float() # loss = F.l1_loss(pred * mask, target * mask, reduction='elementwise_mean') loss = F.l1_loss(pred * mask, target * mask, size_average=False) loss = loss / (mask.sum() + 1e-4) if self.with_bone: start, end = zip(*self.edges) mask = mask.view(bs, num_persons, 17, 2) start_mask = mask[:, :,start] end_mask = mask[:, :, end] edge_mask = (start_mask * end_mask).view(bs, num_persons,self.num_edges*2) target = target.view(bs, num_persons, 17, 2) edge_target = (target[:, :, end] - target[:, :, start]).view(bs, num_persons,self.num_edges*2) pred = pred.view(bs, num_persons, 17, 2) edge_pred = (pred[:, :, end] - pred[:, :, start]).view(bs, num_persons,self.num_edges*2) loss_edge = F.l1_loss(edge_pred * edge_mask, edge_target * edge_mask, size_average=False) loss_edge = loss_edge/(edge_mask.sum() + 1e-4) loss = (loss + loss_edge)/2 return loss class RegWeightedL1Loss_crowdpose(nn.Module): def __init__(self, with_bone=True): super(RegWeightedL1Loss_crowdpose, self).__init__() self.with_bone = with_bone self.edges = [[13,1], [0,2], [0,13], [13,12], [2,4], [1,3], [3,5], [6,7], [6,8], [8,10], [7,9], [9,11]] self.num_edges = len(self.edges) def forward(self, output, mask, ind, target): # import pudb;pudb.set_ts bs, num_persons = target.shape[:2] pred = _transpose_and_gather_feat(output, ind) mask = mask.float() # loss = F.l1_loss(pred * mask, target * mask, reduction='elementwise_mean') loss = F.l1_loss(pred * mask, target * mask, size_average=False) loss = loss / (mask.sum() + 1e-4) if self.with_bone: start, end = zip(*self.edges) mask = mask.view(bs, num_persons, 14, 2) start_mask = mask[:, :,start] end_mask = mask[:, :, end] edge_mask = (start_mask * end_mask).view(bs, num_persons,self.num_edges*2) target = target.view(bs, num_persons, 14, 2) edge_target = (target[:, :, end] - target[:, :, start]).view(bs, num_persons,self.num_edges*2) pred = pred.view(bs, num_persons, 14, 2) edge_pred = (pred[:, :, end] - pred[:, :, start]).view(bs, num_persons,self.num_edges*2) loss_edge = F.l1_loss(edge_pred * edge_mask, edge_target * edge_mask, size_average=False) loss_edge = loss_edge/(edge_mask.sum() + 1e-4) loss = (loss + loss_edge)/2 return loss class L1Loss(nn.Module): def __init__(self): super(L1Loss, self).__init__() def forward(self, output, mask, ind, target): pred = _transpose_and_gather_feat(output, ind) mask = mask.unsqueeze(2).expand_as(pred).float() loss = F.l1_loss(pred * mask, target * mask, reduction='elementwise_mean') return loss class BinRotLoss(nn.Module): def __init__(self): super(BinRotLoss, self).__init__() def forward(self, output, mask, ind, rotbin, rotres): pred = _transpose_and_gather_feat(output, ind) loss = compute_rot_loss(pred, rotbin, rotres, mask) return loss def compute_res_loss(output, target): return F.smooth_l1_loss(output, target, reduction='elementwise_mean') # TODO: weight def compute_bin_loss(output, target, mask): mask = mask.expand_as(output) output = output * mask.float() return F.cross_entropy(output, target, reduction='elementwise_mean') def compute_rot_loss(output, target_bin, target_res, mask): # output: (B, 128, 8) [bin1_cls[0], bin1_cls[1], bin1_sin, bin1_cos, # bin2_cls[0], bin2_cls[1], bin2_sin, bin2_cos] # target_bin: (B, 128, 2) [bin1_cls, bin2_cls] # target_res: (B, 128, 2) [bin1_res, bin2_res] # mask: (B, 128, 1) # import pdb; pdb.set_trace() output = output.view(-1, 8) target_bin = target_bin.view(-1, 2) target_res = target_res.view(-1, 2) mask = mask.view(-1, 1) loss_bin1 = compute_bin_loss(output[:, 0:2], target_bin[:, 0], mask) loss_bin2 = compute_bin_loss(output[:, 4:6], target_bin[:, 1], mask) loss_res = torch.zeros_like(loss_bin1) if target_bin[:, 0].nonzero().shape[0] > 0: idx1 = target_bin[:, 0].nonzero()[:, 0] valid_output1 = torch.index_select(output, 0, idx1.long()) valid_target_res1 = torch.index_select(target_res, 0, idx1.long()) loss_sin1 = compute_res_loss( valid_output1[:, 2], torch.sin(valid_target_res1[:, 0])) loss_cos1 = compute_res_loss( valid_output1[:, 3], torch.cos(valid_target_res1[:, 0])) loss_res += loss_sin1 + loss_cos1 if target_bin[:, 1].nonzero().shape[0] > 0: idx2 = target_bin[:, 1].nonzero()[:, 0] valid_output2 = torch.index_select(output, 0, idx2.long()) valid_target_res2 = torch.index_select(target_res, 0, idx2.long()) loss_sin2 = compute_res_loss( valid_output2[:, 6], torch.sin(valid_target_res2[:, 1])) loss_cos2 = compute_res_loss( valid_output2[:, 7], torch.cos(valid_target_res2[:, 1])) loss_res += loss_sin2 + loss_cos2 return loss_bin1 + loss_bin2 + loss_res ================================================ FILE: src/lib/models/model.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function #import torchvision.models as models import torch import torch.nn as nn import os # from .networks.msra_resnet import get_pose_net # from .networks.dlav0 import get_pose_net as get_dlav0 # from .networks.pose_dla_dcn import get_pose_net as get_dla_dcn_ctnet # from .networks.large_hourglass import get_large_hourglass_net from .networks.pose_dla_dcn_v2 import get_pose_net as get_dla_dcn from .networks.hrnet import get_pose_net as get_hr_net _model_factory = { # 'res': get_pose_net, # default Resnet with deconv # 'dlav0': get_dlav0, # default DLAup 'dla': get_dla_dcn, # not share feature between center branch and kps branch ; --arch dla_34 'hrnet': get_hr_net, # 'hourglass': get_large_hourglass_net, } def create_model(arch, heads, head_conv, is_train=True): num_layers = int(arch[arch.find('_') + 1:]) if '_' in arch else 0 arch = arch[:arch.find('_')] if '_' in arch else arch get_model = _model_factory[arch] model = get_model(num_layers=num_layers, heads=heads, head_conv=head_conv) return model def load_model(model, model_path, optimizer=None, resume=False, lr=None, lr_step=None): start_epoch = 0 checkpoint = torch.load(model_path, map_location=lambda storage, loc: storage) print('loaded {}, epoch {}'.format(model_path, checkpoint['epoch'])) state_dict_ = checkpoint['state_dict'] state_dict = {} # convert data_parallal to model for k in state_dict_: if k.startswith('module') and not k.startswith('module_list'): state_dict[k[7:]] = state_dict_[k] else: state_dict[k] = state_dict_[k] model_state_dict = model.state_dict() # check loaded parameters and created model parameters msg = 'If you see this, your model does not fully load the ' + \ 'pre-trained weight. Please make sure ' + \ 'you have correctly specified --arch xxx ' + \ 'or set the correct --num_classes for your own dataset.' for k in state_dict: if k in model_state_dict: if state_dict[k].shape != model_state_dict[k].shape: print('Skip loading parameter {}, required shape{}, '\ 'loaded shape{}. {}'.format( k, model_state_dict[k].shape, state_dict[k].shape, msg)) state_dict[k] = model_state_dict[k] else: print('Drop parameter {}.'.format(k) + msg) for k in model_state_dict: if not (k in state_dict): print('No param {}.'.format(k) + msg) state_dict[k] = model_state_dict[k] model.load_state_dict(state_dict, strict=False) # resume optimizer parameters if optimizer is not None and resume: if 'optimizer' in checkpoint: optimizer.load_state_dict(checkpoint['optimizer']) start_epoch = checkpoint['epoch'] start_lr = lr for step in lr_step: if start_epoch >= step: start_lr *= 0.1 for param_group in optimizer.param_groups: param_group['lr'] = start_lr print('Resumed optimizer with start lr', start_lr) else: print('No optimizer parameters in checkpoint.') if optimizer is not None: return model, optimizer, start_epoch else: return model def save_model(path, epoch, model, optimizer=None): if isinstance(model, torch.nn.DataParallel): state_dict = model.module.state_dict() else: state_dict = model.state_dict() data = {'epoch': epoch, 'state_dict': state_dict} if not (optimizer is None): data['optimizer'] = optimizer.state_dict() torch.save(data, path) ================================================ FILE: src/lib/models/networks/DCNv2/DCNv2.egg-info/PKG-INFO ================================================ Metadata-Version: 1.0 Name: DCNv2 Version: 0.1 Summary: deformable convolutional networks Home-page: https://github.com/charlesshang/DCNv2 Author: charlesshang Author-email: UNKNOWN License: UNKNOWN Description: UNKNOWN Platform: UNKNOWN ================================================ FILE: src/lib/models/networks/DCNv2/DCNv2.egg-info/SOURCES.txt ================================================ LICENSE README.md setup.py /opt/tiger/adaptivepose/src/lib/models/networks/DCNv2/src/vision.cpp /opt/tiger/adaptivepose/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_cpu.cpp /opt/tiger/adaptivepose/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_im2col_cpu.cpp /opt/tiger/adaptivepose/src/lib/models/networks/DCNv2/src/cpu/dcn_v2_psroi_pooling_cpu.cpp /opt/tiger/adaptivepose/src/lib/models/networks/DCNv2/src/cuda/dcn_v2_cuda.cu /opt/tiger/adaptivepose/src/lib/models/networks/DCNv2/src/cuda/dcn_v2_im2col_cuda.cu /opt/tiger/adaptivepose/src/lib/models/networks/DCNv2/src/cuda/dcn_v2_psroi_pooling_cuda.cu DCNv2.egg-info/PKG-INFO DCNv2.egg-info/SOURCES.txt DCNv2.egg-info/dependency_links.txt DCNv2.egg-info/top_level.txt ================================================ FILE: src/lib/models/networks/DCNv2/DCNv2.egg-info/dependency_links.txt ================================================ ================================================ FILE: src/lib/models/networks/DCNv2/DCNv2.egg-info/top_level.txt ================================================ _ext ================================================ FILE: src/lib/models/networks/DCNv2/LICENSE ================================================ BSD 3-Clause License Copyright (c) 2019, Charles Shang All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: src/lib/models/networks/DCNv2/README.md ================================================ ## Deformable Convolutional Networks V2 with Pytorch 1.X ### Build ```bash ./make.sh # build python testcpu.py # run examples and gradient check on cpu python testcuda.py # run examples and gradient check on gpu ``` ### Note Now the master branch is for pytorch 1.x, you can switch back to pytorch 0.4 with, ```bash git checkout pytorch_0.4 ``` ### Known Issues: - [x] Gradient check w.r.t offset (solved) - [ ] Backward is not reentrant (minor) This is an adaption of the official [Deformable-ConvNets](https://github.com/msracver/Deformable-ConvNets/tree/master/DCNv2_op). Update: all gradient check passes with **double** precision. Another issue is that it raises `RuntimeError: Backward is not reentrant`. However, the error is very small (`<1e-7` for float `<1e-15` for double), so it may not be a serious problem (?) Please post an issue or PR if you have any comments. ================================================ FILE: src/lib/models/networks/DCNv2/__init__.py ================================================ ================================================ FILE: src/lib/models/networks/DCNv2/dcn_v2.py ================================================ #!/usr/bin/env python from __future__ import absolute_import from __future__ import print_function from __future__ import division import math import torch from torch import nn from torch.autograd import Function from torch.nn.modules.utils import _pair from torch.autograd.function import once_differentiable import _ext as _backend class _DCNv2(Function): @staticmethod def forward(ctx, input, offset, mask, weight, bias, stride, padding, dilation, deformable_groups): ctx.stride = _pair(stride) ctx.padding = _pair(padding) ctx.dilation = _pair(dilation) ctx.kernel_size = _pair(weight.shape[2:4]) ctx.deformable_groups = deformable_groups output = _backend.dcn_v2_forward(input, weight, bias, offset, mask, ctx.kernel_size[0], ctx.kernel_size[1], ctx.stride[0], ctx.stride[1], ctx.padding[0], ctx.padding[1], ctx.dilation[0], ctx.dilation[1], ctx.deformable_groups) ctx.save_for_backward(input, offset, mask, weight, bias) return output @staticmethod @once_differentiable def backward(ctx, grad_output): input, offset, mask, weight, bias = ctx.saved_tensors grad_input, grad_offset, grad_mask, grad_weight, grad_bias = \ _backend.dcn_v2_backward(input, weight, bias, offset, mask, grad_output, ctx.kernel_size[0], ctx.kernel_size[1], ctx.stride[0], ctx.stride[1], ctx.padding[0], ctx.padding[1], ctx.dilation[0], ctx.dilation[1], ctx.deformable_groups) return grad_input, grad_offset, grad_mask, grad_weight, grad_bias,\ None, None, None, None, dcn_v2_conv = _DCNv2.apply class DCNv2(nn.Module): def __init__(self, in_channels, out_channels, kernel_size, stride, padding, dilation=1, deformable_groups=1): super(DCNv2, self).__init__() self.in_channels = in_channels self.out_channels = out_channels self.kernel_size = _pair(kernel_size) self.stride = _pair(stride) self.padding = _pair(padding) self.dilation = _pair(dilation) self.deformable_groups = deformable_groups self.weight = nn.Parameter(torch.Tensor( out_channels, in_channels, *self.kernel_size)) self.bias = nn.Parameter(torch.Tensor(out_channels)) self.reset_parameters() def reset_parameters(self): n = self.in_channels for k in self.kernel_size: n *= k stdv = 1. / math.sqrt(n) self.weight.data.uniform_(-stdv, stdv) self.bias.data.zero_() def forward(self, input, offset, mask): assert 2 * self.deformable_groups * self.kernel_size[0] * self.kernel_size[1] == \ offset.shape[1] assert self.deformable_groups * self.kernel_size[0] * self.kernel_size[1] == \ mask.shape[1] return dcn_v2_conv(input, offset, mask, self.weight, self.bias, self.stride, self.padding, self.dilation, self.deformable_groups) class DCN(DCNv2): def __init__(self, in_channels, out_channels, kernel_size, stride, padding, dilation=1, deformable_groups=1): super(DCN, self).__init__(in_channels, out_channels, kernel_size, stride, padding, dilation, deformable_groups) channels_ = self.deformable_groups * 3 * self.kernel_size[0] * self.kernel_size[1] self.conv_offset_mask = nn.Conv2d(self.in_channels, channels_, kernel_size=self.kernel_size, stride=self.stride, padding=self.padding, bias=True) self.init_offset() def init_offset(self): self.conv_offset_mask.weight.data.zero_() self.conv_offset_mask.bias.data.zero_() def forward(self, input): out = self.conv_offset_mask(input) o1, o2, mask = torch.chunk(out, 3, dim=1) offset = torch.cat((o1, o2), dim=1) mask = torch.sigmoid(mask) return dcn_v2_conv(input, offset, mask, self.weight, self.bias, self.stride, self.padding, self.dilation, self.deformable_groups) class _DCNv2Pooling(Function): @staticmethod def forward(ctx, input, rois, offset, spatial_scale, pooled_size, output_dim, no_trans, group_size=1, part_size=None, sample_per_part=4, trans_std=.0): ctx.spatial_scale = spatial_scale ctx.no_trans = int(no_trans) ctx.output_dim = output_dim ctx.group_size = group_size ctx.pooled_size = pooled_size ctx.part_size = pooled_size if part_size is None else part_size ctx.sample_per_part = sample_per_part ctx.trans_std = trans_std output, output_count = \ _backend.dcn_v2_psroi_pooling_forward(input, rois, offset, ctx.no_trans, ctx.spatial_scale, ctx.output_dim, ctx.group_size, ctx.pooled_size, ctx.part_size, ctx.sample_per_part, ctx.trans_std) ctx.save_for_backward(input, rois, offset, output_count) return output @staticmethod @once_differentiable def backward(ctx, grad_output): input, rois, offset, output_count = ctx.saved_tensors grad_input, grad_offset = \ _backend.dcn_v2_psroi_pooling_backward(grad_output, input, rois, offset, output_count, ctx.no_trans, ctx.spatial_scale, ctx.output_dim, ctx.group_size, ctx.pooled_size, ctx.part_size, ctx.sample_per_part, ctx.trans_std) return grad_input, None, grad_offset, \ None, None, None, None, None, None, None, None dcn_v2_pooling = _DCNv2Pooling.apply class DCNv2Pooling(nn.Module): def __init__(self, spatial_scale, pooled_size, output_dim, no_trans, group_size=1, part_size=None, sample_per_part=4, trans_std=.0): super(DCNv2Pooling, self).__init__() self.spatial_scale = spatial_scale self.pooled_size = pooled_size self.output_dim = output_dim self.no_trans = no_trans self.group_size = group_size self.part_size = pooled_size if part_size is None else part_size self.sample_per_part = sample_per_part self.trans_std = trans_std def forward(self, input, rois, offset): assert input.shape[1] == self.output_dim if self.no_trans: offset = input.new() return dcn_v2_pooling(input, rois, offset, self.spatial_scale, self.pooled_size, self.output_dim, self.no_trans, self.group_size, self.part_size, self.sample_per_part, self.trans_std) class DCNPooling(DCNv2Pooling): def __init__(self, spatial_scale, pooled_size, output_dim, no_trans, group_size=1, part_size=None, sample_per_part=4, trans_std=.0, deform_fc_dim=1024): super(DCNPooling, self).__init__(spatial_scale, pooled_size, output_dim, no_trans, group_size, part_size, sample_per_part, trans_std) self.deform_fc_dim = deform_fc_dim if not no_trans: self.offset_mask_fc = nn.Sequential( nn.Linear(self.pooled_size * self.pooled_size * self.output_dim, self.deform_fc_dim), nn.ReLU(inplace=True), nn.Linear(self.deform_fc_dim, self.deform_fc_dim), nn.ReLU(inplace=True), nn.Linear(self.deform_fc_dim, self.pooled_size * self.pooled_size * 3) ) self.offset_mask_fc[4].weight.data.zero_() self.offset_mask_fc[4].bias.data.zero_() def forward(self, input, rois): offset = input.new() if not self.no_trans: # do roi_align first n = rois.shape[0] roi = dcn_v2_pooling(input, rois, offset, self.spatial_scale, self.pooled_size, self.output_dim, True, # no trans self.group_size, self.part_size, self.sample_per_part, self.trans_std) # build mask and offset offset_mask = self.offset_mask_fc(roi.view(n, -1)) offset_mask = offset_mask.view( n, 3, self.pooled_size, self.pooled_size) o1, o2, mask = torch.chunk(offset_mask, 3, dim=1) offset = torch.cat((o1, o2), dim=1) mask = torch.sigmoid(mask) # do pooling with offset and mask return dcn_v2_pooling(input, rois, offset, self.spatial_scale, self.pooled_size, self.output_dim, self.no_trans, self.group_size, self.part_size, self.sample_per_part, self.trans_std) * mask # only roi_align return dcn_v2_pooling(input, rois, offset, self.spatial_scale, self.pooled_size, self.output_dim, self.no_trans, self.group_size, self.part_size, self.sample_per_part, self.trans_std) ================================================ FILE: src/lib/models/networks/DCNv2/make.sh ================================================ #!/usr/bin/env bash python setup.py build develop ================================================ FILE: src/lib/models/networks/DCNv2/setup.py ================================================ #!/usr/bin/env python import os import glob import torch from torch.utils.cpp_extension import CUDA_HOME from torch.utils.cpp_extension import CppExtension from torch.utils.cpp_extension import CUDAExtension from setuptools import find_packages from setuptools import setup requirements = ["torch", "torchvision"] def get_extensions(): this_dir = os.path.dirname(os.path.abspath(__file__)) extensions_dir = os.path.join(this_dir, "src") main_file = glob.glob(os.path.join(extensions_dir, "*.cpp")) source_cpu = glob.glob(os.path.join(extensions_dir, "cpu", "*.cpp")) source_cuda = glob.glob(os.path.join(extensions_dir, "cuda", "*.cu")) os.environ["CC"] = "g++" sources = main_file + source_cpu extension = CppExtension extra_compile_args = {"cxx": []} define_macros = [] if torch.cuda.is_available() and CUDA_HOME is not None: extension = CUDAExtension sources += source_cuda define_macros += [("WITH_CUDA", None)] extra_compile_args["nvcc"] = [ "-DCUDA_HAS_FP16=1", "-D__CUDA_NO_HALF_OPERATORS__", "-D__CUDA_NO_HALF_CONVERSIONS__", "-D__CUDA_NO_HALF2_OPERATORS__", ] else: #raise NotImplementedError('Cuda is not available') pass sources = [os.path.join(extensions_dir, s) for s in sources] include_dirs = [extensions_dir] ext_modules = [ extension( "_ext", sources, include_dirs=include_dirs, define_macros=define_macros, extra_compile_args=extra_compile_args, ) ] return ext_modules setup( name="DCNv2", version="0.1", author="charlesshang", url="https://github.com/charlesshang/DCNv2", description="deformable convolutional networks", packages=find_packages(exclude=("configs", "tests",)), # install_requires=requirements, ext_modules=get_extensions(), cmdclass={"build_ext": torch.utils.cpp_extension.BuildExtension}, ) ================================================ FILE: src/lib/models/networks/DCNv2/src/cpu/dcn_v2_cpu.cpp ================================================ #include #include "cpu/dcn_v2_im2col_cpu.h" #include //#include #include //#include //#include //extern THCState *state; // author: Charles Shang // https://github.com/torch/cunn/blob/master/lib/THCUNN/generic/SpatialConvolutionMM.cu // modified from the CUDA version for CPU use by Daniel K. Suhendro at::Tensor dcn_v2_cpu_forward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, const int dilation_h, const int dilation_w, const int deformable_group) { // THCAssertSameGPU(THCudaTensor_checkGPU(state, 5, input, weight, bias, offset, mask)); /*AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(weight.type().is_cuda(), "weight must be a CUDA tensor"); AT_ASSERTM(bias.type().is_cuda(), "bias must be a CUDA tensor"); AT_ASSERTM(offset.type().is_cuda(), "offset must be a CUDA tensor"); AT_ASSERTM(mask.type().is_cuda(), "mask must be a CUDA tensor");*/ const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_out = weight.size(0); const int channels_kernel = weight.size(1); const int kernel_h_ = weight.size(2); const int kernel_w_ = weight.size(3); // printf("Kernels: %d %d %d %d\n", kernel_h_, kernel_w_, kernel_w, kernel_h); // printf("Channels: %d %d\n", channels, channels_kernel); // printf("Channels: %d %d\n", channels_out, channels_kernel); AT_ASSERTM(kernel_h_ == kernel_h && kernel_w_ == kernel_w, "Input shape and kernel shape wont match: (%d x %d vs %d x %d).", kernel_h_, kernel_w, kernel_h_, kernel_w_); AT_ASSERTM(channels == channels_kernel, "Input shape and kernel channels wont match: (%d vs %d).", channels, channels_kernel); const int height_out = (height + 2 * pad_h - (dilation_h * (kernel_h - 1) + 1)) / stride_h + 1; const int width_out = (width + 2 * pad_w - (dilation_w * (kernel_w - 1) + 1)) / stride_w + 1; auto ones = at::ones({height_out, width_out}, input.options()); auto columns = at::empty({channels * kernel_h * kernel_w, 1 * height_out * width_out}, input.options()); auto output = at::empty({batch, channels_out, height_out, width_out}, input.options()); using scalar_t = float; for (int b = 0; b < batch; b++) { auto input_n = input.select(0, b); auto offset_n = offset.select(0, b); auto mask_n = mask.select(0, b); auto output_n = output.select(0, b); // Do Bias first: // M,N,K are dims of matrix A and B // (see http://docs.nvidia.com/cuda/cublas/#cublas-lt-t-gt-gemm) // (N x 1) (1 x M) long m_ = channels_out; long n_ = height_out * width_out; long k_ = 1; THFloatBlas_gemm('t', 'n', n_, m_, k_, 1.0f, ones.contiguous().data(), k_, bias.contiguous().data(), k_, 0.0f, output_n.data(), n_); modulated_deformable_im2col_cpu(input_n.data(), offset_n.data(), mask_n.data(), 1, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, columns.data()); //(k * m) x (m * n) // Y = WC long m = channels_out; long n = height_out * width_out; long k = channels * kernel_h * kernel_w; THFloatBlas_gemm('n', 'n', n, m, k, 1.0f, columns.data(), n, weight.data(), k, 1.0f, output_n.data(), n); } return output; } std::vector dcn_v2_cpu_backward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const at::Tensor &grad_output, int kernel_h, int kernel_w, int stride_h, int stride_w, int pad_h, int pad_w, int dilation_h, int dilation_w, int deformable_group) { THArgCheck(input.is_contiguous(), 1, "input tensor has to be contiguous"); THArgCheck(weight.is_contiguous(), 2, "weight tensor has to be contiguous"); /*AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(weight.type().is_cuda(), "weight must be a CUDA tensor"); AT_ASSERTM(bias.type().is_cuda(), "bias must be a CUDA tensor"); AT_ASSERTM(offset.type().is_cuda(), "offset must be a CUDA tensor"); AT_ASSERTM(mask.type().is_cuda(), "mask must be a CUDA tensor");*/ const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_out = weight.size(0); const int channels_kernel = weight.size(1); const int kernel_h_ = weight.size(2); const int kernel_w_ = weight.size(3); AT_ASSERTM(kernel_h_ == kernel_h && kernel_w_ == kernel_w, "Input shape and kernel shape wont match: (%d x %d vs %d x %d).", kernel_h_, kernel_w, kernel_h_, kernel_w_); AT_ASSERTM(channels == channels_kernel, "Input shape and kernel channels wont match: (%d vs %d).", channels, channels_kernel); const int height_out = (height + 2 * pad_h - (dilation_h * (kernel_h - 1) + 1)) / stride_h + 1; const int width_out = (width + 2 * pad_w - (dilation_w * (kernel_w - 1) + 1)) / stride_w + 1; auto ones = at::ones({height_out, width_out}, input.options()); auto columns = at::empty({channels * kernel_h * kernel_w, 1 * height_out * width_out}, input.options()); auto output = at::empty({batch, channels_out, height_out, width_out}, input.options()); auto grad_input = at::zeros_like(input); auto grad_weight = at::zeros_like(weight); auto grad_bias = at::zeros_like(bias); auto grad_offset = at::zeros_like(offset); auto grad_mask = at::zeros_like(mask); using scalar_t = float; for (int b = 0; b < batch; b++) { auto input_n = input.select(0, b); auto offset_n = offset.select(0, b); auto mask_n = mask.select(0, b); auto grad_output_n = grad_output.select(0, b); auto grad_input_n = grad_input.select(0, b); auto grad_offset_n = grad_offset.select(0, b); auto grad_mask_n = grad_mask.select(0, b); long m = channels * kernel_h * kernel_w; long n = height_out * width_out; long k = channels_out; THFloatBlas_gemm('n', 't', n, m, k, 1.0f, grad_output_n.data(), n, weight.data(), m, 0.0f, columns.data(), n); // gradient w.r.t. input coordinate data modulated_deformable_col2im_coord_cpu(columns.data(), input_n.data(), offset_n.data(), mask_n.data(), 1, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, grad_offset_n.data(), grad_mask_n.data()); // gradient w.r.t. input data modulated_deformable_col2im_cpu(columns.data(), offset_n.data(), mask_n.data(), 1, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, grad_input_n.data()); // gradient w.r.t. weight, dWeight should accumulate across the batch and group modulated_deformable_im2col_cpu(input_n.data(), offset_n.data(), mask_n.data(), 1, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, columns.data()); long m_ = channels_out; long n_ = channels * kernel_h * kernel_w; long k_ = height_out * width_out; THFloatBlas_gemm('t', 'n', n_, m_, k_, 1.0f, columns.data(), k_, grad_output_n.data(), k_, 1.0f, grad_weight.data(), n_); // gradient w.r.t. bias // long m_ = channels_out; // long k__ = height_out * width_out; THFloatBlas_gemv('t', k_, m_, 1.0f, grad_output_n.data(), k_, ones.data(), 1, 1.0f, grad_bias.data(), 1); } return { grad_input, grad_offset, grad_mask, grad_weight, grad_bias }; } ================================================ FILE: src/lib/models/networks/DCNv2/src/cpu/dcn_v2_im2col_cpu.cpp ================================================ #include "dcn_v2_im2col_cpu.h" #include #include #include #include //#include #include //#include //#include // modified from the CUDA version for CPU use by Daniel K. Suhendro /*#define CUDA_KERNEL_LOOP(i, n) \ for (int i = blockIdx.x * blockDim.x + threadIdx.x; \ i < (n); \ i += blockDim.x * gridDim.x) const int CUDA_NUM_THREADS = 1024; inline int GET_BLOCKS(const int N) { return (N + CUDA_NUM_THREADS - 1) / CUDA_NUM_THREADS; }*/ float dmcn_im2col_bilinear_cpu(const float *bottom_data, const int data_width, const int height, const int width, float h, float w) { int h_low = floor(h); int w_low = floor(w); int h_high = h_low + 1; int w_high = w_low + 1; float lh = h - h_low; float lw = w - w_low; float hh = 1 - lh, hw = 1 - lw; float v1 = 0; if (h_low >= 0 && w_low >= 0) v1 = bottom_data[h_low * data_width + w_low]; float v2 = 0; if (h_low >= 0 && w_high <= width - 1) v2 = bottom_data[h_low * data_width + w_high]; float v3 = 0; if (h_high <= height - 1 && w_low >= 0) v3 = bottom_data[h_high * data_width + w_low]; float v4 = 0; if (h_high <= height - 1 && w_high <= width - 1) v4 = bottom_data[h_high * data_width + w_high]; float w1 = hh * hw, w2 = hh * lw, w3 = lh * hw, w4 = lh * lw; float val = (w1 * v1 + w2 * v2 + w3 * v3 + w4 * v4); return val; } float dmcn_get_gradient_weight_cpu(float argmax_h, float argmax_w, const int h, const int w, const int height, const int width) { if (argmax_h <= -1 || argmax_h >= height || argmax_w <= -1 || argmax_w >= width) { //empty return 0; } int argmax_h_low = floor(argmax_h); int argmax_w_low = floor(argmax_w); int argmax_h_high = argmax_h_low + 1; int argmax_w_high = argmax_w_low + 1; float weight = 0; if (h == argmax_h_low && w == argmax_w_low) weight = (h + 1 - argmax_h) * (w + 1 - argmax_w); if (h == argmax_h_low && w == argmax_w_high) weight = (h + 1 - argmax_h) * (argmax_w + 1 - w); if (h == argmax_h_high && w == argmax_w_low) weight = (argmax_h + 1 - h) * (w + 1 - argmax_w); if (h == argmax_h_high && w == argmax_w_high) weight = (argmax_h + 1 - h) * (argmax_w + 1 - w); return weight; } float dmcn_get_coordinate_weight_cpu(float argmax_h, float argmax_w, const int height, const int width, const float *im_data, const int data_width, const int bp_dir) { if (argmax_h <= -1 || argmax_h >= height || argmax_w <= -1 || argmax_w >= width) { //empty return 0; } int argmax_h_low = floor(argmax_h); int argmax_w_low = floor(argmax_w); int argmax_h_high = argmax_h_low + 1; int argmax_w_high = argmax_w_low + 1; float weight = 0; if (bp_dir == 0) { if (argmax_h_low >= 0 && argmax_w_low >= 0) weight += -1 * (argmax_w_low + 1 - argmax_w) * im_data[argmax_h_low * data_width + argmax_w_low]; if (argmax_h_low >= 0 && argmax_w_high <= width - 1) weight += -1 * (argmax_w - argmax_w_low) * im_data[argmax_h_low * data_width + argmax_w_high]; if (argmax_h_high <= height - 1 && argmax_w_low >= 0) weight += (argmax_w_low + 1 - argmax_w) * im_data[argmax_h_high * data_width + argmax_w_low]; if (argmax_h_high <= height - 1 && argmax_w_high <= width - 1) weight += (argmax_w - argmax_w_low) * im_data[argmax_h_high * data_width + argmax_w_high]; } else if (bp_dir == 1) { if (argmax_h_low >= 0 && argmax_w_low >= 0) weight += -1 * (argmax_h_low + 1 - argmax_h) * im_data[argmax_h_low * data_width + argmax_w_low]; if (argmax_h_low >= 0 && argmax_w_high <= width - 1) weight += (argmax_h_low + 1 - argmax_h) * im_data[argmax_h_low * data_width + argmax_w_high]; if (argmax_h_high <= height - 1 && argmax_w_low >= 0) weight += -1 * (argmax_h - argmax_h_low) * im_data[argmax_h_high * data_width + argmax_w_low]; if (argmax_h_high <= height - 1 && argmax_w_high <= width - 1) weight += (argmax_h - argmax_h_low) * im_data[argmax_h_high * data_width + argmax_w_high]; } return weight; } void modulated_deformable_im2col_cpu_kernel(const int n, const float *data_im, const float *data_offset, const float *data_mask, const int height, const int width, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int channel_per_deformable_group, const int batch_size, const int num_channels, const int deformable_group, const int height_col, const int width_col, float *data_col) { // launch channels * batch_size * height_col * width_col cores for(int index=0; index(0); const float h_im = h_in + i * dilation_h + offset_h; const float w_im = w_in + j * dilation_w + offset_w; //if (h_im >= 0 && w_im >= 0 && h_im < height && w_im < width) { if (h_im > -1 && w_im > -1 && h_im < height && w_im < width) { //const float map_h = i * dilation_h + offset_h; //const float map_w = j * dilation_w + offset_w; //const int cur_height = height - h_in; //const int cur_width = width - w_in; //val = dmcn_im2col_bilinear_cpu(data_im_ptr, width, cur_height, cur_width, map_h, map_w); val = dmcn_im2col_bilinear_cpu(data_im_ptr, width, height, width, h_im, w_im); } *data_col_ptr = val * mask; // data_col_ptr += batch_size * height_col * width_col; data_col_ptr += height_col * width_col; } } } } void modulated_deformable_col2im_cpu_kernel(const int n, const float *data_col, const float *data_offset, const float *data_mask, const int channels, const int height, const int width, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int channel_per_deformable_group, const int batch_size, const int deformable_group, const int height_col, const int width_col, float *grad_im) { for(int index = 0; index < n; index++) { const int j = (index / width_col / height_col / batch_size) % kernel_w; const int i = (index / width_col / height_col / batch_size / kernel_w) % kernel_h; const int c = index / width_col / height_col / batch_size / kernel_w / kernel_h; // compute the start and end of the output const int deformable_group_index = c / channel_per_deformable_group; int w_out = index % width_col; int h_out = (index / width_col) % height_col; int b = (index / width_col / height_col) % batch_size; int w_in = w_out * stride_w - pad_w; int h_in = h_out * stride_h - pad_h; const float *data_offset_ptr = data_offset + (b * deformable_group + deformable_group_index) * 2 * kernel_h * kernel_w * height_col * width_col; const float *data_mask_ptr = data_mask + (b * deformable_group + deformable_group_index) * kernel_h * kernel_w * height_col * width_col; const int data_offset_h_ptr = ((2 * (i * kernel_w + j)) * height_col + h_out) * width_col + w_out; const int data_offset_w_ptr = ((2 * (i * kernel_w + j) + 1) * height_col + h_out) * width_col + w_out; const int data_mask_hw_ptr = ((i * kernel_w + j) * height_col + h_out) * width_col + w_out; const float offset_h = data_offset_ptr[data_offset_h_ptr]; const float offset_w = data_offset_ptr[data_offset_w_ptr]; const float mask = data_mask_ptr[data_mask_hw_ptr]; const float cur_inv_h_data = h_in + i * dilation_h + offset_h; const float cur_inv_w_data = w_in + j * dilation_w + offset_w; const float cur_top_grad = data_col[index] * mask; const int cur_h = (int)cur_inv_h_data; const int cur_w = (int)cur_inv_w_data; for (int dy = -2; dy <= 2; dy++) { for (int dx = -2; dx <= 2; dx++) { if (cur_h + dy >= 0 && cur_h + dy < height && cur_w + dx >= 0 && cur_w + dx < width && abs(cur_inv_h_data - (cur_h + dy)) < 1 && abs(cur_inv_w_data - (cur_w + dx)) < 1) { int cur_bottom_grad_pos = ((b * channels + c) * height + cur_h + dy) * width + cur_w + dx; float weight = dmcn_get_gradient_weight_cpu(cur_inv_h_data, cur_inv_w_data, cur_h + dy, cur_w + dx, height, width); //atomicAdd(grad_im + cur_bottom_grad_pos, weight * cur_top_grad); *(grad_im + cur_bottom_grad_pos) += weight * cur_top_grad; } } } } } void modulated_deformable_col2im_coord_cpu_kernel(const int n, const float *data_col, const float *data_im, const float *data_offset, const float *data_mask, const int channels, const int height, const int width, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int channel_per_deformable_group, const int batch_size, const int offset_channels, const int deformable_group, const int height_col, const int width_col, float *grad_offset, float *grad_mask) { for(int index = 0; index < n; index++) { float val = 0, mval = 0; int w = index % width_col; int h = (index / width_col) % height_col; int c = (index / width_col / height_col) % offset_channels; int b = (index / width_col / height_col) / offset_channels; // compute the start and end of the output const int deformable_group_index = c / (2 * kernel_h * kernel_w); const int col_step = kernel_h * kernel_w; int cnt = 0; const float *data_col_ptr = data_col + deformable_group_index * channel_per_deformable_group * batch_size * width_col * height_col; const float *data_im_ptr = data_im + (b * deformable_group + deformable_group_index) * channel_per_deformable_group / kernel_h / kernel_w * height * width; const float *data_offset_ptr = data_offset + (b * deformable_group + deformable_group_index) * 2 * kernel_h * kernel_w * height_col * width_col; const float *data_mask_ptr = data_mask + (b * deformable_group + deformable_group_index) * kernel_h * kernel_w * height_col * width_col; const int offset_c = c - deformable_group_index * 2 * kernel_h * kernel_w; for (int col_c = (offset_c / 2); col_c < channel_per_deformable_group; col_c += col_step) { const int col_pos = (((col_c * batch_size + b) * height_col) + h) * width_col + w; const int bp_dir = offset_c % 2; int j = (col_pos / width_col / height_col / batch_size) % kernel_w; int i = (col_pos / width_col / height_col / batch_size / kernel_w) % kernel_h; int w_out = col_pos % width_col; int h_out = (col_pos / width_col) % height_col; int w_in = w_out * stride_w - pad_w; int h_in = h_out * stride_h - pad_h; const int data_offset_h_ptr = (((2 * (i * kernel_w + j)) * height_col + h_out) * width_col + w_out); const int data_offset_w_ptr = (((2 * (i * kernel_w + j) + 1) * height_col + h_out) * width_col + w_out); const int data_mask_hw_ptr = (((i * kernel_w + j) * height_col + h_out) * width_col + w_out); const float offset_h = data_offset_ptr[data_offset_h_ptr]; const float offset_w = data_offset_ptr[data_offset_w_ptr]; const float mask = data_mask_ptr[data_mask_hw_ptr]; float inv_h = h_in + i * dilation_h + offset_h; float inv_w = w_in + j * dilation_w + offset_w; if (inv_h <= -1 || inv_w <= -1 || inv_h >= height || inv_w >= width) { inv_h = inv_w = -2; } else { mval += data_col_ptr[col_pos] * dmcn_im2col_bilinear_cpu(data_im_ptr + cnt * height * width, width, height, width, inv_h, inv_w); } const float weight = dmcn_get_coordinate_weight_cpu( inv_h, inv_w, height, width, data_im_ptr + cnt * height * width, width, bp_dir); val += weight * data_col_ptr[col_pos] * mask; cnt += 1; } // KERNEL_ASSIGN(grad_offset[index], offset_req, val); grad_offset[index] = val; if (offset_c % 2 == 0) // KERNEL_ASSIGN(grad_mask[(((b * deformable_group + deformable_group_index) * kernel_h * kernel_w + offset_c / 2) * height_col + h) * width_col + w], mask_req, mval); grad_mask[(((b * deformable_group + deformable_group_index) * kernel_h * kernel_w + offset_c / 2) * height_col + h) * width_col + w] = mval; } } void modulated_deformable_im2col_cpu(const float* data_im, const float* data_offset, const float* data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float* data_col) { // num_axes should be smaller than block size const int channel_per_deformable_group = channels / deformable_group; const int num_kernels = channels * batch_size * height_col * width_col; modulated_deformable_im2col_cpu_kernel( num_kernels, data_im, data_offset, data_mask, height_im, width_im, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, channel_per_deformable_group, batch_size, channels, deformable_group, height_col, width_col, data_col); /*cudaError_t err = cudaGetLastError(); if (err != cudaSuccess) { printf("error in modulated_deformable_im2col_cuda: %s\n", cudaGetErrorString(err)); }*/ } void modulated_deformable_col2im_cpu(const float* data_col, const float* data_offset, const float* data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float* grad_im){ const int channel_per_deformable_group = channels / deformable_group; const int num_kernels = channels * kernel_h * kernel_w * batch_size * height_col * width_col; modulated_deformable_col2im_cpu_kernel( num_kernels, data_col, data_offset, data_mask, channels, height_im, width_im, kernel_h, kernel_w, pad_h, pad_h, stride_h, stride_w, dilation_h, dilation_w, channel_per_deformable_group, batch_size, deformable_group, height_col, width_col, grad_im); /*cudaError_t err = cudaGetLastError(); if (err != cudaSuccess) { printf("error in modulated_deformable_col2im_cuda: %s\n", cudaGetErrorString(err)); }*/ } void modulated_deformable_col2im_coord_cpu(const float* data_col, const float* data_im, const float* data_offset, const float* data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float* grad_offset, float* grad_mask) { const int num_kernels = batch_size * height_col * width_col * 2 * kernel_h * kernel_w * deformable_group; const int channel_per_deformable_group = channels * kernel_h * kernel_w / deformable_group; modulated_deformable_col2im_coord_cpu_kernel( num_kernels, data_col, data_im, data_offset, data_mask, channels, height_im, width_im, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, channel_per_deformable_group, batch_size, 2 * kernel_h * kernel_w * deformable_group, deformable_group, height_col, width_col, grad_offset, grad_mask); /*cudaError_t err = cudaGetLastError(); if (err != cudaSuccess) { printf("error in modulated_deformable_col2im_coord_cuda: %s\n", cudaGetErrorString(err)); }*/ } ================================================ FILE: src/lib/models/networks/DCNv2/src/cpu/dcn_v2_im2col_cpu.h ================================================ /*! ******************* BEGIN Caffe Copyright Notice and Disclaimer **************** * * COPYRIGHT * * All contributions by the University of California: * Copyright (c) 2014-2017 The Regents of the University of California (Regents) * All rights reserved. * * All other contributions: * Copyright (c) 2014-2017, the respective contributors * All rights reserved. * * Caffe uses a shared copyright model: each contributor holds copyright over * their contributions to Caffe. The project versioning records all such * contribution and copyright details. If a contributor wants to further mark * their specific copyright on a particular contribution, they should indicate * their copyright solely in the commit message of the change when it is * committed. * * LICENSE * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * CONTRIBUTION AGREEMENT * * By contributing to the BVLC/caffe repository through pull-request, comment, * or otherwise, the contributor releases their content to the * license and copyright terms herein. * ***************** END Caffe Copyright Notice and Disclaimer ******************** * * Copyright (c) 2018 Microsoft * Licensed under The MIT License [see LICENSE for details] * \file modulated_deformable_im2col.h * \brief Function definitions of converting an image to * column matrix based on kernel, padding, dilation, and offset. * These functions are mainly used in deformable convolution operators. * \ref: https://arxiv.org/abs/1811.11168 * \author Yuwen Xiong, Haozhi Qi, Jifeng Dai, Xizhou Zhu, Han Hu */ /***************** Adapted by Charles Shang *********************/ // modified from the CUDA version for CPU use by Daniel K. Suhendro #ifndef DCN_V2_IM2COL_CPU #define DCN_V2_IM2COL_CPU #ifdef __cplusplus extern "C" { #endif void modulated_deformable_im2col_cpu(const float *data_im, const float *data_offset, const float *data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kenerl_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float *data_col); void modulated_deformable_col2im_cpu(const float *data_col, const float *data_offset, const float *data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kenerl_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float *grad_im); void modulated_deformable_col2im_coord_cpu(const float *data_col, const float *data_im, const float *data_offset, const float *data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kenerl_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float *grad_offset, float *grad_mask); #ifdef __cplusplus } #endif #endif ================================================ FILE: src/lib/models/networks/DCNv2/src/cpu/dcn_v2_psroi_pooling_cpu.cpp ================================================ /*! * Copyright (c) 2017 Microsoft * Licensed under The MIT License [see LICENSE for details] * \file deformable_psroi_pooling.cu * \brief * \author Yi Li, Guodong Zhang, Jifeng Dai */ /***************** Adapted by Charles Shang *********************/ // modified from the CUDA version for CPU use by Daniel K. Suhendro #include #include #include #include //#include #include //#include //#include /*#define CUDA_KERNEL_LOOP(i, n) \ for (int i = blockIdx.x * blockDim.x + threadIdx.x; \ i < (n); \ i += blockDim.x * gridDim.x) const int CUDA_NUM_THREADS = 1024; inline int GET_BLOCKS(const int N) { return (N + CUDA_NUM_THREADS - 1) / CUDA_NUM_THREADS; }*/ template T bilinear_interp_cpu( const T *data, const T x, const T y, const int width, const int height) { int x1 = floor(x); int x2 = ceil(x); int y1 = floor(y); int y2 = ceil(y); T dist_x = static_cast(x - x1); T dist_y = static_cast(y - y1); T value11 = data[y1 * width + x1]; T value12 = data[y2 * width + x1]; T value21 = data[y1 * width + x2]; T value22 = data[y2 * width + x2]; T value = (1 - dist_x) * (1 - dist_y) * value11 + (1 - dist_x) * dist_y * value12 + dist_x * (1 - dist_y) * value21 + dist_x * dist_y * value22; return value; } template void DeformablePSROIPoolForwardKernelCpu( const int count, const T *bottom_data, const T spatial_scale, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, const T *bottom_rois, const T *bottom_trans, const int no_trans, const T trans_std, const int sample_per_part, const int output_dim, const int group_size, const int part_size, const int num_classes, const int channels_each_class, T *top_data, T *top_count) { for(int index = 0; index < count; index++) { // The output is in order (n, ctop, ph, pw) int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int ctop = (index / pooled_width / pooled_height) % output_dim; int n = index / pooled_width / pooled_height / output_dim; // [start, end) interval for spatial sampling const T *offset_bottom_rois = bottom_rois + n * 5; int roi_batch_ind = offset_bottom_rois[0]; T roi_start_w = static_cast(round(offset_bottom_rois[1])) * spatial_scale - 0.5; T roi_start_h = static_cast(round(offset_bottom_rois[2])) * spatial_scale - 0.5; T roi_end_w = static_cast(round(offset_bottom_rois[3]) + 1.) * spatial_scale - 0.5; T roi_end_h = static_cast(round(offset_bottom_rois[4]) + 1.) * spatial_scale - 0.5; // Force too small ROIs to be 1x1 T roi_width = std::max(roi_end_w - roi_start_w, T(0.1)); //avoid 0 T roi_height = std::max(roi_end_h - roi_start_h, T(0.1)); // Compute w and h at bottom T bin_size_h = roi_height / static_cast(pooled_height); T bin_size_w = roi_width / static_cast(pooled_width); T sub_bin_size_h = bin_size_h / static_cast(sample_per_part); T sub_bin_size_w = bin_size_w / static_cast(sample_per_part); int part_h = floor(static_cast(ph) / pooled_height * part_size); int part_w = floor(static_cast(pw) / pooled_width * part_size); int class_id = ctop / channels_each_class; T trans_x = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2) * part_size + part_h) * part_size + part_w] * trans_std; T trans_y = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2 + 1) * part_size + part_h) * part_size + part_w] * trans_std; T wstart = static_cast(pw) * bin_size_w + roi_start_w; wstart += trans_x * roi_width; T hstart = static_cast(ph) * bin_size_h + roi_start_h; hstart += trans_y * roi_height; T sum = 0; int count = 0; int gw = floor(static_cast(pw) * group_size / pooled_width); int gh = floor(static_cast(ph) * group_size / pooled_height); gw = std::min(std::max(gw, 0), group_size - 1); gh = std::min(std::max(gh, 0), group_size - 1); const T *offset_bottom_data = bottom_data + (roi_batch_ind * channels) * height * width; for (int ih = 0; ih < sample_per_part; ih++) { for (int iw = 0; iw < sample_per_part; iw++) { T w = wstart + iw * sub_bin_size_w; T h = hstart + ih * sub_bin_size_h; // bilinear interpolation if (w < -0.5 || w > width - 0.5 || h < -0.5 || h > height - 0.5) { continue; } w = std::min(std::max(w, T(0.)), width - T(1.)); h = std::min(std::max(h, T(0.)), height - T(1.)); int c = (ctop * group_size + gh) * group_size + gw; T val = bilinear_interp_cpu(offset_bottom_data + c * height * width, w, h, width, height); sum += val; count++; } } top_data[index] = count == 0 ? static_cast(0) : sum / count; top_count[index] = count; } } template void DeformablePSROIPoolBackwardAccKernelCpu( const int count, const T *top_diff, const T *top_count, const int num_rois, const T spatial_scale, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, const int output_dim, T *bottom_data_diff, T *bottom_trans_diff, const T *bottom_data, const T *bottom_rois, const T *bottom_trans, const int no_trans, const T trans_std, const int sample_per_part, const int group_size, const int part_size, const int num_classes, const int channels_each_class) { for(int index = 0; index < count; index++) { // The output is in order (n, ctop, ph, pw) int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int ctop = (index / pooled_width / pooled_height) % output_dim; int n = index / pooled_width / pooled_height / output_dim; // [start, end) interval for spatial sampling const T *offset_bottom_rois = bottom_rois + n * 5; int roi_batch_ind = offset_bottom_rois[0]; T roi_start_w = static_cast(round(offset_bottom_rois[1])) * spatial_scale - 0.5; T roi_start_h = static_cast(round(offset_bottom_rois[2])) * spatial_scale - 0.5; T roi_end_w = static_cast(round(offset_bottom_rois[3]) + 1.) * spatial_scale - 0.5; T roi_end_h = static_cast(round(offset_bottom_rois[4]) + 1.) * spatial_scale - 0.5; // Force too small ROIs to be 1x1 T roi_width = std::max(roi_end_w - roi_start_w, T(0.1)); //avoid 0 T roi_height = std::max(roi_end_h - roi_start_h, T(0.1)); // Compute w and h at bottom T bin_size_h = roi_height / static_cast(pooled_height); T bin_size_w = roi_width / static_cast(pooled_width); T sub_bin_size_h = bin_size_h / static_cast(sample_per_part); T sub_bin_size_w = bin_size_w / static_cast(sample_per_part); int part_h = floor(static_cast(ph) / pooled_height * part_size); int part_w = floor(static_cast(pw) / pooled_width * part_size); int class_id = ctop / channels_each_class; T trans_x = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2) * part_size + part_h) * part_size + part_w] * trans_std; T trans_y = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2 + 1) * part_size + part_h) * part_size + part_w] * trans_std; T wstart = static_cast(pw) * bin_size_w + roi_start_w; wstart += trans_x * roi_width; T hstart = static_cast(ph) * bin_size_h + roi_start_h; hstart += trans_y * roi_height; if (top_count[index] <= 0) { continue; } T diff_val = top_diff[index] / top_count[index]; const T *offset_bottom_data = bottom_data + roi_batch_ind * channels * height * width; T *offset_bottom_data_diff = bottom_data_diff + roi_batch_ind * channels * height * width; int gw = floor(static_cast(pw) * group_size / pooled_width); int gh = floor(static_cast(ph) * group_size / pooled_height); gw = std::min(std::max(gw, 0), group_size - 1); gh = std::min(std::max(gh, 0), group_size - 1); for (int ih = 0; ih < sample_per_part; ih++) { for (int iw = 0; iw < sample_per_part; iw++) { T w = wstart + iw * sub_bin_size_w; T h = hstart + ih * sub_bin_size_h; // bilinear interpolation if (w < -0.5 || w > width - 0.5 || h < -0.5 || h > height - 0.5) { continue; } w = std::min(std::max(w, T(0.)), width - T(1.)); h = std::min(std::max(h, T(0.)), height - T(1.)); int c = (ctop * group_size + gh) * group_size + gw; // backward on feature int x0 = floor(w); int x1 = ceil(w); int y0 = floor(h); int y1 = ceil(h); T dist_x = w - x0, dist_y = h - y0; T q00 = (1 - dist_x) * (1 - dist_y); T q01 = (1 - dist_x) * dist_y; T q10 = dist_x * (1 - dist_y); T q11 = dist_x * dist_y; int bottom_index_base = c * height * width; /*atomicAdd(offset_bottom_data_diff + bottom_index_base + y0 * width + x0, q00 * diff_val); atomicAdd(offset_bottom_data_diff + bottom_index_base + y1 * width + x0, q01 * diff_val); atomicAdd(offset_bottom_data_diff + bottom_index_base + y0 * width + x1, q10 * diff_val); atomicAdd(offset_bottom_data_diff + bottom_index_base + y1 * width + x1, q11 * diff_val);*/ *(offset_bottom_data_diff + bottom_index_base + y0 * width + x0) += q00 * diff_val; *(offset_bottom_data_diff + bottom_index_base + y1 * width + x0) += q01 * diff_val; *(offset_bottom_data_diff + bottom_index_base + y0 * width + x1) += q10 * diff_val; *(offset_bottom_data_diff + bottom_index_base + y1 * width + x1) += q11 * diff_val; if (no_trans) { continue; } T U00 = offset_bottom_data[bottom_index_base + y0 * width + x0]; T U01 = offset_bottom_data[bottom_index_base + y1 * width + x0]; T U10 = offset_bottom_data[bottom_index_base + y0 * width + x1]; T U11 = offset_bottom_data[bottom_index_base + y1 * width + x1]; T diff_x = (U11 * dist_y + U10 * (1 - dist_y) - U01 * dist_y - U00 * (1 - dist_y)) * trans_std * diff_val; diff_x *= roi_width; T diff_y = (U11 * dist_x + U01 * (1 - dist_x) - U10 * dist_x - U00 * (1 - dist_x)) * trans_std * diff_val; diff_y *= roi_height; /*atomicAdd(bottom_trans_diff + (((n * num_classes + class_id) * 2) * part_size + part_h) * part_size + part_w, diff_x); atomicAdd(bottom_trans_diff + (((n * num_classes + class_id) * 2 + 1) * part_size + part_h) * part_size + part_w, diff_y);*/ *(bottom_trans_diff + (((n * num_classes + class_id) * 2) * part_size + part_h) * part_size + part_w) += diff_x; *(bottom_trans_diff + (((n * num_classes + class_id) * 2 + 1) * part_size + part_h) * part_size + part_w) += diff_y; } } } } std::tuple dcn_v2_psroi_pooling_cpu_forward(const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std) { /*AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(bbox.type().is_cuda(), "rois must be a CUDA tensor"); AT_ASSERTM(trans.type().is_cuda(), "trans must be a CUDA tensor");*/ const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_trans = no_trans ? 2 : trans.size(1); const int num_bbox = bbox.size(0); AT_ASSERTM(channels == output_dim, "input channels and output channels must equal"); auto pooled_height = pooled_size; auto pooled_width = pooled_size; auto out = at::empty({num_bbox, output_dim, pooled_height, pooled_width}, input.options()); long out_size = num_bbox * output_dim * pooled_height * pooled_width; auto top_count = at::zeros({num_bbox, output_dim, pooled_height, pooled_width}, input.options()); const int num_classes = no_trans ? 1 : channels_trans / 2; const int channels_each_class = no_trans ? output_dim : output_dim / num_classes; //cudaStream_t stream = at::cuda::getCurrentCUDAStream(); if (out.numel() == 0) { //THCudaCheck(cudaGetLastError()); return std::make_tuple(out, top_count); } /*dim3 grid(std::min(THCCeilDiv(out_size, 512L), 4096L)); dim3 block(512);*/ AT_DISPATCH_FLOATING_TYPES(input.type(), "dcn_v2_psroi_pooling_cpu_forward", [&] { DeformablePSROIPoolForwardKernelCpu( out_size, input.contiguous().data(), spatial_scale, channels, height, width, pooled_height, pooled_width, bbox.contiguous().data(), trans.contiguous().data(), no_trans, trans_std, sample_per_part, output_dim, group_size, part_size, num_classes, channels_each_class, out.data(), top_count.data()); }); //THCudaCheck(cudaGetLastError()); return std::make_tuple(out, top_count); } std::tuple dcn_v2_psroi_pooling_cpu_backward(const at::Tensor &out_grad, const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const at::Tensor &top_count, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std) { /*AT_ASSERTM(out_grad.type().is_cuda(), "out_grad must be a CUDA tensor"); AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(bbox.type().is_cuda(), "bbox must be a CUDA tensor"); AT_ASSERTM(trans.type().is_cuda(), "trans must be a CUDA tensor"); AT_ASSERTM(top_count.type().is_cuda(), "top_count must be a CUDA tensor");*/ const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_trans = no_trans ? 2 : trans.size(1); const int num_bbox = bbox.size(0); AT_ASSERTM(channels == output_dim, "input channels and output channels must equal"); auto pooled_height = pooled_size; auto pooled_width = pooled_size; long out_size = num_bbox * output_dim * pooled_height * pooled_width; const int num_classes = no_trans ? 1 : channels_trans / 2; const int channels_each_class = no_trans ? output_dim : output_dim / num_classes; auto input_grad = at::zeros({batch, channels, height, width}, out_grad.options()); auto trans_grad = at::zeros_like(trans); if (input_grad.numel() == 0) { //THCudaCheck(cudaGetLastError()); return std::make_tuple(input_grad, trans_grad); } /*dim3 grid(std::min(THCCeilDiv(out_size, 512L), 4096L)); dim3 block(512); cudaStream_t stream = at::cuda::getCurrentCUDAStream();*/ AT_DISPATCH_FLOATING_TYPES(out_grad.type(), "dcn_v2_psroi_pooling_cpu_backward", [&] { DeformablePSROIPoolBackwardAccKernelCpu( out_size, out_grad.contiguous().data(), top_count.contiguous().data(), num_bbox, spatial_scale, channels, height, width, pooled_height, pooled_width, output_dim, input_grad.contiguous().data(), trans_grad.contiguous().data(), input.contiguous().data(), bbox.contiguous().data(), trans.contiguous().data(), no_trans, trans_std, sample_per_part, group_size, part_size, num_classes, channels_each_class); }); //THCudaCheck(cudaGetLastError()); return std::make_tuple(input_grad, trans_grad); } ================================================ FILE: src/lib/models/networks/DCNv2/src/cpu/vision.h ================================================ #pragma once #include at::Tensor dcn_v2_cpu_forward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, const int dilation_h, const int dilation_w, const int deformable_group); std::vector dcn_v2_cpu_backward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const at::Tensor &grad_output, int kernel_h, int kernel_w, int stride_h, int stride_w, int pad_h, int pad_w, int dilation_h, int dilation_w, int deformable_group); std::tuple dcn_v2_psroi_pooling_cpu_forward(const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std); std::tuple dcn_v2_psroi_pooling_cpu_backward(const at::Tensor &out_grad, const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const at::Tensor &top_count, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std); ================================================ FILE: src/lib/models/networks/DCNv2/src/cuda/dcn_v2_cuda.cu ================================================ #include #include "cuda/dcn_v2_im2col_cuda.h" #include #include #include #include #include THCState *state = at::globalContext().lazyInitCUDA(); // author: Charles Shang // https://github.com/torch/cunn/blob/master/lib/THCUNN/generic/SpatialConvolutionMM.cu // [batch gemm] // https://github.com/pytorch/pytorch/blob/master/aten/src/THC/generic/THCTensorMathBlas.cu __global__ void createBatchGemmBuffer(const float **input_b, float **output_b, float **columns_b, const float **ones_b, const float **weight_b, const float **bias_b, float *input, float *output, float *columns, float *ones, float *weight, float *bias, const int input_stride, const int output_stride, const int columns_stride, const int ones_stride, const int num_batches) { const int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx < num_batches) { input_b[idx] = input + idx * input_stride; output_b[idx] = output + idx * output_stride; columns_b[idx] = columns + idx * columns_stride; ones_b[idx] = ones + idx * ones_stride; // share weights and bias within a Mini-Batch weight_b[idx] = weight; bias_b[idx] = bias; } } at::Tensor dcn_v2_cuda_forward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, const int dilation_h, const int dilation_w, const int deformable_group) { using scalar_t = float; // THCAssertSameGPU(THCudaTensor_checkGPU(state, 5, input, weight, bias, offset, mask)); AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(weight.type().is_cuda(), "weight must be a CUDA tensor"); AT_ASSERTM(bias.type().is_cuda(), "bias must be a CUDA tensor"); AT_ASSERTM(offset.type().is_cuda(), "offset must be a CUDA tensor"); AT_ASSERTM(mask.type().is_cuda(), "mask must be a CUDA tensor"); const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_out = weight.size(0); const int channels_kernel = weight.size(1); const int kernel_h_ = weight.size(2); const int kernel_w_ = weight.size(3); // printf("Kernels: %d %d %d %d\n", kernel_h_, kernel_w_, kernel_w, kernel_h); // printf("Channels: %d %d\n", channels, channels_kernel); // printf("Channels: %d %d\n", channels_out, channels_kernel); AT_ASSERTM(kernel_h_ == kernel_h && kernel_w_ == kernel_w, "Input shape and kernel shape wont match: (%d x %d vs %d x %d).", kernel_h_, kernel_w, kernel_h_, kernel_w_); AT_ASSERTM(channels == channels_kernel, "Input shape and kernel channels wont match: (%d vs %d).", channels, channels_kernel); const int height_out = (height + 2 * pad_h - (dilation_h * (kernel_h - 1) + 1)) / stride_h + 1; const int width_out = (width + 2 * pad_w - (dilation_w * (kernel_w - 1) + 1)) / stride_w + 1; auto ones = at::ones({batch, height_out, width_out}, input.options()); auto columns = at::empty({batch, channels * kernel_h * kernel_w, 1 * height_out * width_out}, input.options()); auto output = at::empty({batch, channels_out, height_out, width_out}, input.options()); // prepare for batch-wise computing, which is significantly faster than instance-wise computing // when batch size is large. // launch batch threads int matrices_size = batch * sizeof(float *); auto input_b = static_cast(THCudaMalloc(state, matrices_size)); auto output_b = static_cast(THCudaMalloc(state, matrices_size)); auto columns_b = static_cast(THCudaMalloc(state, matrices_size)); auto ones_b = static_cast(THCudaMalloc(state, matrices_size)); auto weight_b = static_cast(THCudaMalloc(state, matrices_size)); auto bias_b = static_cast(THCudaMalloc(state, matrices_size)); const int block = 128; const int grid = (batch + block - 1) / block; createBatchGemmBuffer<<>>( input_b, output_b, columns_b, ones_b, weight_b, bias_b, input.data(), output.data(), columns.data(), ones.data(), weight.data(), bias.data(), channels * width * height, channels_out * width_out * height_out, channels * kernel_h * kernel_w * height_out * width_out, height_out * width_out, batch); long m_ = channels_out; long n_ = height_out * width_out; long k_ = 1; THCudaBlas_SgemmBatched(state, 't', 'n', n_, m_, k_, 1.0f, ones_b, k_, bias_b, k_, 0.0f, output_b, n_, batch); modulated_deformable_im2col_cuda(THCState_getCurrentStream(state), input.data(), offset.data(), mask.data(), batch, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, columns.data()); long m = channels_out; long n = height_out * width_out; long k = channels * kernel_h * kernel_w; THCudaBlas_SgemmBatched(state, 'n', 'n', n, m, k, 1.0f, (const float **)columns_b, n, weight_b, k, 1.0f, output_b, n, batch); THCudaFree(state, input_b); THCudaFree(state, output_b); THCudaFree(state, columns_b); THCudaFree(state, ones_b); THCudaFree(state, weight_b); THCudaFree(state, bias_b); return output; } __global__ void createBatchGemmBufferBackward( float **grad_output_b, float **columns_b, float **ones_b, float **weight_b, float **grad_weight_b, float **grad_bias_b, float *grad_output, float *columns, float *ones, float *weight, float *grad_weight, float *grad_bias, const int grad_output_stride, const int columns_stride, const int ones_stride, const int num_batches) { const int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx < num_batches) { grad_output_b[idx] = grad_output + idx * grad_output_stride; columns_b[idx] = columns + idx * columns_stride; ones_b[idx] = ones + idx * ones_stride; // share weights and bias within a Mini-Batch weight_b[idx] = weight; grad_weight_b[idx] = grad_weight; grad_bias_b[idx] = grad_bias; } } std::vector dcn_v2_cuda_backward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const at::Tensor &grad_output, int kernel_h, int kernel_w, int stride_h, int stride_w, int pad_h, int pad_w, int dilation_h, int dilation_w, int deformable_group) { THArgCheck(input.is_contiguous(), 1, "input tensor has to be contiguous"); THArgCheck(weight.is_contiguous(), 2, "weight tensor has to be contiguous"); AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(weight.type().is_cuda(), "weight must be a CUDA tensor"); AT_ASSERTM(bias.type().is_cuda(), "bias must be a CUDA tensor"); AT_ASSERTM(offset.type().is_cuda(), "offset must be a CUDA tensor"); AT_ASSERTM(mask.type().is_cuda(), "mask must be a CUDA tensor"); const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_out = weight.size(0); const int channels_kernel = weight.size(1); const int kernel_h_ = weight.size(2); const int kernel_w_ = weight.size(3); AT_ASSERTM(kernel_h_ == kernel_h && kernel_w_ == kernel_w, "Input shape and kernel shape wont match: (%d x %d vs %d x %d).", kernel_h_, kernel_w, kernel_h_, kernel_w_); AT_ASSERTM(channels == channels_kernel, "Input shape and kernel channels wont match: (%d vs %d).", channels, channels_kernel); const int height_out = (height + 2 * pad_h - (dilation_h * (kernel_h - 1) + 1)) / stride_h + 1; const int width_out = (width + 2 * pad_w - (dilation_w * (kernel_w - 1) + 1)) / stride_w + 1; auto ones = at::ones({height_out, width_out}, input.options()); auto columns = at::empty({channels * kernel_h * kernel_w, 1 * height_out * width_out}, input.options()); auto output = at::empty({batch, channels_out, height_out, width_out}, input.options()); auto grad_input = at::zeros_like(input); auto grad_weight = at::zeros_like(weight); auto grad_bias = at::zeros_like(bias); auto grad_offset = at::zeros_like(offset); auto grad_mask = at::zeros_like(mask); using scalar_t = float; for (int b = 0; b < batch; b++) { auto input_n = input.select(0, b); auto offset_n = offset.select(0, b); auto mask_n = mask.select(0, b); auto grad_output_n = grad_output.select(0, b); auto grad_input_n = grad_input.select(0, b); auto grad_offset_n = grad_offset.select(0, b); auto grad_mask_n = grad_mask.select(0, b); long m = channels * kernel_h * kernel_w; long n = height_out * width_out; long k = channels_out; THCudaBlas_Sgemm(state, 'n', 't', n, m, k, 1.0f, grad_output_n.data(), n, weight.data(), m, 0.0f, columns.data(), n); // gradient w.r.t. input coordinate data modulated_deformable_col2im_coord_cuda(THCState_getCurrentStream(state), columns.data(), input_n.data(), offset_n.data(), mask_n.data(), 1, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, grad_offset_n.data(), grad_mask_n.data()); // gradient w.r.t. input data modulated_deformable_col2im_cuda(THCState_getCurrentStream(state), columns.data(), offset_n.data(), mask_n.data(), 1, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, grad_input_n.data()); // gradient w.r.t. weight, dWeight should accumulate across the batch and group modulated_deformable_im2col_cuda(THCState_getCurrentStream(state), input_n.data(), offset_n.data(), mask_n.data(), 1, channels, height, width, height_out, width_out, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, deformable_group, columns.data()); long m_ = channels_out; long n_ = channels * kernel_h * kernel_w; long k_ = height_out * width_out; THCudaBlas_Sgemm(state, 't', 'n', n_, m_, k_, 1.0f, columns.data(), k_, grad_output_n.data(), k_, 1.0f, grad_weight.data(), n_); // gradient w.r.t. bias // long m_ = channels_out; // long k__ = height_out * width_out; THCudaBlas_Sgemv(state, 't', k_, m_, 1.0f, grad_output_n.data(), k_, ones.data(), 1, 1.0f, grad_bias.data(), 1); } return { grad_input, grad_offset, grad_mask, grad_weight, grad_bias }; } ================================================ FILE: src/lib/models/networks/DCNv2/src/cuda/dcn_v2_im2col_cuda.cu ================================================ #include "dcn_v2_im2col_cuda.h" #include #include #include #include #include #include #include #include #define CUDA_KERNEL_LOOP(i, n) \ for (int i = blockIdx.x * blockDim.x + threadIdx.x; \ i < (n); \ i += blockDim.x * gridDim.x) const int CUDA_NUM_THREADS = 1024; inline int GET_BLOCKS(const int N) { return (N + CUDA_NUM_THREADS - 1) / CUDA_NUM_THREADS; } __device__ float dmcn_im2col_bilinear_cuda(const float *bottom_data, const int data_width, const int height, const int width, float h, float w) { int h_low = floor(h); int w_low = floor(w); int h_high = h_low + 1; int w_high = w_low + 1; float lh = h - h_low; float lw = w - w_low; float hh = 1 - lh, hw = 1 - lw; float v1 = 0; if (h_low >= 0 && w_low >= 0) v1 = bottom_data[h_low * data_width + w_low]; float v2 = 0; if (h_low >= 0 && w_high <= width - 1) v2 = bottom_data[h_low * data_width + w_high]; float v3 = 0; if (h_high <= height - 1 && w_low >= 0) v3 = bottom_data[h_high * data_width + w_low]; float v4 = 0; if (h_high <= height - 1 && w_high <= width - 1) v4 = bottom_data[h_high * data_width + w_high]; float w1 = hh * hw, w2 = hh * lw, w3 = lh * hw, w4 = lh * lw; float val = (w1 * v1 + w2 * v2 + w3 * v3 + w4 * v4); return val; } __device__ float dmcn_get_gradient_weight_cuda(float argmax_h, float argmax_w, const int h, const int w, const int height, const int width) { if (argmax_h <= -1 || argmax_h >= height || argmax_w <= -1 || argmax_w >= width) { //empty return 0; } int argmax_h_low = floor(argmax_h); int argmax_w_low = floor(argmax_w); int argmax_h_high = argmax_h_low + 1; int argmax_w_high = argmax_w_low + 1; float weight = 0; if (h == argmax_h_low && w == argmax_w_low) weight = (h + 1 - argmax_h) * (w + 1 - argmax_w); if (h == argmax_h_low && w == argmax_w_high) weight = (h + 1 - argmax_h) * (argmax_w + 1 - w); if (h == argmax_h_high && w == argmax_w_low) weight = (argmax_h + 1 - h) * (w + 1 - argmax_w); if (h == argmax_h_high && w == argmax_w_high) weight = (argmax_h + 1 - h) * (argmax_w + 1 - w); return weight; } __device__ float dmcn_get_coordinate_weight_cuda(float argmax_h, float argmax_w, const int height, const int width, const float *im_data, const int data_width, const int bp_dir) { if (argmax_h <= -1 || argmax_h >= height || argmax_w <= -1 || argmax_w >= width) { //empty return 0; } int argmax_h_low = floor(argmax_h); int argmax_w_low = floor(argmax_w); int argmax_h_high = argmax_h_low + 1; int argmax_w_high = argmax_w_low + 1; float weight = 0; if (bp_dir == 0) { if (argmax_h_low >= 0 && argmax_w_low >= 0) weight += -1 * (argmax_w_low + 1 - argmax_w) * im_data[argmax_h_low * data_width + argmax_w_low]; if (argmax_h_low >= 0 && argmax_w_high <= width - 1) weight += -1 * (argmax_w - argmax_w_low) * im_data[argmax_h_low * data_width + argmax_w_high]; if (argmax_h_high <= height - 1 && argmax_w_low >= 0) weight += (argmax_w_low + 1 - argmax_w) * im_data[argmax_h_high * data_width + argmax_w_low]; if (argmax_h_high <= height - 1 && argmax_w_high <= width - 1) weight += (argmax_w - argmax_w_low) * im_data[argmax_h_high * data_width + argmax_w_high]; } else if (bp_dir == 1) { if (argmax_h_low >= 0 && argmax_w_low >= 0) weight += -1 * (argmax_h_low + 1 - argmax_h) * im_data[argmax_h_low * data_width + argmax_w_low]; if (argmax_h_low >= 0 && argmax_w_high <= width - 1) weight += (argmax_h_low + 1 - argmax_h) * im_data[argmax_h_low * data_width + argmax_w_high]; if (argmax_h_high <= height - 1 && argmax_w_low >= 0) weight += -1 * (argmax_h - argmax_h_low) * im_data[argmax_h_high * data_width + argmax_w_low]; if (argmax_h_high <= height - 1 && argmax_w_high <= width - 1) weight += (argmax_h - argmax_h_low) * im_data[argmax_h_high * data_width + argmax_w_high]; } return weight; } __global__ void modulated_deformable_im2col_gpu_kernel(const int n, const float *data_im, const float *data_offset, const float *data_mask, const int height, const int width, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int channel_per_deformable_group, const int batch_size, const int num_channels, const int deformable_group, const int height_col, const int width_col, float *data_col) { // launch channels * batch_size * height_col * width_col cores CUDA_KERNEL_LOOP(index, n) { // NOTE(CharlesShang): different from Dai Jifeng's MXNet implementation, col_buffer is of shape (c*kw*kh, N, oh, ow) // here columns is of shape (N, c*kw*kh, oh * ow), need to adapt axis // index index of output matrix const int w_col = index % width_col; const int h_col = (index / width_col) % height_col; // const int b_col = (index / width_col / height_col) % batch_size; const int b_col = (index / width_col / height_col / num_channels) % batch_size; // const int c_im = (index / width_col / height_col) / batch_size; const int c_im = (index / width_col / height_col) % num_channels; // const int c_col = c_im * kernel_h * kernel_w; const int c_col = c_im * kernel_h * kernel_w; // compute deformable group index const int deformable_group_index = c_im / channel_per_deformable_group; const int h_in = h_col * stride_h - pad_h; const int w_in = w_col * stride_w - pad_w; // float *data_col_ptr = data_col + ((c_col * batch_size + b_col) * height_col + h_col) * width_col + w_col; float *data_col_ptr = data_col + ((b_col * num_channels * kernel_w * kernel_h + c_col) * height_col + h_col) * width_col + w_col; //const float* data_im_ptr = data_im + ((b_col * num_channels + c_im) * height + h_in) * width + w_in; const float *data_im_ptr = data_im + (b_col * num_channels + c_im) * height * width; const float *data_offset_ptr = data_offset + (b_col * deformable_group + deformable_group_index) * 2 * kernel_h * kernel_w * height_col * width_col; const float *data_mask_ptr = data_mask + (b_col * deformable_group + deformable_group_index) * kernel_h * kernel_w * height_col * width_col; for (int i = 0; i < kernel_h; ++i) { for (int j = 0; j < kernel_w; ++j) { const int data_offset_h_ptr = ((2 * (i * kernel_w + j)) * height_col + h_col) * width_col + w_col; const int data_offset_w_ptr = ((2 * (i * kernel_w + j) + 1) * height_col + h_col) * width_col + w_col; const int data_mask_hw_ptr = ((i * kernel_w + j) * height_col + h_col) * width_col + w_col; const float offset_h = data_offset_ptr[data_offset_h_ptr]; const float offset_w = data_offset_ptr[data_offset_w_ptr]; const float mask = data_mask_ptr[data_mask_hw_ptr]; float val = static_cast(0); const float h_im = h_in + i * dilation_h + offset_h; const float w_im = w_in + j * dilation_w + offset_w; //if (h_im >= 0 && w_im >= 0 && h_im < height && w_im < width) { if (h_im > -1 && w_im > -1 && h_im < height && w_im < width) { //const float map_h = i * dilation_h + offset_h; //const float map_w = j * dilation_w + offset_w; //const int cur_height = height - h_in; //const int cur_width = width - w_in; //val = dmcn_im2col_bilinear_cuda(data_im_ptr, width, cur_height, cur_width, map_h, map_w); val = dmcn_im2col_bilinear_cuda(data_im_ptr, width, height, width, h_im, w_im); } *data_col_ptr = val * mask; // data_col_ptr += batch_size * height_col * width_col; data_col_ptr += height_col * width_col; } } } } __global__ void modulated_deformable_col2im_gpu_kernel(const int n, const float *data_col, const float *data_offset, const float *data_mask, const int channels, const int height, const int width, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int channel_per_deformable_group, const int batch_size, const int deformable_group, const int height_col, const int width_col, float *grad_im) { CUDA_KERNEL_LOOP(index, n) { const int j = (index / width_col / height_col / batch_size) % kernel_w; const int i = (index / width_col / height_col / batch_size / kernel_w) % kernel_h; const int c = index / width_col / height_col / batch_size / kernel_w / kernel_h; // compute the start and end of the output const int deformable_group_index = c / channel_per_deformable_group; int w_out = index % width_col; int h_out = (index / width_col) % height_col; int b = (index / width_col / height_col) % batch_size; int w_in = w_out * stride_w - pad_w; int h_in = h_out * stride_h - pad_h; const float *data_offset_ptr = data_offset + (b * deformable_group + deformable_group_index) * 2 * kernel_h * kernel_w * height_col * width_col; const float *data_mask_ptr = data_mask + (b * deformable_group + deformable_group_index) * kernel_h * kernel_w * height_col * width_col; const int data_offset_h_ptr = ((2 * (i * kernel_w + j)) * height_col + h_out) * width_col + w_out; const int data_offset_w_ptr = ((2 * (i * kernel_w + j) + 1) * height_col + h_out) * width_col + w_out; const int data_mask_hw_ptr = ((i * kernel_w + j) * height_col + h_out) * width_col + w_out; const float offset_h = data_offset_ptr[data_offset_h_ptr]; const float offset_w = data_offset_ptr[data_offset_w_ptr]; const float mask = data_mask_ptr[data_mask_hw_ptr]; const float cur_inv_h_data = h_in + i * dilation_h + offset_h; const float cur_inv_w_data = w_in + j * dilation_w + offset_w; const float cur_top_grad = data_col[index] * mask; const int cur_h = (int)cur_inv_h_data; const int cur_w = (int)cur_inv_w_data; for (int dy = -2; dy <= 2; dy++) { for (int dx = -2; dx <= 2; dx++) { if (cur_h + dy >= 0 && cur_h + dy < height && cur_w + dx >= 0 && cur_w + dx < width && abs(cur_inv_h_data - (cur_h + dy)) < 1 && abs(cur_inv_w_data - (cur_w + dx)) < 1) { int cur_bottom_grad_pos = ((b * channels + c) * height + cur_h + dy) * width + cur_w + dx; float weight = dmcn_get_gradient_weight_cuda(cur_inv_h_data, cur_inv_w_data, cur_h + dy, cur_w + dx, height, width); atomicAdd(grad_im + cur_bottom_grad_pos, weight * cur_top_grad); } } } } } __global__ void modulated_deformable_col2im_coord_gpu_kernel(const int n, const float *data_col, const float *data_im, const float *data_offset, const float *data_mask, const int channels, const int height, const int width, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int channel_per_deformable_group, const int batch_size, const int offset_channels, const int deformable_group, const int height_col, const int width_col, float *grad_offset, float *grad_mask) { CUDA_KERNEL_LOOP(index, n) { float val = 0, mval = 0; int w = index % width_col; int h = (index / width_col) % height_col; int c = (index / width_col / height_col) % offset_channels; int b = (index / width_col / height_col) / offset_channels; // compute the start and end of the output const int deformable_group_index = c / (2 * kernel_h * kernel_w); const int col_step = kernel_h * kernel_w; int cnt = 0; const float *data_col_ptr = data_col + deformable_group_index * channel_per_deformable_group * batch_size * width_col * height_col; const float *data_im_ptr = data_im + (b * deformable_group + deformable_group_index) * channel_per_deformable_group / kernel_h / kernel_w * height * width; const float *data_offset_ptr = data_offset + (b * deformable_group + deformable_group_index) * 2 * kernel_h * kernel_w * height_col * width_col; const float *data_mask_ptr = data_mask + (b * deformable_group + deformable_group_index) * kernel_h * kernel_w * height_col * width_col; const int offset_c = c - deformable_group_index * 2 * kernel_h * kernel_w; for (int col_c = (offset_c / 2); col_c < channel_per_deformable_group; col_c += col_step) { const int col_pos = (((col_c * batch_size + b) * height_col) + h) * width_col + w; const int bp_dir = offset_c % 2; int j = (col_pos / width_col / height_col / batch_size) % kernel_w; int i = (col_pos / width_col / height_col / batch_size / kernel_w) % kernel_h; int w_out = col_pos % width_col; int h_out = (col_pos / width_col) % height_col; int w_in = w_out * stride_w - pad_w; int h_in = h_out * stride_h - pad_h; const int data_offset_h_ptr = (((2 * (i * kernel_w + j)) * height_col + h_out) * width_col + w_out); const int data_offset_w_ptr = (((2 * (i * kernel_w + j) + 1) * height_col + h_out) * width_col + w_out); const int data_mask_hw_ptr = (((i * kernel_w + j) * height_col + h_out) * width_col + w_out); const float offset_h = data_offset_ptr[data_offset_h_ptr]; const float offset_w = data_offset_ptr[data_offset_w_ptr]; const float mask = data_mask_ptr[data_mask_hw_ptr]; float inv_h = h_in + i * dilation_h + offset_h; float inv_w = w_in + j * dilation_w + offset_w; if (inv_h <= -1 || inv_w <= -1 || inv_h >= height || inv_w >= width) { inv_h = inv_w = -2; } else { mval += data_col_ptr[col_pos] * dmcn_im2col_bilinear_cuda(data_im_ptr + cnt * height * width, width, height, width, inv_h, inv_w); } const float weight = dmcn_get_coordinate_weight_cuda( inv_h, inv_w, height, width, data_im_ptr + cnt * height * width, width, bp_dir); val += weight * data_col_ptr[col_pos] * mask; cnt += 1; } // KERNEL_ASSIGN(grad_offset[index], offset_req, val); grad_offset[index] = val; if (offset_c % 2 == 0) // KERNEL_ASSIGN(grad_mask[(((b * deformable_group + deformable_group_index) * kernel_h * kernel_w + offset_c / 2) * height_col + h) * width_col + w], mask_req, mval); grad_mask[(((b * deformable_group + deformable_group_index) * kernel_h * kernel_w + offset_c / 2) * height_col + h) * width_col + w] = mval; } } void modulated_deformable_im2col_cuda(cudaStream_t stream, const float* data_im, const float* data_offset, const float* data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float* data_col) { // num_axes should be smaller than block size const int channel_per_deformable_group = channels / deformable_group; const int num_kernels = channels * batch_size * height_col * width_col; modulated_deformable_im2col_gpu_kernel <<>>( num_kernels, data_im, data_offset, data_mask, height_im, width_im, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, channel_per_deformable_group, batch_size, channels, deformable_group, height_col, width_col, data_col); cudaError_t err = cudaGetLastError(); if (err != cudaSuccess) { printf("error in modulated_deformable_im2col_cuda: %s\n", cudaGetErrorString(err)); } } void modulated_deformable_col2im_cuda(cudaStream_t stream, const float* data_col, const float* data_offset, const float* data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float* grad_im){ const int channel_per_deformable_group = channels / deformable_group; const int num_kernels = channels * kernel_h * kernel_w * batch_size * height_col * width_col; modulated_deformable_col2im_gpu_kernel <<>>( num_kernels, data_col, data_offset, data_mask, channels, height_im, width_im, kernel_h, kernel_w, pad_h, pad_h, stride_h, stride_w, dilation_h, dilation_w, channel_per_deformable_group, batch_size, deformable_group, height_col, width_col, grad_im); cudaError_t err = cudaGetLastError(); if (err != cudaSuccess) { printf("error in modulated_deformable_col2im_cuda: %s\n", cudaGetErrorString(err)); } } void modulated_deformable_col2im_coord_cuda(cudaStream_t stream, const float* data_col, const float* data_im, const float* data_offset, const float* data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kernel_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float* grad_offset, float* grad_mask) { const int num_kernels = batch_size * height_col * width_col * 2 * kernel_h * kernel_w * deformable_group; const int channel_per_deformable_group = channels * kernel_h * kernel_w / deformable_group; modulated_deformable_col2im_coord_gpu_kernel <<>>( num_kernels, data_col, data_im, data_offset, data_mask, channels, height_im, width_im, kernel_h, kernel_w, pad_h, pad_w, stride_h, stride_w, dilation_h, dilation_w, channel_per_deformable_group, batch_size, 2 * kernel_h * kernel_w * deformable_group, deformable_group, height_col, width_col, grad_offset, grad_mask); cudaError_t err = cudaGetLastError(); if (err != cudaSuccess) { printf("error in modulated_deformable_col2im_coord_cuda: %s\n", cudaGetErrorString(err)); } } ================================================ FILE: src/lib/models/networks/DCNv2/src/cuda/dcn_v2_im2col_cuda.h ================================================ /*! ******************* BEGIN Caffe Copyright Notice and Disclaimer **************** * * COPYRIGHT * * All contributions by the University of California: * Copyright (c) 2014-2017 The Regents of the University of California (Regents) * All rights reserved. * * All other contributions: * Copyright (c) 2014-2017, the respective contributors * All rights reserved. * * Caffe uses a shared copyright model: each contributor holds copyright over * their contributions to Caffe. The project versioning records all such * contribution and copyright details. If a contributor wants to further mark * their specific copyright on a particular contribution, they should indicate * their copyright solely in the commit message of the change when it is * committed. * * LICENSE * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * CONTRIBUTION AGREEMENT * * By contributing to the BVLC/caffe repository through pull-request, comment, * or otherwise, the contributor releases their content to the * license and copyright terms herein. * ***************** END Caffe Copyright Notice and Disclaimer ******************** * * Copyright (c) 2018 Microsoft * Licensed under The MIT License [see LICENSE for details] * \file modulated_deformable_im2col.h * \brief Function definitions of converting an image to * column matrix based on kernel, padding, dilation, and offset. * These functions are mainly used in deformable convolution operators. * \ref: https://arxiv.org/abs/1811.11168 * \author Yuwen Xiong, Haozhi Qi, Jifeng Dai, Xizhou Zhu, Han Hu */ /***************** Adapted by Charles Shang *********************/ #ifndef DCN_V2_IM2COL_CUDA #define DCN_V2_IM2COL_CUDA #ifdef __cplusplus extern "C" { #endif void modulated_deformable_im2col_cuda(cudaStream_t stream, const float *data_im, const float *data_offset, const float *data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kenerl_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float *data_col); void modulated_deformable_col2im_cuda(cudaStream_t stream, const float *data_col, const float *data_offset, const float *data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kenerl_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float *grad_im); void modulated_deformable_col2im_coord_cuda(cudaStream_t stream, const float *data_col, const float *data_im, const float *data_offset, const float *data_mask, const int batch_size, const int channels, const int height_im, const int width_im, const int height_col, const int width_col, const int kernel_h, const int kenerl_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, const int dilation_h, const int dilation_w, const int deformable_group, float *grad_offset, float *grad_mask); #ifdef __cplusplus } #endif #endif ================================================ FILE: src/lib/models/networks/DCNv2/src/cuda/dcn_v2_psroi_pooling_cuda.cu ================================================ /*! * Copyright (c) 2017 Microsoft * Licensed under The MIT License [see LICENSE for details] * \file deformable_psroi_pooling.cu * \brief * \author Yi Li, Guodong Zhang, Jifeng Dai */ /***************** Adapted by Charles Shang *********************/ #include #include #include #include #include #include #include #include #include #define CUDA_KERNEL_LOOP(i, n) \ for (int i = blockIdx.x * blockDim.x + threadIdx.x; \ i < (n); \ i += blockDim.x * gridDim.x) const int CUDA_NUM_THREADS = 1024; inline int GET_BLOCKS(const int N) { return (N + CUDA_NUM_THREADS - 1) / CUDA_NUM_THREADS; } template __device__ T bilinear_interp_cuda( const T *data, const T x, const T y, const int width, const int height) { int x1 = floor(x); int x2 = ceil(x); int y1 = floor(y); int y2 = ceil(y); T dist_x = static_cast(x - x1); T dist_y = static_cast(y - y1); T value11 = data[y1 * width + x1]; T value12 = data[y2 * width + x1]; T value21 = data[y1 * width + x2]; T value22 = data[y2 * width + x2]; T value = (1 - dist_x) * (1 - dist_y) * value11 + (1 - dist_x) * dist_y * value12 + dist_x * (1 - dist_y) * value21 + dist_x * dist_y * value22; return value; } template __global__ void DeformablePSROIPoolForwardKernelCuda( const int count, const T *bottom_data, const T spatial_scale, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, const T *bottom_rois, const T *bottom_trans, const int no_trans, const T trans_std, const int sample_per_part, const int output_dim, const int group_size, const int part_size, const int num_classes, const int channels_each_class, T *top_data, T *top_count) { CUDA_KERNEL_LOOP(index, count) { // The output is in order (n, ctop, ph, pw) int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int ctop = (index / pooled_width / pooled_height) % output_dim; int n = index / pooled_width / pooled_height / output_dim; // [start, end) interval for spatial sampling const T *offset_bottom_rois = bottom_rois + n * 5; int roi_batch_ind = offset_bottom_rois[0]; T roi_start_w = static_cast(round(offset_bottom_rois[1])) * spatial_scale - 0.5; T roi_start_h = static_cast(round(offset_bottom_rois[2])) * spatial_scale - 0.5; T roi_end_w = static_cast(round(offset_bottom_rois[3]) + 1.) * spatial_scale - 0.5; T roi_end_h = static_cast(round(offset_bottom_rois[4]) + 1.) * spatial_scale - 0.5; // Force too small ROIs to be 1x1 T roi_width = max(roi_end_w - roi_start_w, 0.1); //avoid 0 T roi_height = max(roi_end_h - roi_start_h, 0.1); // Compute w and h at bottom T bin_size_h = roi_height / static_cast(pooled_height); T bin_size_w = roi_width / static_cast(pooled_width); T sub_bin_size_h = bin_size_h / static_cast(sample_per_part); T sub_bin_size_w = bin_size_w / static_cast(sample_per_part); int part_h = floor(static_cast(ph) / pooled_height * part_size); int part_w = floor(static_cast(pw) / pooled_width * part_size); int class_id = ctop / channels_each_class; T trans_x = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2) * part_size + part_h) * part_size + part_w] * trans_std; T trans_y = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2 + 1) * part_size + part_h) * part_size + part_w] * trans_std; T wstart = static_cast(pw) * bin_size_w + roi_start_w; wstart += trans_x * roi_width; T hstart = static_cast(ph) * bin_size_h + roi_start_h; hstart += trans_y * roi_height; T sum = 0; int count = 0; int gw = floor(static_cast(pw) * group_size / pooled_width); int gh = floor(static_cast(ph) * group_size / pooled_height); gw = min(max(gw, 0), group_size - 1); gh = min(max(gh, 0), group_size - 1); const T *offset_bottom_data = bottom_data + (roi_batch_ind * channels) * height * width; for (int ih = 0; ih < sample_per_part; ih++) { for (int iw = 0; iw < sample_per_part; iw++) { T w = wstart + iw * sub_bin_size_w; T h = hstart + ih * sub_bin_size_h; // bilinear interpolation if (w < -0.5 || w > width - 0.5 || h < -0.5 || h > height - 0.5) { continue; } w = min(max(w, 0.), width - 1.); h = min(max(h, 0.), height - 1.); int c = (ctop * group_size + gh) * group_size + gw; T val = bilinear_interp_cuda(offset_bottom_data + c * height * width, w, h, width, height); sum += val; count++; } } top_data[index] = count == 0 ? static_cast(0) : sum / count; top_count[index] = count; } } template __global__ void DeformablePSROIPoolBackwardAccKernelCuda( const int count, const T *top_diff, const T *top_count, const int num_rois, const T spatial_scale, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, const int output_dim, T *bottom_data_diff, T *bottom_trans_diff, const T *bottom_data, const T *bottom_rois, const T *bottom_trans, const int no_trans, const T trans_std, const int sample_per_part, const int group_size, const int part_size, const int num_classes, const int channels_each_class) { CUDA_KERNEL_LOOP(index, count) { // The output is in order (n, ctop, ph, pw) int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int ctop = (index / pooled_width / pooled_height) % output_dim; int n = index / pooled_width / pooled_height / output_dim; // [start, end) interval for spatial sampling const T *offset_bottom_rois = bottom_rois + n * 5; int roi_batch_ind = offset_bottom_rois[0]; T roi_start_w = static_cast(round(offset_bottom_rois[1])) * spatial_scale - 0.5; T roi_start_h = static_cast(round(offset_bottom_rois[2])) * spatial_scale - 0.5; T roi_end_w = static_cast(round(offset_bottom_rois[3]) + 1.) * spatial_scale - 0.5; T roi_end_h = static_cast(round(offset_bottom_rois[4]) + 1.) * spatial_scale - 0.5; // Force too small ROIs to be 1x1 T roi_width = max(roi_end_w - roi_start_w, 0.1); //avoid 0 T roi_height = max(roi_end_h - roi_start_h, 0.1); // Compute w and h at bottom T bin_size_h = roi_height / static_cast(pooled_height); T bin_size_w = roi_width / static_cast(pooled_width); T sub_bin_size_h = bin_size_h / static_cast(sample_per_part); T sub_bin_size_w = bin_size_w / static_cast(sample_per_part); int part_h = floor(static_cast(ph) / pooled_height * part_size); int part_w = floor(static_cast(pw) / pooled_width * part_size); int class_id = ctop / channels_each_class; T trans_x = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2) * part_size + part_h) * part_size + part_w] * trans_std; T trans_y = no_trans ? static_cast(0) : bottom_trans[(((n * num_classes + class_id) * 2 + 1) * part_size + part_h) * part_size + part_w] * trans_std; T wstart = static_cast(pw) * bin_size_w + roi_start_w; wstart += trans_x * roi_width; T hstart = static_cast(ph) * bin_size_h + roi_start_h; hstart += trans_y * roi_height; if (top_count[index] <= 0) { continue; } T diff_val = top_diff[index] / top_count[index]; const T *offset_bottom_data = bottom_data + roi_batch_ind * channels * height * width; T *offset_bottom_data_diff = bottom_data_diff + roi_batch_ind * channels * height * width; int gw = floor(static_cast(pw) * group_size / pooled_width); int gh = floor(static_cast(ph) * group_size / pooled_height); gw = min(max(gw, 0), group_size - 1); gh = min(max(gh, 0), group_size - 1); for (int ih = 0; ih < sample_per_part; ih++) { for (int iw = 0; iw < sample_per_part; iw++) { T w = wstart + iw * sub_bin_size_w; T h = hstart + ih * sub_bin_size_h; // bilinear interpolation if (w < -0.5 || w > width - 0.5 || h < -0.5 || h > height - 0.5) { continue; } w = min(max(w, 0.), width - 1.); h = min(max(h, 0.), height - 1.); int c = (ctop * group_size + gh) * group_size + gw; // backward on feature int x0 = floor(w); int x1 = ceil(w); int y0 = floor(h); int y1 = ceil(h); T dist_x = w - x0, dist_y = h - y0; T q00 = (1 - dist_x) * (1 - dist_y); T q01 = (1 - dist_x) * dist_y; T q10 = dist_x * (1 - dist_y); T q11 = dist_x * dist_y; int bottom_index_base = c * height * width; atomicAdd(offset_bottom_data_diff + bottom_index_base + y0 * width + x0, q00 * diff_val); atomicAdd(offset_bottom_data_diff + bottom_index_base + y1 * width + x0, q01 * diff_val); atomicAdd(offset_bottom_data_diff + bottom_index_base + y0 * width + x1, q10 * diff_val); atomicAdd(offset_bottom_data_diff + bottom_index_base + y1 * width + x1, q11 * diff_val); if (no_trans) { continue; } T U00 = offset_bottom_data[bottom_index_base + y0 * width + x0]; T U01 = offset_bottom_data[bottom_index_base + y1 * width + x0]; T U10 = offset_bottom_data[bottom_index_base + y0 * width + x1]; T U11 = offset_bottom_data[bottom_index_base + y1 * width + x1]; T diff_x = (U11 * dist_y + U10 * (1 - dist_y) - U01 * dist_y - U00 * (1 - dist_y)) * trans_std * diff_val; diff_x *= roi_width; T diff_y = (U11 * dist_x + U01 * (1 - dist_x) - U10 * dist_x - U00 * (1 - dist_x)) * trans_std * diff_val; diff_y *= roi_height; atomicAdd(bottom_trans_diff + (((n * num_classes + class_id) * 2) * part_size + part_h) * part_size + part_w, diff_x); atomicAdd(bottom_trans_diff + (((n * num_classes + class_id) * 2 + 1) * part_size + part_h) * part_size + part_w, diff_y); } } } } std::tuple dcn_v2_psroi_pooling_cuda_forward(const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std) { AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(bbox.type().is_cuda(), "rois must be a CUDA tensor"); AT_ASSERTM(trans.type().is_cuda(), "trans must be a CUDA tensor"); const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_trans = no_trans ? 2 : trans.size(1); const int num_bbox = bbox.size(0); AT_ASSERTM(channels == output_dim, "input channels and output channels must equal"); auto pooled_height = pooled_size; auto pooled_width = pooled_size; auto out = at::empty({num_bbox, output_dim, pooled_height, pooled_width}, input.options()); long out_size = num_bbox * output_dim * pooled_height * pooled_width; auto top_count = at::zeros({num_bbox, output_dim, pooled_height, pooled_width}, input.options()); const int num_classes = no_trans ? 1 : channels_trans / 2; const int channels_each_class = no_trans ? output_dim : output_dim / num_classes; cudaStream_t stream = at::cuda::getCurrentCUDAStream(); if (out.numel() == 0) { THCudaCheck(cudaGetLastError()); return std::make_tuple(out, top_count); } dim3 grid(std::min(THCCeilDiv(out_size, 512L), 4096L)); dim3 block(512); AT_DISPATCH_FLOATING_TYPES(input.type(), "dcn_v2_psroi_pooling_cuda_forward", [&] { DeformablePSROIPoolForwardKernelCuda<<>>( out_size, input.contiguous().data(), spatial_scale, channels, height, width, pooled_height, pooled_width, bbox.contiguous().data(), trans.contiguous().data(), no_trans, trans_std, sample_per_part, output_dim, group_size, part_size, num_classes, channels_each_class, out.data(), top_count.data()); }); THCudaCheck(cudaGetLastError()); return std::make_tuple(out, top_count); } std::tuple dcn_v2_psroi_pooling_cuda_backward(const at::Tensor &out_grad, const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const at::Tensor &top_count, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std) { AT_ASSERTM(out_grad.type().is_cuda(), "out_grad must be a CUDA tensor"); AT_ASSERTM(input.type().is_cuda(), "input must be a CUDA tensor"); AT_ASSERTM(bbox.type().is_cuda(), "bbox must be a CUDA tensor"); AT_ASSERTM(trans.type().is_cuda(), "trans must be a CUDA tensor"); AT_ASSERTM(top_count.type().is_cuda(), "top_count must be a CUDA tensor"); const int batch = input.size(0); const int channels = input.size(1); const int height = input.size(2); const int width = input.size(3); const int channels_trans = no_trans ? 2 : trans.size(1); const int num_bbox = bbox.size(0); AT_ASSERTM(channels == output_dim, "input channels and output channels must equal"); auto pooled_height = pooled_size; auto pooled_width = pooled_size; long out_size = num_bbox * output_dim * pooled_height * pooled_width; const int num_classes = no_trans ? 1 : channels_trans / 2; const int channels_each_class = no_trans ? output_dim : output_dim / num_classes; auto input_grad = at::zeros({batch, channels, height, width}, out_grad.options()); auto trans_grad = at::zeros_like(trans); if (input_grad.numel() == 0) { THCudaCheck(cudaGetLastError()); return std::make_tuple(input_grad, trans_grad); } dim3 grid(std::min(THCCeilDiv(out_size, 512L), 4096L)); dim3 block(512); cudaStream_t stream = at::cuda::getCurrentCUDAStream(); AT_DISPATCH_FLOATING_TYPES(out_grad.type(), "dcn_v2_psroi_pooling_cuda_backward", [&] { DeformablePSROIPoolBackwardAccKernelCuda<<>>( out_size, out_grad.contiguous().data(), top_count.contiguous().data(), num_bbox, spatial_scale, channels, height, width, pooled_height, pooled_width, output_dim, input_grad.contiguous().data(), trans_grad.contiguous().data(), input.contiguous().data(), bbox.contiguous().data(), trans.contiguous().data(), no_trans, trans_std, sample_per_part, group_size, part_size, num_classes, channels_each_class); }); THCudaCheck(cudaGetLastError()); return std::make_tuple(input_grad, trans_grad); } ================================================ FILE: src/lib/models/networks/DCNv2/src/cuda/vision.h ================================================ #pragma once #include at::Tensor dcn_v2_cuda_forward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, const int dilation_h, const int dilation_w, const int deformable_group); std::vector dcn_v2_cuda_backward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const at::Tensor &grad_output, int kernel_h, int kernel_w, int stride_h, int stride_w, int pad_h, int pad_w, int dilation_h, int dilation_w, int deformable_group); std::tuple dcn_v2_psroi_pooling_cuda_forward(const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std); std::tuple dcn_v2_psroi_pooling_cuda_backward(const at::Tensor &out_grad, const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const at::Tensor &top_count, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std); ================================================ FILE: src/lib/models/networks/DCNv2/src/dcn_v2.h ================================================ #pragma once #include "cpu/vision.h" #ifdef WITH_CUDA #include "cuda/vision.h" #endif at::Tensor dcn_v2_forward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, const int dilation_h, const int dilation_w, const int deformable_group) { if (input.type().is_cuda()) { #ifdef WITH_CUDA return dcn_v2_cuda_forward(input, weight, bias, offset, mask, kernel_h, kernel_w, stride_h, stride_w, pad_h, pad_w, dilation_h, dilation_w, deformable_group); #else AT_ERROR("Not compiled with GPU support"); #endif } else{ return dcn_v2_cpu_forward(input, weight, bias, offset, mask, kernel_h, kernel_w, stride_h, stride_w, pad_h, pad_w, dilation_h, dilation_w, deformable_group); } } std::vector dcn_v2_backward(const at::Tensor &input, const at::Tensor &weight, const at::Tensor &bias, const at::Tensor &offset, const at::Tensor &mask, const at::Tensor &grad_output, int kernel_h, int kernel_w, int stride_h, int stride_w, int pad_h, int pad_w, int dilation_h, int dilation_w, int deformable_group) { if (input.type().is_cuda()) { #ifdef WITH_CUDA return dcn_v2_cuda_backward(input, weight, bias, offset, mask, grad_output, kernel_h, kernel_w, stride_h, stride_w, pad_h, pad_w, dilation_h, dilation_w, deformable_group); #else AT_ERROR("Not compiled with GPU support"); #endif } else{ return dcn_v2_cpu_backward(input, weight, bias, offset, mask, grad_output, kernel_h, kernel_w, stride_h, stride_w, pad_h, pad_w, dilation_h, dilation_w, deformable_group); } } std::tuple dcn_v2_psroi_pooling_forward(const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std) { if (input.type().is_cuda()) { #ifdef WITH_CUDA return dcn_v2_psroi_pooling_cuda_forward(input, bbox, trans, no_trans, spatial_scale, output_dim, group_size, pooled_size, part_size, sample_per_part, trans_std); #else AT_ERROR("Not compiled with GPU support"); #endif } else{ return dcn_v2_psroi_pooling_cpu_forward(input, bbox, trans, no_trans, spatial_scale, output_dim, group_size, pooled_size, part_size, sample_per_part, trans_std); } } std::tuple dcn_v2_psroi_pooling_backward(const at::Tensor &out_grad, const at::Tensor &input, const at::Tensor &bbox, const at::Tensor &trans, const at::Tensor &top_count, const int no_trans, const float spatial_scale, const int output_dim, const int group_size, const int pooled_size, const int part_size, const int sample_per_part, const float trans_std) { if (input.type().is_cuda()) { #ifdef WITH_CUDA return dcn_v2_psroi_pooling_cuda_backward(out_grad, input, bbox, trans, top_count, no_trans, spatial_scale, output_dim, group_size, pooled_size, part_size, sample_per_part, trans_std); #else AT_ERROR("Not compiled with GPU support"); #endif } else{ return dcn_v2_psroi_pooling_cpu_backward(out_grad, input, bbox, trans, top_count, no_trans, spatial_scale, output_dim, group_size, pooled_size, part_size, sample_per_part, trans_std); } } ================================================ FILE: src/lib/models/networks/DCNv2/src/vision.cpp ================================================ #include "dcn_v2.h" PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def("dcn_v2_forward", &dcn_v2_forward, "dcn_v2_forward"); m.def("dcn_v2_backward", &dcn_v2_backward, "dcn_v2_backward"); m.def("dcn_v2_psroi_pooling_forward", &dcn_v2_psroi_pooling_forward, "dcn_v2_psroi_pooling_forward"); m.def("dcn_v2_psroi_pooling_backward", &dcn_v2_psroi_pooling_backward, "dcn_v2_psroi_pooling_backward"); } ================================================ FILE: src/lib/models/networks/DCNv2/testcpu.py ================================================ #!/usr/bin/env python from __future__ import absolute_import from __future__ import print_function from __future__ import division import time import torch import torch.nn as nn from torch.autograd import gradcheck from dcn_v2 import dcn_v2_conv, DCNv2, DCN from dcn_v2 import dcn_v2_pooling, DCNv2Pooling, DCNPooling deformable_groups = 1 N, inC, inH, inW = 2, 2, 4, 4 outC = 2 kH, kW = 3, 3 def conv_identify(weight, bias): weight.data.zero_() bias.data.zero_() o, i, h, w = weight.shape y = h//2 x = w//2 for p in range(i): for q in range(o): if p == q: weight.data[q, p, y, x] = 1.0 def check_zero_offset(): conv_offset = nn.Conv2d(inC, deformable_groups * 2 * kH * kW, kernel_size=(kH, kW), stride=(1, 1), padding=(1, 1), bias=True) conv_mask = nn.Conv2d(inC, deformable_groups * 1 * kH * kW, kernel_size=(kH, kW), stride=(1, 1), padding=(1, 1), bias=True) dcn_v2 = DCNv2(inC, outC, (kH, kW), stride=1, padding=1, dilation=1, deformable_groups=deformable_groups) conv_offset.weight.data.zero_() conv_offset.bias.data.zero_() conv_mask.weight.data.zero_() conv_mask.bias.data.zero_() conv_identify(dcn_v2.weight, dcn_v2.bias) input = torch.randn(N, inC, inH, inW) offset = conv_offset(input) mask = conv_mask(input) mask = torch.sigmoid(mask) output = dcn_v2(input, offset, mask) output *= 2 d = (input - output).abs().max() if d < 1e-10: print('Zero offset passed') else: print('Zero offset failed') print(input) print(output) def check_gradient_dconv(): input = torch.rand(N, inC, inH, inW) * 0.01 input.requires_grad = True offset = torch.randn(N, deformable_groups * 2 * kW * kH, inH, inW) * 2 # offset.data.zero_() # offset.data -= 0.5 offset.requires_grad = True mask = torch.rand(N, deformable_groups * 1 * kW * kH, inH, inW) # mask.data.zero_() mask.requires_grad = True mask = torch.sigmoid(mask) weight = torch.randn(outC, inC, kH, kW) weight.requires_grad = True bias = torch.rand(outC) bias.requires_grad = True stride = 1 padding = 1 dilation = 1 print('check_gradient_dconv: ', gradcheck(dcn_v2_conv, (input, offset, mask, weight, bias, stride, padding, dilation, deformable_groups), eps=1e-3, atol=1e-4, rtol=1e-2)) def check_pooling_zero_offset(): input = torch.randn(2, 16, 64, 64).zero_() input[0, :, 16:26, 16:26] = 1. input[1, :, 10:20, 20:30] = 2. rois = torch.tensor([ [0, 65, 65, 103, 103], [1, 81, 41, 119, 79], ]).float() pooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=16, no_trans=True, group_size=1, trans_std=0.0) out = pooling(input, rois, input.new()) s = ', '.join(['%f' % out[i, :, :, :].mean().item() for i in range(rois.shape[0])]) print(s) dpooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=16, no_trans=False, group_size=1, trans_std=0.0) offset = torch.randn(20, 2, 7, 7).zero_() dout = dpooling(input, rois, offset) s = ', '.join(['%f' % dout[i, :, :, :].mean().item() for i in range(rois.shape[0])]) print(s) def check_gradient_dpooling(): input = torch.randn(2, 3, 5, 5) * 0.01 N = 4 batch_inds = torch.randint(2, (N, 1)).float() x = torch.rand((N, 1)).float() * 15 y = torch.rand((N, 1)).float() * 15 w = torch.rand((N, 1)).float() * 10 h = torch.rand((N, 1)).float() * 10 rois = torch.cat((batch_inds, x, y, x + w, y + h), dim=1) offset = torch.randn(N, 2, 3, 3) input.requires_grad = True offset.requires_grad = True spatial_scale = 1.0 / 4 pooled_size = 3 output_dim = 3 no_trans = 0 group_size = 1 trans_std = 0.0 sample_per_part = 4 part_size = pooled_size print('check_gradient_dpooling:', gradcheck(dcn_v2_pooling, (input, rois, offset, spatial_scale, pooled_size, output_dim, no_trans, group_size, part_size, sample_per_part, trans_std), eps=1e-4)) def example_dconv(): input = torch.randn(2, 64, 128, 128) # wrap all things (offset and mask) in DCN dcn = DCN(64, 64, kernel_size=(3, 3), stride=1, padding=1, deformable_groups=2) # print(dcn.weight.shape, input.shape) output = dcn(input) targert = output.new(*output.size()) targert.data.uniform_(-0.01, 0.01) error = (targert - output).mean() error.backward() print(output.shape) def example_dpooling(): input = torch.randn(2, 32, 64, 64) batch_inds = torch.randint(2, (20, 1)).float() x = torch.randint(256, (20, 1)).float() y = torch.randint(256, (20, 1)).float() w = torch.randint(64, (20, 1)).float() h = torch.randint(64, (20, 1)).float() rois = torch.cat((batch_inds, x, y, x + w, y + h), dim=1) offset = torch.randn(20, 2, 7, 7) input.requires_grad = True offset.requires_grad = True # normal roi_align pooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=32, no_trans=True, group_size=1, trans_std=0.1) # deformable pooling dpooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=32, no_trans=False, group_size=1, trans_std=0.1) out = pooling(input, rois, offset) dout = dpooling(input, rois, offset) print(out.shape) print(dout.shape) target_out = out.new(*out.size()) target_out.data.uniform_(-0.01, 0.01) target_dout = dout.new(*dout.size()) target_dout.data.uniform_(-0.01, 0.01) e = (target_out - out).mean() e.backward() e = (target_dout - dout).mean() e.backward() def example_mdpooling(): input = torch.randn(2, 32, 64, 64) input.requires_grad = True batch_inds = torch.randint(2, (20, 1)).float() x = torch.randint(256, (20, 1)).float() y = torch.randint(256, (20, 1)).float() w = torch.randint(64, (20, 1)).float() h = torch.randint(64, (20, 1)).float() rois = torch.cat((batch_inds, x, y, x + w, y + h), dim=1) # mdformable pooling (V2) dpooling = DCNPooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=32, no_trans=False, group_size=1, trans_std=0.1, deform_fc_dim=1024) dout = dpooling(input, rois) target = dout.new(*dout.size()) target.data.uniform_(-0.1, 0.1) error = (target - dout).mean() error.backward() print(dout.shape) if __name__ == '__main__': example_dconv() example_dpooling() example_mdpooling() check_pooling_zero_offset() # zero offset check if inC == outC: check_zero_offset() check_gradient_dpooling() check_gradient_dconv() # """ # ****** Note: backward is not reentrant error may not be a serious problem, # ****** since the max error is less than 1e-7, # ****** Still looking for what trigger this problem # """ ================================================ FILE: src/lib/models/networks/DCNv2/testcuda.py ================================================ #!/usr/bin/env python from __future__ import absolute_import from __future__ import print_function from __future__ import division import time import torch import torch.nn as nn from torch.autograd import gradcheck from dcn_v2 import dcn_v2_conv, DCNv2, DCN from dcn_v2 import dcn_v2_pooling, DCNv2Pooling, DCNPooling deformable_groups = 1 N, inC, inH, inW = 2, 2, 4, 4 outC = 2 kH, kW = 3, 3 def conv_identify(weight, bias): weight.data.zero_() bias.data.zero_() o, i, h, w = weight.shape y = h//2 x = w//2 for p in range(i): for q in range(o): if p == q: weight.data[q, p, y, x] = 1.0 def check_zero_offset(): conv_offset = nn.Conv2d(inC, deformable_groups * 2 * kH * kW, kernel_size=(kH, kW), stride=(1, 1), padding=(1, 1), bias=True).cuda() conv_mask = nn.Conv2d(inC, deformable_groups * 1 * kH * kW, kernel_size=(kH, kW), stride=(1, 1), padding=(1, 1), bias=True).cuda() dcn_v2 = DCNv2(inC, outC, (kH, kW), stride=1, padding=1, dilation=1, deformable_groups=deformable_groups).cuda() conv_offset.weight.data.zero_() conv_offset.bias.data.zero_() conv_mask.weight.data.zero_() conv_mask.bias.data.zero_() conv_identify(dcn_v2.weight, dcn_v2.bias) input = torch.randn(N, inC, inH, inW).cuda() offset = conv_offset(input) mask = conv_mask(input) mask = torch.sigmoid(mask) output = dcn_v2(input, offset, mask) output *= 2 d = (input - output).abs().max() if d < 1e-10: print('Zero offset passed') else: print('Zero offset failed') print(input) print(output) def check_gradient_dconv(): input = torch.rand(N, inC, inH, inW).cuda() * 0.01 input.requires_grad = True offset = torch.randn(N, deformable_groups * 2 * kW * kH, inH, inW).cuda() * 2 # offset.data.zero_() # offset.data -= 0.5 offset.requires_grad = True mask = torch.rand(N, deformable_groups * 1 * kW * kH, inH, inW).cuda() # mask.data.zero_() mask.requires_grad = True mask = torch.sigmoid(mask) weight = torch.randn(outC, inC, kH, kW).cuda() weight.requires_grad = True bias = torch.rand(outC).cuda() bias.requires_grad = True stride = 1 padding = 1 dilation = 1 print('check_gradient_dconv: ', gradcheck(dcn_v2_conv, (input, offset, mask, weight, bias, stride, padding, dilation, deformable_groups), eps=1e-3, atol=1e-4, rtol=1e-2)) def check_pooling_zero_offset(): input = torch.randn(2, 16, 64, 64).cuda().zero_() input[0, :, 16:26, 16:26] = 1. input[1, :, 10:20, 20:30] = 2. rois = torch.tensor([ [0, 65, 65, 103, 103], [1, 81, 41, 119, 79], ]).cuda().float() pooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=16, no_trans=True, group_size=1, trans_std=0.0).cuda() out = pooling(input, rois, input.new()) s = ', '.join(['%f' % out[i, :, :, :].mean().item() for i in range(rois.shape[0])]) print(s) dpooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=16, no_trans=False, group_size=1, trans_std=0.0).cuda() offset = torch.randn(20, 2, 7, 7).cuda().zero_() dout = dpooling(input, rois, offset) s = ', '.join(['%f' % dout[i, :, :, :].mean().item() for i in range(rois.shape[0])]) print(s) def check_gradient_dpooling(): input = torch.randn(2, 3, 5, 5).cuda() * 0.01 N = 4 batch_inds = torch.randint(2, (N, 1)).cuda().float() x = torch.rand((N, 1)).cuda().float() * 15 y = torch.rand((N, 1)).cuda().float() * 15 w = torch.rand((N, 1)).cuda().float() * 10 h = torch.rand((N, 1)).cuda().float() * 10 rois = torch.cat((batch_inds, x, y, x + w, y + h), dim=1) offset = torch.randn(N, 2, 3, 3).cuda() input.requires_grad = True offset.requires_grad = True spatial_scale = 1.0 / 4 pooled_size = 3 output_dim = 3 no_trans = 0 group_size = 1 trans_std = 0.0 sample_per_part = 4 part_size = pooled_size print('check_gradient_dpooling:', gradcheck(dcn_v2_pooling, (input, rois, offset, spatial_scale, pooled_size, output_dim, no_trans, group_size, part_size, sample_per_part, trans_std), eps=1e-4)) def example_dconv(): input = torch.randn(2, 64, 128, 128).cuda() # wrap all things (offset and mask) in DCN dcn = DCN(64, 64, kernel_size=(3, 3), stride=1, padding=1, deformable_groups=2).cuda() # print(dcn.weight.shape, input.shape) output = dcn(input) targert = output.new(*output.size()) targert.data.uniform_(-0.01, 0.01) error = (targert - output).mean() error.backward() print(output.shape) def example_dpooling(): input = torch.randn(2, 32, 64, 64).cuda() batch_inds = torch.randint(2, (20, 1)).cuda().float() x = torch.randint(256, (20, 1)).cuda().float() y = torch.randint(256, (20, 1)).cuda().float() w = torch.randint(64, (20, 1)).cuda().float() h = torch.randint(64, (20, 1)).cuda().float() rois = torch.cat((batch_inds, x, y, x + w, y + h), dim=1) offset = torch.randn(20, 2, 7, 7).cuda() input.requires_grad = True offset.requires_grad = True # normal roi_align pooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=32, no_trans=True, group_size=1, trans_std=0.1).cuda() # deformable pooling dpooling = DCNv2Pooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=32, no_trans=False, group_size=1, trans_std=0.1).cuda() out = pooling(input, rois, offset) dout = dpooling(input, rois, offset) print(out.shape) print(dout.shape) target_out = out.new(*out.size()) target_out.data.uniform_(-0.01, 0.01) target_dout = dout.new(*dout.size()) target_dout.data.uniform_(-0.01, 0.01) e = (target_out - out).mean() e.backward() e = (target_dout - dout).mean() e.backward() def example_mdpooling(): input = torch.randn(2, 32, 64, 64).cuda() input.requires_grad = True batch_inds = torch.randint(2, (20, 1)).cuda().float() x = torch.randint(256, (20, 1)).cuda().float() y = torch.randint(256, (20, 1)).cuda().float() w = torch.randint(64, (20, 1)).cuda().float() h = torch.randint(64, (20, 1)).cuda().float() rois = torch.cat((batch_inds, x, y, x + w, y + h), dim=1) # mdformable pooling (V2) dpooling = DCNPooling(spatial_scale=1.0 / 4, pooled_size=7, output_dim=32, no_trans=False, group_size=1, trans_std=0.1, deform_fc_dim=1024).cuda() dout = dpooling(input, rois) target = dout.new(*dout.size()) target.data.uniform_(-0.1, 0.1) error = (target - dout).mean() error.backward() print(dout.shape) if __name__ == '__main__': example_dconv() example_dpooling() example_mdpooling() check_pooling_zero_offset() # zero offset check if inC == outC: check_zero_offset() check_gradient_dpooling() check_gradient_dconv() # """ # ****** Note: backward is not reentrant error may not be a serious problem, # ****** since the max error is less than 1e-7, # ****** Still looking for what trigger this problem # """ ================================================ FILE: src/lib/models/networks/dlav0.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import absolute_import from __future__ import division from __future__ import print_function import math from os.path import join import torch from torch import nn import torch.utils.model_zoo as model_zoo import numpy as np BatchNorm = nn.BatchNorm2d def get_model_url(data='imagenet', name='dla34', hash='ba72cf86'): return join('http://dl.yf.io/dla/models', data, '{}-{}.pth'.format(name, hash)) 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): def __init__(self, inplanes, planes, stride=1, dilation=1): super(BasicBlock, self).__init__() self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation) self.bn1 = BatchNorm(planes) self.relu = nn.ReLU(inplace=True) self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1, padding=dilation, bias=False, dilation=dilation) self.bn2 = BatchNorm(planes) self.stride = stride def forward(self, x, residual=None): if residual is None: residual = x out = self.conv1(x) out = self.bn1(out) out = self.relu(out) out = self.conv2(out) out = self.bn2(out) out += residual out = self.relu(out) return out class Bottleneck(nn.Module): expansion = 2 def __init__(self, inplanes, planes, stride=1, dilation=1): super(Bottleneck, self).__init__() expansion = Bottleneck.expansion bottle_planes = planes // expansion self.conv1 = nn.Conv2d(inplanes, bottle_planes, kernel_size=1, bias=False) self.bn1 = BatchNorm(bottle_planes) self.conv2 = nn.Conv2d(bottle_planes, bottle_planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation) self.bn2 = BatchNorm(bottle_planes) self.conv3 = nn.Conv2d(bottle_planes, planes, kernel_size=1, bias=False) self.bn3 = BatchNorm(planes) self.relu = nn.ReLU(inplace=True) self.stride = stride def forward(self, x, residual=None): if residual is None: 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) out += residual out = self.relu(out) return out class BottleneckX(nn.Module): expansion = 2 cardinality = 32 def __init__(self, inplanes, planes, stride=1, dilation=1): super(BottleneckX, self).__init__() cardinality = BottleneckX.cardinality # dim = int(math.floor(planes * (BottleneckV5.expansion / 64.0))) # bottle_planes = dim * cardinality bottle_planes = planes * cardinality // 32 self.conv1 = nn.Conv2d(inplanes, bottle_planes, kernel_size=1, bias=False) self.bn1 = BatchNorm(bottle_planes) self.conv2 = nn.Conv2d(bottle_planes, bottle_planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation, groups=cardinality) self.bn2 = BatchNorm(bottle_planes) self.conv3 = nn.Conv2d(bottle_planes, planes, kernel_size=1, bias=False) self.bn3 = BatchNorm(planes) self.relu = nn.ReLU(inplace=True) self.stride = stride def forward(self, x, residual=None): if residual is None: 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) out += residual out = self.relu(out) return out class Root(nn.Module): def __init__(self, in_channels, out_channels, kernel_size, residual): super(Root, self).__init__() self.conv = nn.Conv2d( in_channels, out_channels, 1, stride=1, bias=False, padding=(kernel_size - 1) // 2) self.bn = BatchNorm(out_channels) self.relu = nn.ReLU(inplace=True) self.residual = residual def forward(self, *x): children = x x = self.conv(torch.cat(x, 1)) x = self.bn(x) if self.residual: x += children[0] x = self.relu(x) return x class Tree(nn.Module): def __init__(self, levels, block, in_channels, out_channels, stride=1, level_root=False, root_dim=0, root_kernel_size=1, dilation=1, root_residual=False): super(Tree, self).__init__() if root_dim == 0: root_dim = 2 * out_channels if level_root: root_dim += in_channels if levels == 1: self.tree1 = block(in_channels, out_channels, stride, dilation=dilation) self.tree2 = block(out_channels, out_channels, 1, dilation=dilation) else: self.tree1 = Tree(levels - 1, block, in_channels, out_channels, stride, root_dim=0, root_kernel_size=root_kernel_size, dilation=dilation, root_residual=root_residual) self.tree2 = Tree(levels - 1, block, out_channels, out_channels, root_dim=root_dim + out_channels, root_kernel_size=root_kernel_size, dilation=dilation, root_residual=root_residual) if levels == 1: self.root = Root(root_dim, out_channels, root_kernel_size, root_residual) self.level_root = level_root self.root_dim = root_dim self.downsample = None self.project = None self.levels = levels if stride > 1: self.downsample = nn.MaxPool2d(stride, stride=stride) if in_channels != out_channels: self.project = nn.Sequential( nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, bias=False), BatchNorm(out_channels) ) def forward(self, x, residual=None, children=None): children = [] if children is None else children bottom = self.downsample(x) if self.downsample else x residual = self.project(bottom) if self.project else bottom if self.level_root: children.append(bottom) x1 = self.tree1(x, residual) if self.levels == 1: x2 = self.tree2(x1) x = self.root(x2, x1, *children) else: children.append(x1) x = self.tree2(x1, children=children) return x class DLA(nn.Module): def __init__(self, levels, channels, num_classes=1000, block=BasicBlock, residual_root=False, return_levels=False, pool_size=7, linear_root=False): super(DLA, self).__init__() self.channels = channels self.return_levels = return_levels self.num_classes = num_classes self.base_layer = nn.Sequential( nn.Conv2d(3, channels[0], kernel_size=7, stride=1, padding=3, bias=False), BatchNorm(channels[0]), nn.ReLU(inplace=True)) self.level0 = self._make_conv_level( channels[0], channels[0], levels[0]) self.level1 = self._make_conv_level( channels[0], channels[1], levels[1], stride=2) self.level2 = Tree(levels[2], block, channels[1], channels[2], 2, level_root=False, root_residual=residual_root) self.level3 = Tree(levels[3], block, channels[2], channels[3], 2, level_root=True, root_residual=residual_root) self.level4 = Tree(levels[4], block, channels[3], channels[4], 2, level_root=True, root_residual=residual_root) self.level5 = Tree(levels[5], block, channels[4], channels[5], 2, level_root=True, root_residual=residual_root) self.avgpool = nn.AvgPool2d(pool_size) self.fc = nn.Conv2d(channels[-1], num_classes, kernel_size=1, stride=1, padding=0, bias=True) for m in self.modules(): if isinstance(m, nn.Conv2d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, BatchNorm): m.weight.data.fill_(1) m.bias.data.zero_() def _make_level(self, block, inplanes, planes, blocks, stride=1): downsample = None if stride != 1 or inplanes != planes: downsample = nn.Sequential( nn.MaxPool2d(stride, stride=stride), nn.Conv2d(inplanes, planes, kernel_size=1, stride=1, bias=False), BatchNorm(planes), ) layers = [] layers.append(block(inplanes, planes, stride, downsample=downsample)) for i in range(1, blocks): layers.append(block(inplanes, planes)) return nn.Sequential(*layers) def _make_conv_level(self, inplanes, planes, convs, stride=1, dilation=1): modules = [] for i in range(convs): modules.extend([ nn.Conv2d(inplanes, planes, kernel_size=3, stride=stride if i == 0 else 1, padding=dilation, bias=False, dilation=dilation), BatchNorm(planes), nn.ReLU(inplace=True)]) inplanes = planes return nn.Sequential(*modules) def forward(self, x): y = [] x = self.base_layer(x) for i in range(6): x = getattr(self, 'level{}'.format(i))(x) y.append(x) if self.return_levels: return y else: x = self.avgpool(x) x = self.fc(x) x = x.view(x.size(0), -1) return x def load_pretrained_model(self, data='imagenet', name='dla34', hash='ba72cf86'): fc = self.fc if name.endswith('.pth'): model_weights = torch.load(data + name) else: model_url = get_model_url(data, name, hash) model_weights = model_zoo.load_url(model_url) num_classes = len(model_weights[list(model_weights.keys())[-1]]) self.fc = nn.Conv2d( self.channels[-1], num_classes, kernel_size=1, stride=1, padding=0, bias=True) self.load_state_dict(model_weights) self.fc = fc def dla34(pretrained, **kwargs): # DLA-34 model = DLA([1, 1, 1, 2, 2, 1], [16, 32, 64, 128, 256, 512], block=BasicBlock, **kwargs) if pretrained: model.load_pretrained_model(data='imagenet', name='dla34', hash='ba72cf86') return model def dla46_c(pretrained=None, **kwargs): # DLA-46-C Bottleneck.expansion = 2 model = DLA([1, 1, 1, 2, 2, 1], [16, 32, 64, 64, 128, 256], block=Bottleneck, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla46_c') return model def dla46x_c(pretrained=None, **kwargs): # DLA-X-46-C BottleneckX.expansion = 2 model = DLA([1, 1, 1, 2, 2, 1], [16, 32, 64, 64, 128, 256], block=BottleneckX, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla46x_c') return model def dla60x_c(pretrained, **kwargs): # DLA-X-60-C BottleneckX.expansion = 2 model = DLA([1, 1, 1, 2, 3, 1], [16, 32, 64, 64, 128, 256], block=BottleneckX, **kwargs) if pretrained: model.load_pretrained_model(data='imagenet', name='dla60x_c', hash='b870c45c') return model def dla60(pretrained=None, **kwargs): # DLA-60 Bottleneck.expansion = 2 model = DLA([1, 1, 1, 2, 3, 1], [16, 32, 128, 256, 512, 1024], block=Bottleneck, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla60') return model def dla60x(pretrained=None, **kwargs): # DLA-X-60 BottleneckX.expansion = 2 model = DLA([1, 1, 1, 2, 3, 1], [16, 32, 128, 256, 512, 1024], block=BottleneckX, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla60x') return model def dla102(pretrained=None, **kwargs): # DLA-102 Bottleneck.expansion = 2 model = DLA([1, 1, 1, 3, 4, 1], [16, 32, 128, 256, 512, 1024], block=Bottleneck, residual_root=True, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla102') return model def dla102x(pretrained=None, **kwargs): # DLA-X-102 BottleneckX.expansion = 2 model = DLA([1, 1, 1, 3, 4, 1], [16, 32, 128, 256, 512, 1024], block=BottleneckX, residual_root=True, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla102x') return model def dla102x2(pretrained=None, **kwargs): # DLA-X-102 64 BottleneckX.cardinality = 64 model = DLA([1, 1, 1, 3, 4, 1], [16, 32, 128, 256, 512, 1024], block=BottleneckX, residual_root=True, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla102x2') return model def dla169(pretrained=None, **kwargs): # DLA-169 Bottleneck.expansion = 2 model = DLA([1, 1, 2, 3, 5, 1], [16, 32, 128, 256, 512, 1024], block=Bottleneck, residual_root=True, **kwargs) if pretrained is not None: model.load_pretrained_model(pretrained, 'dla169') return model def set_bn(bn): global BatchNorm BatchNorm = bn dla.BatchNorm = bn class Identity(nn.Module): def __init__(self): super(Identity, self).__init__() def forward(self, x): return x def fill_up_weights(up): w = up.weight.data f = math.ceil(w.size(2) / 2) c = (2 * f - 1 - f % 2) / (2. * f) for i in range(w.size(2)): for j in range(w.size(3)): w[0, 0, i, j] = \ (1 - math.fabs(i / f - c)) * (1 - math.fabs(j / f - c)) for c in range(1, w.size(0)): w[c, 0, :, :] = w[0, 0, :, :] class IDAUp(nn.Module): def __init__(self, node_kernel, out_dim, channels, up_factors): super(IDAUp, self).__init__() self.channels = channels self.out_dim = out_dim for i, c in enumerate(channels): if c == out_dim: proj = Identity() else: proj = nn.Sequential( nn.Conv2d(c, out_dim, kernel_size=1, stride=1, bias=False), BatchNorm(out_dim), nn.ReLU(inplace=True)) f = int(up_factors[i]) if f == 1: up = Identity() else: up = nn.ConvTranspose2d( out_dim, out_dim, f * 2, stride=f, padding=f // 2, output_padding=0, groups=out_dim, bias=False) fill_up_weights(up) setattr(self, 'proj_' + str(i), proj) setattr(self, 'up_' + str(i), up) for i in range(1, len(channels)): node = nn.Sequential( nn.Conv2d(out_dim * 2, out_dim, kernel_size=node_kernel, stride=1, padding=node_kernel // 2, bias=False), BatchNorm(out_dim), nn.ReLU(inplace=True)) setattr(self, 'node_' + str(i), node) for m in self.modules(): if isinstance(m, nn.Conv2d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, BatchNorm): m.weight.data.fill_(1) m.bias.data.zero_() def forward(self, layers): assert len(self.channels) == len(layers), \ '{} vs {} layers'.format(len(self.channels), len(layers)) layers = list(layers) for i, l in enumerate(layers): upsample = getattr(self, 'up_' + str(i)) project = getattr(self, 'proj_' + str(i)) layers[i] = upsample(project(l)) x = layers[0] y = [] for i in range(1, len(layers)): node = getattr(self, 'node_' + str(i)) x = node(torch.cat([x, layers[i]], 1)) y.append(x) return x, y class DLAUp(nn.Module): def __init__(self, channels, scales=(1, 2, 4, 8, 16), in_channels=None): super(DLAUp, self).__init__() if in_channels is None: in_channels = channels self.channels = channels channels = list(channels) scales = np.array(scales, dtype=int) for i in range(len(channels) - 1): j = -i - 2 setattr(self, 'ida_{}'.format(i), IDAUp(3, channels[j], in_channels[j:], scales[j:] // scales[j])) scales[j + 1:] = scales[j] in_channels[j + 1:] = [channels[j] for _ in channels[j + 1:]] def forward(self, layers): layers = list(layers) assert len(layers) > 1 for i in range(len(layers) - 1): ida = getattr(self, 'ida_{}'.format(i)) x, y = ida(layers[-i - 2:]) layers[-i - 1:] = y return x def fill_fc_weights(layers): for m in layers.modules(): if isinstance(m, nn.Conv2d): nn.init.normal_(m.weight, std=0.001) # torch.nn.init.kaiming_normal_(m.weight.data, nonlinearity='relu') # torch.nn.init.xavier_normal_(m.weight.data) if m.bias is not None: nn.init.constant_(m.bias, 0) class DLASeg(nn.Module): def __init__(self, base_name, heads, pretrained=True, down_ratio=4, head_conv=256): super(DLASeg, self).__init__() assert down_ratio in [2, 4, 8, 16] self.heads = heads self.first_level = int(np.log2(down_ratio)) self.base = globals()[base_name]( pretrained=pretrained, return_levels=True) channels = self.base.channels scales = [2 ** i for i in range(len(channels[self.first_level:]))] self.dla_up = DLAUp(channels[self.first_level:], scales=scales) ''' self.fc = nn.Sequential( nn.Conv2d(channels[self.first_level], classes, kernel_size=1, stride=1, padding=0, bias=True) ) ''' for head in self.heads: classes = self.heads[head] if head_conv > 0: fc = nn.Sequential( nn.Conv2d(channels[self.first_level], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, classes, kernel_size=1, stride=1, padding=0, bias=True)) if 'hm' in head: fc[-1].bias.data.fill_(-2.19) else: fill_fc_weights(fc) else: fc = nn.Conv2d(channels[self.first_level], classes, kernel_size=1, stride=1, padding=0, bias=True) if 'hm' in head: fc.bias.data.fill_(-2.19) else: fill_fc_weights(fc) self.__setattr__(head, fc) ''' up_factor = 2 ** self.first_level if up_factor > 1: up = nn.ConvTranspose2d(classes, classes, up_factor * 2, stride=up_factor, padding=up_factor // 2, output_padding=0, groups=classes, bias=False) fill_up_weights(up) up.weight.requires_grad = False else: up = Identity() self.up = up self.softmax = nn.LogSoftmax(dim=1) for m in self.fc.modules(): if isinstance(m, nn.Conv2d): n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels m.weight.data.normal_(0, math.sqrt(2. / n)) elif isinstance(m, BatchNorm): m.weight.data.fill_(1) m.bias.data.zero_() ''' def forward(self, x): x = self.base(x) x = self.dla_up(x[self.first_level:]) # x = self.fc(x) # y = self.softmax(self.up(x)) ret = {} for head in self.heads: ret[head] = self.__getattr__(head)(x) return [ret] ''' def optim_parameters(self, memo=None): for param in self.base.parameters(): yield param for param in self.dla_up.parameters(): yield param for param in self.fc.parameters(): yield param ''' ''' def dla34up(classes, pretrained_base=None, **kwargs): model = DLASeg('dla34', classes, pretrained_base=pretrained_base, **kwargs) return model def dla60up(classes, pretrained_base=None, **kwargs): model = DLASeg('dla60', classes, pretrained_base=pretrained_base, **kwargs) return model def dla102up(classes, pretrained_base=None, **kwargs): model = DLASeg('dla102', classes, pretrained_base=pretrained_base, **kwargs) return model def dla169up(classes, pretrained_base=None, **kwargs): model = DLASeg('dla169', classes, pretrained_base=pretrained_base, **kwargs) return model ''' def get_pose_net(num_layers, heads, head_conv=256, down_ratio=4): model = DLASeg('dla{}'.format(num_layers), heads, pretrained=True, down_ratio=down_ratio, head_conv=head_conv) return model ================================================ FILE: src/lib/models/networks/hrnet.py ================================================ # ------------------------------------------------------------------------------ # 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 from yacs.config import CfgNode as CN import torch import torch.nn as nn import torch.nn.functional as F from ..predictor import Feat_sampler 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, heads, head_conv, **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.heads = heads head_conv = 256 for head in sorted(self.heads): num_output = self.heads[head] if head_conv > 0: if head == 'hm': fc = nn.Sequential( nn.Conv2d(pre_stage_channels[0], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True)) elif head == 'hps': fc = nn.Sequential( nn.Conv2d(pre_stage_channels[0], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True)) self.fill_fc_weights(fc) else: fc = nn.Sequential( nn.Conv2d(pre_stage_channels[0], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, num_output, kernel_size=1, stride=1, padding=0)) if 'hm' in head: fc[-1].bias.data.fill_(-2.19) else: self.fill_fc_weights(fc) # else: # fc = nn.Conv2d( # in_channels=pre_stage_channels[0], # out_channels=num_output, # kernel_size=1, # stride=1, # padding=0 # ) # if 'hm' in head: # fc.bias.data.fill_(-2.19) # else: # self.fill_fc_weights(fc) self.__setattr__(head, fc) self.sampler = Feat_sampler(head_conv, self.heads['hps']) self.fill_kps_weights(self.sampler) 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 _make_transition_for_head(self, inplanes, outplanes, kernel=1): if kernel ==1: pad = 0 else: pad = 1 transition_layer = [ nn.Conv2d(inplanes, outplanes, kernel, 1, pad, bias=False), nn.BatchNorm2d(outplanes), nn.ReLU(True) ] return nn.Sequential(*transition_layer) 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) # import pudb;pudb.set_trace() 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) # x0_h, x0_w = y_list[0].size(2), y_list[0].size(3) # x = torch.cat([y_list[0], \ # F.upsample(y_list[1], size=(x0_h, x0_w), mode='bilinear'), \ # F.upsample(y_list[2], size=(x0_h, x0_w), mode='bilinear'), \ # F.upsample(y_list[3], size=(x0_h, x0_w), mode='bilinear')], 1) # x = self.trans(x) z = {} for head in self.heads: z[head] = self.__getattr__(head)(y_list[0]) z['hps'],z['hm'], z['ap'] = self.sampler(z['hps'],z['hm']) return [z] def load_weights(self, pretrained=''): if os.path.isfile(pretrained): # import pudb;pudb.set_trace() pretrained_state_dict = torch.load(pretrained) print('=> 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 fill_fc_weights(self, layers): for m in layers.modules(): if isinstance(m, nn.Conv2d): if m.bias is not None: nn.init.constant_(m.bias, 0) def fill_kps_weights(self, layers): # import pudb; pudb.set_trace() for name,m in layers.named_modules(): if isinstance(m, nn.Conv2d): if 'searcher' in name: nn.init.constant_(m.weight, 0) nn.init.constant_(m.bias, 0) elif 'hm' in name: nn.init.constant_(m.bias, -2.19) elif 'pred_kps' in name: nn.init.normal_(m.weight, std=0.001) nn.init.constant_(m.bias, 0) def get_pose_net(num_layers, heads, head_conv, **kwargs): if num_layers == 32: yaml_name = os.path.join(os.path.dirname(__file__), 'hrnet_config', 'hrnet32.yaml') fcfg = open(yaml_name) cfg = CN.load_cfg(fcfg) cfg.freeze() elif num_layers == 48: yaml_name= os.path.join(os.path.dirname(__file__), 'hrnet_config','hrnet48.yaml') fcfg = open(yaml_name) cfg = CN.load_cfg(fcfg) cfg.freeze() else: assert 'Network Error' model = PoseHighResolutionNet(cfg, heads, head_conv, **kwargs) model.load_weights(os.path.join(os.path.dirname(__file__),'../../../..', 'models', cfg['MODEL']['PRETRAINED'])) return model ================================================ FILE: src/lib/models/networks/hrnet_config/hrnet32.yaml ================================================ MODEL: PRETRAINED: 'hrnetv2_w32_imagenet_pretrained.pth' #'pose_hrnet_w32_384x288.pth' 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 ================================================ FILE: src/lib/models/networks/hrnet_config/hrnet48.yaml ================================================ MODEL: # PRETRAINED: 'hrnet_w48-8ef0771d.pth' PRETRAINED: 'pose_hrnet_w48_384x288.pth' 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 ================================================ FILE: src/lib/models/networks/large_hourglass.py ================================================ # ------------------------------------------------------------------------------ # This code is base on # CornerNet (https://github.com/princeton-vl/CornerNet) # Copyright (c) 2018, University of Michigan # Licensed under the BSD 3-Clause License # ------------------------------------------------------------------------------ from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import torch import torch.nn as nn from ..feat_sampler_v6 import kps_re_locate class convolution(nn.Module): def __init__(self, k, inp_dim, out_dim, stride=1, with_bn=True): super(convolution, self).__init__() pad = (k - 1) // 2 self.conv = nn.Conv2d(inp_dim, out_dim, (k, k), padding=(pad, pad), stride=(stride, stride), bias=not with_bn) self.bn = nn.BatchNorm2d(out_dim) if with_bn else nn.Sequential() self.relu = nn.ReLU(inplace=True) def forward(self, x): conv = self.conv(x) bn = self.bn(conv) relu = self.relu(bn) return relu class fully_connected(nn.Module): def __init__(self, inp_dim, out_dim, with_bn=True): super(fully_connected, self).__init__() self.with_bn = with_bn self.linear = nn.Linear(inp_dim, out_dim) if self.with_bn: self.bn = nn.BatchNorm1d(out_dim) self.relu = nn.ReLU(inplace=True) def forward(self, x): linear = self.linear(x) bn = self.bn(linear) if self.with_bn else linear relu = self.relu(bn) return relu class residual(nn.Module): def __init__(self, k, inp_dim, out_dim, stride=1, with_bn=True): super(residual, self).__init__() self.conv1 = nn.Conv2d(inp_dim, out_dim, (3, 3), padding=(1, 1), stride=(stride, stride), bias=False) self.bn1 = nn.BatchNorm2d(out_dim) self.relu1 = nn.ReLU(inplace=True) self.conv2 = nn.Conv2d(out_dim, out_dim, (3, 3), padding=(1, 1), bias=False) self.bn2 = nn.BatchNorm2d(out_dim) self.skip = nn.Sequential( nn.Conv2d(inp_dim, out_dim, (1, 1), stride=(stride, stride), bias=False), nn.BatchNorm2d(out_dim) ) if stride != 1 or inp_dim != out_dim else nn.Sequential() self.relu = nn.ReLU(inplace=True) def forward(self, x): conv1 = self.conv1(x) bn1 = self.bn1(conv1) relu1 = self.relu1(bn1) conv2 = self.conv2(relu1) bn2 = self.bn2(conv2) skip = self.skip(x) return self.relu(bn2 + skip) def make_layer(k, inp_dim, out_dim, modules, layer=convolution, **kwargs): layers = [layer(k, inp_dim, out_dim, **kwargs)] for _ in range(1, modules): layers.append(layer(k, out_dim, out_dim, **kwargs)) return nn.Sequential(*layers) def make_layer_revr(k, inp_dim, out_dim, modules, layer=convolution, **kwargs): layers = [] for _ in range(modules - 1): layers.append(layer(k, inp_dim, inp_dim, **kwargs)) layers.append(layer(k, inp_dim, out_dim, **kwargs)) return nn.Sequential(*layers) class MergeUp(nn.Module): def forward(self, up1, up2): return up1 + up2 def make_merge_layer(dim): return MergeUp() # def make_pool_layer(dim): # return nn.MaxPool2d(kernel_size=2, stride=2) def make_pool_layer(dim): return nn.Sequential() def make_unpool_layer(dim): return nn.Upsample(scale_factor=2) def make_kp_layer(cnv_dim, curr_dim, out_dim): return nn.Sequential( convolution(3, cnv_dim, curr_dim, with_bn=False), nn.Conv2d(curr_dim, out_dim, (1, 1)) ) def make_inter_layer(dim): return residual(3, dim, dim) def make_cnv_layer(inp_dim, out_dim): return convolution(3, inp_dim, out_dim) class kp_module(nn.Module): def __init__( self, n, dims, modules, layer=residual, make_up_layer=make_layer, make_low_layer=make_layer, make_hg_layer=make_layer, make_hg_layer_revr=make_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer, **kwargs ): super(kp_module, self).__init__() self.n = n curr_mod = modules[0] next_mod = modules[1] curr_dim = dims[0] next_dim = dims[1] self.up1 = make_up_layer( 3, curr_dim, curr_dim, curr_mod, layer=layer, **kwargs ) self.max1 = make_pool_layer(curr_dim) self.low1 = make_hg_layer( 3, curr_dim, next_dim, curr_mod, layer=layer, **kwargs ) self.low2 = kp_module( n - 1, dims[1:], modules[1:], layer=layer, make_up_layer=make_up_layer, make_low_layer=make_low_layer, make_hg_layer=make_hg_layer, make_hg_layer_revr=make_hg_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer, **kwargs ) if self.n > 1 else \ make_low_layer( 3, next_dim, next_dim, next_mod, layer=layer, **kwargs ) self.low3 = make_hg_layer_revr( 3, next_dim, curr_dim, curr_mod, layer=layer, **kwargs ) self.up2 = make_unpool_layer(curr_dim) self.merge = make_merge_layer(curr_dim) def forward(self, x): #import pudb;pudb.set_trace() up1 = self.up1(x) max1 = self.max1(x) low1 = self.low1(max1) low2 = self.low2(low1) low3 = self.low3(low2) up2 = self.up2(low3) return self.merge(up1, up2) class exkp(nn.Module): def __init__( self, n, nstack, dims, modules, heads, pre=None, cnv_dim=256, make_tl_layer=None, make_br_layer=None, make_cnv_layer=make_cnv_layer, make_heat_layer=make_kp_layer, make_tag_layer=make_kp_layer, make_regr_layer=make_kp_layer, make_up_layer=make_layer, make_low_layer=make_layer, make_hg_layer=make_layer, make_hg_layer_revr=make_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer, make_inter_layer=make_inter_layer, kp_layer=residual ): super(exkp, self).__init__() self.nstack = nstack self.heads = heads curr_dim = dims[0] self.pre = nn.Sequential( convolution(7, 3, 128, stride=2), residual(3, 128, 256, stride=2) ) if pre is None else pre self.kps = nn.ModuleList([ kp_module( n, dims, modules, layer=kp_layer, make_up_layer=make_up_layer, make_low_layer=make_low_layer, make_hg_layer=make_hg_layer, make_hg_layer_revr=make_hg_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer ) for _ in range(nstack) ]) self.cnvs = nn.ModuleList([ make_cnv_layer(curr_dim, cnv_dim) for _ in range(nstack) ]) self.inters = nn.ModuleList([ make_inter_layer(curr_dim) for _ in range(nstack - 1) ]) self.inters_ = nn.ModuleList([ nn.Sequential( nn.Conv2d(curr_dim, curr_dim, (1, 1), bias=False), nn.BatchNorm2d(curr_dim) ) for _ in range(nstack - 1) ]) self.cnvs_ = nn.ModuleList([ nn.Sequential( nn.Conv2d(cnv_dim, curr_dim, (1, 1), bias=False), nn.BatchNorm2d(curr_dim) ) for _ in range(nstack - 1) ]) ## keypoint heatmaps #import pudb;pudb.set_trace() # for head in heads.keys(): # if 'hm' in head: # module = nn.ModuleList([ # make_heat_layer( # cnv_dim, curr_dim, heads[head]) for _ in range(nstack) # ]) # self.__setattr__(head, module) # for heat in self.__getattr__(head): # heat[-1].bias.data.fill_(-2.19) # else: # module = nn.ModuleList([ # make_regr_layer( # cnv_dim, curr_dim, heads[head]) for _ in range(nstack) # ]) # self.__setattr__(head, module) for head in self.heads.keys(): if head == 'wh': pass elif head == 'hm': module = nn.ModuleList([nn.Sequential( nn.Conv2d(cnv_dim, curr_dim, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True)) for _ in range(nstack) ]) self.__setattr__(head, module) elif head == 'hps': module = nn.ModuleList([nn.Sequential( nn.Conv2d(cnv_dim, curr_dim, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True)) for _ in range(nstack) ]) self.__setattr__(head, module) # for heat in self.__getattr__(head): # self.fill_fc_weights(heat) else: module = nn.ModuleList([ make_regr_layer( cnv_dim, curr_dim, self.heads[head]) for _ in range(nstack) ]) self.__setattr__(head, module) if 'hm' in head: for heat in self.__getattr__(head): heat[-1].bias.data.fill_(-2.19) self.sampler = nn.ModuleList([kps_re_locate(curr_dim) for _ in range(nstack)]) for s in self.sampler: self.fill_kps_weights(s) self.relu = nn.ReLU(inplace=True) # def fill_kps_weights(self, layers): # # import pudb; pudb.set_trace() # for name,m in layers.named_modules(): # if isinstance(m, nn.Conv2d): # if 'searcher' in name: # nn.init.constant_(m.weight, 0) # nn.init.constant_(m.bias, 0) # # nn.init.normal_(m.weight, std=0.001) # elif 'hm' in name: # nn.init.constant_(m.bias, -2.19) # elif 'pred_kps_list' in name: # nn.init.normal_(m.weight, std=0.001) # nn.init.constant_(m.bias, 0) def fill_kps_weights(self, layers): # import pudb; pudb.set_trace() for name,m in layers.named_modules(): if isinstance(m, nn.Conv2d): if 'wh_pred' in name: nn.init.normal_(m.weight, std=0.001) nn.init.constant_(m.bias, 0) elif 'searcher' in name: nn.init.constant_(m.weight, 0) nn.init.constant_(m.bias, 0) # nn.init.normal_(m.weight, std=0.001) elif 'hm' in name: nn.init.constant_(m.bias, -2.19) elif 'pred_kps' in name: nn.init.normal_(m.weight, std=0.001) nn.init.constant_(m.bias, 0) def fill_fc_weights(self, layers): for m in layers.modules(): if isinstance(m, nn.Conv2d): if m.bias is not None: nn.init.constant_(m.bias, 0) def forward(self, image): # print('image shape', image.shape) #import pudb;pudb.set_trace() inter = self.pre(image) outs = [] for ind in range(self.nstack): kp_, cnv_ = self.kps[ind], self.cnvs[ind] kp = kp_(inter) cnv = cnv_(kp) out = {} for head in self.heads: if head != 'wh': layer = self.__getattr__(head)[ind] y = layer(cnv) out[head] = y out['hps'],out['hm'],out['wh'] = self.sampler[ind](out['hps'],out['hm']) outs.append(out) if ind < self.nstack - 1: inter = self.inters_[ind](inter) + self.cnvs_[ind](cnv) inter = self.relu(inter) inter = self.inters[ind](inter) #print(outs[-1].shape) return outs def make_hg_layer(kernel, dim0, dim1, mod, layer=convolution, **kwargs): layers = [layer(kernel, dim0, dim1, stride=2)] layers += [layer(kernel, dim1, dim1) for _ in range(mod - 1)] return nn.Sequential(*layers) class HourglassNet(exkp): def __init__(self, heads, num_stacks=2): n = 5 dims = [256, 256, 384, 384, 384, 512] modules = [2, 2, 2, 2, 2, 4] super(HourglassNet, self).__init__( n, num_stacks, dims, modules, heads, make_tl_layer=None, make_br_layer=None, make_pool_layer=make_pool_layer, make_hg_layer=make_hg_layer, kp_layer=residual, cnv_dim=256 ) def get_large_hourglass_net(num_layers, heads, head_conv): model = HourglassNet(heads, 2) return model ================================================ FILE: src/lib/models/networks/msra_resnet.py ================================================ # ------------------------------------------------------------------------------ # Copyright (c) Microsoft # Licensed under the MIT License. # Written by Bin Xiao (Bin.Xiao@microsoft.com) # Modified by Xingyi Zhou # ------------------------------------------------------------------------------ from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import torch import torch.nn as nn import torch.utils.model_zoo as model_zoo # from ..resample2d_package.resample2d import Resample2d #from ..feat_sampler_share import kps_re_locate BN_MOMENTUM = 0.1 model_urls = { 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth', 'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth', 'resnet101': 'https://download.pytorch.org/models/resnet101-5d3b4d8f.pth', 'resnet152': 'https://download.pytorch.org/models/resnet152-b121ed2d.pth', } model_files = { 'resnet34': 'resnet34-333f7ec4.pth', 'resnet50': 'resnet50-19c8e357.pth', 'resnet101': 'resnet101-5d3b4d8f.pth', } 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, heads, head_conv, **kwargs): self.inplanes = 64 self.deconv_with_bias = False self.heads = heads 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( 3, [256, 256, 256], [4, 4, 4], ) # self.final_layer = [] for head in sorted(self.heads): num_output = self.heads[head] if head_conv > 0: if head == 'hm': pass elif head == 'hps': fc = nn.Sequential( nn.Conv2d(256, head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), # nn.Conv2d(head_conv, num_output, # kernel_size=1, stride=1, padding=0)) kps_re_locate(head_conv)) else: fc = nn.Sequential( nn.Conv2d(256, head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, num_output, kernel_size=1, stride=1, padding=0)) else: fc = nn.Conv2d( in_channels=256, out_channels=num_output, kernel_size=1, stride=1, padding=0 ) if head!='hm': self.__setattr__(head, fc) # self.final_layer = nn.ModuleList(self.final_layer) 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) ret = {} # for head in self.heads: # ret[head] = self.__getattr__(head)(x) kps,ct = self.__getattr__('hps')(x) ret['hps']=kps ret['hm']=ct ret['hm_hp']=self.__getattr__('hm_hp')(x) return [ret] def init_weights(self, num_layers, pretrained=True): if pretrained: # print('=> init resnet deconv weights from normal distribution') for _, m in self.deconv_layers.named_modules(): if isinstance(m, nn.ConvTranspose2d): # print('=> init {}.weight as normal(0, 0.001)'.format(name)) # print('=> 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): # print('=> init {}.weight as 1'.format(name)) # print('=> init {}.bias as 0'.format(name)) nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0) # print('=> init final conv weights from normal distribution') #import pudb; pudb.set_trace() for head in self.heads: if head == 'hm': continue else: final_layer = self.__getattr__(head) #for i, m in enumerate(final_layer.modules()): for name, m in final_layer.named_modules(): if isinstance(m, nn.Conv2d): # nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') # print('=> init {}.weight as normal(0, 0.001)'.format(name)) # print('=> init {}.bias as 0'.format(name)) if m.weight.shape[0] == self.heads[head]: if 'hm' in head: nn.init.constant_(m.bias, -2.19) else: nn.init.normal_(m.weight, std=0.001) nn.init.constant_(m.bias, 0) elif 'searcher' in name: nn.init.constant_(m.weight, 0) nn.init.constant_(m.bias, 0) elif 'hm' in name: nn.init.constant_(m.bias, -2.19) elif 'pred_kps_list' in name: nn.init.normal_(m.weight, std=0.001) nn.init.constant_(m.bias, 0) #pretrained_state_dict = torch.load(pretrained) #import pudb; pudb.set_trace() model_name = 'resnet{}'.format(num_layers) if model_name == 'resnet18': url = model_urls[model_name] pretrained_state_dict = model_zoo.load_url(url) print('=> loading pretrained model {}'.format(url)) else: import os pretrained_state_dict = torch.load(os.path.join(os.path.dirname(__file__),'..', '..','..','..','models/resnet_checkpoints/{}'.format(model_files[model_name]))) self.load_state_dict(pretrained_state_dict, strict=False) else: print('=> imagenet pretrained model dose not exist') print('=> please download it first') raise ValueError('imagenet pretrained model does not exist') 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(num_layers, heads, head_conv): block_class, layers = resnet_spec[num_layers] model = PoseResNet(block_class, layers, heads, head_conv=head_conv) model.init_weights(num_layers, pretrained=True) return model ================================================ FILE: src/lib/models/networks/pose_dla_dcn.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import math import logging import numpy as np from os.path import join import torch from torch import nn import torch.nn.functional as F import torch.utils.model_zoo as model_zoo from .DCNv2.dcn_v2 import DCN BN_MOMENTUM = 0.1 logger = logging.getLogger(__name__) def get_model_url(data='imagenet', name='dla34', hash='ba72cf86'): return join('http://dl.yf.io/dla/models', data, '{}-{}.pth'.format(name, hash)) 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): def __init__(self, inplanes, planes, stride=1, dilation=1): super(BasicBlock, self).__init__() self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation) self.bn1 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1, padding=dilation, bias=False, dilation=dilation) self.bn2 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.stride = stride def forward(self, x, residual=None): if residual is None: residual = x out = self.conv1(x) out = self.bn1(out) out = self.relu(out) out = self.conv2(out) out = self.bn2(out) out += residual out = self.relu(out) return out class Bottleneck(nn.Module): expansion = 2 def __init__(self, inplanes, planes, stride=1, dilation=1): super(Bottleneck, self).__init__() expansion = Bottleneck.expansion bottle_planes = planes // expansion self.conv1 = nn.Conv2d(inplanes, bottle_planes, kernel_size=1, bias=False) self.bn1 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv2 = nn.Conv2d(bottle_planes, bottle_planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation) self.bn2 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv3 = nn.Conv2d(bottle_planes, planes, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.stride = stride def forward(self, x, residual=None): if residual is None: 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) out += residual out = self.relu(out) return out class BottleneckX(nn.Module): expansion = 2 cardinality = 32 def __init__(self, inplanes, planes, stride=1, dilation=1): super(BottleneckX, self).__init__() cardinality = BottleneckX.cardinality # dim = int(math.floor(planes * (BottleneckV5.expansion / 64.0))) # bottle_planes = dim * cardinality bottle_planes = planes * cardinality // 32 self.conv1 = nn.Conv2d(inplanes, bottle_planes, kernel_size=1, bias=False) self.bn1 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv2 = nn.Conv2d(bottle_planes, bottle_planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation, groups=cardinality) self.bn2 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv3 = nn.Conv2d(bottle_planes, planes, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.stride = stride def forward(self, x, residual=None): if residual is None: 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) out += residual out = self.relu(out) return out class Root(nn.Module): def __init__(self, in_channels, out_channels, kernel_size, residual): super(Root, self).__init__() self.conv = nn.Conv2d( in_channels, out_channels, 1, stride=1, bias=False, padding=(kernel_size - 1) // 2) self.bn = nn.BatchNorm2d(out_channels, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.residual = residual def forward(self, *x): children = x x = self.conv(torch.cat(x, 1)) x = self.bn(x) if self.residual: x += children[0] x = self.relu(x) return x class Tree(nn.Module): def __init__(self, levels, block, in_channels, out_channels, stride=1, level_root=False, root_dim=0, root_kernel_size=1, dilation=1, root_residual=False): super(Tree, self).__init__() if root_dim == 0: root_dim = 2 * out_channels if level_root: root_dim += in_channels if levels == 1: self.tree1 = block(in_channels, out_channels, stride, dilation=dilation) self.tree2 = block(out_channels, out_channels, 1, dilation=dilation) else: self.tree1 = Tree(levels - 1, block, in_channels, out_channels, stride, root_dim=0, root_kernel_size=root_kernel_size, dilation=dilation, root_residual=root_residual) self.tree2 = Tree(levels - 1, block, out_channels, out_channels, root_dim=root_dim + out_channels, root_kernel_size=root_kernel_size, dilation=dilation, root_residual=root_residual) if levels == 1: self.root = Root(root_dim, out_channels, root_kernel_size, root_residual) self.level_root = level_root self.root_dim = root_dim self.downsample = None self.project = None self.levels = levels if stride > 1: self.downsample = nn.MaxPool2d(stride, stride=stride) if in_channels != out_channels: self.project = nn.Sequential( nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, bias=False), nn.BatchNorm2d(out_channels, momentum=BN_MOMENTUM) ) def forward(self, x, residual=None, children=None): children = [] if children is None else children bottom = self.downsample(x) if self.downsample else x residual = self.project(bottom) if self.project else bottom if self.level_root: children.append(bottom) x1 = self.tree1(x, residual) if self.levels == 1: x2 = self.tree2(x1) x = self.root(x2, x1, *children) else: children.append(x1) x = self.tree2(x1, children=children) return x class DLA(nn.Module): def __init__(self, levels, channels, num_classes=1000, block=BasicBlock, residual_root=False, linear_root=False): super(DLA, self).__init__() self.channels = channels self.num_classes = num_classes self.base_layer = nn.Sequential( nn.Conv2d(3, channels[0], kernel_size=7, stride=1, padding=3, bias=False), nn.BatchNorm2d(channels[0], momentum=BN_MOMENTUM), nn.ReLU(inplace=True)) self.level0 = self._make_conv_level( channels[0], channels[0], levels[0]) self.level1 = self._make_conv_level( channels[0], channels[1], levels[1], stride=2) self.level2 = Tree(levels[2], block, channels[1], channels[2], 2, level_root=False, root_residual=residual_root) self.level3 = Tree(levels[3], block, channels[2], channels[3], 2, level_root=True, root_residual=residual_root) self.level4 = Tree(levels[4], block, channels[3], channels[4], 2, level_root=True, root_residual=residual_root) self.level5 = Tree(levels[5], block, channels[4], channels[5], 2, level_root=True, root_residual=residual_root) # for m in self.modules(): # if isinstance(m, nn.Conv2d): # n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels # m.weight.data.normal_(0, math.sqrt(2. / n)) # elif isinstance(m, nn.BatchNorm2d): # m.weight.data.fill_(1) # m.bias.data.zero_() def _make_level(self, block, inplanes, planes, blocks, stride=1): downsample = None if stride != 1 or inplanes != planes: downsample = nn.Sequential( nn.MaxPool2d(stride, stride=stride), nn.Conv2d(inplanes, planes, kernel_size=1, stride=1, bias=False), nn.BatchNorm2d(planes, momentum=BN_MOMENTUM), ) layers = [] layers.append(block(inplanes, planes, stride, downsample=downsample)) for i in range(1, blocks): layers.append(block(inplanes, planes)) return nn.Sequential(*layers) def _make_conv_level(self, inplanes, planes, convs, stride=1, dilation=1): modules = [] for i in range(convs): modules.extend([ nn.Conv2d(inplanes, planes, kernel_size=3, stride=stride if i == 0 else 1, padding=dilation, bias=False, dilation=dilation), nn.BatchNorm2d(planes, momentum=BN_MOMENTUM), nn.ReLU(inplace=True)]) inplanes = planes return nn.Sequential(*modules) def forward(self, x): y = [] x = self.base_layer(x) for i in range(6): x = getattr(self, 'level{}'.format(i))(x) y.append(x) return y def load_pretrained_model(self, data='imagenet', name='dla34', hash='ba72cf86'): # fc = self.fc # if name.endswith('.pth'): # model_weights = torch.load(data + name) # else: # model_url = get_model_url(data, name, hash) # model_weights = model_zoo.load_url(model_url) import os model_weights = torch.load(os.path.join(os.path.dirname(__file__),'..', '..','..','..','models/dla_checkpoints/dla34-ba72cf86.pth')) num_classes = len(model_weights[list(model_weights.keys())[-1]]) self.fc = nn.Conv2d( self.channels[-1], num_classes, kernel_size=1, stride=1, padding=0, bias=True) self.load_state_dict(model_weights) # self.fc = fc def dla34(pretrained=True, **kwargs): # DLA-34 model = DLA([1, 1, 1, 2, 2, 1], [16, 32, 64, 128, 256, 512], block=BasicBlock, **kwargs) if pretrained: model.load_pretrained_model(data='imagenet', name='dla34', hash='ba72cf86') return model class Identity(nn.Module): def __init__(self): super(Identity, self).__init__() def forward(self, x): return x def fill_fc_weights(layers): for m in layers.modules(): if isinstance(m, nn.Conv2d): if m.bias is not None: nn.init.constant_(m.bias, 0) def fill_up_weights(up): w = up.weight.data f = math.ceil(w.size(2) / 2) c = (2 * f - 1 - f % 2) / (2. * f) for i in range(w.size(2)): for j in range(w.size(3)): w[0, 0, i, j] = \ (1 - math.fabs(i / f - c)) * (1 - math.fabs(j / f - c)) for c in range(1, w.size(0)): w[c, 0, :, :] = w[0, 0, :, :] class DeformConv(nn.Module): def __init__(self, chi, cho): super(DeformConv, self).__init__() self.actf = nn.Sequential( nn.BatchNorm2d(cho, momentum=BN_MOMENTUM), nn.ReLU(inplace=True) ) self.conv = DCN(chi, cho, kernel_size=(3,3), stride=1, padding=1, dilation=1, deformable_groups=1) def forward(self, x): x = self.conv(x) x = self.actf(x) return x class IDAUp(nn.Module): def __init__(self, o, channels, up_f): super(IDAUp, self).__init__() for i in range(1, len(channels)): c = channels[i] f = int(up_f[i]) proj = DeformConv(c, o) node = DeformConv(o, o) up = nn.ConvTranspose2d(o, o, f * 2, stride=f, padding=f // 2, output_padding=0, groups=o, bias=False) fill_up_weights(up) setattr(self, 'proj_' + str(i), proj) setattr(self, 'up_' + str(i), up) setattr(self, 'node_' + str(i), node) def forward(self, layers, startp, endp): for i in range(startp + 1, endp): upsample = getattr(self, 'up_' + str(i - startp)) project = getattr(self, 'proj_' + str(i - startp)) layers[i] = upsample(project(layers[i])) node = getattr(self, 'node_' + str(i - startp)) layers[i] = node(layers[i] + layers[i - 1]) class DLAUp(nn.Module): def __init__(self, startp, channels, scales, in_channels=None): super(DLAUp, self).__init__() self.startp = startp if in_channels is None: in_channels = channels self.channels = channels channels = list(channels) scales = np.array(scales, dtype=int) for i in range(len(channels) - 1): j = -i - 2 setattr(self, 'ida_{}'.format(i), IDAUp(channels[j], in_channels[j:], scales[j:] // scales[j])) scales[j + 1:] = scales[j] in_channels[j + 1:] = [channels[j] for _ in channels[j + 1:]] def forward(self, layers): out = [layers[-1]] # start with 32 for i in range(len(layers) - self.startp - 1): ida = getattr(self, 'ida_{}'.format(i)) ida(layers, len(layers) -i - 2, len(layers)) out.insert(0, layers[-1]) return out class Interpolate(nn.Module): def __init__(self, scale, mode): super(Interpolate, self).__init__() self.scale = scale self.mode = mode def forward(self, x): x = F.interpolate(x, scale_factor=self.scale, mode=self.mode, align_corners=False) return x class DLASeg(nn.Module): def __init__(self, base_name, heads, pretrained, down_ratio, final_kernel, last_level, head_conv, out_channel=0): super(DLASeg, self).__init__() assert down_ratio in [2, 4, 8, 16] self.first_level = int(np.log2(down_ratio)) self.last_level = last_level self.base = globals()[base_name](pretrained=pretrained) channels = self.base.channels scales = [2 ** i for i in range(len(channels[self.first_level:]))] self.dla_up = DLAUp(self.first_level, channels[self.first_level:], scales) if out_channel == 0: out_channel = channels[self.first_level] self.ida_up = IDAUp(out_channel, channels[self.first_level:self.last_level], [2 ** i for i in range(self.last_level - self.first_level)]) self.heads = heads for head in self.heads: classes = self.heads[head] if head_conv > 0: fc = nn.Sequential( nn.Conv2d(channels[self.first_level], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, classes, kernel_size=final_kernel, stride=1, padding=final_kernel // 2, bias=True)) if 'hm' in head: fc[-1].bias.data.fill_(-2.19) else: fill_fc_weights(fc) else: fc = nn.Conv2d(channels[self.first_level], classes, kernel_size=final_kernel, stride=1, padding=final_kernel // 2, bias=True) if 'hm' in head: fc.bias.data.fill_(-2.19) else: fill_fc_weights(fc) self.__setattr__(head, fc) def forward(self, x): x = self.base(x) x = self.dla_up(x) y = [] for i in range(self.last_level - self.first_level): y.append(x[i].clone()) self.ida_up(y, 0, len(y)) z = {} for head in self.heads: z[head] = self.__getattr__(head)(y[-1]) return [z] def get_pose_net(num_layers, heads, head_conv=256, down_ratio=4): model = DLASeg('dla{}'.format(num_layers), heads, pretrained=True, down_ratio=down_ratio, final_kernel=1, last_level=5, head_conv=head_conv) return model ================================================ FILE: src/lib/models/networks/pose_dla_dcn_v2.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import math import logging import numpy as np from os.path import join import torch from torch import nn import torch.nn.functional as F import torch.utils.model_zoo as model_zoo from ..predictor import Feat_sampler from .DCNv2.dcn_v2 import DCN BN_MOMENTUM = 0.1 logger = logging.getLogger(__name__) def get_model_url(data='imagenet', name='dla34', hash='ba72cf86'): return join('http://dl.yf.io/dla/models', data, '{}-{}.pth'.format(name, hash)) 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): def __init__(self, inplanes, planes, stride=1, dilation=1): super(BasicBlock, self).__init__() self.conv1 = nn.Conv2d(inplanes, planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation) self.bn1 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1, padding=dilation, bias=False, dilation=dilation) self.bn2 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.stride = stride def forward(self, x, residual=None): if residual is None: residual = x out = self.conv1(x) out = self.bn1(out) out = self.relu(out) out = self.conv2(out) out = self.bn2(out) out += residual out = self.relu(out) return out class Bottleneck(nn.Module): expansion = 2 def __init__(self, inplanes, planes, stride=1, dilation=1): super(Bottleneck, self).__init__() expansion = Bottleneck.expansion bottle_planes = planes // expansion self.conv1 = nn.Conv2d(inplanes, bottle_planes, kernel_size=1, bias=False) self.bn1 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv2 = nn.Conv2d(bottle_planes, bottle_planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation) self.bn2 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv3 = nn.Conv2d(bottle_planes, planes, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.stride = stride def forward(self, x, residual=None): if residual is None: 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) out += residual out = self.relu(out) return out class BottleneckX(nn.Module): expansion = 2 cardinality = 32 def __init__(self, inplanes, planes, stride=1, dilation=1): super(BottleneckX, self).__init__() cardinality = BottleneckX.cardinality # dim = int(math.floor(planes * (BottleneckV5.expansion / 64.0))) # bottle_planes = dim * cardinality bottle_planes = planes * cardinality // 32 self.conv1 = nn.Conv2d(inplanes, bottle_planes, kernel_size=1, bias=False) self.bn1 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv2 = nn.Conv2d(bottle_planes, bottle_planes, kernel_size=3, stride=stride, padding=dilation, bias=False, dilation=dilation, groups=cardinality) self.bn2 = nn.BatchNorm2d(bottle_planes, momentum=BN_MOMENTUM) self.conv3 = nn.Conv2d(bottle_planes, planes, kernel_size=1, bias=False) self.bn3 = nn.BatchNorm2d(planes, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.stride = stride def forward(self, x, residual=None): if residual is None: 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) out += residual out = self.relu(out) return out class Root(nn.Module): def __init__(self, in_channels, out_channels, kernel_size, residual): super(Root, self).__init__() self.conv = nn.Conv2d( in_channels, out_channels, 1, stride=1, bias=False, padding=(kernel_size - 1) // 2) self.bn = nn.BatchNorm2d(out_channels, momentum=BN_MOMENTUM) self.relu = nn.ReLU(inplace=True) self.residual = residual def forward(self, *x): children = x x = self.conv(torch.cat(x, 1)) x = self.bn(x) if self.residual: x += children[0] x = self.relu(x) return x class Tree(nn.Module): def __init__(self, levels, block, in_channels, out_channels, stride=1, level_root=False, root_dim=0, root_kernel_size=1, dilation=1, root_residual=False): super(Tree, self).__init__() if root_dim == 0: root_dim = 2 * out_channels if level_root: root_dim += in_channels if levels == 1: self.tree1 = block(in_channels, out_channels, stride, dilation=dilation) self.tree2 = block(out_channels, out_channels, 1, dilation=dilation) else: self.tree1 = Tree(levels - 1, block, in_channels, out_channels, stride, root_dim=0, root_kernel_size=root_kernel_size, dilation=dilation, root_residual=root_residual) self.tree2 = Tree(levels - 1, block, out_channels, out_channels, root_dim=root_dim + out_channels, root_kernel_size=root_kernel_size, dilation=dilation, root_residual=root_residual) if levels == 1: self.root = Root(root_dim, out_channels, root_kernel_size, root_residual) self.level_root = level_root self.root_dim = root_dim self.downsample = None self.project = None self.levels = levels if stride > 1: self.downsample = nn.MaxPool2d(stride, stride=stride) if in_channels != out_channels: self.project = nn.Sequential( nn.Conv2d(in_channels, out_channels, kernel_size=1, stride=1, bias=False), nn.BatchNorm2d(out_channels, momentum=BN_MOMENTUM) ) def forward(self, x, residual=None, children=None): children = [] if children is None else children bottom = self.downsample(x) if self.downsample else x residual = self.project(bottom) if self.project else bottom if self.level_root: children.append(bottom) x1 = self.tree1(x, residual) if self.levels == 1: x2 = self.tree2(x1) x = self.root(x2, x1, *children) else: children.append(x1) x = self.tree2(x1, children=children) return x class DLA(nn.Module): def __init__(self, levels, channels, num_classes=1000, block=BasicBlock, residual_root=False, linear_root=False): super(DLA, self).__init__() self.channels = channels self.num_classes = num_classes self.base_layer = nn.Sequential( nn.Conv2d(3, channels[0], kernel_size=7, stride=1, padding=3, bias=False), nn.BatchNorm2d(channels[0], momentum=BN_MOMENTUM), nn.ReLU(inplace=True)) self.level0 = self._make_conv_level( channels[0], channels[0], levels[0]) self.level1 = self._make_conv_level( channels[0], channels[1], levels[1], stride=2) self.level2 = Tree(levels[2], block, channels[1], channels[2], 2, level_root=False, root_residual=residual_root) self.level3 = Tree(levels[3], block, channels[2], channels[3], 2, level_root=True, root_residual=residual_root) self.level4 = Tree(levels[4], block, channels[3], channels[4], 2, level_root=True, root_residual=residual_root) self.level5 = Tree(levels[5], block, channels[4], channels[5], 2, level_root=True, root_residual=residual_root) # for m in self.modules(): # if isinstance(m, nn.Conv2d): # n = m.kernel_size[0] * m.kernel_size[1] * m.out_channels # m.weight.data.normal_(0, math.sqrt(2. / n)) # elif isinstance(m, nn.BatchNorm2d): # m.weight.data.fill_(1) # m.bias.data.zero_() def _make_level(self, block, inplanes, planes, blocks, stride=1): downsample = None if stride != 1 or inplanes != planes: downsample = nn.Sequential( nn.MaxPool2d(stride, stride=stride), nn.Conv2d(inplanes, planes, kernel_size=1, stride=1, bias=False), nn.BatchNorm2d(planes, momentum=BN_MOMENTUM), ) layers = [] layers.append(block(inplanes, planes, stride, downsample=downsample)) for i in range(1, blocks): layers.append(block(inplanes, planes)) return nn.Sequential(*layers) def _make_conv_level(self, inplanes, planes, convs, stride=1, dilation=1): modules = [] for i in range(convs): modules.extend([ nn.Conv2d(inplanes, planes, kernel_size=3, stride=stride if i == 0 else 1, padding=dilation, bias=False, dilation=dilation), nn.BatchNorm2d(planes, momentum=BN_MOMENTUM), nn.ReLU(inplace=True)]) inplanes = planes return nn.Sequential(*modules) def forward(self, x): y = [] x = self.base_layer(x) for i in range(6): x = getattr(self, 'level{}'.format(i))(x) y.append(x) return y def load_pretrained_model(self, data='imagenet', name='dla34', hash='ba72cf86'): # fc = self.fc # if name.endswith('.pth'): # model_weights = torch.load(data + name) # else: # model_url = get_model_url(data, name, hash) # model_weights = model_zoo.load_url(model_url) import os model_weights = torch.load(os.path.join(os.path.dirname(__file__),'..', '..','..','..','models/dla34-ba72cf86.pth')) num_classes = len(model_weights[list(model_weights.keys())[-1]]) self.fc = nn.Conv2d( self.channels[-1], num_classes, kernel_size=1, stride=1, padding=0, bias=True) self.load_state_dict(model_weights) # self.fc = fc def dla34(pretrained=True, **kwargs): # DLA-34 model = DLA([1, 1, 1, 2, 2, 1], [16, 32, 64, 128, 256, 512], block=BasicBlock, **kwargs) if pretrained: model.load_pretrained_model(data='imagenet', name='dla34', hash='ba72cf86') return model class Identity(nn.Module): def __init__(self): super(Identity, self).__init__() def forward(self, x): return x def fill_fc_weights(layers): for m in layers.modules(): if isinstance(m, nn.Conv2d): if m.bias is not None: nn.init.constant_(m.bias, 0) def fill_kps_weights(layers): # import pudb; pudb.set_trace() for name,m in layers.named_modules(): if isinstance(m, nn.Conv2d): if 'wh_pred' in name: nn.init.normal_(m.weight, std=0.001) nn.init.constant_(m.bias, 0) elif 'searcher' in name: nn.init.constant_(m.weight, 0) nn.init.constant_(m.bias, 0) # nn.init.normal_(m.weight, std=0.001) elif 'hm' in name: nn.init.constant_(m.bias, -2.19) elif 'pred_kps' in name: nn.init.normal_(m.weight, std=0.001) nn.init.constant_(m.bias, 0) def fill_up_weights(up): w = up.weight.data f = math.ceil(w.size(2) / 2) c = (2 * f - 1 - f % 2) / (2. * f) for i in range(w.size(2)): for j in range(w.size(3)): w[0, 0, i, j] = \ (1 - math.fabs(i / f - c)) * (1 - math.fabs(j / f - c)) for c in range(1, w.size(0)): w[c, 0, :, :] = w[0, 0, :, :] class DeformConv(nn.Module): def __init__(self, chi, cho): super(DeformConv, self).__init__() self.actf = nn.Sequential( nn.BatchNorm2d(cho, momentum=BN_MOMENTUM), nn.ReLU(inplace=True) ) self.conv = DCN(chi, cho, kernel_size=(3,3), stride=1, padding=1, dilation=1, deformable_groups=1) def forward(self, x): x = self.conv(x) x = self.actf(x) return x class IDAUp(nn.Module): def __init__(self, o, channels, up_f): super(IDAUp, self).__init__() for i in range(1, len(channels)): c = channels[i] f = int(up_f[i]) proj = DeformConv(c, o) node = DeformConv(o, o) up = nn.ConvTranspose2d(o, o, f * 2, stride=f, padding=f // 2, output_padding=0, groups=o, bias=False) fill_up_weights(up) setattr(self, 'proj_' + str(i), proj) setattr(self, 'up_' + str(i), up) setattr(self, 'node_' + str(i), node) def forward(self, layers, startp, endp): for i in range(startp + 1, endp): upsample = getattr(self, 'up_' + str(i - startp)) project = getattr(self, 'proj_' + str(i - startp)) layers[i] = upsample(project(layers[i])) node = getattr(self, 'node_' + str(i - startp)) layers[i] = node(layers[i] + layers[i - 1]) class DLAUp(nn.Module): def __init__(self, startp, channels, scales, in_channels=None): super(DLAUp, self).__init__() self.startp = startp if in_channels is None: in_channels = channels self.channels = channels channels = list(channels) scales = np.array(scales, dtype=int) for i in range(len(channels) - 1): j = -i - 2 setattr(self, 'ida_{}'.format(i), IDAUp(channels[j], in_channels[j:], scales[j:] // scales[j])) scales[j + 1:] = scales[j] in_channels[j + 1:] = [channels[j] for _ in channels[j + 1:]] def forward(self, layers): out = [layers[-1]] # start with 32 for i in range(len(layers) - self.startp - 1): ida = getattr(self, 'ida_{}'.format(i)) ida(layers, len(layers) -i - 2, len(layers)) out.insert(0, layers[-1]) return out class Interpolate(nn.Module): def __init__(self, scale, mode): super(Interpolate, self).__init__() self.scale = scale self.mode = mode def forward(self, x): x = F.interpolate(x, scale_factor=self.scale, mode=self.mode, align_corners=False) return x class DLASeg(nn.Module): def __init__(self, base_name, heads, pretrained, down_ratio, final_kernel, last_level, head_conv, out_channel=0): super(DLASeg, self).__init__() assert down_ratio in [2, 4, 8, 16] self.first_level = int(np.log2(down_ratio)) self.last_level = last_level self.base = globals()[base_name](pretrained=pretrained) channels = self.base.channels scales = [2 ** i for i in range(len(channels[self.first_level:]))] self.dla_up = DLAUp(self.first_level, channels[self.first_level:], scales) if out_channel == 0: out_channel = channels[self.first_level] self.ida_up = IDAUp(out_channel, channels[self.first_level:self.last_level], [2 ** i for i in range(self.last_level - self.first_level)]) backbone = nn.ModuleList([self.base,self.dla_up,self.ida_up]) params_num = sum(p.numel() for p in backbone.parameters() if p.requires_grad) self.heads = heads for head in self.heads: classes = self.heads[head] if head_conv > 0: if head == 'hm': fc = nn.Sequential( nn.Conv2d(channels[self.first_level], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), ) elif head == 'hps': fc = nn.Sequential( nn.Conv2d(channels[self.first_level], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), ) fill_fc_weights(fc) else: fc = nn.Sequential( nn.Conv2d(channels[self.first_level], head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, classes, kernel_size=final_kernel, stride=1, padding=final_kernel // 2, bias=True)) if 'hm' in head: fc[-1].bias.data.fill_(-2.19) else: fill_fc_weights(fc) else: fc = nn.Conv2d(channels[self.first_level], classes, kernel_size=final_kernel, stride=1, padding=final_kernel // 2, bias=True) if 'hm' in head: fc.bias.data.fill_(-2.19) else: fill_fc_weights(fc) self.__setattr__(head, fc) self.sampler = Feat_sampler(head_conv, self.heads['hps']) params_num = sum(p.numel() for p in self.sampler.parameters() if p.requires_grad) print('sampler_Params: %.2fM' % (params_num / 1e6)) fill_kps_weights(self.sampler) def forward(self, x): x = self.base(x) x = self.dla_up(x) y = [] for i in range(self.last_level - self.first_level): y.append(x[i].clone()) # import pudb; pudb.set_trace() self.ida_up(y, 0, len(y)) z = {} for head in self.heads: z[head] = self.__getattr__(head)(y[-1]) z['hps'], z['hm'], z['ap']= self.sampler(z['hps'],z['hm']) return [z] def get_model_parameters_number(model): params_num = sum(p.numel() for p in model.parameters() if p.requires_grad) return params_num def get_pose_net(num_layers, heads, head_conv=256, down_ratio=4): model = DLASeg('dla{}'.format(num_layers), heads, pretrained=True, down_ratio=down_ratio, final_kernel=1, last_level=5, head_conv=head_conv) params = get_model_parameters_number(model) print('Params: %.2fM' % (params / 1e6)) return model ================================================ FILE: src/lib/models/networks/resnet_dcn.py ================================================ # ------------------------------------------------------------------------------ # Copyright (c) Microsoft # Licensed under the MIT License. # Written by Bin Xiao (Bin.Xiao@microsoft.com) # Modified by Dequan Wang and Xingyi Zhou # ------------------------------------------------------------------------------ from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import math import logging import torch import torch.nn as nn from .DCNv2.dcn_v2 import DCN import torch.utils.model_zoo as model_zoo BN_MOMENTUM = 0.1 logger = logging.getLogger(__name__) model_urls = { 'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth', 'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth', 'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth', 'resnet101': 'https://download.pytorch.org/models/resnet101-5d3b4d8f.pth', 'resnet152': 'https://download.pytorch.org/models/resnet152-b121ed2d.pth', } 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 def fill_up_weights(up): w = up.weight.data f = math.ceil(w.size(2) / 2) c = (2 * f - 1 - f % 2) / (2. * f) for i in range(w.size(2)): for j in range(w.size(3)): w[0, 0, i, j] = \ (1 - math.fabs(i / f - c)) * (1 - math.fabs(j / f - c)) for c in range(1, w.size(0)): w[c, 0, :, :] = w[0, 0, :, :] def fill_fc_weights(layers): for m in layers.modules(): if isinstance(m, nn.Conv2d): nn.init.normal_(m.weight, std=0.001) # torch.nn.init.kaiming_normal_(m.weight.data, nonlinearity='relu') # torch.nn.init.xavier_normal_(m.weight.data) if m.bias is not None: nn.init.constant_(m.bias, 0) class PoseResNet(nn.Module): def __init__(self, block, layers, heads, head_conv): self.inplanes = 64 self.heads = heads self.deconv_with_bias = False 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( 3, [256, 128, 64], [4, 4, 4], ) for head in self.heads: classes = self.heads[head] if head_conv > 0: fc = nn.Sequential( nn.Conv2d(64, head_conv, kernel_size=3, padding=1, bias=True), nn.ReLU(inplace=True), nn.Conv2d(head_conv, classes, kernel_size=1, stride=1, padding=0, bias=True)) if 'hm' in head: fc[-1].bias.data.fill_(-2.19) else: fill_fc_weights(fc) else: fc = nn.Conv2d(64, classes, kernel_size=1, stride=1, padding=0, bias=True) if 'hm' in head: fc.bias.data.fill_(-2.19) else: fill_fc_weights(fc) self.__setattr__(head, fc) 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] fc = DCN(self.inplanes, planes, kernel_size=(3,3), stride=1, padding=1, dilation=1, deformable_groups=1) # fc = nn.Conv2d(self.inplanes, planes, # kernel_size=3, stride=1, # padding=1, dilation=1, bias=False) # fill_fc_weights(fc) up = nn.ConvTranspose2d( in_channels=planes, out_channels=planes, kernel_size=kernel, stride=2, padding=padding, output_padding=output_padding, bias=self.deconv_with_bias) fill_up_weights(up) layers.append(fc) layers.append(nn.BatchNorm2d(planes, momentum=BN_MOMENTUM)) layers.append(nn.ReLU(inplace=True)) layers.append(up) 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) ret = {} for head in self.heads: ret[head] = self.__getattr__(head)(x) return [ret] def init_weights(self, num_layers): if 1: url = model_urls['resnet{}'.format(num_layers)] pretrained_state_dict = model_zoo.load_url(url) print('=> loading pretrained model {}'.format(url)) self.load_state_dict(pretrained_state_dict, strict=False) print('=> init deconv weights from normal distribution') for name, m in self.deconv_layers.named_modules(): if isinstance(m, nn.BatchNorm2d): nn.init.constant_(m.weight, 1) 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(num_layers, heads, head_conv=256): block_class, layers = resnet_spec[num_layers] model = PoseResNet(block_class, layers, heads, head_conv=head_conv) model.init_weights(num_layers) return model ================================================ FILE: src/lib/models/oks_loss.py ================================================ import numpy as np import torch import torch.nn as nn from .utils import _transpose_and_gather_feat def off_to_pose(output, target, inds): ''' output is predicted offset ''' batch, cat, height, width = output.size() num_kps = cat // 2 ys = (inds / width).int().float() xs = (inds % width).int().float() ct_coord = torch.stack([xs,ys], dim=-1).repeat(1,1,num_kps) pred_offset = _transpose_and_gather_feat(output, inds) pred_pose = ct_coord + pred_offset target = ct_coord + target return pred_pose, target def oks_overlaps(kpt_preds, kpt_gts, kpt_valids, kpt_areas, ind, sigmas): ## 第一个维度为有效人体数目 kpt_preds, kpt_gts = off_to_pose(kpt_preds, kpt_gts, ind) assert kpt_preds.shape == kpt_gts.shape bs, max_num, _ = kpt_preds.shape kpt_valids = kpt_valids.reshape(bs, max_num, kpt_valids.size(-1)// 2, 2)[:,:,:,0] valid_inst = kpt_valids.sum(-1).reshape(bs * max_num) > 0 valid_preds = kpt_preds.reshape(bs * max_num, kpt_preds.size(-1))[valid_inst] valid_gts = kpt_gts.reshape(bs * max_num, kpt_gts.size(-1))[valid_inst] kpt_areas = kpt_areas.reshape(bs * max_num)[valid_inst] kpt_valids = kpt_valids.reshape(bs * max_num, kpt_valids.size(-1))[valid_inst] assert valid_preds.shape == valid_gts.shape kpt_preds, kpt_gts = valid_preds, valid_gts sigmas = kpt_preds.new_tensor(sigmas) variances = (sigmas * 2)**2 # kpt_preds = kpt_preds.reshape(-1, kpt_preds.size(-1) // 2, 2) kpt_gts = kpt_gts.reshape(-1, kpt_gts.size(-1) // 2, 2) squared_distance = (kpt_preds[:, :, 0] - kpt_gts[:, :, 0]) ** 2 + \ (kpt_preds[:, :, 1] - kpt_gts[:, :, 1]) ** 2 assert (kpt_valids.sum(-1) > 0).all() squared_distance0 = squared_distance / ( kpt_areas[:, None] * variances[None, :] * 2) squared_distance1 = torch.exp(-squared_distance0) # import pudb;pudb.set_trace() squared_distance1 = squared_distance1 * kpt_valids.float() oks = squared_distance1.sum(dim=1) / kpt_valids.float().sum(dim=1) return oks def oks_loss(pred, target, ind, valid=None, area=None, linear=False, sigmas=None, eps=1e-6): """Oks loss. Computing the oks loss between a set of predicted poses and target poses. The loss is calculated as negative log of oks. Args: pred (torch.Tensor): Predicted poses of format (x1, y1, x2, y2, ...), shape (n, K*2). target (torch.Tensor): Corresponding gt poses, shape (n, K*2). linear (bool, optional): If True, use linear scale of loss instead of log scale. Default: False. eps (float): Eps to avoid log(0). Returns: torch.Tensor: Loss tensor. """ oks = oks_overlaps(pred, target, valid, area, ind, sigmas).clamp(min=eps) if linear: loss = 1 - oks else: loss = -oks.log() return loss class OKSLoss(nn.Module): """OKSLoss. Computing the oks loss between a set of predicted poses and target poses. Args: linear (bool): If True, use linear scale of loss instead of log scale. Default: False. eps (float): Eps to avoid log(0). reduction (str): Options are "none", "mean" and "sum". loss_weight (float): Weight of loss. """ def __init__(self, linear=False, num_keypoints=17, eps=1e-6, reduction='mean', loss_weight=1.0): super(OKSLoss, self).__init__() self.linear = linear self.eps = eps self.reduction = reduction self.loss_weight = loss_weight if num_keypoints == 17: self.sigmas = np.array([ .26, .25, .25, .35, .35, .79, .79, .72, .72, .62, .62, 1.07, 1.07, .87, .87, .89, .89 ], dtype=np.float32) / 10.0 elif num_keypoints == 14: self.sigmas = np.array([ .79, .79, .72, .72, .62, .62, 1.07, 1.07, .87, .87, .89, .89, .79, .79 ]) / 10.0 else: raise ValueError(f'Unsupported keypoints number {num_keypoints}') def forward(self, pred, target, valid, area, ind, weight=None, avg_factor=None, reduction_override=None, **kwargs): """Forward function. Args: pred (torch.Tensor): The prediction. (bs, max_num, 34) target (torch.Tensor): The learning target of the prediction. (bs, max_num, 34) valid (torch.Tensor): The visible flag of the target pose. (bs, max_num, 34) area (torch.Tensor): The area of the target pose. (bs, max_num) weight (torch.Tensor, optional): The weight of loss for each prediction. Defaults to None. avg_factor (int, optional): Average factor that is used to average the loss. Defaults to None. reduction_override (str, optional): The reduction method used to override the original reduction method of the loss. Defaults to None. Options are "none", "mean" and "sum". """ assert reduction_override in (None, 'none', 'mean', 'sum') reduction = ( reduction_override if reduction_override else self.reduction) if (weight is not None) and (not torch.any(weight > 0)) and ( reduction != 'none'): if pred.dim() == weight.dim() + 1: weight = weight.unsqueeze(1) return (pred * weight).sum() # 0 if weight is not None and weight.dim() > 1: # TODO: remove this in the future # reduce the weight of shape (n, 4) to (n,) to match the # iou_loss of shape (n,) assert weight.shape == pred.shape weight = weight.mean(-1) loss = self.loss_weight * oks_loss( pred, target, ind, valid=valid, area=area, linear=self.linear, sigmas=self.sigmas, eps=self.eps,) # reduction=reduction, # avg_factor=avg_factor, # **kwargs) return loss ================================================ FILE: src/lib/models/predictor.py ================================================ import torch import torch.nn as nn import collections from torch.nn import functional as F from flops_counter import get_model_complexity_info from .resample2d_package.resample2d import Resample2d # from .GCN_utils.gcn2 import GCN from .networks.DCNv2.dcn_v2 import DCN class conv_bn_relu(nn.Module): def __init__(self, inp_dim, out_dim, k, stride=1, with_bn=True): super(conv_bn_relu, self).__init__() pad = (k - 1) // 2 self.conv = nn.Conv2d(inp_dim, out_dim, (k, k), padding=(pad, pad), stride=(stride, stride), bias=not with_bn) self.bn = nn.BatchNorm2d(out_dim) if with_bn else nn.Sequential() self.relu = nn.ReLU(inplace=True) def forward(self, x): conv = self.conv(x) bn = self.bn(conv) relu = self.relu(bn) return relu class Feat_sampler(nn.Module): def __init__(self,head_conv, hps_channel, moudling=False): super(Feat_sampler, self).__init__() self.resample = Resample2d() self.gradient_mul = 1.0 self.hps_channel = hps_channel if self.hps_channel == 34: heads = {"face":5,"shoulder":2, "left_elbow_wrist":2,"right_elbow_wrist":2, "hip":2, "left_knee_ankle":2, "right_knee_ankle":2} # COCO elif self.hps_channel == 28: heads = {"shoulder":2, "left_elbow_wrist":2,"right_elbow_wrist":2, "hip":2, "left_knee_ankle":2, "right_knee_ankle":2, "head":2} # the partitions on crowdpose else: assert 'unsupport' self.heads = collections.OrderedDict(heads) # predict the one-hop offset self.j = 2 self.searcher = nn.Conv2d(head_conv, len(self.heads)*self.j , 3, padding=1, stride=1, bias=True) inp_dim =64 # feature transformation for each part feat_trans = [] feat_agg = [] for m in range(len(self.heads)): feat_trans.append(conv_bn_relu(head_conv, inp_dim, 1 ,with_bn= True)) feat_agg.append(DCN(inp_dim, inp_dim, kernel_size=(3,3), stride=1, padding=1, dilation=1, deformable_groups=1)) self.feat_trans = nn.ModuleList(feat_trans) self.feat_agg = nn.ModuleList(feat_agg) # predict the second-hop offset separately pred_kps_list=[] for head in self.heads.keys(): pred_kps_list.append(nn.Conv2d(inp_dim, self.heads[head]*2, 1, padding=0, stride=1, bias=True)) self.pred_kps_list = nn.ModuleList(pred_kps_list) self.ct_feat_trans = nn.Conv2d(head_conv, inp_dim, 1, padding=0, stride=1, bias=True) self.squeeze_ct = conv_bn_relu(inp_dim * len(heads) + head_conv, inp_dim, 3 ,with_bn=False) self.pred_ct_hm = nn.Conv2d(inp_dim, 1, kernel_size=1, stride=1, padding=0) def feat_sampler(self, kps_feat, ct_feat, offset1): ct_hm_feat = [ct_feat] ct_feat = self.ct_feat_trans(ct_feat) off = collections.OrderedDict() for i,head in enumerate(list(self.heads.keys())): adapt_point_location = offset1[:,self.j*i:self.j*i+2,:,:].contiguous() kps_onehop_feat = self.resample(self.feat_agg[i](self.feat_trans[i](kps_feat)), adapt_point_location) ct_onehop_feat = self.resample(ct_feat, adapt_point_location) offset2 = self.pred_kps_list[i](kps_onehop_feat) off[head] = offset2 + offset1[:, self.j*i:self.j*i+2, :, :].repeat(1,self.heads[head],1,1) ct_hm_feat.append(ct_onehop_feat) ct_hm_feat =torch.cat(ct_hm_feat,dim=1) return off ,ct_hm_feat def post_process(self,res_dict): if self.hps_channel == 34: final_result = [res_dict["face"],res_dict["shoulder"], res_dict["left_elbow_wrist"][:,:2,:,:],res_dict["right_elbow_wrist"][:,:2,:,:], res_dict["left_elbow_wrist"][:,2:,:,:],res_dict["right_elbow_wrist"][:,2:,:,:], res_dict["hip"], res_dict["left_knee_ankle"][:,:2,:,:],res_dict["right_knee_ankle"][:,:2,:,:], res_dict["left_knee_ankle"][:,2:,:,:],res_dict["right_knee_ankle"][:,2:,:,:]] elif self.hps_channel == 28: final_result = [res_dict["shoulder"], res_dict["left_elbow_wrist"][:,:2,:,:],res_dict["right_elbow_wrist"][:,:2,:,:], res_dict["left_elbow_wrist"][:,2:,:,:],res_dict["right_elbow_wrist"][:,2:,:,:], res_dict["hip"], res_dict["left_knee_ankle"][:,:2,:,:],res_dict["right_knee_ankle"][:,:2,:,:], res_dict["left_knee_ankle"][:,2:,:,:],res_dict["right_knee_ankle"][:,2:,:,:], res_dict["head"]] # the partitions on crowdpose final_result = torch.cat(final_result, dim=1) return final_result def forward(self, kps_feat, ct_feat): offset1 = self.searcher(kps_feat) # one-hop offset offset1_grad_mul = (1 - self.gradient_mul) * offset1.detach( ) + self.gradient_mul * offset1 kps,ct_hm_feat = self.feat_sampler(kps_feat, ct_feat, offset1_grad_mul) kps = self.post_process(kps) ct_hm_feat = self.squeeze_ct(ct_hm_feat) ct = self.pred_ct_hm(ct_hm_feat) return kps, ct, offset1 if __name__ == "__main__": model = Feat_sampler(64) flops, params = get_model_complexity_info(model.cpu(), (128, 128), as_strings=False, print_per_layer_stat=True, channel=64) print('Flops: %.3f' % (flops / 1e9)) print('Params: %.2fM' % (params / 1e6)) ================================================ FILE: src/lib/models/py_utils/__init__.py ================================================ from .kp import kp, AELoss from .kp_utils import _neg_loss from .utils import convolution, fully_connected, residual from ._cpools import TopPool, BottomPool, LeftPool, RightPool ================================================ FILE: src/lib/models/py_utils/_cpools/.gitignore ================================================ build/ cpools.egg-info/ dist/ ================================================ FILE: src/lib/models/py_utils/_cpools/__init__.py ================================================ import torch from torch import nn from torch.autograd import Function import top_pool, bottom_pool, left_pool, right_pool class TopPoolFunction(Function): @staticmethod def forward(ctx, input): output = top_pool.forward(input)[0] ctx.save_for_backward(input) return output @staticmethod def backward(ctx, grad_output): input = ctx.saved_variables[0] output = top_pool.backward(input, grad_output)[0] return output class BottomPoolFunction(Function): @staticmethod def forward(ctx, input): output = bottom_pool.forward(input)[0] ctx.save_for_backward(input) return output @staticmethod def backward(ctx, grad_output): input = ctx.saved_variables[0] output = bottom_pool.backward(input, grad_output)[0] return output class LeftPoolFunction(Function): @staticmethod def forward(ctx, input): output = left_pool.forward(input)[0] ctx.save_for_backward(input) return output @staticmethod def backward(ctx, grad_output): input = ctx.saved_variables[0] output = left_pool.backward(input, grad_output)[0] return output class RightPoolFunction(Function): @staticmethod def forward(ctx, input): output = right_pool.forward(input)[0] ctx.save_for_backward(input) return output @staticmethod def backward(ctx, grad_output): input = ctx.saved_variables[0] output = right_pool.backward(input, grad_output)[0] return output class TopPool(nn.Module): def forward(self, x): return TopPoolFunction.apply(x) class BottomPool(nn.Module): def forward(self, x): return BottomPoolFunction.apply(x) class LeftPool(nn.Module): def forward(self, x): return LeftPoolFunction.apply(x) class RightPool(nn.Module): def forward(self, x): return RightPoolFunction.apply(x) ================================================ FILE: src/lib/models/py_utils/_cpools/setup.py ================================================ from setuptools import setup from torch.utils.cpp_extension import BuildExtension, CppExtension setup( name="cpools", ext_modules=[ CppExtension("top_pool", ["src/top_pool.cpp"]), CppExtension("bottom_pool", ["src/bottom_pool.cpp"]), CppExtension("left_pool", ["src/left_pool.cpp"]), CppExtension("right_pool", ["src/right_pool.cpp"]) ], cmdclass={ "build_ext": BuildExtension } ) ================================================ FILE: src/lib/models/py_utils/_cpools/src/bottom_pool.cpp ================================================ #include #include std::vector pool_forward( at::Tensor input ) { // Initialize output at::Tensor output = at::zeros_like(input); // Get height int64_t height = input.size(2); // Copy the last column at::Tensor input_temp = input.select(2, 0); at::Tensor output_temp = output.select(2, 0); output_temp.copy_(input_temp); at::Tensor max_temp; for (int64_t ind = 0; ind < height - 1; ++ind) { input_temp = input.select(2, ind + 1); output_temp = output.select(2, ind); max_temp = output.select(2, ind + 1); at::max_out(max_temp, input_temp, output_temp); } return { output }; } std::vector pool_backward( at::Tensor input, at::Tensor grad_output ) { auto output = at::zeros_like(input); int32_t batch = input.size(0); int32_t channel = input.size(1); int32_t height = input.size(2); int32_t width = input.size(3); auto max_val = at::zeros(torch::CUDA(at::kFloat), {batch, channel, width}); auto max_ind = at::zeros(torch::CUDA(at::kLong), {batch, channel, width}); auto input_temp = input.select(2, 0); max_val.copy_(input_temp); max_ind.fill_(0); auto output_temp = output.select(2, 0); auto grad_output_temp = grad_output.select(2, 0); output_temp.copy_(grad_output_temp); auto un_max_ind = max_ind.unsqueeze(2); auto gt_mask = at::zeros(torch::CUDA(at::kByte), {batch, channel, width}); auto max_temp = at::zeros(torch::CUDA(at::kFloat), {batch, channel, width}); for (int32_t ind = 0; ind < height - 1; ++ind) { input_temp = input.select(2, ind + 1); at::gt_out(gt_mask, input_temp, max_val); at::masked_select_out(max_temp, input_temp, gt_mask); max_val.masked_scatter_(gt_mask, max_temp); max_ind.masked_fill_(gt_mask, ind + 1); grad_output_temp = grad_output.select(2, ind + 1).unsqueeze(2); output.scatter_add_(2, un_max_ind, grad_output_temp); } return { output }; } PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def( "forward", &pool_forward, "Bottom Pool Forward", py::call_guard() ); m.def( "backward", &pool_backward, "Bottom Pool Backward", py::call_guard() ); } ================================================ FILE: src/lib/models/py_utils/_cpools/src/left_pool.cpp ================================================ #include #include std::vector pool_forward( at::Tensor input ) { // Initialize output at::Tensor output = at::zeros_like(input); // Get width int64_t width = input.size(3); // Copy the last column at::Tensor input_temp = input.select(3, width - 1); at::Tensor output_temp = output.select(3, width - 1); output_temp.copy_(input_temp); at::Tensor max_temp; for (int64_t ind = 1; ind < width; ++ind) { input_temp = input.select(3, width - ind - 1); output_temp = output.select(3, width - ind); max_temp = output.select(3, width - ind - 1); at::max_out(max_temp, input_temp, output_temp); } return { output }; } std::vector pool_backward( at::Tensor input, at::Tensor grad_output ) { auto output = at::zeros_like(input); int32_t batch = input.size(0); int32_t channel = input.size(1); int32_t height = input.size(2); int32_t width = input.size(3); auto max_val = at::zeros(torch::CUDA(at::kFloat), {batch, channel, height}); auto max_ind = at::zeros(torch::CUDA(at::kLong), {batch, channel, height}); auto input_temp = input.select(3, width - 1); max_val.copy_(input_temp); max_ind.fill_(width - 1); auto output_temp = output.select(3, width - 1); auto grad_output_temp = grad_output.select(3, width - 1); output_temp.copy_(grad_output_temp); auto un_max_ind = max_ind.unsqueeze(3); auto gt_mask = at::zeros(torch::CUDA(at::kByte), {batch, channel, height}); auto max_temp = at::zeros(torch::CUDA(at::kFloat), {batch, channel, height}); for (int32_t ind = 1; ind < width; ++ind) { input_temp = input.select(3, width - ind - 1); at::gt_out(gt_mask, input_temp, max_val); at::masked_select_out(max_temp, input_temp, gt_mask); max_val.masked_scatter_(gt_mask, max_temp); max_ind.masked_fill_(gt_mask, width - ind - 1); grad_output_temp = grad_output.select(3, width - ind - 1).unsqueeze(3); output.scatter_add_(3, un_max_ind, grad_output_temp); } return { output }; } PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def( "forward", &pool_forward, "Left Pool Forward", py::call_guard() ); m.def( "backward", &pool_backward, "Left Pool Backward", py::call_guard() ); } ================================================ FILE: src/lib/models/py_utils/_cpools/src/right_pool.cpp ================================================ #include #include std::vector pool_forward( at::Tensor input ) { // Initialize output at::Tensor output = at::zeros_like(input); // Get width int64_t width = input.size(3); // Copy the last column at::Tensor input_temp = input.select(3, 0); at::Tensor output_temp = output.select(3, 0); output_temp.copy_(input_temp); at::Tensor max_temp; for (int64_t ind = 0; ind < width - 1; ++ind) { input_temp = input.select(3, ind + 1); output_temp = output.select(3, ind); max_temp = output.select(3, ind + 1); at::max_out(max_temp, input_temp, output_temp); } return { output }; } std::vector pool_backward( at::Tensor input, at::Tensor grad_output ) { at::Tensor output = at::zeros_like(input); int32_t batch = input.size(0); int32_t channel = input.size(1); int32_t height = input.size(2); int32_t width = input.size(3); auto max_val = at::zeros(torch::CUDA(at::kFloat), {batch, channel, height}); auto max_ind = at::zeros(torch::CUDA(at::kLong), {batch, channel, height}); auto input_temp = input.select(3, 0); max_val.copy_(input_temp); max_ind.fill_(0); auto output_temp = output.select(3, 0); auto grad_output_temp = grad_output.select(3, 0); output_temp.copy_(grad_output_temp); auto un_max_ind = max_ind.unsqueeze(3); auto gt_mask = at::zeros(torch::CUDA(at::kByte), {batch, channel, height}); auto max_temp = at::zeros(torch::CUDA(at::kFloat), {batch, channel, height}); for (int32_t ind = 0; ind < width - 1; ++ind) { input_temp = input.select(3, ind + 1); at::gt_out(gt_mask, input_temp, max_val); at::masked_select_out(max_temp, input_temp, gt_mask); max_val.masked_scatter_(gt_mask, max_temp); max_ind.masked_fill_(gt_mask, ind + 1); grad_output_temp = grad_output.select(3, ind + 1).unsqueeze(3); output.scatter_add_(3, un_max_ind, grad_output_temp); } return { output }; } PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def( "forward", &pool_forward, "Right Pool Forward", py::call_guard() ); m.def( "backward", &pool_backward, "Right Pool Backward", py::call_guard() ); } ================================================ FILE: src/lib/models/py_utils/_cpools/src/top_pool.cpp ================================================ #include #include std::vector top_pool_forward( at::Tensor input ) { // Initialize output at::Tensor output = at::zeros_like(input); // Get height int64_t height = input.size(2); // Copy the last column at::Tensor input_temp = input.select(2, height - 1); at::Tensor output_temp = output.select(2, height - 1); output_temp.copy_(input_temp); at::Tensor max_temp; for (int64_t ind = 1; ind < height; ++ind) { input_temp = input.select(2, height - ind - 1); output_temp = output.select(2, height - ind); max_temp = output.select(2, height - ind - 1); at::max_out(max_temp, input_temp, output_temp); } return { output }; } std::vector top_pool_backward( at::Tensor input, at::Tensor grad_output ) { auto output = at::zeros_like(input); int32_t batch = input.size(0); int32_t channel = input.size(1); int32_t height = input.size(2); int32_t width = input.size(3); auto max_val = at::zeros(torch::CUDA(at::kFloat), {batch, channel, width}); auto max_ind = at::zeros(torch::CUDA(at::kLong), {batch, channel, width}); auto input_temp = input.select(2, height - 1); max_val.copy_(input_temp); max_ind.fill_(height - 1); auto output_temp = output.select(2, height - 1); auto grad_output_temp = grad_output.select(2, height - 1); output_temp.copy_(grad_output_temp); auto un_max_ind = max_ind.unsqueeze(2); auto gt_mask = at::zeros(torch::CUDA(at::kByte), {batch, channel, width}); auto max_temp = at::zeros(torch::CUDA(at::kFloat), {batch, channel, width}); for (int32_t ind = 1; ind < height; ++ind) { input_temp = input.select(2, height - ind - 1); at::gt_out(gt_mask, input_temp, max_val); at::masked_select_out(max_temp, input_temp, gt_mask); max_val.masked_scatter_(gt_mask, max_temp); max_ind.masked_fill_(gt_mask, height - ind - 1); grad_output_temp = grad_output.select(2, height - ind - 1).unsqueeze(2); output.scatter_add_(2, un_max_ind, grad_output_temp); } return { output }; } PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def( "forward", &top_pool_forward, "Top Pool Forward", py::call_guard() ); m.def( "backward", &top_pool_backward, "Top Pool Backward", py::call_guard() ); } ================================================ FILE: src/lib/models/py_utils/data_parallel.py ================================================ import torch from torch.nn.modules import Module from torch.nn.parallel.scatter_gather import gather from torch.nn.parallel.replicate import replicate from torch.nn.parallel.parallel_apply import parallel_apply from .scatter_gather import scatter_kwargs class DataParallel(Module): r"""Implements data parallelism at the module level. This container parallelizes the application of the given module by splitting the input across the specified devices by chunking in the batch dimension. In the forward pass, the module is replicated on each device, and each replica handles a portion of the input. During the backwards pass, gradients from each replica are summed into the original module. The batch size should be larger than the number of GPUs used. It should also be an integer multiple of the number of GPUs so that each chunk is the same size (so that each GPU processes the same number of samples). See also: :ref:`cuda-nn-dataparallel-instead` Arbitrary positional and keyword inputs are allowed to be passed into DataParallel EXCEPT Tensors. All variables will be scattered on dim specified (default 0). Primitive types will be broadcasted, but all other types will be a shallow copy and can be corrupted if written to in the model's forward pass. Args: module: module to be parallelized device_ids: CUDA devices (default: all devices) output_device: device location of output (default: device_ids[0]) Example:: >>> net = torch.nn.DataParallel(model, device_ids=[0, 1, 2]) >>> output = net(input_var) """ # TODO: update notes/cuda.rst when this class handles 8+ GPUs well def __init__(self, module, device_ids=None, output_device=None, dim=0, chunk_sizes=None): super(DataParallel, self).__init__() if not torch.cuda.is_available(): self.module = module self.device_ids = [] return if device_ids is None: device_ids = list(range(torch.cuda.device_count())) if output_device is None: output_device = device_ids[0] self.dim = dim self.module = module self.device_ids = device_ids self.chunk_sizes = chunk_sizes self.output_device = output_device if len(self.device_ids) == 1: self.module.cuda(device_ids[0]) def forward(self, *inputs, **kwargs): if not self.device_ids: return self.module(*inputs, **kwargs) inputs, kwargs = self.scatter(inputs, kwargs, self.device_ids, self.chunk_sizes) if len(self.device_ids) == 1: return self.module(*inputs[0], **kwargs[0]) replicas = self.replicate(self.module, self.device_ids[:len(inputs)]) outputs = self.parallel_apply(replicas, inputs, kwargs) return self.gather(outputs, self.output_device) def replicate(self, module, device_ids): return replicate(module, device_ids) def scatter(self, inputs, kwargs, device_ids, chunk_sizes): return scatter_kwargs(inputs, kwargs, device_ids, dim=self.dim, chunk_sizes=self.chunk_sizes) def parallel_apply(self, replicas, inputs, kwargs): return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)]) def gather(self, outputs, output_device): return gather(outputs, output_device, dim=self.dim) def data_parallel(module, inputs, device_ids=None, output_device=None, dim=0, module_kwargs=None): r"""Evaluates module(input) in parallel across the GPUs given in device_ids. This is the functional version of the DataParallel module. Args: module: the module to evaluate in parallel inputs: inputs to the module device_ids: GPU ids on which to replicate module output_device: GPU location of the output Use -1 to indicate the CPU. (default: device_ids[0]) Returns: a Variable containing the result of module(input) located on output_device """ if not isinstance(inputs, tuple): inputs = (inputs,) if device_ids is None: device_ids = list(range(torch.cuda.device_count())) if output_device is None: output_device = device_ids[0] inputs, module_kwargs = scatter_kwargs(inputs, module_kwargs, device_ids, dim) if len(device_ids) == 1: return module(*inputs[0], **module_kwargs[0]) used_device_ids = device_ids[:len(inputs)] replicas = replicate(module, used_device_ids) outputs = parallel_apply(replicas, inputs, module_kwargs, used_device_ids) return gather(outputs, output_device, dim) ================================================ FILE: src/lib/models/py_utils/kp.py ================================================ import numpy as np import torch import torch.nn as nn from .utils import convolution, residual from .utils import make_layer, make_layer_revr from .kp_utils import _tranpose_and_gather_feat, _decode from .kp_utils import _sigmoid, _ae_loss, _regr_loss, _neg_loss from .kp_utils import make_tl_layer, make_br_layer, make_kp_layer from .kp_utils import make_pool_layer, make_unpool_layer from .kp_utils import make_merge_layer, make_inter_layer, make_cnv_layer class kp_module(nn.Module): def __init__( self, n, dims, modules, layer=residual, make_up_layer=make_layer, make_low_layer=make_layer, make_hg_layer=make_layer, make_hg_layer_revr=make_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer, **kwargs ): super(kp_module, self).__init__() self.n = n curr_mod = modules[0] next_mod = modules[1] curr_dim = dims[0] next_dim = dims[1] self.up1 = make_up_layer( 3, curr_dim, curr_dim, curr_mod, layer=layer, **kwargs ) self.max1 = make_pool_layer(curr_dim) self.low1 = make_hg_layer( 3, curr_dim, next_dim, curr_mod, layer=layer, **kwargs ) self.low2 = kp_module( n - 1, dims[1:], modules[1:], layer=layer, make_up_layer=make_up_layer, make_low_layer=make_low_layer, make_hg_layer=make_hg_layer, make_hg_layer_revr=make_hg_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer, **kwargs ) if self.n > 1 else \ make_low_layer( 3, next_dim, next_dim, next_mod, layer=layer, **kwargs ) self.low3 = make_hg_layer_revr( 3, next_dim, curr_dim, curr_mod, layer=layer, **kwargs ) self.up2 = make_unpool_layer(curr_dim) self.merge = make_merge_layer(curr_dim) def forward(self, x): up1 = self.up1(x) max1 = self.max1(x) low1 = self.low1(max1) low2 = self.low2(low1) low3 = self.low3(low2) up2 = self.up2(low3) return self.merge(up1, up2) class kp(nn.Module): def __init__( self, n, nstack, dims, modules, out_dim, pre=None, cnv_dim=256, make_tl_layer=make_tl_layer, make_br_layer=make_br_layer, make_cnv_layer=make_cnv_layer, make_heat_layer=make_kp_layer, make_tag_layer=make_kp_layer, make_regr_layer=make_kp_layer, make_up_layer=make_layer, make_low_layer=make_layer, make_hg_layer=make_layer, make_hg_layer_revr=make_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer, make_inter_layer=make_inter_layer, kp_layer=residual ): super(kp, self).__init__() self.nstack = nstack self._decode = _decode curr_dim = dims[0] self.pre = nn.Sequential( convolution(7, 3, 128, stride=2), residual(3, 128, 256, stride=2) ) if pre is None else pre self.kps = nn.ModuleList([ kp_module( n, dims, modules, layer=kp_layer, make_up_layer=make_up_layer, make_low_layer=make_low_layer, make_hg_layer=make_hg_layer, make_hg_layer_revr=make_hg_layer_revr, make_pool_layer=make_pool_layer, make_unpool_layer=make_unpool_layer, make_merge_layer=make_merge_layer ) for _ in range(nstack) ]) self.cnvs = nn.ModuleList([ make_cnv_layer(curr_dim, cnv_dim) for _ in range(nstack) ]) self.tl_cnvs = nn.ModuleList([ make_tl_layer(cnv_dim) for _ in range(nstack) ]) self.br_cnvs = nn.ModuleList([ make_br_layer(cnv_dim) for _ in range(nstack) ]) ## keypoint heatmaps self.tl_heats = nn.ModuleList([ make_heat_layer(cnv_dim, curr_dim, out_dim) for _ in range(nstack) ]) self.br_heats = nn.ModuleList([ make_heat_layer(cnv_dim, curr_dim, out_dim) for _ in range(nstack) ]) ## tags self.tl_tags = nn.ModuleList([ make_tag_layer(cnv_dim, curr_dim, 1) for _ in range(nstack) ]) self.br_tags = nn.ModuleList([ make_tag_layer(cnv_dim, curr_dim, 1) for _ in range(nstack) ]) for tl_heat, br_heat in zip(self.tl_heats, self.br_heats): tl_heat[-1].bias.data.fill_(-2.19) br_heat[-1].bias.data.fill_(-2.19) self.inters = nn.ModuleList([ make_inter_layer(curr_dim) for _ in range(nstack - 1) ]) self.inters_ = nn.ModuleList([ nn.Sequential( nn.Conv2d(curr_dim, curr_dim, (1, 1), bias=False), nn.BatchNorm2d(curr_dim) ) for _ in range(nstack - 1) ]) self.cnvs_ = nn.ModuleList([ nn.Sequential( nn.Conv2d(cnv_dim, curr_dim, (1, 1), bias=False), nn.BatchNorm2d(curr_dim) ) for _ in range(nstack - 1) ]) self.tl_regrs = nn.ModuleList([ make_regr_layer(cnv_dim, curr_dim, 2) for _ in range(nstack) ]) self.br_regrs = nn.ModuleList([ make_regr_layer(cnv_dim, curr_dim, 2) for _ in range(nstack) ]) self.relu = nn.ReLU(inplace=True) def _train(self, *xs): image = xs[0] tl_inds = xs[1] br_inds = xs[2] inter = self.pre(image) outs = [] layers = zip( self.kps, self.cnvs, self.tl_cnvs, self.br_cnvs, self.tl_heats, self.br_heats, self.tl_tags, self.br_tags, self.tl_regrs, self.br_regrs ) for ind, layer in enumerate(layers): kp_, cnv_ = layer[0:2] tl_cnv_, br_cnv_ = layer[2:4] tl_heat_, br_heat_ = layer[4:6] tl_tag_, br_tag_ = layer[6:8] tl_regr_, br_regr_ = layer[8:10] kp = kp_(inter) cnv = cnv_(kp) tl_cnv = tl_cnv_(cnv) br_cnv = br_cnv_(cnv) tl_heat, br_heat = tl_heat_(tl_cnv), br_heat_(br_cnv) tl_tag, br_tag = tl_tag_(tl_cnv), br_tag_(br_cnv) tl_regr, br_regr = tl_regr_(tl_cnv), br_regr_(br_cnv) tl_tag = _tranpose_and_gather_feat(tl_tag, tl_inds) br_tag = _tranpose_and_gather_feat(br_tag, br_inds) tl_regr = _tranpose_and_gather_feat(tl_regr, tl_inds) br_regr = _tranpose_and_gather_feat(br_regr, br_inds) outs += [tl_heat, br_heat, tl_tag, br_tag, tl_regr, br_regr] if ind < self.nstack - 1: inter = self.inters_[ind](inter) + self.cnvs_[ind](cnv) inter = self.relu(inter) inter = self.inters[ind](inter) return outs def _test(self, *xs, **kwargs): image = xs[0] inter = self.pre(image) outs = [] layers = zip( self.kps, self.cnvs, self.tl_cnvs, self.br_cnvs, self.tl_heats, self.br_heats, self.tl_tags, self.br_tags, self.tl_regrs, self.br_regrs ) for ind, layer in enumerate(layers): kp_, cnv_ = layer[0:2] tl_cnv_, br_cnv_ = layer[2:4] tl_heat_, br_heat_ = layer[4:6] tl_tag_, br_tag_ = layer[6:8] tl_regr_, br_regr_ = layer[8:10] kp = kp_(inter) cnv = cnv_(kp) if ind == self.nstack - 1: tl_cnv = tl_cnv_(cnv) br_cnv = br_cnv_(cnv) tl_heat, br_heat = tl_heat_(tl_cnv), br_heat_(br_cnv) tl_tag, br_tag = tl_tag_(tl_cnv), br_tag_(br_cnv) tl_regr, br_regr = tl_regr_(tl_cnv), br_regr_(br_cnv) outs += [tl_heat, br_heat, tl_tag, br_tag, tl_regr, br_regr] if ind < self.nstack - 1: inter = self.inters_[ind](inter) + self.cnvs_[ind](cnv) inter = self.relu(inter) inter = self.inters[ind](inter) return self._decode(*outs[-6:], **kwargs) def forward(self, *xs, **kwargs): if len(xs) > 1: return self._train(*xs, **kwargs) return self._test(*xs, **kwargs) class AELoss(nn.Module): def __init__(self, pull_weight=1, push_weight=1, regr_weight=1, focal_loss=_neg_loss): super(AELoss, self).__init__() self.pull_weight = pull_weight self.push_weight = push_weight self.regr_weight = regr_weight self.focal_loss = focal_loss self.ae_loss = _ae_loss self.regr_loss = _regr_loss def forward(self, outs, targets): stride = 6 tl_heats = outs[0::stride] br_heats = outs[1::stride] tl_tags = outs[2::stride] br_tags = outs[3::stride] tl_regrs = outs[4::stride] br_regrs = outs[5::stride] gt_tl_heat = targets[0] gt_br_heat = targets[1] gt_mask = targets[2] gt_tl_regr = targets[3] gt_br_regr = targets[4] # focal loss focal_loss = 0 tl_heats = [_sigmoid(t) for t in tl_heats] br_heats = [_sigmoid(b) for b in br_heats] focal_loss += self.focal_loss(tl_heats, gt_tl_heat) focal_loss += self.focal_loss(br_heats, gt_br_heat) # tag loss pull_loss = 0 push_loss = 0 for tl_tag, br_tag in zip(tl_tags, br_tags): pull, push = self.ae_loss(tl_tag, br_tag, gt_mask) pull_loss += pull push_loss += push pull_loss = self.pull_weight * pull_loss push_loss = self.push_weight * push_loss regr_loss = 0 for tl_regr, br_regr in zip(tl_regrs, br_regrs): regr_loss += self.regr_loss(tl_regr, gt_tl_regr, gt_mask) regr_loss += self.regr_loss(br_regr, gt_br_regr, gt_mask) regr_loss = self.regr_weight * regr_loss loss = (focal_loss + pull_loss + push_loss + regr_loss) / len(tl_heats) return loss.unsqueeze(0) ================================================ FILE: src/lib/models/py_utils/kp_utils.py ================================================ import torch import torch.nn as nn from .utils import convolution, residual class MergeUp(nn.Module): def forward(self, up1, up2): return up1 + up2 def make_merge_layer(dim): return MergeUp() def make_tl_layer(dim): return None def make_br_layer(dim): return None def make_pool_layer(dim): return nn.MaxPool2d(kernel_size=2, stride=2) def make_unpool_layer(dim): return nn.Upsample(scale_factor=2) def make_kp_layer(cnv_dim, curr_dim, out_dim): return nn.Sequential( convolution(3, cnv_dim, curr_dim, with_bn=False), nn.Conv2d(curr_dim, out_dim, (1, 1)) ) def make_inter_layer(dim): return residual(3, dim, dim) def make_cnv_layer(inp_dim, out_dim): return convolution(3, inp_dim, out_dim) def _gather_feat(feat, ind, mask=None): dim = feat.size(2) ind = ind.unsqueeze(2).expand(ind.size(0), ind.size(1), dim) feat = feat.gather(1, ind) if mask is not None: mask = mask.unsqueeze(2).expand_as(feat) feat = feat[mask] feat = feat.view(-1, dim) return feat def _nms(heat, kernel=1): pad = (kernel - 1) // 2 hmax = nn.functional.max_pool2d(heat, (kernel, kernel), stride=1, padding=pad) keep = (hmax == heat).float() return heat * keep def _tranpose_and_gather_feat(feat, ind): feat = feat.permute(0, 2, 3, 1).contiguous() feat = feat.view(feat.size(0), -1, feat.size(3)) feat = _gather_feat(feat, ind) return feat def _topk(scores, K=20): batch, cat, height, width = scores.size() topk_scores, topk_inds = torch.topk(scores.view(batch, -1), K) topk_clses = (topk_inds / (height * width)).int() topk_inds = topk_inds % (height * width) topk_ys = (topk_inds / width).int().float() topk_xs = (topk_inds % width).int().float() return topk_scores, topk_inds, topk_clses, topk_ys, topk_xs def _decode( tl_heat, br_heat, tl_tag, br_tag, tl_regr, br_regr, K=100, kernel=1, ae_threshold=1, num_dets=1000 ): batch, cat, height, width = tl_heat.size() tl_heat = torch.sigmoid(tl_heat) br_heat = torch.sigmoid(br_heat) # perform nms on heatmaps tl_heat = _nms(tl_heat, kernel=kernel) br_heat = _nms(br_heat, kernel=kernel) tl_scores, tl_inds, tl_clses, tl_ys, tl_xs = _topk(tl_heat, K=K) br_scores, br_inds, br_clses, br_ys, br_xs = _topk(br_heat, K=K) tl_ys = tl_ys.view(batch, K, 1).expand(batch, K, K) tl_xs = tl_xs.view(batch, K, 1).expand(batch, K, K) br_ys = br_ys.view(batch, 1, K).expand(batch, K, K) br_xs = br_xs.view(batch, 1, K).expand(batch, K, K) if tl_regr is not None and br_regr is not None: tl_regr = _tranpose_and_gather_feat(tl_regr, tl_inds) tl_regr = tl_regr.view(batch, K, 1, 2) br_regr = _tranpose_and_gather_feat(br_regr, br_inds) br_regr = br_regr.view(batch, 1, K, 2) tl_xs = tl_xs + tl_regr[..., 0] tl_ys = tl_ys + tl_regr[..., 1] br_xs = br_xs + br_regr[..., 0] br_ys = br_ys + br_regr[..., 1] # all possible boxes based on top k corners (ignoring class) bboxes = torch.stack((tl_xs, tl_ys, br_xs, br_ys), dim=3) tl_tag = _tranpose_and_gather_feat(tl_tag, tl_inds) tl_tag = tl_tag.view(batch, K, 1) br_tag = _tranpose_and_gather_feat(br_tag, br_inds) br_tag = br_tag.view(batch, 1, K) dists = torch.abs(tl_tag - br_tag) tl_scores = tl_scores.view(batch, K, 1).expand(batch, K, K) br_scores = br_scores.view(batch, 1, K).expand(batch, K, K) scores = (tl_scores + br_scores) / 2 # reject boxes based on classes tl_clses = tl_clses.view(batch, K, 1).expand(batch, K, K) br_clses = br_clses.view(batch, 1, K).expand(batch, K, K) cls_inds = (tl_clses != br_clses) # reject boxes based on distances dist_inds = (dists > ae_threshold) # reject boxes based on widths and heights width_inds = (br_xs < tl_xs) height_inds = (br_ys < tl_ys) scores[cls_inds] = -1 scores[dist_inds] = -1 scores[width_inds] = -1 scores[height_inds] = -1 scores = scores.view(batch, -1) scores, inds = torch.topk(scores, num_dets) scores = scores.unsqueeze(2) bboxes = bboxes.view(batch, -1, 4) bboxes = _gather_feat(bboxes, inds) clses = tl_clses.contiguous().view(batch, -1, 1) clses = _gather_feat(clses, inds).float() tl_scores = tl_scores.contiguous().view(batch, -1, 1) tl_scores = _gather_feat(tl_scores, inds).float() br_scores = br_scores.contiguous().view(batch, -1, 1) br_scores = _gather_feat(br_scores, inds).float() detections = torch.cat([bboxes, scores, tl_scores, br_scores, clses], dim=2) return detections def _neg_loss(preds, gt): pos_inds = gt.eq(1) neg_inds = gt.lt(1) neg_weights = torch.pow(1 - gt[neg_inds], 4) loss = 0 for pred in preds: pos_pred = pred[pos_inds] neg_pred = pred[neg_inds] pos_loss = torch.log(pos_pred) * torch.pow(1 - pos_pred, 2) neg_loss = torch.log(1 - neg_pred) * torch.pow(neg_pred, 2) * neg_weights num_pos = pos_inds.float().sum() pos_loss = pos_loss.sum() neg_loss = neg_loss.sum() if pos_pred.nelement() == 0: loss = loss - neg_loss else: loss = loss - (pos_loss + neg_loss) / num_pos return loss def _sigmoid(x): x = torch.clamp(x.sigmoid_(), min=1e-4, max=1-1e-4) return x def _ae_loss(tag0, tag1, mask): num = mask.sum(dim=1, keepdim=True).float() tag0 = tag0.squeeze() tag1 = tag1.squeeze() tag_mean = (tag0 + tag1) / 2 tag0 = torch.pow(tag0 - tag_mean, 2) / (num + 1e-4) tag0 = tag0[mask].sum() tag1 = torch.pow(tag1 - tag_mean, 2) / (num + 1e-4) tag1 = tag1[mask].sum() pull = tag0 + tag1 mask = mask.unsqueeze(1) + mask.unsqueeze(2) mask = mask.eq(2) num = num.unsqueeze(2) num2 = (num - 1) * num dist = tag_mean.unsqueeze(1) - tag_mean.unsqueeze(2) dist = 1 - torch.abs(dist) dist = nn.functional.relu(dist, inplace=True) dist = dist - 1 / (num + 1e-4) dist = dist / (num2 + 1e-4) dist = dist[mask] push = dist.sum() return pull, push def _regr_loss(regr, gt_regr, mask): num = mask.float().sum() mask = mask.unsqueeze(2).expand_as(gt_regr) regr = regr[mask] gt_regr = gt_regr[mask] regr_loss = nn.functional.smooth_l1_loss(regr, gt_regr, size_average=False) regr_loss = regr_loss / (num + 1e-4) return regr_loss ================================================ FILE: src/lib/models/py_utils/scatter_gather.py ================================================ import torch from torch.autograd import Variable from torch.nn.parallel._functions import Scatter, Gather def scatter(inputs, target_gpus, dim=0, chunk_sizes=None): r""" Slices variables into approximately equal chunks and distributes them across given GPUs. Duplicates references to objects that are not variables. Does not support Tensors. """ def scatter_map(obj): if isinstance(obj, Variable): return Scatter.apply(target_gpus, chunk_sizes, dim, obj) assert not torch.is_tensor(obj), "Tensors not supported in scatter." if isinstance(obj, tuple): return list(zip(*map(scatter_map, obj))) if isinstance(obj, list): return list(map(list, zip(*map(scatter_map, obj)))) if isinstance(obj, dict): return list(map(type(obj), zip(*map(scatter_map, obj.items())))) return [obj for targets in target_gpus] return scatter_map(inputs) def scatter_kwargs(inputs, kwargs, target_gpus, dim=0, chunk_sizes=None): r"""Scatter with support for kwargs dictionary""" inputs = scatter(inputs, target_gpus, dim, chunk_sizes) if inputs else [] kwargs = scatter(kwargs, target_gpus, dim, chunk_sizes) if kwargs else [] if len(inputs) < len(kwargs): inputs.extend([() for _ in range(len(kwargs) - len(inputs))]) elif len(kwargs) < len(inputs): kwargs.extend([{} for _ in range(len(inputs) - len(kwargs))]) inputs = tuple(inputs) kwargs = tuple(kwargs) return inputs, kwargs ================================================ FILE: src/lib/models/py_utils/utils.py ================================================ import torch import torch.nn as nn class convolution(nn.Module): def __init__(self, k, inp_dim, out_dim, stride=1, with_bn=True): super(convolution, self).__init__() pad = (k - 1) // 2 self.conv = nn.Conv2d(inp_dim, out_dim, (k, k), padding=(pad, pad), stride=(stride, stride), bias=not with_bn) self.bn = nn.BatchNorm2d(out_dim) if with_bn else nn.Sequential() self.relu = nn.ReLU(inplace=True) def forward(self, x): conv = self.conv(x) bn = self.bn(conv) relu = self.relu(bn) return relu class fully_connected(nn.Module): def __init__(self, inp_dim, out_dim, with_bn=True): super(fully_connected, self).__init__() self.with_bn = with_bn self.linear = nn.Linear(inp_dim, out_dim) if self.with_bn: self.bn = nn.BatchNorm1d(out_dim) self.relu = nn.ReLU(inplace=True) def forward(self, x): linear = self.linear(x) bn = self.bn(linear) if self.with_bn else linear relu = self.relu(bn) return relu class residual(nn.Module): def __init__(self, k, inp_dim, out_dim, stride=1, with_bn=True): super(residual, self).__init__() self.conv1 = nn.Conv2d(inp_dim, out_dim, (3, 3), padding=(1, 1), stride=(stride, stride), bias=False) self.bn1 = nn.BatchNorm2d(out_dim) self.relu1 = nn.ReLU(inplace=True) self.conv2 = nn.Conv2d(out_dim, out_dim, (3, 3), padding=(1, 1), bias=False) self.bn2 = nn.BatchNorm2d(out_dim) self.skip = nn.Sequential( nn.Conv2d(inp_dim, out_dim, (1, 1), stride=(stride, stride), bias=False), nn.BatchNorm2d(out_dim) ) if stride != 1 or inp_dim != out_dim else nn.Sequential() self.relu = nn.ReLU(inplace=True) def forward(self, x): conv1 = self.conv1(x) bn1 = self.bn1(conv1) relu1 = self.relu1(bn1) conv2 = self.conv2(relu1) bn2 = self.bn2(conv2) skip = self.skip(x) return self.relu(bn2 + skip) def make_layer(k, inp_dim, out_dim, modules, layer=convolution, **kwargs): layers = [layer(k, inp_dim, out_dim, **kwargs)] for _ in range(1, modules): layers.append(layer(k, out_dim, out_dim, **kwargs)) return nn.Sequential(*layers) def make_layer_revr(k, inp_dim, out_dim, modules, layer=convolution, **kwargs): layers = [] for _ in range(modules - 1): layers.append(layer(k, inp_dim, inp_dim, **kwargs)) layers.append(layer(k, inp_dim, out_dim, **kwargs)) return nn.Sequential(*layers) ================================================ FILE: src/lib/models/resample2d_package/__init__.py ================================================ ================================================ FILE: src/lib/models/resample2d_package/resample2d.py ================================================ from torch.nn.modules.module import Module from torch.autograd import Function, Variable import resample2d_cuda class Resample2dFunction(Function): @staticmethod def forward(ctx, input1, input2, kernel_size=1, bilinear= True): assert input1.is_contiguous() assert input2.is_contiguous() ctx.save_for_backward(input1, input2) ctx.kernel_size = kernel_size ctx.bilinear = bilinear _, d, _, _ = input1.size() b, _, h, w = input2.size() output = input1.new(b, d, h, w).zero_() resample2d_cuda.forward(input1, input2, output, kernel_size, bilinear) return output @staticmethod def backward(ctx, grad_output): grad_output = grad_output.contiguous() assert grad_output.is_contiguous() input1, input2 = ctx.saved_tensors grad_input1 = Variable(input1.new(input1.size()).zero_()) grad_input2 = Variable(input1.new(input2.size()).zero_()) resample2d_cuda.backward(input1, input2, grad_output.data, grad_input1.data, grad_input2.data, ctx.kernel_size, ctx.bilinear) return grad_input1, grad_input2, None, None class Resample2d(Module): def __init__(self, kernel_size=1, bilinear = True): super(Resample2d, self).__init__() self.kernel_size = kernel_size self.bilinear = bilinear def forward(self, input1, input2): input1_c = input1.contiguous() return Resample2dFunction.apply(input1_c, input2, self.kernel_size, self.bilinear) ================================================ FILE: src/lib/models/resample2d_package/resample2d_cuda.cc ================================================ #include #include #include "resample2d_kernel.cuh" int resample2d_cuda_forward( at::Tensor& input1, at::Tensor& input2, at::Tensor& output, int kernel_size, bool bilinear) { resample2d_kernel_forward(input1, input2, output, kernel_size, bilinear); return 1; } int resample2d_cuda_backward( at::Tensor& input1, at::Tensor& input2, at::Tensor& gradOutput, at::Tensor& gradInput1, at::Tensor& gradInput2, int kernel_size, bool bilinear) { resample2d_kernel_backward(input1, input2, gradOutput, gradInput1, gradInput2, kernel_size, bilinear); return 1; } PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def("forward", &resample2d_cuda_forward, "Resample2D forward (CUDA)"); m.def("backward", &resample2d_cuda_backward, "Resample2D backward (CUDA)"); } ================================================ FILE: src/lib/models/resample2d_package/resample2d_cuda.egg-info/PKG-INFO ================================================ Metadata-Version: 1.0 Name: resample2d-cuda Version: 0.0.0 Summary: UNKNOWN Home-page: UNKNOWN Author: UNKNOWN Author-email: UNKNOWN License: UNKNOWN Description: UNKNOWN Platform: UNKNOWN ================================================ FILE: src/lib/models/resample2d_package/resample2d_cuda.egg-info/SOURCES.txt ================================================ resample2d_cuda.cc resample2d_kernel.cu setup.py resample2d_cuda.egg-info/PKG-INFO resample2d_cuda.egg-info/SOURCES.txt resample2d_cuda.egg-info/dependency_links.txt resample2d_cuda.egg-info/top_level.txt ================================================ FILE: src/lib/models/resample2d_package/resample2d_cuda.egg-info/dependency_links.txt ================================================ ================================================ FILE: src/lib/models/resample2d_package/resample2d_cuda.egg-info/top_level.txt ================================================ resample2d_cuda ================================================ FILE: src/lib/models/resample2d_package/resample2d_kernel.cu ================================================ #include #include #include #define CUDA_NUM_THREADS 512 #define THREADS_PER_BLOCK 64 #define DIM0(TENSOR) ((TENSOR).x) #define DIM1(TENSOR) ((TENSOR).y) #define DIM2(TENSOR) ((TENSOR).z) #define DIM3(TENSOR) ((TENSOR).w) #define DIM3_INDEX(TENSOR, xx, yy, zz, ww) ((TENSOR)[((xx) * (TENSOR##_stride.x)) + ((yy) * (TENSOR##_stride.y)) + ((zz) * (TENSOR##_stride.z)) + ((ww) * (TENSOR##_stride.w))]) template __global__ void kernel_resample2d_update_output(const int n, const scalar_t* __restrict__ input1, const long4 input1_size, const long4 input1_stride, const scalar_t* __restrict__ input2, const long4 input2_size, const long4 input2_stride, scalar_t* __restrict__ output, const long4 output_size, const long4 output_stride, int kernel_size, bool bilinear) { int index = blockIdx.x * blockDim.x + threadIdx.x; if (index >= n) { return; } scalar_t val = 0.0f; int dim_b = DIM0(output_size); int dim_c = DIM1(output_size); int dim_h = DIM2(output_size); int dim_w = DIM3(output_size); int dim_chw = dim_c * dim_h * dim_w; int dim_hw = dim_h * dim_w; int b = ( index / dim_chw ) % dim_b; int c = ( index / dim_hw ) % dim_c; int y = ( index / dim_w ) % dim_h; int x = ( index ) % dim_w; scalar_t dx = DIM3_INDEX(input2, b, 0, y, x); scalar_t dy = DIM3_INDEX(input2, b, 1, y, x); scalar_t xf = static_cast(x) + dx; scalar_t yf = static_cast(y) + dy; scalar_t alpha = xf - floor(xf); // alpha scalar_t beta = yf - floor(yf); // beta if (bilinear) { int xL = max(min( int (floor(xf)), dim_w-1), 0); int xR = max(min( int (floor(xf)+1), dim_w -1), 0); int yT = max(min( int (floor(yf)), dim_h-1), 0); int yB = max(min( int (floor(yf)+1), dim_h-1), 0); for (int fy = 0; fy < kernel_size; fy += 1) { for (int fx = 0; fx < kernel_size; fx += 1) { val += static_cast((1. - alpha)*(1. - beta) * DIM3_INDEX(input1, b, c, yT + fy, xL + fx)); val += static_cast((alpha)*(1. - beta) * DIM3_INDEX(input1, b, c, yT + fy, xR + fx)); val += static_cast((1. - alpha)*(beta) * DIM3_INDEX(input1, b, c, yB + fy, xL + fx)); val += static_cast((alpha)*(beta) * DIM3_INDEX(input1, b, c, yB + fy, xR + fx)); } } output[index] = val; } else { int xN = max(min( int (floor(xf + 0.5)), dim_w - 1), 0); int yN = max(min( int (floor(yf + 0.5)), dim_h - 1), 0); output[index] = static_cast ( DIM3_INDEX(input1, b, c, yN, xN) ); } } template __global__ void kernel_resample2d_backward_input1( const int n, const scalar_t* __restrict__ input1, const long4 input1_size, const long4 input1_stride, const scalar_t* __restrict__ input2, const long4 input2_size, const long4 input2_stride, const scalar_t* __restrict__ gradOutput, const long4 gradOutput_size, const long4 gradOutput_stride, scalar_t* __restrict__ gradInput, const long4 gradInput_size, const long4 gradInput_stride, int kernel_size, bool bilinear) { int index = blockIdx.x * blockDim.x + threadIdx.x; if (index >= n) { return; } int dim_b = DIM0(gradOutput_size); int dim_c = DIM1(gradOutput_size); int dim_h = DIM2(gradOutput_size); int dim_w = DIM3(gradOutput_size); int dim_chw = dim_c * dim_h * dim_w; int dim_hw = dim_h * dim_w; int b = ( index / dim_chw ) % dim_b; int c = ( index / dim_hw ) % dim_c; int y = ( index / dim_w ) % dim_h; int x = ( index ) % dim_w; scalar_t dx = DIM3_INDEX(input2, b, 0, y, x); scalar_t dy = DIM3_INDEX(input2, b, 1, y, x); scalar_t xf = static_cast(x) + dx; scalar_t yf = static_cast(y) + dy; scalar_t alpha = xf - int(xf); // alpha scalar_t beta = yf - int(yf); // beta int idim_h = DIM2(input1_size); int idim_w = DIM3(input1_size); int xL = max(min( int (floor(xf)), idim_w-1), 0); int xR = max(min( int (floor(xf)+1), idim_w -1), 0); int yT = max(min( int (floor(yf)), idim_h-1), 0); int yB = max(min( int (floor(yf)+1), idim_h-1), 0); for (int fy = 0; fy < kernel_size; fy += 1) { for (int fx = 0; fx < kernel_size; fx += 1) { atomicAdd(&DIM3_INDEX(gradInput, b, c, (yT + fy), (xL + fx)), (1-alpha)*(1-beta) * DIM3_INDEX(gradOutput, b, c, y, x)); atomicAdd(&DIM3_INDEX(gradInput, b, c, (yT + fy), (xR + fx)), (alpha)*(1-beta) * DIM3_INDEX(gradOutput, b, c, y, x)); atomicAdd(&DIM3_INDEX(gradInput, b, c, (yB + fy), (xL + fx)), (1-alpha)*(beta) * DIM3_INDEX(gradOutput, b, c, y, x)); atomicAdd(&DIM3_INDEX(gradInput, b, c, (yB + fy), (xR + fx)), (alpha)*(beta) * DIM3_INDEX(gradOutput, b, c, y, x)); } } } template __global__ void kernel_resample2d_backward_input2( const int n, const scalar_t* __restrict__ input1, const long4 input1_size, const long4 input1_stride, const scalar_t* __restrict__ input2, const long4 input2_size, const long4 input2_stride, const scalar_t* __restrict__ gradOutput, const long4 gradOutput_size, const long4 gradOutput_stride, scalar_t* __restrict__ gradInput, const long4 gradInput_size, const long4 gradInput_stride, int kernel_size, bool bilinear) { int index = blockIdx.x * blockDim.x + threadIdx.x; if (index >= n) { return; } scalar_t output = 0.0; int kernel_rad = (kernel_size - 1)/2; int dim_b = DIM0(gradInput_size); int dim_c = DIM1(gradInput_size); int dim_h = DIM2(gradInput_size); int dim_w = DIM3(gradInput_size); int dim_chw = dim_c * dim_h * dim_w; int dim_hw = dim_h * dim_w; int b = ( index / dim_chw ) % dim_b; int c = ( index / dim_hw ) % dim_c; int y = ( index / dim_w ) % dim_h; int x = ( index ) % dim_w; int odim_c = DIM1(gradOutput_size); scalar_t dx = DIM3_INDEX(input2, b, 0, y, x); scalar_t dy = DIM3_INDEX(input2, b, 1, y, x); scalar_t xf = static_cast(x) + dx; scalar_t yf = static_cast(y) + dy; int xL = max(min( int (floor(xf)), dim_w-1), 0); int xR = max(min( int (floor(xf)+1), dim_w -1), 0); int yT = max(min( int (floor(yf)), dim_h-1), 0); int yB = max(min( int (floor(yf)+1), dim_h-1), 0); if (c % 2) { float gamma = 1 - (xf - floor(xf)); // alpha for (int i = 0; i <= 2*kernel_rad; ++i) { for (int j = 0; j <= 2*kernel_rad; ++j) { for (int ch = 0; ch < odim_c; ++ch) { output += (gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yB + j), (xL + i)); output -= (gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yT + j), (xL + i)); output += (1-gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yB + j), (xR + i)); output -= (1-gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yT + j), (xR + i)); } } } } else { float gamma = 1 - (yf - floor(yf)); // alpha for (int i = 0; i <= 2*kernel_rad; ++i) { for (int j = 0; j <= 2*kernel_rad; ++j) { for (int ch = 0; ch < odim_c; ++ch) { output += (gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yT + j), (xR + i)); output -= (gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yT + j), (xL + i)); output += (1-gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yB + j), (xR + i)); output -= (1-gamma) * DIM3_INDEX(gradOutput, b, ch, y, x) * DIM3_INDEX(input1, b, ch, (yB + j), (xL + i)); } } } } gradInput[index] = output; } void resample2d_kernel_forward( at::Tensor& input1, at::Tensor& input2, at::Tensor& output, int kernel_size, bool bilinear) { int n = output.numel(); const long4 input1_size = make_long4(input1.size(0), input1.size(1), input1.size(2), input1.size(3)); const long4 input1_stride = make_long4(input1.stride(0), input1.stride(1), input1.stride(2), input1.stride(3)); const long4 input2_size = make_long4(input2.size(0), input2.size(1), input2.size(2), input2.size(3)); const long4 input2_stride = make_long4(input2.stride(0), input2.stride(1), input2.stride(2), input2.stride(3)); const long4 output_size = make_long4(output.size(0), output.size(1), output.size(2), output.size(3)); const long4 output_stride = make_long4(output.stride(0), output.stride(1), output.stride(2), output.stride(3)); // TODO: when atomicAdd gets resolved, change to AT_DISPATCH_FLOATING_TYPES_AND_HALF // AT_DISPATCH_FLOATING_TYPES(input1.type(), "resample_forward_kernel", ([&] { kernel_resample2d_update_output<<< (n + CUDA_NUM_THREADS - 1)/CUDA_NUM_THREADS, CUDA_NUM_THREADS, 0, at::cuda::getCurrentCUDAStream() >>>( //at::globalContext().getCurrentCUDAStream() >>>( n, input1.data(), input1_size, input1_stride, input2.data(), input2_size, input2_stride, output.data(), output_size, output_stride, kernel_size, bilinear); // })); // TODO: ATen-equivalent check // THCudaCheck(cudaGetLastError()); } void resample2d_kernel_backward( at::Tensor& input1, at::Tensor& input2, at::Tensor& gradOutput, at::Tensor& gradInput1, at::Tensor& gradInput2, int kernel_size, bool bilinear) { int n = gradOutput.numel(); const long4 input1_size = make_long4(input1.size(0), input1.size(1), input1.size(2), input1.size(3)); const long4 input1_stride = make_long4(input1.stride(0), input1.stride(1), input1.stride(2), input1.stride(3)); const long4 input2_size = make_long4(input2.size(0), input2.size(1), input2.size(2), input2.size(3)); const long4 input2_stride = make_long4(input2.stride(0), input2.stride(1), input2.stride(2), input2.stride(3)); const long4 gradOutput_size = make_long4(gradOutput.size(0), gradOutput.size(1), gradOutput.size(2), gradOutput.size(3)); const long4 gradOutput_stride = make_long4(gradOutput.stride(0), gradOutput.stride(1), gradOutput.stride(2), gradOutput.stride(3)); const long4 gradInput1_size = make_long4(gradInput1.size(0), gradInput1.size(1), gradInput1.size(2), gradInput1.size(3)); const long4 gradInput1_stride = make_long4(gradInput1.stride(0), gradInput1.stride(1), gradInput1.stride(2), gradInput1.stride(3)); // AT_DISPATCH_FLOATING_TYPES(input1.type(), "resample_backward_input1", ([&] { kernel_resample2d_backward_input1<<< (n + CUDA_NUM_THREADS - 1)/CUDA_NUM_THREADS, CUDA_NUM_THREADS, 0, at::cuda::getCurrentCUDAStream() >>>( //at::globalContext().getCurrentCUDAStream() >>>( n, input1.data(), input1_size, input1_stride, input2.data(), input2_size, input2_stride, gradOutput.data(), gradOutput_size, gradOutput_stride, gradInput1.data(), gradInput1_size, gradInput1_stride, kernel_size, bilinear ); // })); const long4 gradInput2_size = make_long4(gradInput2.size(0), gradInput2.size(1), gradInput2.size(2), gradInput2.size(3)); const long4 gradInput2_stride = make_long4(gradInput2.stride(0), gradInput2.stride(1), gradInput2.stride(2), gradInput2.stride(3)); n = gradInput2.numel(); // AT_DISPATCH_FLOATING_TYPES(gradInput2.type(), "resample_backward_input2", ([&] { kernel_resample2d_backward_input2<<< (n + CUDA_NUM_THREADS - 1)/CUDA_NUM_THREADS, CUDA_NUM_THREADS, 0, at::cuda::getCurrentCUDAStream() >>>( //at::globalContext().getCurrentCUDAStream() >>>( n, input1.data(), input1_size, input1_stride, input2.data(), input2_size, input2_stride, gradOutput.data(), gradOutput_size, gradOutput_stride, gradInput2.data(), gradInput2_size, gradInput2_stride, kernel_size, bilinear ); // })); // TODO: Use the ATen equivalent to get last error // THCudaCheck(cudaGetLastError()); } ================================================ FILE: src/lib/models/resample2d_package/resample2d_kernel.cuh ================================================ #pragma once #include void resample2d_kernel_forward( at::Tensor& input1, at::Tensor& input2, at::Tensor& output, int kernel_size, bool bilinear); void resample2d_kernel_backward( at::Tensor& input1, at::Tensor& input2, at::Tensor& gradOutput, at::Tensor& gradInput1, at::Tensor& gradInput2, int kernel_size, bool bilinear); ================================================ FILE: src/lib/models/resample2d_package/setup.py ================================================ #!/usr/bin/env python3 import os import torch from setuptools import setup from torch.utils.cpp_extension import BuildExtension, CUDAExtension cxx_args = ['-std=c++11'] nvcc_args = [ '-gencode', 'arch=compute_50,code=sm_50', '-gencode', 'arch=compute_52,code=sm_52', '-gencode', 'arch=compute_60,code=sm_60', '-gencode', 'arch=compute_61,code=sm_61', '-gencode', 'arch=compute_70,code=sm_70', '-gencode', 'arch=compute_70,code=compute_70' ] setup( name='resample2d_cuda', ext_modules=[ CUDAExtension('resample2d_cuda', [ 'resample2d_cuda.cc', 'resample2d_kernel.cu' ], extra_compile_args={'cxx': cxx_args, 'nvcc': nvcc_args}) ], cmdclass={ 'build_ext': BuildExtension }) ================================================ FILE: src/lib/models/scatter_gather.py ================================================ import torch from torch.autograd import Variable from torch.nn.parallel._functions import Scatter, Gather def scatter(inputs, target_gpus, dim=0, chunk_sizes=None): r""" Slices variables into approximately equal chunks and distributes them across given GPUs. Duplicates references to objects that are not variables. Does not support Tensors. """ def scatter_map(obj): if isinstance(obj, Variable): return Scatter.apply(target_gpus, chunk_sizes, dim, obj) assert not torch.is_tensor(obj), "Tensors not supported in scatter." if isinstance(obj, tuple): return list(zip(*map(scatter_map, obj))) if isinstance(obj, list): return list(map(list, zip(*map(scatter_map, obj)))) if isinstance(obj, dict): return list(map(type(obj), zip(*map(scatter_map, obj.items())))) return [obj for targets in target_gpus] return scatter_map(inputs) def scatter_kwargs(inputs, kwargs, target_gpus, dim=0, chunk_sizes=None): r"""Scatter with support for kwargs dictionary""" inputs = scatter(inputs, target_gpus, dim, chunk_sizes) if inputs else [] kwargs = scatter(kwargs, target_gpus, dim, chunk_sizes) if kwargs else [] if len(inputs) < len(kwargs): inputs.extend([() for _ in range(len(kwargs) - len(inputs))]) elif len(kwargs) < len(inputs): kwargs.extend([{} for _ in range(len(inputs) - len(kwargs))]) inputs = tuple(inputs) kwargs = tuple(kwargs) return inputs, kwargs ================================================ FILE: src/lib/models/utils.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import torch.nn as nn def _sigmoid(x): y = torch.clamp(x.sigmoid_(), min=1e-4, max=1-1e-4) return y def _gather_feat(feat, ind, mask=None): dim = feat.size(2) ind = ind.unsqueeze(2).expand(ind.size(0), ind.size(1), dim) feat = feat.gather(1, ind) if mask is not None: mask = mask.unsqueeze(2).expand_as(feat) feat = feat[mask] feat = feat.view(-1, dim) return feat def _transpose_and_gather_feat(feat, ind): #import pudb;pudb.set_trace() feat = feat.permute(0, 2, 3, 1).contiguous() feat = feat.view(feat.size(0), -1, feat.size(3)) feat = _gather_feat(feat, ind) return feat def flip_tensor(x): return torch.flip(x, [3]) # tmp = x.detach().cpu().numpy()[..., ::-1].copy() # return torch.from_numpy(tmp).to(x.device) def flip_lr(x, flip_idx): tmp = x.detach().cpu().numpy()[..., ::-1].copy() shape = tmp.shape for e in flip_idx: tmp[:, e[0], ...], tmp[:, e[1], ...] = \ tmp[:, e[1], ...].copy(), tmp[:, e[0], ...].copy() return torch.from_numpy(tmp.reshape(shape)).to(x.device) def flip_lr_off(x, flip_idx): tmp = x.detach().cpu().numpy()[..., ::-1].copy() shape = tmp.shape tmp = tmp.reshape(tmp.shape[0], 17, 2, tmp.shape[2], tmp.shape[3]) tmp[:, :, 0, :, :] *= -1 for e in flip_idx: tmp[:, e[0], ...], tmp[:, e[1], ...] = \ tmp[:, e[1], ...].copy(), tmp[:, e[0], ...].copy() return torch.from_numpy(tmp.reshape(shape)).to(x.device) ================================================ FILE: src/lib/opts.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import argparse import os import sys class opts(object): def __init__(self): self.parser = argparse.ArgumentParser() # basic experiment setting self.parser.add_argument('task', default='ctdet', help='ctdet | ddd | multi_pose | exdet') self.parser.add_argument('--dataset', default='coco', help='coco | kitti | coco_hp | pascal') self.parser.add_argument('--exp_id', default='default') self.parser.add_argument('--test', action='store_true') self.parser.add_argument('--debug', type=int, default=0, help='level of visualization.' '1: only show the final detection results' '2: show the network output features' '3: use matplot to display' # useful when lunching training with ipython notebook '4: save all visualizations to disk') self.parser.add_argument('--demo', default='/home/users/yabo.xiao/CNet_v2/img', help='path to image/ image folders/ video. ' 'or "webcam"') self.parser.add_argument('--output_path', default='/opt/tiger/adaptivepose', help='path to output of demo image/ image folders/ video. ' 'or "webcam"') self.parser.add_argument('--load_model', default='', help='path to pretrained model') self.parser.add_argument('--resume', action='store_true', help='resume an experiment. ' 'Reloaded the optimizer parameter and ' 'set load_model to model_last.pth ' 'in the exp dir if load_model is empty.') # system self.parser.add_argument('--gpus', default='0', help='-1 for CPU, use comma for multiple gpus') self.parser.add_argument('--num_workers', type=int, default=4, help='dataloader threads. 0 for single-thread.') self.parser.add_argument('--not_cuda_benchmark', action='store_true', help='disable when the input size is not fixed.') self.parser.add_argument('--seed', type=int, default=317, help='random seed') # from CornerNet # log self.parser.add_argument('--print_iter', type=int, default=0, help='disable progress bar and print to screen.') self.parser.add_argument('--hide_data_time', action='store_true', help='not display time during training.') self.parser.add_argument('--save_all', action='store_true', help='save model to disk every 5 epochs.') self.parser.add_argument('--metric', default='loss', help='main metric to save best model') self.parser.add_argument('--vis_thresh', type=float, default=0.3, help='visualization threshold.') self.parser.add_argument('--debugger_theme', default='white', choices=['white', 'black']) # model self.parser.add_argument('--arch', default='dla_34', help='model architecture. Currently tested' 'dlav_34 | hrnet_32 | hrnet_48') self.parser.add_argument('--head_conv', type=int, default=-1, help='conv layer channels for output head' '0 for no conv layer' '-1 for default setting: ' '64 for resnets and 256 for dla.') self.parser.add_argument('--down_ratio', type=int, default=4, help='output stride. Currently only supports 4.') # input self.parser.add_argument('--input_res', type=int, default=-1, help='input height and width. -1 for default from ' 'dataset. Will be overriden by input_h | input_w') self.parser.add_argument('--input_h', type=int, default=-1, help='input height. -1 for default from dataset.') self.parser.add_argument('--input_w', type=int, default=-1, help='input width. -1 for default from dataset.') # train self.parser.add_argument('--lr', type=float, default=1.25e-4, help='learning rate for batch size 32.') self.parser.add_argument('--lr_step', type=str, default='90,120', help='drop learning rate by 10.') self.parser.add_argument('--num_epochs', type=int, default=140, help='total training epochs.') self.parser.add_argument('--batch_size', type=int, default=32, help='batch size') self.parser.add_argument('--master_batch_size', type=int, default=-1, help='batch size on the master gpu.') self.parser.add_argument('--num_iters', type=int, default=-1, help='default: #samples / batch_size.') self.parser.add_argument('--val_intervals', type=int, default=1, help='number of epochs to run validation.') self.parser.add_argument('--trainval', action='store_true', help='include validation in training and ' 'test on test set') # test self.parser.add_argument('--flip_test', action='store_true', help='flip data augmentation.') self.parser.add_argument('--test_scales', type=str, default='1', help='multi scale test augmentation.') self.parser.add_argument('--nms', action='store_true', help='run nms in testing.') self.parser.add_argument('--K', type=int, default=100, help='max number of output objects.') self.parser.add_argument('--not_prefetch_test', action='store_true', help='not use parallal data pre-processing.') self.parser.add_argument('--fix_res', action='store_true', help='fix testing resolution or keep ' 'the original resolution') self.parser.add_argument('--keep_res', action='store_true', help='keep the original resolution' ' during validation.') # dataset self.parser.add_argument('--not_rand_crop', action='store_true', help='not use the random crop data augmentation' 'from CornerNet.') self.parser.add_argument('--shift', type=float, default=0.1, help='when not using random crop' 'apply shift augmentation.') self.parser.add_argument('--scale', type=float, default=0.4, help='when not using random crop' 'apply scale augmentation.') self.parser.add_argument('--rotate', type=float, default=0, help='when not using random crop' 'apply rotation augmentation.') self.parser.add_argument('--flip', type = float, default=0.5, help='probability of applying flip augmentation.') self.parser.add_argument('--no_color_aug', action='store_true', help='not use the color augmenation ' 'from CornerNet') # multi_pose self.parser.add_argument('--aug_rot', type=float, default=0, help='probability of applying ' 'rotation augmentation.') # ddd self.parser.add_argument('--aug_ddd', type=float, default=0.5, help='probability of applying crop augmentation.') self.parser.add_argument('--rect_mask', action='store_true', help='for ignored object, apply mask on the ' 'rectangular region or just center point.') self.parser.add_argument('--kitti_split', default='3dop', help='different validation split for kitti: ' '3dop | subcnn') # loss self.parser.add_argument('--mse_loss', action='store_true', help='use mse loss or focal loss to train ' 'keypoint heatmaps.') # ctdet self.parser.add_argument('--reg_loss', default='l1', help='regression loss: sl1 | l1 | l2') self.parser.add_argument('--hm_weight', type=float, default=1, help='loss weight for keypoint heatmaps.') self.parser.add_argument('--off_weight', type=float, default=1, help='loss weight for keypoint local offsets.') self.parser.add_argument('--wh_weight', type=float, default=0.1, help='loss weight for bounding box size.') # multi_pose self.parser.add_argument('--hp_weight', type=float, default=1, help='loss weight for human pose offset.') self.parser.add_argument('--hm_hp_weight', type=float, default=1, help='loss weight for human keypoint heatmap.') # ddd self.parser.add_argument('--dep_weight', type=float, default=1, help='loss weight for depth.') self.parser.add_argument('--dim_weight', type=float, default=1, help='loss weight for 3d bounding box size.') self.parser.add_argument('--rot_weight', type=float, default=1, help='loss weight for orientation.') self.parser.add_argument('--peak_thresh', type=float, default=0.2) # task # ctdet self.parser.add_argument('--norm_wh', action='store_true', help='L1(\hat(y) / y, 1) or L1(\hat(y), y)') self.parser.add_argument('--dense_wh', action='store_true', help='apply weighted regression near center or ' 'just apply regression on center point.') self.parser.add_argument('--cat_spec_wh', action='store_true', help='category specific bounding box size.') self.parser.add_argument('--not_reg_offset', action='store_true', help='not regress local offset.') # exdet self.parser.add_argument('--agnostic_ex', action='store_true', help='use category agnostic extreme points.') self.parser.add_argument('--scores_thresh', type=float, default=0.1, help='threshold for extreme point heatmap.') self.parser.add_argument('--center_thresh', type=float, default=0.1, help='threshold for centermap.') self.parser.add_argument('--aggr_weight', type=float, default=0.0, help='edge aggregation weight.') # multi_pose self.parser.add_argument('--dense_hp', action='store_true', help='apply weighted pose regression near center ' 'or just apply regression on center point.') self.parser.add_argument('--not_hm_hp', action='store_true', help='not estimate human joint heatmap, ' 'directly use the joint offset from center.') self.parser.add_argument('--not_reg_hp_offset', action='store_true', help='not regress local offset for ' 'human joint heatmaps.') self.parser.add_argument('--not_reg_bbox', action='store_true', help='not regression bounding box size.') self.parser.add_argument('--giou', action='store_true', help='not regression bounding box size.') self.parser.add_argument('--giou_weight', type=float, default=1.0, help='edge aggregation weight.') # ground truth validation self.parser.add_argument('--eval_oracle_hm', action='store_true', help='use ground center heatmap.') self.parser.add_argument('--eval_oracle_wh', action='store_true', help='use ground truth bounding box size.') self.parser.add_argument('--eval_oracle_offset', action='store_true', help='use ground truth local heatmap offset.') self.parser.add_argument('--eval_oracle_kps', action='store_true', help='use ground truth human pose offset.') self.parser.add_argument('--eval_oracle_hmhp', action='store_true', help='use ground truth human joint heatmaps.') self.parser.add_argument('--eval_oracle_hp_offset', action='store_true', help='use ground truth human joint local offset.') self.parser.add_argument('--eval_oracle_dep', action='store_true', help='use ground truth depth.') def parse(self, args=''): if args == '': opt = self.parser.parse_args() else: opt = self.parser.parse_args(args) opt.gpus_str = opt.gpus opt.gpus = [int(gpu) for gpu in opt.gpus.split(',')] opt.gpus = [i for i in range(len(opt.gpus))] if opt.gpus[0] >=0 else [-1] opt.lr_step = [int(i) for i in opt.lr_step.split(',')] opt.test_scales = [float(i) for i in opt.test_scales.split(',')] opt.fix_res = not opt.keep_res print('Fix size testing.' if opt.fix_res else 'Keep resolution testing.') opt.reg_offset = not opt.not_reg_offset opt.reg_bbox = not opt.not_reg_bbox opt.hm_hp = not opt.not_hm_hp opt.reg_hp_offset = (not opt.not_reg_hp_offset) and opt.hm_hp if opt.head_conv == -1: # init default head_conv opt.head_conv = 256 # if 'dla' in opt.arch else 64 opt.pad = 127 if 'hourglass' in opt.arch else 31 opt.num_stacks = 2 if opt.arch == 'hourglass' else 1 if opt.trainval: opt.val_intervals = 100000000 if opt.debug > 0: opt.num_workers = 0 opt.batch_size = 1 opt.gpus = [opt.gpus[0]] opt.master_batch_size = -1 if opt.master_batch_size == -1: opt.master_batch_size = opt.batch_size // len(opt.gpus) rest_batch_size = (opt.batch_size - opt.master_batch_size) opt.chunk_sizes = [opt.master_batch_size] for i in range(len(opt.gpus) - 1): slave_chunk_size = rest_batch_size // (len(opt.gpus) - 1) if i < rest_batch_size % (len(opt.gpus) - 1): slave_chunk_size += 1 opt.chunk_sizes.append(slave_chunk_size) print('training chunk_sizes:', opt.chunk_sizes) opt.root_dir = os.path.join(os.path.dirname(__file__), '..', '..') opt.data_dir = os.path.join(opt.root_dir, 'data') opt.exp_dir = os.path.join(opt.root_dir, 'exp', opt.task) opt.save_dir = os.path.join(opt.exp_dir, opt.exp_id) opt.debug_dir = os.path.join(opt.save_dir, 'debug') print('The output will be saved to ', opt.save_dir) if opt.resume and opt.load_model == '': model_path = opt.save_dir[:-4] if opt.save_dir.endswith('TEST') \ else opt.save_dir opt.load_model = os.path.join(model_path, 'model_last.pth') return opt def update_dataset_info_and_set_heads(self, opt, dataset): input_h, input_w = dataset.default_resolution opt.mean, opt.std = dataset.mean, dataset.std opt.num_classes = dataset.num_classes # input_h(w): opt.input_h overrides opt.input_res overrides dataset default input_h = opt.input_res if opt.input_res > 0 else input_h input_w = opt.input_res if opt.input_res > 0 else input_w opt.input_h = opt.input_h if opt.input_h > 0 else input_h opt.input_w = opt.input_w if opt.input_w > 0 else input_w opt.output_h = opt.input_h // opt.down_ratio opt.output_w = opt.input_w // opt.down_ratio opt.input_res = max(opt.input_h, opt.input_w) opt.output_res = max(opt.output_h, opt.output_w) if opt.task == 'exdet': # assert opt.dataset in ['coco'] num_hm = 1 if opt.agnostic_ex else opt.num_classes opt.heads = {'hm_t': num_hm, 'hm_l': num_hm, 'hm_b': num_hm, 'hm_r': num_hm, 'hm_c': opt.num_classes} if opt.reg_offset: opt.heads.update({'reg_t': 2, 'reg_l': 2, 'reg_b': 2, 'reg_r': 2}) elif opt.task == 'ddd': # assert opt.dataset in ['gta', 'kitti', 'viper'] opt.heads = {'hm': opt.num_classes, 'dep': 1, 'rot': 8, 'dim': 3} if opt.reg_bbox: opt.heads.update( {'wh': 2}) if opt.reg_offset: opt.heads.update({'reg': 2}) elif opt.task == 'ctdet': # assert opt.dataset in ['pascal', 'coco'] opt.heads = {'hm': opt.num_classes, 'wh': 2 if not opt.cat_spec_wh else 2 * opt.num_classes} if opt.reg_offset: opt.heads.update({'reg': 2}) elif opt.task == 'multi_pose': # assert opt.dataset in ['coco_hp'] opt.flip_idx = dataset.flip_idx opt.heads = {'hm': opt.num_classes, 'wh': 2, 'hps': 34} if opt.reg_offset: opt.heads.update({'reg': 2}) if opt.hm_hp: opt.heads.update({'hm_hp': 17}) if opt.reg_hp_offset: opt.heads.update({'hp_offset': 2}) elif opt.task == 'multi_pose_wodet': opt.flip_idx = dataset.flip_idx opt.heads = {'hm': opt.num_classes, 'hps': 34} # if without det ,there is no need to predict reg_offset and wh if opt.hm_hp: opt.heads.update({'hm_hp': 17}) if opt.reg_hp_offset: opt.heads.update({'hp_offset': 2}) if opt.reg_offset: opt.heads.update({'reg': 2}) elif opt.task == 'multi_pose_crowdpose': opt.flip_idx = dataset.flip_idx opt.heads = {'hm': opt.num_classes, 'hps': 28} # if without det ,there is no need to predict reg_offset and wh if opt.hm_hp: opt.heads.update({'hm_hp': 14}) if opt.reg_hp_offset: opt.heads.update({'hp_offset': 2}) if opt.reg_offset: opt.heads.update({'reg': 2}) else: assert 0, 'task not defined!' print('heads', opt.heads) return opt def init(self, args=''): #import pudb;pudb.set_trace() default_dataset_info = { 'ctdet': {'default_resolution': [512, 512], 'num_classes': 80, 'mean': [0.408, 0.447, 0.470], 'std': [0.289, 0.274, 0.278], 'dataset': 'coco'}, 'exdet': {'default_resolution': [512, 512], 'num_classes': 80, 'mean': [0.408, 0.447, 0.470], 'std': [0.289, 0.274, 0.278], 'dataset': 'coco'}, 'multi_pose_wodet': { 'default_resolution': [512, 512], 'num_classes': 1, 'mean': [0.408, 0.447, 0.470], 'std': [0.289, 0.274, 0.278], 'dataset': 'coco_hp_wodet', 'num_joints': 17, 'flip_idx': [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], [15, 16]]}, 'ddd': {'default_resolution': [384, 1280], 'num_classes': 3, 'mean': [0.485, 0.456, 0.406], 'std': [0.229, 0.224, 0.225], 'dataset': 'kitti'}, } class Struct: def __init__(self, entries): for k, v in entries.items(): self.__setattr__(k, v) #print('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa') opt = self.parse(args) dataset = Struct(default_dataset_info[opt.task]) opt.dataset = dataset.dataset opt = self.update_dataset_info_and_set_heads(opt, dataset) return opt ================================================ FILE: src/lib/trains/base_trainer.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import time import torch from progress.bar import Bar from models.data_parallel import DataParallel from utils.utils import AverageMeter class ModelWithLoss(torch.nn.Module): def __init__(self, model, loss): super(ModelWithLoss, self).__init__() self.model = model self.loss = loss def forward(self, batch): outputs = self.model(batch['input']) loss, loss_stats = self.loss(outputs, batch) return outputs[-1], loss, loss_stats class BaseTrainer(object): def __init__( self, opt, model, optimizer=None): self.opt = opt self.optimizer = optimizer self.loss_stats, self.loss = self._get_losses(opt) self.model_with_loss = ModelWithLoss(model, self.loss) def set_device(self, gpus, chunk_sizes, device): #import pudb;pudb.set_trace() if len(gpus) > 1: self.model_with_loss = DataParallel( self.model_with_loss, device_ids=gpus, chunk_sizes=chunk_sizes).to(device) else: self.model_with_loss = self.model_with_loss.to(device) for state in self.optimizer.state.values(): for k, v in state.items(): if isinstance(v, torch.Tensor): state[k] = v.to(device=device, non_blocking=True) def run_epoch(self, phase, epoch, data_loader): #import pudb;pudb.set_trace() model_with_loss = self.model_with_loss if phase == 'train': model_with_loss.train() else: if len(self.opt.gpus) > 1: model_with_loss = self.model_with_loss.module model_with_loss.eval() torch.cuda.empty_cache() opt = self.opt results = {} data_time, batch_time = AverageMeter(), AverageMeter() avg_loss_stats = {l: AverageMeter() for l in self.loss_stats} num_iters = len(data_loader) if opt.num_iters < 0 else opt.num_iters # bar = Bar('{}/{}'.format(opt.task, opt.exp_id), max=num_iters) bar = Bar( max=num_iters) end = time.time() for iter_id, batch in enumerate(data_loader): if iter_id >= num_iters: break data_time.update(time.time() - end) for k in batch: if k != 'meta': batch[k] = batch[k].to(device=opt.device, non_blocking=True) output, loss, loss_stats = model_with_loss(batch) loss = loss.mean() if phase == 'train': self.optimizer.zero_grad() loss.backward() self.optimizer.step() batch_time.update(time.time() - end) end = time.time() Bar.suffix = '{phase}: [{0}][{1}/{2}]|Tot: {total:} |ETA: {eta:} '.format( epoch, iter_id, num_iters, phase=phase, total=bar.elapsed_td, eta=bar.eta_td) for l in avg_loss_stats: avg_loss_stats[l].update( loss_stats[l].mean().item(), batch['input'].size(0)) Bar.suffix = Bar.suffix + '|{} {:.4f} '.format(l, avg_loss_stats[l].avg) if not opt.hide_data_time: Bar.suffix = Bar.suffix + '|Data {dt.val:.3f}s({dt.avg:.3f}s) ' \ '|Net {bt.avg:.3f}s'.format(dt=data_time, bt=batch_time) if opt.print_iter > 0: if iter_id % opt.print_iter == 0: print('{}/{}| {}'.format(opt.task, opt.exp_id, Bar.suffix)) else: bar.next() if opt.debug > 0: self.debug(batch, output, iter_id) #if opt.test: if phase != 'train': self.save_result(output, batch, results) del output, loss, loss_stats bar.finish() ret = {k: v.avg for k, v in avg_loss_stats.items()} ret['time'] = bar.elapsed_td.total_seconds() / 60. return ret, results def debug(self, batch, output, iter_id): raise NotImplementedError def save_result(self, output, batch, results): raise NotImplementedError def _get_losses(self, opt): raise NotImplementedError def val(self, epoch, data_loader): return self.run_epoch('val', epoch, data_loader) def train(self, epoch, data_loader): return self.run_epoch('train', epoch, data_loader) ================================================ FILE: src/lib/trains/ctdet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import numpy as np from models.losses import FocalLoss from models.losses import RegL1Loss, RegLoss, NormRegL1Loss, RegWeightedL1Loss from models.decode import ctdet_decode from models.utils import _sigmoid from utils.debugger import Debugger from utils.post_process import ctdet_post_process from utils.oracle_utils import gen_oracle_map from .base_trainer import BaseTrainer class CtdetLoss(torch.nn.Module): def __init__(self, opt): super(CtdetLoss, self).__init__() self.crit = torch.nn.MSELoss() if opt.mse_loss else FocalLoss() self.crit_reg = RegL1Loss() if opt.reg_loss == 'l1' else \ RegLoss() if opt.reg_loss == 'sl1' else None self.crit_wh = torch.nn.L1Loss(reduction='sum') if opt.dense_wh else \ NormRegL1Loss() if opt.norm_wh else \ RegWeightedL1Loss() if opt.cat_spec_wh else self.crit_reg self.opt = opt def forward(self, outputs, batch): opt = self.opt hm_loss, wh_loss, off_loss = 0, 0, 0 for s in range(opt.num_stacks): output = outputs[s] if not opt.mse_loss: output['hm'] = _sigmoid(output['hm']) if opt.eval_oracle_hm: output['hm'] = batch['hm'] if opt.eval_oracle_wh: output['wh'] = torch.from_numpy(gen_oracle_map( batch['wh'].detach().cpu().numpy(), batch['ind'].detach().cpu().numpy(), output['wh'].shape[3], output['wh'].shape[2])).to(opt.device) if opt.eval_oracle_offset: output['reg'] = torch.from_numpy(gen_oracle_map( batch['reg'].detach().cpu().numpy(), batch['ind'].detach().cpu().numpy(), output['reg'].shape[3], output['reg'].shape[2])).to(opt.device) hm_loss += self.crit(output['hm'], batch['hm']) / opt.num_stacks if opt.wh_weight > 0: if opt.dense_wh: mask_weight = batch['dense_wh_mask'].sum() + 1e-4 wh_loss += ( self.crit_wh(output['wh'] * batch['dense_wh_mask'], batch['dense_wh'] * batch['dense_wh_mask']) / mask_weight) / opt.num_stacks elif opt.cat_spec_wh: wh_loss += self.crit_wh( output['wh'], batch['cat_spec_mask'], batch['ind'], batch['cat_spec_wh']) / opt.num_stacks else: wh_loss += self.crit_reg( output['wh'], batch['reg_mask'], batch['ind'], batch['wh']) / opt.num_stacks if opt.reg_offset and opt.off_weight > 0: off_loss += self.crit_reg(output['reg'], batch['reg_mask'], batch['ind'], batch['reg']) / opt.num_stacks loss = opt.hm_weight * hm_loss + opt.wh_weight * wh_loss + \ opt.off_weight * off_loss loss_stats = {'loss': loss, 'hm_loss': hm_loss, 'wh_loss': wh_loss, 'off_loss': off_loss} return loss, loss_stats class CtdetTrainer(BaseTrainer): def __init__(self, opt, model, optimizer=None): super(CtdetTrainer, self).__init__(opt, model, optimizer=optimizer) def _get_losses(self, opt): loss_states = ['loss', 'hm_loss', 'wh_loss', 'off_loss'] loss = CtdetLoss(opt) return loss_states, loss def debug(self, batch, output, iter_id): opt = self.opt reg = output['reg'] if opt.reg_offset else None dets = ctdet_decode( output['hm'], output['wh'], reg=reg, cat_spec_wh=opt.cat_spec_wh, K=opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets[:, :, :4] *= opt.down_ratio dets_gt = batch['meta']['gt_det'].numpy().reshape(1, -1, dets.shape[2]) dets_gt[:, :, :4] *= opt.down_ratio for i in range(1): debugger = Debugger( dataset=opt.dataset, ipynb=(opt.debug==3), theme=opt.debugger_theme) img = batch['input'][i].detach().cpu().numpy().transpose(1, 2, 0) img = np.clip((( img * opt.std + opt.mean) * 255.), 0, 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][i].detach().cpu().numpy()) gt = debugger.gen_colormap(batch['hm'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') debugger.add_blend_img(img, gt, 'gt_hm') debugger.add_img(img, img_id='out_pred') for k in range(len(dets[i])): if dets[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets[i, k, :4], dets[i, k, -1], dets[i, k, 4], img_id='out_pred') debugger.add_img(img, img_id='out_gt') for k in range(len(dets_gt[i])): if dets_gt[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets_gt[i, k, :4], dets_gt[i, k, -1], dets_gt[i, k, 4], img_id='out_gt') if opt.debug == 4: debugger.save_all_imgs(opt.debug_dir, prefix='{}'.format(iter_id)) else: debugger.show_all_imgs(pause=True) def save_result(self, output, batch, results): reg = output['reg'] if self.opt.reg_offset else None dets = ctdet_decode( output['hm'], output['wh'], reg=reg, cat_spec_wh=self.opt.cat_spec_wh, K=self.opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets_out = ctdet_post_process( dets.copy(), batch['meta']['c'].cpu().numpy(), batch['meta']['s'].cpu().numpy(), output['hm'].shape[2], output['hm'].shape[3], output['hm'].shape[1]) results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out[0] ================================================ FILE: src/lib/trains/ddd.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import numpy as np from models.losses import FocalLoss, L1Loss, BinRotLoss from models.decode import ddd_decode from models.utils import _sigmoid from utils.debugger import Debugger from utils.post_process import ddd_post_process from utils.oracle_utils import gen_oracle_map from .base_trainer import BaseTrainer class DddLoss(torch.nn.Module): def __init__(self, opt): super(DddLoss, self).__init__() self.crit = torch.nn.MSELoss() if opt.mse_loss else FocalLoss() self.crit_reg = L1Loss() self.crit_rot = BinRotLoss() self.opt = opt def forward(self, outputs, batch): opt = self.opt hm_loss, dep_loss, rot_loss, dim_loss = 0, 0, 0, 0 wh_loss, off_loss = 0, 0 for s in range(opt.num_stacks): output = outputs[s] output['hm'] = _sigmoid(output['hm']) output['dep'] = 1. / (output['dep'].sigmoid() + 1e-6) - 1. if opt.eval_oracle_dep: output['dep'] = torch.from_numpy(gen_oracle_map( batch['dep'].detach().cpu().numpy(), batch['ind'].detach().cpu().numpy(), opt.output_w, opt.output_h)).to(opt.device) hm_loss += self.crit(output['hm'], batch['hm']) / opt.num_stacks if opt.dep_weight > 0: dep_loss += self.crit_reg(output['dep'], batch['reg_mask'], batch['ind'], batch['dep']) / opt.num_stacks if opt.dim_weight > 0: dim_loss += self.crit_reg(output['dim'], batch['reg_mask'], batch['ind'], batch['dim']) / opt.num_stacks if opt.rot_weight > 0: rot_loss += self.crit_rot(output['rot'], batch['rot_mask'], batch['ind'], batch['rotbin'], batch['rotres']) / opt.num_stacks if opt.reg_bbox and opt.wh_weight > 0: wh_loss += self.crit_reg(output['wh'], batch['rot_mask'], batch['ind'], batch['wh']) / opt.num_stacks if opt.reg_offset and opt.off_weight > 0: off_loss += self.crit_reg(output['reg'], batch['rot_mask'], batch['ind'], batch['reg']) / opt.num_stacks loss = opt.hm_weight * hm_loss + opt.dep_weight * dep_loss + \ opt.dim_weight * dim_loss + opt.rot_weight * rot_loss + \ opt.wh_weight * wh_loss + opt.off_weight * off_loss loss_stats = {'loss': loss, 'hm_loss': hm_loss, 'dep_loss': dep_loss, 'dim_loss': dim_loss, 'rot_loss': rot_loss, 'wh_loss': wh_loss, 'off_loss': off_loss} return loss, loss_stats class DddTrainer(BaseTrainer): def __init__(self, opt, model, optimizer=None): super(DddTrainer, self).__init__(opt, model, optimizer=optimizer) def _get_losses(self, opt): loss_states = ['loss', 'hm_loss', 'dep_loss', 'dim_loss', 'rot_loss', 'wh_loss', 'off_loss'] loss = DddLoss(opt) return loss_states, loss def debug(self, batch, output, iter_id): opt = self.opt wh = output['wh'] if opt.reg_bbox else None reg = output['reg'] if opt.reg_offset else None dets = ddd_decode(output['hm'], output['rot'], output['dep'], output['dim'], wh=wh, reg=reg, K=opt.K) # x, y, score, r1-r8, depth, dim1-dim3, cls dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) calib = batch['meta']['calib'].detach().numpy() # x, y, score, rot, depth, dim1, dim2, dim3 # if opt.dataset == 'gta': # dets[:, 12:15] /= 3 dets_pred = ddd_post_process( dets.copy(), batch['meta']['c'].detach().numpy(), batch['meta']['s'].detach().numpy(), calib, opt) dets_gt = ddd_post_process( batch['meta']['gt_det'].detach().numpy().copy(), batch['meta']['c'].detach().numpy(), batch['meta']['s'].detach().numpy(), calib, opt) #for i in range(input.size(0)): for i in range(1): debugger = Debugger(dataset=opt.dataset, ipynb=(opt.debug==3), theme=opt.debugger_theme) img = batch['input'][i].detach().cpu().numpy().transpose(1, 2, 0) img = ((img * self.opt.std + self.opt.mean) * 255.).astype(np.uint8) pred = debugger.gen_colormap( output['hm'][i].detach().cpu().numpy()) gt = debugger.gen_colormap(batch['hm'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'hm_pred') debugger.add_blend_img(img, gt, 'hm_gt') # decode debugger.add_ct_detection( img, dets[i], show_box=opt.reg_bbox, center_thresh=opt.center_thresh, img_id='det_pred') debugger.add_ct_detection( img, batch['meta']['gt_det'][i].cpu().numpy().copy(), show_box=opt.reg_bbox, img_id='det_gt') debugger.add_3d_detection( batch['meta']['image_path'][i], dets_pred[i], calib[i], center_thresh=opt.center_thresh, img_id='add_pred') debugger.add_3d_detection( batch['meta']['image_path'][i], dets_gt[i], calib[i], center_thresh=opt.center_thresh, img_id='add_gt') # debugger.add_bird_view( # dets_pred[i], center_thresh=opt.center_thresh, img_id='bird_pred') # debugger.add_bird_view(dets_gt[i], img_id='bird_gt') debugger.add_bird_views( dets_pred[i], dets_gt[i], center_thresh=opt.center_thresh, img_id='bird_pred_gt') # debugger.add_blend_img(img, pred, 'out', white=True) debugger.compose_vis_add( batch['meta']['image_path'][i], dets_pred[i], calib[i], opt.center_thresh, pred, 'bird_pred_gt', img_id='out') # debugger.add_img(img, img_id='out') if opt.debug ==4: debugger.save_all_imgs(opt.debug_dir, prefix='{}'.format(iter_id)) else: debugger.show_all_imgs(pause=True) def save_result(self, output, batch, results): opt = self.opt wh = output['wh'] if opt.reg_bbox else None reg = output['reg'] if opt.reg_offset else None dets = ddd_decode(output['hm'], output['rot'], output['dep'], output['dim'], wh=wh, reg=reg, K=opt.K) # x, y, score, r1-r8, depth, dim1-dim3, cls dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) calib = batch['meta']['calib'].detach().numpy() # x, y, score, rot, depth, dim1, dim2, dim3 dets_pred = ddd_post_process( dets.copy(), batch['meta']['c'].detach().numpy(), batch['meta']['s'].detach().numpy(), calib, opt) img_id = batch['meta']['img_id'].detach().numpy()[0] results[img_id] = dets_pred[0] for j in range(1, opt.num_classes + 1): keep_inds = (results[img_id][j][:, -1] > opt.center_thresh) results[img_id][j] = results[img_id][j][keep_inds] ================================================ FILE: src/lib/trains/exdet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import numpy as np import cv2 import sys import time from utils.debugger import Debugger from models.data_parallel import DataParallel from models.losses import FocalLoss, RegL1Loss from models.decode import agnex_ct_decode, exct_decode from models.utils import _sigmoid from .base_trainer import BaseTrainer class ExdetLoss(torch.nn.Module): def __init__(self, opt): super(ExdetLoss, self).__init__() self.crit = torch.nn.MSELoss() if opt.mse_loss else FocalLoss() self.crit_reg = RegL1Loss() self.opt = opt self.parts = ['t', 'l', 'b', 'r', 'c'] def forward(self, outputs, batch): opt = self.opt hm_loss, reg_loss = 0, 0 for s in range(opt.num_stacks): output = outputs[s] for p in self.parts: tag = 'hm_{}'.format(p) output[tag] = _sigmoid(output[tag]) hm_loss += self.crit(output[tag], batch[tag]) / opt.num_stacks if p != 'c' and opt.reg_offset and opt.off_weight > 0: reg_loss += self.crit_reg(output['reg_{}'.format(p)], batch['reg_mask'], batch['ind_{}'.format(p)], batch['reg_{}'.format(p)]) / opt.num_stacks loss = opt.hm_weight * hm_loss + opt.off_weight * reg_loss loss_stats = {'loss': loss, 'off_loss': reg_loss, 'hm_loss': hm_loss} return loss, loss_stats class ExdetTrainer(BaseTrainer): def __init__(self, opt, model, optimizer=None): super(ExdetTrainer, self).__init__(opt, model, optimizer=optimizer) self.decode = agnex_ct_decode if opt.agnostic_ex else exct_decode def _get_losses(self, opt): loss_states = ['loss', 'hm_loss', 'off_loss'] loss = ExdetLoss(opt) return loss_states, loss def debug(self, batch, output, iter_id): opt = self.opt detections = self.decode(output['hm_t'], output['hm_l'], output['hm_b'], output['hm_r'], output['hm_c']).detach().cpu().numpy() detections[:, :, :4] *= opt.input_res / opt.output_res for i in range(1): debugger = Debugger( dataset=opt.dataset, ipynb=(opt.debug==3), theme=opt.debugger_theme) pred_hm = np.zeros((opt.input_res, opt.input_res, 3), dtype=np.uint8) gt_hm = np.zeros((opt.input_res, opt.input_res, 3), dtype=np.uint8) img = batch['input'][i].detach().cpu().numpy().transpose(1, 2, 0) img = ((img * self.opt.std + self.opt.mean) * 255.).astype(np.uint8) for p in self.parts: tag = 'hm_{}'.format(p) pred = debugger.gen_colormap(output[tag][i].detach().cpu().numpy()) gt = debugger.gen_colormap(batch[tag][i].detach().cpu().numpy()) if p != 'c': pred_hm = np.maximum(pred_hm, pred) gt_hm = np.maximum(gt_hm, gt) if p == 'c' or opt.debug > 2: debugger.add_blend_img(img, pred, 'pred_{}'.format(p)) debugger.add_blend_img(img, gt, 'gt_{}'.format(p)) debugger.add_blend_img(img, pred_hm, 'pred') debugger.add_blend_img(img, gt_hm, 'gt') debugger.add_img(img, img_id='out') for k in range(len(detections[i])): if detections[i, k, 4] > 0.1: debugger.add_coco_bbox(detections[i, k, :4], detections[i, k, -1], detections[i, k, 4], img_id='out') if opt.debug == 4: debugger.save_all_imgs(opt.debug_dir, prefix='{}'.format(iter_id)) else: debugger.show_all_imgs(pause=True) ================================================ FILE: src/lib/trains/multi_pose.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import numpy as np from models.losses import FocalLoss, RegL1Loss, RegLoss, RegWeightedL1Loss from models.decode import multi_pose_decode from models.utils import _sigmoid, flip_tensor, flip_lr_off, flip_lr from utils.debugger import Debugger from utils.post_process import multi_pose_post_process from utils.oracle_utils import gen_oracle_map from .base_trainer import BaseTrainer class MultiPoseLoss(torch.nn.Module): def __init__(self, opt): super(MultiPoseLoss, self).__init__() self.crit = FocalLoss() self.crit_hm_hp = torch.nn.MSELoss() if opt.mse_loss else FocalLoss() self.crit_kp = RegWeightedL1Loss() if not opt.dense_hp else \ torch.nn.L1Loss(reduction='sum') self.crit_reg = RegL1Loss() if opt.reg_loss == 'l1' else \ RegLoss() if opt.reg_loss == 'sl1' else None self.opt = opt def forward(self, outputs, batch): #import pudb;pudb.set_trace() opt = self.opt hm_loss, wh_loss, off_loss = 0, 0, 0 hp_loss, off_loss, hm_hp_loss, hp_offset_loss = 0, 0, 0, 0 for s in range(opt.num_stacks): output = outputs[s] output['hm'] = _sigmoid(output['hm']) if opt.hm_hp and not opt.mse_loss: output['hm_hp'] = _sigmoid(output['hm_hp']) if opt.eval_oracle_hmhp: output['hm_hp'] = batch['hm_hp'] if opt.eval_oracle_hm: output['hm'] = batch['hm'] if opt.eval_oracle_kps: if opt.dense_hp: output['hps'] = batch['dense_hps'] else: output['hps'] = torch.from_numpy(gen_oracle_map( batch['hps'].detach().cpu().numpy(), batch['ind'].detach().cpu().numpy(), opt.output_res, opt.output_res)).to(opt.device) if opt.eval_oracle_hp_offset: output['hp_offset'] = torch.from_numpy(gen_oracle_map( batch['hp_offset'].detach().cpu().numpy(), batch['hp_ind'].detach().cpu().numpy(), opt.output_res, opt.output_res)).to(opt.device) hm_loss += self.crit(output['hm'], batch['hm']) / opt.num_stacks if opt.dense_hp: mask_weight = batch['dense_hps_mask'].sum() + 1e-4 hp_loss += (self.crit_kp(output['hps'] * batch['dense_hps_mask'], batch['dense_hps'] * batch['dense_hps_mask']) / mask_weight) / opt.num_stacks else: hp_loss += self.crit_kp(output['hps'], batch['hps_mask'], batch['ind'], batch['hps']) / opt.num_stacks if opt.wh_weight > 0: wh_loss += self.crit_reg(output['wh'], batch['reg_mask'], batch['ind'], batch['wh']) / opt.num_stacks if opt.reg_offset and opt.off_weight > 0: off_loss += self.crit_reg(output['reg'], batch['reg_mask'], batch['ind'], batch['reg']) / opt.num_stacks if opt.reg_hp_offset and opt.off_weight > 0: hp_offset_loss += self.crit_reg( output['hp_offset'], batch['hp_mask'], batch['hp_ind'], batch['hp_offset']) / opt.num_stacks if opt.hm_hp and opt.hm_hp_weight > 0: hm_hp_loss += self.crit_hm_hp( output['hm_hp'], batch['hm_hp']) / opt.num_stacks loss = opt.hm_weight * hm_loss + opt.wh_weight * wh_loss + \ opt.off_weight * off_loss + opt.hp_weight * hp_loss + \ opt.hm_hp_weight * hm_hp_loss + opt.off_weight * hp_offset_loss loss_stats = {'loss': loss, 'hm_loss': hm_loss, 'hp_loss': hp_loss, 'hm_hp_loss': hm_hp_loss, 'hp_offset_loss': hp_offset_loss, 'wh_loss': wh_loss, 'off_loss': off_loss} return loss, loss_stats class MultiPoseTrainer(BaseTrainer): def __init__(self, opt, model, optimizer=None): super(MultiPoseTrainer, self).__init__(opt, model, optimizer=optimizer) def _get_losses(self, opt): loss_states = ['loss', 'hm_loss', 'hp_loss', 'hm_hp_loss', 'hp_offset_loss', 'wh_loss', 'off_loss'] loss = MultiPoseLoss(opt) return loss_states, loss def debug(self, batch, output, iter_id): opt = self.opt reg = output['reg'] if opt.reg_offset else None hm_hp = output['hm_hp'] if opt.hm_hp else None hp_offset = output['hp_offset'] if opt.reg_hp_offset else None dets = multi_pose_decode( output['hm'], output['wh'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets[:, :, :4] *= opt.input_res / opt.output_res dets[:, :, 5:39] *= opt.input_res / opt.output_res dets_gt = batch['meta']['gt_det'].numpy().reshape(1, -1, dets.shape[2]) dets_gt[:, :, :4] *= opt.input_res / opt.output_res dets_gt[:, :, 5:39] *= opt.input_res / opt.output_res for i in range(1): debugger = Debugger( dataset=opt.dataset, ipynb=(opt.debug==3), theme=opt.debugger_theme) img = batch['input'][i].detach().cpu().numpy().transpose(1, 2, 0) img = np.clip((( img * opt.std + opt.mean) * 255.), 0, 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][i].detach().cpu().numpy()) gt = debugger.gen_colormap(batch['hm'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') debugger.add_blend_img(img, gt, 'gt_hm') debugger.add_img(img, img_id='out_pred') for k in range(len(dets[i])): if dets[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets[i, k, :4], dets[i, k, -1], dets[i, k, 4], img_id='out_pred') debugger.add_coco_hp(dets[i, k, 5:39], img_id='out_pred') debugger.add_img(img, img_id='out_gt') for k in range(len(dets_gt[i])): if dets_gt[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets_gt[i, k, :4], dets_gt[i, k, -1], dets_gt[i, k, 4], img_id='out_gt') debugger.add_coco_hp(dets_gt[i, k, 5:39], img_id='out_gt') if opt.hm_hp: pred = debugger.gen_colormap_hp(output['hm_hp'][i].detach().cpu().numpy()) gt = debugger.gen_colormap_hp(batch['hm_hp'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hmhp') debugger.add_blend_img(img, gt, 'gt_hmhp') if opt.debug == 4: debugger.save_all_imgs(opt.debug_dir, prefix='{}'.format(iter_id)) else: debugger.show_all_imgs(pause=True) def save_result(self, output, batch, results): reg = output['reg'] if self.opt.reg_offset else None hm_hp = output['hm_hp'] if self.opt.hm_hp else None hp_offset = output['hp_offset'] if self.opt.reg_hp_offset else None #import pudb;pudb.set_trace() dets = multi_pose_decode( output['hm'], output['wh'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets_out = multi_pose_post_process( dets.copy(), batch['meta']['c'].cpu().numpy(), batch['meta']['s'].cpu().numpy(), output['hm'].shape[2], output['hm'].shape[3]) results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out[0] ## type(res) :dict ; dets_out[0]:{class_id:top_preds} top_pred:list len:100 len(top[])=39 ================================================ FILE: src/lib/trains/multi_pose_crowdpose.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import numpy as np from models.losses import FocalLoss, RegL1Loss, RegLoss, RegWeightedL1Loss_crowdpose from models.oks_loss import OKSLoss from models.decode import multi_pose_decode_wodet, multi_pose_decode, multi_pose_decode_wodet from models.utils import _sigmoid, flip_tensor, flip_lr_off, flip_lr from utils.debugger import Debugger from utils.post_process import multi_pose_crowdpose_post_process from utils.oracle_utils import gen_oracle_map from .base_trainer import BaseTrainer class MultiPoseLoss(torch.nn.Module): def __init__(self, opt): super(MultiPoseLoss, self).__init__() self.crit = FocalLoss() self.crit_hm_hp = torch.nn.MSELoss() if opt.mse_loss else FocalLoss() self.crit_kp = RegWeightedL1Loss_crowdpose() if not opt.dense_hp else \ torch.nn.SmoothL1Loss(reduction='sum') #torch.nn.L1Loss(reduction='sum') self.crit_reg = RegL1Loss() if opt.reg_loss == 'l1' else \ RegLoss() if opt.reg_loss == 'sl1' else None self.oks_loss = OKSLoss(linear=True, num_keypoints=14, loss_weight=5.0) self.opt = opt def forward(self, outputs, batch): #import pudb;pudb.set_trace() opt = self.opt hm_loss, wh_loss, off_loss = 0, 0, 0 hp_loss, off_loss, hm_hp_loss, hp_offset_loss = 0, 0, 0, 0 oks_loss = 0 for s in range(opt.num_stacks): output = outputs[s] output['hm'] = _sigmoid(output['hm']) if opt.hm_hp and not opt.mse_loss: output['hm_hp'] = _sigmoid(output['hm_hp']) if opt.eval_oracle_hmhp: output['hm_hp'] = batch['hm_hp'] if opt.eval_oracle_hm: output['hm'] = batch['hm'] if opt.eval_oracle_kps: if opt.dense_hp: output['hps'] = batch['dense_hps'] else: output['hps'] = torch.from_numpy(gen_oracle_map( batch['hps'].detach().cpu().numpy(), batch['ind'].detach().cpu().numpy(), opt.output_res, opt.output_res)).to(opt.device) if opt.eval_oracle_hp_offset: output['hp_offset'] = torch.from_numpy(gen_oracle_map( batch['hp_offset'].detach().cpu().numpy(), batch['hp_ind'].detach().cpu().numpy(), opt.output_res, opt.output_res)).to(opt.device) hm_loss += self.crit(output['hm'], batch['hm']) / opt.num_stacks if opt.dense_hp: mask_weight = batch['dense_hps_mask'].sum() + 1e-4 hp_loss += (self.crit_kp(output['hps'] * batch['dense_hps_mask'], batch['dense_hps'] * batch['dense_hps_mask']) / mask_weight) / opt.num_stacks else: hp_loss += self.crit_kp(output['hps'], batch['hps_mask'], batch['ind'], batch['hps']) / opt.num_stacks oks_loss += self.oks_loss(output['hps'], batch['hps'], batch['hps_mask'], batch['area'], batch['ind'])/opt.num_stacks # if opt.giou and opt.giou_weight > 0: # giou += self.giou(output['hps'], batch['hps_mask'], batch['reg_mask'], batch['ind'], batch['pseudo_box']) # if opt.wh_weight > 0: # wh_loss += self.crit_reg(output['wh'], batch['reg_mask'], # batch['ind'], batch['wh']) / opt.num_stacks if opt.reg_offset and opt.off_weight > 0: off_loss += self.crit_reg(output['reg'], batch['reg_mask'], batch['ind'], batch['reg']) / opt.num_stacks if opt.reg_hp_offset and opt.off_weight > 0: hp_offset_loss += self.crit_reg( output['hp_offset'], batch['hp_mask'], batch['hp_ind'], batch['hp_offset']) / opt.num_stacks if opt.hm_hp and opt.hm_hp_weight > 0: hm_hp_loss += self.crit_hm_hp( output['hm_hp'], batch['hm_hp']) / opt.num_stacks loss = opt.hm_weight * hm_loss + \ opt.hp_weight * hp_loss + \ opt.hm_hp_weight * hm_hp_loss #+ oks_loss loss_stats = {'loss': loss, 'hm_loss': hm_loss, 'hp_loss': hp_loss, #'oks_loss': oks_loss, 'hm_hp_loss': hm_hp_loss} return loss, loss_stats class MultiPoseTrainer_crowdpose(BaseTrainer): def __init__(self, opt, model, optimizer=None): super(MultiPoseTrainer_crowdpose, self).__init__(opt, model, optimizer=optimizer) def _get_losses(self, opt): loss_states = ['loss', 'hm_loss', 'hp_loss', 'hm_hp_loss'] #, 'oks_loss' loss = MultiPoseLoss(opt) return loss_states, loss def debug(self, batch, output, iter_id): opt = self.opt reg = output['reg'] if opt.reg_offset else None hm_hp = output['hm_hp'] if opt.hm_hp else None hp_offset = output['hp_offset'] if opt.reg_hp_offset else None dets = multi_pose_decode_wodet( output['hm'], output['wh'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets[:, :, :4] *= opt.input_res / opt.output_res dets[:, :, 5:39] *= opt.input_res / opt.output_res dets_gt = batch['meta']['gt_det'].numpy().reshape(1, -1, dets.shape[2]) dets_gt[:, :, :4] *= opt.input_res / opt.output_res dets_gt[:, :, 5:39] *= opt.input_res / opt.output_res for i in range(1): debugger = Debugger( dataset=opt.dataset, ipynb=(opt.debug==3), theme=opt.debugger_theme) img = batch['input'][i].detach().cpu().numpy().transpose(1, 2, 0) img = np.clip((( img * opt.std + opt.mean) * 255.), 0, 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][i].detach().cpu().numpy()) gt = debugger.gen_colormap(batch['hm'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') debugger.add_blend_img(img, gt, 'gt_hm') debugger.add_img(img, img_id='out_pred') for k in range(len(dets[i])): if dets[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets[i, k, :4], dets[i, k, -1], dets[i, k, 4], img_id='out_pred') debugger.add_coco_hp(dets[i, k, 5:39], img_id='out_pred') debugger.add_img(img, img_id='out_gt') for k in range(len(dets_gt[i])): if dets_gt[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets_gt[i, k, :4], dets_gt[i, k, -1], dets_gt[i, k, 4], img_id='out_gt') debugger.add_coco_hp(dets_gt[i, k, 5:39], img_id='out_gt') if opt.hm_hp: pred = debugger.gen_colormap_hp(output['hm_hp'][i].detach().cpu().numpy()) gt = debugger.gen_colormap_hp(batch['hm_hp'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hmhp') debugger.add_blend_img(img, gt, 'gt_hmhp') if opt.debug == 4: debugger.save_all_imgs(opt.debug_dir, prefix='{}'.format(iter_id)) else: debugger.show_all_imgs(pause=True) def save_result(self, output, batch, results): reg = output['reg'] if self.opt.reg_offset else None hm_hp = output['hm_hp'] if self.opt.hm_hp else None hp_offset = output['hp_offset'] if self.opt.reg_hp_offset else None dets = multi_pose_decode_wodet( output['hm'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets_out = multi_pose_crowdpose_post_process( dets.copy(), batch['meta']['c'].cpu().numpy(), batch['meta']['s'].cpu().numpy(), output['hm'].shape[2], output['hm'].shape[3]) results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out[0] ## type(res) :dict ; dets_out[0]:{class_id:top_preds} top_pred:list len:100 len(top[])=39 ================================================ FILE: src/lib/trains/multi_pose_wodet.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch import numpy as np from models.losses import FocalLoss, RegL1Loss, RegLoss, RegWeightedL1Loss_coco from models.oks_loss import OKSLoss from models.decode import multi_pose_decode_wodet, multi_pose_decode, multi_pose_decode_wodet from models.utils import _sigmoid, flip_tensor, flip_lr_off, flip_lr from utils.debugger import Debugger from utils.post_process import multi_pose_wodet_post_process from utils.oracle_utils import gen_oracle_map from .base_trainer import BaseTrainer class MultiPoseLoss(torch.nn.Module): def __init__(self, opt): super(MultiPoseLoss, self).__init__() self.crit = FocalLoss() self.crit_hm_hp = torch.nn.MSELoss() if opt.mse_loss else FocalLoss() self.crit_kp = RegWeightedL1Loss_coco() if not opt.dense_hp else \ torch.nn.SmoothL1Loss(reduction='sum') #torch.nn.L1Loss(reduction='sum') self.crit_reg = RegL1Loss() if opt.reg_loss == 'l1' else \ RegLoss() if opt.reg_loss == 'sl1' else None self.oks_loss = OKSLoss(linear=True, loss_weight=5.0) self.opt = opt def forward(self, outputs, batch): #import pudb;pudb.set_trace() opt = self.opt hm_loss, wh_loss, off_loss = 0, 0, 0 hp_loss, off_loss, hm_hp_loss, hp_offset_loss = 0, 0, 0, 0 oks_loss = 0 for s in range(opt.num_stacks): output = outputs[s] output['hm'] = _sigmoid(output['hm']) if opt.hm_hp and not opt.mse_loss: output['hm_hp'] = _sigmoid(output['hm_hp']) if opt.eval_oracle_hmhp: output['hm_hp'] = batch['hm_hp'] if opt.eval_oracle_hm: output['hm'] = batch['hm'] if opt.eval_oracle_kps: if opt.dense_hp: output['hps'] = batch['dense_hps'] else: output['hps'] = torch.from_numpy(gen_oracle_map( batch['hps'].detach().cpu().numpy(), batch['ind'].detach().cpu().numpy(), opt.output_res, opt.output_res)).to(opt.device) if opt.eval_oracle_hp_offset: output['hp_offset'] = torch.from_numpy(gen_oracle_map( batch['hp_offset'].detach().cpu().numpy(), batch['hp_ind'].detach().cpu().numpy(), opt.output_res, opt.output_res)).to(opt.device) hm_loss += self.crit(output['hm'], batch['hm']) / opt.num_stacks if opt.dense_hp: mask_weight = batch['dense_hps_mask'].sum() + 1e-4 hp_loss += (self.crit_kp(output['hps'] * batch['dense_hps_mask'], batch['dense_hps'] * batch['dense_hps_mask']) / mask_weight) / opt.num_stacks else: hp_loss += self.crit_kp(output['hps'], batch['hps_mask'], batch['ind'], batch['hps']) / opt.num_stacks oks_loss += self.oks_loss(output['hps'], batch['hps'], batch['hps_mask'], batch['area'], batch['ind'])/opt.num_stacks # if opt.giou and opt.giou_weight > 0: # giou += self.giou(output['hps'], batch['hps_mask'], batch['reg_mask'], batch['ind'], batch['pseudo_box']) # if opt.wh_weight > 0: # wh_loss += self.crit_reg(output['wh'], batch['reg_mask'], # batch['ind'], batch['wh']) / opt.num_stacks if opt.reg_offset and opt.off_weight > 0: off_loss += self.crit_reg(output['reg'], batch['reg_mask'], batch['ind'], batch['reg']) / opt.num_stacks if opt.reg_hp_offset and opt.off_weight > 0: hp_offset_loss += self.crit_reg( output['hp_offset'], batch['hp_mask'], batch['hp_ind'], batch['hp_offset']) / opt.num_stacks if opt.hm_hp and opt.hm_hp_weight > 0: hm_hp_loss += self.crit_hm_hp( output['hm_hp'], batch['hm_hp']) / opt.num_stacks loss = opt.hm_weight * hm_loss + \ opt.hp_weight * hp_loss + \ opt.hm_hp_weight * hm_hp_loss + \ oks_loss loss_stats = {'loss': loss, 'hm_loss': hm_loss, 'hp_loss': hp_loss, 'oks_loss': oks_loss, 'hm_hp_loss': hm_hp_loss} return loss, loss_stats class MultiPoseTrainer_wodet(BaseTrainer): def __init__(self, opt, model, optimizer=None): super(MultiPoseTrainer_wodet, self).__init__(opt, model, optimizer=optimizer) def _get_losses(self, opt): loss_states = ['loss', 'hm_loss', 'hp_loss', 'hm_hp_loss', 'oks_loss'] loss = MultiPoseLoss(opt) return loss_states, loss def debug(self, batch, output, iter_id): opt = self.opt reg = output['reg'] if opt.reg_offset else None hm_hp = output['hm_hp'] if opt.hm_hp else None hp_offset = output['hp_offset'] if opt.reg_hp_offset else None dets = multi_pose_decode_wodet( output['hm'], output['wh'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets[:, :, :4] *= opt.input_res / opt.output_res dets[:, :, 5:39] *= opt.input_res / opt.output_res dets_gt = batch['meta']['gt_det'].numpy().reshape(1, -1, dets.shape[2]) dets_gt[:, :, :4] *= opt.input_res / opt.output_res dets_gt[:, :, 5:39] *= opt.input_res / opt.output_res for i in range(1): debugger = Debugger( dataset=opt.dataset, ipynb=(opt.debug==3), theme=opt.debugger_theme) img = batch['input'][i].detach().cpu().numpy().transpose(1, 2, 0) img = np.clip((( img * opt.std + opt.mean) * 255.), 0, 255).astype(np.uint8) pred = debugger.gen_colormap(output['hm'][i].detach().cpu().numpy()) gt = debugger.gen_colormap(batch['hm'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hm') debugger.add_blend_img(img, gt, 'gt_hm') debugger.add_img(img, img_id='out_pred') for k in range(len(dets[i])): if dets[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets[i, k, :4], dets[i, k, -1], dets[i, k, 4], img_id='out_pred') debugger.add_coco_hp(dets[i, k, 5:39], img_id='out_pred') debugger.add_img(img, img_id='out_gt') for k in range(len(dets_gt[i])): if dets_gt[i, k, 4] > opt.center_thresh: debugger.add_coco_bbox(dets_gt[i, k, :4], dets_gt[i, k, -1], dets_gt[i, k, 4], img_id='out_gt') debugger.add_coco_hp(dets_gt[i, k, 5:39], img_id='out_gt') if opt.hm_hp: pred = debugger.gen_colormap_hp(output['hm_hp'][i].detach().cpu().numpy()) gt = debugger.gen_colormap_hp(batch['hm_hp'][i].detach().cpu().numpy()) debugger.add_blend_img(img, pred, 'pred_hmhp') debugger.add_blend_img(img, gt, 'gt_hmhp') if opt.debug == 4: debugger.save_all_imgs(opt.debug_dir, prefix='{}'.format(iter_id)) else: debugger.show_all_imgs(pause=True) def save_result(self, output, batch, results): reg = output['reg'] if self.opt.reg_offset else None hm_hp = output['hm_hp'] if self.opt.hm_hp else None hp_offset = output['hp_offset'] if self.opt.reg_hp_offset else None dets = multi_pose_decode_wodet( output['hm'], output['hps'], reg=reg, hm_hp=hm_hp, hp_offset=hp_offset, K=self.opt.K) dets = dets.detach().cpu().numpy().reshape(1, -1, dets.shape[2]) dets_out = multi_pose_wodet_post_process( dets.copy(), batch['meta']['c'].cpu().numpy(), batch['meta']['s'].cpu().numpy(), output['hm'].shape[2], output['hm'].shape[3]) results[batch['meta']['img_id'].cpu().numpy()[0]] = dets_out[0] ## type(res) :dict ; dets_out[0]:{class_id:top_preds} top_pred:list len:100 len(top[])=39 ================================================ FILE: src/lib/trains/train_factory.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function # from .ctdet import CtdetTrainer # from .ddd import DddTrainer # from .exdet import ExdetTrainer # from .multi_pose import MultiPoseTrainer from .multi_pose_wodet import MultiPoseTrainer_wodet from .multi_pose_crowdpose import MultiPoseTrainer_crowdpose train_factory = { # 'exdet': ExdetTrainer, # 'ddd': DddTrainer, # 'ctdet': CtdetTrainer, # 'multi_pose': MultiPoseTrainer, 'multi_pose_wodet': MultiPoseTrainer_wodet, 'multi_pose_crowdpose': MultiPoseTrainer_crowdpose } ================================================ FILE: src/lib/utils/__init__.py ================================================ ================================================ FILE: src/lib/utils/ddd_utils.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import cv2 def compute_box_3d(dim, location, rotation_y): # dim: 3 # location: 3 # rotation_y: 1 # return: 8 x 3 c, s = np.cos(rotation_y), np.sin(rotation_y) R = np.array([[c, 0, s], [0, 1, 0], [-s, 0, c]], dtype=np.float32) l, w, h = dim[2], dim[1], dim[0] x_corners = [l/2, l/2, -l/2, -l/2, l/2, l/2, -l/2, -l/2] y_corners = [0,0,0,0,-h,-h,-h,-h] z_corners = [w/2, -w/2, -w/2, w/2, w/2, -w/2, -w/2, w/2] corners = np.array([x_corners, y_corners, z_corners], dtype=np.float32) corners_3d = np.dot(R, corners) corners_3d = corners_3d + np.array(location, dtype=np.float32).reshape(3, 1) return corners_3d.transpose(1, 0) def project_to_image(pts_3d, P): # pts_3d: n x 3 # P: 3 x 4 # return: n x 2 pts_3d_homo = np.concatenate( [pts_3d, np.ones((pts_3d.shape[0], 1), dtype=np.float32)], axis=1) pts_2d = np.dot(P, pts_3d_homo.transpose(1, 0)).transpose(1, 0) pts_2d = pts_2d[:, :2] / pts_2d[:, 2:] # import pdb; pdb.set_trace() return pts_2d def compute_orientation_3d(dim, location, rotation_y): # dim: 3 # location: 3 # rotation_y: 1 # return: 2 x 3 c, s = np.cos(rotation_y), np.sin(rotation_y) R = np.array([[c, 0, s], [0, 1, 0], [-s, 0, c]], dtype=np.float32) orientation_3d = np.array([[0, dim[2]], [0, 0], [0, 0]], dtype=np.float32) orientation_3d = np.dot(R, orientation_3d) orientation_3d = orientation_3d + \ np.array(location, dtype=np.float32).reshape(3, 1) return orientation_3d.transpose(1, 0) def draw_box_3d(image, corners, c=(0, 0, 255)): face_idx = [[0,1,5,4], [1,2,6, 5], [2,3,7,6], [3,0,4,7]] for ind_f in range(3, -1, -1): f = face_idx[ind_f] for j in range(4): cv2.line(image, (corners[f[j], 0], corners[f[j], 1]), (corners[f[(j+1)%4], 0], corners[f[(j+1)%4], 1]), c, 2, lineType=cv2.LINE_AA) if ind_f == 0: cv2.line(image, (corners[f[0], 0], corners[f[0], 1]), (corners[f[2], 0], corners[f[2], 1]), c, 1, lineType=cv2.LINE_AA) cv2.line(image, (corners[f[1], 0], corners[f[1], 1]), (corners[f[3], 0], corners[f[3], 1]), c, 1, lineType=cv2.LINE_AA) return image def unproject_2d_to_3d(pt_2d, depth, P): # pts_2d: 2 # depth: 1 # P: 3 x 4 # return: 3 z = depth - P[2, 3] x = (pt_2d[0] * depth - P[0, 3] - P[0, 2] * z) / P[0, 0] y = (pt_2d[1] * depth - P[1, 3] - P[1, 2] * z) / P[1, 1] pt_3d = np.array([x, y, z], dtype=np.float32) return pt_3d def alpha2rot_y(alpha, x, cx, fx): """ Get rotation_y by alpha + theta - 180 alpha : Observation angle of object, ranging [-pi..pi] x : Object center x to the camera center (x-W/2), in pixels rotation_y : Rotation ry around Y-axis in camera coordinates [-pi..pi] """ rot_y = alpha + np.arctan2(x - cx, fx) if rot_y > np.pi: rot_y -= 2 * np.pi if rot_y < -np.pi: rot_y += 2 * np.pi return rot_y def rot_y2alpha(rot_y, x, cx, fx): """ Get rotation_y by alpha + theta - 180 alpha : Observation angle of object, ranging [-pi..pi] x : Object center x to the camera center (x-W/2), in pixels rotation_y : Rotation ry around Y-axis in camera coordinates [-pi..pi] """ alpha = rot_y - np.arctan2(x - cx, fx) if alpha > np.pi: alpha -= 2 * np.pi if alpha < -np.pi: alpha += 2 * np.pi return alpha def ddd2locrot(center, alpha, dim, depth, calib): # single image locations = unproject_2d_to_3d(center, depth, calib) locations[1] += dim[0] / 2 rotation_y = alpha2rot_y(alpha, center[0], calib[0, 2], calib[0, 0]) return locations, rotation_y def project_3d_bbox(location, dim, rotation_y, calib): box_3d = compute_box_3d(dim, location, rotation_y) box_2d = project_to_image(box_3d, calib) return box_2d if __name__ == '__main__': calib = np.array( [[7.070493000000e+02, 0.000000000000e+00, 6.040814000000e+02, 4.575831000000e+01], [0.000000000000e+00, 7.070493000000e+02, 1.805066000000e+02, -3.454157000000e-01], [0.000000000000e+00, 0.000000000000e+00, 1.000000000000e+00, 4.981016000000e-03]], dtype=np.float32) alpha = -0.20 tl = np.array([712.40, 143.00], dtype=np.float32) br = np.array([810.73, 307.92], dtype=np.float32) ct = (tl + br) / 2 rotation_y = 0.01 print('alpha2rot_y', alpha2rot_y(alpha, ct[0], calib[0, 2], calib[0, 0])) print('rotation_y', rotation_y) ================================================ FILE: src/lib/utils/debugger.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import cv2 from .ddd_utils import compute_box_3d, project_to_image, draw_box_3d class Debugger(object): def __init__(self, ipynb=False, theme='black', num_classes=-1, dataset=None, down_ratio=4): self.ipynb = ipynb if not self.ipynb: import matplotlib.pyplot as plt self.plt = plt self.imgs = {} self.theme = theme colors = [(color_list[_]).astype(np.uint8) \ for _ in range(len(color_list))] self.colors = np.array(colors, dtype=np.uint8).reshape(len(colors), 1, 1, 3) if self.theme == 'white': self.colors = self.colors.reshape(-1)[::-1].reshape(len(colors), 1, 1, 3) self.colors = np.clip(self.colors, 0., 0.6 * 255).astype(np.uint8) self.dim_scale = 1 if dataset == 'coco_hp': self.names = ['p'] self.num_class = 1 self.num_joints = 17 self.edges = [[0, 1], [0, 2], [1, 3], [2, 4], [3, 5], [4, 6], [5, 6], [5, 7], [7, 9], [6, 8], [8, 10], [5, 11], [6, 12], [11, 12], [11, 13], [13, 15], [12, 14], [14, 16]] self.ec = [(255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 255), (255, 0, 0), (255, 0, 0), (0, 0, 255), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 255), (255, 0, 0), (255, 0, 0), (0, 0, 255), (0, 0, 255)] self.colors_hp = [(255, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255), (255, 0, 0), (0, 0, 255)] if dataset == 'coco_hp_wodet': self.names = ['p'] self.num_class = 1 self.num_joints = 17 self.edges = [[0, 1], [0, 2], [1, 3], [2, 4], [5, 6], #[3, 5], [4, 6], [5, 6], [5, 7], [7, 9], [6, 8], [8, 10], [5, 11], [6, 12], [11, 13], [13, 15], [12, 14], [14, 16]] self.adapt_point = [(255, 255, 255), (0, 255, 255), (80, 176, 0), (113, 113, 118), (0, 192, 255), (213, 155, 91), (0, 0, 255), (255, 0, 255)] # self.colors_hp = [(0, 255, 255), (0, 191, 255), (0, 255, 102), (0, 77, 255), (0, 255, 0), # Nose, LEye, REye, LEar, REar # (77, 255, 255), (77, 255, 204), (77, 204, 255), (191, 255, 77), (77, 191, 255), (191, 255, 77), # LShoulder, RShoulder, LElbow, RElbow, LWrist, RWrist # (204, 77, 255), (77, 255, 204), (191, 77, 255), (77, 255, 191), (127, 77, 255), (77, 255, 127), (0, 255, 255)] # LHip, RHip, LKnee, Rknee, LAnkle, RAnkle, Neck # self.ec = [(0, 215, 255), (0, 255, 204), (0, 134, 255), (0, 255, 50), # (77, 255, 222), (77, 196, 255), (77, 135, 255), (191, 255, 77), (77, 255, 77), # (77, 222, 255), (255, 156, 127), # (0, 127, 255), (255, 127, 77), (0, 77, 255), (255, 77, 36),(77, 255, 204),(77, 255, 191),(204, 77, 255)] self.ec = [(255,40, 0), (255,40, 0), (255,40, 0), (255,40, 0), (255,40, 0), (66, 255, 0), (66, 255, 0), (255, 255, 0),(255, 255, 0), (255, 0, 255), (60, 223, 255), (255, 0, 255), (255, 0, 255), (60, 223, 255), (60, 223, 255)] self.colors_hp = [(255,40, 0), (255,40, 0), (255,40, 0), (255,40, 0), (255,40, 0), (255,40, 0), (255,40, 0), (66, 255, 0), (255, 255, 0), (66, 255, 0), (255, 255, 0), (255, 0, 255), (60, 223, 255), (255, 0, 255), (60, 223, 255), (255, 0, 255), (60, 223, 255)] elif dataset == 'crowdpose': self.names = ['p'] self.edges = [[13,1], [0,2], [0,13], [13,12], [2,4], [1,3], [3,5], [6,7], [6,8], [8,10], [7,9], [9,11]] elif num_classes == 80 or dataset == 'coco': self.names = coco_class_name elif num_classes == 20 or dataset == 'pascal': self.names = pascal_class_name elif dataset == 'gta': self.names = gta_class_name self.focal_length = 935.3074360871937 self.W = 1920 self.H = 1080 self.dim_scale = 3 elif dataset == 'viper': self.names = gta_class_name self.focal_length = 1158 self.W = 1920 self.H = 1080 self.dim_scale = 3 elif num_classes == 3 or dataset == 'kitti': self.names = kitti_class_name self.focal_length = 721.5377 self.W = 1242 self.H = 375 num_classes = len(self.names) self.down_ratio=down_ratio # for bird view self.world_size = 64 self.out_size = 384 def add_img(self, img, img_id='default', revert_color=False): if revert_color: img = 255 - img self.imgs[img_id] = img.copy() def add_mask(self, mask, bg, imgId = 'default', trans = 0.8): self.imgs[imgId] = (mask.reshape( mask.shape[0], mask.shape[1], 1) * 255 * trans + \ bg * (1 - trans)).astype(np.uint8) def show_img(self, pause = False, imgId = 'default'): cv2.imshow('{}'.format(imgId), self.imgs[imgId]) if pause: cv2.waitKey() def add_blend_img(self, back, fore, img_id='blend', trans=0.7): if self.theme == 'white': fore = 255 - fore if fore.shape[0] != back.shape[0] or fore.shape[0] != back.shape[1]: fore = cv2.resize(fore, (back.shape[1], back.shape[0])) if len(fore.shape) == 2: fore = fore.reshape(fore.shape[0], fore.shape[1], 1) self.imgs[img_id] = (back * (1. - trans) + fore * trans) self.imgs[img_id][self.imgs[img_id] > 255] = 255 self.imgs[img_id][self.imgs[img_id] < 0] = 0 self.imgs[img_id] = self.imgs[img_id].astype(np.uint8).copy() ''' # slow version def gen_colormap(self, img, output_res=None): # num_classes = len(self.colors) img[img < 0] = 0 h, w = img.shape[1], img.shape[2] if output_res is None: output_res = (h * self.down_ratio, w * self.down_ratio) color_map = np.zeros((output_res[0], output_res[1], 3), dtype=np.uint8) for i in range(img.shape[0]): resized = cv2.resize(img[i], (output_res[1], output_res[0])) resized = resized.reshape(output_res[0], output_res[1], 1) cl = self.colors[i] if not (self.theme == 'white') \ else 255 - self.colors[i] color_map = np.maximum(color_map, (resized * cl).astype(np.uint8)) return color_map ''' def gen_colormap(self, img, output_res=None): img = img.copy() c, h, w = img.shape[0], img.shape[1], img.shape[2] if output_res is None: output_res = (h * self.down_ratio, w * self.down_ratio) img = img.transpose(1, 2, 0).reshape(h, w, c, 1).astype(np.float32) colors = np.array( self.colors, dtype=np.float32).reshape(-1, 3)[:c].reshape(1, 1, c, 3) if self.theme == 'white': colors = 255 - colors color_map = (img * colors).max(axis=2).astype(np.uint8) color_map = cv2.resize(color_map, (output_res[0], output_res[1])) return color_map ''' # slow def gen_colormap_hp(self, img, output_res=None): # num_classes = len(self.colors) # img[img < 0] = 0 h, w = img.shape[1], img.shape[2] if output_res is None: output_res = (h * self.down_ratio, w * self.down_ratio) color_map = np.zeros((output_res[0], output_res[1], 3), dtype=np.uint8) for i in range(img.shape[0]): resized = cv2.resize(img[i], (output_res[1], output_res[0])) resized = resized.reshape(output_res[0], output_res[1], 1) cl = self.colors_hp[i] if not (self.theme == 'white') else \ (255 - np.array(self.colors_hp[i])) color_map = np.maximum(color_map, (resized * cl).astype(np.uint8)) return color_map ''' def gen_colormap_hp(self, img, output_res=None): c, h, w = img.shape[0], img.shape[1], img.shape[2] if output_res is None: output_res = (h * self.down_ratio, w * self.down_ratio) img = img.transpose(1, 2, 0).reshape(h, w, c, 1).astype(np.float32) colors = np.array( self.colors_hp, dtype=np.float32).reshape(-1, 3)[:c].reshape(1, 1, c, 3) if self.theme == 'white': colors = 255 - colors color_map = (img * colors).max(axis=2).astype(np.uint8) color_map = cv2.resize(color_map, (output_res[0], output_res[1])) return color_map def add_rect(self, rect1, rect2, c, conf=1, img_id='default'): cv2.rectangle( self.imgs[img_id], (rect1[0], rect1[1]), (rect2[0], rect2[1]), c, 2) if conf < 1: cv2.circle(self.imgs[img_id], (rect1[0], rect1[1]), int(10 * conf), c, 1) cv2.circle(self.imgs[img_id], (rect2[0], rect2[1]), int(10 * conf), c, 1) cv2.circle(self.imgs[img_id], (rect1[0], rect2[1]), int(10 * conf), c, 1) cv2.circle(self.imgs[img_id], (rect2[0], rect1[1]), int(10 * conf), c, 1) def add_coco_bbox(self, bbox, cat, conf=1, show_txt=True, img_id='default'): bbox = np.array(bbox, dtype=np.int32) # cat = (int(cat) + 1) % 80 cat = int(cat) # print('cat', cat, self.names[cat]) c = self.colors[cat][0][0].tolist() if self.theme == 'white': c = (255 - np.array(c)).tolist() txt = '{}{:.1f}'.format(self.names[cat], conf) font = cv2.FONT_HERSHEY_SIMPLEX cat_size = cv2.getTextSize(txt, font, 0.5, 2)[0] cv2.rectangle( self.imgs[img_id], (bbox[0], bbox[1]), (bbox[2], bbox[3]), c, 2) if show_txt: cv2.rectangle(self.imgs[img_id], (bbox[0], bbox[1] - cat_size[1] - 2), (bbox[0] + cat_size[0], bbox[1] - 2), c, -1) cv2.putText(self.imgs[img_id], txt, (bbox[0], bbox[1] - 2), font, 0.5, (0, 0, 0), thickness=1, lineType=cv2.LINE_AA) # def add_coco_hp(self, points, img_id='default'): # points = np.array(points, dtype=np.int32).reshape(self.num_joints, 2) # for j in range(self.num_joints): # cv2.circle(self.imgs[img_id], # (points[j, 0], points[j, 1]), 3, self.colors_hp[j], -1) # for j, e in enumerate(self.edges): # if points[e].min() > 0: # cv2.line(self.imgs[img_id], (points[e[0], 0], points[e[0], 1]), # (points[e[1], 0], points[e[1], 1]), self.ec[j], 2, # lineType=cv2.LINE_AA) def add_coco_hp_with_ap(self, points, adapt_pts, save_path, img_name, img_id='default', vis_adapt_pts=False, is_video=False): points = np.array(points, dtype=np.int32).reshape(self.num_joints, 2) adapt_pts = np.array(adapt_pts, dtype=np.int32).reshape(8, 2) if vis_adapt_pts: for j in range(8): if j == 0: cv2.circle(self.imgs[img_id], (adapt_pts[j, 0], adapt_pts[j, 1]), 4, self.adapt_point[j], -1) else: # continue cv2.circle(self.imgs[img_id], (adapt_pts[j, 0], adapt_pts[j, 1]), 3, self.adapt_point[j], -1) if not is_video: self.save_img(imgId=img_id, save_path=save_path, img_name=img_name) for j, e in enumerate(self.edges): if points[e].min() > 0: cv2.line(self.imgs[img_id], (points[e[0], 0], points[e[0], 1]), (points[e[1], 0], points[e[1], 1]), self.ec[j], 3, lineType=cv2.LINE_AA) for j in range(self.num_joints): cv2.circle(self.imgs[img_id], (points[j, 0], points[j, 1]), 3 , (0,0,0), 4) cv2.circle(self.imgs[img_id], (points[j, 0], points[j, 1]), 3, self.colors_hp[j], -1) if not is_video: self.save_img(imgId=img_id, save_path=save_path, img_name=img_name) return self.imgs[img_id] def show_all_imgs(self, pause=False, time=0): if not self.ipynb: for i, v in self.imgs.items(): cv2.imshow('{}'.format(i), v) if cv2.waitKey(0 if pause else 1) == 27: import sys sys.exit(0) else: self.ax = None nImgs = len(self.imgs) fig=self.plt.figure(figsize=(nImgs * 10,10)) nCols = nImgs nRows = nImgs // nCols for i, (k, v) in enumerate(self.imgs.items()): fig.add_subplot(1, nImgs, i + 1) if len(v.shape) == 3: self.plt.imshow(cv2.cvtColor(v, cv2.COLOR_BGR2RGB)) else: self.plt.imshow(v) self.plt.show() # def save_img(self, imgId='default', path='./cache/debug/',img_path='1'): # cv2.imwrite(path + '{}.jpg'.format(img_path), self.imgs[imgId]) def save_img(self, imgId='default', save_path='./cache/debug/',img_name='1'): # import pudb;pudb.set_trace() cv2.imwrite(save_path + img_name, self.imgs[imgId]) def save_all_imgs(self, path='./cache/debug/', prefix='', genID=False): if genID: try: idx = int(np.loadtxt(path + '/id.txt')) except: idx = 0 prefix=idx np.savetxt(path + '/id.txt', np.ones(1) * (idx + 1), fmt='%d') for i, v in self.imgs.items(): cv2.imwrite(path + '/{}{}.png'.format(prefix, i), v) def remove_side(self, img_id, img): if not (img_id in self.imgs): return ws = img.sum(axis=2).sum(axis=0) l = 0 while ws[l] == 0 and l < len(ws): l+= 1 r = ws.shape[0] - 1 while ws[r] == 0 and r > 0: r -= 1 hs = img.sum(axis=2).sum(axis=1) t = 0 while hs[t] == 0 and t < len(hs): t += 1 b = hs.shape[0] - 1 while hs[b] == 0 and b > 0: b -= 1 self.imgs[img_id] = self.imgs[img_id][t:b+1, l:r+1].copy() def project_3d_to_bird(self, pt): pt[0] += self.world_size / 2 pt[1] = self.world_size - pt[1] pt = pt * self.out_size / self.world_size return pt.astype(np.int32) def add_ct_detection( self, img, dets, show_box=False, show_txt=True, center_thresh=0.5, img_id='det'): # dets: max_preds x 5 self.imgs[img_id] = img.copy() if type(dets) == type({}): for cat in dets: for i in range(len(dets[cat])): if dets[cat][i, 2] > center_thresh: cl = (self.colors[cat, 0, 0]).tolist() ct = dets[cat][i, :2].astype(np.int32) if show_box: w, h = dets[cat][i, -2], dets[cat][i, -1] x, y = dets[cat][i, 0], dets[cat][i, 1] bbox = np.array([x - w / 2, y - h / 2, x + w / 2, y + h / 2], dtype=np.float32) self.add_coco_bbox( bbox, cat - 1, dets[cat][i, 2], show_txt=show_txt, img_id=img_id) else: for i in range(len(dets)): if dets[i, 2] > center_thresh: # print('dets', dets[i]) cat = int(dets[i, -1]) cl = (self.colors[cat, 0, 0] if self.theme == 'black' else \ 255 - self.colors[cat, 0, 0]).tolist() ct = dets[i, :2].astype(np.int32) * self.down_ratio cv2.circle(self.imgs[img_id], (ct[0], ct[1]), 3, cl, -1) if show_box: w, h = dets[i, -3] * self.down_ratio, dets[i, -2] * self.down_ratio x, y = dets[i, 0] * self.down_ratio, dets[i, 1] * self.down_ratio bbox = np.array([x - w / 2, y - h / 2, x + w / 2, y + h / 2], dtype=np.float32) self.add_coco_bbox(bbox, dets[i, -1], dets[i, 2], img_id=img_id) def add_3d_detection( self, image_or_path, dets, calib, show_txt=False, center_thresh=0.5, img_id='det'): if isinstance(image_or_path, np.ndarray): self.imgs[img_id] = image_or_path else: self.imgs[img_id] = cv2.imread(image_or_path) for cat in dets: for i in range(len(dets[cat])): cl = (self.colors[cat - 1, 0, 0]).tolist() if dets[cat][i, -1] > center_thresh: dim = dets[cat][i, 5:8] loc = dets[cat][i, 8:11] rot_y = dets[cat][i, 11] # loc[1] = loc[1] - dim[0] / 2 + dim[0] / 2 / self.dim_scale # dim = dim / self.dim_scale if loc[2] > 1: box_3d = compute_box_3d(dim, loc, rot_y) box_2d = project_to_image(box_3d, calib) self.imgs[img_id] = draw_box_3d(self.imgs[img_id], box_2d, cl) def compose_vis_add( self, img_path, dets, calib, center_thresh, pred, bev, img_id='out'): self.imgs[img_id] = cv2.imread(img_path) # h, w = self.imgs[img_id].shape[:2] # pred = cv2.resize(pred, (h, w)) h, w = pred.shape[:2] hs, ws = self.imgs[img_id].shape[0] / h, self.imgs[img_id].shape[1] / w self.imgs[img_id] = cv2.resize(self.imgs[img_id], (w, h)) self.add_blend_img(self.imgs[img_id], pred, img_id) for cat in dets: for i in range(len(dets[cat])): cl = (self.colors[cat - 1, 0, 0]).tolist() if dets[cat][i, -1] > center_thresh: dim = dets[cat][i, 5:8] loc = dets[cat][i, 8:11] rot_y = dets[cat][i, 11] # loc[1] = loc[1] - dim[0] / 2 + dim[0] / 2 / self.dim_scale # dim = dim / self.dim_scale if loc[2] > 1: box_3d = compute_box_3d(dim, loc, rot_y) box_2d = project_to_image(box_3d, calib) box_2d[:, 0] /= hs box_2d[:, 1] /= ws self.imgs[img_id] = draw_box_3d(self.imgs[img_id], box_2d, cl) self.imgs[img_id] = np.concatenate( [self.imgs[img_id], self.imgs[bev]], axis=1) def add_2d_detection( self, img, dets, show_box=False, show_txt=True, center_thresh=0.5, img_id='det'): self.imgs[img_id] = img for cat in dets: for i in range(len(dets[cat])): cl = (self.colors[cat - 1, 0, 0]).tolist() if dets[cat][i, -1] > center_thresh: bbox = dets[cat][i, 1:5] self.add_coco_bbox( bbox, cat - 1, dets[cat][i, -1], show_txt=show_txt, img_id=img_id) def add_bird_view(self, dets, center_thresh=0.3, img_id='bird'): bird_view = np.ones((self.out_size, self.out_size, 3), dtype=np.uint8) * 230 for cat in dets: cl = (self.colors[cat - 1, 0, 0]).tolist() lc = (250, 152, 12) for i in range(len(dets[cat])): if dets[cat][i, -1] > center_thresh: dim = dets[cat][i, 5:8] loc = dets[cat][i, 8:11] rot_y = dets[cat][i, 11] rect = compute_box_3d(dim, loc, rot_y)[:4, [0, 2]] for k in range(4): rect[k] = self.project_3d_to_bird(rect[k]) # cv2.circle(bird_view, (rect[k][0], rect[k][1]), 2, lc, -1) cv2.polylines( bird_view,[rect.reshape(-1, 1, 2).astype(np.int32)], True,lc,2,lineType=cv2.LINE_AA) for e in [[0, 1]]: t = 4 if e == [0, 1] else 1 cv2.line(bird_view, (rect[e[0]][0], rect[e[0]][1]), (rect[e[1]][0], rect[e[1]][1]), lc, t, lineType=cv2.LINE_AA) self.imgs[img_id] = bird_view def add_bird_views(self, dets_dt, dets_gt, center_thresh=0.3, img_id='bird'): alpha = 0.5 bird_view = np.ones((self.out_size, self.out_size, 3), dtype=np.uint8) * 230 for ii, (dets, lc, cc) in enumerate( [(dets_gt, (12, 49, 250), (0, 0, 255)), (dets_dt, (250, 152, 12), (255, 0, 0))]): # cc = np.array(lc, dtype=np.uint8).reshape(1, 1, 3) for cat in dets: cl = (self.colors[cat - 1, 0, 0]).tolist() for i in range(len(dets[cat])): if dets[cat][i, -1] > center_thresh: dim = dets[cat][i, 5:8] loc = dets[cat][i, 8:11] rot_y = dets[cat][i, 11] rect = compute_box_3d(dim, loc, rot_y)[:4, [0, 2]] for k in range(4): rect[k] = self.project_3d_to_bird(rect[k]) if ii == 0: cv2.fillPoly( bird_view,[rect.reshape(-1, 1, 2).astype(np.int32)], lc,lineType=cv2.LINE_AA) else: cv2.polylines( bird_view,[rect.reshape(-1, 1, 2).astype(np.int32)], True,lc,2,lineType=cv2.LINE_AA) # for e in [[0, 1], [1, 2], [2, 3], [3, 0]]: for e in [[0, 1]]: t = 4 if e == [0, 1] else 1 cv2.line(bird_view, (rect[e[0]][0], rect[e[0]][1]), (rect[e[1]][0], rect[e[1]][1]), lc, t, lineType=cv2.LINE_AA) self.imgs[img_id] = bird_view kitti_class_name = [ 'p', 'v', 'b' ] gta_class_name = [ 'p', 'v' ] pascal_class_name = ["aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"] coco_class_name = [ 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush' ] color_list = np.array( [ 1.000, 1.000, 1.000, 0.850, 0.325, 0.098, 0.929, 0.694, 0.125, 0.494, 0.184, 0.556, 0.466, 0.674, 0.188, 0.301, 0.745, 0.933, 0.635, 0.078, 0.184, 0.300, 0.300, 0.300, 0.600, 0.600, 0.600, 1.000, 0.000, 0.000, 1.000, 0.500, 0.000, 0.749, 0.749, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 1.000, 0.667, 0.000, 1.000, 0.333, 0.333, 0.000, 0.333, 0.667, 0.000, 0.333, 1.000, 0.000, 0.667, 0.333, 0.000, 0.667, 0.667, 0.000, 0.667, 1.000, 0.000, 1.000, 0.333, 0.000, 1.000, 0.667, 0.000, 1.000, 1.000, 0.000, 0.000, 0.333, 0.500, 0.000, 0.667, 0.500, 0.000, 1.000, 0.500, 0.333, 0.000, 0.500, 0.333, 0.333, 0.500, 0.333, 0.667, 0.500, 0.333, 1.000, 0.500, 0.667, 0.000, 0.500, 0.667, 0.333, 0.500, 0.667, 0.667, 0.500, 0.667, 1.000, 0.500, 1.000, 0.000, 0.500, 1.000, 0.333, 0.500, 1.000, 0.667, 0.500, 1.000, 1.000, 0.500, 0.000, 0.333, 1.000, 0.000, 0.667, 1.000, 0.000, 1.000, 1.000, 0.333, 0.000, 1.000, 0.333, 0.333, 1.000, 0.333, 0.667, 1.000, 0.333, 1.000, 1.000, 0.667, 0.000, 1.000, 0.667, 0.333, 1.000, 0.667, 0.667, 1.000, 0.667, 1.000, 1.000, 1.000, 0.000, 1.000, 1.000, 0.333, 1.000, 1.000, 0.667, 1.000, 0.167, 0.000, 0.000, 0.333, 0.000, 0.000, 0.500, 0.000, 0.000, 0.667, 0.000, 0.000, 0.833, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 0.167, 0.000, 0.000, 0.333, 0.000, 0.000, 0.500, 0.000, 0.000, 0.667, 0.000, 0.000, 0.833, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 0.167, 0.000, 0.000, 0.333, 0.000, 0.000, 0.500, 0.000, 0.000, 0.667, 0.000, 0.000, 0.833, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 0.143, 0.143, 0.143, 0.286, 0.286, 0.286, 0.429, 0.429, 0.429, 0.571, 0.571, 0.571, 0.714, 0.714, 0.714, 0.857, 0.857, 0.857, 0.000, 0.447, 0.741, 0.50, 0.5, 0 ] ).astype(np.float32) color_list = color_list.reshape((-1, 3)) * 255 ================================================ FILE: src/lib/utils/image.py ================================================ # ------------------------------------------------------------------------------ # Copyright (c) Microsoft # Licensed under the MIT License. # Written by Bin Xiao (Bin.Xiao@microsoft.com) # Modified by Xingyi Zhou # ------------------------------------------------------------------------------ from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import cv2 import random def flip(img): return img[:, :, ::-1].copy() 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): scale = np.array([scale, scale], dtype=np.float32) scale_tmp = scale 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], np.float32) + 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.], dtype=np.float32).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 def gaussian_radius(det_size, min_overlap=0.7): height, width = det_size a1 = 1 b1 = (height + width) c1 = width * height * (1 - min_overlap) / (1 + min_overlap) sq1 = np.sqrt(b1 ** 2 - 4 * a1 * c1) r1 = (b1 + sq1) / 2 a2 = 4 b2 = 2 * (height + width) c2 = (1 - min_overlap) * width * height sq2 = np.sqrt(b2 ** 2 - 4 * a2 * c2) r2 = (b2 + sq2) / 2 a3 = 4 * min_overlap b3 = -2 * min_overlap * (height + width) c3 = (min_overlap - 1) * width * height sq3 = np.sqrt(b3 ** 2 - 4 * a3 * c3) r3 = (b3 + sq3) / 2 return min(r1, r2, r3) def gaussian2D(shape, sigma=1): m, n = [(ss - 1.) / 2. for ss in shape] y, x = np.ogrid[-m:m+1,-n:n+1] h = np.exp(-(x * x + y * y) / (2 * sigma * sigma)) h[h < np.finfo(h.dtype).eps * h.max()] = 0 return h def draw_umich_gaussian(heatmap, center, radius, k=1): diameter = 2 * radius + 1 gaussian = gaussian2D((diameter, diameter), sigma=diameter / 6) x, y = int(center[0]), int(center[1]) height, width = heatmap.shape[0:2] left, right = min(x, radius), min(width - x, radius + 1) top, bottom = min(y, radius), min(height - y, radius + 1) masked_heatmap = heatmap[y - top:y + bottom, x - left:x + right] masked_gaussian = gaussian[radius - top:radius + bottom, radius - left:radius + right] if min(masked_gaussian.shape) > 0 and min(masked_heatmap.shape) > 0: # TODO debug np.maximum(masked_heatmap, masked_gaussian * k, out=masked_heatmap) return heatmap def draw_dense_reg(regmap, heatmap, center, value, radius, is_offset=False): diameter = 2 * radius + 1 gaussian = gaussian2D((diameter, diameter), sigma=diameter / 6) value = np.array(value, dtype=np.float32).reshape(-1, 1, 1) dim = value.shape[0] reg = np.ones((dim, diameter*2+1, diameter*2+1), dtype=np.float32) * value if is_offset and dim == 2: delta = np.arange(diameter*2+1) - radius reg[0] = reg[0] - delta.reshape(1, -1) reg[1] = reg[1] - delta.reshape(-1, 1) x, y = int(center[0]), int(center[1]) height, width = heatmap.shape[0:2] left, right = min(x, radius), min(width - x, radius + 1) top, bottom = min(y, radius), min(height - y, radius + 1) masked_heatmap = heatmap[y - top:y + bottom, x - left:x + right] masked_regmap = regmap[:, y - top:y + bottom, x - left:x + right] masked_gaussian = gaussian[radius - top:radius + bottom, radius - left:radius + right] masked_reg = reg[:, radius - top:radius + bottom, radius - left:radius + right] if min(masked_gaussian.shape) > 0 and min(masked_heatmap.shape) > 0: # TODO debug idx = (masked_gaussian >= masked_heatmap).reshape( 1, masked_gaussian.shape[0], masked_gaussian.shape[1]) masked_regmap = (1-idx) * masked_regmap + idx * masked_reg regmap[:, y - top:y + bottom, x - left:x + right] = masked_regmap return regmap def draw_msra_gaussian(heatmap, center, sigma): tmp_size = sigma * 3 mu_x = int(center[0] + 0.5) mu_y = int(center[1] + 0.5) w, h = heatmap.shape[0], heatmap.shape[1] 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] >= h or ul[1] >= w or br[0] < 0 or br[1] < 0: return heatmap size = 2 * tmp_size + 1 x = np.arange(0, size, 1, np.float32) y = x[:, np.newaxis] x0 = y0 = size // 2 g = np.exp(- ((x - x0) ** 2 + (y - y0) ** 2) / (2 * sigma ** 2)) g_x = max(0, -ul[0]), min(br[0], h) - ul[0] g_y = max(0, -ul[1]), min(br[1], w) - ul[1] img_x = max(0, ul[0]), min(br[0], h) img_y = max(0, ul[1]), min(br[1], w) heatmap[img_y[0]:img_y[1], img_x[0]:img_x[1]] = np.maximum( heatmap[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]]) return heatmap def grayscale(image): return cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) def lighting_(data_rng, image, alphastd, eigval, eigvec): alpha = data_rng.normal(scale=alphastd, size=(3, )) image += np.dot(eigvec, eigval * alpha) def blend_(alpha, image1, image2): image1 *= alpha image2 *= (1 - alpha) image1 += image2 def saturation_(data_rng, image, gs, gs_mean, var): alpha = 1. + data_rng.uniform(low=-var, high=var) blend_(alpha, image, gs[:, :, None]) def brightness_(data_rng, image, gs, gs_mean, var): alpha = 1. + data_rng.uniform(low=-var, high=var) image *= alpha def contrast_(data_rng, image, gs, gs_mean, var): alpha = 1. + data_rng.uniform(low=-var, high=var) blend_(alpha, image, gs_mean) def color_aug(data_rng, image, eig_val, eig_vec): functions = [brightness_, contrast_, saturation_] random.shuffle(functions) gs = grayscale(image) gs_mean = gs.mean() for f in functions: f(data_rng, image, gs, gs_mean, 0.4) lighting_(data_rng, image, 0.1, eig_val, eig_vec) ================================================ FILE: src/lib/utils/oracle_utils.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import numba @numba.jit(nopython=True, nogil=True) def gen_oracle_map(feat, ind, w, h): # feat: B x maxN x featDim # ind: B x maxN batch_size = feat.shape[0] max_objs = feat.shape[1] feat_dim = feat.shape[2] out = np.zeros((batch_size, feat_dim, h, w), dtype=np.float32) vis = np.zeros((batch_size, h, w), dtype=np.uint8) ds = [(0, 1), (0, -1), (1, 0), (-1, 0)] for i in range(batch_size): queue_ind = np.zeros((h*w*2, 2), dtype=np.int32) queue_feat = np.zeros((h*w*2, feat_dim), dtype=np.float32) head, tail = 0, 0 for j in range(max_objs): if ind[i][j] > 0: x, y = ind[i][j] % w, ind[i][j] // w out[i, :, y, x] = feat[i][j] vis[i, y, x] = 1 queue_ind[tail] = x, y queue_feat[tail] = feat[i][j] tail += 1 while tail - head > 0: x, y = queue_ind[head] f = queue_feat[head] head += 1 for (dx, dy) in ds: xx, yy = x + dx, y + dy if xx >= 0 and yy >= 0 and xx < w and yy < h and vis[i, yy, xx] < 1: out[i, :, yy, xx] = f vis[i, yy, xx] = 1 queue_ind[tail] = xx, yy queue_feat[tail] = f tail += 1 return out ================================================ FILE: src/lib/utils/post_process.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np from .image import transform_preds from .ddd_utils import ddd2locrot def get_pred_depth(depth): return depth def get_alpha(rot): # output: (B, 8) [bin1_cls[0], bin1_cls[1], bin1_sin, bin1_cos, # bin2_cls[0], bin2_cls[1], bin2_sin, bin2_cos] # return rot[:, 0] idx = rot[:, 1] > rot[:, 5] alpha1 = np.arctan(rot[:, 2] / rot[:, 3]) + (-0.5 * np.pi) alpha2 = np.arctan(rot[:, 6] / rot[:, 7]) + ( 0.5 * np.pi) return alpha1 * idx + alpha2 * (1 - idx) def ddd_post_process_2d(dets, c, s, opt): # dets: batch x max_dets x dim # return 1-based class det list ret = [] include_wh = dets.shape[2] > 16 for i in range(dets.shape[0]): top_preds = {} dets[i, :, :2] = transform_preds( dets[i, :, 0:2], c[i], s[i], (opt.output_w, opt.output_h)) classes = dets[i, :, -1] for j in range(opt.num_classes): inds = (classes == j) top_preds[j + 1] = np.concatenate([ dets[i, inds, :3].astype(np.float32), get_alpha(dets[i, inds, 3:11])[:, np.newaxis].astype(np.float32), get_pred_depth(dets[i, inds, 11:12]).astype(np.float32), dets[i, inds, 12:15].astype(np.float32)], axis=1) if include_wh: top_preds[j + 1] = np.concatenate([ top_preds[j + 1], transform_preds( dets[i, inds, 15:17], c[i], s[i], (opt.output_w, opt.output_h)) .astype(np.float32)], axis=1) ret.append(top_preds) return ret def ddd_post_process_3d(dets, calibs): # dets: batch x max_dets x dim # return 1-based class det list ret = [] for i in range(len(dets)): preds = {} for cls_ind in dets[i].keys(): preds[cls_ind] = [] for j in range(len(dets[i][cls_ind])): center = dets[i][cls_ind][j][:2] score = dets[i][cls_ind][j][2] alpha = dets[i][cls_ind][j][3] depth = dets[i][cls_ind][j][4] dimensions = dets[i][cls_ind][j][5:8] wh = dets[i][cls_ind][j][8:10] locations, rotation_y = ddd2locrot( center, alpha, dimensions, depth, calibs[0]) bbox = [center[0] - wh[0] / 2, center[1] - wh[1] / 2, center[0] + wh[0] / 2, center[1] + wh[1] / 2] pred = [alpha] + bbox + dimensions.tolist() + \ locations.tolist() + [rotation_y, score] preds[cls_ind].append(pred) preds[cls_ind] = np.array(preds[cls_ind], dtype=np.float32) ret.append(preds) return ret def ddd_post_process(dets, c, s, calibs, opt): # dets: batch x max_dets x dim # return 1-based class det list dets = ddd_post_process_2d(dets, c, s, opt) dets = ddd_post_process_3d(dets, calibs) return dets def ctdet_post_process(dets, c, s, h, w, num_classes): # dets: batch x max_dets x dim # return 1-based class det dict ret = [] for i in range(dets.shape[0]): top_preds = {} dets[i, :, :2] = transform_preds( dets[i, :, 0:2], c[i], s[i], (w, h)) dets[i, :, 2:4] = transform_preds( dets[i, :, 2:4], c[i], s[i], (w, h)) classes = dets[i, :, -1] for j in range(num_classes): inds = (classes == j) top_preds[j + 1] = np.concatenate([ dets[i, inds, :4].astype(np.float32), dets[i, inds, 4:5].astype(np.float32)], axis=1).tolist() ret.append(top_preds) return ret def multi_pose_post_process(dets, c, s, h, w): # dets: batch x max_dets x 40 # return list of 39 in image coord ret = [] for i in range(dets.shape[0]): bbox = transform_preds(dets[i, :, :4].reshape(-1, 2), c[i], s[i], (w, h)) pts = transform_preds(dets[i, :, 5:39].reshape(-1, 2), c[i], s[i], (w, h)) top_preds = np.concatenate( [bbox.reshape(-1, 4), dets[i, :, 4:5], pts.reshape(-1, 34)], axis=1).astype(np.float32).tolist() ret.append({np.ones(1, dtype=np.int32)[0]: top_preds}) return ret def multi_pose_wodet_post_process(dets, c, s, h, w): # dets: batch x max_dets x 40 # return list of 39 in image coord ret = [] for i in range(dets.shape[0]): #bbox = transform_preds(dets[i, :, :4].reshape(-1, 2), c[i], s[i], (w, h)) pts = transform_preds(dets[i, :, 1:35].reshape(-1, 2), c[i], s[i], (w, h)) top_preds = np.concatenate( [dets[i, :, 0:1], pts.reshape(-1, 34)], axis=1).astype(np.float32).tolist() ret.append({np.ones(1, dtype=np.int32)[0]: top_preds}) return ret def multi_pose_crowdpose_post_process(dets, c, s, h, w): # dets: batch x max_dets x 40 # return list of 39 in image coord ret = [] for i in range(dets.shape[0]): #bbox = transform_preds(dets[i, :, :4].reshape(-1, 2), c[i], s[i], (w, h)) pts = transform_preds(dets[i, :, 1:29].reshape(-1, 2), c[i], s[i], (w, h)) top_preds = np.concatenate( [dets[i, :, 0:1], pts.reshape(-1, 28)], axis=1).astype(np.float32).tolist() ret.append({np.ones(1, dtype=np.int32)[0]: top_preds}) return ret def multi_pose_wodet_post_process_vis(dets, c, s, h, w): # dets: batch x max_dets x 40 # return list of 39 in image coord ret = [] for i in range(dets.shape[0]): #bbox = transform_preds(dets[i, :, :4].reshape(-1, 2), c[i], s[i], (w, h)) pts = transform_preds(dets[i, :, 1:35].reshape(-1, 2), c[i], s[i], (w, h)) adapt_pts = transform_preds(dets[i, :, 36:].reshape(-1, 2), c[i], s[i], (w, h)) adapt_pts = adapt_pts.reshape(-1,16).tolist() top_preds = np.concatenate( [dets[i, :, 0:1], pts.reshape(-1, 34)], axis=1).astype(np.float32).tolist() ret.append({np.ones(1, dtype=np.int32)[0]: top_preds}) return ret,adapt_pts def multi_pose_crowdpose_post_process_vis(dets, c, s, h, w): # dets: batch x max_dets x 40 # return list of 39 in image coord ret = [] for i in range(dets.shape[0]): #bbox = transform_preds(dets[i, :, :4].reshape(-1, 2), c[i], s[i], (w, h)) pts = transform_preds(dets[i, :, 1:29].reshape(-1, 2), c[i], s[i], (w, h)) adapt_pts = transform_preds(dets[i, :, 30:].reshape(-1, 2), c[i], s[i], (w, h)) adapt_pts = adapt_pts.reshape(-1,16).tolist() top_preds = np.concatenate( [dets[i, :, 0:1], pts.reshape(-1, 28)], axis=1).astype(np.float32).tolist() ret.append({np.ones(1, dtype=np.int32)[0]: top_preds}) return ret,adapt_pts ================================================ FILE: src/lib/utils/utils.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import torch 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 if self.count > 0: self.avg = self.sum / self.count ================================================ FILE: src/main.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import init_paths import os import torch import torch.utils.data from opts import opts from models.model import create_model, load_model, save_model from models.data_parallel import DataParallel from logger import Logger from datasets.dataset_factory import get_dataset from trains.train_factory import train_factory from flops_counter import get_model_complexity_info def main(opt): # import pudb;pudb.set_trace() torch.manual_seed(opt.seed) torch.backends.cudnn.benchmark = not opt.not_cuda_benchmark and not opt.test Dataset = get_dataset(opt.dataset, opt.task) opt = opts().update_dataset_info_and_set_heads(opt, Dataset) print(opt) logger = Logger(opt) os.environ['CUDA_VISIBLE_DEVICES'] = opt.gpus_str opt.device = torch.device('cuda' if opt.gpus[0] >= 0 else 'cpu') #torch.cuda.set_device([2,3]) print('Creating model...') model = create_model(opt.arch, opt.heads, opt.head_conv) optimizer = torch.optim.Adam(model.parameters(), opt.lr) start_epoch = 0 if opt.load_model != '': model, optimizer, start_epoch = load_model( model, opt.load_model, optimizer, opt.resume, opt.lr, opt.lr_step) Trainer = train_factory[opt.task] trainer = Trainer(opt, model, optimizer) trainer.set_device(opt.gpus, opt.chunk_sizes, opt.device) print('Setting up data...') val_loader = torch.utils.data.DataLoader( Dataset(opt, 'val'), batch_size=1, shuffle=False, num_workers=1, pin_memory=True ) if opt.test: _, preds = trainer.val(0, val_loader) val_loader.dataset.run_eval(preds, opt.save_dir) return train_loader = torch.utils.data.DataLoader( Dataset(opt, 'train'), batch_size=opt.batch_size, shuffle=True, num_workers=opt.num_workers, pin_memory=True, drop_last=True ) print('Starting training...') best = 1e10 for epoch in range(start_epoch + 1, opt.num_epochs + 1): print('epoch:',epoch) mark = epoch if opt.save_all else 'last' log_dict_train, _ = trainer.train(epoch, train_loader) logger.write('epoch: {} |'.format(epoch)) for k, v in log_dict_train.items(): logger.scalar_summary('train_{}'.format(k), v, epoch) logger.write('{} {:8f} | '.format(k, v)) if opt.val_intervals > 0 and epoch % opt.val_intervals == 0: save_model(os.path.join(opt.save_dir, 'model_{}.pth'.format(mark)), epoch, model, optimizer) with torch.no_grad(): log_dict_val, preds = trainer.val(epoch, val_loader) #import pudb;pudb.set_trace() info_eval = val_loader.dataset.run_eval(preds, opt.save_dir) for k, v in log_dict_val.items(): logger.scalar_summary('val_{}'.format(k), v, epoch) logger.write('{} {:8f} | '.format(k, v)) # if log_dict_val[opt.metric] < best: # best = log_dict_val[opt.metric] save_model(os.path.join(opt.save_dir, 'model_{}.pth'.format(epoch)), epoch, model) else: save_model(os.path.join(opt.save_dir, 'model_last.pth'), epoch, model, optimizer) logger.write('\n') if epoch in opt.lr_step: save_model(os.path.join(opt.save_dir, 'model_{}.pth'.format(epoch)), epoch, model, optimizer) lr = opt.lr * (0.1 ** (opt.lr_step.index(epoch) + 1)) print('Drop LR to', lr) for param_group in optimizer.param_groups: param_group['lr'] = lr logger.close() if __name__ == '__main__': #import pudb;pudb.set_trace() opt = opts().parse() main(opt) ================================================ FILE: src/main_dla34_coco512.sh ================================================ #!/bin/bash THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" cd $THIS_DIR CURRENT_DIR=$(pwd) cd $CURRENT_DIR ARCNAME=dla_34 EXPID=coco512 EXPNAME=$ARCNAME'_'$EXPID TASK=multi_pose_wodet DATASET=coco_hp_wodet RES=512 EXPDIR=$CURRENT_DIR/../exp/$TASK/$EXPNAME mkdir -p $EXPDIR echo "Start training" /opt/tiger/torch12/bin/python main.py $TASK --exp_id $EXPNAME --dataset coco_hp_wodet --master_batch_size 16 --batch_size 128 --lr 2.5e-4 --gpus 0,1,2,3,4,5,6,7 \ --num_epochs 280 --lr_step 230,260 --num_workers 16 --K 20 --arch $ARCNAME \ --val_intervals 40 --input_res $RES --not_reg_hp_offset --not_reg_offset \ --aug_rot 0.5 --rotate 15 --hide_data_time echo "Start single-scale test" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res echo "Start single-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test echo "Start multi-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test --test_scales 1,1.25,1.5,1.75 ================================================ FILE: src/main_dla34_coco640.sh ================================================ #!/bin/bash THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" cd $THIS_DIR CURRENT_DIR=$(pwd) cd $CURRENT_DIR ARCNAME=dla_34 EXPID=coco640 EXPNAME=$ARCNAME'_'$EXPID TASK=multi_pose_wodet DATASET=coco_hp_wodet RES=640 EXPDIR=$CURRENT_DIR/../exp/$TASK/$EXPNAME mkdir -p $EXPDIR echo "Start training" /opt/tiger/torch12/bin/python main.py $TASK --exp_id $EXPNAME --dataset coco_hp_wodet --master_batch_size 8 --batch_size 64 --lr 2.5e-4 --gpus 0,1,2,3,4,5,6,7 \ --num_epochs 280 --lr_step 230,260 --num_workers 16 --K 20 --arch $ARCNAME \ --val_intervals 5 --input_res $RES --not_reg_hp_offset --not_reg_offset \ --aug_rot 0.5 --rotate 15 --hide_data_time echo "Start single-scale test" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res echo "Start single-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test echo "Start multi-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test --test_scales 1,1.25,1.5,1.75 ================================================ FILE: src/main_hrnet32_coco512.sh ================================================ #!/bin/bash THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" cd $THIS_DIR CURRENT_DIR=$(pwd) cd $CURRENT_DIR ARCNAME=hrnet_32 EXPID=coco512 EXPNAME=$ARCNAME'_'$EXPID TASK=multi_pose_wodet DATASET=coco_hp_wodet RES=512 EXPDIR=$CURRENT_DIR/../exp/$TASK/$EXPNAME mkdir -p $EXPDIR echo "Start training" /opt/tiger/torch12/bin/python main.py $TASK --exp_id $EXPNAME --dataset coco_hp_wodet --master_batch_size 8 --batch_size 64 --lr 2.5e-4 --gpus 0,1,2,3,4,5,6,7 \ --num_epochs 280 --lr_step 230,260 --num_workers 16 --K 20 --arch $ARCNAME \ --val_intervals 5 --input_res $RES --not_reg_hp_offset --not_reg_offset \ --aug_rot 0.5 --rotate 15 --hide_data_time echo "Start single-scale test" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res echo "Start single-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test echo "Start multi-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test --test_scales 0.8,1,1.2,1.4,1.6 ================================================ FILE: src/main_hrnet32_crowdpose512.sh ================================================ #!/bin/bash THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" # cd $THIS_DIR # cd /opt/tiger/ # hdfs dfs -get hdfs://haruna/home/byte_arnold_hl_vc/xiaoyabo/torch12.tar.gz # tar zxvf torch12.tar.gz cd $THIS_DIR CURRENT_DIR=$(pwd) # cd $CURRENT_DIR # source prepare_env.sh # cd $CURRENT_DIR/../cocoapi/PythonAPI # make # /opt/tiger/torch12/bin/python setup.py install --user # cd $CURRENT_DIR/../CrowdPose/crowdpose-api/PythonAPI # make install # /opt/tiger/torch12/bin/python setup.py install --user # cd $CURRENT_DIR/lib/models/networks/DCNv2 # /opt/tiger/torch12/bin/python setup.py build develop # cd $CURRENT_DIR/lib/external # make # cd $CURRENT_DIR/lib/models/resample2d_package # /opt/tiger/torch12/bin/python setup.py install --user # cd $CURRENT_DIR # source prepare_data.sh cd $CURRENT_DIR ARCNAME=hrnet_32 EXPID=crowdpose512 EXPNAME=$ARCNAME'_'$EXPID TASK=multi_pose_crowdpose DATASET=crowdpose RES=512 EXPDIR=$CURRENT_DIR/../exp/$TASK/$EXPNAME mkdir -p $EXPDIR echo "Start training" /opt/tiger/torch12/bin/python main.py $TASK --exp_id $EXPNAME --dataset $DATASET --master_batch_size 8 --batch_size 64 --lr 2.5e-4 --gpus 0,1,2,3,4,5,6,7 \ --num_epochs 280 --lr_step 230,260 --num_workers 16 --K 20 --arch $ARCNAME \ --val_intervals 5 --input_res $RES --not_reg_hp_offset --not_reg_offset \ --aug_rot 0.5 --rotate 15 --hide_data_time echo "Start single-scale test" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --trainval echo "Start single-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test --trainval echo "Start multi-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --trainval --flip_test --test_scales 0.8,1,1.2,1.4,1.6 ================================================ FILE: src/main_hrnet48_coco640.sh ================================================ #!/bin/bash THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" cd $THIS_DIR CURRENT_DIR=$(pwd) cd $CURRENT_DIR ARCNAME=hrnet_48 EXPID=coco640 EXPNAME=$ARCNAME'_'$EXPID TASK=multi_pose_wodet DATASET=coco_hp_wodet RES=640 EXPDIR=$CURRENT_DIR/../exp/$TASK/$EXPNAME mkdir -p $EXPDIR echo "Start training" /opt/tiger/torch12/bin/python main.py $TASK --exp_id $EXPNAME --dataset coco_hp_wodet --master_batch_size 8 --batch_size 64 --lr 2.5e-4 --gpus 0,1,2,3,4,5,6,7 \ --num_epochs 280 --lr_step 230,260 --num_workers 16 --K 20 --arch $ARCNAME \ --val_intervals 40 --input_res $RES --not_reg_hp_offset --not_reg_offset \ --aug_rot 0.5 --rotate 15 --hide_data_time echo "Start single-scale test" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res echo "Start single-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test echo "Start multi-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test --test_scales 0.8,1,1.2,1.4,1.6 ================================================ FILE: src/main_hrnet48_coco800.sh ================================================ #!/bin/bash THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" cd $THIS_DIR CURRENT_DIR=$(pwd) cd $CURRENT_DIR ARCNAME=hrnet_48 EXPID=coco800 EXPNAME=$ARCNAME'_'$EXPID TASK=multi_pose_wodet DATASET=coco_hp_wodet RES=800 EXPDIR=$CURRENT_DIR/../exp/$TASK/$EXPNAME mkdir -p $EXPDIR echo "Start training" /opt/tiger/torch12/bin/python main.py $TASK --exp_id $EXPNAME --dataset coco_hp_wodet --master_batch_size 8 --batch_size 64 --lr 2.5e-4 --gpus 0,1,2,3,4,5,6,7 \ --num_epochs 280 --lr_step 230,260 --num_workers 16 --K 20 --arch $ARCNAME \ --val_intervals 40 --input_res $RES --not_reg_hp_offset --not_reg_offset \ --aug_rot 0.5 --rotate 15 --hide_data_time echo "Start single-scale test" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res echo "Start single-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test echo "Start multi-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test --test_scales 0.8,1,1.2,1.4,1.6 ================================================ FILE: src/main_hrnet48_crowdpose640.sh ================================================ #!/bin/bash THIS_DIR="$( cd "$( dirname "$0" )" && pwd )" # cd $THIS_DIR # cd /opt/tiger/ # hdfs dfs -get hdfs://haruna/home/byte_arnold_hl_vc/xiaoyabo/torch12.tar.gz # tar zxvf torch12.tar.gz cd $THIS_DIR CURRENT_DIR=$(pwd) # cd $CURRENT_DIR # source prepare_env.sh # cd $CURRENT_DIR/../cocoapi/PythonAPI # make # /opt/tiger/torch12/bin/python setup.py install --user # cd $CURRENT_DIR/../CrowdPose/crowdpose-api/PythonAPI # make install # /opt/tiger/torch12/bin/python setup.py install --user # cd $CURRENT_DIR/lib/models/networks/DCNv2 # /opt/tiger/torch12/bin/python setup.py build develop # cd $CURRENT_DIR/lib/external # make # cd $CURRENT_DIR/lib/models/resample2d_package # /opt/tiger/torch12/bin/python setup.py install --user # cd $CURRENT_DIR # source prepare_data.sh cd $CURRENT_DIR ARCNAME=hrnet_48 EXPID=crowdpose640 EXPNAME=$ARCNAME'_'$EXPID TASK=multi_pose_crowdpose DATASET=crowdpose RES=640 EXPDIR=$CURRENT_DIR/../exp/$TASK/$EXPNAME mkdir -p $EXPDIR echo "Start training" /opt/tiger/torch12/bin/python main.py $TASK --exp_id $EXPNAME --dataset $DATASET --master_batch_size 8 --batch_size 64 --lr 2.5e-4 --gpus 0,1,2,3,4,5,6,7 \ --num_epochs 280 --lr_step 230,260 --num_workers 16 --K 20 --arch $ARCNAME \ --val_intervals 5 --input_res $RES --not_reg_hp_offset --not_reg_offset \ --aug_rot 0.5 --rotate 15 --hide_data_time echo "Start single-scale test" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --trainval echo "Start single-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --flip_test --trainval echo "Start multi-scale test with flip" /opt/tiger/torch12/bin/python test.py $TASK --exp_id $EXPNAME --dataset $DATASET \ --resume --not_reg_offset --not_reg_hp_offset --K 20 --not_hm_hp --arch $ARCNAME --input_res $RES --keep_res --trainval --flip_test --test_scales 0.8,1,1.2,1.4,1.6 ================================================ FILE: src/test.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import init_paths import os import json import cv2 import numpy as np import time from progress.bar import Bar import torch from external.nms import soft_nms from opts import opts from logger import Logger from utils.utils import AverageMeter from datasets.dataset_factory import dataset_factory from detectors.detector_factory import detector_factory class PrefetchDataset(torch.utils.data.Dataset): def __init__(self, opt, dataset, pre_process_func): self.images = dataset.images self.load_image_func = dataset.coco.loadImgs self.img_dir = dataset.img_dir self.pre_process_func = pre_process_func self.opt = opt def __getitem__(self, index): img_id = self.images[index] img_info = self.load_image_func(ids=[img_id])[0] img_path = os.path.join(self.img_dir, img_info['file_name']) image = cv2.imread(img_path) images, meta = {}, {} for scale in opt.test_scales: if opt.task == 'ddd': images[scale], meta[scale] = self.pre_process_func( image, scale, img_info['calib']) else: images[scale], meta[scale] = self.pre_process_func(image, scale, img_info['file_name']) return img_id, {'images': images, 'image': image, 'meta': meta, 'img_name': img_info['file_name']} def __len__(self): return len(self.images) def prefetch_test(opt): #os.environ['CUDA_VISIBLE_DEVICES'] = "1" torch.cuda.set_device(0) Dataset = dataset_factory[opt.dataset] opt = opts().update_dataset_info_and_set_heads(opt, Dataset) print(opt) Logger(opt) Detector = detector_factory[opt.task] split = 'val' if not opt.trainval else 'test' dataset = Dataset(opt, split) detector = Detector(opt) data_loader = torch.utils.data.DataLoader( PrefetchDataset(opt, dataset, detector.pre_process), batch_size=1, shuffle=False, num_workers=1, pin_memory=True) results = {} num_iters = len(dataset) bar = Bar('{}'.format(opt.exp_id), max=num_iters) time_stats = ['tot', 'load', 'pre', 'net', 'dec', 'post', 'merge'] avg_time_stats = {t: AverageMeter() for t in time_stats} for ind, (img_id, pre_processed_images) in enumerate(data_loader): ret = detector.run(pre_processed_images) ################################### results[img_id.numpy().astype(np.int32)[0]] = ret['results'] Bar.suffix = '[{0}/{1}]|Tot: {total:} |ETA: {eta:} '.format( ind, num_iters, total=bar.elapsed_td, eta=bar.eta_td) for t in avg_time_stats: avg_time_stats[t].update(ret[t]) Bar.suffix = Bar.suffix + '|{} {tm.val:.3f}s ({tm.avg:.3f}s) '.format( t, tm = avg_time_stats[t]) bar.next() bar.finish() if len(opt.test_scales) == 1: dataset.run_eval(results, opt.save_dir) else: dataset.run_eval(results, opt.save_dir, MS=True) def test(opt): os.environ['CUDA_VISIBLE_DEVICES'] = 2 Dataset = dataset_factory[opt.dataset] opt = opts().update_dataset_info_and_set_heads(opt, Dataset) print(opt) Logger(opt) Detector = detector_factory[opt.task] split = 'val' if not opt.trainval else 'test' dataset = Dataset(opt, split) detector = Detector(opt) results = {} num_iters = len(dataset) bar = Bar('{}'.format(opt.exp_id), max=num_iters) time_stats = ['tot', 'load', 'pre', 'net', 'dec', 'post', 'merge'] avg_time_stats = {t: AverageMeter() for t in time_stats} for ind in range(num_iters): img_id = dataset.images[ind] img_info = dataset.coco.loadImgs(ids=[img_id])[0] img_path = os.path.join(dataset.img_dir, img_info['file_name']) if opt.task == 'ddd': ret = detector.run(img_path, img_info['calib']) else: ret = detector.run(img_path) results[img_id] = ret['results'] Bar.suffix = '[{0}/{1}]|Tot: {total:} |ETA: {eta:} '.format( ind, num_iters, total=bar.elapsed_td, eta=bar.eta_td) for t in avg_time_stats: avg_time_stats[t].update(ret[t]) Bar.suffix = Bar.suffix + '|{} {:.3f} '.format(t, avg_time_stats[t].avg) bar.next() bar.finish() if len(opt.test_scales) == 1: dataset.run_eval(results, opt.save_dir) else: dataset.run_eval(results, opt.save_dir, MS=True) if __name__ == '__main__': opt = opts().parse() #os.environ['CUDA_VISIBLE_DEVICES'] = '2' if opt.not_prefetch_test: test(opt) else: prefetch_test(opt) ================================================ FILE: src/tools/_init_paths.py ================================================ 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__) # Add lib to PYTHONPATH lib_path = osp.join(this_dir, '../lib') add_path(lib_path) ================================================ FILE: src/tools/calc_coco_overlap.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import pycocotools.coco as COCO import cv2 import numpy as np from pycocotools import mask as maskUtils ANN_PATH = '../../data/coco/annotations/' IMG_PATH = '../../data/coco/' ANN_FILES = {'train': 'instances_train2017.json', 'val': 'instances_val2017.json'} DEBUG = False RESIZE = True class_name = [ '__background__', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush' ] def iou(box1, box2): area1 = (box1[2] - box1[0] + 1) * (box1[3] - box1[1] + 1) area2 = (box2[2] - box2[0] + 1) * (box2[3] - box2[1] + 1) inter = max(min(box1[2], box2[2]) - max(box1[0], box2[0]) + 1, 0) * \ max(min(box1[3], box2[3]) - max(box1[1], box2[1]) + 1, 0) iou = 1.0 * inter / (area1 + area2 - inter) return iou def generate_anchors( stride=16, sizes=(32, 64, 128, 256, 512), aspect_ratios=(0.5, 1, 2) ): """Generates a matrix of anchor boxes in (x1, y1, x2, y2) format. Anchors are centered on stride / 2, have (approximate) sqrt areas of the specified sizes, and aspect ratios as given. """ return _generate_anchors( stride, np.array(sizes, dtype=np.float) / stride, np.array(aspect_ratios, dtype=np.float) ) def _generate_anchors(base_size, scales, aspect_ratios): """Generate anchor (reference) windows by enumerating aspect ratios X scales wrt a reference (0, 0, base_size - 1, base_size - 1) window. """ anchor = np.array([1, 1, base_size, base_size], dtype=np.float) - 1 anchors = _ratio_enum(anchor, aspect_ratios) anchors = np.vstack( [_scale_enum(anchors[i, :], scales) for i in range(anchors.shape[0])] ) return anchors def _whctrs(anchor): """Return width, height, x center, and y center for an anchor (window).""" w = anchor[2] - anchor[0] + 1 h = anchor[3] - anchor[1] + 1 x_ctr = anchor[0] + 0.5 * (w - 1) y_ctr = anchor[1] + 0.5 * (h - 1) return w, h, x_ctr, y_ctr def _mkanchors(ws, hs, x_ctr, y_ctr): """Given a vector of widths (ws) and heights (hs) around a center (x_ctr, y_ctr), output a set of anchors (windows). """ ws = ws[:, np.newaxis] hs = hs[:, np.newaxis] anchors = np.hstack( ( x_ctr - 0.5 * (ws - 1), y_ctr - 0.5 * (hs - 1), x_ctr + 0.5 * (ws - 1), y_ctr + 0.5 * (hs - 1) ) ) return anchors def _ratio_enum(anchor, ratios): """Enumerate a set of anchors for each aspect ratio wrt an anchor.""" w, h, x_ctr, y_ctr = _whctrs(anchor) size = w * h size_ratios = size / ratios ws = np.round(np.sqrt(size_ratios)) hs = np.round(ws * ratios) anchors = _mkanchors(ws, hs, x_ctr, y_ctr) return anchors def _scale_enum(anchor, scales): """Enumerate a set of anchors for each scale wrt an anchor.""" w, h, x_ctr, y_ctr = _whctrs(anchor) ws = w * scales hs = h * scales anchors = _mkanchors(ws, hs, x_ctr, y_ctr) return anchors def _coco_box_to_bbox(box): bbox = np.array([box[0], box[1], box[0] + box[2], box[1] + box[3]], dtype=np.float32) return bbox def count_agnostic(split): coco = COCO.COCO(ANN_PATH + ANN_FILES[split]) images = coco.getImgIds() cnt = 0 for img_id in images: ann_ids = coco.getAnnIds(imgIds=[img_id]) anns = coco.loadAnns(ids=ann_ids) centers = [] for ann in anns: bbox = ann['bbox'] center = ((bbox[0] + bbox[2] / 2) // 4, (bbox[1] + bbox[3] / 2) // 4) for c in centers: if center[0] == c[0] and center[1] == c[1]: cnt += 1 centers.append(center) print('find {} collisions!'.format(cnt)) def count(split): coco = COCO.COCO(ANN_PATH + ANN_FILES[split]) images = coco.getImgIds() cnt = 0 obj = 0 for img_id in images: ann_ids = coco.getAnnIds(imgIds=[img_id]) anns = coco.loadAnns(ids=ann_ids) centers = [] obj += len(anns) for ann in anns: if ann['iscrowd'] > 0: continue bbox = ann['bbox'] center = ((bbox[0] + bbox[2] / 2) // 4, (bbox[1] + bbox[3] / 2) // 4, ann['category_id'], bbox) for c in centers: if center[0] == c[0] and center[1] == c[1] and center[2] == c[2] and \ iou(_coco_box_to_bbox(bbox), _coco_box_to_bbox(c[3])) < 2:# 0.5: cnt += 1 if DEBUG: file_name = coco.loadImgs(ids=[img_id])[0]['file_name'] img = cv2.imread('{}/{}2017/{}'.format(IMG_PATH, split, file_name)) x1, y1 = int(c[3][0]), int(c[3][1]), x2, y2 = int(c[3][0] + c[3][2]), int(c[3][1] + c[3][3]) cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), 2, cv2.LINE_AA) x1, y1 = int(center[3][0]), int(center[3][1]), x2, y2 = int(center[3][0] + center[3][2]), int(center[3][1] + center[3][3]) cv2.rectangle(img, (x1, y1), (x2, y2), (0, 0, 255), 2, cv2.LINE_AA) cv2.imshow('img', img) cv2.waitKey() centers.append(center) print('find {} collisions of {} objects!'.format(cnt, obj)) def count_iou(split): coco = COCO.COCO(ANN_PATH + ANN_FILES[split]) images = coco.getImgIds() cnt = 0 obj = 0 for img_id in images: ann_ids = coco.getAnnIds(imgIds=[img_id]) anns = coco.loadAnns(ids=ann_ids) bboxes = [] obj += len(anns) for ann in anns: if ann['iscrowd'] > 0: continue bbox = _coco_box_to_bbox(ann['bbox']).tolist() + [ann['category_id']] for b in bboxes: if iou(b, bbox) > 0.5 and b[4] == bbox[4]: cnt += 1 if DEBUG: file_name = coco.loadImgs(ids=[img_id])[0]['file_name'] img = cv2.imread('{}/{}2017/{}'.format(IMG_PATH, split, file_name)) x1, y1 = int(b[0]), int(b[1]), x2, y2 = int(b[2]), int(b[3]) cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), 2, cv2.LINE_AA) x1, y1 = int(bbox[0]), int(bbox[1]), x2, y2 = int(bbox[2]), int(bbox[3]) cv2.rectangle(img, (x1, y1), (x2, y2), (0, 0, 255), 2, cv2.LINE_AA) cv2.imshow('img', img) print('cats', class_name[b[4]], class_name[bbox[4]]) cv2.waitKey() bboxes.append(bbox) print('find {} collisions of {} objects!'.format(cnt, obj)) def count_anchor(split): coco = COCO.COCO(ANN_PATH + ANN_FILES[split]) images = coco.getImgIds() cnt = 0 obj = 0 stride = 16 anchor = generate_anchors().reshape(15, 2, 2) miss_s, miss_m, miss_l = 0, 0, 0 N = len(images) print(N, 'images') for ind, img_id in enumerate(images): if ind % 1000 == 0: print(ind, N) anchors = [] ann_ids = coco.getAnnIds(imgIds=[img_id]) anns = coco.loadAnns(ids=ann_ids) obj += len(anns) img_info = coco.loadImgs(ids=[img_id])[0] h, w = img_info['height'], img_info['width'] if RESIZE: if h > w: for i in range(len(anns)): anns[i]['bbox'][0] *= 800 / w anns[i]['bbox'][1] *= 800 / w anns[i]['bbox'][2] *= 800 / w anns[i]['bbox'][3] *= 800 / w h = h * 800 // w w = 800 else: for i in range(len(anns)): anns[i]['bbox'][0] *= 800 / h anns[i]['bbox'][1] *= 800 / h anns[i]['bbox'][2] *= 800 / h anns[i]['bbox'][3] *= 800 / h w = w * 800 // h h = 800 for i in range(w // stride): for j in range(h // stride): ct = np.array([i * stride, j * stride], dtype=np.float32).reshape(1, 1, 2) anchors.append(anchor + ct) anchors = np.concatenate(anchors, axis=0).reshape(-1, 4) anchors[:, 2:4] = anchors[:, 2:4] - anchors[:, 0:2] anchors = anchors.tolist() # import pdb; pdb.set_trace() g = [g['bbox'] for g in anns] iscrowd = [int(o['iscrowd']) for o in anns] ious = maskUtils.iou(anchors,g,iscrowd) for t in range(len(g)): if ious[:, t].max() < 0.5: s = anns[t]['area'] if s < 32 ** 2: miss_s += 1 elif s < 96 ** 2: miss_m += 1 else: miss_l += 1 if DEBUG: file_name = coco.loadImgs(ids=[img_id])[0]['file_name'] img = cv2.imread('{}/{}2017/{}'.format(IMG_PATH, split, file_name)) if RESIZE: img = cv2.resize(img, (w, h)) for t, gt in enumerate(g): if anns[t]['iscrowd'] > 0: continue x1, y1, x2, y2 = _coco_box_to_bbox(gt) cl = (0, 0, 255) if ious[:, t].max() < 0.5 else (0, 255, 0) cv2.rectangle(img, (x1, y1), (x2, y2), cl, 2, cv2.LINE_AA) for k in range(len(anchors)): if ious[k, t] > 0.5: x1, y1, x2, y2 = _coco_box_to_bbox(anchors[k]) cl = (np.array([255, 0, 0]) * ious[k, t]).astype(np.int32).tolist() cv2.rectangle(img, (x1, y1), (x2, y2), cl, 1, cv2.LINE_AA) cv2.imshow('img', img) cv2.waitKey() miss = 0 if len(ious) > 0: miss = (ious.max(axis=0) < 0.5).sum() cnt += miss print('cnt, obj, ratio ', cnt, obj, cnt / obj) print('s, m, l ', miss_s, miss_m, miss_l) # import pdb; pdb.set_trace() def count_size(split): coco = COCO.COCO(ANN_PATH + ANN_FILES[split]) images = coco.getImgIds() cnt = 0 obj = 0 stride = 16 anchor = generate_anchors().reshape(15, 2, 2) cnt_s, cnt_m, cnt_l = 0, 0, 0 N = len(images) print(N, 'images') for ind, img_id in enumerate(images): anchors = [] ann_ids = coco.getAnnIds(imgIds=[img_id]) anns = coco.loadAnns(ids=ann_ids) obj += len(anns) img_info = coco.loadImgs(ids=[img_id])[0] for t in range(len(anns)): if 1: s = anns[t]['area'] if s < 32 ** 2: cnt_s += 1 elif s < 96 ** 2: cnt_m += 1 else: cnt_l += 1 cnt += 1 print('cnt', cnt) print('s, m, l ', cnt_s, cnt_m, cnt_l) # count_iou('train') # count_anchor('train') # count('train') count_size('train') ================================================ FILE: src/tools/convert_hourglass_weight.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function MODEL_PATH = '../../models/ExtremeNet_500000.pkl' OUT_PATH = '../../models/ExtremeNet_500000.pth' import torch state_dict = torch.load(MODEL_PATH) key_map = {'t_heats': 'hm_t', 'l_heats': 'hm_l', 'b_heats': 'hm_b', \ 'r_heats': 'hm_r', 'ct_heats': 'hm_c', \ 't_regrs': 'reg_t', 'l_regrs': 'reg_l', \ 'b_regrs': 'reg_b', 'r_regrs': 'reg_r'} out = {} for k in state_dict.keys(): changed = False for m in key_map.keys(): if m in k: if 'ct_heats' in k and m == 't_heats': continue new_k = k.replace(m, key_map[m]) out[new_k] = state_dict[k] changed = True print('replace {} to {}'.format(k, new_k)) if not changed: out[k] = state_dict[k] data = {'epoch': 0, 'state_dict': out} torch.save(data, OUT_PATH) ================================================ FILE: src/tools/convert_kitti_to_coco.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import pickle import json import numpy as np import cv2 DATA_PATH = '../../data/kitti/' DEBUG = False # VAL_PATH = DATA_PATH + 'training/label_val/' import os SPLITS = ['3dop', 'subcnn'] import _init_paths from utils.ddd_utils import compute_box_3d, project_to_image, alpha2rot_y from utils.ddd_utils import draw_box_3d, unproject_2d_to_3d ''' #Values Name Description ---------------------------------------------------------------------------- 1 type Describes the type of object: 'Car', 'Van', 'Truck', 'Pedestrian', 'Person_sitting', 'Cyclist', 'Tram', 'Misc' or 'DontCare' 1 truncated Float from 0 (non-truncated) to 1 (truncated), where truncated refers to the object leaving image boundaries 1 occluded Integer (0,1,2,3) indicating occlusion state: 0 = fully visible, 1 = partly occluded 2 = largely occluded, 3 = unknown 1 alpha Observation angle of object, ranging [-pi..pi] 4 bbox 2D bounding box of object in the image (0-based index): contains left, top, right, bottom pixel coordinates 3 dimensions 3D object dimensions: height, width, length (in meters) 3 location 3D object location x,y,z in camera coordinates (in meters) 1 rotation_y Rotation ry around Y-axis in camera coordinates [-pi..pi] 1 score Only for results: Float, indicating confidence in detection, needed for p/r curves, higher is better. ''' def _bbox_to_coco_bbox(bbox): return [(bbox[0]), (bbox[1]), (bbox[2] - bbox[0]), (bbox[3] - bbox[1])] def read_clib(calib_path): f = open(calib_path, 'r') for i, line in enumerate(f): if i == 2: calib = np.array(line[:-1].split(' ')[1:], dtype=np.float32) calib = calib.reshape(3, 4) return calib cats = ['Pedestrian', 'Car', 'Cyclist', 'Van', 'Truck', 'Person_sitting', 'Tram', 'Misc', 'DontCare'] cat_ids = {cat: i + 1 for i, cat in enumerate(cats)} # cat_info = [{"name": "pedestrian", "id": 1}, {"name": "vehicle", "id": 2}] F = 721 H = 384 # 375 W = 1248 # 1242 EXT = [45.75, -0.34, 0.005] CALIB = np.array([[F, 0, W / 2, EXT[0]], [0, F, H / 2, EXT[1]], [0, 0, 1, EXT[2]]], dtype=np.float32) cat_info = [] for i, cat in enumerate(cats): cat_info.append({'name': cat, 'id': i + 1}) for SPLIT in SPLITS: image_set_path = DATA_PATH + 'ImageSets_{}/'.format(SPLIT) ann_dir = DATA_PATH + 'training/label_2/' calib_dir = DATA_PATH + '{}/calib/' splits = ['train', 'val'] # splits = ['trainval', 'test'] calib_type = {'train': 'training', 'val': 'training', 'trainval': 'training', 'test': 'testing'} for split in splits: ret = {'images': [], 'annotations': [], "categories": cat_info} image_set = open(image_set_path + '{}.txt'.format(split), 'r') image_to_id = {} for line in image_set: if line[-1] == '\n': line = line[:-1] image_id = int(line) calib_path = calib_dir.format(calib_type[split]) + '{}.txt'.format(line) calib = read_clib(calib_path) image_info = {'file_name': '{}.png'.format(line), 'id': int(image_id), 'calib': calib.tolist()} ret['images'].append(image_info) if split == 'test': continue ann_path = ann_dir + '{}.txt'.format(line) # if split == 'val': # os.system('cp {} {}/'.format(ann_path, VAL_PATH)) anns = open(ann_path, 'r') if DEBUG: image = cv2.imread( DATA_PATH + 'images/trainval/' + image_info['file_name']) for ann_ind, txt in enumerate(anns): tmp = txt[:-1].split(' ') cat_id = cat_ids[tmp[0]] truncated = int(float(tmp[1])) occluded = int(tmp[2]) alpha = float(tmp[3]) bbox = [float(tmp[4]), float(tmp[5]), float(tmp[6]), float(tmp[7])] dim = [float(tmp[8]), float(tmp[9]), float(tmp[10])] location = [float(tmp[11]), float(tmp[12]), float(tmp[13])] rotation_y = float(tmp[14]) ann = {'image_id': image_id, 'id': int(len(ret['annotations']) + 1), 'category_id': cat_id, 'dim': dim, 'bbox': _bbox_to_coco_bbox(bbox), 'depth': location[2], 'alpha': alpha, 'truncated': truncated, 'occluded': occluded, 'location': location, 'rotation_y': rotation_y} ret['annotations'].append(ann) if DEBUG and tmp[0] != 'DontCare': box_3d = compute_box_3d(dim, location, rotation_y) box_2d = project_to_image(box_3d, calib) # print('box_2d', box_2d) image = draw_box_3d(image, box_2d) x = (bbox[0] + bbox[2]) / 2 ''' print('rot_y, alpha2rot_y, dlt', tmp[0], rotation_y, alpha2rot_y(alpha, x, calib[0, 2], calib[0, 0]), np.cos( rotation_y - alpha2rot_y(alpha, x, calib[0, 2], calib[0, 0]))) ''' depth = np.array([location[2]], dtype=np.float32) pt_2d = np.array([(bbox[0] + bbox[2]) / 2, (bbox[1] + bbox[3]) / 2], dtype=np.float32) pt_3d = unproject_2d_to_3d(pt_2d, depth, calib) pt_3d[1] += dim[0] / 2 print('pt_3d', pt_3d) print('location', location) if DEBUG: cv2.imshow('image', image) cv2.waitKey() print("# images: ", len(ret['images'])) print("# annotations: ", len(ret['annotations'])) # import pdb; pdb.set_trace() out_path = '{}/annotations/kitti_{}_{}.json'.format(DATA_PATH, SPLIT, split) json.dump(ret, open(out_path, 'w')) ================================================ FILE: src/tools/eval_coco.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import pycocotools.coco as coco from pycocotools.cocoeval import COCOeval import sys import cv2 import numpy as np import pickle import os this_dir = os.path.dirname(__file__) ANN_PATH = this_dir + '../../data/coco/annotations/instances_val2017.json' print(ANN_PATH) if __name__ == '__main__': pred_path = sys.argv[1] coco = coco.COCO(ANN_PATH) dets = coco.loadRes(pred_path) img_ids = coco.getImgIds() num_images = len(img_ids) coco_eval = COCOeval(coco, dets, "bbox") coco_eval.evaluate() coco_eval.accumulate() coco_eval.summarize() ================================================ FILE: src/tools/eval_coco_hp.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import pycocotools.coco as coco from pycocotools.cocoeval import COCOeval import sys import cv2 import numpy as np import pickle import os this_dir = os.path.dirname(__file__) ANN_PATH = this_dir + '../../data/coco/annotations/person_keypoints_val2017.json' print(ANN_PATH) if __name__ == '__main__': pred_path = sys.argv[1] coco = coco.COCO(ANN_PATH) dets = coco.loadRes(pred_path) img_ids = coco.getImgIds() num_images = len(img_ids) coco_eval = COCOeval(coco, dets, "keypoints") coco_eval.evaluate() coco_eval.accumulate() coco_eval.summarize() coco_eval = COCOeval(coco, dets, "bbox") coco_eval.evaluate() coco_eval.accumulate() coco_eval.summarize() ================================================ FILE: src/tools/get_kitti.sh ================================================ mkdir kitti cd kitti wget http://www.cvlibs.net/download.php?file=data_object_image_2.zip wget http://www.cvlibs.net/download.php?file=data_object_label_2.zip wget http://www.cvlibs.net/download.php?file=data_object_calib.zip unzip data_object_image_2.zip unzip data_object_label_2.zip unzip data_object_calib.zip ================================================ FILE: src/tools/get_pascal_voc.sh ================================================ mkdir voc cd voc wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCdevkit_18-May-2011.tar tar xvf VOCtrainval_06-Nov-2007.tar tar xvf VOCtest_06-Nov-2007.tar tar xvf VOCdevkit_08-Jun-2007.tar tar xvf VOCtrainval_11-May-2012.tar tar xvf VOCdevkit_18-May-2011.tar rm VOCtrainval_06-Nov-2007.tar rm VOCtest_06-Nov-2007.tar rm VOCdevkit_08-Jun-2007.tar rm VOCtrainval_11-May-2012.tar rm VOCdevkit_18-May-2011.tar mkdir images cp VOCdevkit/VOC2007/JPEGImages/* images/ cp VOCdevkit/VOC2012/JPEGImages/* images/ wget https://storage.googleapis.com/coco-dataset/external/PASCAL_VOC.zip unzip PASCAL_VOC.zip rm PASCAL_VOC.zip mv PASCAL_VOC annotations/ cd .. python merge_pascal_json.py ================================================ FILE: src/tools/kitti_eval/README.md ================================================ # kitti_eval `evaluate_object_3d_offline.cpp`evaluates your KITTI detection locally on your own computer using your validation data selected from KITTI training dataset, with the following metrics: - overlap on image (AP) - oriented overlap on image (AOS) - overlap on ground-plane (AP) - overlap in 3D (AP) Compile `evaluate_object_3d_offline.cpp` with dependency of Boost and Linux `dirent.h` (You should already have it under most Linux). Run the evalutaion by: ./evaluate_object_3d_offline groundtruth_dir result_dir Note that you don't have to detect over all KITTI training data. The evaluator only evaluates samples whose result files exist. ### Updates - June, 2017: * Fixed the bug of detection box filtering based on min height according to KITTI's note on 25.04.2017. ================================================ FILE: src/tools/kitti_eval/evaluate_object_3d.cpp ================================================ // from https://github.com/prclibo/kitti_eval #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "mail.h" BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) typedef boost::geometry::model::polygon > Polygon; using namespace std; /*======================================================================= STATIC EVALUATION PARAMETERS =======================================================================*/ // holds the number of test images on the server const int32_t N_TESTIMAGES = 7518; // easy, moderate and hard evaluation level enum DIFFICULTY{EASY=0, MODERATE=1, HARD=2}; // evaluation metrics: image, ground or 3D enum METRIC{IMAGE=0, GROUND=1, BOX3D=2}; // evaluation parameter const int32_t MIN_HEIGHT[3] = {40, 25, 25}; // minimum height for evaluated groundtruth/detections const int32_t MAX_OCCLUSION[3] = {0, 1, 2}; // maximum occlusion level of the groundtruth used for evaluation const double MAX_TRUNCATION[3] = {0.15, 0.3, 0.5}; // maximum truncation level of the groundtruth used for evaluation // evaluated object classes enum CLASSES{CAR=0, PEDESTRIAN=1, CYCLIST=2}; const int NUM_CLASS = 3; // parameters varying per class vector CLASS_NAMES; // the minimum overlap required for 2D evaluation on the image/ground plane and 3D evaluation const double MIN_OVERLAP[3][3] = {{0.7, 0.5, 0.5}, {0.5, 0.25, 0.25}, {0.5, 0.25, 0.25}}; // no. of recall steps that should be evaluated (discretized) const double N_SAMPLE_PTS = 41; // initialize class names void initGlobals () { CLASS_NAMES.push_back("car"); CLASS_NAMES.push_back("pedestrian"); CLASS_NAMES.push_back("cyclist"); } /*======================================================================= DATA TYPES FOR EVALUATION =======================================================================*/ // holding data needed for precision-recall and precision-aos struct tPrData { vector v; // detection score for computing score thresholds double similarity; // orientation similarity int32_t tp; // true positives int32_t fp; // false positives int32_t fn; // false negatives tPrData () : similarity(0), tp(0), fp(0), fn(0) {} }; // holding bounding boxes for ground truth and detections struct tBox { string type; // object type as car, pedestrian or cyclist,... double x1; // left corner double y1; // top corner double x2; // right corner double y2; // bottom corner double alpha; // image orientation tBox (string type, double x1,double y1,double x2,double y2,double alpha) : type(type),x1(x1),y1(y1),x2(x2),y2(y2),alpha(alpha) {} }; // holding ground truth data struct tGroundtruth { tBox box; // object type, box, orientation double truncation; // truncation 0..1 int32_t occlusion; // occlusion 0,1,2 (non, partly, fully) double ry; double t1, t2, t3; double h, w, l; tGroundtruth () : box(tBox("invalild",-1,-1,-1,-1,-10)),truncation(-1),occlusion(-1) {} tGroundtruth (tBox box,double truncation,int32_t occlusion) : box(box),truncation(truncation),occlusion(occlusion) {} tGroundtruth (string type,double x1,double y1,double x2,double y2,double alpha,double truncation,int32_t occlusion) : box(tBox(type,x1,y1,x2,y2,alpha)),truncation(truncation),occlusion(occlusion) {} }; // holding detection data struct tDetection { tBox box; // object type, box, orientation double thresh; // detection score double ry; double t1, t2, t3; double h, w, l; tDetection (): box(tBox("invalid",-1,-1,-1,-1,-10)),thresh(-1000) {} tDetection (tBox box,double thresh) : box(box),thresh(thresh) {} tDetection (string type,double x1,double y1,double x2,double y2,double alpha,double thresh) : box(tBox(type,x1,y1,x2,y2,alpha)),thresh(thresh) {} }; /*======================================================================= FUNCTIONS TO LOAD DETECTION AND GROUND TRUTH DATA ONCE, SAVE RESULTS =======================================================================*/ vector indices; vector loadDetections(string file_name, bool &compute_aos, vector &eval_image, vector &eval_ground, vector &eval_3d, bool &success) { // holds all detections (ignored detections are indicated by an index vector vector detections; FILE *fp = fopen(file_name.c_str(),"r"); if (!fp) { success = false; return detections; } while (!feof(fp)) { tDetection d; double trash; char str[255]; if (fscanf(fp, "%s %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", str, &trash, &trash, &d.box.alpha, &d.box.x1, &d.box.y1, &d.box.x2, &d.box.y2, &d.h, &d.w, &d.l, &d.t1, &d.t2, &d.t3, &d.ry, &d.thresh)==16) { // d.thresh = 1; d.box.type = str; detections.push_back(d); // orientation=-10 is invalid, AOS is not evaluated if at least one orientation is invalid if(d.box.alpha == -10) compute_aos = false; // a class is only evaluated if it is detected at least once for (int c = 0; c < NUM_CLASS; c++) { if (!strcasecmp(d.box.type.c_str(), CLASS_NAMES[c].c_str())) { if (!eval_image[c] && d.box.x1 >= 0) eval_image[c] = true; if (!eval_ground[c] && d.t1 != -1000) eval_ground[c] = true; if (!eval_3d[c] && d.t2 != -1000) eval_3d[c] = true; break; } } } } fclose(fp); success = true; return detections; } vector loadGroundtruth(string file_name,bool &success) { // holds all ground truth (ignored ground truth is indicated by an index vector vector groundtruth; FILE *fp = fopen(file_name.c_str(),"r"); if (!fp) { success = false; return groundtruth; } while (!feof(fp)) { tGroundtruth g; char str[255]; if (fscanf(fp, "%s %lf %d %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", str, &g.truncation, &g.occlusion, &g.box.alpha, &g.box.x1, &g.box.y1, &g.box.x2, &g.box.y2, &g.h, &g.w, &g.l, &g.t1, &g.t2, &g.t3, &g.ry )==15) { g.box.type = str; groundtruth.push_back(g); } } fclose(fp); success = true; return groundtruth; } void saveStats (const vector &precision, const vector &aos, FILE *fp_det, FILE *fp_ori) { // save precision to file if(precision.empty()) return; for (int32_t i=0; i Polygon toPolygon(const T& g) { using namespace boost::numeric::ublas; using namespace boost::geometry; matrix mref(2, 2); mref(0, 0) = cos(g.ry); mref(0, 1) = sin(g.ry); mref(1, 0) = -sin(g.ry); mref(1, 1) = cos(g.ry); static int count = 0; matrix corners(2, 4); double data[] = {g.l / 2, g.l / 2, -g.l / 2, -g.l / 2, g.w / 2, -g.w / 2, -g.w / 2, g.w / 2}; std::copy(data, data + 8, corners.data().begin()); matrix gc = prod(mref, corners); for (int i = 0; i < 4; ++i) { gc(0, i) += g.t1; gc(1, i) += g.t3; } double points[][2] = {{gc(0, 0), gc(1, 0)},{gc(0, 1), gc(1, 1)},{gc(0, 2), gc(1, 2)},{gc(0, 3), gc(1, 3)},{gc(0, 0), gc(1, 0)}}; Polygon poly; append(poly, points); return poly; } // measure overlap between bird's eye view bounding boxes, parametrized by (ry, l, w, tx, tz) inline double groundBoxOverlap(tDetection d, tGroundtruth g, int32_t criterion = -1) { using namespace boost::geometry; Polygon gp = toPolygon(g); Polygon dp = toPolygon(d); std::vector in, un; intersection(gp, dp, in); union_(gp, dp, un); double inter_area = in.empty() ? 0 : area(in.front()); double union_area = area(un.front()); double o; if(criterion==-1) // union o = inter_area / union_area; else if(criterion==0) // bbox_a o = inter_area / area(dp); else if(criterion==1) // bbox_b o = inter_area / area(gp); return o; } // measure overlap between 3D bounding boxes, parametrized by (ry, h, w, l, tx, ty, tz) inline double box3DOverlap(tDetection d, tGroundtruth g, int32_t criterion = -1) { using namespace boost::geometry; Polygon gp = toPolygon(g); Polygon dp = toPolygon(d); std::vector in, un; intersection(gp, dp, in); union_(gp, dp, un); double ymax = min(d.t2, g.t2); double ymin = max(d.t2 - d.h, g.t2 - g.h); double inter_area = in.empty() ? 0 : area(in.front()); double inter_vol = inter_area * max(0.0, ymax - ymin); double det_vol = d.h * d.l * d.w; double gt_vol = g.h * g.l * g.w; double o; if(criterion==-1) // union o = inter_vol / (det_vol + gt_vol - inter_vol); else if(criterion==0) // bbox_a o = inter_vol / det_vol; else if(criterion==1) // bbox_b o = inter_vol / gt_vol; return o; } vector getThresholds(vector &v, double n_groundtruth){ // holds scores needed to compute N_SAMPLE_PTS recall values vector t; // sort scores in descending order // (highest score is assumed to give best/most confident detections) sort(v.begin(), v.end(), greater()); // get scores for linearly spaced recall double current_recall = 0; for(int32_t i=0; i >, const vector &det, vector &ignored_gt, vector &dc, vector &ignored_det, int32_t &n_gt, DIFFICULTY difficulty){ // extract ground truth bounding boxes for current evaluation class for(int32_t i=0;iMAX_OCCLUSION[difficulty] || gt[i].truncation>MAX_TRUNCATION[difficulty] || height >, const vector &det, const vector &dc, const vector &ignored_gt, const vector &ignored_det, bool compute_fp, double (*boxoverlap)(tDetection, tGroundtruth, int32_t), METRIC metric, bool compute_aos=false, double thresh=0, bool debug=false){ tPrData stat = tPrData(); const double NO_DETECTION = -10000000; vector delta; // holds angular difference for TPs (needed for AOS evaluation) vector assigned_detection; // holds wether a detection was assigned to a valid or ignored ground truth assigned_detection.assign(det.size(), false); vector ignored_threshold; ignored_threshold.assign(det.size(), false); // holds detections with a threshold lower than thresh if FP are computed // detections with a low score are ignored for computing precision (needs FP) if(compute_fp) for(int32_t i=0; i 0.5) (logical len(det)) =======================================================================*/ int32_t det_idx = -1; double valid_detection = NO_DETECTION; double max_overlap = 0; // search for a possible detection bool assigned_ignored_det = false; for(int32_t j=0; jMIN_OVERLAP[metric][current_class] && det[j].thresh>valid_detection){ det_idx = j; valid_detection = det[j].thresh; } // for computing pr curve values, the candidate with the greatest overlap is considered // if the greatest overlap is an ignored detection (min_height), the overlapping detection is used else if(compute_fp && overlap>MIN_OVERLAP[metric][current_class] && (overlap>max_overlap || assigned_ignored_det) && ignored_det[j]==0){ max_overlap = overlap; det_idx = j; valid_detection = 1; assigned_ignored_det = false; } else if(compute_fp && overlap>MIN_OVERLAP[metric][current_class] && valid_detection==NO_DETECTION && ignored_det[j]==1){ det_idx = j; valid_detection = 1; assigned_ignored_det = true; } } /*======================================================================= compute TP, FP and FN =======================================================================*/ // nothing was assigned to this valid ground truth if(valid_detection==NO_DETECTION && ignored_gt[i]==0) { stat.fn++; } // only evaluate valid ground truth <=> detection assignments (considering difficulty level) else if(valid_detection!=NO_DETECTION && (ignored_gt[i]==1 || ignored_det[det_idx]==1)) assigned_detection[det_idx] = true; // found a valid true positive else if(valid_detection!=NO_DETECTION){ // write highest score to threshold vector stat.tp++; stat.v.push_back(det[det_idx].thresh); // compute angular difference of detection and ground truth if valid detection orientation was provided if(compute_aos) delta.push_back(gt[i].box.alpha - det[det_idx].box.alpha); // clean up assigned_detection[det_idx] = true; } } // if FP are requested, consider stuff area if(compute_fp){ // count fp for(int32_t i=0; iMIN_OVERLAP[metric][current_class]){ assigned_detection[j] = true; nstuff++; } } } // FP = no. of all not to ground truth assigned detections - detections assigned to stuff areas stat.fp -= nstuff; // if all orientation values are valid, the AOS is computed if(compute_aos){ vector tmp; // FP have a similarity of 0, for all TP compute AOS tmp.assign(stat.fp, 0); for(int32_t i=0; i0 || stat.fp>0) stat.similarity = accumulate(tmp.begin(), tmp.end(), 0.0); // there was neither a FP nor a TP, so the similarity is ignored in the evaluation else stat.similarity = -1; } } return stat; } /*======================================================================= EVALUATE CLASS-WISE =======================================================================*/ bool eval_class (FILE *fp_det, FILE *fp_ori, CLASSES current_class, const vector< vector > &groundtruth, const vector< vector > &detections, bool compute_aos, double (*boxoverlap)(tDetection, tGroundtruth, int32_t), vector &precision, vector &aos, DIFFICULTY difficulty, METRIC metric) { assert(groundtruth.size() == detections.size()); // init int32_t n_gt=0; // total no. of gt (denominator of recall) vector v, thresholds; // detection scores, evaluated for recall discretization vector< vector > ignored_gt, ignored_det; // index of ignored gt detection for current class/difficulty vector< vector > dontcare; // index of dontcare areas, included in ground truth // for all test images do for (int32_t i=0; i i_gt, i_det; vector dc; // only evaluate objects of current class and ignore occluded, truncated objects cleanData(current_class, groundtruth[i], detections[i], i_gt, dc, i_det, n_gt, difficulty); ignored_gt.push_back(i_gt); ignored_det.push_back(i_det); dontcare.push_back(dc); // compute statistics to get recall values tPrData pr_tmp = tPrData(); pr_tmp = computeStatistics(current_class, groundtruth[i], detections[i], dc, i_gt, i_det, false, boxoverlap, metric); // add detection scores to vector over all images for(int32_t j=0; j pr; pr.assign(thresholds.size(),tPrData()); for (int32_t i=0; i recall; precision.assign(N_SAMPLE_PTS, 0); if(compute_aos) aos.assign(N_SAMPLE_PTS, 0); double r=0; for (int32_t i=0; i vals[],bool is_aos){ char command[1024]; // save plot data to file FILE *fp = fopen((dir_name + "/" + file_name + ".txt").c_str(),"w"); printf("save %s\n", (dir_name + "/" + file_name + ".txt").c_str()); for (int32_t i=0; i<(int)N_SAMPLE_PTS; i++) fprintf(fp,"%f %f %f %f\n",(double)i/(N_SAMPLE_PTS-1.0),vals[0][i],vals[1][i],vals[2][i]); fclose(fp); // create png + eps for (int32_t j=0; j<2; j++) { // open file FILE *fp = fopen((dir_name + "/" + file_name + ".gp").c_str(),"w"); // save gnuplot instructions if (j==0) { fprintf(fp,"set term png size 450,315 font \"Helvetica\" 11\n"); fprintf(fp,"set output \"%s.png\"\n",file_name.c_str()); } else { fprintf(fp,"set term postscript eps enhanced color font \"Helvetica\" 20\n"); fprintf(fp,"set output \"%s.eps\"\n",file_name.c_str()); } // set labels and ranges fprintf(fp,"set size ratio 0.7\n"); fprintf(fp,"set xrange [0:1]\n"); fprintf(fp,"set yrange [0:1]\n"); fprintf(fp,"set xlabel \"Recall\"\n"); if (!is_aos) fprintf(fp,"set ylabel \"Precision\"\n"); else fprintf(fp,"set ylabel \"Orientation Similarity\"\n"); obj_type[0] = toupper(obj_type[0]); fprintf(fp,"set title \"%s\"\n",obj_type.c_str()); // line width int32_t lw = 5; if (j==0) lw = 3; // plot error curve fprintf(fp,"plot "); fprintf(fp,"\"%s.txt\" using 1:2 title 'Easy' with lines ls 1 lw %d,",file_name.c_str(),lw); fprintf(fp,"\"%s.txt\" using 1:3 title 'Moderate' with lines ls 2 lw %d,",file_name.c_str(),lw); fprintf(fp,"\"%s.txt\" using 1:4 title 'Hard' with lines ls 3 lw %d",file_name.c_str(),lw); // close file fclose(fp); // run gnuplot => create png + eps sprintf(command,"cd %s; gnuplot %s",dir_name.c_str(),(file_name + ".gp").c_str()); system(command); } // create pdf and crop sprintf(command,"cd %s; ps2pdf %s.eps %s_large.pdf",dir_name.c_str(),file_name.c_str(),file_name.c_str()); system(command); sprintf(command,"cd %s; pdfcrop %s_large.pdf %s.pdf",dir_name.c_str(),file_name.c_str(),file_name.c_str()); system(command); sprintf(command,"cd %s; rm %s_large.pdf",dir_name.c_str(),file_name.c_str()); system(command); } bool eval(string result_sha,Mail* mail){ // set some global parameters initGlobals(); // ground truth and result directories string gt_dir = "data/object/label_2"; string result_dir = "results/" + result_sha; string plot_dir = result_dir + "/plot"; // create output directories system(("mkdir " + plot_dir).c_str()); // hold detections and ground truth in memory vector< vector > groundtruth; vector< vector > detections; // holds wether orientation similarity shall be computed (might be set to false while loading detections) // and which labels where provided by this submission bool compute_aos=true; vector eval_image(NUM_CLASS, false); vector eval_ground(NUM_CLASS, false); vector eval_3d(NUM_CLASS, false); // for all images read groundtruth and detections mail->msg("Loading detections..."); for (int32_t i=0; i gt = loadGroundtruth(gt_dir + "/" + file_name,gt_success); vector det = loadDetections(result_dir + "/data/" + file_name, compute_aos, eval_image, eval_ground, eval_3d, det_success); groundtruth.push_back(gt); detections.push_back(det); // check for errors if (!gt_success) { mail->msg("ERROR: Couldn't read: %s of ground truth. Please write me an email!", file_name); return false; } if (!det_success) { mail->msg("ERROR: Couldn't read: %s", file_name); return false; } } mail->msg(" done."); // holds pointers for result files FILE *fp_det=0, *fp_ori=0; // eval image 2D bounding boxes for (int c = 0; c < NUM_CLASS; c++) { CLASSES cls = (CLASSES)c; if (eval_image[c]) { fp_det = fopen((result_dir + "/stats_" + CLASS_NAMES[c] + "_detection.txt").c_str(), "w"); if(compute_aos) fp_ori = fopen((result_dir + "/stats_" + CLASS_NAMES[c] + "_orientation.txt").c_str(),"w"); vector precision[3], aos[3]; if( !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, imageBoxOverlap, precision[0], aos[0], EASY, IMAGE) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, imageBoxOverlap, precision[1], aos[1], MODERATE, IMAGE) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, imageBoxOverlap, precision[2], aos[2], HARD, IMAGE)) { mail->msg("%s evaluation failed.", CLASS_NAMES[c].c_str()); return false; } fclose(fp_det); saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_detection", CLASS_NAMES[c], precision, 0); if(compute_aos){ saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_orientation", CLASS_NAMES[c], aos, 1); fclose(fp_ori); } } } // don't evaluate AOS for birdview boxes and 3D boxes compute_aos = false; // eval bird's eye view bounding boxes for (int c = 0; c < NUM_CLASS; c++) { CLASSES cls = (CLASSES)c; if (eval_ground[c]) { fp_det = fopen((result_dir + "/stats_" + CLASS_NAMES[c] + "_detection_ground.txt").c_str(), "w"); vector precision[3], aos[3]; if( !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, groundBoxOverlap, precision[0], aos[0], EASY, GROUND) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, groundBoxOverlap, precision[1], aos[1], MODERATE, GROUND) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, groundBoxOverlap, precision[2], aos[2], HARD, GROUND)) { mail->msg("%s evaluation failed.", CLASS_NAMES[c].c_str()); return false; } fclose(fp_det); saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_detection_ground", CLASS_NAMES[c], precision, 0); } } // eval 3D bounding boxes for (int c = 0; c < NUM_CLASS; c++) { CLASSES cls = (CLASSES)c; if (eval_3d[c]) { fp_det = fopen((result_dir + "/stats_" + CLASS_NAMES[c] + "_detection_3d.txt").c_str(), "w"); vector precision[3], aos[3]; if( !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, box3DOverlap, precision[0], aos[0], EASY, BOX3D) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, box3DOverlap, precision[1], aos[1], MODERATE, BOX3D) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, box3DOverlap, precision[2], aos[2], HARD, BOX3D)) { mail->msg("%s evaluation failed.", CLASS_NAMES[c].c_str()); return false; } fclose(fp_det); saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_detection_3d", CLASS_NAMES[c], precision, 0); } } // success return true; } int32_t main (int32_t argc,char *argv[]) { // we need 2 or 4 arguments! if (argc!=2 && argc!=4) { cout << "Usage: ./eval_detection result_sha [user_sha email]" << endl; return 1; } // read arguments string result_sha = argv[1]; // init notification mail Mail *mail; if (argc==4) mail = new Mail(argv[3]); else mail = new Mail(); mail->msg("Thank you for participating in our evaluation!"); // run evaluation if (eval(result_sha,mail)) { mail->msg("Your evaluation results are available at:"); mail->msg("http://www.cvlibs.net/datasets/kitti/user_submit_check_login.php?benchmark=object&user=%s&result=%s",argv[2], result_sha.c_str()); } else { system(("rm -r results/" + result_sha).c_str()); mail->msg("An error occured while processing your results."); mail->msg("Please make sure that the data in your zip archive has the right format!"); } // send mail and exit delete mail; return 0; } ================================================ FILE: src/tools/kitti_eval/evaluate_object_3d_offline.cpp ================================================ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "mail.h" BOOST_GEOMETRY_REGISTER_C_ARRAY_CS(cs::cartesian) typedef boost::geometry::model::polygon > Polygon; using namespace std; /*======================================================================= STATIC EVALUATION PARAMETERS =======================================================================*/ // holds the number of test images on the server const int32_t N_TESTIMAGES = 7518; // easy, moderate and hard evaluation level enum DIFFICULTY{EASY=0, MODERATE=1, HARD=2}; // evaluation metrics: image, ground or 3D enum METRIC{IMAGE=0, GROUND=1, BOX3D=2}; // evaluation parameter const int32_t MIN_HEIGHT[3] = {40, 25, 25}; // minimum height for evaluated groundtruth/detections const int32_t MAX_OCCLUSION[3] = {0, 1, 2}; // maximum occlusion level of the groundtruth used for evaluation const double MAX_TRUNCATION[3] = {0.15, 0.3, 0.5}; // maximum truncation level of the groundtruth used for evaluation // evaluated object classes enum CLASSES{CAR=0, PEDESTRIAN=1, CYCLIST=2}; const int NUM_CLASS = 3; // parameters varying per class vector CLASS_NAMES; // the minimum overlap required for 2D evaluation on the image/ground plane and 3D evaluation const double MIN_OVERLAP[3][3] = {{0.7, 0.5, 0.5}, {0.5, 0.25, 0.25}, {0.5, 0.25, 0.25}}; // const double MIN_OVERLAP[3][3] = {{0.7, 0.5, 0.5}, {0.7, 0.5, 0.5}, {0.7, 0.5, 0.5}}; // no. of recall steps that should be evaluated (discretized) const double N_SAMPLE_PTS = 41; // initialize class names void initGlobals () { CLASS_NAMES.push_back("car"); CLASS_NAMES.push_back("pedestrian"); CLASS_NAMES.push_back("cyclist"); } /*======================================================================= DATA TYPES FOR EVALUATION =======================================================================*/ // holding data needed for precision-recall and precision-aos struct tPrData { vector v; // detection score for computing score thresholds double similarity; // orientation similarity int32_t tp; // true positives int32_t fp; // false positives int32_t fn; // false negatives tPrData () : similarity(0), tp(0), fp(0), fn(0) {} }; // holding bounding boxes for ground truth and detections struct tBox { string type; // object type as car, pedestrian or cyclist,... double x1; // left corner double y1; // top corner double x2; // right corner double y2; // bottom corner double alpha; // image orientation tBox (string type, double x1,double y1,double x2,double y2,double alpha) : type(type),x1(x1),y1(y1),x2(x2),y2(y2),alpha(alpha) {} }; // holding ground truth data struct tGroundtruth { tBox box; // object type, box, orientation double truncation; // truncation 0..1 int32_t occlusion; // occlusion 0,1,2 (non, partly, fully) double ry; double t1, t2, t3; double h, w, l; tGroundtruth () : box(tBox("invalild",-1,-1,-1,-1,-10)),truncation(-1),occlusion(-1) {} tGroundtruth (tBox box,double truncation,int32_t occlusion) : box(box),truncation(truncation),occlusion(occlusion) {} tGroundtruth (string type,double x1,double y1,double x2,double y2,double alpha,double truncation,int32_t occlusion) : box(tBox(type,x1,y1,x2,y2,alpha)),truncation(truncation),occlusion(occlusion) {} }; // holding detection data struct tDetection { tBox box; // object type, box, orientation double thresh; // detection score double ry; double t1, t2, t3; double h, w, l; tDetection (): box(tBox("invalid",-1,-1,-1,-1,-10)),thresh(-1000) {} tDetection (tBox box,double thresh) : box(box),thresh(thresh) {} tDetection (string type,double x1,double y1,double x2,double y2,double alpha,double thresh) : box(tBox(type,x1,y1,x2,y2,alpha)),thresh(thresh) {} }; /*======================================================================= FUNCTIONS TO LOAD DETECTION AND GROUND TRUTH DATA ONCE, SAVE RESULTS =======================================================================*/ vector indices; vector loadDetections(string file_name, bool &compute_aos, vector &eval_image, vector &eval_ground, vector &eval_3d, bool &success) { // holds all detections (ignored detections are indicated by an index vector vector detections; FILE *fp = fopen(file_name.c_str(),"r"); if (!fp) { success = false; return detections; } while (!feof(fp)) { tDetection d; double trash; char str[255]; if (fscanf(fp, "%s %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", str, &trash, &trash, &d.box.alpha, &d.box.x1, &d.box.y1, &d.box.x2, &d.box.y2, &d.h, &d.w, &d.l, &d.t1, &d.t2, &d.t3, &d.ry, &d.thresh)==16) { // d.thresh = 1; d.box.type = str; detections.push_back(d); // orientation=-10 is invalid, AOS is not evaluated if at least one orientation is invalid if(d.box.alpha == -10) compute_aos = false; // a class is only evaluated if it is detected at least once for (int c = 0; c < NUM_CLASS; c++) { if (!strcasecmp(d.box.type.c_str(), CLASS_NAMES[c].c_str())) { if (!eval_image[c] && d.box.x1 >= 0) eval_image[c] = true; if (!eval_ground[c] && d.t1 != -1000) eval_ground[c] = true; if (!eval_3d[c] && d.t2 != -1000) eval_3d[c] = true; break; } } } } fclose(fp); success = true; return detections; } vector loadGroundtruth(string file_name,bool &success) { // holds all ground truth (ignored ground truth is indicated by an index vector vector groundtruth; FILE *fp = fopen(file_name.c_str(),"r"); if (!fp) { success = false; return groundtruth; } while (!feof(fp)) { tGroundtruth g; char str[255]; if (fscanf(fp, "%s %lf %d %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf", str, &g.truncation, &g.occlusion, &g.box.alpha, &g.box.x1, &g.box.y1, &g.box.x2, &g.box.y2, &g.h, &g.w, &g.l, &g.t1, &g.t2, &g.t3, &g.ry )==15) { g.box.type = str; groundtruth.push_back(g); } } fclose(fp); success = true; return groundtruth; } void saveStats (const vector &precision, const vector &aos, FILE *fp_det, FILE *fp_ori) { // save precision to file if(precision.empty()) return; for (int32_t i=0; i Polygon toPolygon(const T& g) { using namespace boost::numeric::ublas; using namespace boost::geometry; matrix mref(2, 2); mref(0, 0) = cos(g.ry); mref(0, 1) = sin(g.ry); mref(1, 0) = -sin(g.ry); mref(1, 1) = cos(g.ry); static int count = 0; matrix corners(2, 4); double data[] = {g.l / 2, g.l / 2, -g.l / 2, -g.l / 2, g.w / 2, -g.w / 2, -g.w / 2, g.w / 2}; std::copy(data, data + 8, corners.data().begin()); matrix gc = prod(mref, corners); for (int i = 0; i < 4; ++i) { gc(0, i) += g.t1; gc(1, i) += g.t3; } double points[][2] = {{gc(0, 0), gc(1, 0)},{gc(0, 1), gc(1, 1)},{gc(0, 2), gc(1, 2)},{gc(0, 3), gc(1, 3)},{gc(0, 0), gc(1, 0)}}; Polygon poly; append(poly, points); return poly; } // measure overlap between bird's eye view bounding boxes, parametrized by (ry, l, w, tx, tz) inline double groundBoxOverlap(tDetection d, tGroundtruth g, int32_t criterion = -1) { using namespace boost::geometry; Polygon gp = toPolygon(g); Polygon dp = toPolygon(d); std::vector in, un; intersection(gp, dp, in); union_(gp, dp, un); double inter_area = in.empty() ? 0 : area(in.front()); double union_area = area(un.front()); double o; if(criterion==-1) // union o = inter_area / union_area; else if(criterion==0) // bbox_a o = inter_area / area(dp); else if(criterion==1) // bbox_b o = inter_area / area(gp); return o; } // measure overlap between 3D bounding boxes, parametrized by (ry, h, w, l, tx, ty, tz) inline double box3DOverlap(tDetection d, tGroundtruth g, int32_t criterion = -1) { using namespace boost::geometry; Polygon gp = toPolygon(g); Polygon dp = toPolygon(d); std::vector in, un; intersection(gp, dp, in); union_(gp, dp, un); double ymax = min(d.t2, g.t2); double ymin = max(d.t2 - d.h, g.t2 - g.h); double inter_area = in.empty() ? 0 : area(in.front()); double inter_vol = inter_area * max(0.0, ymax - ymin); double det_vol = d.h * d.l * d.w; double gt_vol = g.h * g.l * g.w; double o; if(criterion==-1) // union o = inter_vol / (det_vol + gt_vol - inter_vol); else if(criterion==0) // bbox_a o = inter_vol / det_vol; else if(criterion==1) // bbox_b o = inter_vol / gt_vol; return o; } vector getThresholds(vector &v, double n_groundtruth){ // holds scores needed to compute N_SAMPLE_PTS recall values vector t; // sort scores in descending order // (highest score is assumed to give best/most confident detections) sort(v.begin(), v.end(), greater()); // get scores for linearly spaced recall double current_recall = 0; for(int32_t i=0; i >, const vector &det, vector &ignored_gt, vector &dc, vector &ignored_det, int32_t &n_gt, DIFFICULTY difficulty){ // extract ground truth bounding boxes for current evaluation class for(int32_t i=0;iMAX_OCCLUSION[difficulty] || gt[i].truncation>MAX_TRUNCATION[difficulty] || height >, const vector &det, const vector &dc, const vector &ignored_gt, const vector &ignored_det, bool compute_fp, double (*boxoverlap)(tDetection, tGroundtruth, int32_t), METRIC metric, bool compute_aos=false, double thresh=0, bool debug=false){ tPrData stat = tPrData(); const double NO_DETECTION = -10000000; vector delta; // holds angular difference for TPs (needed for AOS evaluation) vector assigned_detection; // holds wether a detection was assigned to a valid or ignored ground truth assigned_detection.assign(det.size(), false); vector ignored_threshold; ignored_threshold.assign(det.size(), false); // holds detections with a threshold lower than thresh if FP are computed // detections with a low score are ignored for computing precision (needs FP) if(compute_fp) for(int32_t i=0; i 0.5) (logical len(det)) =======================================================================*/ int32_t det_idx = -1; double valid_detection = NO_DETECTION; double max_overlap = 0; // search for a possible detection bool assigned_ignored_det = false; for(int32_t j=0; jMIN_OVERLAP[metric][current_class] && det[j].thresh>valid_detection){ det_idx = j; valid_detection = det[j].thresh; } // for computing pr curve values, the candidate with the greatest overlap is considered // if the greatest overlap is an ignored detection (min_height), the overlapping detection is used else if(compute_fp && overlap>MIN_OVERLAP[metric][current_class] && (overlap>max_overlap || assigned_ignored_det) && ignored_det[j]==0){ max_overlap = overlap; det_idx = j; valid_detection = 1; assigned_ignored_det = false; } else if(compute_fp && overlap>MIN_OVERLAP[metric][current_class] && valid_detection==NO_DETECTION && ignored_det[j]==1){ det_idx = j; valid_detection = 1; assigned_ignored_det = true; } } /*======================================================================= compute TP, FP and FN =======================================================================*/ // nothing was assigned to this valid ground truth if(valid_detection==NO_DETECTION && ignored_gt[i]==0) { stat.fn++; } // only evaluate valid ground truth <=> detection assignments (considering difficulty level) else if(valid_detection!=NO_DETECTION && (ignored_gt[i]==1 || ignored_det[det_idx]==1)) assigned_detection[det_idx] = true; // found a valid true positive else if(valid_detection!=NO_DETECTION){ // write highest score to threshold vector stat.tp++; stat.v.push_back(det[det_idx].thresh); // compute angular difference of detection and ground truth if valid detection orientation was provided if(compute_aos) delta.push_back(gt[i].box.alpha - det[det_idx].box.alpha); // clean up assigned_detection[det_idx] = true; } } // if FP are requested, consider stuff area if(compute_fp){ // count fp for(int32_t i=0; iMIN_OVERLAP[metric][current_class]){ assigned_detection[j] = true; nstuff++; } } } // FP = no. of all not to ground truth assigned detections - detections assigned to stuff areas stat.fp -= nstuff; // if all orientation values are valid, the AOS is computed if(compute_aos){ vector tmp; // FP have a similarity of 0, for all TP compute AOS tmp.assign(stat.fp, 0); for(int32_t i=0; i0 || stat.fp>0) stat.similarity = accumulate(tmp.begin(), tmp.end(), 0.0); // there was neither a FP nor a TP, so the similarity is ignored in the evaluation else stat.similarity = -1; } } return stat; } /*======================================================================= EVALUATE CLASS-WISE =======================================================================*/ bool eval_class (FILE *fp_det, FILE *fp_ori, CLASSES current_class, const vector< vector > &groundtruth, const vector< vector > &detections, bool compute_aos, double (*boxoverlap)(tDetection, tGroundtruth, int32_t), vector &precision, vector &aos, DIFFICULTY difficulty, METRIC metric) { assert(groundtruth.size() == detections.size()); // init int32_t n_gt=0; // total no. of gt (denominator of recall) vector v, thresholds; // detection scores, evaluated for recall discretization vector< vector > ignored_gt, ignored_det; // index of ignored gt detection for current class/difficulty vector< vector > dontcare; // index of dontcare areas, included in ground truth // for all test images do for (int32_t i=0; i i_gt, i_det; vector dc; // only evaluate objects of current class and ignore occluded, truncated objects cleanData(current_class, groundtruth[i], detections[i], i_gt, dc, i_det, n_gt, difficulty); ignored_gt.push_back(i_gt); ignored_det.push_back(i_det); dontcare.push_back(dc); // compute statistics to get recall values tPrData pr_tmp = tPrData(); pr_tmp = computeStatistics(current_class, groundtruth[i], detections[i], dc, i_gt, i_det, false, boxoverlap, metric); // add detection scores to vector over all images for(int32_t j=0; j pr; pr.assign(thresholds.size(),tPrData()); for (int32_t i=0; i recall; precision.assign(N_SAMPLE_PTS, 0); if(compute_aos) aos.assign(N_SAMPLE_PTS, 0); double r=0; for (int32_t i=0; i vals[],bool is_aos){ char command[1024]; // save plot data to file FILE *fp = fopen((dir_name + "/" + file_name + ".txt").c_str(),"w"); printf("save %s\n", (dir_name + "/" + file_name + ".txt").c_str()); for (int32_t i=0; i<(int)N_SAMPLE_PTS; i++) fprintf(fp,"%f %f %f %f\n",(double)i/(N_SAMPLE_PTS-1.0),vals[0][i],vals[1][i],vals[2][i]); fclose(fp); float sum[3] = {0, 0, 0}; for (int v = 0; v < 3; ++v) for (int i = 0; i < vals[v].size(); i = i + 4) sum[v] += vals[v][i]; printf("%s AP: %f %f %f\n", file_name.c_str(), sum[0] / 11 * 100, sum[1] / 11 * 100, sum[2] / 11 * 100); // create png + eps for (int32_t j=0; j<2; j++) { // open file FILE *fp = fopen((dir_name + "/" + file_name + ".gp").c_str(),"w"); // save gnuplot instructions if (j==0) { fprintf(fp,"set term png size 450,315 font \"Helvetica\" 11\n"); fprintf(fp,"set output \"%s.png\"\n",file_name.c_str()); } else { fprintf(fp,"set term postscript eps enhanced color font \"Helvetica\" 20\n"); fprintf(fp,"set output \"%s.eps\"\n",file_name.c_str()); } // set labels and ranges fprintf(fp,"set size ratio 0.7\n"); fprintf(fp,"set xrange [0:1]\n"); fprintf(fp,"set yrange [0:1]\n"); fprintf(fp,"set xlabel \"Recall\"\n"); if (!is_aos) fprintf(fp,"set ylabel \"Precision\"\n"); else fprintf(fp,"set ylabel \"Orientation Similarity\"\n"); obj_type[0] = toupper(obj_type[0]); fprintf(fp,"set title \"%s\"\n",obj_type.c_str()); // line width int32_t lw = 5; if (j==0) lw = 3; // plot error curve fprintf(fp,"plot "); fprintf(fp,"\"%s.txt\" using 1:2 title 'Easy' with lines ls 1 lw %d,",file_name.c_str(),lw); fprintf(fp,"\"%s.txt\" using 1:3 title 'Moderate' with lines ls 2 lw %d,",file_name.c_str(),lw); fprintf(fp,"\"%s.txt\" using 1:4 title 'Hard' with lines ls 3 lw %d",file_name.c_str(),lw); // close file fclose(fp); // run gnuplot => create png + eps sprintf(command,"cd %s; gnuplot %s",dir_name.c_str(),(file_name + ".gp").c_str()); system(command); } // create pdf and crop sprintf(command,"cd %s; ps2pdf %s.eps %s_large.pdf",dir_name.c_str(),file_name.c_str(),file_name.c_str()); system(command); sprintf(command,"cd %s; pdfcrop %s_large.pdf %s.pdf",dir_name.c_str(),file_name.c_str(),file_name.c_str()); system(command); sprintf(command,"cd %s; rm %s_large.pdf",dir_name.c_str(),file_name.c_str()); system(command); } vector getEvalIndices(const string& result_dir) { DIR* dir; dirent* entity; dir = opendir(result_dir.c_str()); if (dir) { while (entity = readdir(dir)) { string path(entity->d_name); int32_t len = path.size(); if (len < 10) continue; int32_t index = atoi(path.substr(len - 10, 10).c_str()); indices.push_back(index); } } return indices; } bool eval(string gt_dir, string result_dir, Mail* mail){ // set some global parameters initGlobals(); // ground truth and result directories // string gt_dir = "data/object/label_2"; // string result_dir = "results/" + result_sha; string plot_dir = result_dir + "/../plot"; // create output directories system(("mkdir " + plot_dir).c_str()); // hold detections and ground truth in memory vector< vector > groundtruth; vector< vector > detections; // holds wether orientation similarity shall be computed (might be set to false while loading detections) // and which labels where provided by this submission bool compute_aos=true; vector eval_image(NUM_CLASS, false); vector eval_ground(NUM_CLASS, false); vector eval_3d(NUM_CLASS, false); // for all images read groundtruth and detections mail->msg("Loading detections..."); std::vector indices = getEvalIndices(result_dir); printf("number of files for evaluation: %d\n", (int)indices.size()); for (int32_t i=0; i gt = loadGroundtruth(gt_dir + "/" + file_name,gt_success); vector det = loadDetections(result_dir + file_name, compute_aos, eval_image, eval_ground, eval_3d, det_success); groundtruth.push_back(gt); detections.push_back(det); // check for errors if (!gt_success) { mail->msg("ERROR: Couldn't read: %s of ground truth. Please write me an email!", file_name); return false; } if (!det_success) { mail->msg("ERROR: Couldn't read: %s", file_name); return false; } } mail->msg(" done."); // holds pointers for result files FILE *fp_det=0, *fp_ori=0; // eval image 2D bounding boxes for (int c = 0; c < NUM_CLASS; c++) { CLASSES cls = (CLASSES)c; if (eval_image[c]) { fp_det = fopen((result_dir + "/../stats_" + CLASS_NAMES[c] + "_detection.txt").c_str(), "w"); if(compute_aos) fp_ori = fopen((result_dir + "/../stats_" + CLASS_NAMES[c] + "_orientation.txt").c_str(),"w"); vector precision[3], aos[3]; if( !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, imageBoxOverlap, precision[0], aos[0], EASY, IMAGE) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, imageBoxOverlap, precision[1], aos[1], MODERATE, IMAGE) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, imageBoxOverlap, precision[2], aos[2], HARD, IMAGE)) { mail->msg("%s evaluation failed.", CLASS_NAMES[c].c_str()); return false; } fclose(fp_det); saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_detection", CLASS_NAMES[c], precision, 0); if(compute_aos){ saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_orientation", CLASS_NAMES[c], aos, 1); fclose(fp_ori); } } } // don't evaluate AOS for birdview boxes and 3D boxes compute_aos = false; // eval bird's eye view bounding boxes for (int c = 0; c < NUM_CLASS; c++) { CLASSES cls = (CLASSES)c; if (eval_ground[c]) { fp_det = fopen((result_dir + "/../stats_" + CLASS_NAMES[c] + "_detection_ground.txt").c_str(), "w"); vector precision[3], aos[3]; if( !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, groundBoxOverlap, precision[0], aos[0], EASY, GROUND) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, groundBoxOverlap, precision[1], aos[1], MODERATE, GROUND) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, groundBoxOverlap, precision[2], aos[2], HARD, GROUND)) { mail->msg("%s evaluation failed.", CLASS_NAMES[c].c_str()); return false; } fclose(fp_det); saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_detection_ground", CLASS_NAMES[c], precision, 0); } } // eval 3D bounding boxes for (int c = 0; c < NUM_CLASS; c++) { CLASSES cls = (CLASSES)c; if (eval_3d[c]) { fp_det = fopen((result_dir + "/../stats_" + CLASS_NAMES[c] + "_detection_3d.txt").c_str(), "w"); vector precision[3], aos[3]; if( !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, box3DOverlap, precision[0], aos[0], EASY, BOX3D) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, box3DOverlap, precision[1], aos[1], MODERATE, BOX3D) || !eval_class(fp_det, fp_ori, cls, groundtruth, detections, compute_aos, box3DOverlap, precision[2], aos[2], HARD, BOX3D)) { mail->msg("%s evaluation failed.", CLASS_NAMES[c].c_str()); return false; } fclose(fp_det); saveAndPlotPlots(plot_dir, CLASS_NAMES[c] + "_detection_3d", CLASS_NAMES[c], precision, 0); } } // success return true; } int32_t main (int32_t argc,char *argv[]) { // we need 2 or 4 arguments! if (argc!=3) { cout << "Usage: ./eval_detection_3d_offline gt_dir result_dir" << endl; return 1; } // read arguments string gt_dir = argv[1]; string result_dir = argv[2]; // init notification mail Mail *mail; mail = new Mail(); mail->msg("Thank you for participating in our evaluation!"); // run evaluation if (eval(gt_dir, result_dir, mail)) { mail->msg("Your evaluation results are available at:"); mail->msg(result_dir.c_str()); } else { system(("rm -r " + result_dir + "/../plot").c_str()); mail->msg("An error occured while processing your results."); } // send mail and exit delete mail; return 0; } ================================================ FILE: src/tools/kitti_eval/mail.h ================================================ #ifndef MAIL_H #define MAIL_H #include #include #include class Mail { public: Mail (std::string email = "") { if (email.compare("")) { mail = popen("/usr/lib/sendmail -t -f noreply@cvlibs.net","w"); fprintf(mail,"To: %s\n", email.c_str()); fprintf(mail,"From: noreply@cvlibs.net\n"); fprintf(mail,"Subject: KITTI Evaluation Benchmark\n"); fprintf(mail,"\n\n"); } else { mail = 0; } } ~Mail() { if (mail) { pclose(mail); } } void msg (const char *format, ...) { va_list args; va_start(args,format); if (mail) { vfprintf(mail,format,args); fprintf(mail,"\n"); } vprintf(format,args); printf("\n"); va_end(args); } private: FILE *mail; }; #endif ================================================ FILE: src/tools/merge_pascal_json.py ================================================ import json # ANNOT_PATH = '/home/zxy/Datasets/VOC/annotations/' ANNOT_PATH = 'voc/annotations/' OUT_PATH = ANNOT_PATH INPUT_FILES = ['pascal_train2012.json', 'pascal_val2012.json', 'pascal_train2007.json', 'pascal_val2007.json'] OUTPUT_FILE = 'pascal_trainval0712.json' KEYS = ['images', 'type', 'annotations', 'categories'] MERGE_KEYS = ['images', 'annotations'] out = {} tot_anns = 0 for i, file_name in enumerate(INPUT_FILES): data = json.load(open(ANNOT_PATH + file_name, 'r')) print('keys', data.keys()) if i == 0: for key in KEYS: out[key] = data[key] print(file_name, key, len(data[key])) else: out['images'] += data['images'] for j in range(len(data['annotations'])): data['annotations'][j]['id'] += tot_anns out['annotations'] += data['annotations'] print(file_name, 'images', len(data['images'])) print(file_name, 'annotations', len(data['annotations'])) tot_anns = len(out['annotations']) print('tot', len(out['annotations'])) json.dump(out, open(OUT_PATH + OUTPUT_FILE, 'w')) ================================================ FILE: src/tools/reval.py ================================================ #!/usr/bin/env python # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # Modified by Xingyi Zhou # -------------------------------------------------------- # Reval = re-eval. Re-evaluate saved detections. from __future__ import absolute_import from __future__ import division from __future__ import print_function import sys import os.path as osp sys.path.insert(0, osp.join(osp.dirname(__file__), 'voc_eval_lib')) from model.test import apply_nms from datasets.pascal_voc import pascal_voc import pickle import os, argparse import numpy as np import json def parse_args(): """ Parse input arguments """ parser = argparse.ArgumentParser(description='Re-evaluate results') parser.add_argument('detection_file', type=str) parser.add_argument('--output_dir', help='results directory', type=str) parser.add_argument('--imdb', dest='imdb_name', help='dataset to re-evaluate', default='voc_2007_test', type=str) parser.add_argument('--matlab', dest='matlab_eval', help='use matlab for evaluation', action='store_true') parser.add_argument('--comp', dest='comp_mode', help='competition mode', action='store_true') parser.add_argument('--nms', dest='apply_nms', help='apply nms', action='store_true') if len(sys.argv) == 1: parser.print_help() sys.exit(1) args = parser.parse_args() return args def from_dets(imdb_name, detection_file, args): imdb = pascal_voc('test', '2007') imdb.competition_mode(args.comp_mode) imdb.config['matlab_eval'] = args.matlab_eval with open(os.path.join(detection_file), 'rb') as f: if 'json' in detection_file: dets = json.load(f) else: dets = pickle.load(f, encoding='latin1') # import pdb; pdb.set_trace() if args.apply_nms: print('Applying NMS to all detections') test_nms = 0.3 nms_dets = apply_nms(dets, test_nms) else: nms_dets = dets print('Evaluating detections') imdb.evaluate_detections(nms_dets) if __name__ == '__main__': args = parse_args() imdb_name = args.imdb_name from_dets(imdb_name, args.detection_file, args) ================================================ FILE: src/tools/vis_pred.py ================================================ import pycocotools.coco as coco from pycocotools.cocoeval import COCOeval import sys import cv2 import numpy as np import pickle IMG_PATH = '../../data/coco/val2017/' ANN_PATH = '../../data/coco/annotations/instances_val2017.json' DEBUG = True def _coco_box_to_bbox(box): bbox = np.array([box[0], box[1], box[0] + box[2], box[1] + box[3]], dtype=np.int32) return bbox _cat_ids = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 90 ] num_classes = 80 _classes = { ind + 1: cat_id for ind, cat_id in enumerate(_cat_ids) } _to_order = {cat_id: ind for ind, cat_id in enumerate(_cat_ids)} coco = coco.COCO(ANN_PATH) CAT_NAMES = [coco.loadCats([_classes[i + 1]])[0]['name'] \ for i in range(num_classes)] COLORS = [((np.random.random((3, )) * 0.6 + 0.4)*255).astype(np.uint8) \ for _ in range(num_classes)] def add_box(image, bbox, sc, cat_id): cat_id = _to_order[cat_id] cat_name = CAT_NAMES[cat_id] cat_size = cv2.getTextSize(cat_name + '0', cv2.FONT_HERSHEY_SIMPLEX, 0.5, 2)[0] color = np.array(COLORS[cat_id]).astype(np.int32).tolist() txt = '{}{:.0f}'.format(cat_name, sc * 10) if bbox[1] - cat_size[1] - 2 < 0: cv2.rectangle(image, (bbox[0], bbox[1] + 2), (bbox[0] + cat_size[0], bbox[1] + cat_size[1] + 2), color, -1) cv2.putText(image, txt, (bbox[0], bbox[1] + cat_size[1] + 2), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), thickness=1) else: cv2.rectangle(image, (bbox[0], bbox[1] - cat_size[1] - 2), (bbox[0] + cat_size[0], bbox[1] - 2), color, -1) cv2.putText(image, txt, (bbox[0], bbox[1] - 2), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), thickness=1) cv2.rectangle(image, (bbox[0], bbox[1]), (bbox[2], bbox[3]), color, 2) return image if __name__ == '__main__': dets = [] img_ids = coco.getImgIds() num_images = len(img_ids) for k in range(1, len(sys.argv)): pred_path = sys.argv[k] dets.append(coco.loadRes(pred_path)) # import pdb; pdb.set_trace() for i, img_id in enumerate(img_ids): img_info = coco.loadImgs(ids=[img_id])[0] img_path = IMG_PATH + img_info['file_name'] img = cv2.imread(img_path) gt_ids = coco.getAnnIds(imgIds=[img_id]) gts = coco.loadAnns(gt_ids) gt_img = img.copy() for j, pred in enumerate(gts): bbox = _coco_box_to_bbox(pred['bbox']) cat_id = pred['category_id'] gt_img = add_box(gt_img, bbox, 0, cat_id) for k in range(len(dets)): pred_ids = dets[k].getAnnIds(imgIds=[img_id]) preds = dets[k].loadAnns(pred_ids) pred_img = img.copy() for j, pred in enumerate(preds): bbox = _coco_box_to_bbox(pred['bbox']) sc = pred['score'] cat_id = pred['category_id'] if sc > 0.2: pred_img = add_box(pred_img, bbox, sc, cat_id) cv2.imshow('pred{}'.format(k), pred_img) # cv2.imwrite('vis/{}_pred{}.png'.format(i, k), pred_img) cv2.imshow('gt', gt_img) # cv2.imwrite('vis/{}_gt.png'.format(i), gt_img) cv2.waitKey() # coco_eval.evaluate() # coco_eval.accumulate() # coco_eval.summarize() ================================================ FILE: src/tools/voc_eval_lib/LICENSE ================================================ MIT License Copyright (c) 2017 Xinlei Chen 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. ================================================ FILE: src/tools/voc_eval_lib/Makefile ================================================ all: python setup.py build_ext --inplace rm -rf build clean: rm -rf */*.pyc rm -rf */*.so ================================================ FILE: src/tools/voc_eval_lib/__init__.py ================================================ ================================================ FILE: src/tools/voc_eval_lib/datasets/__init__.py ================================================ ================================================ FILE: src/tools/voc_eval_lib/datasets/bbox.pyx ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Sergey Karayev # -------------------------------------------------------- cimport cython import numpy as np cimport numpy as np DTYPE = np.float ctypedef np.float_t DTYPE_t def bbox_overlaps( np.ndarray[DTYPE_t, ndim=2] boxes, np.ndarray[DTYPE_t, ndim=2] query_boxes): """ Parameters ---------- boxes: (N, 4) ndarray of float query_boxes: (K, 4) ndarray of float Returns ------- overlaps: (N, K) ndarray of overlap between boxes and query_boxes """ cdef unsigned int N = boxes.shape[0] cdef unsigned int K = query_boxes.shape[0] cdef np.ndarray[DTYPE_t, ndim=2] overlaps = np.zeros((N, K), dtype=DTYPE) cdef DTYPE_t iw, ih, box_area cdef DTYPE_t ua cdef unsigned int k, n for k in range(K): box_area = ( (query_boxes[k, 2] - query_boxes[k, 0] + 1) * (query_boxes[k, 3] - query_boxes[k, 1] + 1) ) for n in range(N): iw = ( min(boxes[n, 2], query_boxes[k, 2]) - max(boxes[n, 0], query_boxes[k, 0]) + 1 ) if iw > 0: ih = ( min(boxes[n, 3], query_boxes[k, 3]) - max(boxes[n, 1], query_boxes[k, 1]) + 1 ) if ih > 0: ua = float( (boxes[n, 2] - boxes[n, 0] + 1) * (boxes[n, 3] - boxes[n, 1] + 1) + box_area - iw * ih ) overlaps[n, k] = iw * ih / ua return overlaps ================================================ FILE: src/tools/voc_eval_lib/datasets/ds_utils.py ================================================ # -------------------------------------------------------- # Fast/er R-CNN # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np def unique_boxes(boxes, scale=1.0): """Return indices of unique boxes.""" v = np.array([1, 1e3, 1e6, 1e9]) hashes = np.round(boxes * scale).dot(v) _, index = np.unique(hashes, return_index=True) return np.sort(index) def xywh_to_xyxy(boxes): """Convert [x y w h] box format to [x1 y1 x2 y2] format.""" return np.hstack((boxes[:, 0:2], boxes[:, 0:2] + boxes[:, 2:4] - 1)) def xyxy_to_xywh(boxes): """Convert [x1 y1 x2 y2] box format to [x y w h] format.""" return np.hstack((boxes[:, 0:2], boxes[:, 2:4] - boxes[:, 0:2] + 1)) def validate_boxes(boxes, width=0, height=0): """Check that a set of boxes are valid.""" x1 = boxes[:, 0] y1 = boxes[:, 1] x2 = boxes[:, 2] y2 = boxes[:, 3] assert (x1 >= 0).all() assert (y1 >= 0).all() assert (x2 >= x1).all() assert (y2 >= y1).all() assert (x2 < width).all() assert (y2 < height).all() def filter_small_boxes(boxes, min_size): w = boxes[:, 2] - boxes[:, 0] h = boxes[:, 3] - boxes[:, 1] keep = np.where((w >= min_size) & (h > min_size))[0] return keep ================================================ FILE: src/tools/voc_eval_lib/datasets/imdb.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick and Xinlei Chen # Modified by Xingyi Zhou # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import os.path as osp import PIL # from utils.cython_bbox import bbox_overlaps import numpy as np import scipy.sparse from model.config import cfg def bbox_overlaps(box1, box2): area1 = (box1[2] - box1[0] + 1) * (box1[3] - box1[1] + 1) area2 = (box2[2] - box2[0] + 1) * (box2[3] - box2[1] + 1) inter = max(min(box1[2], box2[2]) - max(box1[0], box2[0]) + 1, 0) * \ max(min(box1[3], box2[3]) - max(box1[1], box2[1]) + 1, 0) iou = 1.0 * inter / (area1 + area2 - inter) return iou class imdb(object): """Image database.""" def __init__(self, name, classes=None): self._name = name self._num_classes = 0 if not classes: self._classes = [] else: self._classes = classes self._image_index = [] self._obj_proposer = 'gt' self._roidb = None self._roidb_handler = self.default_roidb # Use this dict for storing dataset specific config options self.config = {} @property def name(self): return self._name @property def num_classes(self): return len(self._classes) @property def classes(self): return self._classes @property def image_index(self): return self._image_index @property def roidb_handler(self): return self._roidb_handler @roidb_handler.setter def roidb_handler(self, val): self._roidb_handler = val def set_proposal_method(self, method): method = eval('self.' + method + '_roidb') self.roidb_handler = method @property def roidb(self): # A roidb is a list of dictionaries, each with the following keys: # boxes # gt_overlaps # gt_classes # flipped if self._roidb is not None: return self._roidb self._roidb = self.roidb_handler() return self._roidb @property def cache_path(self): cache_path = osp.abspath(osp.join(cfg.DATA_DIR, 'cache')) if not os.path.exists(cache_path): os.makedirs(cache_path) return cache_path @property def num_images(self): return len(self.image_index) def image_path_at(self, i): raise NotImplementedError def default_roidb(self): raise NotImplementedError def evaluate_detections(self, all_boxes, output_dir=None): """ all_boxes is a list of length number-of-classes. Each list element is a list of length number-of-images. Each of those list elements is either an empty list [] or a numpy array of detection. all_boxes[class][image] = [] or np.array of shape #dets x 5 """ raise NotImplementedError def _get_widths(self): return [PIL.Image.open(self.image_path_at(i)).size[0] for i in range(self.num_images)] def append_flipped_images(self): num_images = self.num_images widths = self._get_widths() for i in range(num_images): boxes = self.roidb[i]['boxes'].copy() oldx1 = boxes[:, 0].copy() oldx2 = boxes[:, 2].copy() boxes[:, 0] = widths[i] - oldx2 - 1 boxes[:, 2] = widths[i] - oldx1 - 1 assert (boxes[:, 2] >= boxes[:, 0]).all() entry = {'boxes': boxes, 'gt_overlaps': self.roidb[i]['gt_overlaps'], 'gt_classes': self.roidb[i]['gt_classes'], 'flipped': True} self.roidb.append(entry) self._image_index = self._image_index * 2 def evaluate_recall(self, candidate_boxes=None, thresholds=None, area='all', limit=None): """Evaluate detection proposal recall metrics. Returns: results: dictionary of results with keys 'ar': average recall 'recalls': vector recalls at each IoU overlap threshold 'thresholds': vector of IoU overlap thresholds 'gt_overlaps': vector of all ground-truth overlaps """ # Record max overlap value for each gt box # Return vector of overlap values areas = {'all': 0, 'small': 1, 'medium': 2, 'large': 3, '96-128': 4, '128-256': 5, '256-512': 6, '512-inf': 7} area_ranges = [[0 ** 2, 1e5 ** 2], # all [0 ** 2, 32 ** 2], # small [32 ** 2, 96 ** 2], # medium [96 ** 2, 1e5 ** 2], # large [96 ** 2, 128 ** 2], # 96-128 [128 ** 2, 256 ** 2], # 128-256 [256 ** 2, 512 ** 2], # 256-512 [512 ** 2, 1e5 ** 2], # 512-inf ] assert area in areas, 'unknown area range: {}'.format(area) area_range = area_ranges[areas[area]] gt_overlaps = np.zeros(0) num_pos = 0 for i in range(self.num_images): # Checking for max_overlaps == 1 avoids including crowd annotations # (...pretty hacking :/) max_gt_overlaps = self.roidb[i]['gt_overlaps'].toarray().max(axis=1) gt_inds = np.where((self.roidb[i]['gt_classes'] > 0) & (max_gt_overlaps == 1))[0] gt_boxes = self.roidb[i]['boxes'][gt_inds, :] gt_areas = self.roidb[i]['seg_areas'][gt_inds] valid_gt_inds = np.where((gt_areas >= area_range[0]) & (gt_areas <= area_range[1]))[0] gt_boxes = gt_boxes[valid_gt_inds, :] num_pos += len(valid_gt_inds) if candidate_boxes is None: # If candidate_boxes is not supplied, the default is to use the # non-ground-truth boxes from this roidb non_gt_inds = np.where(self.roidb[i]['gt_classes'] == 0)[0] boxes = self.roidb[i]['boxes'][non_gt_inds, :] else: boxes = candidate_boxes[i] if boxes.shape[0] == 0: continue if limit is not None and boxes.shape[0] > limit: boxes = boxes[:limit, :] overlaps = bbox_overlaps(boxes.astype(np.float), gt_boxes.astype(np.float)) _gt_overlaps = np.zeros((gt_boxes.shape[0])) for j in range(gt_boxes.shape[0]): # find which proposal box maximally covers each gt box argmax_overlaps = overlaps.argmax(axis=0) # and get the iou amount of coverage for each gt box max_overlaps = overlaps.max(axis=0) # find which gt box is 'best' covered (i.e. 'best' = most iou) gt_ind = max_overlaps.argmax() gt_ovr = max_overlaps.max() assert (gt_ovr >= 0) # find the proposal box that covers the best covered gt box box_ind = argmax_overlaps[gt_ind] # record the iou coverage of this gt box _gt_overlaps[j] = overlaps[box_ind, gt_ind] assert (_gt_overlaps[j] == gt_ovr) # mark the proposal box and the gt box as used overlaps[box_ind, :] = -1 overlaps[:, gt_ind] = -1 # append recorded iou coverage level gt_overlaps = np.hstack((gt_overlaps, _gt_overlaps)) gt_overlaps = np.sort(gt_overlaps) if thresholds is None: step = 0.05 thresholds = np.arange(0.5, 0.95 + 1e-5, step) recalls = np.zeros_like(thresholds) # compute recall for each iou threshold for i, t in enumerate(thresholds): recalls[i] = (gt_overlaps >= t).sum() / float(num_pos) # ar = 2 * np.trapz(recalls, thresholds) ar = recalls.mean() return {'ar': ar, 'recalls': recalls, 'thresholds': thresholds, 'gt_overlaps': gt_overlaps} def create_roidb_from_box_list(self, box_list, gt_roidb): assert len(box_list) == self.num_images, \ 'Number of boxes must match number of ground-truth images' roidb = [] for i in range(self.num_images): boxes = box_list[i] num_boxes = boxes.shape[0] overlaps = np.zeros((num_boxes, self.num_classes), dtype=np.float32) if gt_roidb is not None and gt_roidb[i]['boxes'].size > 0: gt_boxes = gt_roidb[i]['boxes'] gt_classes = gt_roidb[i]['gt_classes'] gt_overlaps = bbox_overlaps(boxes.astype(np.float), gt_boxes.astype(np.float)) argmaxes = gt_overlaps.argmax(axis=1) maxes = gt_overlaps.max(axis=1) I = np.where(maxes > 0)[0] overlaps[I, gt_classes[argmaxes[I]]] = maxes[I] overlaps = scipy.sparse.csr_matrix(overlaps) roidb.append({ 'boxes': boxes, 'gt_classes': np.zeros((num_boxes,), dtype=np.int32), 'gt_overlaps': overlaps, 'flipped': False, 'seg_areas': np.zeros((num_boxes,), dtype=np.float32), }) return roidb @staticmethod def merge_roidbs(a, b): assert len(a) == len(b) for i in range(len(a)): a[i]['boxes'] = np.vstack((a[i]['boxes'], b[i]['boxes'])) a[i]['gt_classes'] = np.hstack((a[i]['gt_classes'], b[i]['gt_classes'])) a[i]['gt_overlaps'] = scipy.sparse.vstack([a[i]['gt_overlaps'], b[i]['gt_overlaps']]) a[i]['seg_areas'] = np.hstack((a[i]['seg_areas'], b[i]['seg_areas'])) return a def competition_mode(self, on): """Turn competition mode on or off.""" pass ================================================ FILE: src/tools/voc_eval_lib/datasets/pascal_voc.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick and Xinlei Chen # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function import os from datasets.imdb import imdb import datasets.ds_utils as ds_utils import xml.etree.ElementTree as ET import numpy as np import scipy.sparse import scipy.io as sio # import utils.cython_bbox import pickle import subprocess import uuid from .voc_eval import voc_eval from model.config import cfg class pascal_voc(imdb): def __init__(self, image_set, year, use_diff=False): name = 'voc_' + year + '_' + image_set if use_diff: name += '_diff' imdb.__init__(self, name) self._year = year self._image_set = image_set self._devkit_path = self._get_default_path() self._data_path = os.path.join(self._devkit_path, 'VOC' + self._year) self._classes = ('__background__', # always index 0 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor') self._class_to_ind = dict(list(zip(self.classes, list(range(self.num_classes))))) self._image_ext = '.jpg' self._image_index = self._load_image_set_index() # Default to roidb handler self._roidb_handler = self.gt_roidb self._salt = str(uuid.uuid4()) self._comp_id = 'comp4' # PASCAL specific config options self.config = {'cleanup': True, 'use_salt': True, 'use_diff': use_diff, 'matlab_eval': False, 'rpn_file': None} assert os.path.exists(self._devkit_path), \ 'VOCdevkit path does not exist: {}'.format(self._devkit_path) assert os.path.exists(self._data_path), \ 'Path does not exist: {}'.format(self._data_path) def image_path_at(self, i): """ Return the absolute path to image i in the image sequence. """ return self.image_path_from_index(self._image_index[i]) def image_path_from_index(self, index): """ Construct an image path from the image's "index" identifier. """ image_path = os.path.join(self._data_path, 'JPEGImages', index + self._image_ext) assert os.path.exists(image_path), \ 'Path does not exist: {}'.format(image_path) return image_path def _load_image_set_index(self): """ Load the indexes listed in this dataset's image set file. """ # Example path to image set file: # self._devkit_path + /VOCdevkit2007/VOC2007/ImageSets/Main/val.txt image_set_file = os.path.join(self._data_path, 'ImageSets', 'Main', self._image_set + '.txt') assert os.path.exists(image_set_file), \ 'Path does not exist: {}'.format(image_set_file) with open(image_set_file) as f: image_index = [x.strip() for x in f.readlines()] return image_index def _get_default_path(self): """ Return the default path where PASCAL VOC is expected to be installed. """ return os.path.join(cfg.DATA_DIR, 'voc', 'VOCdevkit') def gt_roidb(self): """ Return the database of ground-truth regions of interest. This function loads/saves from/to a cache file to speed up future calls. """ cache_file = os.path.join(self.cache_path, self.name + '_gt_roidb.pkl') if os.path.exists(cache_file): with open(cache_file, 'rb') as fid: try: roidb = pickle.load(fid) except: roidb = pickle.load(fid, encoding='bytes') print('{} gt roidb loaded from {}'.format(self.name, cache_file)) return roidb gt_roidb = [self._load_pascal_annotation(index) for index in self.image_index] with open(cache_file, 'wb') as fid: pickle.dump(gt_roidb, fid, pickle.HIGHEST_PROTOCOL) print('wrote gt roidb to {}'.format(cache_file)) return gt_roidb def rpn_roidb(self): if int(self._year) == 2007 or self._image_set != 'test': gt_roidb = self.gt_roidb() rpn_roidb = self._load_rpn_roidb(gt_roidb) roidb = imdb.merge_roidbs(gt_roidb, rpn_roidb) else: roidb = self._load_rpn_roidb(None) return roidb def _load_rpn_roidb(self, gt_roidb): filename = self.config['rpn_file'] print('loading {}'.format(filename)) assert os.path.exists(filename), \ 'rpn data not found at: {}'.format(filename) with open(filename, 'rb') as f: box_list = pickle.load(f) return self.create_roidb_from_box_list(box_list, gt_roidb) def _load_pascal_annotation(self, index): """ Load image and bounding boxes info from XML file in the PASCAL VOC format. """ filename = os.path.join(self._data_path, 'Annotations', index + '.xml') tree = ET.parse(filename) objs = tree.findall('object') if not self.config['use_diff']: # Exclude the samples labeled as difficult non_diff_objs = [ obj for obj in objs if int(obj.find('difficult').text) == 0] # if len(non_diff_objs) != len(objs): # print 'Removed {} difficult objects'.format( # len(objs) - len(non_diff_objs)) objs = non_diff_objs num_objs = len(objs) boxes = np.zeros((num_objs, 4), dtype=np.uint16) gt_classes = np.zeros((num_objs), dtype=np.int32) overlaps = np.zeros((num_objs, self.num_classes), dtype=np.float32) # "Seg" area for pascal is just the box area seg_areas = np.zeros((num_objs), dtype=np.float32) # Load object bounding boxes into a data frame. for ix, obj in enumerate(objs): bbox = obj.find('bndbox') # Make pixel indexes 0-based x1 = float(bbox.find('xmin').text) - 1 y1 = float(bbox.find('ymin').text) - 1 x2 = float(bbox.find('xmax').text) - 1 y2 = float(bbox.find('ymax').text) - 1 cls = self._class_to_ind[obj.find('name').text.lower().strip()] boxes[ix, :] = [x1, y1, x2, y2] gt_classes[ix] = cls overlaps[ix, cls] = 1.0 seg_areas[ix] = (x2 - x1 + 1) * (y2 - y1 + 1) overlaps = scipy.sparse.csr_matrix(overlaps) return {'boxes': boxes, 'gt_classes': gt_classes, 'gt_overlaps': overlaps, 'flipped': False, 'seg_areas': seg_areas} def _get_comp_id(self): comp_id = (self._comp_id + '_' + self._salt if self.config['use_salt'] else self._comp_id) return comp_id def _get_voc_results_file_template(self): # VOCdevkit/results/VOC2007/Main/_det_test_aeroplane.txt filename = self._get_comp_id() + '_det_' + self._image_set + '_{:s}.txt' path = os.path.join( self._devkit_path, 'results', 'VOC' + self._year, 'Main', filename) return path def _write_voc_results_file(self, all_boxes): for cls_ind, cls in enumerate(self.classes): if cls == '__background__': continue # print('Writing {} VOC results file'.format(cls)) filename = self._get_voc_results_file_template().format(cls) # print(filename) with open(filename, 'wt') as f: for im_ind, index in enumerate(self.image_index): dets = np.array(all_boxes[cls_ind][im_ind]) if len(dets) == 0: continue # the VOCdevkit expects 1-based indices for k in range(dets.shape[0]): f.write('{:s} {:.3f} {:.1f} {:.1f} {:.1f} {:.1f}\n'. format(index, dets[k, -1], dets[k, 0] + 1, dets[k, 1] + 1, dets[k, 2] + 1, dets[k, 3] + 1)) def _do_python_eval(self, output_dir=None): annopath = os.path.join( self._devkit_path, 'VOC' + self._year, 'Annotations', '{:s}.xml') imagesetfile = os.path.join( self._devkit_path, 'VOC' + self._year, 'ImageSets', 'Main', self._image_set + '.txt') cachedir = os.path.join(self._devkit_path, 'annotations_cache') aps = [] # The PASCAL VOC metric changed in 2010 use_07_metric = True if int(self._year) < 2010 else False print('VOC07 metric? ' + ('Yes' if use_07_metric else 'No')) if output_dir is not None and not os.path.isdir(output_dir): os.mkdir(output_dir) for i, cls in enumerate(self._classes): if cls == '__background__': continue filename = self._get_voc_results_file_template().format(cls) rec, prec, ap = voc_eval( filename, annopath, imagesetfile, cls, cachedir, ovthresh=0.5, use_07_metric=use_07_metric, use_diff=self.config['use_diff']) aps += [ap] print(('AP for {} = {:.4f}'.format(cls, ap))) if output_dir is not None: with open(os.path.join(output_dir, cls + '_pr.pkl'), 'wb') as f: pickle.dump({'rec': rec, 'prec': prec, 'ap': ap}, f) print(('Mean AP = {:.4f}'.format(np.mean(aps)))) print('~~~~~~~~') ''' print('Results:') for ap in aps: print(('{:.3f}'.format(ap))) print(('{:.3f}'.format(np.mean(aps)))) print('~~~~~~~~') print('') print('--------------------------------------------------------------') print('Results computed with the **unofficial** Python eval code.') print('Results should be very close to the official MATLAB eval code.') print('Recompute with `./tools/reval.py --matlab ...` for your paper.') print('-- Thanks, The Management') print('--------------------------------------------------------------') ''' def _do_matlab_eval(self, output_dir='output'): print('-----------------------------------------------------') print('Computing results with the official MATLAB eval code.') print('-----------------------------------------------------') path = os.path.join(cfg.ROOT_DIR, 'lib', 'datasets', 'VOCdevkit-matlab-wrapper') cmd = 'cd {} && '.format(path) cmd += '{:s} -nodisplay -nodesktop '.format(cfg.MATLAB) cmd += '-r "dbstop if error; ' cmd += 'voc_eval(\'{:s}\',\'{:s}\',\'{:s}\',\'{:s}\'); quit;"' \ .format(self._devkit_path, self._get_comp_id(), self._image_set, output_dir) print(('Running:\n{}'.format(cmd))) status = subprocess.call(cmd, shell=True) def evaluate_detections(self, all_boxes, output_dir=None): self._write_voc_results_file(all_boxes) self._do_python_eval(output_dir) if self.config['matlab_eval']: self._do_matlab_eval(output_dir) if self.config['cleanup']: for cls in self._classes: if cls == '__background__': continue filename = self._get_voc_results_file_template().format(cls) os.remove(filename) def competition_mode(self, on): if on: self.config['use_salt'] = False self.config['cleanup'] = False else: self.config['use_salt'] = True self.config['cleanup'] = True if __name__ == '__main__': from datasets.pascal_voc import pascal_voc d = pascal_voc('trainval', '2007') res = d.roidb from IPython import embed; embed() ================================================ FILE: src/tools/voc_eval_lib/datasets/voc_eval.py ================================================ # -------------------------------------------------------- # Fast/er R-CNN # Licensed under The MIT License [see LICENSE for details] # Written by Bharath Hariharan # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function import xml.etree.ElementTree as ET import os import pickle import numpy as np def parse_rec(filename): """ Parse a PASCAL VOC xml file """ tree = ET.parse(filename) objects = [] for obj in tree.findall('object'): obj_struct = {} obj_struct['name'] = obj.find('name').text obj_struct['pose'] = obj.find('pose').text obj_struct['truncated'] = int(obj.find('truncated').text) obj_struct['difficult'] = int(obj.find('difficult').text) bbox = obj.find('bndbox') obj_struct['bbox'] = [int(bbox.find('xmin').text), int(bbox.find('ymin').text), int(bbox.find('xmax').text), int(bbox.find('ymax').text)] objects.append(obj_struct) return objects def voc_ap(rec, prec, use_07_metric=False): """ ap = voc_ap(rec, prec, [use_07_metric]) Compute VOC AP given precision and recall. If use_07_metric is true, uses the VOC 07 11 point method (default:False). """ if use_07_metric: # 11 point metric ap = 0. for t in np.arange(0., 1.1, 0.1): if np.sum(rec >= t) == 0: p = 0 else: p = np.max(prec[rec >= t]) # print(t, p) ap = ap + p / 11. else: # correct AP calculation # first append sentinel values at the end mrec = np.concatenate(([0.], rec, [1.])) mpre = np.concatenate(([0.], prec, [0.])) # compute the precision envelope for i in range(mpre.size - 1, 0, -1): mpre[i - 1] = np.maximum(mpre[i - 1], mpre[i]) # to calculate area under PR curve, look for points # where X axis (recall) changes value i = np.where(mrec[1:] != mrec[:-1])[0] # and sum (\Delta recall) * prec ap = np.sum((mrec[i + 1] - mrec[i]) * mpre[i + 1]) return ap def voc_eval(detpath, annopath, imagesetfile, classname, cachedir, ovthresh=0.5, use_07_metric=False, use_diff=False): """rec, prec, ap = voc_eval(detpath, annopath, imagesetfile, classname, [ovthresh], [use_07_metric]) Top level function that does the PASCAL VOC evaluation. detpath: Path to detections detpath.format(classname) should produce the detection results file. annopath: Path to annotations annopath.format(imagename) should be the xml annotations file. imagesetfile: Text file containing the list of images, one image per line. classname: Category name (duh) cachedir: Directory for caching the annotations [ovthresh]: Overlap threshold (default = 0.5) [use_07_metric]: Whether to use VOC07's 11 point AP computation (default False) """ # assumes detections are in detpath.format(classname) # assumes annotations are in annopath.format(imagename) # assumes imagesetfile is a text file with each line an image name # cachedir caches the annotations in a pickle file # first load gt if not os.path.isdir(cachedir): os.mkdir(cachedir) cachefile = os.path.join(cachedir, '%s_annots.pkl' % imagesetfile) # read list of images with open(imagesetfile, 'r') as f: lines = f.readlines() imagenames = [x.strip() for x in lines] if not os.path.isfile(cachefile): # load annotations recs = {} for i, imagename in enumerate(imagenames): recs[imagename] = parse_rec(annopath.format(imagename)) if i % 100 == 0: print('Reading annotation for {:d}/{:d}'.format( i + 1, len(imagenames))) # save print('Saving cached annotations to {:s}'.format(cachefile)) with open(cachefile, 'wb') as f: pickle.dump(recs, f) else: # load with open(cachefile, 'rb') as f: try: recs = pickle.load(f) except: recs = pickle.load(f, encoding='bytes') # extract gt objects for this class class_recs = {} npos = 0 for imagename in imagenames: R = [obj for obj in recs[imagename] if obj['name'] == classname] bbox = np.array([x['bbox'] for x in R]) if use_diff: difficult = np.array([False for x in R]).astype(np.bool) else: difficult = np.array([x['difficult'] for x in R]).astype(np.bool) det = [False] * len(R) npos = npos + sum(~difficult) class_recs[imagename] = {'bbox': bbox, 'difficult': difficult, 'det': det} # read dets detfile = detpath.format(classname) with open(detfile, 'r') as f: lines = f.readlines() splitlines = [x.strip().split(' ') for x in lines] image_ids = [x[0] for x in splitlines] confidence = np.array([float(x[1]) for x in splitlines]) BB = np.array([[float(z) for z in x[2:]] for x in splitlines]) nd = len(image_ids) tp = np.zeros(nd) fp = np.zeros(nd) if BB.shape[0] > 0: # sort by confidence sorted_ind = np.argsort(-confidence) sorted_scores = np.sort(-confidence) BB = BB[sorted_ind, :] image_ids = [image_ids[x] for x in sorted_ind] # go down dets and mark TPs and FPs for d in range(nd): R = class_recs[image_ids[d]] bb = BB[d, :].astype(float) ovmax = -np.inf BBGT = R['bbox'].astype(float) if BBGT.size > 0: # compute overlaps # intersection ixmin = np.maximum(BBGT[:, 0], bb[0]) iymin = np.maximum(BBGT[:, 1], bb[1]) ixmax = np.minimum(BBGT[:, 2], bb[2]) iymax = np.minimum(BBGT[:, 3], bb[3]) iw = np.maximum(ixmax - ixmin + 1., 0.) ih = np.maximum(iymax - iymin + 1., 0.) inters = iw * ih # union uni = ((bb[2] - bb[0] + 1.) * (bb[3] - bb[1] + 1.) + (BBGT[:, 2] - BBGT[:, 0] + 1.) * (BBGT[:, 3] - BBGT[:, 1] + 1.) - inters) overlaps = inters / uni ovmax = np.max(overlaps) jmax = np.argmax(overlaps) if ovmax > ovthresh: if not R['difficult'][jmax]: if not R['det'][jmax]: tp[d] = 1. R['det'][jmax] = 1 else: fp[d] = 1. else: fp[d] = 1. # compute precision recall fp = np.cumsum(fp) tp = np.cumsum(tp) rec = tp / float(npos) # avoid divide by zero in case the first detection matches a difficult # ground truth prec = tp / np.maximum(tp + fp, np.finfo(np.float64).eps) ap = voc_ap(rec, prec, use_07_metric) return rec, prec, ap ================================================ FILE: src/tools/voc_eval_lib/model/__init__.py ================================================ ================================================ FILE: src/tools/voc_eval_lib/model/bbox_transform.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np def bbox_transform(ex_rois, gt_rois): ex_widths = ex_rois[:, 2] - ex_rois[:, 0] + 1.0 ex_heights = ex_rois[:, 3] - ex_rois[:, 1] + 1.0 ex_ctr_x = ex_rois[:, 0] + 0.5 * ex_widths ex_ctr_y = ex_rois[:, 1] + 0.5 * ex_heights gt_widths = gt_rois[:, 2] - gt_rois[:, 0] + 1.0 gt_heights = gt_rois[:, 3] - gt_rois[:, 1] + 1.0 gt_ctr_x = gt_rois[:, 0] + 0.5 * gt_widths gt_ctr_y = gt_rois[:, 1] + 0.5 * gt_heights targets_dx = (gt_ctr_x - ex_ctr_x) / ex_widths targets_dy = (gt_ctr_y - ex_ctr_y) / ex_heights targets_dw = np.log(gt_widths / ex_widths) targets_dh = np.log(gt_heights / ex_heights) targets = np.vstack( (targets_dx, targets_dy, targets_dw, targets_dh)).transpose() return targets def bbox_transform_inv(boxes, deltas): if boxes.shape[0] == 0: return np.zeros((0, deltas.shape[1]), dtype=deltas.dtype) boxes = boxes.astype(deltas.dtype, copy=False) widths = boxes[:, 2] - boxes[:, 0] + 1.0 heights = boxes[:, 3] - boxes[:, 1] + 1.0 ctr_x = boxes[:, 0] + 0.5 * widths ctr_y = boxes[:, 1] + 0.5 * heights dx = deltas[:, 0::4] dy = deltas[:, 1::4] dw = deltas[:, 2::4] dh = deltas[:, 3::4] pred_ctr_x = dx * widths[:, np.newaxis] + ctr_x[:, np.newaxis] pred_ctr_y = dy * heights[:, np.newaxis] + ctr_y[:, np.newaxis] pred_w = np.exp(dw) * widths[:, np.newaxis] pred_h = np.exp(dh) * heights[:, np.newaxis] pred_boxes = np.zeros(deltas.shape, dtype=deltas.dtype) # x1 pred_boxes[:, 0::4] = pred_ctr_x - 0.5 * pred_w # y1 pred_boxes[:, 1::4] = pred_ctr_y - 0.5 * pred_h # x2 pred_boxes[:, 2::4] = pred_ctr_x + 0.5 * pred_w # y2 pred_boxes[:, 3::4] = pred_ctr_y + 0.5 * pred_h return pred_boxes def clip_boxes(boxes, im_shape): """ Clip boxes to image boundaries. """ # x1 >= 0 boxes[:, 0::4] = np.maximum(np.minimum(boxes[:, 0::4], im_shape[1] - 1), 0) # y1 >= 0 boxes[:, 1::4] = np.maximum(np.minimum(boxes[:, 1::4], im_shape[0] - 1), 0) # x2 < im_shape[1] boxes[:, 2::4] = np.maximum(np.minimum(boxes[:, 2::4], im_shape[1] - 1), 0) # y2 < im_shape[0] boxes[:, 3::4] = np.maximum(np.minimum(boxes[:, 3::4], im_shape[0] - 1), 0) return boxes ================================================ FILE: src/tools/voc_eval_lib/model/config.py ================================================ from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import os.path as osp import numpy as np # `pip install easydict` if you don't have it from easydict import EasyDict as edict __C = edict() # Consumers can get config by: # from fast_rcnn_config import cfg cfg = __C # # Training options # __C.TRAIN = edict() # Initial learning rate __C.TRAIN.LEARNING_RATE = 0.001 # Momentum __C.TRAIN.MOMENTUM = 0.9 # Weight decay, for regularization __C.TRAIN.WEIGHT_DECAY = 0.0001 # Factor for reducing the learning rate __C.TRAIN.GAMMA = 0.1 # Step size for reducing the learning rate, currently only support one step __C.TRAIN.STEPSIZE = [30000] # Iteration intervals for showing the loss during training, on command line interface __C.TRAIN.DISPLAY = 10 # Whether to double the learning rate for bias __C.TRAIN.DOUBLE_BIAS = True # Whether to initialize the weights with truncated normal distribution __C.TRAIN.TRUNCATED = False # Whether to have weight decay on bias as well __C.TRAIN.BIAS_DECAY = False # Whether to add ground truth boxes to the pool when sampling regions __C.TRAIN.USE_GT = False # Whether to use aspect-ratio grouping of training images, introduced merely for saving # GPU memory __C.TRAIN.ASPECT_GROUPING = False # The number of snapshots kept, older ones are deleted to save space __C.TRAIN.SNAPSHOT_KEPT = 3 # The time interval for saving tensorflow summaries __C.TRAIN.SUMMARY_INTERVAL = 180 # Scale to use during training (can list multiple scales) # The scale is the pixel size of an image's shortest side __C.TRAIN.SCALES = (600,) # Max pixel size of the longest side of a scaled input image __C.TRAIN.MAX_SIZE = 1000 # Images to use per minibatch __C.TRAIN.IMS_PER_BATCH = 1 # Minibatch size (number of regions of interest [ROIs]) __C.TRAIN.BATCH_SIZE = 128 # Fraction of minibatch that is labeled foreground (i.e. class > 0) __C.TRAIN.FG_FRACTION = 0.25 # Overlap threshold for a ROI to be considered foreground (if >= FG_THRESH) __C.TRAIN.FG_THRESH = 0.5 # Overlap threshold for a ROI to be considered background (class = 0 if # overlap in [LO, HI)) __C.TRAIN.BG_THRESH_HI = 0.5 __C.TRAIN.BG_THRESH_LO = 0.1 # Use horizontally-flipped images during training? __C.TRAIN.USE_FLIPPED = True # Train bounding-box regressors __C.TRAIN.BBOX_REG = True # Overlap required between a ROI and ground-truth box in order for that ROI to # be used as a bounding-box regression training example __C.TRAIN.BBOX_THRESH = 0.5 # Iterations between snapshots __C.TRAIN.SNAPSHOT_ITERS = 5000 # solver.prototxt specifies the snapshot path prefix, this adds an optional # infix to yield the path: [_]_iters_XYZ.caffemodel __C.TRAIN.SNAPSHOT_PREFIX = 'res101_faster_rcnn' # Normalize the targets (subtract empirical mean, divide by empirical stddev) __C.TRAIN.BBOX_NORMALIZE_TARGETS = True # Deprecated (inside weights) __C.TRAIN.BBOX_INSIDE_WEIGHTS = (1.0, 1.0, 1.0, 1.0) # Normalize the targets using "precomputed" (or made up) means and stdevs # (BBOX_NORMALIZE_TARGETS must also be True) __C.TRAIN.BBOX_NORMALIZE_TARGETS_PRECOMPUTED = True __C.TRAIN.BBOX_NORMALIZE_MEANS = (0.0, 0.0, 0.0, 0.0) __C.TRAIN.BBOX_NORMALIZE_STDS = (0.1, 0.1, 0.2, 0.2) # Train using these proposals __C.TRAIN.PROPOSAL_METHOD = 'gt' # Make minibatches from images that have similar aspect ratios (i.e. both # tall and thin or both short and wide) in order to avoid wasting computation # on zero-padding. # Use RPN to detect objects __C.TRAIN.HAS_RPN = True # IOU >= thresh: positive example __C.TRAIN.RPN_POSITIVE_OVERLAP = 0.7 # IOU < thresh: negative example __C.TRAIN.RPN_NEGATIVE_OVERLAP = 0.3 # If an anchor satisfied by positive and negative conditions set to negative __C.TRAIN.RPN_CLOBBER_POSITIVES = False # Max number of foreground examples __C.TRAIN.RPN_FG_FRACTION = 0.5 # Total number of examples __C.TRAIN.RPN_BATCHSIZE = 256 # NMS threshold used on RPN proposals __C.TRAIN.RPN_NMS_THRESH = 0.7 # Number of top scoring boxes to keep before apply NMS to RPN proposals __C.TRAIN.RPN_PRE_NMS_TOP_N = 12000 # Number of top scoring boxes to keep after applying NMS to RPN proposals __C.TRAIN.RPN_POST_NMS_TOP_N = 2000 # Deprecated (outside weights) __C.TRAIN.RPN_BBOX_INSIDE_WEIGHTS = (1.0, 1.0, 1.0, 1.0) # Give the positive RPN examples weight of p * 1 / {num positives} # and give negatives a weight of (1 - p) # Set to -1.0 to use uniform example weighting __C.TRAIN.RPN_POSITIVE_WEIGHT = -1.0 # Whether to use all ground truth bounding boxes for training, # For COCO, setting USE_ALL_GT to False will exclude boxes that are flagged as ''iscrowd'' __C.TRAIN.USE_ALL_GT = True # # Testing options # __C.TEST = edict() # Scale to use during testing (can NOT list multiple scales) # The scale is the pixel size of an image's shortest side __C.TEST.SCALES = (600,) # Max pixel size of the longest side of a scaled input image __C.TEST.MAX_SIZE = 1000 # Overlap threshold used for non-maximum suppression (suppress boxes with # IoU >= this threshold) __C.TEST.NMS = 0.3 # Experimental: treat the (K+1) units in the cls_score layer as linear # predictors (trained, eg, with one-vs-rest SVMs). __C.TEST.SVM = False # Test using bounding-box regressors __C.TEST.BBOX_REG = True # Propose boxes __C.TEST.HAS_RPN = False # Test using these proposals __C.TEST.PROPOSAL_METHOD = 'gt' ## NMS threshold used on RPN proposals __C.TEST.RPN_NMS_THRESH = 0.7 # Number of top scoring boxes to keep before apply NMS to RPN proposals __C.TEST.RPN_PRE_NMS_TOP_N = 6000 # Number of top scoring boxes to keep after applying NMS to RPN proposals __C.TEST.RPN_POST_NMS_TOP_N = 300 # Proposal height and width both need to be greater than RPN_MIN_SIZE (at orig image scale) # __C.TEST.RPN_MIN_SIZE = 16 # Testing mode, default to be 'nms', 'top' is slower but better # See report for details __C.TEST.MODE = 'nms' # Only useful when TEST.MODE is 'top', specifies the number of top proposals to select __C.TEST.RPN_TOP_N = 5000 # # ResNet options # __C.RESNET = edict() # Option to set if max-pooling is appended after crop_and_resize. # if true, the region will be resized to a square of 2xPOOLING_SIZE, # then 2x2 max-pooling is applied; otherwise the region will be directly # resized to a square of POOLING_SIZE __C.RESNET.MAX_POOL = False # Number of fixed blocks during training, by default the first of all 4 blocks is fixed # Range: 0 (none) to 3 (all) __C.RESNET.FIXED_BLOCKS = 1 # # MobileNet options # __C.MOBILENET = edict() # Whether to regularize the depth-wise filters during training __C.MOBILENET.REGU_DEPTH = False # Number of fixed layers during training, by default the bottom 5 of 14 layers is fixed # Range: 0 (none) to 12 (all) __C.MOBILENET.FIXED_LAYERS = 5 # Weight decay for the mobilenet weights __C.MOBILENET.WEIGHT_DECAY = 0.00004 # Depth multiplier __C.MOBILENET.DEPTH_MULTIPLIER = 1. # # MISC # # Pixel mean values (BGR order) as a (1, 1, 3) array # We use the same pixel mean for all networks even though it's not exactly what # they were trained with __C.PIXEL_MEANS = np.array([[[102.9801, 115.9465, 122.7717]]]) # For reproducibility __C.RNG_SEED = 3 # Root directory of project __C.ROOT_DIR = osp.abspath(osp.join(osp.dirname(__file__), '..', '..', '..', '..')) # Data directory __C.DATA_DIR = osp.abspath(osp.join(__C.ROOT_DIR, 'data')) # Name (or path to) the matlab executable __C.MATLAB = 'matlab' # Place outputs under an experiments directory __C.EXP_DIR = 'default' # Use GPU implementation of non-maximum suppression __C.USE_GPU_NMS = True # Use an end-to-end tensorflow model. # Note: models in E2E tensorflow mode have only been tested in feed-forward mode, # but these models are exportable to other tensorflow instances as GraphDef files. __C.USE_E2E_TF = True # Default pooling mode, only 'crop' is available __C.POOLING_MODE = 'crop' # Size of the pooled region after RoI pooling __C.POOLING_SIZE = 7 # Anchor scales for RPN __C.ANCHOR_SCALES = [8,16,32] # Anchor ratios for RPN __C.ANCHOR_RATIOS = [0.5,1,2] # Number of filters for the RPN layer __C.RPN_CHANNELS = 512 def get_output_dir(imdb, weights_filename): """Return the directory where experimental artifacts are placed. If the directory does not exist, it is created. A canonical path is built using the name from an imdb and a network (if not None). """ outdir = osp.abspath(osp.join(__C.ROOT_DIR, 'output', __C.EXP_DIR, imdb.name)) if weights_filename is None: weights_filename = 'default' outdir = osp.join(outdir, weights_filename) if not os.path.exists(outdir): os.makedirs(outdir) return outdir def get_output_tb_dir(imdb, weights_filename): """Return the directory where tensorflow summaries are placed. If the directory does not exist, it is created. A canonical path is built using the name from an imdb and a network (if not None). """ outdir = osp.abspath(osp.join(__C.ROOT_DIR, 'tensorboard', __C.EXP_DIR, imdb.name)) if weights_filename is None: weights_filename = 'default' outdir = osp.join(outdir, weights_filename) if not os.path.exists(outdir): os.makedirs(outdir) return outdir def _merge_a_into_b(a, b): """Merge config dictionary a into config dictionary b, clobbering the options in b whenever they are also specified in a. """ if type(a) is not edict: return for k, v in a.items(): # a must specify keys that are in b if k not in b: raise KeyError('{} is not a valid config key'.format(k)) # the types must match, too old_type = type(b[k]) if old_type is not type(v): if isinstance(b[k], np.ndarray): v = np.array(v, dtype=b[k].dtype) else: raise ValueError(('Type mismatch ({} vs. {}) ' 'for config key: {}').format(type(b[k]), type(v), k)) # recursively merge dicts if type(v) is edict: try: _merge_a_into_b(a[k], b[k]) except: print(('Error under config key: {}'.format(k))) raise else: b[k] = v def cfg_from_file(filename): """Load a config file and merge it into the default options.""" import yaml with open(filename, 'r') as f: yaml_cfg = edict(yaml.load(f)) _merge_a_into_b(yaml_cfg, __C) def cfg_from_list(cfg_list): """Set config keys via list (e.g., from command line).""" from ast import literal_eval assert len(cfg_list) % 2 == 0 for k, v in zip(cfg_list[0::2], cfg_list[1::2]): key_list = k.split('.') d = __C for subkey in key_list[:-1]: assert subkey in d d = d[subkey] subkey = key_list[-1] assert subkey in d try: value = literal_eval(v) except: # handle the case when v is a string literal value = v assert type(value) == type(d[subkey]), \ 'type {} does not match original type {}'.format( type(value), type(d[subkey])) d[subkey] = value ================================================ FILE: src/tools/voc_eval_lib/model/nms_wrapper.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function from model.config import cfg from nms.gpu_nms import gpu_nms from nms.cpu_nms import cpu_nms def nms(dets, thresh, force_cpu=False): """Dispatch to either CPU or GPU NMS implementations.""" if dets.shape[0] == 0: return [] if cfg.USE_GPU_NMS and not force_cpu: return gpu_nms(dets, thresh, device_id=0) else: return cpu_nms(dets, thresh) ================================================ FILE: src/tools/voc_eval_lib/model/test.py ================================================ # -------------------------------------------------------- # Tensorflow Faster R-CNN # Licensed under The MIT License [see LICENSE for details] # Written by Xinlei Chen # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function import cv2 import numpy as np try: import cPickle as pickle except ImportError: import pickle import os import math from utils.timer import Timer from utils.blob import im_list_to_blob from model.config import cfg, get_output_dir from model.bbox_transform import clip_boxes, bbox_transform_inv # from model.nms_wrapper import nms # need to compile cython nms before import nms nms = None # not needed in pascal evaluation def _get_image_blob(im): """Converts an image into a network input. Arguments: im (ndarray): a color image in BGR order Returns: blob (ndarray): a data blob holding an image pyramid im_scale_factors (list): list of image scales (relative to im) used in the image pyramid """ im_orig = im.astype(np.float32, copy=True) im_orig -= cfg.PIXEL_MEANS im_shape = im_orig.shape im_size_min = np.min(im_shape[0:2]) im_size_max = np.max(im_shape[0:2]) processed_ims = [] im_scale_factors = [] for target_size in cfg.TEST.SCALES: im_scale = float(target_size) / float(im_size_min) # Prevent the biggest axis from being more than MAX_SIZE if np.round(im_scale * im_size_max) > cfg.TEST.MAX_SIZE: im_scale = float(cfg.TEST.MAX_SIZE) / float(im_size_max) im = cv2.resize(im_orig, None, None, fx=im_scale, fy=im_scale, interpolation=cv2.INTER_LINEAR) im_scale_factors.append(im_scale) processed_ims.append(im) # Create a blob to hold the input images blob = im_list_to_blob(processed_ims) return blob, np.array(im_scale_factors) def _get_blobs(im): """Convert an image and RoIs within that image into network inputs.""" blobs = {} blobs['data'], im_scale_factors = _get_image_blob(im) return blobs, im_scale_factors def _clip_boxes(boxes, im_shape): """Clip boxes to image boundaries.""" # x1 >= 0 boxes[:, 0::4] = np.maximum(boxes[:, 0::4], 0) # y1 >= 0 boxes[:, 1::4] = np.maximum(boxes[:, 1::4], 0) # x2 < im_shape[1] boxes[:, 2::4] = np.minimum(boxes[:, 2::4], im_shape[1] - 1) # y2 < im_shape[0] boxes[:, 3::4] = np.minimum(boxes[:, 3::4], im_shape[0] - 1) return boxes def _rescale_boxes(boxes, inds, scales): """Rescale boxes according to image rescaling.""" for i in range(boxes.shape[0]): boxes[i,:] = boxes[i,:] / scales[int(inds[i])] return boxes def im_detect(sess, net, im): blobs, im_scales = _get_blobs(im) assert len(im_scales) == 1, "Only single-image batch implemented" im_blob = blobs['data'] blobs['im_info'] = np.array([im_blob.shape[1], im_blob.shape[2], im_scales[0]], dtype=np.float32) _, scores, bbox_pred, rois = net.test_image(sess, blobs['data'], blobs['im_info']) boxes = rois[:, 1:5] / im_scales[0] scores = np.reshape(scores, [scores.shape[0], -1]) bbox_pred = np.reshape(bbox_pred, [bbox_pred.shape[0], -1]) if cfg.TEST.BBOX_REG: # Apply bounding-box regression deltas box_deltas = bbox_pred pred_boxes = bbox_transform_inv(boxes, box_deltas) pred_boxes = _clip_boxes(pred_boxes, im.shape) else: # Simply repeat the boxes, once for each class pred_boxes = np.tile(boxes, (1, scores.shape[1])) return scores, pred_boxes def apply_nms(all_boxes, thresh): """Apply non-maximum suppression to all predicted boxes output by the test_net method. """ num_classes = len(all_boxes) num_images = len(all_boxes[0]) nms_boxes = [[[] for _ in range(num_images)] for _ in range(num_classes)] for cls_ind in range(num_classes): for im_ind in range(num_images): dets = np.array(all_boxes[cls_ind][im_ind], dtype=np.float32) if len(dets) == 0: continue #print('dets', dets) x1 = dets[:, 0] y1 = dets[:, 1] x2 = dets[:, 2] y2 = dets[:, 3] scores = dets[:, 4] inds = np.where((x2 > x1) & (y2 > y1))[0] dets = dets[inds,:] if dets == []: continue keep = nms(dets, thresh) if len(keep) == 0: continue nms_boxes[cls_ind][im_ind] = dets[keep, :].copy() return nms_boxes def test_net(sess, net, imdb, weights_filename, max_per_image=100, thresh=0.): np.random.seed(cfg.RNG_SEED) """Test a Fast R-CNN network on an image database.""" num_images = len(imdb.image_index) # all detections are collected into: # all_boxes[cls][image] = N x 5 array of detections in # (x1, y1, x2, y2, score) all_boxes = [[[] for _ in range(num_images)] for _ in range(imdb.num_classes)] output_dir = get_output_dir(imdb, weights_filename) # timers _t = {'im_detect' : Timer(), 'misc' : Timer()} for i in range(num_images): im = cv2.imread(imdb.image_path_at(i)) _t['im_detect'].tic() scores, boxes = im_detect(sess, net, im) _t['im_detect'].toc() _t['misc'].tic() # skip j = 0, because it's the background class for j in range(1, imdb.num_classes): inds = np.where(scores[:, j] > thresh)[0] cls_scores = scores[inds, j] cls_boxes = boxes[inds, j*4:(j+1)*4] cls_dets = np.hstack((cls_boxes, cls_scores[:, np.newaxis])) \ .astype(np.float32, copy=False) keep = nms(cls_dets, cfg.TEST.NMS) cls_dets = cls_dets[keep, :] all_boxes[j][i] = cls_dets # Limit to max_per_image detections *over all classes* if max_per_image > 0: image_scores = np.hstack([all_boxes[j][i][:, -1] for j in range(1, imdb.num_classes)]) if len(image_scores) > max_per_image: image_thresh = np.sort(image_scores)[-max_per_image] for j in range(1, imdb.num_classes): keep = np.where(all_boxes[j][i][:, -1] >= image_thresh)[0] all_boxes[j][i] = all_boxes[j][i][keep, :] _t['misc'].toc() print('im_detect: {:d}/{:d} {:.3f}s {:.3f}s' \ .format(i + 1, num_images, _t['im_detect'].average_time, _t['misc'].average_time)) det_file = os.path.join(output_dir, 'detections.pkl') with open(det_file, 'wb') as f: pickle.dump(all_boxes, f, pickle.HIGHEST_PROTOCOL) print('Evaluating detections') imdb.evaluate_detections(all_boxes, output_dir) ================================================ FILE: src/tools/voc_eval_lib/nms/.gitignore ================================================ ================================================ FILE: src/tools/voc_eval_lib/nms/__init__.py ================================================ ================================================ FILE: src/tools/voc_eval_lib/nms/cpu_nms.c ================================================ /* Generated by Cython 0.20.1 on Wed Oct 5 13:15:30 2016 */ #define PY_SSIZE_T_CLEAN #ifndef CYTHON_USE_PYLONG_INTERNALS #ifdef PYLONG_BITS_IN_DIGIT #define CYTHON_USE_PYLONG_INTERNALS 0 #else #include "pyconfig.h" #ifdef PYLONG_BITS_IN_DIGIT #define CYTHON_USE_PYLONG_INTERNALS 1 #else #define CYTHON_USE_PYLONG_INTERNALS 0 #endif #endif #endif #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 < 0x02040000 #error Cython requires Python 2.4+. #else #define CYTHON_ABI "0_20_1" #include /* For offsetof */ #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 CYTHON_COMPILING_IN_PYPY #define Py_OptimizeFlag 0 #endif #if PY_VERSION_HEX < 0x02050000 typedef int Py_ssize_t; #define PY_SSIZE_T_MAX INT_MAX #define PY_SSIZE_T_MIN INT_MIN #define PY_FORMAT_SIZE_T "" #define CYTHON_FORMAT_SSIZE_T "" #define PyInt_FromSsize_t(z) PyInt_FromLong(z) #define PyInt_AsSsize_t(o) __Pyx_PyInt_As_int(o) #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ (PyErr_Format(PyExc_TypeError, \ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ (PyObject*)0)) #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ !PyComplex_Check(o)) #define PyIndex_Check __Pyx_PyIndex_Check #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) #define __PYX_BUILD_PY_SSIZE_T "i" #else #define __PYX_BUILD_PY_SSIZE_T "n" #define CYTHON_FORMAT_SSIZE_T "z" #define __Pyx_PyIndex_Check PyIndex_Check #endif #if PY_VERSION_HEX < 0x02060000 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size) #define PyVarObject_HEAD_INIT(type, size) \ PyObject_HEAD_INIT(type) size, #define PyType_Modified(t) typedef struct { void *buf; PyObject *obj; Py_ssize_t len; Py_ssize_t itemsize; int readonly; int ndim; char *format; Py_ssize_t *shape; Py_ssize_t *strides; Py_ssize_t *suboffsets; void *internal; } Py_buffer; #define PyBUF_SIMPLE 0 #define PyBUF_WRITABLE 0x0001 #define PyBUF_FORMAT 0x0004 #define PyBUF_ND 0x0008 #define PyBUF_STRIDES (0x0010 | PyBUF_ND) #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); typedef void (*releasebufferproc)(PyObject *, Py_buffer *); #endif #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 #if PY_VERSION_HEX < 0x02060000 #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") #endif #if PY_MAJOR_VERSION >= 3 #define Py_TPFLAGS_CHECKTYPES 0 #define Py_TPFLAGS_HAVE_INDEX 0 #endif #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) #define Py_TPFLAGS_HAVE_NEWBUFFER 0 #endif #if PY_VERSION_HEX < 0x02060000 #define Py_TPFLAGS_HAVE_VERSION_TAG 0 #endif #if PY_VERSION_HEX < 0x02060000 && !defined(Py_TPFLAGS_IS_ABSTRACT) #define Py_TPFLAGS_IS_ABSTRACT 0 #endif #if PY_VERSION_HEX < 0x030400a1 && !defined(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) #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])) #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 #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 #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_VERSION_HEX < 0x02060000 #define PyBytesObject PyStringObject #define PyBytes_Type PyString_Type #define PyBytes_Check PyString_Check #define PyBytes_CheckExact PyString_CheckExact #define PyBytes_FromString PyString_FromString #define PyBytes_FromStringAndSize PyString_FromStringAndSize #define PyBytes_FromFormat PyString_FromFormat #define PyBytes_DecodeEscape PyString_DecodeEscape #define PyBytes_AsString PyString_AsString #define PyBytes_AsStringAndSize PyString_AsStringAndSize #define PyBytes_Size PyString_Size #define PyBytes_AS_STRING PyString_AS_STRING #define PyBytes_GET_SIZE PyString_GET_SIZE #define PyBytes_Repr PyString_Repr #define PyBytes_Concat PyString_Concat #define PyBytes_ConcatAndDel PyString_ConcatAndDel #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_CheckExact(obj) || PyUnicode_CheckExact(obj) || \ PyString_Check(obj) || PyUnicode_Check(obj)) #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) #endif #if PY_VERSION_HEX < 0x02060000 #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) #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_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) || (PY_VERSION_HEX >= 0x03010300) #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b) #else #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0))) #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1))) #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) #endif #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n))) #else #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n)) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_NAMESTR(n) ((char *)(n)) #define __Pyx_DOCSTR(n) ((char *)(n)) #else #define __Pyx_NAMESTR(n) (n) #define __Pyx_DOCSTR(n) (n) #endif #ifndef CYTHON_INLINE #if 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 #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 #ifdef NAN #define __PYX_NAN() ((float) NAN) #else static CYTHON_INLINE float __PYX_NAN() { /* Initialize NaN. The sign is irrelevant, an exponent with all bits 1 and a nonzero mantissa means NaN. If the first bit in the mantissa is 1, it is a quiet NaN. */ float value; memset(&value, 0xFF, sizeof(value)); return value; } #endif #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 #if defined(WIN32) || defined(MS_WINDOWS) #define _USE_MATH_DEFINES #endif #include #define __PYX_HAVE__nms__cpu_nms #define __PYX_HAVE_API__nms__cpu_nms #include "string.h" #include "stdio.h" #include "stdlib.h" #include "numpy/arrayobject.h" #include "numpy/ufuncobject.h" #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 typedef struct {PyObject **p; char *s; const Py_ssize_t n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/ #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_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 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(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_FromUString(s) __Pyx_PyObject_FromString((char*)s) #define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) #define __Pyx_PyByteArray_FromUString(s) __Pyx_PyByteArray_FromString((char*)s) #define __Pyx_PyStr_FromUString(s) __Pyx_PyStr_FromString((char*)s) #define __Pyx_PyUnicode_FromUString(s) __Pyx_PyUnicode_FromString((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 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_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(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 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII static int __Pyx_sys_getdefaultencoding_not_ascii; static int __Pyx_init_sys_getdefaultencoding_params(void) { PyObject* sys = NULL; PyObject* default_encoding = NULL; PyObject* ascii_chars_u = NULL; PyObject* ascii_chars_b = NULL; sys = PyImport_ImportModule("sys"); if (sys == NULL) goto bad; default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); if (default_encoding == NULL) goto bad; if (strcmp(PyBytes_AsString(default_encoding), "ascii") == 0) { __Pyx_sys_getdefaultencoding_not_ascii = 0; } else { const char* default_encoding_c = PyBytes_AS_STRING(default_encoding); 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 == NULL) goto bad; ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); if (ascii_chars_b == NULL || strncmp(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_XDECREF(sys); Py_XDECREF(default_encoding); Py_XDECREF(ascii_chars_u); Py_XDECREF(ascii_chars_b); return 0; bad: Py_XDECREF(sys); 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 = NULL; PyObject* default_encoding = NULL; char* default_encoding_c; sys = PyImport_ImportModule("sys"); if (sys == NULL) goto bad; default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); if (default_encoding == NULL) goto bad; default_encoding_c = PyBytes_AS_STRING(default_encoding); __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c)); strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); Py_DECREF(sys); Py_DECREF(default_encoding); return 0; bad: Py_XDECREF(sys); Py_XDECREF(default_encoding); return -1; } #endif #endif #ifdef __GNUC__ /* Test for GCC > 2.95 */ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) #else /* __GNUC__ > 2 ... */ #define likely(x) (x) #define unlikely(x) (x) #endif /* __GNUC__ > 2 ... */ #else /* __GNUC__ */ #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 int __pyx_lineno; static int __pyx_clineno = 0; static const char * __pyx_cfilenm= __FILE__; static const char *__pyx_filename; #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", }; #define IS_UNSIGNED(type) (((type) -1) > 0) struct __Pyx_StructField_; #define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0) typedef struct { const char* name; /* for error messages only */ struct __Pyx_StructField_* fields; size_t size; /* sizeof(type) */ size_t arraysize[8]; /* length of array in each dimension */ int ndim; char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject, c_H_ar */ 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< * ctypedef npy_ulonglong ulonglong_t * */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< * ctypedef npy_uintp uintp_t * */ typedef npy_intp __pyx_t_5numpy_intp_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< * * ctypedef npy_double float_t */ typedef npy_uintp __pyx_t_5numpy_uintp_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< * ctypedef npy_longdouble longdouble_t * */ typedef npy_double __pyx_t_5numpy_double_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760 * 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; #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 #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 ---*/ /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< * ctypedef npy_clongdouble clongdouble_t * */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< * * cdef inline object PyArray_MultiIterNew1(a): */ typedef npy_cdouble __pyx_t_5numpy_complex_t; #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); /*proto*/ #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 /* CYTHON_REFNANNY */ #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) #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 static PyObject *__Pyx_GetBuiltinName(PyObject *name); /*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); /*proto*/ static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ const char* function_name); /*proto*/ static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact); /*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 CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); /*proto*/ #else #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) #endif static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /*proto*/ static void __Pyx_RaiseBufferIndexError(int axis); /*proto*/ #define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0) #if CYTHON_COMPILING_IN_CPYTHON 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 #ifndef __PYX_FORCE_INIT_THREADS #define __PYX_FORCE_INIT_THREADS 0 #endif static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); 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 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}; static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); #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(_WIN32) || defined(__clang__)) && defined(__cplusplus) && CYTHON_CCOMPLEX #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 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); #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 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); #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 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); static int __Pyx_check_binary_version(void); #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 static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ typedef struct { int code_line; PyCodeObject* code_object; } __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); static void __Pyx_AddTraceback(const char *funcname, int c_line, int py_line, const char *filename); /*proto*/ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ /* Module declarations from 'cpython.buffer' */ /* Module declarations from 'cpython.ref' */ /* Module declarations from 'libc.string' */ /* Module declarations from 'libc.stdio' */ /* Module declarations from 'cpython.object' */ /* Module declarations from '__builtin__' */ /* Module declarations from 'cpython.type' */ static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; /* 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.cpu_nms' */ static CYTHON_INLINE __pyx_t_5numpy_float32_t __pyx_f_3nms_7cpu_nms_max(__pyx_t_5numpy_float32_t, __pyx_t_5numpy_float32_t); /*proto*/ static CYTHON_INLINE __pyx_t_5numpy_float32_t __pyx_f_3nms_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 "nms.cpu_nms" int __pyx_module_is_main_nms__cpu_nms = 0; /* Implementation of 'nms.cpu_nms' */ static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_ValueError; static PyObject *__pyx_builtin_RuntimeError; static PyObject *__pyx_pf_3nms_7cpu_nms_cpu_nms(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_dets, PyObject *__pyx_v_thresh); /* 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 char __pyx_k_B[] = "B"; static char __pyx_k_H[] = "H"; static char __pyx_k_I[] = "I"; static char __pyx_k_L[] = "L"; static char __pyx_k_O[] = "O"; static char __pyx_k_Q[] = "Q"; static char __pyx_k_b[] = "b"; static char __pyx_k_d[] = "d"; static char __pyx_k_f[] = "f"; static char __pyx_k_g[] = "g"; static char __pyx_k_h[] = "h"; static char __pyx_k_i[] = "i"; static char __pyx_k_j[] = "_j"; static char __pyx_k_l[] = "l"; static char __pyx_k_q[] = "q"; static char __pyx_k_w[] = "w"; static char __pyx_k_Zd[] = "Zd"; static char __pyx_k_Zf[] = "Zf"; static char __pyx_k_Zg[] = "Zg"; static char __pyx_k_np[] = "np"; static char __pyx_k_x1[] = "x1"; static char __pyx_k_x2[] = "x2"; static char __pyx_k_y1[] = "y1"; static char __pyx_k_y2[] = "y2"; static char __pyx_k_i_2[] = "_i"; static char __pyx_k_int[] = "int"; static char __pyx_k_ix1[] = "ix1"; static char __pyx_k_ix2[] = "ix2"; static char __pyx_k_iy1[] = "iy1"; static char __pyx_k_iy2[] = "iy2"; static char __pyx_k_j_2[] = "j"; static char __pyx_k_ovr[] = "ovr"; static char __pyx_k_xx1[] = "xx1"; static char __pyx_k_xx2[] = "xx2"; static char __pyx_k_yy1[] = "yy1"; static char __pyx_k_yy2[] = "yy2"; static char __pyx_k_dets[] = "dets"; static char __pyx_k_keep[] = "keep"; static char __pyx_k_main[] = "__main__"; static char __pyx_k_test[] = "__test__"; static char __pyx_k_areas[] = "areas"; static char __pyx_k_dtype[] = "dtype"; static char __pyx_k_iarea[] = "iarea"; static char __pyx_k_inter[] = "inter"; static char __pyx_k_ndets[] = "ndets"; static char __pyx_k_numpy[] = "numpy"; static char __pyx_k_order[] = "order"; static char __pyx_k_range[] = "range"; static char __pyx_k_zeros[] = "zeros"; static char __pyx_k_import[] = "__import__"; static char __pyx_k_scores[] = "scores"; static char __pyx_k_thresh[] = "thresh"; static char __pyx_k_argsort[] = "argsort"; static char __pyx_k_cpu_nms[] = "cpu_nms"; static char __pyx_k_ValueError[] = "ValueError"; static char __pyx_k_suppressed[] = "suppressed"; static char __pyx_k_nms_cpu_nms[] = "nms.cpu_nms"; static char __pyx_k_RuntimeError[] = "RuntimeError"; static char __pyx_k_pyx_getbuffer[] = "__pyx_getbuffer"; static char __pyx_k_pyx_releasebuffer[] = "__pyx_releasebuffer"; static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; static char __pyx_k_nfs_yoda_xinleic_Inf_Code_Faste[] = "/nfs.yoda/xinleic/Inf/Code/Faster-RCNN_TF/lib/nms/cpu_nms.pyx"; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; 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_areas; static PyObject *__pyx_n_s_argsort; static PyObject *__pyx_n_s_cpu_nms; 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_kp_u_ndarray_is_not_C_contiguous; static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou; static PyObject *__pyx_n_s_ndets; static PyObject *__pyx_kp_s_nfs_yoda_xinleic_Inf_Code_Faste; static PyObject *__pyx_n_s_nms_cpu_nms; static PyObject *__pyx_n_s_np; static PyObject *__pyx_n_s_numpy; static PyObject *__pyx_n_s_order; static PyObject *__pyx_n_s_ovr; static PyObject *__pyx_n_s_pyx_getbuffer; static PyObject *__pyx_n_s_pyx_releasebuffer; 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_kp_u_unknown_dtype_code_in_numpy_pxd; 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_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__3; static PyObject *__pyx_slice__5; static PyObject *__pyx_slice__7; static PyObject *__pyx_slice__9; static PyObject *__pyx_tuple__2; static PyObject *__pyx_tuple__4; static PyObject *__pyx_tuple__6; static PyObject *__pyx_tuple__8; static PyObject *__pyx_slice__11; static PyObject *__pyx_tuple__10; static PyObject *__pyx_tuple__12; static PyObject *__pyx_tuple__13; static PyObject *__pyx_tuple__14; static PyObject *__pyx_tuple__15; static PyObject *__pyx_tuple__16; static PyObject *__pyx_tuple__17; static PyObject *__pyx_tuple__18; static PyObject *__pyx_codeobj__19; /* "nms/cpu_nms.pyx":11 * 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_3nms_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); /* "nms/cpu_nms.pyx":12 * * 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; /* "nms/cpu_nms.pyx":11 * 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; } /* "nms/cpu_nms.pyx":14 * 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_3nms_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); /* "nms/cpu_nms.pyx":15 * * 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; /* "nms/cpu_nms.pyx":14 * 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; } /* "nms/cpu_nms.pyx":17 * 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_3nms_7cpu_nms_1cpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static PyMethodDef __pyx_mdef_3nms_7cpu_nms_1cpu_nms = {__Pyx_NAMESTR("cpu_nms"), (PyCFunction)__pyx_pw_3nms_7cpu_nms_1cpu_nms, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)}; static PyObject *__pyx_pw_3nms_7cpu_nms_1cpu_nms(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyArrayObject *__pyx_v_dets = 0; PyObject *__pyx_v_thresh = 0; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 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); 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("cpu_nms", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "cpu_nms") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L3_error;} __pyx_L3_error:; __Pyx_AddTraceback("nms.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_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_thresh), (&PyFloat_Type), 1, "thresh", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_pf_3nms_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_3nms_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; PyArrayObject *__pyx_t_10 = NULL; PyObject *__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; int __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; int __pyx_t_24; int __pyx_t_25; int __pyx_t_26; int __pyx_t_27; int __pyx_t_28; int __pyx_t_29; int __pyx_t_30; int __pyx_t_31; int __pyx_t_32; int __pyx_t_33; int __pyx_t_34; __pyx_t_5numpy_float32_t __pyx_t_35; int __pyx_t_36; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __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_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __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/cpu_nms.pyx":18 * * 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 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__2); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __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; /* "nms/cpu_nms.pyx":19 * 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 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__4); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __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; /* "nms/cpu_nms.pyx":20 * 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 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__6); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __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; /* "nms/cpu_nms.pyx":21 * 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 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__8); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __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; /* "nms/cpu_nms.pyx":22 * 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 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__10); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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; /* "nms/cpu_nms.pyx":24 * 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] * */ __pyx_t_1 = PyNumber_Subtract(((PyObject *)__pyx_v_x2), ((PyObject *)__pyx_v_x1)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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; /* "nms/cpu_nms.pyx":25 * * 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] # <<<<<<<<<<<<<< * * cdef int ndets = dets.shape[0] */ __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_scores), __pyx_n_s_argsort); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_GetItem(__pyx_t_8, __pyx_slice__11); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_10 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_order.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__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_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __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_10 = 0; __pyx_v_order = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; /* "nms/cpu_nms.pyx":27 * cdef np.ndarray[np.int_t, ndim=1] order = scores.argsort()[::-1] * * 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]); /* "nms/cpu_nms.pyx":29 * cdef int ndets = dets.shape[0] * cdef np.ndarray[np.int_t, ndim=1] suppressed = \ * np.zeros((ndets), dtype=np.int) # <<<<<<<<<<<<<< * * # nominal indices */ __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_int); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_dtype, __pyx_t_12) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __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; /* "nms/cpu_nms.pyx":42 * 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_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_12); __pyx_v_keep = ((PyObject*)__pyx_t_12); __pyx_t_12 = 0; /* "nms/cpu_nms.pyx":43 * * keep = [] * for _i in range(ndets): # <<<<<<<<<<<<<< * i = order[_i] * if suppressed[i] == 1: */ __pyx_t_14 = __pyx_v_ndets; for (__pyx_t_15 = 0; __pyx_t_15 < __pyx_t_14; __pyx_t_15+=1) { __pyx_v__i = __pyx_t_15; /* "nms/cpu_nms.pyx":44 * keep = [] * for _i in range(ndets): * i = order[_i] # <<<<<<<<<<<<<< * if suppressed[i] == 1: * continue */ __pyx_t_16 = __pyx_v__i; __pyx_t_17 = -1; if (__pyx_t_16 < 0) { __pyx_t_16 += __pyx_pybuffernd_order.diminfo[0].shape; if (unlikely(__pyx_t_16 < 0)) __pyx_t_17 = 0; } else if (unlikely(__pyx_t_16 >= __pyx_pybuffernd_order.diminfo[0].shape)) __pyx_t_17 = 0; if (unlikely(__pyx_t_17 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_17); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_i = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_order.rcbuffer->pybuffer.buf, __pyx_t_16, __pyx_pybuffernd_order.diminfo[0].strides)); /* "nms/cpu_nms.pyx":45 * 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_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __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) { /* "nms/cpu_nms.pyx":46 * i = order[_i] * if suppressed[i] == 1: * continue # <<<<<<<<<<<<<< * keep.append(i) * ix1 = x1[i] */ goto __pyx_L3_continue; } /* "nms/cpu_nms.pyx":47 * 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_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __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 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* "nms/cpu_nms.pyx":48 * continue * keep.append(i) * ix1 = x1[i] # <<<<<<<<<<<<<< * iy1 = y1[i] * ix2 = x2[i] */ __pyx_t_18 = __pyx_v_i; __pyx_t_21 = -1; if (__pyx_t_18 < 0) { __pyx_t_18 += __pyx_pybuffernd_x1.diminfo[0].shape; if (unlikely(__pyx_t_18 < 0)) __pyx_t_21 = 0; } else if (unlikely(__pyx_t_18 >= __pyx_pybuffernd_x1.diminfo[0].shape)) __pyx_t_21 = 0; if (unlikely(__pyx_t_21 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_21); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_ix1 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x1.rcbuffer->pybuffer.buf, __pyx_t_18, __pyx_pybuffernd_x1.diminfo[0].strides)); /* "nms/cpu_nms.pyx":49 * keep.append(i) * ix1 = x1[i] * iy1 = y1[i] # <<<<<<<<<<<<<< * ix2 = x2[i] * iy2 = y2[i] */ __pyx_t_21 = __pyx_v_i; __pyx_t_22 = -1; if (__pyx_t_21 < 0) { __pyx_t_21 += __pyx_pybuffernd_y1.diminfo[0].shape; if (unlikely(__pyx_t_21 < 0)) __pyx_t_22 = 0; } else if (unlikely(__pyx_t_21 >= __pyx_pybuffernd_y1.diminfo[0].shape)) __pyx_t_22 = 0; if (unlikely(__pyx_t_22 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_22); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_iy1 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y1.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_y1.diminfo[0].strides)); /* "nms/cpu_nms.pyx":50 * ix1 = x1[i] * iy1 = y1[i] * ix2 = x2[i] # <<<<<<<<<<<<<< * iy2 = y2[i] * iarea = areas[i] */ __pyx_t_22 = __pyx_v_i; __pyx_t_23 = -1; if (__pyx_t_22 < 0) { __pyx_t_22 += __pyx_pybuffernd_x2.diminfo[0].shape; if (unlikely(__pyx_t_22 < 0)) __pyx_t_23 = 0; } else if (unlikely(__pyx_t_22 >= __pyx_pybuffernd_x2.diminfo[0].shape)) __pyx_t_23 = 0; if (unlikely(__pyx_t_23 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_23); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_ix2 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x2.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_x2.diminfo[0].strides)); /* "nms/cpu_nms.pyx":51 * iy1 = y1[i] * ix2 = x2[i] * iy2 = y2[i] # <<<<<<<<<<<<<< * iarea = areas[i] * for _j in range(_i + 1, ndets): */ __pyx_t_23 = __pyx_v_i; __pyx_t_24 = -1; if (__pyx_t_23 < 0) { __pyx_t_23 += __pyx_pybuffernd_y2.diminfo[0].shape; if (unlikely(__pyx_t_23 < 0)) __pyx_t_24 = 0; } else if (unlikely(__pyx_t_23 >= __pyx_pybuffernd_y2.diminfo[0].shape)) __pyx_t_24 = 0; if (unlikely(__pyx_t_24 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_24); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_iy2 = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y2.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_y2.diminfo[0].strides)); /* "nms/cpu_nms.pyx":52 * ix2 = x2[i] * iy2 = y2[i] * iarea = areas[i] # <<<<<<<<<<<<<< * for _j in range(_i + 1, ndets): * j = order[_j] */ __pyx_t_24 = __pyx_v_i; __pyx_t_25 = -1; if (__pyx_t_24 < 0) { __pyx_t_24 += __pyx_pybuffernd_areas.diminfo[0].shape; if (unlikely(__pyx_t_24 < 0)) __pyx_t_25 = 0; } else if (unlikely(__pyx_t_24 >= __pyx_pybuffernd_areas.diminfo[0].shape)) __pyx_t_25 = 0; if (unlikely(__pyx_t_25 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_25); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_iarea = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_areas.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_areas.diminfo[0].strides)); /* "nms/cpu_nms.pyx":53 * iy2 = y2[i] * iarea = areas[i] * for _j in range(_i + 1, ndets): # <<<<<<<<<<<<<< * j = order[_j] * if suppressed[j] == 1: */ __pyx_t_25 = __pyx_v_ndets; for (__pyx_t_26 = (__pyx_v__i + 1); __pyx_t_26 < __pyx_t_25; __pyx_t_26+=1) { __pyx_v__j = __pyx_t_26; /* "nms/cpu_nms.pyx":54 * iarea = areas[i] * for _j in range(_i + 1, ndets): * j = order[_j] # <<<<<<<<<<<<<< * if suppressed[j] == 1: * continue */ __pyx_t_27 = __pyx_v__j; __pyx_t_28 = -1; if (__pyx_t_27 < 0) { __pyx_t_27 += __pyx_pybuffernd_order.diminfo[0].shape; if (unlikely(__pyx_t_27 < 0)) __pyx_t_28 = 0; } else if (unlikely(__pyx_t_27 >= __pyx_pybuffernd_order.diminfo[0].shape)) __pyx_t_28 = 0; if (unlikely(__pyx_t_28 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_28); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_j = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_order.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_order.diminfo[0].strides)); /* "nms/cpu_nms.pyx":55 * for _j in range(_i + 1, ndets): * j = order[_j] * if suppressed[j] == 1: # <<<<<<<<<<<<<< * continue * xx1 = max(ix1, x1[j]) */ __pyx_t_28 = __pyx_v_j; __pyx_t_29 = -1; if (__pyx_t_28 < 0) { __pyx_t_28 += __pyx_pybuffernd_suppressed.diminfo[0].shape; if (unlikely(__pyx_t_28 < 0)) __pyx_t_29 = 0; } else if (unlikely(__pyx_t_28 >= __pyx_pybuffernd_suppressed.diminfo[0].shape)) __pyx_t_29 = 0; if (unlikely(__pyx_t_29 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_29); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_19 = (((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_suppressed.diminfo[0].strides)) == 1) != 0); if (__pyx_t_19) { /* "nms/cpu_nms.pyx":56 * j = order[_j] * if suppressed[j] == 1: * continue # <<<<<<<<<<<<<< * xx1 = max(ix1, x1[j]) * yy1 = max(iy1, y1[j]) */ goto __pyx_L6_continue; } /* "nms/cpu_nms.pyx":57 * if suppressed[j] == 1: * continue * xx1 = max(ix1, x1[j]) # <<<<<<<<<<<<<< * yy1 = max(iy1, y1[j]) * xx2 = min(ix2, x2[j]) */ __pyx_t_29 = __pyx_v_j; __pyx_t_30 = -1; if (__pyx_t_29 < 0) { __pyx_t_29 += __pyx_pybuffernd_x1.diminfo[0].shape; if (unlikely(__pyx_t_29 < 0)) __pyx_t_30 = 0; } else if (unlikely(__pyx_t_29 >= __pyx_pybuffernd_x1.diminfo[0].shape)) __pyx_t_30 = 0; if (unlikely(__pyx_t_30 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_30); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_xx1 = __pyx_f_3nms_7cpu_nms_max(__pyx_v_ix1, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x1.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_x1.diminfo[0].strides))); /* "nms/cpu_nms.pyx":58 * continue * xx1 = max(ix1, x1[j]) * yy1 = max(iy1, y1[j]) # <<<<<<<<<<<<<< * xx2 = min(ix2, x2[j]) * yy2 = min(iy2, y2[j]) */ __pyx_t_30 = __pyx_v_j; __pyx_t_31 = -1; if (__pyx_t_30 < 0) { __pyx_t_30 += __pyx_pybuffernd_y1.diminfo[0].shape; if (unlikely(__pyx_t_30 < 0)) __pyx_t_31 = 0; } else if (unlikely(__pyx_t_30 >= __pyx_pybuffernd_y1.diminfo[0].shape)) __pyx_t_31 = 0; if (unlikely(__pyx_t_31 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_31); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_yy1 = __pyx_f_3nms_7cpu_nms_max(__pyx_v_iy1, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y1.rcbuffer->pybuffer.buf, __pyx_t_30, __pyx_pybuffernd_y1.diminfo[0].strides))); /* "nms/cpu_nms.pyx":59 * 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_31 = __pyx_v_j; __pyx_t_32 = -1; if (__pyx_t_31 < 0) { __pyx_t_31 += __pyx_pybuffernd_x2.diminfo[0].shape; if (unlikely(__pyx_t_31 < 0)) __pyx_t_32 = 0; } else if (unlikely(__pyx_t_31 >= __pyx_pybuffernd_x2.diminfo[0].shape)) __pyx_t_32 = 0; if (unlikely(__pyx_t_32 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_32); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_xx2 = __pyx_f_3nms_7cpu_nms_min(__pyx_v_ix2, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_x2.rcbuffer->pybuffer.buf, __pyx_t_31, __pyx_pybuffernd_x2.diminfo[0].strides))); /* "nms/cpu_nms.pyx":60 * 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_32 = __pyx_v_j; __pyx_t_33 = -1; if (__pyx_t_32 < 0) { __pyx_t_32 += __pyx_pybuffernd_y2.diminfo[0].shape; if (unlikely(__pyx_t_32 < 0)) __pyx_t_33 = 0; } else if (unlikely(__pyx_t_32 >= __pyx_pybuffernd_y2.diminfo[0].shape)) __pyx_t_33 = 0; if (unlikely(__pyx_t_33 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_33); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_yy2 = __pyx_f_3nms_7cpu_nms_min(__pyx_v_iy2, (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_y2.rcbuffer->pybuffer.buf, __pyx_t_32, __pyx_pybuffernd_y2.diminfo[0].strides))); /* "nms/cpu_nms.pyx":61 * 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_3nms_7cpu_nms_max(0.0, ((__pyx_v_xx2 - __pyx_v_xx1) + 1.0)); /* "nms/cpu_nms.pyx":62 * 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_3nms_7cpu_nms_max(0.0, ((__pyx_v_yy2 - __pyx_v_yy1) + 1.0)); /* "nms/cpu_nms.pyx":63 * 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); /* "nms/cpu_nms.pyx":64 * h = max(0.0, yy2 - yy1 + 1) * inter = w * h * ovr = inter / (iarea + areas[j] - inter) # <<<<<<<<<<<<<< * if ovr >= thresh: * suppressed[j] = 1 */ __pyx_t_33 = __pyx_v_j; __pyx_t_34 = -1; if (__pyx_t_33 < 0) { __pyx_t_33 += __pyx_pybuffernd_areas.diminfo[0].shape; if (unlikely(__pyx_t_33 < 0)) __pyx_t_34 = 0; } else if (unlikely(__pyx_t_33 >= __pyx_pybuffernd_areas.diminfo[0].shape)) __pyx_t_34 = 0; if (unlikely(__pyx_t_34 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_34); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_35 = ((__pyx_v_iarea + (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_areas.rcbuffer->pybuffer.buf, __pyx_t_33, __pyx_pybuffernd_areas.diminfo[0].strides))) - __pyx_v_inter); if (unlikely(__pyx_t_35 == 0)) { #ifdef WITH_THREAD PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); #endif PyErr_SetString(PyExc_ZeroDivisionError, "float division"); #ifdef WITH_THREAD PyGILState_Release(__pyx_gilstate_save); #endif {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_v_ovr = (__pyx_v_inter / __pyx_t_35); /* "nms/cpu_nms.pyx":65 * 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_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_19) { /* "nms/cpu_nms.pyx":66 * ovr = inter / (iarea + areas[j] - inter) * if ovr >= thresh: * suppressed[j] = 1 # <<<<<<<<<<<<<< * * return keep */ __pyx_t_34 = __pyx_v_j; __pyx_t_36 = -1; if (__pyx_t_34 < 0) { __pyx_t_34 += __pyx_pybuffernd_suppressed.diminfo[0].shape; if (unlikely(__pyx_t_34 < 0)) __pyx_t_36 = 0; } else if (unlikely(__pyx_t_34 >= __pyx_pybuffernd_suppressed.diminfo[0].shape)) __pyx_t_36 = 0; if (unlikely(__pyx_t_36 != -1)) { __Pyx_RaiseBufferIndexError(__pyx_t_36); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } *__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_suppressed.rcbuffer->pybuffer.buf, __pyx_t_34, __pyx_pybuffernd_suppressed.diminfo[0].strides) = 1; goto __pyx_L9; } __pyx_L9:; __pyx_L6_continue:; } __pyx_L3_continue:; } /* "nms/cpu_nms.pyx":68 * suppressed[j] = 1 * * return keep # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_keep); __pyx_r = __pyx_v_keep; goto __pyx_L0; /* "nms/cpu_nms.pyx":17 * 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_11); __Pyx_XDECREF(__pyx_t_12); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __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("nms.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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # 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; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; char *__pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __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); } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * */ __pyx_v_endian_detector = 1; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":204 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":208 * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< * else: * copy_shape = 0 */ __pyx_v_copy_shape = 1; goto __pyx_L4; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) */ __pyx_v_copy_shape = 0; } __pyx_L4:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":213 * 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_1 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0); if (__pyx_t_1) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * 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_3 = __pyx_t_2; } else { __pyx_t_3 = __pyx_t_1; } if (__pyx_t_3) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215 * 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_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217 * 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_3 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0); if (__pyx_t_3) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * 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_1 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0); __pyx_t_2 = __pyx_t_1; } else { __pyx_t_2 = __pyx_t_3; } if (__pyx_t_2) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219 * 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_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":223 * 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_2 = (__pyx_v_copy_shape != 0); if (__pyx_t_2) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # 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))); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":228 * 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_5 = __pyx_v_ndim; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i = __pyx_t_6; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229 * 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]); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230 * 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]); } goto __pyx_L7; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233 * 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_L7:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":234 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236 * 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)); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< * cdef dtype descr = self.descr * cdef list stack */ __pyx_v_f = NULL; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< * cdef list stack * cdef int offset */ __pyx_t_4 = ((PyObject *)__pyx_v_self->descr); __Pyx_INCREF(__pyx_t_4); __pyx_v_descr = ((PyArray_Descr *)__pyx_t_4); __pyx_t_4 = 0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< * * if not hasfields and not copy_shape: */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246 * 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) { __pyx_t_3 = ((!(__pyx_v_copy_shape != 0)) != 0); __pyx_t_1 = __pyx_t_3; } else { __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248 * 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; goto __pyx_L10; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< * * if not hasfields: */ __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_L10:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253 * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): */ __pyx_t_5 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_5; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255 * 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_1 = ((__pyx_v_descr->byteorder == '>') != 0); if (__pyx_t_1) { __pyx_t_2 = (__pyx_v_little_endian != 0); } else { __pyx_t_2 = __pyx_t_1; } if (!__pyx_t_2) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256 * 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_1 = ((__pyx_v_descr->byteorder == '<') != 0); if (__pyx_t_1) { __pyx_t_3 = ((!(__pyx_v_little_endian != 0)) != 0); __pyx_t_7 = __pyx_t_3; } else { __pyx_t_7 = __pyx_t_1; } __pyx_t_1 = __pyx_t_7; } else { __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257 * 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_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274 * 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) */ switch (__pyx_v_t) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (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" */ case NPY_BYTE: __pyx_v_f = __pyx_k_b; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259 * 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 = __pyx_k_B; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260 * 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 = __pyx_k_h; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261 * 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 = __pyx_k_H; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262 * 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 = __pyx_k_i; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263 * 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 = __pyx_k_I; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264 * 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 = __pyx_k_l; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265 * 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 = __pyx_k_L; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266 * 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 = __pyx_k_q; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267 * 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 = __pyx_k_Q; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268 * 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 = __pyx_k_f; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269 * 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 = __pyx_k_d; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270 * 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 = __pyx_k_g; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271 * 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 = __pyx_k_Zf; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272 * 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 = __pyx_k_Zd; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273 * 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 = __pyx_k_Zg; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274 * 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 = __pyx_k_O; break; default: /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * info.format = f * return */ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} break; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< * return * else: */ __pyx_v_info->format = __pyx_v_f; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278 * 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; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 */ __pyx_v_info->format = ((char *)malloc(255)); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":281 * 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]) = '^'; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283 * 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_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_9; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":286 * 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'; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # 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_4); __Pyx_XDECREF(__pyx_t_8); __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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290 * 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); goto __pyx_L3; } __pyx_L3:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291 * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292 * 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); goto __pyx_L4; } __pyx_L4:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288 * 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(); } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * 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_filename = __pyx_f[1]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * 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_filename = __pyx_f[1]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * 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_filename = __pyx_f[1]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * 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_filename = __pyx_f[1]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * 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_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783 * 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; int __pyx_t_8; int __pyx_t_9; long __pyx_t_10; char *__pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * cdef tuple fields */ __pyx_v_endian_detector = 1; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * 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); /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< * child, new_offset = fields * */ __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); #endif } else { __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __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; /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __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) { /* "/home/xinleic/anaconda/lib/python2.7/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__15, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/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_6 = ((__pyx_v_child->byteorder == '>') != 0); if (__pyx_t_6) { __pyx_t_7 = (__pyx_v_little_endian != 0); } else { __pyx_t_7 = __pyx_t_6; } if (!__pyx_t_7) { /* "/home/xinleic/anaconda/lib/python2.7/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_6 = ((__pyx_v_child->byteorder == '<') != 0); if (__pyx_t_6) { __pyx_t_8 = ((!(__pyx_v_little_endian != 0)) != 0); __pyx_t_9 = __pyx_t_8; } else { __pyx_t_9 = __pyx_t_6; } __pyx_t_6 = __pyx_t_9; } else { __pyx_t_6 = __pyx_t_7; } if (__pyx_t_6) { /* "/home/xinleic/anaconda/lib/python2.7/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__16, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; /* "/home/xinleic/anaconda/lib/python2.7/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]) = 120; /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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_10 = 0; (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + 1); } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< * * if not PyDataType_HASFIELDS(child): */ __pyx_t_10 = 0; (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + __pyx_v_child->elsize); /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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__17, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 98; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 66; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 104; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 72; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 105; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 73; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 108; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 76; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 113; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 81; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 102; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 100; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 103; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __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]) = 102; __pyx_v_f = (__pyx_v_f + 1); goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __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]) = 100; __pyx_v_f = (__pyx_v_f + 1); goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __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]) = 103; __pyx_v_f = (__pyx_v_f + 1); goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 79; goto __pyx_L11; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/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: */ __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__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_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L11:; /* "/home/xinleic/anaconda/lib/python2.7/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); goto __pyx_L9; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/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 * */ __pyx_t_11 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_11 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_11; } __pyx_L9:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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; goto __pyx_L3; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/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) */ Py_INCREF(__pyx_v_base); /* "/home/xinleic/anaconda/lib/python2.7/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:; /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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; /* "/home/xinleic/anaconda/lib/python2.7/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(); } /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_arr->base)); __pyx_r = ((PyObject *)__pyx_v_arr->base); goto __pyx_L0; } /* "/home/xinleic/anaconda/lib/python2.7/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 __Pyx_NAMESTR("cpu_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_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_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_cpu_nms, __pyx_k_cpu_nms, sizeof(__pyx_k_cpu_nms), 0, 0, 1, 1}, {&__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_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_ndets, __pyx_k_ndets, sizeof(__pyx_k_ndets), 0, 0, 1, 1}, {&__pyx_kp_s_nfs_yoda_xinleic_Inf_Code_Faste, __pyx_k_nfs_yoda_xinleic_Inf_Code_Faste, sizeof(__pyx_k_nfs_yoda_xinleic_Inf_Code_Faste), 0, 0, 1, 0}, {&__pyx_n_s_nms_cpu_nms, __pyx_k_nms_cpu_nms, sizeof(__pyx_k_nms_cpu_nms), 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_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_pyx_getbuffer, __pyx_k_pyx_getbuffer, sizeof(__pyx_k_pyx_getbuffer), 0, 0, 1, 1}, {&__pyx_n_s_pyx_releasebuffer, __pyx_k_pyx_releasebuffer, sizeof(__pyx_k_pyx_releasebuffer), 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_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_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 int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); /* "nms/cpu_nms.pyx":18 * * 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_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); /* "nms/cpu_nms.pyx":19 * 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_slice__3 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_slice__3); __Pyx_GIVEREF(__pyx_slice__3); __pyx_tuple__4 = PyTuple_Pack(2, __pyx_slice__3, __pyx_int_1); if (unlikely(!__pyx_tuple__4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); /* "nms/cpu_nms.pyx":20 * 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_slice__5 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_slice__5); __Pyx_GIVEREF(__pyx_slice__5); __pyx_tuple__6 = PyTuple_Pack(2, __pyx_slice__5, __pyx_int_2); if (unlikely(!__pyx_tuple__6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); /* "nms/cpu_nms.pyx":21 * 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_slice__7 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_slice__7); __Pyx_GIVEREF(__pyx_slice__7); __pyx_tuple__8 = PyTuple_Pack(2, __pyx_slice__7, __pyx_int_3); if (unlikely(!__pyx_tuple__8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); /* "nms/cpu_nms.pyx":22 * 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_slice__9 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_slice__9); __Pyx_GIVEREF(__pyx_slice__9); __pyx_tuple__10 = PyTuple_Pack(2, __pyx_slice__9, __pyx_int_4); if (unlikely(!__pyx_tuple__10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); /* "nms/cpu_nms.pyx":25 * * 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] # <<<<<<<<<<<<<< * * cdef int ndets = dets.shape[0] */ __pyx_slice__11 = PySlice_New(Py_None, Py_None, __pyx_int_neg_1); if (unlikely(!__pyx_slice__11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_slice__11); __Pyx_GIVEREF(__pyx_slice__11); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215 * 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__12 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__12); __Pyx_GIVEREF(__pyx_tuple__12); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219 * 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__13 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__13)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__13); __Pyx_GIVEREF(__pyx_tuple__13); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257 * 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__14 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__14)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14); /* "/home/xinleic/anaconda/lib/python2.7/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__15 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__15)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15); /* "/home/xinleic/anaconda/lib/python2.7/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__16 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__16)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16); /* "/home/xinleic/anaconda/lib/python2.7/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__17 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__17)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17); /* "nms/cpu_nms.pyx":17 * 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__18 = 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__18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18); __pyx_codeobj__19 = (PyObject*)__Pyx_PyCode_New(2, 0, 29, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_nfs_yoda_xinleic_Inf_Code_Faste, __pyx_n_s_cpu_nms, 17, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; } #if PY_MAJOR_VERSION < 3 PyMODINIT_FUNC initcpu_nms(void); /*proto*/ PyMODINIT_FUNC initcpu_nms(void) #else PyMODINIT_FUNC PyInit_cpu_nms(void); /*proto*/ PyMODINIT_FUNC PyInit_cpu_nms(void) #endif { PyObject *__pyx_t_1 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __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_cpu_nms(void)", 0); if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #ifdef __Pyx_CyFunction_USED if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif #ifdef __Pyx_FusedFunction_USED if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif #ifdef __Pyx_Generator_USED if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __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(__Pyx_NAMESTR("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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_INCREF(__pyx_d); __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if CYTHON_COMPILING_IN_PYPY Py_INCREF(__pyx_b); #endif if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; /*--- Initialize various global constants etc. ---*/ if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (__pyx_module_is_main_nms__cpu_nms) { if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; } #if PY_MAJOR_VERSION >= 3 { PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (!PyDict_GetItemString(modules, "nms.cpu_nms")) { if (unlikely(PyDict_SetItemString(modules, "nms.cpu_nms", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } } #endif /*--- Builtin init code ---*/ if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Constants init code ---*/ if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Variable import code ---*/ /*--- Function import code ---*/ /*--- Execution code ---*/ /* "nms/cpu_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_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "nms/cpu_nms.pyx":17 * 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_3nms_7cpu_nms_1cpu_nms, NULL, __pyx_n_s_nms_cpu_nms); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_cpu_nms, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "nms/cpu_nms.pyx":1 * # -------------------------------------------------------- # <<<<<<<<<<<<<< * # Fast R-CNN * # Copyright (c) 2015 Microsoft */ __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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 */ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); if (__pyx_m) { __Pyx_AddTraceback("init nms.cpu_nms", __pyx_clineno, __pyx_lineno, __pyx_filename); Py_DECREF(__pyx_m); __pyx_m = 0; } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init nms.cpu_nms"); } __pyx_L0:; __Pyx_RefNannyFinishContext(); #if PY_MAJOR_VERSION < 3 return; #else return __pyx_m; #endif } /* Runtime support code */ #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 /* CYTHON_REFNANNY */ 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; } 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); } 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 } 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; } 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; } 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) /* First char was not a digit */ 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; /* Consume from buffer string */ while (1) { if (field == &ctx->root) { ctx->head = NULL; if (ctx->enc_count != 0) { __Pyx_BufFmt_RaiseExpected(ctx); return -1; } break; /* breaks both loops as ctx->enc_count == 0 */ } 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; /* empty struct */ 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; /* not a 'break' in the loop */ } 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 10: case 13: ++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': /* substruct */ { 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; /* Erase processed last struct element */ 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 '}': /* end of substruct; either repeat or move on */ { size_t alignment = ctx->struct_alignment; ++ts; if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; ctx->enc_type = 0; /* Erase processed last struct element */ 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; } /* fall through */ 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 's': case 'p': if (ctx->enc_type == *ts && got_Z == ctx->is_complex && ctx->enc_packmode == ctx->new_packmode) { ctx->enc_count += ctx->new_count; } else { 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); } 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; } #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 PY_VERSION_HEX >= 0x02060000 if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) return NULL; #endif result = (*call)(func, arg, kw); #if PY_VERSION_HEX >= 0x02060000 Py_LeaveRecursiveCall(); #endif if (unlikely(!result) && unlikely(!PyErr_Occurred())) { PyErr_SetString( PyExc_SystemError, "NULL result without error in PyObject_Call"); } return result; } #endif static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { PyObject *result; #if CYTHON_COMPILING_IN_CPYTHON result = PyDict_GetItem(__pyx_d, name); if (result) { Py_INCREF(result); } else { #else result = PyObject_GetItem(__pyx_d, name); if (!result) { PyErr_Clear(); #endif result = __Pyx_GetBuiltinName(name); } return result; } static void __Pyx_RaiseBufferIndexError(int axis) { PyErr_Format(PyExc_IndexError, "Out of bounds on buffer access (axis %d)", axis); } static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { #if CYTHON_COMPILING_IN_CPYTHON PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); 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); #else PyErr_Restore(type, value, tb); #endif } static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { #if CYTHON_COMPILING_IN_CPYTHON PyThreadState *tstate = PyThreadState_GET(); *type = tstate->curexc_type; *value = tstate->curexc_value; *tb = tstate->curexc_traceback; tstate->curexc_type = 0; tstate->curexc_value = 0; tstate->curexc_traceback = 0; #else PyErr_Fetch(type, value, tb); #endif } #if PY_MAJOR_VERSION < 3 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, CYTHON_UNUSED PyObject *cause) { 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 PY_VERSION_HEX < 0x02050000 if (PyClass_Check(type)) { #else if (PyType_Check(type)) { #endif #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; #if PY_VERSION_HEX < 0x02050000 if (PyInstance_Check(type)) { type = (PyObject*) ((PyInstanceObject*)type)->in_class; Py_INCREF(type); } else { type = 0; PyErr_SetString(PyExc_TypeError, "raise: exception must be an old-style class or instance"); goto raise_error; } #else 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; } #endif } __Pyx_ErrRestore(type, value, tb); return; raise_error: Py_XDECREF(value); Py_XDECREF(type); Py_XDECREF(tb); return; } #else /* Python 3+ */ 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) { if (PyObject_IsSubclass(instance_class, type)) { type = instance_class; } else { instance_class = NULL; } } } 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) { 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); } } bad: Py_XDECREF(owned_instance); return; } #endif 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); } 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"); } static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } #if PY_MAJOR_VERSION < 3 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { #if PY_VERSION_HEX >= 0x02060000 if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags); #endif if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pw_5numpy_7ndarray_1__getbuffer__(obj, view, flags); #if PY_VERSION_HEX < 0x02060000 if (obj->ob_type->tp_dict) { PyObject *getbuffer_cobj = PyObject_GetItem( obj->ob_type->tp_dict, __pyx_n_s_pyx_getbuffer); if (getbuffer_cobj) { getbufferproc func = (getbufferproc) PyCObject_AsVoidPtr(getbuffer_cobj); Py_DECREF(getbuffer_cobj); if (!func) goto fail; return func(obj, view, flags); } else { PyErr_Clear(); } } #endif PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name); #if PY_VERSION_HEX < 0x02060000 fail: #endif return -1; } static void __Pyx_ReleaseBuffer(Py_buffer *view) { PyObject *obj = view->obj; if (!obj) return; #if PY_VERSION_HEX >= 0x02060000 if (PyObject_CheckBuffer(obj)) { PyBuffer_Release(view); return; } #endif if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) { __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view); return; } #if PY_VERSION_HEX < 0x02060000 if (obj->ob_type->tp_dict) { PyObject *releasebuffer_cobj = PyObject_GetItem( obj->ob_type->tp_dict, __pyx_n_s_pyx_releasebuffer); if (releasebuffer_cobj) { releasebufferproc func = (releasebufferproc) PyCObject_AsVoidPtr(releasebuffer_cobj); Py_DECREF(releasebuffer_cobj); if (!func) goto fail; func(obj, view); return; } else { PyErr_Clear(); } } #endif goto nofail; #if PY_VERSION_HEX < 0x02060000 fail: #endif PyErr_WriteUnraisable(obj); nofail: Py_DECREF(obj); view->obj = NULL; } #endif /* PY_MAJOR_VERSION < 3 */ 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_VERSION_HEX >= 0x02050000 { #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; /* try absolute import on failure */ } #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 } } #else if (level>0) { PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); goto bad; } module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, NULL); #endif bad: #if PY_VERSION_HEX < 0x03030000 Py_XDECREF(py_import); #endif Py_XDECREF(empty_list); Py_XDECREF(empty_dict); return module; } static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { const int neg_one = (int) -1, const_zero = 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 long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { if (sizeof(int) <= sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(int) <= sizeof(long long)) { return PyLong_FromLongLong((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); } } #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func) \ { \ func_type value = func(x); \ if (sizeof(target_type) < sizeof(func_type)) { \ if (unlikely(value != (func_type) (target_type) value)) { \ func_type zero = 0; \ PyErr_SetString(PyExc_OverflowError, \ (is_unsigned && unlikely(value < zero)) ? \ "can't convert negative value to " #target_type : \ "value too large to convert to " #target_type); \ return (target_type) -1; \ } \ } \ return (target_type) value; \ } #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #endif #endif static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { const int neg_one = (int) -1, const_zero = 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) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to int"); return (int) -1; } return (int) val; } } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(int)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return (int) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to int"); return (int) -1; } if (sizeof(int) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong) } else if (sizeof(int) <= sizeof(unsigned long long)) { __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong) } } else { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(int)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return +(int) ((PyLongObject*)x)->ob_digit[0]; case -1: return -(int) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (sizeof(int) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong) } else if (sizeof(int) <= sizeof(long long)) { __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong) } } { #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_Int(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_Int(x); if (!tmp) return (int) -1; val = __Pyx_PyInt_As_int(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { const long neg_one = (long) -1, const_zero = 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 long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { if (sizeof(long) <= sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(long) <= sizeof(long long)) { return PyLong_FromLongLong((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); } } #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 #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 #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 #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 #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #endif #endif static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { const long neg_one = (long) -1, const_zero = 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) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long) -1; } return (long) val; } } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(long)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return (long) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long) -1; } if (sizeof(long) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT(long, unsigned long, PyLong_AsUnsignedLong) } else if (sizeof(long) <= sizeof(unsigned long long)) { __PYX_VERIFY_RETURN_INT(long, unsigned long long, PyLong_AsUnsignedLongLong) } } else { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(long)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return +(long) ((PyLongObject*)x)->ob_digit[0]; case -1: return -(long) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (sizeof(long) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT(long, long, PyLong_AsLong) } else if (sizeof(long) <= sizeof(long long)) { __PYX_VERIFY_RETURN_INT(long, long long, PyLong_AsLongLong) } } { #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_Int(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_Int(x); if (!tmp) return (long) -1; val = __Pyx_PyInt_As_long(tmp); Py_DECREF(tmp); return val; } } 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); #if PY_VERSION_HEX < 0x02050000 return PyErr_Warn(NULL, message); #else return PyErr_WarnEx(NULL, message, 1); #endif } return 0; } #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 #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", module_name, class_name); #if PY_VERSION_HEX < 0x02050000 if (PyErr_Warn(NULL, warning) < 0) goto bad; #else if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; #endif } else if ((size_t)basicsize != size) { PyErr_Format(PyExc_ValueError, "%.200s.%.200s has the wrong size, try recompiling", module_name, class_name); goto bad; } return (PyTypeObject *)result; bad: Py_XDECREF(py_module); Py_XDECREF(result); return NULL; } #endif 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) / 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, 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); } #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, /*int argcount,*/ 0, /*int kwonlyargcount,*/ 0, /*int nlocals,*/ 0, /*int stacksize,*/ 0, /*int flags,*/ __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, /*int firstlineno,*/ __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; PyObject *py_globals = 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_globals = PyModule_GetDict(__pyx_m); if (!py_globals) goto bad; py_frame = PyFrame_New( PyThreadState_GET(), /*PyThreadState *tstate,*/ py_code, /*PyCodeObject *code,*/ py_globals, /*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); } 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 /* Python 3+ has unicode identifiers */ 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(char* c_str) { return __Pyx_PyUnicode_FromStringAndSize(c_str, 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 __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 /*__PYX_DEFAULT_STRING_ENCODING_IS_ASCII*/ *length = PyBytes_GET_SIZE(defenc); return defenc_c; #else /* PY_VERSION_HEX < 0x03030000 */ if (PyUnicode_READY(o) == -1) return NULL; #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII if (PyUnicode_IS_ASCII(o)) { *length = PyUnicode_GET_DATA_SIZE(o); return PyUnicode_AsUTF8(o); } else { PyUnicode_AsASCIIString(o); return NULL; } #else /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */ return PyUnicode_AsUTF8AndSize(o, length); #endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */ #endif /* PY_VERSION_HEX < 0x03030000 */ } else #endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */ #if !CYTHON_COMPILING_IN_PYPY #if PY_VERSION_HEX >= 0x02060000 if (PyByteArray_Check(o)) { *length = PyByteArray_GET_SIZE(o); return PyByteArray_AS_STRING(o); } else #endif #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_Int(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 Py_INCREF(x), 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; } #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #endif #endif 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))) return PyInt_AS_LONG(b); #endif if (likely(PyLong_CheckExact(b))) { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS switch (Py_SIZE(b)) { case -1: return -(sdigit)((PyLongObject*)b)->ob_digit[0]; case 0: return 0; case 1: return ((PyLongObject*)b)->ob_digit[0]; } #endif #endif #if PY_VERSION_HEX < 0x02060000 return PyInt_AsSsize_t(b); #else return PyLong_AsSsize_t(b); #endif } 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) { #if PY_VERSION_HEX < 0x02050000 if (ival <= LONG_MAX) return PyInt_FromLong((long)ival); else { unsigned char *bytes = (unsigned char *) &ival; int one = 1; int little = (int)*(unsigned char*)&one; return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0); } #else return PyInt_FromSize_t(ival); #endif } #endif /* Py_PYTHON_H */ ================================================ FILE: src/tools/voc_eval_lib/nms/cpu_nms.pyx ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- 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] 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 ================================================ FILE: src/tools/voc_eval_lib/nms/gpu_nms.cpp ================================================ /* Generated by Cython 0.20.1 on Wed Oct 5 13:15:30 2016 */ #define PY_SSIZE_T_CLEAN #ifndef CYTHON_USE_PYLONG_INTERNALS #ifdef PYLONG_BITS_IN_DIGIT #define CYTHON_USE_PYLONG_INTERNALS 0 #else #include "pyconfig.h" #ifdef PYLONG_BITS_IN_DIGIT #define CYTHON_USE_PYLONG_INTERNALS 1 #else #define CYTHON_USE_PYLONG_INTERNALS 0 #endif #endif #endif #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 < 0x02040000 #error Cython requires Python 2.4+. #else #define CYTHON_ABI "0_20_1" #include /* For offsetof */ #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 CYTHON_COMPILING_IN_PYPY #define Py_OptimizeFlag 0 #endif #if PY_VERSION_HEX < 0x02050000 typedef int Py_ssize_t; #define PY_SSIZE_T_MAX INT_MAX #define PY_SSIZE_T_MIN INT_MIN #define PY_FORMAT_SIZE_T "" #define CYTHON_FORMAT_SSIZE_T "" #define PyInt_FromSsize_t(z) PyInt_FromLong(z) #define PyInt_AsSsize_t(o) __Pyx_PyInt_As_int(o) #define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \ (PyErr_Format(PyExc_TypeError, \ "expected index value, got %.200s", Py_TYPE(o)->tp_name), \ (PyObject*)0)) #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \ !PyComplex_Check(o)) #define PyIndex_Check __Pyx_PyIndex_Check #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message) #define __PYX_BUILD_PY_SSIZE_T "i" #else #define __PYX_BUILD_PY_SSIZE_T "n" #define CYTHON_FORMAT_SSIZE_T "z" #define __Pyx_PyIndex_Check PyIndex_Check #endif #if PY_VERSION_HEX < 0x02060000 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size) #define PyVarObject_HEAD_INIT(type, size) \ PyObject_HEAD_INIT(type) size, #define PyType_Modified(t) typedef struct { void *buf; PyObject *obj; Py_ssize_t len; Py_ssize_t itemsize; int readonly; int ndim; char *format; Py_ssize_t *shape; Py_ssize_t *strides; Py_ssize_t *suboffsets; void *internal; } Py_buffer; #define PyBUF_SIMPLE 0 #define PyBUF_WRITABLE 0x0001 #define PyBUF_FORMAT 0x0004 #define PyBUF_ND 0x0008 #define PyBUF_STRIDES (0x0010 | PyBUF_ND) #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE) #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE) typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); typedef void (*releasebufferproc)(PyObject *, Py_buffer *); #endif #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 #if PY_VERSION_HEX < 0x02060000 #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict") #endif #if PY_MAJOR_VERSION >= 3 #define Py_TPFLAGS_CHECKTYPES 0 #define Py_TPFLAGS_HAVE_INDEX 0 #endif #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) #define Py_TPFLAGS_HAVE_NEWBUFFER 0 #endif #if PY_VERSION_HEX < 0x02060000 #define Py_TPFLAGS_HAVE_VERSION_TAG 0 #endif #if PY_VERSION_HEX < 0x02060000 && !defined(Py_TPFLAGS_IS_ABSTRACT) #define Py_TPFLAGS_IS_ABSTRACT 0 #endif #if PY_VERSION_HEX < 0x030400a1 && !defined(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) #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])) #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 #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 #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_VERSION_HEX < 0x02060000 #define PyBytesObject PyStringObject #define PyBytes_Type PyString_Type #define PyBytes_Check PyString_Check #define PyBytes_CheckExact PyString_CheckExact #define PyBytes_FromString PyString_FromString #define PyBytes_FromStringAndSize PyString_FromStringAndSize #define PyBytes_FromFormat PyString_FromFormat #define PyBytes_DecodeEscape PyString_DecodeEscape #define PyBytes_AsString PyString_AsString #define PyBytes_AsStringAndSize PyString_AsStringAndSize #define PyBytes_Size PyString_Size #define PyBytes_AS_STRING PyString_AS_STRING #define PyBytes_GET_SIZE PyString_GET_SIZE #define PyBytes_Repr PyString_Repr #define PyBytes_Concat PyString_Concat #define PyBytes_ConcatAndDel PyString_ConcatAndDel #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_CheckExact(obj) || PyUnicode_CheckExact(obj) || \ PyString_Check(obj) || PyUnicode_Check(obj)) #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj)) #endif #if PY_VERSION_HEX < 0x02060000 #define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type) #define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type) #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_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) || (PY_VERSION_HEX >= 0x03010300) #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b) #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value) #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b) #else #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0))) #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1))) #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \ (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \ (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \ (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1))) #endif #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func)) #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n))) #else #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n)) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_NAMESTR(n) ((char *)(n)) #define __Pyx_DOCSTR(n) ((char *)(n)) #else #define __Pyx_NAMESTR(n) (n) #define __Pyx_DOCSTR(n) (n) #endif #ifndef CYTHON_INLINE #if 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 #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 #ifdef NAN #define __PYX_NAN() ((float) NAN) #else static CYTHON_INLINE float __PYX_NAN() { /* Initialize NaN. The sign is irrelevant, an exponent with all bits 1 and a nonzero mantissa means NaN. If the first bit in the mantissa is 1, it is a quiet NaN. */ float value; memset(&value, 0xFF, sizeof(value)); return value; } #endif #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 #if defined(WIN32) || defined(MS_WINDOWS) #define _USE_MATH_DEFINES #endif #include #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 typedef struct {PyObject **p; char *s; const Py_ssize_t n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/ #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_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 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(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_FromUString(s) __Pyx_PyObject_FromString((char*)s) #define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) #define __Pyx_PyByteArray_FromUString(s) __Pyx_PyByteArray_FromString((char*)s) #define __Pyx_PyStr_FromUString(s) __Pyx_PyStr_FromString((char*)s) #define __Pyx_PyUnicode_FromUString(s) __Pyx_PyUnicode_FromString((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 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_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None) #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(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 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII static int __Pyx_sys_getdefaultencoding_not_ascii; static int __Pyx_init_sys_getdefaultencoding_params(void) { PyObject* sys = NULL; PyObject* default_encoding = NULL; PyObject* ascii_chars_u = NULL; PyObject* ascii_chars_b = NULL; sys = PyImport_ImportModule("sys"); if (sys == NULL) goto bad; default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); if (default_encoding == NULL) goto bad; if (strcmp(PyBytes_AsString(default_encoding), "ascii") == 0) { __Pyx_sys_getdefaultencoding_not_ascii = 0; } else { const char* default_encoding_c = PyBytes_AS_STRING(default_encoding); 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 == NULL) goto bad; ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); if (ascii_chars_b == NULL || strncmp(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_XDECREF(sys); Py_XDECREF(default_encoding); Py_XDECREF(ascii_chars_u); Py_XDECREF(ascii_chars_b); return 0; bad: Py_XDECREF(sys); 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 = NULL; PyObject* default_encoding = NULL; char* default_encoding_c; sys = PyImport_ImportModule("sys"); if (sys == NULL) goto bad; default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); if (default_encoding == NULL) goto bad; default_encoding_c = PyBytes_AS_STRING(default_encoding); __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c)); strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); Py_DECREF(sys); Py_DECREF(default_encoding); return 0; bad: Py_XDECREF(sys); Py_XDECREF(default_encoding); return -1; } #endif #endif #ifdef __GNUC__ /* Test for GCC > 2.95 */ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) #else /* __GNUC__ > 2 ... */ #define likely(x) (x) #define unlikely(x) (x) #endif /* __GNUC__ > 2 ... */ #else /* __GNUC__ */ #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 int __pyx_lineno; static int __pyx_clineno = 0; static const char * __pyx_cfilenm= __FILE__; static const char *__pyx_filename; #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", }; #define IS_UNSIGNED(type) (((type) -1) > 0) struct __Pyx_StructField_; #define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0) typedef struct { const char* name; /* for error messages only */ struct __Pyx_StructField_* fields; size_t size; /* sizeof(type) */ size_t arraysize[8]; /* length of array in each dimension */ int ndim; char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject, c_H_ar */ 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":723 * # 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":724 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":725 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":726 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":730 * #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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":731 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":732 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":733 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":737 * #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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":738 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":747 * # 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":748 * # 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":749 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":751 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":752 * * ctypedef npy_ulong uint_t * ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<< * ctypedef npy_ulonglong ulonglong_t * */ typedef npy_ulonglong __pyx_t_5numpy_ulong_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":753 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":755 * ctypedef npy_ulonglong ulonglong_t * * ctypedef npy_intp intp_t # <<<<<<<<<<<<<< * ctypedef npy_uintp uintp_t * */ typedef npy_intp __pyx_t_5numpy_intp_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":756 * * ctypedef npy_intp intp_t * ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<< * * ctypedef npy_double float_t */ typedef npy_uintp __pyx_t_5numpy_uintp_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":758 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":759 * * ctypedef npy_double float_t * ctypedef npy_double double_t # <<<<<<<<<<<<<< * ctypedef npy_longdouble longdouble_t * */ typedef npy_double __pyx_t_5numpy_double_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":760 * 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; #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 #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 ---*/ /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":762 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":763 * * ctypedef npy_cfloat cfloat_t * ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<< * ctypedef npy_clongdouble clongdouble_t * */ typedef npy_cdouble __pyx_t_5numpy_cdouble_t; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":764 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":766 * ctypedef npy_clongdouble clongdouble_t * * ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<< * * cdef inline object PyArray_MultiIterNew1(a): */ typedef npy_cdouble __pyx_t_5numpy_complex_t; #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); /*proto*/ #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 /* CYTHON_REFNANNY */ #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) 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); /*proto*/ static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/ static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \ PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \ const char* function_name); /*proto*/ static CYTHON_INLINE int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact); /*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); #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 static PyObject *__Pyx_GetBuiltinName(PyObject *name); /*proto*/ static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /*proto*/ #if CYTHON_COMPILING_IN_CPYTHON static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); /*proto*/ #else #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw) #endif static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ static void __Pyx_RaiseBufferIndexError(int axis); /*proto*/ #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) 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); static void __Pyx_RaiseBufferFallbackError(void); /*proto*/ static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/ static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); 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 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}; static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/ static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *); static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value); #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(_WIN32) || defined(__clang__)) && defined(__cplusplus) && CYTHON_CCOMPLEX #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 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); #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 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); #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 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); static int __Pyx_check_binary_version(void); #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 static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict); /*proto*/ typedef struct { int code_line; PyCodeObject* code_object; } __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); static void __Pyx_AddTraceback(const char *funcname, int c_line, int py_line, const char *filename); /*proto*/ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ /* Module declarations from 'cpython.buffer' */ /* Module declarations from 'cpython.ref' */ /* Module declarations from 'libc.string' */ /* Module declarations from 'libc.stdio' */ /* Module declarations from 'cpython.object' */ /* Module declarations from '__builtin__' */ /* Module declarations from 'cpython.type' */ static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0; /* 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_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 "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 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 char __pyx_k_B[] = "B"; static char __pyx_k_H[] = "H"; static char __pyx_k_I[] = "I"; static char __pyx_k_L[] = "L"; static char __pyx_k_O[] = "O"; static char __pyx_k_Q[] = "Q"; static char __pyx_k_b[] = "b"; static char __pyx_k_d[] = "d"; static char __pyx_k_f[] = "f"; static char __pyx_k_g[] = "g"; static char __pyx_k_h[] = "h"; static char __pyx_k_i[] = "i"; static char __pyx_k_l[] = "l"; static char __pyx_k_q[] = "q"; static char __pyx_k_Zd[] = "Zd"; static char __pyx_k_Zf[] = "Zf"; static char __pyx_k_Zg[] = "Zg"; static char __pyx_k_np[] = "np"; static char __pyx_k_dets[] = "dets"; static char __pyx_k_keep[] = "keep"; static char __pyx_k_main[] = "__main__"; static char __pyx_k_test[] = "__test__"; static char __pyx_k_dtype[] = "dtype"; static char __pyx_k_int32[] = "int32"; static char __pyx_k_numpy[] = "numpy"; static char __pyx_k_order[] = "order"; static char __pyx_k_range[] = "range"; static char __pyx_k_zeros[] = "zeros"; static char __pyx_k_import[] = "__import__"; static char __pyx_k_scores[] = "scores"; static char __pyx_k_thresh[] = "thresh"; static char __pyx_k_argsort[] = "argsort"; static char __pyx_k_gpu_nms[] = "gpu_nms"; static char __pyx_k_num_out[] = "num_out"; static char __pyx_k_boxes_dim[] = "boxes_dim"; static char __pyx_k_boxes_num[] = "boxes_num"; static char __pyx_k_device_id[] = "device_id"; static char __pyx_k_ValueError[] = "ValueError"; static char __pyx_k_nms_gpu_nms[] = "nms.gpu_nms"; static char __pyx_k_sorted_dets[] = "sorted_dets"; static char __pyx_k_RuntimeError[] = "RuntimeError"; static char __pyx_k_pyx_getbuffer[] = "__pyx_getbuffer"; static char __pyx_k_pyx_releasebuffer[] = "__pyx_releasebuffer"; static char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous"; static char __pyx_k_nfs_yoda_xinleic_Inf_Code_Faste[] = "/nfs.yoda/xinleic/Inf/Code/Faster-RCNN_TF/lib/nms/gpu_nms.pyx"; static char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)"; static char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd"; static char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported"; static char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous"; static char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short."; 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_kp_s_nfs_yoda_xinleic_Inf_Code_Faste; 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_pyx_getbuffer; static PyObject *__pyx_n_s_pyx_releasebuffer; 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_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 = {__Pyx_NAMESTR("gpu_nms"), (PyCFunction)__pyx_pw_3nms_7gpu_nms_1gpu_nms, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; 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_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_thresh), (&PyFloat_Type), 1, "thresh", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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; long __pyx_t_10; int __pyx_t_11; long __pyx_t_12; long __pyx_t_13; float __pyx_t_14; PyObject *__pyx_t_15 = NULL; PyObject *__pyx_t_16 = NULL; PyObject *__pyx_t_17 = NULL; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __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_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __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] \ * order = scores.argsort()[::-1] */ __pyx_t_5 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_tuple__2); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __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":26 * scores = dets[:, 4] * cdef np.ndarray[np.int_t, ndim=1] \ * order = scores.argsort()[::-1] # <<<<<<<<<<<<<< * cdef np.ndarray[np.float32_t, ndim=2] \ * sorted_dets = dets[order, :] */ __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_scores), __pyx_n_s_argsort); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyObject_GetItem(__pyx_t_1, __pyx_slice__3); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __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_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_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __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; /* "nms/gpu_nms.pyx":28 * 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_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_order)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_order)); __Pyx_GIVEREF(((PyObject *)__pyx_v_order)); __Pyx_INCREF(__pyx_slice__4); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_slice__4); __Pyx_GIVEREF(__pyx_slice__4); __pyx_t_1 = PyObject_GetItem(((PyObject *)__pyx_v_dets), __pyx_t_5); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __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; /* "nms/gpu_nms.pyx":29 * 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_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_14 = __pyx_PyFloat_AsFloat(__pyx_v_thresh); if (unlikely((__pyx_t_14 == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __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":30 * 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_PyObject_GetSlice(((PyObject *)__pyx_v_keep), 0, __pyx_v_num_out, NULL, NULL, NULL, 0, 1, 1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __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_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_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_keep, ((PyArrayObject *)__pyx_t_1)); __pyx_t_1 = 0; /* "nms/gpu_nms.pyx":31 * _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 = PyObject_GetItem(((PyObject *)__pyx_v_order), ((PyObject *)__pyx_v_keep)); if (unlikely(__pyx_t_1 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __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_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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # 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; int __pyx_t_3; PyObject *__pyx_t_4 = NULL; int __pyx_t_5; int __pyx_t_6; int __pyx_t_7; PyObject *__pyx_t_8 = NULL; char *__pyx_t_9; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __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); } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":200 * # 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":203 * * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * */ __pyx_v_endian_detector = 1; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":204 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":206 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":208 * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":209 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< * else: * copy_shape = 0 */ __pyx_v_copy_shape = 1; goto __pyx_L4; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":211 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) */ __pyx_v_copy_shape = 0; } __pyx_L4:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":213 * 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_1 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0); if (__pyx_t_1) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":214 * * 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_3 = __pyx_t_2; } else { __pyx_t_3 = __pyx_t_1; } if (__pyx_t_3) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215 * 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_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":217 * 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_3 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0); if (__pyx_t_3) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":218 * * 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_1 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0); __pyx_t_2 = __pyx_t_1; } else { __pyx_t_2 = __pyx_t_3; } if (__pyx_t_2) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219 * 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_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":221 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":222 * * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":223 * 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_2 = (__pyx_v_copy_shape != 0); if (__pyx_t_2) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":226 * # 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))); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":227 * # 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":228 * 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_5 = __pyx_v_ndim; for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) { __pyx_v_i = __pyx_t_6; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":229 * 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]); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":230 * 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]); } goto __pyx_L7; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":232 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self)); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":233 * 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_L7:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":234 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":235 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":236 * 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)); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":239 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< * cdef dtype descr = self.descr * cdef list stack */ __pyx_v_f = NULL; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":240 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< * cdef list stack * cdef int offset */ __pyx_t_4 = ((PyObject *)__pyx_v_self->descr); __Pyx_INCREF(__pyx_t_4); __pyx_v_descr = ((PyArray_Descr *)__pyx_t_4); __pyx_t_4 = 0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":244 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< * * if not hasfields and not copy_shape: */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":246 * 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) { __pyx_t_3 = ((!(__pyx_v_copy_shape != 0)) != 0); __pyx_t_1 = __pyx_t_3; } else { __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":248 * 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; goto __pyx_L10; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":251 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< * * if not hasfields: */ __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_L10:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":253 * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":254 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< * if ((descr.byteorder == c'>' and little_endian) or * (descr.byteorder == c'<' and not little_endian)): */ __pyx_t_5 = __pyx_v_descr->type_num; __pyx_v_t = __pyx_t_5; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":255 * 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_1 = ((__pyx_v_descr->byteorder == '>') != 0); if (__pyx_t_1) { __pyx_t_2 = (__pyx_v_little_endian != 0); } else { __pyx_t_2 = __pyx_t_1; } if (!__pyx_t_2) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":256 * 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_1 = ((__pyx_v_descr->byteorder == '<') != 0); if (__pyx_t_1) { __pyx_t_3 = ((!(__pyx_v_little_endian != 0)) != 0); __pyx_t_7 = __pyx_t_3; } else { __pyx_t_7 = __pyx_t_1; } __pyx_t_1 = __pyx_t_7; } else { __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257 * 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_4 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274 * 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) */ switch (__pyx_v_t) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":258 * (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" */ case NPY_BYTE: __pyx_v_f = __pyx_k_b; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":259 * 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 = __pyx_k_B; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":260 * 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 = __pyx_k_h; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":261 * 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 = __pyx_k_H; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":262 * 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 = __pyx_k_i; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":263 * 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 = __pyx_k_I; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":264 * 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 = __pyx_k_l; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":265 * 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 = __pyx_k_L; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":266 * 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 = __pyx_k_q; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":267 * 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 = __pyx_k_Q; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":268 * 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 = __pyx_k_f; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":269 * 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 = __pyx_k_d; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":270 * 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 = __pyx_k_g; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":271 * 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 = __pyx_k_Zf; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":272 * 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 = __pyx_k_Zd; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":273 * 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 = __pyx_k_Zg; break; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":274 * 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 = __pyx_k_O; break; default: /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":276 * elif t == NPY_OBJECT: f = "O" * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * info.format = f * return */ __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_8, 0, 0, 0); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;} break; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":277 * else: * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< * return * else: */ __pyx_v_info->format = __pyx_v_f; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":278 * 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; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":280 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< * info.format[0] = c'^' # Native data types, manual alignment * offset = 0 */ __pyx_v_info->format = ((char *)malloc(255)); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":281 * 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]) = '^'; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":282 * 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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":283 * 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_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_9; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":286 * 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'; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":194 * # 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_4); __Pyx_XDECREF(__pyx_t_8); __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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288 * 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); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":289 * * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":290 * 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); goto __pyx_L3; } __pyx_L3:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":291 * 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) { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":292 * 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); goto __pyx_L4; } __pyx_L4:; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":288 * 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(); } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":769 * * 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_filename = __pyx_f[1]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":768 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":772 * * 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_filename = __pyx_f[1]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":771 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":775 * * 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_filename = __pyx_f[1]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":774 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":778 * * 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_filename = __pyx_f[1]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":777 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780 * 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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":781 * * 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_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":780 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783 * 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; int __pyx_t_8; int __pyx_t_9; long __pyx_t_10; char *__pyx_t_11; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __Pyx_RefNannySetupContext("_util_dtypestring", 0); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":790 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) * cdef tuple fields */ __pyx_v_endian_detector = 1; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":791 * cdef tuple i * 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); /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3); __pyx_t_3 = 0; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":795 * * for childname in descr.names: * fields = descr.fields[childname] # <<<<<<<<<<<<<< * child, new_offset = fields * */ __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); #endif } else { __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __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; /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __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) { /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/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_6 = ((__pyx_v_child->byteorder == '>') != 0); if (__pyx_t_6) { __pyx_t_7 = (__pyx_v_little_endian != 0); } else { __pyx_t_7 = __pyx_t_6; } if (!__pyx_t_7) { /* "/home/xinleic/anaconda/lib/python2.7/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_6 = ((__pyx_v_child->byteorder == '<') != 0); if (__pyx_t_6) { __pyx_t_8 = ((!(__pyx_v_little_endian != 0)) != 0); __pyx_t_9 = __pyx_t_8; } else { __pyx_t_9 = __pyx_t_6; } __pyx_t_6 = __pyx_t_9; } else { __pyx_t_6 = __pyx_t_7; } if (__pyx_t_6) { /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!__pyx_t_6) break; /* "/home/xinleic/anaconda/lib/python2.7/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]) = 120; /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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_10 = 0; (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + 1); } /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":818 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< * * if not PyDataType_HASFIELDS(child): */ __pyx_t_10 = 0; (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + __pyx_v_child->elsize); /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 98; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 66; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 104; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 72; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 105; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 73; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 108; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 76; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 113; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 81; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 102; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 100; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 103; goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __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]) = 102; __pyx_v_f = (__pyx_v_f + 1); goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __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]) = 100; __pyx_v_f = (__pyx_v_f + 1); goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __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]) = 103; __pyx_v_f = (__pyx_v_f + 1); goto __pyx_L11; } /* "/home/xinleic/anaconda/lib/python2.7/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 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { (__pyx_v_f[0]) = 79; goto __pyx_L11; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/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: */ __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __Pyx_GIVEREF(__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_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[1]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L11:; /* "/home/xinleic/anaconda/lib/python2.7/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); goto __pyx_L9; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/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 * */ __pyx_t_11 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_11 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_f = __pyx_t_11; } __pyx_L9:; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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; /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":783 * 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; } /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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; goto __pyx_L3; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/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) */ Py_INCREF(__pyx_v_base); /* "/home/xinleic/anaconda/lib/python2.7/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:; /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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; /* "/home/xinleic/anaconda/lib/python2.7/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(); } /* "/home/xinleic/anaconda/lib/python2.7/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); /* "/home/xinleic/anaconda/lib/python2.7/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) { /* "/home/xinleic/anaconda/lib/python2.7/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; } /*else*/ { /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":980 * return None * else: * return arr.base # <<<<<<<<<<<<<< */ __Pyx_XDECREF(__pyx_r); __Pyx_INCREF(((PyObject *)__pyx_v_arr->base)); __pyx_r = ((PyObject *)__pyx_v_arr->base); goto __pyx_L0; } /* "/home/xinleic/anaconda/lib/python2.7/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 __Pyx_NAMESTR("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_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_kp_s_nfs_yoda_xinleic_Inf_Code_Faste, __pyx_k_nfs_yoda_xinleic_Inf_Code_Faste, sizeof(__pyx_k_nfs_yoda_xinleic_Inf_Code_Faste), 0, 0, 1, 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_pyx_getbuffer, __pyx_k_pyx_getbuffer, sizeof(__pyx_k_pyx_getbuffer), 0, 0, 1, 1}, {&__pyx_n_s_pyx_releasebuffer, __pyx_k_pyx_releasebuffer, sizeof(__pyx_k_pyx_releasebuffer), 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_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __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] \ * order = scores.argsort()[::-1] */ __pyx_slice_ = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice_)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); /* "nms/gpu_nms.pyx":26 * scores = dets[:, 4] * cdef np.ndarray[np.int_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_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_slice__3); __Pyx_GIVEREF(__pyx_slice__3); /* "nms/gpu_nms.pyx":28 * 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_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_slice__4); __Pyx_GIVEREF(__pyx_slice__4); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":215 * 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_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":219 * 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_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); /* "/home/xinleic/anaconda/lib/python2.7/site-packages/Cython/Includes/numpy/__init__.pxd":257 * 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_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); /* "/home/xinleic/anaconda/lib/python2.7/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_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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_nfs_yoda_xinleic_Inf_Code_Faste, __pyx_n_s_gpu_nms, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __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; int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; __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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #ifdef __Pyx_CyFunction_USED if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif #ifdef __Pyx_FusedFunction_USED if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif #ifdef __Pyx_Generator_USED if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __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(__Pyx_NAMESTR("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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} Py_INCREF(__pyx_d); __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if CYTHON_COMPILING_IN_PYPY Py_INCREF(__pyx_b); #endif if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; /*--- Initialize various global constants etc. ---*/ if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif if (__pyx_module_is_main_nms__gpu_nms) { if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; } #if PY_MAJOR_VERSION >= 3 { PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (!PyDict_GetItemString(modules, "nms.gpu_nms")) { if (unlikely(PyDict_SetItemString(modules, "nms.gpu_nms", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } } #endif /*--- Builtin init code ---*/ if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Constants init code ---*/ if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Variable import code ---*/ /*--- Function import code ---*/ /*--- Execution code ---*/ /* "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_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_gpu_nms, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "/home/xinleic/anaconda/lib/python2.7/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 */ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); if (__pyx_m) { __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 */ #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 /* CYTHON_REFNANNY */ 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); } 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 } 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; } 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; } 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) /* First char was not a digit */ 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; /* Consume from buffer string */ while (1) { if (field == &ctx->root) { ctx->head = NULL; if (ctx->enc_count != 0) { __Pyx_BufFmt_RaiseExpected(ctx); return -1; } break; /* breaks both loops as ctx->enc_count == 0 */ } 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; /* empty struct */ 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; /* not a 'break' in the loop */ } 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 10: case 13: ++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': /* substruct */ { 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; /* Erase processed last struct element */ 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 '}': /* end of substruct; either repeat or move on */ { size_t alignment = ctx->struct_alignment; ++ts; if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL; ctx->enc_type = 0; /* Erase processed last struct element */ 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; } /* fall through */ 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 's': case 'p': if (ctx->enc_type == *ts && got_Z == ctx->is_complex && ctx->enc_packmode == ctx->new_packmode) { ctx->enc_count += ctx->new_count; } else { 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); } 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; } static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) { PyObject *result; #if CYTHON_COMPILING_IN_CPYTHON result = PyDict_GetItem(__pyx_d, name); if (result) { Py_INCREF(result); } else { #else result = PyObject_GetItem(__pyx_d, name); if (!result) { PyErr_Clear(); #endif result = __Pyx_GetBuiltinName(name); } return result; } #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 PY_VERSION_HEX >= 0x02060000 if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) return NULL; #endif result = (*call)(func, arg, kw); #if PY_VERSION_HEX >= 0x02060000 Py_LeaveRecursiveCall(); #endif if (unlikely(!result) && unlikely(!PyErr_Occurred())) { PyErr_SetString( PyExc_SystemError, "NULL result without error in PyObject_Call"); } return result; } #endif 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; } static void __Pyx_RaiseBufferIndexError(int axis) { PyErr_Format(PyExc_IndexError, "Out of bounds on buffer access (axis %d)", axis); } 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)) PyErr_Clear(); else goto bad; } } 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; } static void __Pyx_RaiseBufferFallbackError(void) { PyErr_SetString(PyExc_ValueError, "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); } static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { #if CYTHON_COMPILING_IN_CPYTHON PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); 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); #else PyErr_Restore(type, value, tb); #endif } static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { #if CYTHON_COMPILING_IN_CPYTHON PyThreadState *tstate = PyThreadState_GET(); *type = tstate->curexc_type; *value = tstate->curexc_value; *tb = tstate->curexc_traceback; tstate->curexc_type = 0; tstate->curexc_value = 0; tstate->curexc_traceback = 0; #else PyErr_Fetch(type, value, tb); #endif } #if PY_MAJOR_VERSION < 3 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, CYTHON_UNUSED PyObject *cause) { 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 PY_VERSION_HEX < 0x02050000 if (PyClass_Check(type)) { #else if (PyType_Check(type)) { #endif #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; #if PY_VERSION_HEX < 0x02050000 if (PyInstance_Check(type)) { type = (PyObject*) ((PyInstanceObject*)type)->in_class; Py_INCREF(type); } else { type = 0; PyErr_SetString(PyExc_TypeError, "raise: exception must be an old-style class or instance"); goto raise_error; } #else 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; } #endif } __Pyx_ErrRestore(type, value, tb); return; raise_error: Py_XDECREF(value); Py_XDECREF(type); Py_XDECREF(tb); return; } #else /* Python 3+ */ 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) { if (PyObject_IsSubclass(instance_class, type)) { type = instance_class; } else { instance_class = NULL; } } } 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) { 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); } } bad: Py_XDECREF(owned_instance); return; } #endif 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); } 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"); } static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } #if PY_MAJOR_VERSION < 3 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { #if PY_VERSION_HEX >= 0x02060000 if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags); #endif if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pw_5numpy_7ndarray_1__getbuffer__(obj, view, flags); #if PY_VERSION_HEX < 0x02060000 if (obj->ob_type->tp_dict) { PyObject *getbuffer_cobj = PyObject_GetItem( obj->ob_type->tp_dict, __pyx_n_s_pyx_getbuffer); if (getbuffer_cobj) { getbufferproc func = (getbufferproc) PyCObject_AsVoidPtr(getbuffer_cobj); Py_DECREF(getbuffer_cobj); if (!func) goto fail; return func(obj, view, flags); } else { PyErr_Clear(); } } #endif PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name); #if PY_VERSION_HEX < 0x02060000 fail: #endif return -1; } static void __Pyx_ReleaseBuffer(Py_buffer *view) { PyObject *obj = view->obj; if (!obj) return; #if PY_VERSION_HEX >= 0x02060000 if (PyObject_CheckBuffer(obj)) { PyBuffer_Release(view); return; } #endif if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) { __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view); return; } #if PY_VERSION_HEX < 0x02060000 if (obj->ob_type->tp_dict) { PyObject *releasebuffer_cobj = PyObject_GetItem( obj->ob_type->tp_dict, __pyx_n_s_pyx_releasebuffer); if (releasebuffer_cobj) { releasebufferproc func = (releasebufferproc) PyCObject_AsVoidPtr(releasebuffer_cobj); Py_DECREF(releasebuffer_cobj); if (!func) goto fail; func(obj, view); return; } else { PyErr_Clear(); } } #endif goto nofail; #if PY_VERSION_HEX < 0x02060000 fail: #endif PyErr_WriteUnraisable(obj); nofail: Py_DECREF(obj); view->obj = NULL; } #endif /* PY_MAJOR_VERSION < 3 */ 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_VERSION_HEX >= 0x02050000 { #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; /* try absolute import on failure */ } #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 } } #else if (level>0) { PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4."); goto bad; } module = PyObject_CallFunctionObjArgs(py_import, name, global_dict, empty_dict, list, NULL); #endif bad: #if PY_VERSION_HEX < 0x03030000 Py_XDECREF(py_import); #endif Py_XDECREF(empty_list); Py_XDECREF(empty_dict); return module; } #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func) \ { \ func_type value = func(x); \ if (sizeof(target_type) < sizeof(func_type)) { \ if (unlikely(value != (func_type) (target_type) value)) { \ func_type zero = 0; \ PyErr_SetString(PyExc_OverflowError, \ (is_unsigned && unlikely(value < zero)) ? \ "can't convert negative value to " #target_type : \ "value too large to convert to " #target_type); \ return (target_type) -1; \ } \ } \ return (target_type) value; \ } #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #endif #endif static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *x) { const npy_int32 neg_one = (npy_int32) -1, const_zero = 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) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to npy_int32"); return (npy_int32) -1; } return (npy_int32) val; } } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(npy_int32)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return (npy_int32) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to npy_int32"); return (npy_int32) -1; } if (sizeof(npy_int32) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, PyLong_AsUnsignedLong) } else if (sizeof(npy_int32) <= sizeof(unsigned long long)) { __PYX_VERIFY_RETURN_INT(npy_int32, unsigned long long, PyLong_AsUnsignedLongLong) } } else { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(npy_int32)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return +(npy_int32) ((PyLongObject*)x)->ob_digit[0]; case -1: return -(npy_int32) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (sizeof(npy_int32) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT(npy_int32, long, PyLong_AsLong) } else if (sizeof(npy_int32) <= sizeof(long long)) { __PYX_VERIFY_RETURN_INT(npy_int32, long long, PyLong_AsLongLong) } } { #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_Int(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_Int(x); if (!tmp) return (npy_int32) -1; val = __Pyx_PyInt_As_npy_int32(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { const int neg_one = (int) -1, const_zero = 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 long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { if (sizeof(int) <= sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(int) <= sizeof(long long)) { return PyLong_FromLongLong((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); } } #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 #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 #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 #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 #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #endif #endif static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { const int neg_one = (int) -1, const_zero = 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) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to int"); return (int) -1; } return (int) val; } } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(int)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return (int) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to int"); return (int) -1; } if (sizeof(int) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT(int, unsigned long, PyLong_AsUnsignedLong) } else if (sizeof(int) <= sizeof(unsigned long long)) { __PYX_VERIFY_RETURN_INT(int, unsigned long long, PyLong_AsUnsignedLongLong) } } else { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(int)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return +(int) ((PyLongObject*)x)->ob_digit[0]; case -1: return -(int) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (sizeof(int) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT(int, long, PyLong_AsLong) } else if (sizeof(int) <= sizeof(long long)) { __PYX_VERIFY_RETURN_INT(int, long long, PyLong_AsLongLong) } } { #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_Int(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_Int(x); if (!tmp) return (int) -1; val = __Pyx_PyInt_As_int(tmp); Py_DECREF(tmp); return val; } } static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { const long neg_one = (long) -1, const_zero = 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 long long)) { return PyLong_FromUnsignedLongLong((unsigned long long) value); } } else { if (sizeof(long) <= sizeof(long)) { return PyInt_FromLong((long) value); } else if (sizeof(long) <= sizeof(long long)) { return PyLong_FromLongLong((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); } } #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #endif #endif static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { const long neg_one = (long) -1, const_zero = 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) } else { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long) -1; } return (long) val; } } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(long)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return (long) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long) -1; } if (sizeof(long) <= sizeof(unsigned long)) { __PYX_VERIFY_RETURN_INT(long, unsigned long, PyLong_AsUnsignedLong) } else if (sizeof(long) <= sizeof(unsigned long long)) { __PYX_VERIFY_RETURN_INT(long, unsigned long long, PyLong_AsUnsignedLongLong) } } else { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS if (sizeof(digit) <= sizeof(long)) { switch (Py_SIZE(x)) { case 0: return 0; case 1: return +(long) ((PyLongObject*)x)->ob_digit[0]; case -1: return -(long) ((PyLongObject*)x)->ob_digit[0]; } } #endif #endif if (sizeof(long) <= sizeof(long)) { __PYX_VERIFY_RETURN_INT(long, long, PyLong_AsLong) } else if (sizeof(long) <= sizeof(long long)) { __PYX_VERIFY_RETURN_INT(long, long long, PyLong_AsLongLong) } } { #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_Int(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_Int(x); if (!tmp) return (long) -1; val = __Pyx_PyInt_As_long(tmp); Py_DECREF(tmp); return val; } } 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); #if PY_VERSION_HEX < 0x02050000 return PyErr_Warn(NULL, message); #else return PyErr_WarnEx(NULL, message, 1); #endif } return 0; } #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 #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", module_name, class_name); #if PY_VERSION_HEX < 0x02050000 if (PyErr_Warn(NULL, warning) < 0) goto bad; #else if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad; #endif } else if ((size_t)basicsize != size) { PyErr_Format(PyExc_ValueError, "%.200s.%.200s has the wrong size, try recompiling", module_name, class_name); goto bad; } return (PyTypeObject *)result; bad: Py_XDECREF(py_module); Py_XDECREF(result); return NULL; } #endif 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) / 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, 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); } #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, /*int argcount,*/ 0, /*int kwonlyargcount,*/ 0, /*int nlocals,*/ 0, /*int stacksize,*/ 0, /*int flags,*/ __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, /*int firstlineno,*/ __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; PyObject *py_globals = 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_globals = PyModule_GetDict(__pyx_m); if (!py_globals) goto bad; py_frame = PyFrame_New( PyThreadState_GET(), /*PyThreadState *tstate,*/ py_code, /*PyCodeObject *code,*/ py_globals, /*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); } 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 /* Python 3+ has unicode identifiers */ 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(char* c_str) { return __Pyx_PyUnicode_FromStringAndSize(c_str, 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 __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 /*__PYX_DEFAULT_STRING_ENCODING_IS_ASCII*/ *length = PyBytes_GET_SIZE(defenc); return defenc_c; #else /* PY_VERSION_HEX < 0x03030000 */ if (PyUnicode_READY(o) == -1) return NULL; #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII if (PyUnicode_IS_ASCII(o)) { *length = PyUnicode_GET_DATA_SIZE(o); return PyUnicode_AsUTF8(o); } else { PyUnicode_AsASCIIString(o); return NULL; } #else /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */ return PyUnicode_AsUTF8AndSize(o, length); #endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */ #endif /* PY_VERSION_HEX < 0x03030000 */ } else #endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */ #if !CYTHON_COMPILING_IN_PYPY #if PY_VERSION_HEX >= 0x02060000 if (PyByteArray_Check(o)) { *length = PyByteArray_GET_SIZE(o); return PyByteArray_AS_STRING(o); } else #endif #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_Int(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 Py_INCREF(x), 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; } #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS #include "longintrepr.h" #endif #endif 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))) return PyInt_AS_LONG(b); #endif if (likely(PyLong_CheckExact(b))) { #if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3 #if CYTHON_USE_PYLONG_INTERNALS switch (Py_SIZE(b)) { case -1: return -(sdigit)((PyLongObject*)b)->ob_digit[0]; case 0: return 0; case 1: return ((PyLongObject*)b)->ob_digit[0]; } #endif #endif #if PY_VERSION_HEX < 0x02060000 return PyInt_AsSsize_t(b); #else return PyLong_AsSsize_t(b); #endif } 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) { #if PY_VERSION_HEX < 0x02050000 if (ival <= LONG_MAX) return PyInt_FromLong((long)ival); else { unsigned char *bytes = (unsigned char *) &ival; int one = 1; int little = (int)*(unsigned char*)&one; return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0); } #else return PyInt_FromSize_t(ival); #endif } #endif /* Py_PYTHON_H */ ================================================ FILE: src/tools/voc_eval_lib/nms/gpu_nms.hpp ================================================ 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); ================================================ FILE: src/tools/voc_eval_lib/nms/gpu_nms.pyx ================================================ # -------------------------------------------------------- # Faster R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- 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.int_t, ndim=1] \ 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] return list(order[keep]) ================================================ FILE: src/tools/voc_eval_lib/nms/nms_kernel.cu ================================================ // ------------------------------------------------------------------ // Faster R-CNN // Copyright (c) 2015 Microsoft // Licensed under The MIT License [see fast-rcnn/LICENSE for details] // Written by Shaoqing Ren // ------------------------------------------------------------------ #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)); } ================================================ FILE: src/tools/voc_eval_lib/nms/py_cpu_nms.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- import numpy as np def py_cpu_nms(dets, thresh): """Pure Python NMS baseline.""" 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 ================================================ FILE: src/tools/voc_eval_lib/setup.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- import os from os.path import join as pjoin import numpy as np from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext 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): print(extra_postargs) 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( "utils.cython_bbox", ["utils/bbox.pyx"], extra_compile_args={'gcc': ["-Wno-cpp", "-Wno-unused-function"]}, include_dirs = [numpy_include] ), Extension( "nms.cpu_nms", ["nms/cpu_nms.pyx"], extra_compile_args={'gcc': ["-Wno-cpp", "-Wno-unused-function"]}, include_dirs = [numpy_include] ), Extension('nms.gpu_nms', ['nms/nms_kernel.cu', 'nms/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_61', '--ptxas-options=-v', '-c', '--compiler-options', "'-fPIC'"]}, include_dirs = [numpy_include, CUDA['include']] ) ] setup( name='tf_faster_rcnn', ext_modules=ext_modules, # inject our custom trigger cmdclass={'build_ext': custom_build_ext}, ) ================================================ FILE: src/tools/voc_eval_lib/utils/.gitignore ================================================ *.c *.cpp *.h *.hpp ================================================ FILE: src/tools/voc_eval_lib/utils/__init__.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- ================================================ FILE: src/tools/voc_eval_lib/utils/bbox.pyx ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Sergey Karayev # -------------------------------------------------------- cimport cython import numpy as np cimport numpy as np DTYPE = np.float ctypedef np.float_t DTYPE_t def bbox_overlaps( np.ndarray[DTYPE_t, ndim=2] boxes, np.ndarray[DTYPE_t, ndim=2] query_boxes): """ Parameters ---------- boxes: (N, 4) ndarray of float query_boxes: (K, 4) ndarray of float Returns ------- overlaps: (N, K) ndarray of overlap between boxes and query_boxes """ cdef unsigned int N = boxes.shape[0] cdef unsigned int K = query_boxes.shape[0] cdef np.ndarray[DTYPE_t, ndim=2] overlaps = np.zeros((N, K), dtype=DTYPE) cdef DTYPE_t iw, ih, box_area cdef DTYPE_t ua cdef unsigned int k, n for k in range(K): box_area = ( (query_boxes[k, 2] - query_boxes[k, 0] + 1) * (query_boxes[k, 3] - query_boxes[k, 1] + 1) ) for n in range(N): iw = ( min(boxes[n, 2], query_boxes[k, 2]) - max(boxes[n, 0], query_boxes[k, 0]) + 1 ) if iw > 0: ih = ( min(boxes[n, 3], query_boxes[k, 3]) - max(boxes[n, 1], query_boxes[k, 1]) + 1 ) if ih > 0: ua = float( (boxes[n, 2] - boxes[n, 0] + 1) * (boxes[n, 3] - boxes[n, 1] + 1) + box_area - iw * ih ) overlaps[n, k] = iw * ih / ua return overlaps ================================================ FILE: src/tools/voc_eval_lib/utils/blob.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- """Blob helper functions.""" from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import cv2 def im_list_to_blob(ims): """Convert a list of images into a network input. Assumes images are already prepared (means subtracted, BGR order, ...). """ max_shape = np.array([im.shape for im in ims]).max(axis=0) num_images = len(ims) blob = np.zeros((num_images, max_shape[0], max_shape[1], 3), dtype=np.float32) for i in range(num_images): im = ims[i] blob[i, 0:im.shape[0], 0:im.shape[1], :] = im return blob def prep_im_for_blob(im, pixel_means, target_size, max_size): """Mean subtract and scale an image for use in a blob.""" im = im.astype(np.float32, copy=False) im -= pixel_means im_shape = im.shape im_size_min = np.min(im_shape[0:2]) im_size_max = np.max(im_shape[0:2]) im_scale = float(target_size) / float(im_size_min) # Prevent the biggest axis from being more than MAX_SIZE if np.round(im_scale * im_size_max) > max_size: im_scale = float(max_size) / float(im_size_max) im = cv2.resize(im, None, None, fx=im_scale, fy=im_scale, interpolation=cv2.INTER_LINEAR) return im, im_scale ================================================ FILE: src/tools/voc_eval_lib/utils/timer.py ================================================ # -------------------------------------------------------- # Fast R-CNN # Copyright (c) 2015 Microsoft # Licensed under The MIT License [see LICENSE for details] # Written by Ross Girshick # -------------------------------------------------------- import time class Timer(object): """A simple timer.""" def __init__(self): self.total_time = 0. self.calls = 0 self.start_time = 0. self.diff = 0. self.average_time = 0. def tic(self): # using time.time instead of time.clock because time time.clock # does not normalize for multithreading self.start_time = time.time() def toc(self, average=True): self.diff = time.time() - self.start_time self.total_time += self.diff self.calls += 1 self.average_time = self.total_time / self.calls if average: return self.average_time else: return self.diff ================================================ FILE: src/tools/voc_eval_lib/utils/visualization.py ================================================ # -------------------------------------------------------- # Tensorflow Faster R-CNN # Licensed under The MIT License [see LICENSE for details] # Written by Xinlei Chen # -------------------------------------------------------- from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np from six.moves import range import PIL.Image as Image import PIL.ImageColor as ImageColor import PIL.ImageDraw as ImageDraw import PIL.ImageFont as ImageFont STANDARD_COLORS = [ 'AliceBlue', 'Chartreuse', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', 'BlanchedAlmond', 'BlueViolet', 'BurlyWood', 'CadetBlue', 'AntiqueWhite', 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', 'DarkCyan', 'DarkGoldenRod', 'DarkGrey', 'DarkKhaki', 'DarkOrange', 'DarkOrchid', 'DarkSalmon', 'DarkSeaGreen', 'DarkTurquoise', 'DarkViolet', 'DeepPink', 'DeepSkyBlue', 'DodgerBlue', 'FireBrick', 'FloralWhite', 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', 'Salmon', 'Tan', 'HoneyDew', 'HotPink', 'IndianRed', 'Ivory', 'Khaki', 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', 'LimeGreen', 'Linen', 'Magenta', 'MediumAquaMarine', 'MediumOrchid', 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', 'MediumTurquoise', 'MediumVioletRed', 'MintCream', 'MistyRose', 'Moccasin', 'NavajoWhite', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Green', 'SandyBrown', 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'GreenYellow', 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', 'WhiteSmoke', 'Yellow', 'YellowGreen' ] NUM_COLORS = len(STANDARD_COLORS) try: FONT = ImageFont.truetype('arial.ttf', 24) except IOError: FONT = ImageFont.load_default() def _draw_single_box(image, xmin, ymin, xmax, ymax, display_str, font, color='black', thickness=4): draw = ImageDraw.Draw(image) (left, right, top, bottom) = (xmin, xmax, ymin, ymax) draw.line([(left, top), (left, bottom), (right, bottom), (right, top), (left, top)], width=thickness, fill=color) text_bottom = bottom # Reverse list and print from bottom to top. text_width, text_height = font.getsize(display_str) margin = np.ceil(0.05 * text_height) draw.rectangle( [(left, text_bottom - text_height - 2 * margin), (left + text_width, text_bottom)], fill=color) draw.text( (left + margin, text_bottom - text_height - margin), display_str, fill='black', font=font) return image def draw_bounding_boxes(image, gt_boxes, im_info): num_boxes = gt_boxes.shape[0] gt_boxes_new = gt_boxes.copy() gt_boxes_new[:,:4] = np.round(gt_boxes_new[:,:4].copy() / im_info[2]) disp_image = Image.fromarray(np.uint8(image[0])) for i in range(num_boxes): this_class = int(gt_boxes_new[i, 4]) disp_image = _draw_single_box(disp_image, gt_boxes_new[i, 0], gt_boxes_new[i, 1], gt_boxes_new[i, 2], gt_boxes_new[i, 3], 'N%02d-C%02d' % (i, this_class), FONT, color=STANDARD_COLORS[this_class % NUM_COLORS]) image[0, :] = np.array(disp_image) return image