diff --git a/TRANSFER_LEARNING_FEATURE.md b/TRANSFER_LEARNING_FEATURE.md index 8f4bc49..7a19036 100644 --- a/TRANSFER_LEARNING_FEATURE.md +++ b/TRANSFER_LEARNING_FEATURE.md @@ -1,217 +1,217 @@ -# Transfer Learning Base Configuration Feature - -## Overview -This feature implements automatic loading of base configurations when "Train on COCO" transfer learning is selected. Base parameters are loaded from `backend/data/` based on the selected YOLOX model, and these protected fields are displayed as greyed out and non-editable in the frontend. - -## Components Modified/Created - -### Backend - -#### 1. Base Configuration Files (`backend/data/`) -- **`yolox_s.py`** - Base config for YOLOX-Small (depth=0.33, width=0.50) -- **`yolox_m.py`** - Base config for YOLOX-Medium (depth=0.67, width=0.75) -- **`yolox_l.py`** - Base config for YOLOX-Large (depth=1.0, width=1.0) -- **`yolox_x.py`** - Base config for YOLOX-XLarge (depth=1.33, width=1.25) - -Each file contains a `BaseExp` class with protected parameters: -- Model architecture (depth, width, activation) -- Training hyperparameters (max_epoch, warmup_epochs, scheduler, etc.) -- Optimizer settings (momentum, weight_decay) -- Augmentation probabilities (mosaic_prob, mixup_prob, etc.) -- Input/output sizes - -#### 2. Services (`backend/services/generate_yolox_exp.py`) -**New functions:** -- `load_base_config(selected_model)` - Dynamically loads base config using importlib -- Modified `generate_yolox_inference_exp()` to support `use_base_config` parameter -- Base config merging logic: base β†’ user overrides β†’ defaults - -**Behavior:** -- `transfer_learning='coco'` β†’ loads base config + applies user overrides -- `transfer_learning='sketch'` β†’ uses only user-defined values -- Protected parameters from base config are preserved unless explicitly overridden - -#### 3. API Routes (`backend/routes/api.py`) -**New endpoint:** -```python -@api_bp.route('/base-config/', methods=['GET']) -def get_base_config(model_name): -``` -Returns the base configuration JSON for a specific YOLOX model. - -### Frontend - -#### 1. HTML (`edit-training.html`) -**Added:** -- Info banner to indicate when base config is active -- CSS styles for disabled input fields (grey background, not-allowed cursor) -- Visual feedback showing which model's base config is loaded - -**Banner HTML:** -```html - -``` - -**CSS for disabled fields:** -```css -.setting-row input[type="number"]:disabled, -.setting-row input[type="text"]:disabled, -.setting-row input[type="checkbox"]:disabled { - background: #d3d3d3 !important; - color: #666 !important; - cursor: not-allowed !important; - border: 1px solid #999 !important; -} -``` - -#### 2. JavaScript (`js/start-training.js`) -**New functionality:** - -1. **Base Config Loading:** - ```javascript - function loadBaseConfig(modelName) - ``` - Fetches base config from `/api/base-config/` - -2. **Apply Base Config:** - ```javascript - function applyBaseConfig(config, isCocoMode) - ``` - - Applies config values to form fields - - Disables and greys out protected fields - - Shows/hides info banner - - Adds tooltips to disabled fields - -3. **Update Transfer Learning Mode:** - ```javascript - function updateTransferLearningMode() - ``` - - Monitors changes to "Transfer Learning" dropdown - - Monitors changes to "Select Model" dropdown - - Loads appropriate base config when COCO mode is selected - - Clears base config when sketch mode is selected - -4. **Form Submission Enhancement:** - - Temporarily enables disabled fields before submission - - Ensures protected parameters are included in form data - - Re-disables fields after collection - -**Protected Fields List:** -```javascript -const protectedFields = [ - 'depth', 'width', 'act', 'max_epoch', 'warmup_epochs', 'warmup_lr', - 'scheduler', 'no_aug_epochs', 'min_lr_ratio', 'ema', 'weight_decay', - 'momentum', 'input_size', 'mosaic_scale', 'test_size', 'enable_mixup', - 'mosaic_prob', 'mixup_prob', 'hsv_prob', 'flip_prob', 'degrees', - 'translate', 'shear', 'mixup_scale', 'print_interval', 'eval_interval' -]; -``` - -## User Flow - -### 1. Normal Custom Training (Train from sketch) -- User selects model: e.g., "YOLOX-s" -- User selects "Train from sketch" -- All fields are editable (white background) -- User can customize all parameters -- Submission uses user-defined values only - -### 2. COCO Transfer Learning (Train on COCO) -- User selects model: e.g., "YOLOX-s" -- User selects "Train on coco" -- **Automatic actions:** - 1. Frontend calls `/api/base-config/YOLOX-s` - 2. Base config is loaded and applied - 3. Protected fields become greyed out and disabled - 4. Green info banner appears: "πŸ”’ Base Configuration Active" - 5. Tooltip on hover: "Protected by base config for YOLOX-s. Switch to 'Train from sketch' to customize." -- User can still edit non-protected fields -- On submit: both base config values AND user overrides are sent to backend -- Backend generates exp.py with merged settings - -### 3. Switching Models -- User changes from "YOLOX-s" to "YOLOX-l" (while in COCO mode) -- Frontend automatically: - 1. Fetches new base config for YOLOX-l - 2. Updates field values (depth=1.0, width=1.0, etc.) - 3. Updates banner text to show "YOLOX-l" -- Protected parameters update to match new model's architecture - -## Testing - -### Manual Test Steps: - -1. **Test Base Config Loading:** - ```bash - cd backend/data - python test_base_configs.py - ``` - Should display all parameters for yolox-s, yolox-m, yolox-l, yolox-x - -2. **Test API Endpoint:** - ```bash - # Start Flask server - cd backend - python app.py - - # In another terminal: - curl http://localhost:3000/api/base-config/YOLOX-s - ``` - Should return JSON with depth, width, activation, etc. - -3. **Test Frontend:** - - Open `edit-training.html?id=` in browser - - Select "YOLOX-s" model - - Select "Train on coco" β†’ fields should grey out - - Select "Train from sketch" β†’ fields should become editable - - Switch to "YOLOX-l" (in COCO mode) β†’ values should update - - Open browser console and check for: `Applied base config. Protected fields: depth, width, ...` - -4. **Test Form Submission:** - - With COCO mode active (fields greyed out) - - Click "Save Parameters" - - Check browser Network tab β†’ POST to `/api/yolox-settings` - - Verify payload includes protected parameters (depth, width, etc.) - - Check Flask logs for successful save - -### Expected Behaviors: - -βœ… **COCO mode + YOLOX-s:** -- depth: 0.33 (greyed out) -- width: 0.50 (greyed out) -- activation: silu (greyed out) -- Info banner visible - -βœ… **COCO mode + YOLOX-l:** -- depth: 1.0 (greyed out) -- width: 1.0 (greyed out) -- activation: silu (greyed out) - -βœ… **Sketch mode:** -- All fields white/editable -- No info banner -- User can set any values - -## Documentation - -- **`backend/data/README.md`** - Complete guide on base config system -- **`backend/data/test_base_configs.py`** - Test script for base configs - -## Benefits - -1. **Proven defaults:** Users start with battle-tested COCO pretraining settings -2. **Prevents mistakes:** Can't accidentally break model architecture by changing depth/width -3. **Easy customization:** Can still override specific parameters if needed -4. **Visual feedback:** Clear indication of which fields are protected -5. **Model-specific:** Each model (s/m/l/x) has appropriate architecture defaults -6. **Flexible:** Can easily add new models by creating new base config files - -## Future Enhancements - -- Add "Override" button next to protected fields to unlock individual parameters -- Show diff comparison between base config and user overrides -- Add validation warnings if user tries values far from base config ranges -- Export final merged config as preview before training +# Transfer Learning Base Configuration Feature + +## Overview +This feature implements automatic loading of base configurations when "Train on COCO" transfer learning is selected. Base parameters are loaded from `backend/data/` based on the selected YOLOX model, and these protected fields are displayed as greyed out and non-editable in the frontend. + +## Components Modified/Created + +### Backend + +#### 1. Base Configuration Files (`backend/data/`) +- **`yolox_s.py`** - Base config for YOLOX-Small (depth=0.33, width=0.50) +- **`yolox_m.py`** - Base config for YOLOX-Medium (depth=0.67, width=0.75) +- **`yolox_l.py`** - Base config for YOLOX-Large (depth=1.0, width=1.0) +- **`yolox_x.py`** - Base config for YOLOX-XLarge (depth=1.33, width=1.25) + +Each file contains a `BaseExp` class with protected parameters: +- Model architecture (depth, width, activation) +- Training hyperparameters (max_epoch, warmup_epochs, scheduler, etc.) +- Optimizer settings (momentum, weight_decay) +- Augmentation probabilities (mosaic_prob, mixup_prob, etc.) +- Input/output sizes + +#### 2. Services (`backend/services/generate_yolox_exp.py`) +**New functions:** +- `load_base_config(selected_model)` - Dynamically loads base config using importlib +- Modified `generate_yolox_inference_exp()` to support `use_base_config` parameter +- Base config merging logic: base β†’ user overrides β†’ defaults + +**Behavior:** +- `transfer_learning='coco'` β†’ loads base config + applies user overrides +- `transfer_learning='sketch'` β†’ uses only user-defined values +- Protected parameters from base config are preserved unless explicitly overridden + +#### 3. API Routes (`backend/routes/api.py`) +**New endpoint:** +```python +@api_bp.route('/base-config/', methods=['GET']) +def get_base_config(model_name): +``` +Returns the base configuration JSON for a specific YOLOX model. + +### Frontend + +#### 1. HTML (`edit-training.html`) +**Added:** +- Info banner to indicate when base config is active +- CSS styles for disabled input fields (grey background, not-allowed cursor) +- Visual feedback showing which model's base config is loaded + +**Banner HTML:** +```html + +``` + +**CSS for disabled fields:** +```css +.setting-row input[type="number"]:disabled, +.setting-row input[type="text"]:disabled, +.setting-row input[type="checkbox"]:disabled { + background: #d3d3d3 !important; + color: #666 !important; + cursor: not-allowed !important; + border: 1px solid #999 !important; +} +``` + +#### 2. JavaScript (`js/start-training.js`) +**New functionality:** + +1. **Base Config Loading:** + ```javascript + function loadBaseConfig(modelName) + ``` + Fetches base config from `/api/base-config/` + +2. **Apply Base Config:** + ```javascript + function applyBaseConfig(config, isCocoMode) + ``` + - Applies config values to form fields + - Disables and greys out protected fields + - Shows/hides info banner + - Adds tooltips to disabled fields + +3. **Update Transfer Learning Mode:** + ```javascript + function updateTransferLearningMode() + ``` + - Monitors changes to "Transfer Learning" dropdown + - Monitors changes to "Select Model" dropdown + - Loads appropriate base config when COCO mode is selected + - Clears base config when sketch mode is selected + +4. **Form Submission Enhancement:** + - Temporarily enables disabled fields before submission + - Ensures protected parameters are included in form data + - Re-disables fields after collection + +**Protected Fields List:** +```javascript +const protectedFields = [ + 'depth', 'width', 'act', 'max_epoch', 'warmup_epochs', 'warmup_lr', + 'scheduler', 'no_aug_epochs', 'min_lr_ratio', 'ema', 'weight_decay', + 'momentum', 'input_size', 'mosaic_scale', 'test_size', 'enable_mixup', + 'mosaic_prob', 'mixup_prob', 'hsv_prob', 'flip_prob', 'degrees', + 'translate', 'shear', 'mixup_scale', 'print_interval', 'eval_interval' +]; +``` + +## User Flow + +### 1. Normal Custom Training (Train from sketch) +- User selects model: e.g., "YOLOX-s" +- User selects "Train from sketch" +- All fields are editable (white background) +- User can customize all parameters +- Submission uses user-defined values only + +### 2. COCO Transfer Learning (Train on COCO) +- User selects model: e.g., "YOLOX-s" +- User selects "Train on coco" +- **Automatic actions:** + 1. Frontend calls `/api/base-config/YOLOX-s` + 2. Base config is loaded and applied + 3. Protected fields become greyed out and disabled + 4. Green info banner appears: "πŸ”’ Base Configuration Active" + 5. Tooltip on hover: "Protected by base config for YOLOX-s. Switch to 'Train from sketch' to customize." +- User can still edit non-protected fields +- On submit: both base config values AND user overrides are sent to backend +- Backend generates exp.py with merged settings + +### 3. Switching Models +- User changes from "YOLOX-s" to "YOLOX-l" (while in COCO mode) +- Frontend automatically: + 1. Fetches new base config for YOLOX-l + 2. Updates field values (depth=1.0, width=1.0, etc.) + 3. Updates banner text to show "YOLOX-l" +- Protected parameters update to match new model's architecture + +## Testing + +### Manual Test Steps: + +1. **Test Base Config Loading:** + ```bash + cd backend/data + python test_base_configs.py + ``` + Should display all parameters for yolox-s, yolox-m, yolox-l, yolox-x + +2. **Test API Endpoint:** + ```bash + # Start Flask server + cd backend + python app.py + + # In another terminal: + curl http://localhost:3000/api/base-config/YOLOX-s + ``` + Should return JSON with depth, width, activation, etc. + +3. **Test Frontend:** + - Open `edit-training.html?id=` in browser + - Select "YOLOX-s" model + - Select "Train on coco" β†’ fields should grey out + - Select "Train from sketch" β†’ fields should become editable + - Switch to "YOLOX-l" (in COCO mode) β†’ values should update + - Open browser console and check for: `Applied base config. Protected fields: depth, width, ...` + +4. **Test Form Submission:** + - With COCO mode active (fields greyed out) + - Click "Save Parameters" + - Check browser Network tab β†’ POST to `/api/yolox-settings` + - Verify payload includes protected parameters (depth, width, etc.) + - Check Flask logs for successful save + +### Expected Behaviors: + +βœ… **COCO mode + YOLOX-s:** +- depth: 0.33 (greyed out) +- width: 0.50 (greyed out) +- activation: silu (greyed out) +- Info banner visible + +βœ… **COCO mode + YOLOX-l:** +- depth: 1.0 (greyed out) +- width: 1.0 (greyed out) +- activation: silu (greyed out) + +βœ… **Sketch mode:** +- All fields white/editable +- No info banner +- User can set any values + +## Documentation + +- **`backend/data/README.md`** - Complete guide on base config system +- **`backend/data/test_base_configs.py`** - Test script for base configs + +## Benefits + +1. **Proven defaults:** Users start with battle-tested COCO pretraining settings +2. **Prevents mistakes:** Can't accidentally break model architecture by changing depth/width +3. **Easy customization:** Can still override specific parameters if needed +4. **Visual feedback:** Clear indication of which fields are protected +5. **Model-specific:** Each model (s/m/l/x) has appropriate architecture defaults +6. **Flexible:** Can easily add new models by creating new base config files + +## Future Enhancements + +- Add "Override" button next to protected fields to unlock individual parameters +- Show diff comparison between base config and user overrides +- Add validation warnings if user tries values far from base config ranges +- Export final merged config as preview before training diff --git a/add-project.html b/add-project.html index a9b6a35..cd4baa4 100644 --- a/add-project.html +++ b/add-project.html @@ -1,175 +1,241 @@ - - - - - - - - - - - - - -
- - - - -
- - - - - - - - - - - - + + + + + + + + + + + + + +
+ + + + +
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/backend/.gitignore b/backend/.gitignore index 01d2e7e..eac320e 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,40 +1,40 @@ -# Python -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -venv/ -env/ -ENV/ -*.egg-info/ -dist/ -build/ - -# Flask -instance/ -.webassets-cache - -# Database -*.db -*.sqlite - -# Environment -.env -.flaskenv - -# IDE -.vscode/ -.idea/ -*.swp -*.swo - -# OS -.DS_Store -Thumbs.db - -# Logs -*.log - -# Uploads -uploads/*.pth +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +venv/ +env/ +ENV/ +*.egg-info/ +dist/ +build/ + +# Flask +instance/ +.webassets-cache + +# Database +*.db +*.sqlite + +# Environment +.env +.flaskenv + +# IDE +.vscode/ +.idea/ +*.swp +*.swo + +# OS +.DS_Store +Thumbs.db + +# Logs +*.log + +# Uploads +uploads/*.pth diff --git a/backend/0815/27/exp_infer.py b/backend/0815/27/exp_infer.py deleted file mode 100644 index 26bd2d1..0000000 --- a/backend/0815/27/exp_infer.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Copyright (c) Megvii, Inc. and its affiliates. - -import os - -from yolox.exp import Exp as MyExp - - -class Exp(MyExp): - def __init__(self): - super(Exp, self).__init__() - self.data_dir = "/home/kitraining/To_Annotate/" - self.train_ann = "coco_project_27_train.json" - self.val_ann = "coco_project_27_valid.json" - self.test_ann = "coco_project_27_test.json" - self.num_classes = 80 - self.pretrained_ckpt = r'/home/kitraining/Yolox/YOLOX-main/pretrained/YOLOX-s.pth' - - - self.depth = 1.0 - self.width = 1.0 - self.input_size = (640.0, 640.0) - self.mosaic_scale = (0.1, 2.0) - self.random_size = (10, 20) - self.test_size = (640.0, 640.0) - self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] - self.enable_mixup = False diff --git a/backend/1/6/exp.py b/backend/1/6/exp.py new file mode 100644 index 0000000..07b7223 --- /dev/null +++ b/backend/1/6/exp.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Copyright (c) Megvii, Inc. and its affiliates. + +import os + +from yolox.exp import Exp as MyExp + + +class Exp(MyExp): + def __init__(self): + super(Exp, self).__init__() + self.data_dir = "/home/kitraining/To_Annotate/" + self.train_ann = "coco_project_2_train.json" + self.val_ann = "coco_project_2_valid.json" + self.test_ann = "coco_project_2_test.json" + self.num_classes = 2 + self.pretrained_ckpt = r'/home/kitraining/Yolox/YOLOX-main/pretrained/YOLOX-s.pth' + self.activation = "silu" + self.depth = 0.33 + self.scheduler = "yoloxwarmcos" + self.width = 0.5 + self.input_size = (640.0, 640.0) + self.mosaic_scale = (0.1, 2.0) + self.test_size = (640.0, 640.0) + self.enable_mixup = True + self.max_epoch = 300 + self.warmup_epochs = 5 + self.warmup_lr = 0.0 + self.no_aug_epochs = 15 + self.min_lr_ratio = 0.05 + self.ema = True + self.weight_decay = 0.0005 + self.momentum = 0.9 + self.print_interval = 10 + self.eval_interval = 10 + self.test_conf = 0.01 + self.nms_thre = 0.65 + self.mosaic_prob = 1.0 + self.mixup_prob = 1.0 + self.hsv_prob = 1.0 + self.flip_prob = 0.5 + self.degrees = 10.0 + self.translate = 0.1 + self.shear = 2.0 + self.mixup_scale = (0.5, 1.5) + self.random_size = (10, 20) + self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] diff --git a/backend/1/6/exp_infer.py b/backend/1/6/exp_infer.py new file mode 100644 index 0000000..96a02d7 --- /dev/null +++ b/backend/1/6/exp_infer.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Copyright (c) Megvii, Inc. and its affiliates. + +import os + +from yolox.exp import Exp as MyExp + + +class Exp(MyExp): + def __init__(self): + super(Exp, self).__init__() + self.data_dir = "/home/kitraining/To_Annotate/" + self.train_ann = "coco_project_6_train.json" + self.val_ann = "coco_project_6_valid.json" + self.test_ann = "coco_project_6_test.json" + self.num_classes = 2 + self.pretrained_ckpt = r'/home/kitraining/Yolox/YOLOX-main/pretrained/YOLOX-s.pth' + self.depth = 0.33 + self.width = 0.5 + self.input_size = (640.0, 640.0) + self.mosaic_scale = (0.1, 2.0) + self.test_size = (640.0, 640.0) + self.enable_mixup = True + self.max_epoch = 300 + self.warmup_epochs = 5 + self.warmup_lr = 0.0 + self.scheduler = "yoloxwarmcos" + self.no_aug_epochs = 15 + self.min_lr_ratio = 0.05 + self.ema = True + self.weight_decay = 0.0005 + self.momentum = 0.9 + self.print_interval = 10 + self.eval_interval = 10 + self.test_conf = 0.01 + self.nms_thre = 0.65 + self.mosaic_prob = 1.0 + self.mixup_prob = 1.0 + self.hsv_prob = 1.0 + self.flip_prob = 0.5 + self.degrees = 10.0 + self.translate = 0.1 + self.shear = 2.0 + self.mixup_scale = (0.5, 1.5) + self.activation = "silu" + self.random_size = (10, 20) + self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] diff --git a/backend/CONVERSION_SUMMARY.md b/backend/CONVERSION_SUMMARY.md deleted file mode 100644 index ed977a0..0000000 --- a/backend/CONVERSION_SUMMARY.md +++ /dev/null @@ -1,148 +0,0 @@ -# Backend Conversion Summary - -## βœ… Conversion Complete - -Your Node.js backend has been successfully converted to Python using Flask and SQLAlchemy. - -## πŸ“ New Python Files Created - -### Core Application -- **app.py** - Main Flask application (replaces server.js) -- **start.py** - Startup script for easy launching -- **requirements.txt** - Python dependencies (replaces package.json) - -### Database Layer -- **database/database.py** - SQLAlchemy database configuration (replaces database.js) - -### Models (Sequelize β†’ SQLAlchemy) -- **models/TrainingProject.py** -- **models/TrainingProjectDetails.py** -- **models/training.py** -- **models/LabelStudioProject.py** -- **models/Images.py** -- **models/Annotation.py** -- **models/__init__.py** - -### API Routes -- **routes/api.py** - All API endpoints converted to Flask blueprints (replaces api.js) -- **routes/__init__.py** - -### Services -- **services/fetch_labelstudio.py** - Label Studio API integration -- **services/seed_label_studio.py** - Database seeding logic -- **services/generate_json_yolox.py** - COCO JSON generation -- **services/generate_yolox_exp.py** - YOLOX experiment file generation -- **services/push_yolox_exp.py** - Save training settings to DB -- **services/__init__.py** - -### Documentation -- **README.md** - Comprehensive documentation -- **QUICKSTART.md** - Quick setup guide -- **.gitignore** - Python-specific ignore patterns - -## πŸ”„ Key Changes - -### Technology Stack -| Component | Node.js | Python | -|-----------|---------|--------| -| Framework | Express.js | Flask | -| ORM | Sequelize | SQLAlchemy | -| HTTP Client | node-fetch | requests | -| Package Manager | npm | pip | -| Runtime | Node.js | Python 3.8+ | - -### API Compatibility -βœ… All endpoints preserved with same URLs -βœ… Request/response formats maintained -βœ… Same database schema -βœ… Same business logic - -### Converted Features -- βœ… Training project management -- βœ… Label Studio integration -- βœ… YOLOX configuration and training -- βœ… File upload handling -- βœ… Image and annotation management -- βœ… COCO JSON generation -- βœ… Training logs - -## πŸš€ Getting Started - -1. **Install dependencies:** - ```bash - cd backend - python -m venv venv - .\venv\Scripts\Activate.ps1 # Windows - pip install -r requirements.txt - ``` - -2. **Run the server:** - ```bash - python start.py - ``` - -3. **Server runs at:** `http://0.0.0.0:3000` - -## πŸ“¦ Dependencies Installed - -- Flask 3.0.0 - Web framework -- Flask-CORS 4.0.0 - Cross-origin resource sharing -- Flask-SQLAlchemy 3.1.1 - ORM integration -- SQLAlchemy 2.0.23 - Database ORM -- PyMySQL 1.1.0 - MySQL driver -- requests 2.31.0 - HTTP client -- Pillow 10.1.0 - Image processing - -## ⚠️ Important Notes - -1. **Virtual Environment**: Always activate the virtual environment before running -2. **Database**: MySQL must be running with the `myapp` database created -3. **Credentials**: Update database credentials in `app.py` if needed -4. **Python Version**: Requires Python 3.8 or higher - -## πŸ§ͺ Testing - -Test the conversion: -```bash -# Get all training projects -curl http://localhost:3000/api/training-projects - -# Get Label Studio projects -curl http://localhost:3000/api/label-studio-projects -``` - -## πŸ“ Original Files - -Your original Node.js files remain untouched: -- server.js -- package.json -- routes/api.js -- models/*.js (JavaScript) -- services/*.js (JavaScript) - -You can keep them as backup or remove them once you verify the Python version works correctly. - -## πŸ” What to Verify - -1. βœ… Database connection works -2. βœ… All API endpoints respond correctly -3. βœ… File uploads work -4. βœ… Label Studio integration works -5. βœ… YOLOX training can be triggered -6. βœ… COCO JSON generation works - -## πŸ› Troubleshooting - -See **QUICKSTART.md** for common issues and solutions. - -## πŸ“š Further Documentation - -- **README.md** - Complete project documentation -- **QUICKSTART.md** - Setup guide -- **API Documentation** - All endpoints documented in README.md - ---- - -**Conversion completed successfully!** πŸŽ‰ - -Your backend is now running on Python with Flask and SQLAlchemy. diff --git a/backend/QUICKSTART.md b/backend/QUICKSTART.md index 42707e2..ca97b89 100644 --- a/backend/QUICKSTART.md +++ b/backend/QUICKSTART.md @@ -1,113 +1,113 @@ -# Quick Start Guide - Python Backend - -## Step-by-Step Setup - -### 1. Install Python -Make sure you have Python 3.8 or higher installed: -```bash -python --version -``` - -### 2. Create Virtual Environment -```bash -cd backend -python -m venv venv -``` - -### 3. Activate Virtual Environment - -**Windows:** -```powershell -.\venv\Scripts\Activate.ps1 -``` - -**Linux/Mac:** -```bash -source venv/bin/activate -``` - -### 4. Install Dependencies -```bash -pip install -r requirements.txt -``` - -### 5. Verify Database Connection -Make sure MySQL is running and the database `myapp` exists: -```sql -CREATE DATABASE IF NOT EXISTS myapp; -``` - -### 6. Run the Server -```bash -python start.py -``` - -Or: -```bash -python app.py -``` - -The server should now be running at `http://0.0.0.0:3000` - -## Testing the API - -Test if the server is working: -```bash -curl http://localhost:3000/api/training-projects -``` - -## Common Issues - -### ModuleNotFoundError -If you get import errors, make sure you've activated the virtual environment and installed all dependencies. - -### Database Connection Error -Check that: -- MySQL is running -- Database credentials in `app.py` are correct -- Database `myapp` exists - -### Port Already in Use -If port 3000 is already in use, modify the port in `app.py`: -```python -app.run(host='0.0.0.0', port=3001, debug=True) -``` - -## What Changed from Node.js - -1. **Server Framework**: Express.js β†’ Flask -2. **ORM**: Sequelize β†’ SQLAlchemy -3. **HTTP Client**: node-fetch β†’ requests -4. **Package Manager**: npm β†’ pip -5. **Dependencies**: package.json β†’ requirements.txt -6. **Startup**: `node server.js` β†’ `python app.py` - -## Next Steps - -1. Test all API endpoints -2. Update frontend to point to the new Python backend (if needed) -3. Migrate any remaining Node.js-specific logic -4. Test file uploads and downloads -5. Test YOLOX training functionality - -## File Structure Comparison - -**Before (Node.js):** -``` -backend/ -β”œβ”€β”€ server.js -β”œβ”€β”€ package.json -β”œβ”€β”€ routes/api.js -β”œβ”€β”€ models/*.js -└── services/*.js -``` - -**After (Python):** -``` -backend/ -β”œβ”€β”€ app.py -β”œβ”€β”€ requirements.txt -β”œβ”€β”€ routes/api.py -β”œβ”€β”€ models/*.py -└── services/*.py -``` +# Quick Start Guide - Python Backend + +## Step-by-Step Setup + +### 1. Install Python +Make sure you have Python 3.8 or higher installed: +```bash +python --version +``` + +### 2. Create Virtual Environment +```bash +cd backend +python -m venv venv +``` + +### 3. Activate Virtual Environment + +**Windows:** +```powershell +.\venv\Scripts\Activate.ps1 +``` + +**Linux/Mac:** +```bash +source venv/bin/activate +``` + +### 4. Install Dependencies +```bash +pip install -r requirements.txt +``` + +### 5. Verify Database Connection +Make sure MySQL is running and the database `myapp` exists: +```sql +CREATE DATABASE IF NOT EXISTS myapp; +``` + +### 6. Run the Server +```bash +python start.py +``` + +Or: +```bash +python app.py +``` + +The server should now be running at `http://0.0.0.0:3000` + +## Testing the API + +Test if the server is working: +```bash +curl http://localhost:3000/api/training-projects +``` + +## Common Issues + +### ModuleNotFoundError +If you get import errors, make sure you've activated the virtual environment and installed all dependencies. + +### Database Connection Error +Check that: +- MySQL is running +- Database credentials in `app.py` are correct +- Database `myapp` exists + +### Port Already in Use +If port 3000 is already in use, modify the port in `app.py`: +```python +app.run(host='0.0.0.0', port=3001, debug=True) +``` + +## What Changed from Node.js + +1. **Server Framework**: Express.js β†’ Flask +2. **ORM**: Sequelize β†’ SQLAlchemy +3. **HTTP Client**: node-fetch β†’ requests +4. **Package Manager**: npm β†’ pip +5. **Dependencies**: package.json β†’ requirements.txt +6. **Startup**: `node server.js` β†’ `python app.py` + +## Next Steps + +1. Test all API endpoints +2. Update frontend to point to the new Python backend (if needed) +3. Migrate any remaining Node.js-specific logic +4. Test file uploads and downloads +5. Test YOLOX training functionality + +## File Structure Comparison + +**Before (Node.js):** +``` +backend/ +β”œβ”€β”€ server.js +β”œβ”€β”€ package.json +β”œβ”€β”€ routes/api.js +β”œβ”€β”€ models/*.js +└── services/*.js +``` + +**After (Python):** +``` +backend/ +β”œβ”€β”€ app.py +β”œβ”€β”€ requirements.txt +β”œβ”€β”€ routes/api.py +β”œβ”€β”€ models/*.py +└── services/*.py +``` diff --git a/backend/README.md b/backend/README.md index f5d7fb1..e8a097b 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,107 +1,107 @@ -# Python Backend for COCO Tool - -This is the converted Python backend using Flask and SQLAlchemy. - -## Setup - -1. Create a virtual environment (recommended): -```bash -python -m venv venv -``` - -2. Activate the virtual environment: - - Windows: `venv\Scripts\activate` - - Linux/Mac: `source venv/bin/activate` - -3. Install dependencies: -```bash -pip install -r requirements.txt -``` - -## Running the Server - -### Option 1: Using start.py -```bash -python start.py -``` - -### Option 2: Using Flask directly -```bash -python app.py -``` - -### Option 3: Using Flask CLI -```bash -flask --app app run --host=0.0.0.0 --port=3000 -``` - -The server will start on `http://0.0.0.0:3000` - -## Database Configuration - -The database configuration is in `database/database.py`. Default settings: -- Host: localhost -- Database: myapp -- User: root -- Password: root - -Modify `app.py` to change these settings. - -## Project Structure - -``` -backend/ -β”œβ”€β”€ app.py # Main Flask application -β”œβ”€β”€ start.py # Startup script -β”œβ”€β”€ requirements.txt # Python dependencies -β”œβ”€β”€ database/ -β”‚ └── database.py # Database configuration -β”œβ”€β”€ models/ # SQLAlchemy models -β”‚ β”œβ”€β”€ __init__.py -β”‚ β”œβ”€β”€ Annotation.py -β”‚ β”œβ”€β”€ Images.py -β”‚ β”œβ”€β”€ LabelStudioProject.py -β”‚ β”œβ”€β”€ training.py -β”‚ β”œβ”€β”€ TrainingProject.py -β”‚ └── TrainingProjectDetails.py -β”œβ”€β”€ routes/ -β”‚ └── api.py # API endpoints -└── services/ # Business logic - β”œβ”€β”€ fetch_labelstudio.py - β”œβ”€β”€ generate_json_yolox.py - β”œβ”€β”€ generate_yolox_exp.py - β”œβ”€β”€ push_yolox_exp.py - └── seed_label_studio.py -``` - -## API Endpoints - -All endpoints are prefixed with `/api`: - -- `GET /api/seed` - Seed database from Label Studio -- `POST /api/generate-yolox-json` - Generate YOLOX training files -- `POST /api/start-yolox-training` - Start YOLOX training -- `GET /api/training-log` - Get training logs -- `GET/POST /api/training-projects` - Manage training projects -- `GET /api/label-studio-projects` - Get Label Studio projects -- `GET/POST/PUT /api/training-project-details` - Manage project details -- `POST /api/yolox-settings` - Save YOLOX settings -- `GET/DELETE /api/trainings` - Manage trainings -- `DELETE /api/training-projects/:id` - Delete training project - -## Migration Notes - -This is a direct conversion from Node.js/Express to Python/Flask: -- Express β†’ Flask -- Sequelize ORM β†’ SQLAlchemy ORM -- node-fetch β†’ requests library -- Async routes maintained where needed -- All file paths and logic preserved from original - -## Differences from Node.js Version - -1. Python uses async/await differently - some routes may need adjustments -2. File handling uses Python's built-in open() instead of fs module -3. Subprocess calls use Python's subprocess module -4. JSON handling uses Python's json module -5. Path operations use os.path instead of Node's path module +# Python Backend for COCO Tool + +This is the converted Python backend using Flask and SQLAlchemy. + +## Setup + +1. Create a virtual environment (recommended): +```bash +python -m venv venv +``` + +2. Activate the virtual environment: + - Windows: `venv\Scripts\activate` + - Linux/Mac: `source venv/bin/activate` + +3. Install dependencies: +```bash +pip install -r requirements.txt +``` + +## Running the Server + +### Option 1: Using start.py +```bash +python start.py +``` + +### Option 2: Using Flask directly +```bash +python app.py +``` + +### Option 3: Using Flask CLI +```bash +flask --app app run --host=0.0.0.0 --port=3000 +``` + +The server will start on `http://0.0.0.0:3000` + +## Database Configuration + +The database configuration is in `database/database.py`. Default settings: +- Host: localhost +- Database: myapp +- User: root +- Password: root + +Modify `app.py` to change these settings. + +## Project Structure + +``` +backend/ +β”œβ”€β”€ app.py # Main Flask application +β”œβ”€β”€ start.py # Startup script +β”œβ”€β”€ requirements.txt # Python dependencies +β”œβ”€β”€ database/ +β”‚ └── database.py # Database configuration +β”œβ”€β”€ models/ # SQLAlchemy models +β”‚ β”œβ”€β”€ __init__.py +β”‚ β”œβ”€β”€ Annotation.py +β”‚ β”œβ”€β”€ Images.py +β”‚ β”œβ”€β”€ LabelStudioProject.py +β”‚ β”œβ”€β”€ training.py +β”‚ β”œβ”€β”€ TrainingProject.py +β”‚ └── TrainingProjectDetails.py +β”œβ”€β”€ routes/ +β”‚ └── api.py # API endpoints +└── services/ # Business logic + β”œβ”€β”€ fetch_labelstudio.py + β”œβ”€β”€ generate_json_yolox.py + β”œβ”€β”€ generate_yolox_exp.py + β”œβ”€β”€ push_yolox_exp.py + └── seed_label_studio.py +``` + +## API Endpoints + +All endpoints are prefixed with `/api`: + +- `GET /api/seed` - Seed database from Label Studio +- `POST /api/generate-yolox-json` - Generate YOLOX training files +- `POST /api/start-yolox-training` - Start YOLOX training +- `GET /api/training-log` - Get training logs +- `GET/POST /api/training-projects` - Manage training projects +- `GET /api/label-studio-projects` - Get Label Studio projects +- `GET/POST/PUT /api/training-project-details` - Manage project details +- `POST /api/yolox-settings` - Save YOLOX settings +- `GET/DELETE /api/trainings` - Manage trainings +- `DELETE /api/training-projects/:id` - Delete training project + +## Migration Notes + +This is a direct conversion from Node.js/Express to Python/Flask: +- Express β†’ Flask +- Sequelize ORM β†’ SQLAlchemy ORM +- node-fetch β†’ requests library +- Async routes maintained where needed +- All file paths and logic preserved from original + +## Differences from Node.js Version + +1. Python uses async/await differently - some routes may need adjustments +2. File handling uses Python's built-in open() instead of fs module +3. Subprocess calls use Python's subprocess module +4. JSON handling uses Python's json module +5. Path operations use os.path instead of Node's path module diff --git a/backend/app.py b/backend/app.py index fcd1cdc..727aa4e 100644 --- a/backend/app.py +++ b/backend/app.py @@ -1,43 +1,48 @@ -from flask import Flask, send_from_directory -from flask_cors import CORS -import os -from database.database import db, init_db - -app = Flask(__name__, static_folder='..', static_url_path='') -CORS(app) - -# Configure database -app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:root@localhost/myapp' -app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False - -# Initialize database -db.init_app(app) - -# Import and register blueprints -from routes.api import api_bp -app.register_blueprint(api_bp, url_prefix='/api') - -# Serve static files (HTML, CSS, JS) -@app.route('/') -def index(): - return send_from_directory('..', 'index.html') - -@app.route('/') -def serve_static(path): - return send_from_directory('..', path) - -# Initialize DB and start server -if __name__ == '__main__': - with app.app_context(): - try: - # Test database connection - db.engine.connect() - print('DB connection established.') - - # Create tables if they don't exist - db.create_all() - - # Start server - app.run(host='0.0.0.0', port=3000, debug=True) - except Exception as err: - print(f'Failed to start: {err}') +from flask import Flask, send_from_directory +from flask_cors import CORS +import os +from database.database import db, init_db + +app = Flask(__name__, static_folder='..', static_url_path='') +CORS(app) + +# Configure database +app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:root@localhost/myapp2' +app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False + +# Initialize database +db.init_app(app) + +# Import and register blueprints +from routes.api import api_bp +app.register_blueprint(api_bp, url_prefix='/api') + +# Serve static files (HTML, CSS, JS) +@app.route('/') +def index(): + return send_from_directory('..', 'index.html') + +@app.route('/') +def serve_static(path): + return send_from_directory('..', path) + +# Initialize DB and start server +if __name__ == '__main__': + with app.app_context(): + try: + # Test database connection + db.engine.connect() + print('DB connection established.') + + # Create tables if they don't exist + db.create_all() + + # Initialize default settings + from services.settings_service import initialize_default_settings + initialize_default_settings() + print('Settings initialized.') + + # Start server + app.run(host='0.0.0.0', port=4000, debug=True) + except Exception as err: + print(f'Failed to start: {err}') diff --git a/backend/asdf/5/exp_infer.py b/backend/asdf/5/exp_infer.py deleted file mode 100644 index de775e4..0000000 --- a/backend/asdf/5/exp_infer.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Copyright (c) Megvii, Inc. and its affiliates. - -import os - -from yolox.exp import Exp as MyExp - - -class Exp(MyExp): - def __init__(self): - super(Exp, self).__init__() - self.data_dir = "/home/kitraining/To_Annotate/" - self.train_ann = "coco_project_5_train.json" - self.val_ann = "coco_project_5_valid.json" - self.test_ann = "coco_project_5_test.json" - self.num_classes = 4 - self.depth = 1.0 - self.width = 1.0 - self.input_size = (640, 640) - self.mosaic_scale = (0.1, 2) - self.random_size = (10, 20) - self.test_size = (640, 640) - self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] - self.enable_mixup = False diff --git a/backend/backend/1/1/exp_infer.py b/backend/backend/1/1/exp_infer.py new file mode 100644 index 0000000..63b48ce --- /dev/null +++ b/backend/backend/1/1/exp_infer.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Copyright (c) Megvii, Inc. and its affiliates. + +import os + +from yolox.exp import Exp as MyExp + + +class Exp(MyExp): + def __init__(self): + super(Exp, self).__init__() + self.data_dir = "/home/kitraining/To_Annotate" # Where images are located + self.annotations_dir = "./backend/1/custom_exp_1" # Where annotation JSONs are located + self.train_ann = "coco_project_1_train.json" + self.val_ann = "coco_project_1_valid.json" + self.test_ann = "coco_project_1_test.json" + self.num_classes = 2 + # Disable train2017 subdirectory - our images are directly in data_dir + self.name = "" + # Set data workers for training + self.data_num_workers = 8 + self.depth = 1.0 + self.width = 1.0 + self.input_size = (640.0, 640.0) + self.mosaic_scale = (0.1, 2.0) + self.test_size = (640.0, 640.0) + self.enable_mixup = True + self.max_epoch = 300 + self.warmup_epochs = 5 + self.warmup_lr = 0.0 + self.scheduler = "yoloxwarmcos" + self.no_aug_epochs = 15 + self.min_lr_ratio = 0.05 + self.ema = True + self.weight_decay = 0.0005 + self.momentum = 0.9 + self.print_interval = 10 + self.eval_interval = 10 + self.test_conf = 0.01 + self.nms_thre = 0.65 + self.mosaic_prob = 1.0 + self.mixup_prob = 1.0 + self.hsv_prob = 1.0 + self.flip_prob = 0.5 + self.degrees = 10.0 + self.translate = 0.1 + self.shear = 2.0 + self.mixup_scale = (0.5, 1.5) + self.activation = "silu" + self.random_size = (10, 20) + + def get_dataset(self, cache=False, cache_type="ram"): + """Override to use name parameter for images directory""" + from yolox.data import COCODataset + + # COCODataset constructs image paths as: os.path.join(data_dir, name, file_name) + # YOLOX adds "annotations/" to data_dir automatically, so we pass annotations_dir directly + # Use empty string for name since we have absolute paths in JSON + return COCODataset( + data_dir=self.annotations_dir, + json_file=self.train_ann, + name="", + img_size=self.input_size, + preproc=self.preproc if hasattr(self, 'preproc') else None, + cache=cache, + cache_type=cache_type, + ) + + def get_eval_dataset(self, **kwargs): + """Override eval dataset using name parameter""" + from yolox.data import COCODataset + + testdev = kwargs.get("testdev", False) + legacy = kwargs.get("legacy", False) + + return COCODataset( + data_dir=self.annotations_dir, + json_file=self.val_ann if not testdev else self.test_ann, + name="", + img_size=self.test_size, + preproc=None, # No preprocessing for evaluation + ) + self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] diff --git a/backend/backend/1/custom_exp_1/annotations/coco_project_1_test.json b/backend/backend/1/custom_exp_1/annotations/coco_project_1_test.json new file mode 100644 index 0000000..9637898 --- /dev/null +++ b/backend/backend/1/custom_exp_1/annotations/coco_project_1_test.json @@ -0,0 +1,3634 @@ +{ + "images": [ + { + "id": 794, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 193, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 693, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 826, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0060.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 178, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 340, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 109, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 279, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 613, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 448, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 589, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 222, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 256, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 577, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 859, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 436, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 868, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 775, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 852, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 876, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 796, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 582, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 547, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 163, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 417, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 521, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 829, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 854, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 848, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 38, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 889, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 562, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 831, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 845, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 723, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 348, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 218, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 75, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 288, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 716, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 126, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 488, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 395, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 405, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 394, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 202, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 646, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 531, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0016.jpg", + "width": 1280.0, + "height": 720.0 + } + ], + "annotations": [ + { + "id": 169, + "image_id": 38, + "category_id": 1, + "bbox": [ + 616.477, + 374.755, + 137.769, + 341.779 + ], + "area": 47086.551051, + "iscrowd": 0 + }, + { + "id": 170, + "image_id": 38, + "category_id": 1, + "bbox": [ + 270.377, + 387.587, + 54.7932, + 145.628 + ], + "area": 7979.424129599999, + "iscrowd": 0 + }, + { + "id": 171, + "image_id": 38, + "category_id": 1, + "bbox": [ + 880.111, + 395.957, + 62.9783, + 134.656 + ], + "area": 8480.4059648, + "iscrowd": 0 + }, + { + "id": 172, + "image_id": 38, + "category_id": 1, + "bbox": [ + 1128.84, + 402.926, + 90.1562, + 117.473 + ], + "area": 10590.9192826, + "iscrowd": 0 + }, + { + "id": 173, + "image_id": 38, + "category_id": 1, + "bbox": [ + 1198.45, + 403.495, + 42.5708, + 98.8911 + ], + "area": 4209.873239879999, + "iscrowd": 0 + }, + { + "id": 174, + "image_id": 38, + "category_id": 0, + "bbox": [ + 1110.0, + 426.943, + 52.6289, + 68.6064 + ], + "area": 3610.67936496, + "iscrowd": 0 + }, + { + "id": 175, + "image_id": 38, + "category_id": 0, + "bbox": [ + 671.338, + 437.959, + 72.4966, + 102.29 + ], + "area": 7415.677214, + "iscrowd": 0 + }, + { + "id": 176, + "image_id": 38, + "category_id": 0, + "bbox": [ + 873.931, + 453.848, + 49.6552, + 81.4345 + ], + "area": 4043.6463844, + "iscrowd": 0 + }, + { + "id": 413, + "image_id": 75, + "category_id": 1, + "bbox": [ + 39.7523, + 167.28, + 469.574, + 544.972 + ], + "area": 255904.681928, + "iscrowd": 0 + }, + { + "id": 414, + "image_id": 75, + "category_id": 1, + "bbox": [ + 596.523, + 419.732, + 126.847, + 296.596 + ], + "area": 37622.312812, + "iscrowd": 0 + }, + { + "id": 415, + "image_id": 75, + "category_id": 1, + "bbox": [ + 486.664, + 327.019, + 139.67, + 389.428 + ], + "area": 54391.40875999999, + "iscrowd": 0 + }, + { + "id": 416, + "image_id": 75, + "category_id": 1, + "bbox": [ + 787.318, + 411.125, + 132.405, + 304.953 + ], + "area": 40377.301965, + "iscrowd": 0 + }, + { + "id": 417, + "image_id": 75, + "category_id": 0, + "bbox": [ + 787.531, + 462.786, + 128.11, + 162.869 + ], + "area": 20865.14759, + "iscrowd": 0 + }, + { + "id": 418, + "image_id": 75, + "category_id": 0, + "bbox": [ + 607.779, + 448.883, + 68.5241, + 120.166 + ], + "area": 8234.2670006, + "iscrowd": 0 + }, + { + "id": 419, + "image_id": 75, + "category_id": 0, + "bbox": [ + 49.6552, + 417.103, + 289.986, + 251.255 + ], + "area": 72860.43243, + "iscrowd": 0 + }, + { + "id": 575, + "image_id": 109, + "category_id": 1, + "bbox": [ + 324.678, + 433.306, + 33.6259, + 42.0268 + ], + "area": 1413.18897412, + "iscrowd": 0 + }, + { + "id": 660, + "image_id": 126, + "category_id": 1, + "bbox": [ + 588.727, + 360.247, + 257.835, + 355.775 + ], + "area": 91731.24712499998, + "iscrowd": 0 + }, + { + "id": 661, + "image_id": 126, + "category_id": 1, + "bbox": [ + 1168.11, + 397.325, + 84.8931, + 119.537 + ], + "area": 10147.866494700002, + "iscrowd": 0 + }, + { + "id": 662, + "image_id": 126, + "category_id": 1, + "bbox": [ + 1057.88, + 397.989, + 111.4, + 149.173 + ], + "area": 16617.8722, + "iscrowd": 0 + }, + { + "id": 663, + "image_id": 126, + "category_id": 1, + "bbox": [ + 324.479, + 433.629, + 33.925, + 41.5604 + ], + "area": 1409.9365699999998, + "iscrowd": 0 + }, + { + "id": 664, + "image_id": 126, + "category_id": 1, + "bbox": [ + 797.586, + 403.956, + 62.3156, + 124.826 + ], + "area": 7778.6070856, + "iscrowd": 0 + }, + { + "id": 665, + "image_id": 126, + "category_id": 0, + "bbox": [ + 719.336, + 426.028, + 120.111, + 236.24 + ], + "area": 28375.022640000003, + "iscrowd": 0 + }, + { + "id": 892, + "image_id": 163, + "category_id": 1, + "bbox": [ + 817.422, + 378.885, + 209.966, + 338.652 + ], + "area": 71105.405832, + "iscrowd": 0 + }, + { + "id": 893, + "image_id": 163, + "category_id": 1, + "bbox": [ + 538.477, + 365.29, + 135.095, + 352.863 + ], + "area": 47670.026985, + "iscrowd": 0 + }, + { + "id": 894, + "image_id": 163, + "category_id": 1, + "bbox": [ + 696.616, + 378.804, + 114.989, + 338.361 + ], + "area": 38907.793029, + "iscrowd": 0 + }, + { + "id": 895, + "image_id": 163, + "category_id": 1, + "bbox": [ + 323.998, + 433.422, + 31.7206, + 41.2943 + ], + "area": 1309.87997258, + "iscrowd": 0 + }, + { + "id": 896, + "image_id": 163, + "category_id": 0, + "bbox": [ + 549.456, + 529.548, + 104.848, + 101.53 + ], + "area": 10645.21744, + "iscrowd": 0 + }, + { + "id": 897, + "image_id": 163, + "category_id": 0, + "bbox": [ + 672.665, + 476.101, + 55.1601, + 65.5729 + ], + "area": 3617.00772129, + "iscrowd": 0 + }, + { + "id": 1002, + "image_id": 178, + "category_id": 0, + "bbox": [ + 620.655, + 515.897, + 182.32, + 202.804 + ], + "area": 36975.22528, + "iscrowd": 0 + }, + { + "id": 1003, + "image_id": 178, + "category_id": 1, + "bbox": [ + 562.675, + 333.122, + 215.407, + 384.755 + ], + "area": 82878.920285, + "iscrowd": 0 + }, + { + "id": 1004, + "image_id": 178, + "category_id": 1, + "bbox": [ + 454.244, + 355.771, + 146.521, + 359.555 + ], + "area": 52682.358154999994, + "iscrowd": 0 + }, + { + "id": 1005, + "image_id": 178, + "category_id": 1, + "bbox": [ + 323.319, + 432.939, + 34.5074, + 41.5104 + ], + "area": 1432.4159769599999, + "iscrowd": 0 + }, + { + "id": 1006, + "image_id": 178, + "category_id": 0, + "bbox": [ + 491.456, + 468.258, + 91.0737, + 119.427 + ], + "area": 10876.658769900001, + "iscrowd": 0 + }, + { + "id": 1101, + "image_id": 193, + "category_id": 1, + "bbox": [ + 327.632, + 296.388, + 294.972, + 423.612 + ], + "area": 124953.678864, + "iscrowd": 0 + }, + { + "id": 1102, + "image_id": 193, + "category_id": 1, + "bbox": [ + 324.023, + 433.323, + 34.4296, + 41.9388 + ], + "area": 1443.93610848, + "iscrowd": 0 + }, + { + "id": 1103, + "image_id": 193, + "category_id": 0, + "bbox": [ + 420.055, + 523.576, + 208.369, + 196.424 + ], + "area": 40928.672456, + "iscrowd": 0 + }, + { + "id": 1145, + "image_id": 202, + "category_id": 1, + "bbox": [ + 847.372, + 290.059, + 285.058, + 429.941 + ], + "area": 122558.12157799999, + "iscrowd": 0 + }, + { + "id": 1146, + "image_id": 202, + "category_id": 1, + "bbox": [ + 324.198, + 433.35, + 34.2018, + 41.9351 + ], + "area": 1434.25590318, + "iscrowd": 0 + }, + { + "id": 1147, + "image_id": 202, + "category_id": 0, + "bbox": [ + 756.086, + 508.64, + 130.597, + 184.726 + ], + "area": 24124.661422, + "iscrowd": 0 + }, + { + "id": 1209, + "image_id": 218, + "category_id": 1, + "bbox": [ + 996.187, + 438.874, + 74.2661, + 94.7608 + ], + "area": 7037.51504888, + "iscrowd": 0 + }, + { + "id": 1210, + "image_id": 218, + "category_id": 0, + "bbox": [ + 1152.0, + 471.724, + 39.7241, + 59.5862 + ], + "area": 2367.00816742, + "iscrowd": 0 + }, + { + "id": 1211, + "image_id": 218, + "category_id": 1, + "bbox": [ + 1091.42, + 418.097, + 61.5724, + 135.062 + ], + "area": 8316.0914888, + "iscrowd": 0 + }, + { + "id": 1223, + "image_id": 222, + "category_id": 1, + "bbox": [ + 701.607, + 393.061, + 120.101, + 312.536 + ], + "area": 37535.886136, + "iscrowd": 0 + }, + { + "id": 1224, + "image_id": 222, + "category_id": 1, + "bbox": [ + 1151.37, + 392.388, + 85.5225, + 125.666 + ], + "area": 10747.270485, + "iscrowd": 0 + }, + { + "id": 1225, + "image_id": 222, + "category_id": 1, + "bbox": [ + 946.158, + 388.19, + 47.5725, + 96.5823 + ], + "area": 4594.66146675, + "iscrowd": 0 + }, + { + "id": 1226, + "image_id": 222, + "category_id": 1, + "bbox": [ + 844.323, + 406.007, + 127.262, + 132.945 + ], + "area": 16918.846589999997, + "iscrowd": 0 + }, + { + "id": 1227, + "image_id": 222, + "category_id": 1, + "bbox": [ + 1051.81, + 397.309, + 67.1616, + 157.494 + ], + "area": 10577.549030400001, + "iscrowd": 0 + }, + { + "id": 1228, + "image_id": 222, + "category_id": 1, + "bbox": [ + 321.486, + 432.788, + 36.8685, + 41.5747 + ], + "area": 1532.79682695, + "iscrowd": 0 + }, + { + "id": 1229, + "image_id": 222, + "category_id": 1, + "bbox": [ + 871.945, + 385.324, + 45.6828, + 75.4759 + ], + "area": 3447.95044452, + "iscrowd": 0 + }, + { + "id": 1407, + "image_id": 256, + "category_id": 1, + "bbox": [ + 565.988, + 347.365, + 174.334, + 368.947 + ], + "area": 64320.006298, + "iscrowd": 0 + }, + { + "id": 1408, + "image_id": 256, + "category_id": 1, + "bbox": [ + 511.869, + 364.41, + 108.074, + 349.764 + ], + "area": 37800.394536, + "iscrowd": 0 + }, + { + "id": 1409, + "image_id": 256, + "category_id": 1, + "bbox": [ + 680.085, + 397.836, + 125.846, + 316.456 + ], + "area": 39824.721776000006, + "iscrowd": 0 + }, + { + "id": 1410, + "image_id": 256, + "category_id": 1, + "bbox": [ + 799.827, + 385.834, + 116.732, + 302.2 + ], + "area": 35276.4104, + "iscrowd": 0 + }, + { + "id": 1411, + "image_id": 256, + "category_id": 1, + "bbox": [ + 323.521, + 435.524, + 58.8083, + 52.4924 + ], + "area": 3086.9888069200006, + "iscrowd": 0 + }, + { + "id": 1412, + "image_id": 256, + "category_id": 0, + "bbox": [ + 711.062, + 450.869, + 87.3931, + 87.3931 + ], + "area": 7637.553927610001, + "iscrowd": 0 + }, + { + "id": 1413, + "image_id": 256, + "category_id": 0, + "bbox": [ + 558.124, + 434.979, + 56.6069, + 107.255 + ], + "area": 6071.3730595, + "iscrowd": 0 + }, + { + "id": 1414, + "image_id": 256, + "category_id": 0, + "bbox": [ + 850.097, + 433.986, + 62.5655, + 76.469 + ], + "area": 4784.3212195, + "iscrowd": 0 + }, + { + "id": 1555, + "image_id": 279, + "category_id": 1, + "bbox": [ + 614.078, + 368.635, + 102.473, + 310.411 + ], + "area": 31808.746403, + "iscrowd": 0 + }, + { + "id": 1556, + "image_id": 279, + "category_id": 1, + "bbox": [ + 750.166, + 420.0, + 115.896, + 298.753 + ], + "area": 34624.277688, + "iscrowd": 0 + }, + { + "id": 1557, + "image_id": 279, + "category_id": 1, + "bbox": [ + 683.612, + 423.78, + 99.8218, + 281.242 + ], + "area": 28074.082675600002, + "iscrowd": 0 + }, + { + "id": 1558, + "image_id": 279, + "category_id": 1, + "bbox": [ + 1175.06, + 385.472, + 98.7695, + 127.352 + ], + "area": 12578.493364, + "iscrowd": 0 + }, + { + "id": 1559, + "image_id": 279, + "category_id": 1, + "bbox": [ + 838.432, + 404.274, + 116.976, + 264.406 + ], + "area": 30929.156256000002, + "iscrowd": 0 + }, + { + "id": 1560, + "image_id": 279, + "category_id": 0, + "bbox": [ + 676.303, + 458.814, + 69.5172, + 121.159 + ], + "area": 8422.6344348, + "iscrowd": 0 + }, + { + "id": 1561, + "image_id": 279, + "category_id": 0, + "bbox": [ + 750.786, + 469.738, + 71.5034, + 94.3448 + ], + "area": 6745.97397232, + "iscrowd": 0 + }, + { + "id": 1562, + "image_id": 279, + "category_id": 0, + "bbox": [ + 621.683, + 403.2, + 52.6345, + 65.5448 + ], + "area": 3449.9177756, + "iscrowd": 0 + }, + { + "id": 1563, + "image_id": 279, + "category_id": 0, + "bbox": [ + 1181.79, + 436.966, + 43.6966, + 66.5379 + ], + "area": 2907.4800011399993, + "iscrowd": 0 + }, + { + "id": 1619, + "image_id": 288, + "category_id": 1, + "bbox": [ + 518.317, + 417.066, + 110.02, + 300.504 + ], + "area": 33061.45008, + "iscrowd": 0 + }, + { + "id": 1620, + "image_id": 288, + "category_id": 1, + "bbox": [ + 719.875, + 394.07, + 74.3882, + 323.221 + ], + "area": 24043.8283922, + "iscrowd": 0 + }, + { + "id": 1621, + "image_id": 288, + "category_id": 1, + "bbox": [ + 617.328, + 405.359, + 139.247, + 310.392 + ], + "area": 43221.154824000005, + "iscrowd": 0 + }, + { + "id": 1622, + "image_id": 288, + "category_id": 1, + "bbox": [ + 828.766, + 376.097, + 111.717, + 329.941 + ], + "area": 36860.018697, + "iscrowd": 0 + }, + { + "id": 1623, + "image_id": 288, + "category_id": 1, + "bbox": [ + 415.643, + 357.798, + 126.323, + 359.723 + ], + "area": 45441.288529, + "iscrowd": 0 + }, + { + "id": 1624, + "image_id": 288, + "category_id": 0, + "bbox": [ + 419.549, + 399.344, + 59.2653, + 125.859 + ], + "area": 7459.0713927, + "iscrowd": 0 + }, + { + "id": 1625, + "image_id": 288, + "category_id": 0, + "bbox": [ + 534.577, + 473.905, + 71.0524, + 120.201 + ], + "area": 8540.5695324, + "iscrowd": 0 + }, + { + "id": 1626, + "image_id": 288, + "category_id": 0, + "bbox": [ + 662.664, + 490.156, + 91.4493, + 140.593 + ], + "area": 12857.131434899999, + "iscrowd": 0 + }, + { + "id": 1627, + "image_id": 288, + "category_id": 0, + "bbox": [ + 843.965, + 453.83, + 36.3238, + 73.6035 + ], + "area": 2673.5588132999997, + "iscrowd": 0 + }, + { + "id": 1827, + "image_id": 340, + "category_id": 1, + "bbox": [ + 680.92, + 232.197, + 104.105, + 276.541 + ], + "area": 28789.300805000003, + "iscrowd": 0 + }, + { + "id": 1828, + "image_id": 340, + "category_id": 1, + "bbox": [ + 23.251, + 208.377, + 112.682, + 131.321 + ], + "area": 14797.512922, + "iscrowd": 0 + }, + { + "id": 1829, + "image_id": 340, + "category_id": 1, + "bbox": [ + 433.254, + 229.666, + 59.8862, + 92.7142 + ], + "area": 5552.30112404, + "iscrowd": 0 + }, + { + "id": 1830, + "image_id": 340, + "category_id": 1, + "bbox": [ + 0.227203, + 304.613, + 68.2478, + 184.557 + ], + "area": 12595.609224599999, + "iscrowd": 0 + }, + { + "id": 1831, + "image_id": 340, + "category_id": 1, + "bbox": [ + 216.497, + 216.497, + 76.469, + 97.3241 + ], + "area": 7442.2766028999995, + "iscrowd": 0 + }, + { + "id": 1832, + "image_id": 340, + "category_id": 0, + "bbox": [ + 244.303, + 242.317, + 39.7241, + 58.5931 + ], + "area": 2327.55816371, + "iscrowd": 0 + }, + { + "id": 1833, + "image_id": 340, + "category_id": 0, + "bbox": [ + 435.972, + 245.297, + 36.7448, + 48.6621 + ], + "area": 1788.07913208, + "iscrowd": 0 + }, + { + "id": 1867, + "image_id": 348, + "category_id": 1, + "bbox": [ + 512.846, + 352.64, + 94.6094, + 293.772 + ], + "area": 27793.592656799996, + "iscrowd": 0 + }, + { + "id": 1868, + "image_id": 348, + "category_id": 1, + "bbox": [ + 68.7586, + 368.432, + 53.6531, + 75.1964 + ], + "area": 4034.51996884, + "iscrowd": 0 + }, + { + "id": 1869, + "image_id": 348, + "category_id": 0, + "bbox": [ + 542.524, + 388.327, + 59.5838, + 78.5107 + ], + "area": 4677.965846659999, + "iscrowd": 0 + }, + { + "id": 2102, + "image_id": 394, + "category_id": 1, + "bbox": [ + 187.426, + 388.718, + 89.8613, + 73.4272 + ], + "area": 6598.26364736, + "iscrowd": 0 + }, + { + "id": 2103, + "image_id": 394, + "category_id": 1, + "bbox": [ + 310.388, + 370.769, + 69.5986, + 226.679 + ], + "area": 15776.5410494, + "iscrowd": 0 + }, + { + "id": 2104, + "image_id": 394, + "category_id": 0, + "bbox": [ + 351.559, + 393.269, + 50.6483, + 68.5241 + ], + "area": 3470.6291740300003, + "iscrowd": 0 + }, + { + "id": 2105, + "image_id": 395, + "category_id": 1, + "bbox": [ + 781.977, + 373.727, + 349.136, + 341.443 + ], + "area": 119210.043248, + "iscrowd": 0 + }, + { + "id": 2106, + "image_id": 395, + "category_id": 1, + "bbox": [ + 561.076, + 382.246, + 156.113, + 334.799 + ], + "area": 52266.476287, + "iscrowd": 0 + }, + { + "id": 2107, + "image_id": 395, + "category_id": 0, + "bbox": [ + 566.069, + 403.2, + 125.131, + 142.014 + ], + "area": 17770.353834, + "iscrowd": 0 + }, + { + "id": 2150, + "image_id": 405, + "category_id": 1, + "bbox": [ + 767.772, + 370.267, + 199.143, + 346.393 + ], + "area": 68981.741199, + "iscrowd": 0 + }, + { + "id": 2151, + "image_id": 405, + "category_id": 1, + "bbox": [ + 373.946, + 391.056, + 57.0957, + 74.9346 + ], + "area": 4278.44344122, + "iscrowd": 0 + }, + { + "id": 2152, + "image_id": 405, + "category_id": 1, + "bbox": [ + 556.165, + 340.983, + 122.887, + 204.817 + ], + "area": 25169.346679000002, + "iscrowd": 0 + }, + { + "id": 2153, + "image_id": 405, + "category_id": 0, + "bbox": [ + 504.63, + 439.19, + 139.406, + 172.013 + ], + "area": 23979.644278000003, + "iscrowd": 0 + }, + { + "id": 2154, + "image_id": 405, + "category_id": 1, + "bbox": [ + 523.89, + 425.295, + 128.235, + 294.705 + ], + "area": 37791.495675000006, + "iscrowd": 0 + }, + { + "id": 2155, + "image_id": 405, + "category_id": 0, + "bbox": [ + 768.39, + 431.299, + 117.478, + 112.697 + ], + "area": 13239.418166, + "iscrowd": 0 + }, + { + "id": 2213, + "image_id": 417, + "category_id": 1, + "bbox": [ + 533.203, + 310.269, + 190.636, + 405.498 + ], + "area": 77302.516728, + "iscrowd": 0 + }, + { + "id": 2214, + "image_id": 417, + "category_id": 1, + "bbox": [ + 0.583529, + 410.538, + 153.361, + 303.085 + ], + "area": 46481.418685, + "iscrowd": 0 + }, + { + "id": 2298, + "image_id": 436, + "category_id": 1, + "bbox": [ + 290.143, + 372.386, + 166.094, + 347.614 + ], + "area": 57736.599716, + "iscrowd": 0 + }, + { + "id": 2299, + "image_id": 436, + "category_id": 1, + "bbox": [ + 404.315, + 341.584, + 129.936, + 378.416 + ], + "area": 49169.861376, + "iscrowd": 0 + }, + { + "id": 2300, + "image_id": 436, + "category_id": 1, + "bbox": [ + 401.097, + 361.214, + 38.7158, + 62.1189 + ], + "area": 2404.9829086199998, + "iscrowd": 0 + }, + { + "id": 2301, + "image_id": 436, + "category_id": 1, + "bbox": [ + 370.967, + 362.769, + 36.6298, + 55.9167 + ], + "area": 2048.2175376600003, + "iscrowd": 0 + }, + { + "id": 2302, + "image_id": 436, + "category_id": 0, + "bbox": [ + 328.369, + 429.983, + 119.443, + 74.5516 + ], + "area": 8904.666758799998, + "iscrowd": 0 + }, + { + "id": 2303, + "image_id": 436, + "category_id": 0, + "bbox": [ + 243.797, + 393.107, + 23.2474, + 34.0695 + ], + "area": 792.0272942999999, + "iscrowd": 0 + }, + { + "id": 2351, + "image_id": 448, + "category_id": 1, + "bbox": [ + 142.499, + 299.925, + 317.013, + 420.075 + ], + "area": 133169.235975, + "iscrowd": 0 + }, + { + "id": 2352, + "image_id": 448, + "category_id": 1, + "bbox": [ + 450.119, + 350.782, + 99.7045, + 334.058 + ], + "area": 33307.085861, + "iscrowd": 0 + }, + { + "id": 2353, + "image_id": 448, + "category_id": 1, + "bbox": [ + 526.455, + 369.962, + 72.5, + 260.89 + ], + "area": 18914.524999999998, + "iscrowd": 0 + }, + { + "id": 2354, + "image_id": 448, + "category_id": 1, + "bbox": [ + 363.938, + 356.468, + 86.6567, + 142.462 + ], + "area": 12345.2867954, + "iscrowd": 0 + }, + { + "id": 2355, + "image_id": 448, + "category_id": 0, + "bbox": [ + 354.753, + 391.776, + 56.7827, + 48.7266 + ], + "area": 2766.8279098199996, + "iscrowd": 0 + }, + { + "id": 2356, + "image_id": 448, + "category_id": 0, + "bbox": [ + 454.445, + 407.548, + 60.1225, + 84.9721 + ], + "area": 5108.73508225, + "iscrowd": 0 + }, + { + "id": 2496, + "image_id": 488, + "category_id": 1, + "bbox": [ + 442.398, + 230.66, + 58.5931, + 88.3624 + ], + "area": 5177.42693944, + "iscrowd": 0 + }, + { + "id": 2610, + "image_id": 521, + "category_id": 1, + "bbox": [ + 479.597, + 356.042, + 115.636, + 281.725 + ], + "area": 32577.5521, + "iscrowd": 0 + }, + { + "id": 2611, + "image_id": 521, + "category_id": 1, + "bbox": [ + 573.186, + 407.26, + 67.5515, + 213.43 + ], + "area": 14417.516645000002, + "iscrowd": 0 + }, + { + "id": 2612, + "image_id": 521, + "category_id": 0, + "bbox": [ + 590.243, + 440.721, + 51.7483, + 66.1525 + ], + "area": 3423.27941575, + "iscrowd": 0 + }, + { + "id": 2652, + "image_id": 531, + "category_id": 1, + "bbox": [ + 485.115, + 523.809, + 254.769, + 196.191 + ], + "area": 49983.384879000005, + "iscrowd": 0 + }, + { + "id": 2653, + "image_id": 531, + "category_id": 0, + "bbox": [ + 468.258, + 652.983, + 118.574, + 67.0165 + ], + "area": 7946.414470999999, + "iscrowd": 0 + }, + { + "id": 2735, + "image_id": 547, + "category_id": 1, + "bbox": [ + 428.093, + 405.504, + 226.651, + 311.802 + ], + "area": 70670.235102, + "iscrowd": 0 + }, + { + "id": 2736, + "image_id": 547, + "category_id": 1, + "bbox": [ + 207.708, + 420.133, + 235.219, + 297.305 + ], + "area": 69931.784795, + "iscrowd": 0 + }, + { + "id": 2737, + "image_id": 547, + "category_id": 1, + "bbox": [ + 1188.74, + 441.931, + 86.4, + 124.138 + ], + "area": 10725.523200000001, + "iscrowd": 0 + }, + { + "id": 2738, + "image_id": 547, + "category_id": 1, + "bbox": [ + 1227.37, + 375.393, + 52.6345, + 94.3448 + ], + "area": 4965.791375600001, + "iscrowd": 0 + }, + { + "id": 2739, + "image_id": 547, + "category_id": 0, + "bbox": [ + 333.683, + 542.234, + 78.4552, + 174.786 + ], + "area": 13712.870587200001, + "iscrowd": 0 + }, + { + "id": 2740, + "image_id": 547, + "category_id": 0, + "bbox": [ + 432.0, + 520.386, + 55.6138, + 82.4276 + ], + "area": 4584.112060879999, + "iscrowd": 0 + }, + { + "id": 2829, + "image_id": 562, + "category_id": 1, + "bbox": [ + 514.543, + 422.015, + 175.643, + 296.376 + ], + "area": 52056.369768, + "iscrowd": 0 + }, + { + "id": 2830, + "image_id": 562, + "category_id": 1, + "bbox": [ + 253.366, + 396.476, + 180.312, + 321.009 + ], + "area": 57881.77480800001, + "iscrowd": 0 + }, + { + "id": 2831, + "image_id": 562, + "category_id": 0, + "bbox": [ + 330.703, + 489.6, + 101.297, + 140.028 + ], + "area": 14184.416315999999, + "iscrowd": 0 + }, + { + "id": 2832, + "image_id": 562, + "category_id": 0, + "bbox": [ + 1235.42, + 434.979, + 31.7793, + 41.7103 + ], + "area": 1325.5241367899998, + "iscrowd": 0 + }, + { + "id": 2833, + "image_id": 562, + "category_id": 1, + "bbox": [ + 1190.73, + 440.938, + 88.3862, + 127.117 + ], + "area": 11235.3885854, + "iscrowd": 0 + }, + { + "id": 2834, + "image_id": 562, + "category_id": 1, + "bbox": [ + 1250.32, + 375.393, + 29.6828, + 74.4828 + ], + "area": 2210.85805584, + "iscrowd": 0 + }, + { + "id": 2919, + "image_id": 577, + "category_id": 1, + "bbox": [ + 527.005, + 424.604, + 128.627, + 292.671 + ], + "area": 37645.392717, + "iscrowd": 0 + }, + { + "id": 2920, + "image_id": 577, + "category_id": 1, + "bbox": [ + 145.609, + 394.108, + 214.384, + 324.232 + ], + "area": 69510.153088, + "iscrowd": 0 + }, + { + "id": 2921, + "image_id": 577, + "category_id": 1, + "bbox": [ + 1223.34, + 378.683, + 56.3237, + 154.797 + ], + "area": 8718.7397889, + "iscrowd": 0 + }, + { + "id": 2922, + "image_id": 577, + "category_id": 1, + "bbox": [ + 1181.5, + 443.223, + 97.5112, + 138.189 + ], + "area": 13474.9752168, + "iscrowd": 0 + }, + { + "id": 2923, + "image_id": 577, + "category_id": 0, + "bbox": [ + 259.2, + 501.517, + 150.952, + 169.821 + ], + "area": 25634.819592, + "iscrowd": 0 + }, + { + "id": 2924, + "image_id": 577, + "category_id": 0, + "bbox": [ + 517.407, + 495.559, + 50.6483, + 121.159 + ], + "area": 6136.4973797, + "iscrowd": 0 + }, + { + "id": 2925, + "image_id": 577, + "category_id": 0, + "bbox": [ + 1219.42, + 432.0, + 60.5793, + 75.4759 + ], + "area": 4572.27718887, + "iscrowd": 0 + }, + { + "id": 2950, + "image_id": 582, + "category_id": 1, + "bbox": [ + 32.1711, + 324.742, + 181.583, + 392.386 + ], + "area": 71250.627038, + "iscrowd": 0 + }, + { + "id": 2951, + "image_id": 582, + "category_id": 1, + "bbox": [ + 408.119, + 358.771, + 111.479, + 277.623 + ], + "area": 30949.134416999997, + "iscrowd": 0 + }, + { + "id": 2952, + "image_id": 582, + "category_id": 1, + "bbox": [ + 598.141, + 343.465, + 175.069, + 371.739 + ], + "area": 65079.97499099999, + "iscrowd": 0 + }, + { + "id": 2953, + "image_id": 582, + "category_id": 1, + "bbox": [ + 627.558, + 371.192, + 41.0429, + 53.2242 + ], + "area": 2184.47551818, + "iscrowd": 0 + }, + { + "id": 2954, + "image_id": 582, + "category_id": 0, + "bbox": [ + 557.131, + 464.772, + 44.6897, + 95.3379 + ], + "area": 4260.62214963, + "iscrowd": 0 + }, + { + "id": 2994, + "image_id": 589, + "category_id": 1, + "bbox": [ + 298.002, + 386.435, + 178.958, + 329.995 + ], + "area": 59055.24521, + "iscrowd": 0 + }, + { + "id": 2995, + "image_id": 589, + "category_id": 1, + "bbox": [ + 191.786, + 414.257, + 159.211, + 304.35 + ], + "area": 48455.86785000001, + "iscrowd": 0 + }, + { + "id": 2996, + "image_id": 589, + "category_id": 0, + "bbox": [ + 447.305, + 519.023, + 131.463, + 197.538 + ], + "area": 25968.938094, + "iscrowd": 0 + }, + { + "id": 2997, + "image_id": 589, + "category_id": 1, + "bbox": [ + 1222.09, + 378.772, + 57.5801, + 154.526 + ], + "area": 8897.6225326, + "iscrowd": 0 + }, + { + "id": 2998, + "image_id": 589, + "category_id": 1, + "bbox": [ + 1167.9, + 443.748, + 111.627, + 141.616 + ], + "area": 15808.169232, + "iscrowd": 0 + }, + { + "id": 2999, + "image_id": 589, + "category_id": 0, + "bbox": [ + 206.205, + 512.077, + 96.2289, + 158.09 + ], + "area": 15212.826801, + "iscrowd": 0 + }, + { + "id": 3000, + "image_id": 589, + "category_id": 0, + "bbox": [ + 1233.36, + 443.909, + 46.6359, + 83.7196 + ], + "area": 3904.33889364, + "iscrowd": 0 + }, + { + "id": 3133, + "image_id": 613, + "category_id": 1, + "bbox": [ + 664.593, + 433.868, + 153.975, + 283.527 + ], + "area": 43656.069825, + "iscrowd": 0 + }, + { + "id": 3134, + "image_id": 613, + "category_id": 1, + "bbox": [ + 28.9635, + 392.038, + 257.547, + 324.549 + ], + "area": 83586.621303, + "iscrowd": 0 + }, + { + "id": 3135, + "image_id": 613, + "category_id": 1, + "bbox": [ + 1221.71, + 378.928, + 57.9673, + 158.783 + ], + "area": 9204.221795899999, + "iscrowd": 0 + }, + { + "id": 3136, + "image_id": 613, + "category_id": 1, + "bbox": [ + 1183.6, + 442.519, + 95.769, + 143.027 + ], + "area": 13697.552763, + "iscrowd": 0 + }, + { + "id": 3137, + "image_id": 613, + "category_id": 0, + "bbox": [ + 1226.48, + 432.993, + 49.6552, + 55.6138 + ], + "area": 2761.5143617599997, + "iscrowd": 0 + }, + { + "id": 3289, + "image_id": 646, + "category_id": 1, + "bbox": [ + 715.834, + 433.136, + 113.109, + 285.691 + ], + "area": 32314.223318999997, + "iscrowd": 0 + }, + { + "id": 3290, + "image_id": 646, + "category_id": 1, + "bbox": [ + 881.788, + 370.202, + 86.0664, + 166.051 + ], + "area": 14291.4117864, + "iscrowd": 0 + }, + { + "id": 3291, + "image_id": 646, + "category_id": 0, + "bbox": [ + 864.886, + 432.808, + 46.5605, + 88.5886 + ], + "area": 4124.7295103, + "iscrowd": 0 + }, + { + "id": 3440, + "image_id": 693, + "category_id": 1, + "bbox": [ + 705.682, + 301.983, + 139.004, + 407.718 + ], + "area": 56674.432872, + "iscrowd": 0 + }, + { + "id": 3441, + "image_id": 693, + "category_id": 1, + "bbox": [ + 66.5899, + 226.255, + 93.3081, + 222.047 + ], + "area": 20718.7836807, + "iscrowd": 0 + }, + { + "id": 3442, + "image_id": 693, + "category_id": 0, + "bbox": [ + 67.876, + 256.038, + 65.2983, + 78.1861 + ], + "area": 5105.419413629999, + "iscrowd": 0 + }, + { + "id": 3547, + "image_id": 716, + "category_id": 1, + "bbox": [ + 567.98, + 336.532, + 150.519, + 380.729 + ], + "area": 57306.948351, + "iscrowd": 0 + }, + { + "id": 3548, + "image_id": 716, + "category_id": 1, + "bbox": [ + 400.965, + 435.393, + 152.384, + 281.296 + ], + "area": 42865.009664, + "iscrowd": 0 + }, + { + "id": 3549, + "image_id": 716, + "category_id": 0, + "bbox": [ + 421.532, + 507.819, + 55.167, + 99.0177 + ], + "area": 5462.509455900001, + "iscrowd": 0 + }, + { + "id": 3587, + "image_id": 723, + "category_id": 1, + "bbox": [ + 407.159, + 498.841, + 176.544, + 219.248 + ], + "area": 38706.918912, + "iscrowd": 0 + }, + { + "id": 3588, + "image_id": 723, + "category_id": 1, + "bbox": [ + 235.094, + 501.964, + 168.904, + 215.377 + ], + "area": 36378.036808000004, + "iscrowd": 0 + }, + { + "id": 3589, + "image_id": 723, + "category_id": 1, + "bbox": [ + 642.761, + 477.69, + 99.1802, + 242.31 + ], + "area": 24032.354262, + "iscrowd": 0 + }, + { + "id": 3590, + "image_id": 723, + "category_id": 1, + "bbox": [ + 758.23, + 532.24, + 164.32, + 185.089 + ], + "area": 30413.82448, + "iscrowd": 0 + }, + { + "id": 3591, + "image_id": 723, + "category_id": 1, + "bbox": [ + 560.972, + 473.097, + 77.4292, + 244.942 + ], + "area": 18965.6631064, + "iscrowd": 0 + }, + { + "id": 3592, + "image_id": 723, + "category_id": 1, + "bbox": [ + 723.777, + 502.302, + 77.6135, + 215.97 + ], + "area": 16762.187595, + "iscrowd": 0 + }, + { + "id": 3593, + "image_id": 723, + "category_id": 1, + "bbox": [ + 401.337, + 477.798, + 57.7705, + 136.547 + ], + "area": 7888.3884634999995, + "iscrowd": 0 + }, + { + "id": 3594, + "image_id": 723, + "category_id": 0, + "bbox": [ + 556.48, + 485.529, + 58.9466, + 64.6819 + ], + "area": 3812.7780865399995, + "iscrowd": 0 + }, + { + "id": 3595, + "image_id": 723, + "category_id": 0, + "bbox": [ + 446.87, + 494.131, + 27.4023, + 71.0546 + ], + "area": 1947.0594655799998, + "iscrowd": 0 + }, + { + "id": 3596, + "image_id": 723, + "category_id": 0, + "bbox": [ + 729.223, + 582.126, + 49.1936, + 88.1312 + ], + "area": 4335.49100032, + "iscrowd": 0 + }, + { + "id": 3797, + "image_id": 775, + "category_id": 1, + "bbox": [ + 24.0472, + 459.725, + 55.167, + 82.0432 + ], + "area": 4526.0772144, + "iscrowd": 0 + }, + { + "id": 3798, + "image_id": 775, + "category_id": 1, + "bbox": [ + 0.0, + 448.409, + 15.5599, + 224.912 + ], + "area": 3499.6082288000002, + "iscrowd": 0 + }, + { + "id": 3892, + "image_id": 794, + "category_id": 1, + "bbox": [ + 516.774, + 477.907, + 90.2249, + 224.466 + ], + "area": 20252.422403400004, + "iscrowd": 0 + }, + { + "id": 3893, + "image_id": 794, + "category_id": 1, + "bbox": [ + 165.556, + 449.832, + 97.8087, + 189.928 + ], + "area": 18576.6107736, + "iscrowd": 0 + }, + { + "id": 3894, + "image_id": 794, + "category_id": 1, + "bbox": [ + 413.681, + 466.432, + 72.7129, + 217.318 + ], + "area": 15801.822002200002, + "iscrowd": 0 + }, + { + "id": 3895, + "image_id": 794, + "category_id": 1, + "bbox": [ + 430.694, + 609.809, + 140.669, + 108.703 + ], + "area": 15291.142307000002, + "iscrowd": 0 + }, + { + "id": 3896, + "image_id": 794, + "category_id": 0, + "bbox": [ + 226.428, + 480.662, + 39.7241, + 76.469 + ], + "area": 3037.6622028999996, + "iscrowd": 0 + }, + { + "id": 3897, + "image_id": 794, + "category_id": 1, + "bbox": [ + 1.98621, + 442.924, + 36.7448, + 276.083 + ], + "area": 10144.6146184, + "iscrowd": 0 + }, + { + "id": 3898, + "image_id": 794, + "category_id": 1, + "bbox": [ + 324.745, + 457.821, + 30.7862, + 108.248 + ], + "area": 3332.5445776, + "iscrowd": 0 + }, + { + "id": 3899, + "image_id": 794, + "category_id": 0, + "bbox": [ + 449.876, + 474.703, + 39.7241, + 65.5448 + ], + "area": 2603.7081896799996, + "iscrowd": 0 + }, + { + "id": 3900, + "image_id": 794, + "category_id": 0, + "bbox": [ + 533.297, + 511.448, + 79.4483, + 59.5862 + ], + "area": 4734.02229346, + "iscrowd": 0 + }, + { + "id": 3909, + "image_id": 796, + "category_id": 1, + "bbox": [ + 548.068, + 488.26, + 93.1843, + 229.552 + ], + "area": 21390.6424336, + "iscrowd": 0 + }, + { + "id": 3910, + "image_id": 796, + "category_id": 1, + "bbox": [ + 395.833, + 462.114, + 84.6165, + 234.921 + ], + "area": 19878.1927965, + "iscrowd": 0 + }, + { + "id": 3911, + "image_id": 796, + "category_id": 1, + "bbox": [ + 488.961, + 467.804, + 74.5262, + 245.534 + ], + "area": 18298.7159908, + "iscrowd": 0 + }, + { + "id": 3912, + "image_id": 796, + "category_id": 1, + "bbox": [ + 103.859, + 449.565, + 92.4597, + 116.729 + ], + "area": 10792.7283213, + "iscrowd": 0 + }, + { + "id": 3913, + "image_id": 796, + "category_id": 0, + "bbox": [ + 549.289, + 537.194, + 88.4893, + 49.8531 + ], + "area": 4411.465921829999, + "iscrowd": 0 + }, + { + "id": 3914, + "image_id": 796, + "category_id": 0, + "bbox": [ + 526.44, + 487.341, + 37.3898, + 56.9156 + ], + "area": 2128.06290088, + "iscrowd": 0 + }, + { + "id": 3915, + "image_id": 796, + "category_id": 0, + "bbox": [ + 323.288, + 499.804, + 32.82, + 52.7612 + ], + "area": 1731.6225840000002, + "iscrowd": 0 + }, + { + "id": 4086, + "image_id": 826, + "category_id": 1, + "bbox": [ + 19.0515, + 545.898, + 242.151, + 172.151 + ], + "area": 41686.536801, + "iscrowd": 0 + }, + { + "id": 4087, + "image_id": 826, + "category_id": 0, + "bbox": [ + 14.7979, + 579.831, + 150.617, + 140.169 + ], + "area": 21111.834273, + "iscrowd": 0 + }, + { + "id": 4090, + "image_id": 829, + "category_id": 1, + "bbox": [ + 96.1886, + 455.481, + 62.2397, + 94.7741 + ], + "area": 5898.71155177, + "iscrowd": 0 + }, + { + "id": 4091, + "image_id": 829, + "category_id": 0, + "bbox": [ + 151.356, + 489.43, + 46.6798, + 41.0216 + ], + "area": 1914.8800836799999, + "iscrowd": 0 + }, + { + "id": 4094, + "image_id": 831, + "category_id": 1, + "bbox": [ + 211.758, + 453.379, + 94.6416, + 207.803 + ], + "area": 19666.8084048, + "iscrowd": 0 + }, + { + "id": 4135, + "image_id": 845, + "category_id": 1, + "bbox": [ + 794.056, + 611.246, + 156.346, + 108.371 + ], + "area": 16943.372366, + "iscrowd": 0 + }, + { + "id": 4136, + "image_id": 845, + "category_id": 1, + "bbox": [ + 150.156, + 449.02, + 88.2272, + 219.086 + ], + "area": 19329.3443392, + "iscrowd": 0 + }, + { + "id": 4137, + "image_id": 845, + "category_id": 1, + "bbox": [ + 347.128, + 459.219, + 75.4723, + 103.856 + ], + "area": 7838.2511888, + "iscrowd": 0 + }, + { + "id": 4138, + "image_id": 845, + "category_id": 0, + "bbox": [ + 863.653, + 659.927, + 72.2613, + 60.0726 + ], + "area": 4340.924170380001, + "iscrowd": 0 + }, + { + "id": 4139, + "image_id": 845, + "category_id": 0, + "bbox": [ + 381.33, + 496.252, + 41.7896, + 53.9783 + ], + "area": 2255.7315656799997, + "iscrowd": 0 + }, + { + "id": 4140, + "image_id": 845, + "category_id": 0, + "bbox": [ + 205.466, + 494.51, + 42.6602, + 81.838 + ], + "area": 3491.2254476, + "iscrowd": 0 + }, + { + "id": 4153, + "image_id": 848, + "category_id": 1, + "bbox": [ + 462.773, + 464.083, + 64.8491, + 223.837 + ], + "area": 14515.627996700001, + "iscrowd": 0 + }, + { + "id": 4154, + "image_id": 848, + "category_id": 1, + "bbox": [ + 818.844, + 492.923, + 124.987, + 224.539 + ], + "area": 28064.455992999996, + "iscrowd": 0 + }, + { + "id": 4155, + "image_id": 848, + "category_id": 0, + "bbox": [ + 360.707, + 502.161, + 24.0472, + 59.4106 + ], + "area": 1428.65858032, + "iscrowd": 0 + }, + { + "id": 4156, + "image_id": 848, + "category_id": 0, + "bbox": [ + 896.817, + 565.815, + 74.9705, + 104.676 + ], + "area": 7847.612058000001, + "iscrowd": 0 + }, + { + "id": 4157, + "image_id": 848, + "category_id": 0, + "bbox": [ + 512.063, + 496.503, + 36.778, + 55.167 + ], + "area": 2028.931926, + "iscrowd": 0 + }, + { + "id": 4158, + "image_id": 848, + "category_id": 1, + "bbox": [ + 96.1886, + 454.067, + 32.5344, + 84.8723 + ], + "area": 2761.2693571199998, + "iscrowd": 0 + }, + { + "id": 4159, + "image_id": 848, + "category_id": 1, + "bbox": [ + 323.929, + 459.725, + 32.5344, + 101.847 + ], + "area": 3313.5310367999996, + "iscrowd": 0 + }, + { + "id": 4183, + "image_id": 852, + "category_id": 1, + "bbox": [ + 590.518, + 525.382, + 141.616, + 193.101 + ], + "area": 27346.191216000003, + "iscrowd": 0 + }, + { + "id": 4184, + "image_id": 852, + "category_id": 1, + "bbox": [ + 375.573, + 454.171, + 80.012, + 238.056 + ], + "area": 19047.336672, + "iscrowd": 0 + }, + { + "id": 4185, + "image_id": 852, + "category_id": 1, + "bbox": [ + 618.212, + 472.578, + 81.0841, + 84.1761 + ], + "area": 6825.343310010001, + "iscrowd": 0 + }, + { + "id": 4186, + "image_id": 852, + "category_id": 0, + "bbox": [ + 659.927, + 507.57, + 36.5659, + 52.2371 + ], + "area": 1910.0965748899998, + "iscrowd": 0 + }, + { + "id": 4187, + "image_id": 852, + "category_id": 0, + "bbox": [ + 428.343, + 504.958, + 36.5659, + 67.0375 + ], + "area": 2451.2865212499996, + "iscrowd": 0 + }, + { + "id": 4188, + "image_id": 852, + "category_id": 1, + "bbox": [ + 237.678, + 450.109, + 56.5901, + 117.533 + ], + "area": 6651.2042233, + "iscrowd": 0 + }, + { + "id": 4189, + "image_id": 852, + "category_id": 1, + "bbox": [ + 0.0, + 446.626, + 42.6602, + 37.4577 + ], + "area": 1597.9529735400001, + "iscrowd": 0 + }, + { + "id": 4190, + "image_id": 852, + "category_id": 0, + "bbox": [ + 0.0, + 474.486, + 45.272, + 53.9782 + ], + "area": 2443.7010704, + "iscrowd": 0 + }, + { + "id": 4191, + "image_id": 852, + "category_id": 1, + "bbox": [ + 18.2824, + 461.427, + 90.5443, + 87.0618 + ], + "area": 7882.949737740001, + "iscrowd": 0 + }, + { + "id": 4201, + "image_id": 854, + "category_id": 1, + "bbox": [ + 403.31, + 457.138, + 92.1055, + 234.894 + ], + "area": 21635.029317, + "iscrowd": 0 + }, + { + "id": 4202, + "image_id": 854, + "category_id": 1, + "bbox": [ + 653.498, + 477.778, + 73.2966, + 240.479 + ], + "area": 17626.2930714, + "iscrowd": 0 + }, + { + "id": 4203, + "image_id": 854, + "category_id": 1, + "bbox": [ + 137.905, + 464.945, + 106.265, + 204.249 + ], + "area": 21704.519985, + "iscrowd": 0 + }, + { + "id": 4204, + "image_id": 854, + "category_id": 1, + "bbox": [ + 149.449, + 537.374, + 296.895, + 180.436 + ], + "area": 53570.54622, + "iscrowd": 0 + }, + { + "id": 4205, + "image_id": 854, + "category_id": 0, + "bbox": [ + 451.954, + 511.52, + 46.1633, + 68.5005 + ], + "area": 3162.20913165, + "iscrowd": 0 + }, + { + "id": 4206, + "image_id": 854, + "category_id": 0, + "bbox": [ + 60.3103, + 473.547, + 46.1633, + 63.2882 + ], + "area": 2921.59216306, + "iscrowd": 0 + }, + { + "id": 4207, + "image_id": 854, + "category_id": 1, + "bbox": [ + 45.4188, + 446.743, + 61.7993, + 85.6255 + ], + "area": 5291.595962150001, + "iscrowd": 0 + }, + { + "id": 4242, + "image_id": 859, + "category_id": 1, + "bbox": [ + 463.418, + 459.504, + 93.3225, + 251.625 + ], + "area": 23482.2740625, + "iscrowd": 0 + }, + { + "id": 4243, + "image_id": 859, + "category_id": 1, + "bbox": [ + 720.639, + 494.714, + 151.1, + 223.453 + ], + "area": 33763.7483, + "iscrowd": 0 + }, + { + "id": 4244, + "image_id": 859, + "category_id": 1, + "bbox": [ + 369.876, + 459.972, + 86.7853, + 220.156 + ], + "area": 19106.304506800003, + "iscrowd": 0 + }, + { + "id": 4245, + "image_id": 859, + "category_id": 1, + "bbox": [ + 218.775, + 464.687, + 90.9631, + 108.872 + ], + "area": 9903.3346232, + "iscrowd": 0 + }, + { + "id": 4246, + "image_id": 859, + "category_id": 1, + "bbox": [ + 148.036, + 449.361, + 64.3364, + 211.053 + ], + "area": 13578.390229199998, + "iscrowd": 0 + }, + { + "id": 4247, + "image_id": 859, + "category_id": 0, + "bbox": [ + 812.327, + 547.26, + 59.5655, + 93.0713 + ], + "area": 5543.83852015, + "iscrowd": 0 + }, + { + "id": 4248, + "image_id": 859, + "category_id": 0, + "bbox": [ + 510.031, + 518.221, + 43.9295, + 71.4787 + ], + "area": 3140.02355165, + "iscrowd": 0 + }, + { + "id": 4249, + "image_id": 859, + "category_id": 0, + "bbox": [ + 160.827, + 478.015, + 51.3754, + 79.669 + ], + "area": 4093.0267425999996, + "iscrowd": 0 + }, + { + "id": 4250, + "image_id": 859, + "category_id": 1, + "bbox": [ + 56.5874, + 452.699, + 62.5439, + 88.6039 + ], + "area": 5541.63346121, + "iscrowd": 0 + }, + { + "id": 4309, + "image_id": 868, + "category_id": 1, + "bbox": [ + 613.484, + 491.853, + 152.182, + 226.31 + ], + "area": 34440.30842, + "iscrowd": 0 + }, + { + "id": 4310, + "image_id": 868, + "category_id": 1, + "bbox": [ + 532.107, + 477.767, + 90.9465, + 240.235 + ], + "area": 21848.532427500002, + "iscrowd": 0 + }, + { + "id": 4311, + "image_id": 868, + "category_id": 1, + "bbox": [ + 599.059, + 469.148, + 81.9386, + 249.362 + ], + "area": 20432.373173199998, + "iscrowd": 0 + }, + { + "id": 4312, + "image_id": 868, + "category_id": 1, + "bbox": [ + 465.801, + 459.351, + 65.5386, + 244.969 + ], + "area": 16054.9253034, + "iscrowd": 0 + }, + { + "id": 4313, + "image_id": 868, + "category_id": 1, + "bbox": [ + 333.673, + 461.114, + 54.0201, + 102.991 + ], + "area": 5563.5841191, + "iscrowd": 0 + }, + { + "id": 4314, + "image_id": 868, + "category_id": 0, + "bbox": [ + 473.71, + 484.634, + 53.6276, + 85.4069 + ], + "area": 4580.167070439999, + "iscrowd": 0 + }, + { + "id": 4315, + "image_id": 868, + "category_id": 0, + "bbox": [ + 625.655, + 561.103, + 49.6552, + 108.248 + ], + "area": 5375.0760896, + "iscrowd": 0 + }, + { + "id": 4363, + "image_id": 876, + "category_id": 1, + "bbox": [ + 589.014, + 513.101, + 168.913, + 205.272 + ], + "area": 34673.109336, + "iscrowd": 0 + }, + { + "id": 4364, + "image_id": 876, + "category_id": 1, + "bbox": [ + 367.939, + 506.131, + 134.863, + 212.172 + ], + "area": 28614.152436, + "iscrowd": 0 + }, + { + "id": 4365, + "image_id": 876, + "category_id": 1, + "bbox": [ + 294.521, + 604.79, + 140.59, + 113.958 + ], + "area": 16021.35522, + "iscrowd": 0 + }, + { + "id": 4366, + "image_id": 876, + "category_id": 1, + "bbox": [ + 533.49, + 507.762, + 81.3037, + 210.919 + ], + "area": 17148.495100300002, + "iscrowd": 0 + }, + { + "id": 4367, + "image_id": 876, + "category_id": 1, + "bbox": [ + 604.102, + 471.545, + 50.8638, + 107.962 + ], + "area": 5491.3575756, + "iscrowd": 0 + }, + { + "id": 4368, + "image_id": 876, + "category_id": 0, + "bbox": [ + 536.276, + 509.462, + 71.5034, + 106.262 + ], + "area": 7598.0942908, + "iscrowd": 0 + }, + { + "id": 4415, + "image_id": 889, + "category_id": 1, + "bbox": [ + 641.328, + 480.797, + 79.4073, + 239.203 + ], + "area": 18994.4643819, + "iscrowd": 0 + }, + { + "id": 4416, + "image_id": 889, + "category_id": 1, + "bbox": [ + 1062.54, + 489.586, + 103.457, + 194.24 + ], + "area": 20095.48768, + "iscrowd": 0 + }, + { + "id": 4417, + "image_id": 889, + "category_id": 1, + "bbox": [ + 805.065, + 506.018, + 98.6716, + 142.168 + ], + "area": 14027.9440288, + "iscrowd": 0 + }, + { + "id": 4418, + "image_id": 889, + "category_id": 1, + "bbox": [ + 887.867, + 471.074, + 69.2725, + 178.18 + ], + "area": 12342.974049999999, + "iscrowd": 0 + }, + { + "id": 4419, + "image_id": 889, + "category_id": 1, + "bbox": [ + 939.321, + 491.905, + 75.4429, + 156.7 + ], + "area": 11821.902429999998, + "iscrowd": 0 + }, + { + "id": 4420, + "image_id": 889, + "category_id": 0, + "bbox": [ + 696.934, + 520.467, + 25.1193, + 103.036 + ], + "area": 2588.1921948, + "iscrowd": 0 + }, + { + "id": 4421, + "image_id": 889, + "category_id": 1, + "bbox": [ + 817.196, + 477.099, + 72.2964, + 69.4237 + ], + "area": 5019.08358468, + "iscrowd": 0 + }, + { + "id": 4422, + "image_id": 889, + "category_id": 0, + "bbox": [ + 833.235, + 542.932, + 69.9025, + 64.1571 + ], + "area": 4484.74168275, + "iscrowd": 0 + }, + { + "id": 4423, + "image_id": 889, + "category_id": 0, + "bbox": [ + 970.886, + 529.526, + 28.4877, + 46.9208 + ], + "area": 1336.66567416, + "iscrowd": 0 + }, + { + "id": 4424, + "image_id": 889, + "category_id": 0, + "bbox": [ + 885.183, + 516.838, + 28.0089, + 41.6542 + ], + "area": 1166.68832238, + "iscrowd": 0 + } + ], + "categories": [ + { + "id": 0, + "name": "2", + "supercategory": "" + }, + { + "id": 1, + "name": "1", + "supercategory": "" + } + ] +} \ No newline at end of file diff --git a/backend/backend/1/custom_exp_1/annotations/coco_project_1_train.json b/backend/backend/1/custom_exp_1/annotations/coco_project_1_train.json new file mode 100644 index 0000000..fbe9112 --- /dev/null +++ b/backend/backend/1/custom_exp_1/annotations/coco_project_1_train.json @@ -0,0 +1,57310 @@ +{ + "images": [ + { + "id": 191, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 270, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 592, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 480, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 301, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 744, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 361, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 692, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 579, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 636, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 623, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 885, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0059.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 306, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 199, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 495, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 272, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 766, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 935, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 189, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 698, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 853, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 230, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 346, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 525, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 432, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 932, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 812, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 246, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 620, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 336, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 714, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 182, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 170, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 7, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 401, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 573, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 823, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0057.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 58, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 295, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 265, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 12, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 537, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 223, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 631, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 221, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 245, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 154, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 475, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 307, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 827, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0061.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 901, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 243, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 639, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0054.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 215, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 469, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0058.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 731, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 675, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 403, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 153, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 388, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 17, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 809, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 717, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 314, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 928, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 289, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 884, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0058.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 240, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 366, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 560, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 687, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 553, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 681, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 510, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 463, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 166, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 37, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 339, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 685, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 934, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 414, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 174, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 719, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 851, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 816, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 743, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 624, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 915, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 84, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 661, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 795, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 457, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 929, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 65, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 557, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 248, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 746, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 79, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 40, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 433, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 728, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 567, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 787, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 106, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 830, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 604, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 72, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 918, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 622, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 377, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 332, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 242, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 171, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 640, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0055.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 739, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 799, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 913, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 271, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 261, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 520, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 842, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 612, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 315, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 780, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 334, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 63, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 800, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 641, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0055.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 511, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 772, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 855, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 558, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 266, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 754, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 373, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 588, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 867, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 144, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 251, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 669, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 322, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 542, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 398, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 921, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 722, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 522, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 585, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 27, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 227, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 774, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 260, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 788, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 21, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 85, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 47, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 559, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 922, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 758, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 912, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 162, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 303, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 16, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 378, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 762, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 375, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 158, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 249, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 628, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 312, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 727, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 91, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 325, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 173, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 342, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 103, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 883, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0057.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 134, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 152, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 941, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 933, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 216, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 790, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 145, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 926, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 798, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 905, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 764, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 338, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 68, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 371, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 512, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 545, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 422, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 396, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 458, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 411, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 893, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 180, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 90, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 229, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 903, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 184, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 459, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 712, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 506, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 770, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 563, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 653, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 870, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 578, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 494, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 507, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 735, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 263, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 238, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 650, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 702, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 379, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 447, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 642, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0056.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 327, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 564, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 493, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 386, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 599, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 866, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 635, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 407, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 784, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 354, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 132, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 1, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 207, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 908, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 34, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 11, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 763, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 888, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 676, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 864, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 122, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 128, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 311, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 175, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 603, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 923, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 237, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 917, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 114, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0058.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 499, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 66, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 554, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 435, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 806, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 657, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 617, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 629, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 803, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 115, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0059.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 565, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 726, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 695, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 18, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 688, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 102, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 384, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 9, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 725, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 468, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0057.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 343, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 503, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 247, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 470, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0059.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 769, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 500, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 597, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 824, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0058.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 804, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 756, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 815, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 672, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 454, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 99, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 181, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 602, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 742, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 358, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 353, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 697, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 645, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0059.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 654, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 231, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 875, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 519, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 755, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 664, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 299, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 701, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 840, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 352, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 440, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 745, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 323, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 485, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 141, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 192, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 415, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 313, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 357, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 54, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 393, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 423, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 838, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 220, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 41, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 643, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0057.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 32, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 71, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 839, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 277, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 416, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 682, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 30, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 637, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 293, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 155, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 19, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 291, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 116, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 683, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 633, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 224, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 515, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 142, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 204, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 274, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 700, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 427, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 904, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 644, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0058.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 113, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0057.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 505, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 194, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 408, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 426, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 566, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 308, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 150, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 35, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 699, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 570, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 751, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 792, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 25, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 187, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 120, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 538, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 927, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 290, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 753, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 478, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 862, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 568, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 167, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 651, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 283, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 10, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 674, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 944, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0056.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 94, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 31, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 811, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 318, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 148, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 659, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 228, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 55, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 235, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 530, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 424, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 666, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 694, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 715, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 686, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 789, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 544, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 689, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 752, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 760, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 264, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 316, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 945, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0057.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 156, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 363, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 496, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 169, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 112, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0056.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 616, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 22, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 281, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 3, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 684, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 62, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 680, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 172, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 501, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 296, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 93, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 513, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 73, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 83, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 28, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 561, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 658, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 197, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 430, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 146, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 213, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 634, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 92, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 374, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 586, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 738, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 309, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 284, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 349, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 594, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 5, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 466, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0055.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 292, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 86, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 201, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 508, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 869, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 376, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 706, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 133, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 847, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 648, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 580, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 278, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 368, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 608, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 76, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 382, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 832, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 490, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 924, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 276, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 737, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 474, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 104, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 445, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 671, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 259, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 89, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 747, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 437, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 858, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 630, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 481, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 286, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 464, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 526, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 584, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 777, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 497, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 236, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 939, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 550, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 88, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 546, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 429, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 20, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 783, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 211, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 673, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 583, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 606, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 587, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 369, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 625, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 367, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 108, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 844, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 302, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 195, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 355, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 817, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 87, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 718, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 679, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 39, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 350, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 203, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 911, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 863, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 878, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 749, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 615, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 345, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 940, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 280, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 498, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 80, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 890, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 776, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 649, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 708, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 305, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 64, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 45, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 67, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 425, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 818, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0052.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 330, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 655, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 48, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 618, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 183, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 400, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 524, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 891, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 43, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 662, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 759, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 894, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 383, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 257, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 892, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 793, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 707, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 514, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 381, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 253, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 344, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 668, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 208, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 452, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 77, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 761, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 455, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 359, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 479, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 713, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 273, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 808, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 449, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 572, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 331, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 919, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 300, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 704, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 638, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0054.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 317, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 234, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 721, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 119, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 461, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 710, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 670, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 881, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0055.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 879, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 118, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 370, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 364, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 450, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 773, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 101, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 53, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 837, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 209, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 656, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 473, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 60, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 8, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 164, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 920, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 750, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 356, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 736, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 304, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 206, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 938, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 402, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 297, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 168, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 619, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 741, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 614, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 413, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 462, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 748, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 703, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 337, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 165, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 110, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0054.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 160, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 285, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 269, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 326, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 535, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 549, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 226, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 591, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 785, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 130, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 14, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 835, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 705, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 212, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 548, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 15, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 828, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 805, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 121, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 711, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 97, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 205, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 865, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 100, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 418, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 822, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0056.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 660, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 733, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 807, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 691, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 397, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 294, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 131, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 930, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 720, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 451, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 179, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 421, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 556, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 151, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 850, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 262, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 569, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 232, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 42, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 709, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 936, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 26, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 571, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 797, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 820, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0054.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 516, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 873, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 177, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 916, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 298, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 434, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 6, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 576, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 882, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0056.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 596, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 465, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0054.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 176, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 219, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 390, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 730, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 275, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 420, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 136, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 931, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 412, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 404, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 24, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 486, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 872, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0046.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 392, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 626, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 856, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 217, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 724, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 431, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 900, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 69, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 946, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0058.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 149, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 107, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 937, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 740, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 590, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 825, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0059.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 771, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 791, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 157, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 782, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 329, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 328, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 899, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 678, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 406, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 333, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 147, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 543, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 123, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 540, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 78, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 910, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 443, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 95, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 57, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 185, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 897, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 518, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 127, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 387, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 419, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 779, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 813, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 446, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0043.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 902, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 49, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 871, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 600, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 533, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 129, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 504, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 441, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 335, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 896, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 895, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 581, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 667, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 233, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 487, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 438, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 111, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0055.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 365, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 696, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 652, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 360, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 729, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 555, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 214, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 267, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 483, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 621, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0045.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 477, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 925, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 428, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 137, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 200, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0033.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 781, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 36, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 442, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 647, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 598, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 372, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 887, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0061.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 841, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 125, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 444, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 2, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 886, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0060.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 210, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0038.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 732, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 282, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 898, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 44, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 909, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 399, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 874, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 734, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded6\\videorecorded6_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 665, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 907, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 254, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 321, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 846, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 389, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 814, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 319, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 320, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 61, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 757, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 843, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 250, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 611, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 880, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0054.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 836, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 23, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 460, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0050.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 467, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0056.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 409, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 476, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 98, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 482, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 341, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 59, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 56, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0021.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 380, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 801, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 765, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 819, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0053.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 575, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 255, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 351, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 767, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 834, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 70, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0026.jpg", + "width": 1280.0, + "height": 720.0 + } + ], + "annotations": [ + { + "id": 1, + "image_id": 1, + "category_id": 1, + "bbox": [ + 1073.44, + 400.705, + 50.7642, + 126.784 + ], + "area": 6436.088332800001, + "iscrowd": 0 + }, + { + "id": 2, + "image_id": 1, + "category_id": 1, + "bbox": [ + 31.5477, + 375.578, + 71.294, + 176.893 + ], + "area": 12611.409542, + "iscrowd": 0 + }, + { + "id": 3, + "image_id": 1, + "category_id": 1, + "bbox": [ + 1145.13, + 400.091, + 111.79, + 116.598 + ], + "area": 13034.49042, + "iscrowd": 0 + }, + { + "id": 4, + "image_id": 1, + "category_id": 1, + "bbox": [ + 1007.84, + 393.746, + 77.3918, + 141.274 + ], + "area": 10933.449153200001, + "iscrowd": 0 + }, + { + "id": 5, + "image_id": 1, + "category_id": 1, + "bbox": [ + 855.451, + 406.852, + 107.512, + 132.47 + ], + "area": 14242.11464, + "iscrowd": 0 + }, + { + "id": 6, + "image_id": 1, + "category_id": 0, + "bbox": [ + 1086.96, + 442.454, + 34.6228, + 72.8069 + ], + "area": 2520.77873732, + "iscrowd": 0 + }, + { + "id": 7, + "image_id": 2, + "category_id": 1, + "bbox": [ + 0.0, + 343.623, + 64.0517, + 247.782 + ], + "area": 15870.8583294, + "iscrowd": 0 + }, + { + "id": 8, + "image_id": 2, + "category_id": 0, + "bbox": [ + 17.73, + 387.223, + 44.4658, + 51.22 + ], + "area": 2277.538276, + "iscrowd": 0 + }, + { + "id": 9, + "image_id": 3, + "category_id": 1, + "bbox": [ + 6.89757, + 375.268, + 84.145, + 163.49 + ], + "area": 13756.86605, + "iscrowd": 0 + }, + { + "id": 10, + "image_id": 3, + "category_id": 1, + "bbox": [ + 859.049, + 408.808, + 102.73, + 128.299 + ], + "area": 13180.156270000001, + "iscrowd": 0 + }, + { + "id": 11, + "image_id": 3, + "category_id": 1, + "bbox": [ + 1152.56, + 401.74, + 110.147, + 107.311 + ], + "area": 11819.984717000001, + "iscrowd": 0 + }, + { + "id": 12, + "image_id": 3, + "category_id": 1, + "bbox": [ + 1007.25, + 393.857, + 83.8994, + 143.407 + ], + "area": 12031.7612558, + "iscrowd": 0 + }, + { + "id": 13, + "image_id": 3, + "category_id": 1, + "bbox": [ + 1082.6, + 400.608, + 45.2627, + 140.017 + ], + "area": 6337.5474659, + "iscrowd": 0 + }, + { + "id": 14, + "image_id": 3, + "category_id": 0, + "bbox": [ + 1085.33, + 442.447, + 40.4699, + 72.7994 + ], + "area": 2946.1844380600005, + "iscrowd": 0 + }, + { + "id": 17, + "image_id": 5, + "category_id": 1, + "bbox": [ + 0.127671, + 373.735, + 70.49, + 167.909 + ], + "area": 11835.90541, + "iscrowd": 0 + }, + { + "id": 18, + "image_id": 5, + "category_id": 1, + "bbox": [ + 839.292, + 410.395, + 78.3037, + 256.179 + ], + "area": 20059.7635623, + "iscrowd": 0 + }, + { + "id": 19, + "image_id": 5, + "category_id": 1, + "bbox": [ + 1006.57, + 393.394, + 82.9825, + 142.216 + ], + "area": 11801.43922, + "iscrowd": 0 + }, + { + "id": 20, + "image_id": 5, + "category_id": 1, + "bbox": [ + 1171.58, + 402.243, + 96.2997, + 107.278 + ], + "area": 10330.839216600001, + "iscrowd": 0 + }, + { + "id": 21, + "image_id": 5, + "category_id": 1, + "bbox": [ + 1100.35, + 399.491, + 63.0503, + 124.603 + ], + "area": 7856.256530899999, + "iscrowd": 0 + }, + { + "id": 22, + "image_id": 5, + "category_id": 1, + "bbox": [ + 1084.05, + 439.663, + 35.8671, + 66.2943 + ], + "area": 2377.7842875300003, + "iscrowd": 0 + }, + { + "id": 23, + "image_id": 6, + "category_id": 0, + "bbox": [ + 135.616, + 388.557, + 45.0296, + 50.2962 + ], + "area": 2264.81776752, + "iscrowd": 0 + }, + { + "id": 24, + "image_id": 6, + "category_id": 1, + "bbox": [ + 89.5326, + 346.16, + 61.0925, + 98.487 + ], + "area": 6016.8170475, + "iscrowd": 0 + }, + { + "id": 25, + "image_id": 7, + "category_id": 1, + "bbox": [ + 0.156395, + 371.815, + 54.1077, + 170.977 + ], + "area": 9251.1722229, + "iscrowd": 0 + }, + { + "id": 26, + "image_id": 7, + "category_id": 1, + "bbox": [ + 1006.91, + 393.258, + 82.1933, + 143.357 + ], + "area": 11782.9849081, + "iscrowd": 0 + }, + { + "id": 27, + "image_id": 7, + "category_id": 1, + "bbox": [ + 1172.72, + 399.443, + 101.824, + 116.271 + ], + "area": 11839.178304, + "iscrowd": 0 + }, + { + "id": 28, + "image_id": 7, + "category_id": 1, + "bbox": [ + 832.559, + 406.69, + 55.6665, + 270.088 + ], + "area": 15034.853652000002, + "iscrowd": 0 + }, + { + "id": 29, + "image_id": 7, + "category_id": 1, + "bbox": [ + 1101.49, + 402.857, + 76.6694, + 117.37 + ], + "area": 8998.687478, + "iscrowd": 0 + }, + { + "id": 30, + "image_id": 7, + "category_id": 0, + "bbox": [ + 1083.89, + 435.725, + 40.0325, + 89.12 + ], + "area": 3567.6964000000003, + "iscrowd": 0 + }, + { + "id": 31, + "image_id": 8, + "category_id": 1, + "bbox": [ + 143.34, + 348.642, + 87.4345, + 99.6793 + ], + "area": 8715.40975585, + "iscrowd": 0 + }, + { + "id": 32, + "image_id": 8, + "category_id": 1, + "bbox": [ + 15.7396, + 366.59, + 67.6223, + 225.254 + ], + "area": 15232.193564199999, + "iscrowd": 0 + }, + { + "id": 33, + "image_id": 8, + "category_id": 0, + "bbox": [ + 186.046, + 386.063, + 47.8627, + 53.6293 + ], + "area": 2566.8430971099997, + "iscrowd": 0 + }, + { + "id": 34, + "image_id": 9, + "category_id": 1, + "bbox": [ + 0.0, + 371.624, + 55.4377, + 168.898 + ], + "area": 9363.3166546, + "iscrowd": 0 + }, + { + "id": 35, + "image_id": 9, + "category_id": 1, + "bbox": [ + 1001.14, + 393.325, + 85.5798, + 143.453 + ], + "area": 12276.679049400002, + "iscrowd": 0 + }, + { + "id": 36, + "image_id": 9, + "category_id": 1, + "bbox": [ + 1164.94, + 400.725, + 99.9134, + 104.922 + ], + "area": 10483.113754799999, + "iscrowd": 0 + }, + { + "id": 37, + "image_id": 9, + "category_id": 1, + "bbox": [ + 1078.49, + 400.824, + 85.1423, + 125.699 + ], + "area": 10702.301967700001, + "iscrowd": 0 + }, + { + "id": 38, + "image_id": 9, + "category_id": 1, + "bbox": [ + 833.842, + 407.524, + 64.112, + 274.496 + ], + "area": 17598.487552, + "iscrowd": 0 + }, + { + "id": 39, + "image_id": 9, + "category_id": 0, + "bbox": [ + 1080.4, + 440.452, + 34.5938, + 84.1199 + ], + "area": 2910.0269966200003, + "iscrowd": 0 + }, + { + "id": 40, + "image_id": 10, + "category_id": 1, + "bbox": [ + 0.0753403, + 377.697, + 65.2864, + 229.328 + ], + "area": 14971.9995392, + "iscrowd": 0 + }, + { + "id": 41, + "image_id": 10, + "category_id": 1, + "bbox": [ + 76.9985, + 372.264, + 44.499, + 71.9386 + ], + "area": 3201.1957614, + "iscrowd": 0 + }, + { + "id": 42, + "image_id": 10, + "category_id": 1, + "bbox": [ + 191.043, + 351.407, + 96.4051, + 210.037 + ], + "area": 20248.6379887, + "iscrowd": 0 + }, + { + "id": 43, + "image_id": 10, + "category_id": 0, + "bbox": [ + 246.29, + 392.276, + 41.7103, + 75.4759 + ], + "area": 3148.1224317699994, + "iscrowd": 0 + }, + { + "id": 44, + "image_id": 11, + "category_id": 1, + "bbox": [ + 837.75, + 409.725, + 77.3811, + 272.424 + ], + "area": 21080.4687864, + "iscrowd": 0 + }, + { + "id": 45, + "image_id": 11, + "category_id": 1, + "bbox": [ + 983.102, + 392.615, + 90.2991, + 140.981 + ], + "area": 12730.457417099999, + "iscrowd": 0 + }, + { + "id": 46, + "image_id": 11, + "category_id": 1, + "bbox": [ + 0.121269, + 373.603, + 59.3858, + 171.283 + ], + "area": 10171.7779814, + "iscrowd": 0 + }, + { + "id": 47, + "image_id": 11, + "category_id": 1, + "bbox": [ + 1142.29, + 401.851, + 123.878, + 111.895 + ], + "area": 13861.328809999999, + "iscrowd": 0 + }, + { + "id": 48, + "image_id": 11, + "category_id": 1, + "bbox": [ + 1057.44, + 400.559, + 73.2393, + 126.681 + ], + "area": 9278.0277633, + "iscrowd": 0 + }, + { + "id": 49, + "image_id": 11, + "category_id": 0, + "bbox": [ + 1055.82, + 438.263, + 44.1629, + 87.0549 + ], + "area": 3844.5968432100003, + "iscrowd": 0 + }, + { + "id": 50, + "image_id": 12, + "category_id": 1, + "bbox": [ + 134.611, + 376.681, + 59.6778, + 75.3548 + ], + "area": 4497.00868344, + "iscrowd": 0 + }, + { + "id": 51, + "image_id": 12, + "category_id": 1, + "bbox": [ + 37.498, + 378.34, + 53.3399, + 225.73 + ], + "area": 12040.415627, + "iscrowd": 0 + }, + { + "id": 52, + "image_id": 12, + "category_id": 1, + "bbox": [ + 255.801, + 354.663, + 84.282, + 207.603 + ], + "area": 17497.196046, + "iscrowd": 0 + }, + { + "id": 53, + "image_id": 12, + "category_id": 0, + "bbox": [ + 298.924, + 395.255, + 44.6897, + 52.6345 + ], + "area": 2352.2200146500004, + "iscrowd": 0 + }, + { + "id": 60, + "image_id": 14, + "category_id": 1, + "bbox": [ + 188.01, + 380.252, + 94.2838, + 199.214 + ], + "area": 18782.6529332, + "iscrowd": 0 + }, + { + "id": 61, + "image_id": 14, + "category_id": 0, + "bbox": [ + 359.503, + 394.262, + 41.7103, + 53.6276 + ], + "area": 2236.82328428, + "iscrowd": 0 + }, + { + "id": 62, + "image_id": 15, + "category_id": 1, + "bbox": [ + 33.4159, + 373.203, + 80.1701, + 176.394 + ], + "area": 14141.524619400001, + "iscrowd": 0 + }, + { + "id": 63, + "image_id": 15, + "category_id": 1, + "bbox": [ + 916.491, + 412.145, + 74.5056, + 124.879 + ], + "area": 9304.1848224, + "iscrowd": 0 + }, + { + "id": 64, + "image_id": 15, + "category_id": 1, + "bbox": [ + 1188.46, + 401.307, + 82.6379, + 115.904 + ], + "area": 9578.0631616, + "iscrowd": 0 + }, + { + "id": 65, + "image_id": 15, + "category_id": 1, + "bbox": [ + 970.961, + 397.211, + 74.0186, + 98.5349 + ], + "area": 7293.41534914, + "iscrowd": 0 + }, + { + "id": 66, + "image_id": 15, + "category_id": 1, + "bbox": [ + 1053.69, + 400.404, + 89.5605, + 132.834 + ], + "area": 11896.679457, + "iscrowd": 0 + }, + { + "id": 67, + "image_id": 15, + "category_id": 0, + "bbox": [ + 984.166, + 435.972, + 63.5586, + 90.3724 + ], + "area": 5743.9432226399995, + "iscrowd": 0 + }, + { + "id": 68, + "image_id": 15, + "category_id": 1, + "bbox": [ + 1250.32, + 408.166, + 27.8069, + 35.7517 + ], + "area": 994.1439467299999, + "iscrowd": 0 + }, + { + "id": 69, + "image_id": 16, + "category_id": 1, + "bbox": [ + 381.256, + 355.901, + 77.0065, + 106.973 + ], + "area": 8237.6163245, + "iscrowd": 0 + }, + { + "id": 70, + "image_id": 16, + "category_id": 1, + "bbox": [ + 246.524, + 377.103, + 77.0047, + 91.6619 + ], + "area": 7058.39711093, + "iscrowd": 0 + }, + { + "id": 71, + "image_id": 16, + "category_id": 1, + "bbox": [ + 143.007, + 379.366, + 60.5793, + 75.4759 + ], + "area": 4572.27718887, + "iscrowd": 0 + }, + { + "id": 72, + "image_id": 16, + "category_id": 0, + "bbox": [ + 418.097, + 395.255, + 43.6966, + 56.6069 + ], + "area": 2473.52906654, + "iscrowd": 0 + }, + { + "id": 73, + "image_id": 17, + "category_id": 1, + "bbox": [ + 0.129523, + 298.168, + 52.9496, + 194.094 + ], + "area": 10277.199662399998, + "iscrowd": 0 + }, + { + "id": 74, + "image_id": 18, + "category_id": 1, + "bbox": [ + 70.3107, + 377.894, + 83.1672, + 178.306 + ], + "area": 14829.2107632, + "iscrowd": 0 + }, + { + "id": 75, + "image_id": 18, + "category_id": 1, + "bbox": [ + 920.319, + 394.516, + 79.8689, + 141.491 + ], + "area": 11300.7305299, + "iscrowd": 0 + }, + { + "id": 76, + "image_id": 18, + "category_id": 1, + "bbox": [ + 962.868, + 409.465, + 86.9601, + 123.956 + ], + "area": 10779.2261556, + "iscrowd": 0 + }, + { + "id": 77, + "image_id": 18, + "category_id": 1, + "bbox": [ + 1057.12, + 400.883, + 73.7791, + 146.756 + ], + "area": 10827.5255996, + "iscrowd": 0 + }, + { + "id": 78, + "image_id": 18, + "category_id": 1, + "bbox": [ + 1206.2, + 399.66, + 62.1965, + 99.4824 + ], + "area": 6187.4570916, + "iscrowd": 0 + }, + { + "id": 79, + "image_id": 19, + "category_id": 1, + "bbox": [ + 437.88, + 358.796, + 79.891, + 251.398 + ], + "area": 20084.437618, + "iscrowd": 0 + }, + { + "id": 80, + "image_id": 19, + "category_id": 1, + "bbox": [ + 201.376, + 381.634, + 63.6207, + 174.635 + ], + "area": 11110.4009445, + "iscrowd": 0 + }, + { + "id": 81, + "image_id": 19, + "category_id": 1, + "bbox": [ + 309.477, + 401.135, + 37.8793, + 67.9273 + ], + "area": 2573.0385748900003, + "iscrowd": 0 + }, + { + "id": 82, + "image_id": 19, + "category_id": 0, + "bbox": [ + 480.762, + 399.726, + 41.6202, + 54.4042 + ], + "area": 2264.31368484, + "iscrowd": 0 + }, + { + "id": 83, + "image_id": 20, + "category_id": 1, + "bbox": [ + 0.617571, + 228.52, + 156.604, + 257.562 + ], + "area": 40335.23944800001, + "iscrowd": 0 + }, + { + "id": 84, + "image_id": 21, + "category_id": 1, + "bbox": [ + 120.725, + 376.818, + 86.1104, + 179.336 + ], + "area": 15442.694694400001, + "iscrowd": 0 + }, + { + "id": 85, + "image_id": 21, + "category_id": 1, + "bbox": [ + 884.699, + 393.53, + 90.5129, + 141.891 + ], + "area": 12842.9658939, + "iscrowd": 0 + }, + { + "id": 86, + "image_id": 21, + "category_id": 1, + "bbox": [ + 1160.09, + 399.47, + 98.6877, + 108.709 + ], + "area": 10728.241179300001, + "iscrowd": 0 + }, + { + "id": 87, + "image_id": 21, + "category_id": 1, + "bbox": [ + 1031.66, + 409.734, + 88.168, + 137.436 + ], + "area": 12117.457248, + "iscrowd": 0 + }, + { + "id": 88, + "image_id": 21, + "category_id": 0, + "bbox": [ + 903.724, + 438.952, + 61.5724, + 87.3931 + ], + "area": 5381.00291044, + "iscrowd": 0 + }, + { + "id": 89, + "image_id": 22, + "category_id": 1, + "bbox": [ + 478.797, + 358.296, + 96.3057, + 252.803 + ], + "area": 24346.3698771, + "iscrowd": 0 + }, + { + "id": 90, + "image_id": 22, + "category_id": 1, + "bbox": [ + 241.57, + 386.763, + 71.906, + 189.868 + ], + "area": 13652.648408000001, + "iscrowd": 0 + }, + { + "id": 91, + "image_id": 22, + "category_id": 1, + "bbox": [ + 377.03, + 379.946, + 60.9499, + 84.2866 + ], + "area": 5137.25984134, + "iscrowd": 0 + }, + { + "id": 92, + "image_id": 22, + "category_id": 0, + "bbox": [ + 514.428, + 403.2, + 53.6276, + 57.6 + ], + "area": 3088.94976, + "iscrowd": 0 + }, + { + "id": 93, + "image_id": 23, + "category_id": 1, + "bbox": [ + 90.3724, + 214.51, + 55.6138, + 136.055 + ], + "area": 7566.535559, + "iscrowd": 0 + }, + { + "id": 94, + "image_id": 24, + "category_id": 1, + "bbox": [ + 175.332, + 378.867, + 53.9172, + 175.9 + ], + "area": 9484.03548, + "iscrowd": 0 + }, + { + "id": 95, + "image_id": 24, + "category_id": 1, + "bbox": [ + 827.11, + 392.615, + 113.643, + 300.383 + ], + "area": 34136.425269, + "iscrowd": 0 + }, + { + "id": 96, + "image_id": 24, + "category_id": 1, + "bbox": [ + 1053.85, + 400.677, + 73.5674, + 140.833 + ], + "area": 10360.7176442, + "iscrowd": 0 + }, + { + "id": 97, + "image_id": 24, + "category_id": 1, + "bbox": [ + 1229.6, + 408.666, + 49.9648, + 87.3279 + ], + "area": 4363.3210579199995, + "iscrowd": 0 + }, + { + "id": 98, + "image_id": 24, + "category_id": 1, + "bbox": [ + 1181.42, + 400.217, + 53.2217, + 98.7505 + ], + "area": 5255.66948585, + "iscrowd": 0 + }, + { + "id": 99, + "image_id": 24, + "category_id": 1, + "bbox": [ + 1128.75, + 417.27, + 102.848, + 123.156 + ], + "area": 12666.348288000001, + "iscrowd": 0 + }, + { + "id": 100, + "image_id": 24, + "category_id": 0, + "bbox": [ + 868.966, + 442.924, + 49.6552, + 88.3862 + ], + "area": 4388.83443824, + "iscrowd": 0 + }, + { + "id": 101, + "image_id": 24, + "category_id": 0, + "bbox": [ + 1225.49, + 432.0, + 29.7931, + 39.7241 + ], + "area": 1183.50408371, + "iscrowd": 0 + }, + { + "id": 102, + "image_id": 25, + "category_id": 1, + "bbox": [ + 509.015, + 358.0, + 94.1151, + 263.701 + ], + "area": 24818.245985100002, + "iscrowd": 0 + }, + { + "id": 103, + "image_id": 25, + "category_id": 1, + "bbox": [ + 426.35, + 380.256, + 77.8818, + 229.816 + ], + "area": 17898.4837488, + "iscrowd": 0 + }, + { + "id": 104, + "image_id": 25, + "category_id": 0, + "bbox": [ + 543.228, + 403.2, + 58.5931, + 61.5724 + ], + "area": 3607.71779044, + "iscrowd": 0 + }, + { + "id": 105, + "image_id": 25, + "category_id": 1, + "bbox": [ + 10.9241, + 382.345, + 41.7103, + 73.4897 + ], + "area": 3065.2774339099997, + "iscrowd": 0 + }, + { + "id": 106, + "image_id": 25, + "category_id": 0, + "bbox": [ + 43.6966, + 411.145, + 42.7034, + 46.6759 + ], + "area": 1993.21962806, + "iscrowd": 0 + }, + { + "id": 107, + "image_id": 26, + "category_id": 1, + "bbox": [ + 0.133913, + 281.112, + 67.9152, + 210.058 + ], + "area": 14266.131081599999, + "iscrowd": 0 + }, + { + "id": 108, + "image_id": 26, + "category_id": 1, + "bbox": [ + 157.824, + 205.909, + 44.6599, + 98.5918 + ], + "area": 4403.09992882, + "iscrowd": 0 + }, + { + "id": 109, + "image_id": 26, + "category_id": 0, + "bbox": [ + 197.229, + 234.034, + 33.8425, + 58.5682 + ], + "area": 1982.0943085, + "iscrowd": 0 + }, + { + "id": 110, + "image_id": 27, + "category_id": 1, + "bbox": [ + 190.145, + 383.232, + 77.9087, + 167.264 + ], + "area": 13031.3207968, + "iscrowd": 0 + }, + { + "id": 111, + "image_id": 27, + "category_id": 1, + "bbox": [ + 798.713, + 387.529, + 110.716, + 306.487 + ], + "area": 33933.014692000004, + "iscrowd": 0 + }, + { + "id": 112, + "image_id": 27, + "category_id": 1, + "bbox": [ + 1129.94, + 399.874, + 68.7712, + 120.795 + ], + "area": 8307.217104, + "iscrowd": 0 + }, + { + "id": 113, + "image_id": 27, + "category_id": 1, + "bbox": [ + 1051.16, + 401.22, + 77.8096, + 183.325 + ], + "area": 14264.44492, + "iscrowd": 0 + }, + { + "id": 114, + "image_id": 27, + "category_id": 0, + "bbox": [ + 834.802, + 445.272, + 60.3871, + 88.9217 + ], + "area": 5369.72359007, + "iscrowd": 0 + }, + { + "id": 115, + "image_id": 27, + "category_id": 1, + "bbox": [ + 1204.42, + 410.101, + 75.576, + 144.6 + ], + "area": 10928.289599999998, + "iscrowd": 0 + }, + { + "id": 116, + "image_id": 28, + "category_id": 1, + "bbox": [ + 522.506, + 353.136, + 96.6992, + 281.044 + ], + "area": 27176.7299648, + "iscrowd": 0 + }, + { + "id": 117, + "image_id": 28, + "category_id": 1, + "bbox": [ + 469.079, + 382.021, + 88.2057, + 229.763 + ], + "area": 20266.4062491, + "iscrowd": 0 + }, + { + "id": 118, + "image_id": 28, + "category_id": 1, + "bbox": [ + 0.233734, + 392.422, + 65.3943, + 208.964 + ], + "area": 13665.0545052, + "iscrowd": 0 + }, + { + "id": 119, + "image_id": 28, + "category_id": 1, + "bbox": [ + 380.599, + 387.002, + 72.7004, + 221.443 + ], + "area": 16098.994677200002, + "iscrowd": 0 + }, + { + "id": 120, + "image_id": 28, + "category_id": 1, + "bbox": [ + 44.8584, + 386.747, + 64.8321, + 57.7238 + ], + "area": 3742.3551739799996, + "iscrowd": 0 + }, + { + "id": 121, + "image_id": 28, + "category_id": 0, + "bbox": [ + 560.11, + 395.255, + 56.6069, + 67.531 + ], + "area": 3822.7205639000003, + "iscrowd": 0 + }, + { + "id": 122, + "image_id": 28, + "category_id": 0, + "bbox": [ + 497.545, + 432.0, + 28.8, + 55.6138 + ], + "area": 1601.67744, + "iscrowd": 0 + }, + { + "id": 125, + "image_id": 30, + "category_id": 1, + "bbox": [ + 747.049, + 390.533, + 117.781, + 310.968 + ], + "area": 36626.122008000006, + "iscrowd": 0 + }, + { + "id": 126, + "image_id": 30, + "category_id": 1, + "bbox": [ + 226.261, + 383.389, + 61.915, + 164.972 + ], + "area": 10214.24138, + "iscrowd": 0 + }, + { + "id": 127, + "image_id": 30, + "category_id": 1, + "bbox": [ + 1056.18, + 400.799, + 86.1587, + 129.779 + ], + "area": 11181.5899273, + "iscrowd": 0 + }, + { + "id": 128, + "image_id": 30, + "category_id": 1, + "bbox": [ + 1239.19, + 406.806, + 40.491, + 90.4137 + ], + "area": 3660.9411267, + "iscrowd": 0 + }, + { + "id": 129, + "image_id": 30, + "category_id": 0, + "bbox": [ + 784.552, + 436.966, + 81.4345, + 99.3103 + ], + "area": 8087.28462535, + "iscrowd": 0 + }, + { + "id": 130, + "image_id": 30, + "category_id": 0, + "bbox": [ + 1214.57, + 430.014, + 46.6759, + 67.531 + ], + "area": 3152.0702029000004, + "iscrowd": 0 + }, + { + "id": 131, + "image_id": 31, + "category_id": 1, + "bbox": [ + 540.557, + 354.291, + 104.517, + 290.762 + ], + "area": 30389.571954, + "iscrowd": 0 + }, + { + "id": 132, + "image_id": 31, + "category_id": 1, + "bbox": [ + 432.318, + 384.997, + 64.3873, + 220.351 + ], + "area": 14187.8059423, + "iscrowd": 0 + }, + { + "id": 133, + "image_id": 31, + "category_id": 1, + "bbox": [ + 85.0487, + 389.661, + 70.0575, + 62.3662 + ], + "area": 4369.2200565, + "iscrowd": 0 + }, + { + "id": 134, + "image_id": 31, + "category_id": 0, + "bbox": [ + 576.0, + 397.241, + 61.5724, + 81.4345 + ], + "area": 5014.1176078, + "iscrowd": 0 + }, + { + "id": 135, + "image_id": 32, + "category_id": 1, + "bbox": [ + 303.499, + 198.799, + 77.8664, + 141.856 + ], + "area": 11045.8160384, + "iscrowd": 0 + }, + { + "id": 136, + "image_id": 32, + "category_id": 1, + "bbox": [ + 125.849, + 249.443, + 55.4928, + 55.7866 + ], + "area": 3095.75463648, + "iscrowd": 0 + }, + { + "id": 137, + "image_id": 32, + "category_id": 0, + "bbox": [ + 336.73, + 227.358, + 42.1452, + 66.7306 + ], + "area": 2812.37448312, + "iscrowd": 0 + }, + { + "id": 145, + "image_id": 34, + "category_id": 1, + "bbox": [ + 468.051, + 391.543, + 79.3346, + 228.582 + ], + "area": 18134.461537199997, + "iscrowd": 0 + }, + { + "id": 146, + "image_id": 34, + "category_id": 1, + "bbox": [ + 573.092, + 354.57, + 112.466, + 308.019 + ], + "area": 34641.664854, + "iscrowd": 0 + }, + { + "id": 147, + "image_id": 34, + "category_id": 1, + "bbox": [ + 26.084, + 387.818, + 65.2694, + 163.035 + ], + "area": 10641.196629, + "iscrowd": 0 + }, + { + "id": 148, + "image_id": 34, + "category_id": 0, + "bbox": [ + 628.634, + 407.172, + 61.5724, + 70.5103 + ], + "area": 4341.48839572, + "iscrowd": 0 + }, + { + "id": 149, + "image_id": 34, + "category_id": 0, + "bbox": [ + 167.834, + 414.124, + 49.6552, + 50.6483 + ], + "area": 2514.95146616, + "iscrowd": 0 + }, + { + "id": 150, + "image_id": 34, + "category_id": 0, + "bbox": [ + 47.669, + 410.152, + 43.6966, + 36.7448 + ], + "area": 1605.6228276799998, + "iscrowd": 0 + }, + { + "id": 151, + "image_id": 34, + "category_id": 1, + "bbox": [ + 138.041, + 389.297, + 73.4897, + 68.5241 + ], + "area": 5035.815551770001, + "iscrowd": 0 + }, + { + "id": 152, + "image_id": 35, + "category_id": 1, + "bbox": [ + 671.753, + 377.63, + 131.81, + 341.057 + ], + "area": 44954.723170000005, + "iscrowd": 0 + }, + { + "id": 153, + "image_id": 35, + "category_id": 1, + "bbox": [ + 254.296, + 384.988, + 60.3537, + 150.266 + ], + "area": 9069.1090842, + "iscrowd": 0 + }, + { + "id": 154, + "image_id": 35, + "category_id": 1, + "bbox": [ + 930.606, + 397.118, + 72.9951, + 130.705 + ], + "area": 9540.8245455, + "iscrowd": 0 + }, + { + "id": 155, + "image_id": 35, + "category_id": 0, + "bbox": [ + 1137.95, + 438.637, + 62.4542, + 78.7765 + ], + "area": 4919.9232863, + "iscrowd": 0 + }, + { + "id": 156, + "image_id": 35, + "category_id": 1, + "bbox": [ + 1137.83, + 406.277, + 105.172, + 112.358 + ], + "area": 11816.915576, + "iscrowd": 0 + }, + { + "id": 157, + "image_id": 35, + "category_id": 0, + "bbox": [ + 725.959, + 439.945, + 70.5103, + 103.283 + ], + "area": 7282.5153149, + "iscrowd": 0 + }, + { + "id": 158, + "image_id": 35, + "category_id": 0, + "bbox": [ + 929.545, + 456.828, + 52.6345, + 69.5172 + ], + "area": 3659.0030634000004, + "iscrowd": 0 + }, + { + "id": 159, + "image_id": 36, + "category_id": 1, + "bbox": [ + 472.375, + 393.716, + 91.8428, + 253.211 + ], + "area": 23255.6072308, + "iscrowd": 0 + }, + { + "id": 160, + "image_id": 36, + "category_id": 1, + "bbox": [ + 617.791, + 353.712, + 111.319, + 312.181 + ], + "area": 34751.676739, + "iscrowd": 0 + }, + { + "id": 161, + "image_id": 36, + "category_id": 1, + "bbox": [ + 190.326, + 388.886, + 77.033, + 181.256 + ], + "area": 13962.693448, + "iscrowd": 0 + }, + { + "id": 162, + "image_id": 36, + "category_id": 1, + "bbox": [ + 0.0, + 345.78, + 59.5053, + 127.357 + ], + "area": 7578.4164921, + "iscrowd": 0 + }, + { + "id": 163, + "image_id": 36, + "category_id": 1, + "bbox": [ + 89.8154, + 391.336, + 32.2422, + 51.9011 + ], + "area": 1673.4056464199998, + "iscrowd": 0 + }, + { + "id": 164, + "image_id": 36, + "category_id": 0, + "bbox": [ + 681.115, + 406.399, + 53.3755, + 66.4641 + ], + "area": 3547.5545695500005, + "iscrowd": 0 + }, + { + "id": 165, + "image_id": 36, + "category_id": 0, + "bbox": [ + 228.705, + 416.393, + 38.5868, + 77.0041 + ], + "area": 2971.3418058799994, + "iscrowd": 0 + }, + { + "id": 166, + "image_id": 37, + "category_id": 1, + "bbox": [ + 448.635, + 198.782, + 123.136, + 233.656 + ], + "area": 28771.465216, + "iscrowd": 0 + }, + { + "id": 167, + "image_id": 37, + "category_id": 1, + "bbox": [ + 283.91, + 239.942, + 92.703, + 186.901 + ], + "area": 17326.283403, + "iscrowd": 0 + }, + { + "id": 168, + "image_id": 37, + "category_id": 0, + "bbox": [ + 479.706, + 229.5, + 40.5539, + 60.0569 + ], + "area": 2435.5415169099997, + "iscrowd": 0 + }, + { + "id": 177, + "image_id": 39, + "category_id": 1, + "bbox": [ + 472.95, + 395.711, + 90.4609, + 278.536 + ], + "area": 25196.6172424, + "iscrowd": 0 + }, + { + "id": 178, + "image_id": 39, + "category_id": 1, + "bbox": [ + 615.936, + 385.339, + 83.0686, + 267.063 + ], + "area": 22184.5495218, + "iscrowd": 0 + }, + { + "id": 179, + "image_id": 39, + "category_id": 1, + "bbox": [ + 687.428, + 350.856, + 107.118, + 328.368 + ], + "area": 35174.123424, + "iscrowd": 0 + }, + { + "id": 180, + "image_id": 39, + "category_id": 1, + "bbox": [ + 28.0486, + 345.643, + 83.6883, + 131.694 + ], + "area": 11021.2469802, + "iscrowd": 0 + }, + { + "id": 181, + "image_id": 39, + "category_id": 1, + "bbox": [ + 252.951, + 393.602, + 81.8223, + 169.462 + ], + "area": 13865.7706026, + "iscrowd": 0 + }, + { + "id": 182, + "image_id": 39, + "category_id": 0, + "bbox": [ + 733.903, + 405.186, + 62.5655, + 77.4621 + ], + "area": 4846.455017550001, + "iscrowd": 0 + }, + { + "id": 183, + "image_id": 39, + "category_id": 0, + "bbox": [ + 616.717, + 439.945, + 56.6069, + 76.469 + ], + "area": 4328.6730361, + "iscrowd": 0 + }, + { + "id": 184, + "image_id": 39, + "category_id": 0, + "bbox": [ + 303.89, + 417.103, + 28.8, + 46.6759 + ], + "area": 1344.26592, + "iscrowd": 0 + }, + { + "id": 185, + "image_id": 39, + "category_id": 1, + "bbox": [ + 139.034, + 393.269, + 67.531, + 63.5586 + ], + "area": 4292.1758166, + "iscrowd": 0 + }, + { + "id": 186, + "image_id": 40, + "category_id": 1, + "bbox": [ + 512.109, + 194.036, + 102.154, + 245.307 + ], + "area": 25059.091277999996, + "iscrowd": 0 + }, + { + "id": 187, + "image_id": 40, + "category_id": 0, + "bbox": [ + 536.276, + 224.441, + 62.5655, + 76.469 + ], + "area": 4784.3212195, + "iscrowd": 0 + }, + { + "id": 188, + "image_id": 41, + "category_id": 1, + "bbox": [ + 585.251, + 373.561, + 140.168, + 341.976 + ], + "area": 47934.091968, + "iscrowd": 0 + }, + { + "id": 189, + "image_id": 41, + "category_id": 1, + "bbox": [ + 288.523, + 385.916, + 60.4946, + 141.514 + ], + "area": 8560.8328244, + "iscrowd": 0 + }, + { + "id": 190, + "image_id": 41, + "category_id": 1, + "bbox": [ + 781.376, + 397.735, + 104.994, + 269.766 + ], + "area": 28323.811404000004, + "iscrowd": 0 + }, + { + "id": 191, + "image_id": 41, + "category_id": 1, + "bbox": [ + 1060.09, + 400.376, + 97.9603, + 150.246 + ], + "area": 14718.143233800001, + "iscrowd": 0 + }, + { + "id": 192, + "image_id": 41, + "category_id": 1, + "bbox": [ + 1217.57, + 403.545, + 62.0, + 137.621 + ], + "area": 8532.502, + "iscrowd": 0 + }, + { + "id": 193, + "image_id": 41, + "category_id": 0, + "bbox": [ + 649.659, + 445.935, + 72.9954, + 110.157 + ], + "area": 8040.9542778, + "iscrowd": 0 + }, + { + "id": 194, + "image_id": 41, + "category_id": 0, + "bbox": [ + 818.126, + 462.429, + 38.6092, + 72.3342 + ], + "area": 2792.76559464, + "iscrowd": 0 + }, + { + "id": 195, + "image_id": 42, + "category_id": 1, + "bbox": [ + 464.462, + 393.529, + 104.24, + 306.855 + ], + "area": 31986.5652, + "iscrowd": 0 + }, + { + "id": 196, + "image_id": 42, + "category_id": 1, + "bbox": [ + 602.485, + 381.375, + 96.0767, + 294.503 + ], + "area": 28294.8763801, + "iscrowd": 0 + }, + { + "id": 197, + "image_id": 42, + "category_id": 1, + "bbox": [ + 736.952, + 350.61, + 104.129, + 343.928 + ], + "area": 35812.878712, + "iscrowd": 0 + }, + { + "id": 198, + "image_id": 42, + "category_id": 1, + "bbox": [ + 193.088, + 396.086, + 80.4241, + 160.265 + ], + "area": 12889.168386499998, + "iscrowd": 0 + }, + { + "id": 199, + "image_id": 42, + "category_id": 1, + "bbox": [ + 95.5892, + 347.395, + 61.4089, + 97.9064 + ], + "area": 6012.324326960001, + "iscrowd": 0 + }, + { + "id": 200, + "image_id": 42, + "category_id": 0, + "bbox": [ + 201.68, + 418.897, + 47.5658, + 55.2954 + ], + "area": 2630.1699373200004, + "iscrowd": 0 + }, + { + "id": 201, + "image_id": 42, + "category_id": 0, + "bbox": [ + 364.906, + 421.199, + 28.813, + 33.3918 + ], + "area": 962.1179334000001, + "iscrowd": 0 + }, + { + "id": 202, + "image_id": 42, + "category_id": 0, + "bbox": [ + 321.982, + 392.321, + 71.404, + 77.699 + ], + "area": 5548.019396, + "iscrowd": 0 + }, + { + "id": 203, + "image_id": 42, + "category_id": 0, + "bbox": [ + 617.472, + 444.369, + 42.8093, + 73.7271 + ], + "area": 3156.20554203, + "iscrowd": 0 + }, + { + "id": 204, + "image_id": 42, + "category_id": 0, + "bbox": [ + 792.766, + 405.524, + 59.9026, + 72.9663 + ], + "area": 4370.87108238, + "iscrowd": 0 + }, + { + "id": 205, + "image_id": 43, + "category_id": 1, + "bbox": [ + 559.235, + 190.296, + 103.855, + 261.564 + ], + "area": 27164.729220000005, + "iscrowd": 0 + }, + { + "id": 206, + "image_id": 43, + "category_id": 1, + "bbox": [ + 443.735, + 229.06, + 50.6147, + 90.4364 + ], + "area": 4577.41125508, + "iscrowd": 0 + }, + { + "id": 207, + "image_id": 43, + "category_id": 0, + "bbox": [ + 594.869, + 220.469, + 48.6621, + 68.5241 + ], + "area": 3334.5266066100003, + "iscrowd": 0 + }, + { + "id": 208, + "image_id": 43, + "category_id": 0, + "bbox": [ + 472.717, + 254.234, + 21.8483, + 33.7655 + ], + "area": 737.71877365, + "iscrowd": 0 + }, + { + "id": 209, + "image_id": 44, + "category_id": 1, + "bbox": [ + 556.414, + 365.827, + 154.135, + 349.737 + ], + "area": 53906.712495, + "iscrowd": 0 + }, + { + "id": 210, + "image_id": 44, + "category_id": 1, + "bbox": [ + 746.442, + 395.264, + 96.3552, + 286.067 + ], + "area": 27564.0429984, + "iscrowd": 0 + }, + { + "id": 211, + "image_id": 44, + "category_id": 1, + "bbox": [ + 312.433, + 391.27, + 48.8441, + 131.571 + ], + "area": 6426.4670811, + "iscrowd": 0 + }, + { + "id": 212, + "image_id": 44, + "category_id": 0, + "bbox": [ + 1022.65, + 424.759, + 60.134, + 92.0101 + ], + "area": 5532.935353399999, + "iscrowd": 0 + }, + { + "id": 213, + "image_id": 44, + "category_id": 0, + "bbox": [ + 628.727, + 435.85, + 83.3047, + 122.355 + ], + "area": 10192.7465685, + "iscrowd": 0 + }, + { + "id": 214, + "image_id": 44, + "category_id": 0, + "bbox": [ + 762.703, + 461.793, + 50.6483, + 62.5655 + ], + "area": 3168.83621365, + "iscrowd": 0 + }, + { + "id": 215, + "image_id": 44, + "category_id": 1, + "bbox": [ + 1056.66, + 395.255, + 64.5517, + 148.966 + ], + "area": 9616.0085422, + "iscrowd": 0 + }, + { + "id": 216, + "image_id": 45, + "category_id": 1, + "bbox": [ + 455.332, + 389.594, + 114.126, + 327.446 + ], + "area": 37370.10219600001, + "iscrowd": 0 + }, + { + "id": 217, + "image_id": 45, + "category_id": 1, + "bbox": [ + 606.695, + 378.807, + 110.374, + 317.418 + ], + "area": 35034.694332, + "iscrowd": 0 + }, + { + "id": 218, + "image_id": 45, + "category_id": 1, + "bbox": [ + 778.236, + 352.212, + 133.49, + 354.408 + ], + "area": 47309.92392000001, + "iscrowd": 0 + }, + { + "id": 219, + "image_id": 45, + "category_id": 1, + "bbox": [ + 264.766, + 397.908, + 57.7875, + 69.1571 + ], + "area": 3996.41591625, + "iscrowd": 0 + }, + { + "id": 220, + "image_id": 45, + "category_id": 1, + "bbox": [ + 386.667, + 400.318, + 67.4556, + 63.3179 + ], + "area": 4271.14693524, + "iscrowd": 0 + }, + { + "id": 221, + "image_id": 45, + "category_id": 1, + "bbox": [ + 148.323, + 348.038, + 100.026, + 138.472 + ], + "area": 13850.800272, + "iscrowd": 0 + }, + { + "id": 222, + "image_id": 45, + "category_id": 0, + "bbox": [ + 266.089, + 418.5, + 55.4133, + 43.9592 + ], + "area": 2435.92433736, + "iscrowd": 0 + }, + { + "id": 223, + "image_id": 45, + "category_id": 0, + "bbox": [ + 427.376, + 425.929, + 27.8615, + 29.0997 + ], + "area": 810.7612915499999, + "iscrowd": 0 + }, + { + "id": 224, + "image_id": 45, + "category_id": 0, + "bbox": [ + 609.713, + 442.337, + 63.7718, + 85.4418 + ], + "area": 5448.77738124, + "iscrowd": 0 + }, + { + "id": 225, + "image_id": 45, + "category_id": 0, + "bbox": [ + 847.521, + 412.901, + 64.3606, + 70.7061 + ], + "area": 4550.687019660001, + "iscrowd": 0 + }, + { + "id": 230, + "image_id": 47, + "category_id": 1, + "bbox": [ + 516.413, + 364.564, + 161.43, + 350.427 + ], + "area": 56569.43061, + "iscrowd": 0 + }, + { + "id": 231, + "image_id": 47, + "category_id": 1, + "bbox": [ + 713.806, + 386.843, + 85.9757, + 296.08 + ], + "area": 25455.685256, + "iscrowd": 0 + }, + { + "id": 232, + "image_id": 47, + "category_id": 1, + "bbox": [ + 330.06, + 393.177, + 42.556, + 129.216 + ], + "area": 5498.916096, + "iscrowd": 0 + }, + { + "id": 233, + "image_id": 47, + "category_id": 1, + "bbox": [ + 1005.52, + 399.172, + 74.8508, + 130.635 + ], + "area": 9778.134258, + "iscrowd": 0 + }, + { + "id": 234, + "image_id": 47, + "category_id": 1, + "bbox": [ + 1138.38, + 397.696, + 141.067, + 122.703 + ], + "area": 17309.344101000002, + "iscrowd": 0 + }, + { + "id": 235, + "image_id": 47, + "category_id": 0, + "bbox": [ + 592.883, + 439.945, + 92.3586, + 136.055 + ], + "area": 12565.849323, + "iscrowd": 0 + }, + { + "id": 236, + "image_id": 47, + "category_id": 0, + "bbox": [ + 1126.18, + 458.814, + 71.5034, + 70.5103 + ], + "area": 5041.72618502, + "iscrowd": 0 + }, + { + "id": 237, + "image_id": 47, + "category_id": 0, + "bbox": [ + 1005.02, + 423.062, + 39.7241, + 51.6414 + ], + "area": 2051.40813774, + "iscrowd": 0 + }, + { + "id": 238, + "image_id": 48, + "category_id": 1, + "bbox": [ + 610.551, + 381.442, + 120.711, + 335.17 + ], + "area": 40458.70587, + "iscrowd": 0 + }, + { + "id": 239, + "image_id": 48, + "category_id": 1, + "bbox": [ + 461.947, + 387.487, + 134.816, + 328.805 + ], + "area": 44328.17488, + "iscrowd": 0 + }, + { + "id": 240, + "image_id": 48, + "category_id": 1, + "bbox": [ + 829.965, + 352.921, + 138.852, + 363.738 + ], + "area": 50505.748776, + "iscrowd": 0 + }, + { + "id": 241, + "image_id": 48, + "category_id": 1, + "bbox": [ + 200.621, + 351.88, + 103.983, + 232.812 + ], + "area": 24208.490196000002, + "iscrowd": 0 + }, + { + "id": 242, + "image_id": 48, + "category_id": 1, + "bbox": [ + 452.339, + 398.907, + 50.8283, + 202.691 + ], + "area": 10302.4389553, + "iscrowd": 0 + }, + { + "id": 243, + "image_id": 48, + "category_id": 0, + "bbox": [ + 876.716, + 417.649, + 81.5119, + 88.8322 + ], + "area": 7240.881403179999, + "iscrowd": 0 + }, + { + "id": 244, + "image_id": 48, + "category_id": 0, + "bbox": [ + 629.287, + 452.47, + 53.386, + 84.7506 + ], + "area": 4524.4955316000005, + "iscrowd": 0 + }, + { + "id": 245, + "image_id": 49, + "category_id": 1, + "bbox": [ + 634.208, + 202.821, + 103.714, + 303.392 + ], + "area": 31465.997887999998, + "iscrowd": 0 + }, + { + "id": 246, + "image_id": 49, + "category_id": 1, + "bbox": [ + 541.187, + 230.622, + 96.1663, + 219.654 + ], + "area": 21123.312460200003, + "iscrowd": 0 + }, + { + "id": 247, + "image_id": 49, + "category_id": 0, + "bbox": [ + 670.345, + 236.359, + 59.5862, + 88.3862 + ], + "area": 5266.59779044, + "iscrowd": 0 + }, + { + "id": 248, + "image_id": 49, + "category_id": 0, + "bbox": [ + 542.234, + 256.221, + 49.6552, + 55.6138 + ], + "area": 2761.5143617599997, + "iscrowd": 0 + }, + { + "id": 270, + "image_id": 53, + "category_id": 1, + "bbox": [ + 487.203, + 350.798, + 191.607, + 366.513 + ], + "area": 70226.456391, + "iscrowd": 0 + }, + { + "id": 271, + "image_id": 53, + "category_id": 1, + "bbox": [ + 639.41, + 383.609, + 75.6663, + 327.361 + ], + "area": 24770.195634300002, + "iscrowd": 0 + }, + { + "id": 272, + "image_id": 53, + "category_id": 1, + "bbox": [ + 884.956, + 396.462, + 78.0363, + 138.429 + ], + "area": 10802.4869727, + "iscrowd": 0 + }, + { + "id": 273, + "image_id": 53, + "category_id": 1, + "bbox": [ + 340.729, + 394.818, + 45.7316, + 127.185 + ], + "area": 5816.373546, + "iscrowd": 0 + }, + { + "id": 274, + "image_id": 53, + "category_id": 1, + "bbox": [ + 1037.09, + 393.053, + 113.317, + 171.136 + ], + "area": 19392.618112, + "iscrowd": 0 + }, + { + "id": 275, + "image_id": 53, + "category_id": 0, + "bbox": [ + 1027.31, + 451.748, + 62.7126, + 82.7183 + ], + "area": 5187.47966058, + "iscrowd": 0 + }, + { + "id": 276, + "image_id": 53, + "category_id": 0, + "bbox": [ + 596.664, + 445.661, + 93.3012, + 145.351 + ], + "area": 13561.422721199999, + "iscrowd": 0 + }, + { + "id": 277, + "image_id": 54, + "category_id": 1, + "bbox": [ + 890.197, + 339.431, + 162.171, + 379.868 + ], + "area": 61603.573427999996, + "iscrowd": 0 + }, + { + "id": 278, + "image_id": 54, + "category_id": 1, + "bbox": [ + 611.801, + 400.561, + 201.542, + 316.332 + ], + "area": 63754.183944, + "iscrowd": 0 + }, + { + "id": 279, + "image_id": 54, + "category_id": 1, + "bbox": [ + 577.077, + 399.843, + 73.0647, + 213.17 + ], + "area": 15575.202099, + "iscrowd": 0 + }, + { + "id": 280, + "image_id": 54, + "category_id": 1, + "bbox": [ + 454.217, + 400.674, + 69.4304, + 206.92 + ], + "area": 14366.538368, + "iscrowd": 0 + }, + { + "id": 281, + "image_id": 54, + "category_id": 1, + "bbox": [ + 363.312, + 354.394, + 50.3891, + 113.677 + ], + "area": 5728.0817207, + "iscrowd": 0 + }, + { + "id": 282, + "image_id": 54, + "category_id": 1, + "bbox": [ + 719.235, + 382.956, + 100.599, + 236.052 + ], + "area": 23746.595148, + "iscrowd": 0 + }, + { + "id": 283, + "image_id": 54, + "category_id": 0, + "bbox": [ + 932.476, + 415.668, + 104.798, + 104.798 + ], + "area": 10982.620804, + "iscrowd": 0 + }, + { + "id": 284, + "image_id": 54, + "category_id": 0, + "bbox": [ + 601.259, + 425.833, + 50.4711, + 85.5199 + ], + "area": 4316.283424890001, + "iscrowd": 0 + }, + { + "id": 285, + "image_id": 54, + "category_id": 0, + "bbox": [ + 455.805, + 425.132, + 47.6671, + 58.1819 + ], + "area": 2773.36244549, + "iscrowd": 0 + }, + { + "id": 286, + "image_id": 55, + "category_id": 1, + "bbox": [ + 684.093, + 214.337, + 120.494, + 359.325 + ], + "area": 43296.50655, + "iscrowd": 0 + }, + { + "id": 287, + "image_id": 55, + "category_id": 1, + "bbox": [ + 575.442, + 246.476, + 105.807, + 263.887 + ], + "area": 27921.091809, + "iscrowd": 0 + }, + { + "id": 288, + "image_id": 55, + "category_id": 0, + "bbox": [ + 719.007, + 262.179, + 79.4483, + 89.3793 + ], + "area": 7101.03344019, + "iscrowd": 0 + }, + { + "id": 289, + "image_id": 55, + "category_id": 0, + "bbox": [ + 573.138, + 277.017, + 58.8271, + 81.1426 + ], + "area": 4773.383844460001, + "iscrowd": 0 + }, + { + "id": 290, + "image_id": 56, + "category_id": 1, + "bbox": [ + 459.531, + 352.656, + 171.406, + 363.229 + ], + "area": 62259.629974, + "iscrowd": 0 + }, + { + "id": 291, + "image_id": 56, + "category_id": 1, + "bbox": [ + 967.843, + 390.96, + 111.388, + 140.725 + ], + "area": 15675.0763, + "iscrowd": 0 + }, + { + "id": 292, + "image_id": 56, + "category_id": 0, + "bbox": [ + 580.759, + 448.738, + 102.224, + 178.052 + ], + "area": 18201.187648, + "iscrowd": 0 + }, + { + "id": 293, + "image_id": 56, + "category_id": 1, + "bbox": [ + 779.792, + 401.013, + 140.662, + 288.299 + ], + "area": 40552.713938, + "iscrowd": 0 + }, + { + "id": 294, + "image_id": 56, + "category_id": 1, + "bbox": [ + 356.713, + 399.939, + 50.2823, + 118.742 + ], + "area": 5970.6208666, + "iscrowd": 0 + }, + { + "id": 295, + "image_id": 56, + "category_id": 1, + "bbox": [ + 1169.24, + 397.28, + 100.959, + 129.847 + ], + "area": 13109.223273000001, + "iscrowd": 0 + }, + { + "id": 296, + "image_id": 56, + "category_id": 1, + "bbox": [ + 616.717, + 384.331, + 63.5586, + 302.897 + ], + "area": 19251.7092642, + "iscrowd": 0 + }, + { + "id": 297, + "image_id": 56, + "category_id": 0, + "bbox": [ + 967.283, + 452.855, + 56.6069, + 79.4483 + ], + "area": 4497.321973270001, + "iscrowd": 0 + }, + { + "id": 298, + "image_id": 56, + "category_id": 0, + "bbox": [ + 823.283, + 423.062, + 54.6207, + 73.4897 + ], + "area": 4014.05885679, + "iscrowd": 0 + }, + { + "id": 299, + "image_id": 57, + "category_id": 1, + "bbox": [ + 888.219, + 328.735, + 182.69, + 386.925 + ], + "area": 70687.32825, + "iscrowd": 0 + }, + { + "id": 300, + "image_id": 57, + "category_id": 1, + "bbox": [ + 753.923, + 386.376, + 172.159, + 330.372 + ], + "area": 56876.513148, + "iscrowd": 0 + }, + { + "id": 301, + "image_id": 57, + "category_id": 1, + "bbox": [ + 419.376, + 356.521, + 85.3929, + 242.587 + ], + "area": 20715.207432299998, + "iscrowd": 0 + }, + { + "id": 302, + "image_id": 57, + "category_id": 1, + "bbox": [ + 638.08, + 372.62, + 159.546, + 345.022 + ], + "area": 55046.880011999994, + "iscrowd": 0 + }, + { + "id": 303, + "image_id": 57, + "category_id": 1, + "bbox": [ + 502.362, + 406.441, + 72.7383, + 213.677 + ], + "area": 15542.501729099999, + "iscrowd": 0 + }, + { + "id": 304, + "image_id": 57, + "category_id": 1, + "bbox": [ + 626.891, + 402.747, + 69.9309, + 224.817 + ], + "area": 15721.6551453, + "iscrowd": 0 + }, + { + "id": 305, + "image_id": 57, + "category_id": 0, + "bbox": [ + 502.51, + 417.103, + 51.6414, + 85.4069 + ], + "area": 4410.53188566, + "iscrowd": 0 + }, + { + "id": 306, + "image_id": 57, + "category_id": 0, + "bbox": [ + 661.407, + 457.821, + 72.4966, + 167.834 + ], + "area": 12167.394364400001, + "iscrowd": 0 + }, + { + "id": 307, + "image_id": 57, + "category_id": 0, + "bbox": [ + 673.324, + 425.048, + 26.8138, + 42.7034 + ], + "area": 1145.04042692, + "iscrowd": 0 + }, + { + "id": 308, + "image_id": 57, + "category_id": 0, + "bbox": [ + 940.469, + 413.131, + 110.234, + 122.152 + ], + "area": 13465.303568, + "iscrowd": 0 + }, + { + "id": 309, + "image_id": 58, + "category_id": 1, + "bbox": [ + 683.872, + 219.667, + 139.719, + 396.776 + ], + "area": 55437.145943999996, + "iscrowd": 0 + }, + { + "id": 310, + "image_id": 58, + "category_id": 1, + "bbox": [ + 584.647, + 263.587, + 108.487, + 290.913 + ], + "area": 31560.278631, + "iscrowd": 0 + }, + { + "id": 311, + "image_id": 58, + "category_id": 0, + "bbox": [ + 578.847, + 298.084, + 63.6486, + 93.3318 + ], + "area": 5940.43840548, + "iscrowd": 0 + }, + { + "id": 312, + "image_id": 58, + "category_id": 0, + "bbox": [ + 729.823, + 272.397, + 80.9016, + 87.2131 + ], + "area": 7055.67933096, + "iscrowd": 0 + }, + { + "id": 313, + "image_id": 59, + "category_id": 1, + "bbox": [ + 401.685, + 339.404, + 232.32, + 377.695 + ], + "area": 87746.10239999999, + "iscrowd": 0 + }, + { + "id": 314, + "image_id": 59, + "category_id": 1, + "bbox": [ + 773.435, + 393.917, + 89.5835, + 306.789 + ], + "area": 27483.232381499998, + "iscrowd": 0 + }, + { + "id": 315, + "image_id": 59, + "category_id": 1, + "bbox": [ + 582.168, + 381.07, + 72.9188, + 337.298 + ], + "area": 24595.365402400002, + "iscrowd": 0 + }, + { + "id": 316, + "image_id": 59, + "category_id": 1, + "bbox": [ + 947.934, + 393.384, + 73.2573, + 140.831 + ], + "area": 10316.8988163, + "iscrowd": 0 + }, + { + "id": 317, + "image_id": 59, + "category_id": 0, + "bbox": [ + 911.054, + 454.86, + 42.4358, + 81.1039 + ], + "area": 3441.70887962, + "iscrowd": 0 + }, + { + "id": 318, + "image_id": 59, + "category_id": 1, + "bbox": [ + 360.35, + 409.999, + 51.9655, + 109.005 + ], + "area": 5664.4993275, + "iscrowd": 0 + }, + { + "id": 319, + "image_id": 59, + "category_id": 1, + "bbox": [ + 1131.51, + 399.31, + 93.5493, + 123.978 + ], + "area": 11598.0551154, + "iscrowd": 0 + }, + { + "id": 320, + "image_id": 59, + "category_id": 0, + "bbox": [ + 541.241, + 436.966, + 112.221, + 184.717 + ], + "area": 20729.126457000002, + "iscrowd": 0 + }, + { + "id": 321, + "image_id": 59, + "category_id": 0, + "bbox": [ + 772.634, + 420.083, + 44.6897, + 81.4345 + ], + "area": 3639.28337465, + "iscrowd": 0 + }, + { + "id": 322, + "image_id": 60, + "category_id": 1, + "bbox": [ + 874.338, + 319.995, + 180.402, + 397.582 + ], + "area": 71724.58796399999, + "iscrowd": 0 + }, + { + "id": 323, + "image_id": 60, + "category_id": 1, + "bbox": [ + 615.994, + 364.903, + 227.299, + 351.686 + ], + "area": 79937.876114, + "iscrowd": 0 + }, + { + "id": 324, + "image_id": 60, + "category_id": 1, + "bbox": [ + 454.265, + 353.645, + 84.4915, + 262.569 + ], + "area": 22184.8486635, + "iscrowd": 0 + }, + { + "id": 325, + "image_id": 60, + "category_id": 1, + "bbox": [ + 535.029, + 407.291, + 77.5714, + 232.384 + ], + "area": 18026.352217599997, + "iscrowd": 0 + }, + { + "id": 326, + "image_id": 60, + "category_id": 1, + "bbox": [ + 973.118, + 388.698, + 235.268, + 327.464 + ], + "area": 77041.800352, + "iscrowd": 0 + }, + { + "id": 327, + "image_id": 60, + "category_id": 0, + "bbox": [ + 536.816, + 426.31, + 51.4081, + 63.1864 + ], + "area": 3248.29276984, + "iscrowd": 0 + }, + { + "id": 328, + "image_id": 60, + "category_id": 0, + "bbox": [ + 615.808, + 490.744, + 124.075, + 164.031 + ], + "area": 20352.146325, + "iscrowd": 0 + }, + { + "id": 329, + "image_id": 60, + "category_id": 0, + "bbox": [ + 903.734, + 421.634, + 145.084, + 123.624 + ], + "area": 17935.864416, + "iscrowd": 0 + }, + { + "id": 330, + "image_id": 61, + "category_id": 1, + "bbox": [ + 705.924, + 232.201, + 152.133, + 426.663 + ], + "area": 64909.52217900001, + "iscrowd": 0 + }, + { + "id": 331, + "image_id": 61, + "category_id": 1, + "bbox": [ + 566.806, + 285.171, + 129.502, + 331.452 + ], + "area": 42923.696904000004, + "iscrowd": 0 + }, + { + "id": 332, + "image_id": 61, + "category_id": 0, + "bbox": [ + 559.117, + 326.731, + 80.4414, + 103.283 + ], + "area": 8308.2291162, + "iscrowd": 0 + }, + { + "id": 333, + "image_id": 61, + "category_id": 0, + "bbox": [ + 751.779, + 289.986, + 96.331, + 129.103 + ], + "area": 12436.621093000002, + "iscrowd": 0 + }, + { + "id": 334, + "image_id": 62, + "category_id": 1, + "bbox": [ + 727.026, + 394.133, + 97.5408, + 320.783 + ], + "area": 31289.4304464, + "iscrowd": 0 + }, + { + "id": 335, + "image_id": 62, + "category_id": 1, + "bbox": [ + 425.12, + 342.882, + 234.182, + 373.671 + ], + "area": 87507.022122, + "iscrowd": 0 + }, + { + "id": 336, + "image_id": 62, + "category_id": 1, + "bbox": [ + 899.821, + 387.736, + 66.5535, + 147.687 + ], + "area": 9829.0867545, + "iscrowd": 0 + }, + { + "id": 337, + "image_id": 62, + "category_id": 0, + "bbox": [ + 868.65, + 446.673, + 47.4102, + 90.604 + ], + "area": 4295.5537608, + "iscrowd": 0 + }, + { + "id": 338, + "image_id": 62, + "category_id": 1, + "bbox": [ + 1089.69, + 395.641, + 89.3428, + 157.866 + ], + "area": 14104.1904648, + "iscrowd": 0 + }, + { + "id": 339, + "image_id": 62, + "category_id": 1, + "bbox": [ + 358.685, + 418.582, + 55.3171, + 100.336 + ], + "area": 5550.2965456, + "iscrowd": 0 + }, + { + "id": 340, + "image_id": 62, + "category_id": 0, + "bbox": [ + 563.544, + 452.439, + 117.575, + 190.223 + ], + "area": 22365.469225, + "iscrowd": 0 + }, + { + "id": 341, + "image_id": 62, + "category_id": 0, + "bbox": [ + 765.094, + 419.206, + 18.4267, + 26.5346 + ], + "area": 488.94511382, + "iscrowd": 0 + }, + { + "id": 342, + "image_id": 63, + "category_id": 1, + "bbox": [ + 828.302, + 313.367, + 197.495, + 401.173 + ], + "area": 79229.661635, + "iscrowd": 0 + }, + { + "id": 343, + "image_id": 63, + "category_id": 1, + "bbox": [ + 464.236, + 352.144, + 100.892, + 289.012 + ], + "area": 29158.998703999998, + "iscrowd": 0 + }, + { + "id": 344, + "image_id": 63, + "category_id": 1, + "bbox": [ + 536.629, + 359.909, + 240.467, + 355.67 + ], + "area": 85526.89789000001, + "iscrowd": 0 + }, + { + "id": 345, + "image_id": 63, + "category_id": 1, + "bbox": [ + 732.269, + 409.539, + 71.6517, + 124.495 + ], + "area": 8920.278391500002, + "iscrowd": 0 + }, + { + "id": 346, + "image_id": 63, + "category_id": 0, + "bbox": [ + 750.786, + 447.89, + 51.6414, + 66.5379 + ], + "area": 3436.1103090599995, + "iscrowd": 0 + }, + { + "id": 347, + "image_id": 63, + "category_id": 0, + "bbox": [ + 578.979, + 428.028, + 47.669, + 71.5034 + ], + "area": 3408.4955745999996, + "iscrowd": 0 + }, + { + "id": 348, + "image_id": 63, + "category_id": 0, + "bbox": [ + 837.186, + 426.041, + 159.89, + 147.972 + ], + "area": 23659.24308, + "iscrowd": 0 + }, + { + "id": 349, + "image_id": 64, + "category_id": 1, + "bbox": [ + 697.083, + 256.127, + 167.348, + 459.274 + ], + "area": 76858.58535200001, + "iscrowd": 0 + }, + { + "id": 350, + "image_id": 64, + "category_id": 1, + "bbox": [ + 575.549, + 313.864, + 127.863, + 375.617 + ], + "area": 48027.516471, + "iscrowd": 0 + }, + { + "id": 351, + "image_id": 64, + "category_id": 0, + "bbox": [ + 550.179, + 361.49, + 89.3793, + 118.179 + ], + "area": 10562.7562947, + "iscrowd": 0 + }, + { + "id": 352, + "image_id": 64, + "category_id": 0, + "bbox": [ + 744.828, + 320.772, + 110.234, + 148.966 + ], + "area": 16421.118044, + "iscrowd": 0 + }, + { + "id": 353, + "image_id": 65, + "category_id": 1, + "bbox": [ + 659.305, + 388.416, + 136.123, + 327.671 + ], + "area": 44603.55953299999, + "iscrowd": 0 + }, + { + "id": 354, + "image_id": 65, + "category_id": 1, + "bbox": [ + 449.088, + 330.393, + 234.081, + 384.839 + ], + "area": 90083.497959, + "iscrowd": 0 + }, + { + "id": 355, + "image_id": 65, + "category_id": 0, + "bbox": [ + 821.96, + 448.06, + 56.5715, + 109.844 + ], + "area": 6214.039846, + "iscrowd": 0 + }, + { + "id": 356, + "image_id": 65, + "category_id": 1, + "bbox": [ + 1026.51, + 392.583, + 85.2639, + 157.689 + ], + "area": 13445.1791271, + "iscrowd": 0 + }, + { + "id": 357, + "image_id": 65, + "category_id": 0, + "bbox": [ + 583.945, + 459.807, + 129.103, + 199.614 + ], + "area": 25770.766242, + "iscrowd": 0 + }, + { + "id": 358, + "image_id": 65, + "category_id": 1, + "bbox": [ + 838.179, + 380.359, + 68.5241, + 269.131 + ], + "area": 18441.9595571, + "iscrowd": 0 + }, + { + "id": 359, + "image_id": 65, + "category_id": 0, + "bbox": [ + 713.048, + 417.103, + 39.7241, + 51.6414 + ], + "area": 2051.40813774, + "iscrowd": 0 + }, + { + "id": 360, + "image_id": 66, + "category_id": 1, + "bbox": [ + 739.101, + 298.08, + 237.122, + 415.794 + ], + "area": 98593.904868, + "iscrowd": 0 + }, + { + "id": 361, + "image_id": 66, + "category_id": 1, + "bbox": [ + 478.304, + 347.57, + 83.6717, + 182.565 + ], + "area": 15275.5239105, + "iscrowd": 0 + }, + { + "id": 362, + "image_id": 66, + "category_id": 0, + "bbox": [ + 398.723, + 527.769, + 194.082, + 190.849 + ], + "area": 37040.355617999994, + "iscrowd": 0 + }, + { + "id": 363, + "image_id": 66, + "category_id": 1, + "bbox": [ + 498.172, + 357.107, + 218.228, + 357.703 + ], + "area": 78060.81028399999, + "iscrowd": 0 + }, + { + "id": 364, + "image_id": 66, + "category_id": 0, + "bbox": [ + 769.655, + 432.0, + 185.71, + 165.848 + ], + "area": 30799.632080000003, + "iscrowd": 0 + }, + { + "id": 365, + "image_id": 67, + "category_id": 1, + "bbox": [ + 697.788, + 288.916, + 190.766, + 425.156 + ], + "area": 81105.309496, + "iscrowd": 0 + }, + { + "id": 366, + "image_id": 67, + "category_id": 1, + "bbox": [ + 547.421, + 350.302, + 137.213, + 362.306 + ], + "area": 49713.093177999996, + "iscrowd": 0 + }, + { + "id": 367, + "image_id": 67, + "category_id": 0, + "bbox": [ + 510.262, + 402.194, + 81.3146, + 138.094 + ], + "area": 11229.058372399999, + "iscrowd": 0 + }, + { + "id": 368, + "image_id": 67, + "category_id": 0, + "bbox": [ + 755.608, + 368.547, + 130.033, + 137.394 + ], + "area": 17865.754001999998, + "iscrowd": 0 + }, + { + "id": 369, + "image_id": 68, + "category_id": 1, + "bbox": [ + 442.042, + 332.769, + 220.669, + 385.322 + ], + "area": 85028.620418, + "iscrowd": 0 + }, + { + "id": 370, + "image_id": 68, + "category_id": 1, + "bbox": [ + 956.792, + 393.571, + 103.877, + 141.862 + ], + "area": 14736.198973999999, + "iscrowd": 0 + }, + { + "id": 371, + "image_id": 68, + "category_id": 1, + "bbox": [ + 763.658, + 386.85, + 101.31, + 304.095 + ], + "area": 30807.864450000005, + "iscrowd": 0 + }, + { + "id": 372, + "image_id": 68, + "category_id": 0, + "bbox": [ + 609.979, + 463.011, + 124.789, + 205.926 + ], + "area": 25697.299614, + "iscrowd": 0 + }, + { + "id": 373, + "image_id": 68, + "category_id": 1, + "bbox": [ + 648.675, + 387.488, + 110.247, + 328.688 + ], + "area": 36236.865936, + "iscrowd": 0 + }, + { + "id": 374, + "image_id": 68, + "category_id": 1, + "bbox": [ + 362.979, + 408.632, + 52.5988, + 64.4489 + ], + "area": 3389.9348013199997, + "iscrowd": 0 + }, + { + "id": 375, + "image_id": 68, + "category_id": 0, + "bbox": [ + 658.428, + 417.103, + 41.7103, + 47.669 + ], + "area": 1988.2882906999996, + "iscrowd": 0 + }, + { + "id": 376, + "image_id": 68, + "category_id": 0, + "bbox": [ + 773.628, + 463.779, + 64.5517, + 92.3586 + ], + "area": 5961.904639619999, + "iscrowd": 0 + }, + { + "id": 377, + "image_id": 69, + "category_id": 1, + "bbox": [ + 632.449, + 275.308, + 267.955, + 439.083 + ], + "area": 117654.485265, + "iscrowd": 0 + }, + { + "id": 378, + "image_id": 69, + "category_id": 1, + "bbox": [ + 492.316, + 344.623, + 115.055, + 363.17 + ], + "area": 41784.52435000001, + "iscrowd": 0 + }, + { + "id": 379, + "image_id": 69, + "category_id": 1, + "bbox": [ + 302.227, + 341.68, + 255.058, + 371.823 + ], + "area": 94836.430734, + "iscrowd": 0 + }, + { + "id": 380, + "image_id": 69, + "category_id": 1, + "bbox": [ + 600.013, + 414.38, + 91.7275, + 277.361 + ], + "area": 25441.6311275, + "iscrowd": 0 + }, + { + "id": 381, + "image_id": 69, + "category_id": 0, + "bbox": [ + 130.18, + 566.207, + 228.469, + 152.338 + ], + "area": 34804.510522, + "iscrowd": 0 + }, + { + "id": 382, + "image_id": 69, + "category_id": 0, + "bbox": [ + 606.767, + 446.327, + 60.3268, + 77.3229 + ], + "area": 4664.64312372, + "iscrowd": 0 + }, + { + "id": 383, + "image_id": 69, + "category_id": 0, + "bbox": [ + 636.409, + 431.357, + 207.636, + 193.293 + ], + "area": 40134.585348, + "iscrowd": 0 + }, + { + "id": 384, + "image_id": 70, + "category_id": 1, + "bbox": [ + 667.385, + 331.268, + 238.32, + 384.079 + ], + "area": 91533.70728, + "iscrowd": 0 + }, + { + "id": 385, + "image_id": 70, + "category_id": 1, + "bbox": [ + 505.125, + 403.036, + 153.642, + 313.201 + ], + "area": 48120.828042, + "iscrowd": 0 + }, + { + "id": 386, + "image_id": 70, + "category_id": 0, + "bbox": [ + 446.926, + 463.853, + 116.466, + 161.991 + ], + "area": 18866.443806, + "iscrowd": 0 + }, + { + "id": 387, + "image_id": 70, + "category_id": 0, + "bbox": [ + 729.887, + 427.003, + 160.184, + 196.392 + ], + "area": 31458.856128, + "iscrowd": 0 + }, + { + "id": 388, + "image_id": 71, + "category_id": 1, + "bbox": [ + 699.813, + 385.274, + 120.208, + 305.323 + ], + "area": 36702.267184, + "iscrowd": 0 + }, + { + "id": 389, + "image_id": 71, + "category_id": 1, + "bbox": [ + 377.909, + 320.875, + 256.617, + 393.55 + ], + "area": 100991.62035000001, + "iscrowd": 0 + }, + { + "id": 390, + "image_id": 71, + "category_id": 1, + "bbox": [ + 929.898, + 391.447, + 82.87, + 144.2 + ], + "area": 11949.854, + "iscrowd": 0 + }, + { + "id": 391, + "image_id": 71, + "category_id": 1, + "bbox": [ + 639.416, + 387.248, + 92.7854, + 332.328 + ], + "area": 30835.186411199997, + "iscrowd": 0 + }, + { + "id": 392, + "image_id": 71, + "category_id": 0, + "bbox": [ + 569.152, + 456.504, + 135.989, + 221.691 + ], + "area": 30147.537399, + "iscrowd": 0 + }, + { + "id": 393, + "image_id": 71, + "category_id": 1, + "bbox": [ + 566.912, + 376.957, + 24.2483, + 52.403 + ], + "area": 1270.6836649, + "iscrowd": 0 + }, + { + "id": 394, + "image_id": 71, + "category_id": 0, + "bbox": [ + 631.614, + 414.124, + 51.6414, + 50.6483 + ], + "area": 2615.5491196199996, + "iscrowd": 0 + }, + { + "id": 395, + "image_id": 71, + "category_id": 0, + "bbox": [ + 742.841, + 449.876, + 63.5586, + 130.097 + ], + "area": 8268.7831842, + "iscrowd": 0 + }, + { + "id": 396, + "image_id": 72, + "category_id": 1, + "bbox": [ + 1.1277, + 284.087, + 245.17, + 427.946 + ], + "area": 104919.52082, + "iscrowd": 0 + }, + { + "id": 397, + "image_id": 72, + "category_id": 1, + "bbox": [ + 775.424, + 411.651, + 115.365, + 304.639 + ], + "area": 35144.678235, + "iscrowd": 0 + }, + { + "id": 398, + "image_id": 72, + "category_id": 1, + "bbox": [ + 404.933, + 234.909, + 325.57, + 479.781 + ], + "area": 156202.30017, + "iscrowd": 0 + }, + { + "id": 399, + "image_id": 72, + "category_id": 0, + "bbox": [ + 795.476, + 454.841, + 100.303, + 147.972 + ], + "area": 14842.035516, + "iscrowd": 0 + }, + { + "id": 400, + "image_id": 72, + "category_id": 0, + "bbox": [ + 400.221, + 415.117, + 276.083, + 249.269 + ], + "area": 68818.933327, + "iscrowd": 0 + }, + { + "id": 401, + "image_id": 73, + "category_id": 1, + "bbox": [ + 607.79, + 383.942, + 282.535, + 333.798 + ], + "area": 94309.61793000001, + "iscrowd": 0 + }, + { + "id": 402, + "image_id": 73, + "category_id": 1, + "bbox": [ + 382.818, + 467.372, + 214.031, + 249.988 + ], + "area": 53505.181628, + "iscrowd": 0 + }, + { + "id": 403, + "image_id": 73, + "category_id": 0, + "bbox": [ + 676.303, + 506.483, + 208.552, + 203.586 + ], + "area": 42458.267472, + "iscrowd": 0 + }, + { + "id": 404, + "image_id": 73, + "category_id": 0, + "bbox": [ + 381.352, + 525.352, + 92.3586, + 155.917 + ], + "area": 14400.275836199999, + "iscrowd": 0 + }, + { + "id": 420, + "image_id": 76, + "category_id": 1, + "bbox": [ + 548.988, + 465.436, + 341.712, + 252.24 + ], + "area": 86193.43488, + "iscrowd": 0 + }, + { + "id": 421, + "image_id": 76, + "category_id": 1, + "bbox": [ + 306.25, + 561.074, + 181.009, + 157.415 + ], + "area": 28493.531734999997, + "iscrowd": 0 + }, + { + "id": 422, + "image_id": 76, + "category_id": 0, + "bbox": [ + 618.703, + 607.779, + 270.124, + 112.221 + ], + "area": 30313.585404000005, + "iscrowd": 0 + }, + { + "id": 423, + "image_id": 76, + "category_id": 0, + "bbox": [ + 162.869, + 627.641, + 192.662, + 92.3586 + ], + "area": 17793.9925932, + "iscrowd": 0 + }, + { + "id": 424, + "image_id": 77, + "category_id": 0, + "bbox": [ + 658.401, + 466.266, + 139.199, + 248.41 + ], + "area": 34578.423590000006, + "iscrowd": 0 + }, + { + "id": 425, + "image_id": 77, + "category_id": 1, + "bbox": [ + 818.757, + 390.638, + 88.66, + 311.3 + ], + "area": 27599.858, + "iscrowd": 0 + }, + { + "id": 426, + "image_id": 77, + "category_id": 1, + "bbox": [ + 430.592, + 312.491, + 270.425, + 402.957 + ], + "area": 108969.646725, + "iscrowd": 0 + }, + { + "id": 427, + "image_id": 77, + "category_id": 1, + "bbox": [ + 664.047, + 379.783, + 68.4113, + 93.8456 + ], + "area": 6420.09949528, + "iscrowd": 0 + }, + { + "id": 428, + "image_id": 77, + "category_id": 1, + "bbox": [ + 1210.39, + 418.833, + 69.1312, + 156.81 + ], + "area": 10840.463472000001, + "iscrowd": 0 + }, + { + "id": 429, + "image_id": 77, + "category_id": 1, + "bbox": [ + 468.621, + 359.829, + 85.1994, + 92.8434 + ], + "area": 7910.20197396, + "iscrowd": 0 + }, + { + "id": 430, + "image_id": 78, + "category_id": 1, + "bbox": [ + 446.698, + 312.072, + 197.874, + 404.197 + ], + "area": 79980.07717799999, + "iscrowd": 0 + }, + { + "id": 431, + "image_id": 78, + "category_id": 1, + "bbox": [ + 789.65, + 413.725, + 160.106, + 302.763 + ], + "area": 48474.172878, + "iscrowd": 0 + }, + { + "id": 432, + "image_id": 78, + "category_id": 1, + "bbox": [ + 580.588, + 423.212, + 140.383, + 292.356 + ], + "area": 41041.812348, + "iscrowd": 0 + }, + { + "id": 433, + "image_id": 78, + "category_id": 0, + "bbox": [ + 821.976, + 474.949, + 124.826, + 191.12 + ], + "area": 23856.74512, + "iscrowd": 0 + }, + { + "id": 434, + "image_id": 78, + "category_id": 0, + "bbox": [ + 584.627, + 462.042, + 71.7925, + 127.797 + ], + "area": 9174.8661225, + "iscrowd": 0 + }, + { + "id": 435, + "image_id": 79, + "category_id": 1, + "bbox": [ + 454.58, + 305.421, + 303.809, + 409.618 + ], + "area": 124445.63496200001, + "iscrowd": 0 + }, + { + "id": 436, + "image_id": 79, + "category_id": 0, + "bbox": [ + 679.473, + 541.632, + 170.739, + 177.172 + ], + "area": 30250.170108000002, + "iscrowd": 0 + }, + { + "id": 437, + "image_id": 79, + "category_id": 0, + "bbox": [ + 411.251, + 503.19, + 67.5426, + 91.4699 + ], + "area": 6178.114867739999, + "iscrowd": 0 + }, + { + "id": 438, + "image_id": 79, + "category_id": 1, + "bbox": [ + 776.899, + 388.365, + 86.9788, + 315.604 + ], + "area": 27450.857195200002, + "iscrowd": 0 + }, + { + "id": 439, + "image_id": 79, + "category_id": 1, + "bbox": [ + 1142.26, + 414.617, + 87.696, + 109.26 + ], + "area": 9581.66496, + "iscrowd": 0 + }, + { + "id": 440, + "image_id": 79, + "category_id": 1, + "bbox": [ + 455.012, + 356.584, + 97.069, + 151.939 + ], + "area": 14748.566791, + "iscrowd": 0 + }, + { + "id": 441, + "image_id": 80, + "category_id": 1, + "bbox": [ + 529.998, + 425.647, + 174.469, + 291.831 + ], + "area": 50915.462739, + "iscrowd": 0 + }, + { + "id": 442, + "image_id": 80, + "category_id": 1, + "bbox": [ + 363.275, + 294.142, + 229.634, + 421.559 + ], + "area": 96804.279406, + "iscrowd": 0 + }, + { + "id": 443, + "image_id": 80, + "category_id": 1, + "bbox": [ + 802.316, + 417.409, + 201.773, + 302.591 + ], + "area": 61054.693843, + "iscrowd": 0 + }, + { + "id": 444, + "image_id": 80, + "category_id": 0, + "bbox": [ + 835.344, + 493.109, + 150.373, + 226.891 + ], + "area": 34118.280343, + "iscrowd": 0 + }, + { + "id": 445, + "image_id": 80, + "category_id": 0, + "bbox": [ + 526.345, + 460.8, + 119.172, + 193.655 + ], + "area": 23078.25366, + "iscrowd": 0 + }, + { + "id": 459, + "image_id": 83, + "category_id": 1, + "bbox": [ + 409.789, + 286.304, + 361.59, + 427.248 + ], + "area": 154488.60431999998, + "iscrowd": 0 + }, + { + "id": 460, + "image_id": 83, + "category_id": 1, + "bbox": [ + 941.495, + 405.229, + 87.2214, + 131.727 + ], + "area": 11489.4133578, + "iscrowd": 0 + }, + { + "id": 461, + "image_id": 83, + "category_id": 1, + "bbox": [ + 714.613, + 379.149, + 85.6523, + 339.304 + ], + "area": 29062.167999199995, + "iscrowd": 0 + }, + { + "id": 462, + "image_id": 83, + "category_id": 1, + "bbox": [ + 325.119, + 430.877, + 34.0065, + 42.9177 + ], + "area": 1459.4807650500002, + "iscrowd": 0 + }, + { + "id": 463, + "image_id": 83, + "category_id": 1, + "bbox": [ + 363.476, + 342.621, + 110.234, + 368.441 + ], + "area": 40614.725194, + "iscrowd": 0 + }, + { + "id": 464, + "image_id": 83, + "category_id": 0, + "bbox": [ + 303.89, + 518.4, + 126.124, + 138.041 + ], + "area": 17410.283084, + "iscrowd": 0 + }, + { + "id": 465, + "image_id": 83, + "category_id": 0, + "bbox": [ + 575.007, + 397.241, + 177.766, + 295.945 + ], + "area": 52608.958869999995, + "iscrowd": 0 + }, + { + "id": 466, + "image_id": 84, + "category_id": 1, + "bbox": [ + 159.971, + 254.861, + 314.801, + 460.269 + ], + "area": 144893.141469, + "iscrowd": 0 + }, + { + "id": 467, + "image_id": 84, + "category_id": 1, + "bbox": [ + 734.366, + 438.618, + 348.103, + 279.424 + ], + "area": 97268.33267199999, + "iscrowd": 0 + }, + { + "id": 468, + "image_id": 84, + "category_id": 1, + "bbox": [ + 368.82, + 431.624, + 257.768, + 285.593 + ], + "area": 73616.736424, + "iscrowd": 0 + }, + { + "id": 469, + "image_id": 84, + "category_id": 0, + "bbox": [ + 798.187, + 585.364, + 144.972, + 133.384 + ], + "area": 19336.945248, + "iscrowd": 0 + }, + { + "id": 470, + "image_id": 84, + "category_id": 0, + "bbox": [ + 366.455, + 517.407, + 146.979, + 202.593 + ], + "area": 29776.916547, + "iscrowd": 0 + }, + { + "id": 471, + "image_id": 85, + "category_id": 1, + "bbox": [ + 459.241, + 289.616, + 349.049, + 424.134 + ], + "area": 148043.54856599998, + "iscrowd": 0 + }, + { + "id": 472, + "image_id": 85, + "category_id": 1, + "bbox": [ + 822.044, + 405.306, + 110.073, + 311.386 + ], + "area": 34275.191178, + "iscrowd": 0 + }, + { + "id": 473, + "image_id": 85, + "category_id": 1, + "bbox": [ + 353.647, + 344.06, + 146.113, + 372.32 + ], + "area": 54400.79216, + "iscrowd": 0 + }, + { + "id": 474, + "image_id": 85, + "category_id": 1, + "bbox": [ + 325.33, + 432.291, + 35.1239, + 42.0126 + ], + "area": 1475.64636114, + "iscrowd": 0 + }, + { + "id": 475, + "image_id": 85, + "category_id": 1, + "bbox": [ + 690.084, + 381.598, + 79.3743, + 99.7745 + ], + "area": 7919.531095350001, + "iscrowd": 0 + }, + { + "id": 476, + "image_id": 85, + "category_id": 0, + "bbox": [ + 318.759, + 522.387, + 100.525, + 154.654 + ], + "area": 15546.593350000001, + "iscrowd": 0 + }, + { + "id": 477, + "image_id": 85, + "category_id": 0, + "bbox": [ + 629.785, + 419.285, + 158.091, + 271.503 + ], + "area": 42922.180773, + "iscrowd": 0 + }, + { + "id": 478, + "image_id": 86, + "category_id": 1, + "bbox": [ + 616.756, + 456.77, + 364.585, + 259.214 + ], + "area": 94505.53619, + "iscrowd": 0 + }, + { + "id": 479, + "image_id": 86, + "category_id": 1, + "bbox": [ + 205.276, + 244.599, + 305.319, + 466.937 + ], + "area": 142564.737903, + "iscrowd": 0 + }, + { + "id": 480, + "image_id": 86, + "category_id": 1, + "bbox": [ + 258.128, + 443.662, + 233.757, + 270.945 + ], + "area": 63335.290365, + "iscrowd": 0 + }, + { + "id": 481, + "image_id": 86, + "category_id": 0, + "bbox": [ + 137.805, + 526.976, + 152.657, + 190.795 + ], + "area": 29126.192315, + "iscrowd": 0 + }, + { + "id": 482, + "image_id": 87, + "category_id": 1, + "bbox": [ + 534.765, + 293.092, + 318.429, + 421.686 + ], + "area": 134277.05129399998, + "iscrowd": 0 + }, + { + "id": 483, + "image_id": 87, + "category_id": 1, + "bbox": [ + 341.191, + 342.141, + 193.485, + 374.148 + ], + "area": 72392.02578000001, + "iscrowd": 0 + }, + { + "id": 484, + "image_id": 87, + "category_id": 1, + "bbox": [ + 491.357, + 362.413, + 65.8282, + 96.9159 + ], + "area": 6379.799248379999, + "iscrowd": 0 + }, + { + "id": 485, + "image_id": 87, + "category_id": 1, + "bbox": [ + 499.97, + 370.801, + 108.315, + 347.907 + ], + "area": 37683.546705, + "iscrowd": 0 + }, + { + "id": 486, + "image_id": 87, + "category_id": 1, + "bbox": [ + 781.036, + 406.826, + 74.225, + 154.988 + ], + "area": 11503.984299999998, + "iscrowd": 0 + }, + { + "id": 487, + "image_id": 87, + "category_id": 1, + "bbox": [ + 324.536, + 432.214, + 31.9681, + 41.8689 + ], + "area": 1338.4691820899998, + "iscrowd": 0 + }, + { + "id": 488, + "image_id": 87, + "category_id": 0, + "bbox": [ + 685.698, + 418.298, + 177.593, + 296.142 + ], + "area": 52592.746205999996, + "iscrowd": 0 + }, + { + "id": 489, + "image_id": 87, + "category_id": 0, + "bbox": [ + 299.945, + 524.903, + 131.392, + 165.899 + ], + "area": 21797.801408, + "iscrowd": 0 + }, + { + "id": 490, + "image_id": 88, + "category_id": 1, + "bbox": [ + 452.127, + 231.396, + 351.674, + 488.604 + ], + "area": 171829.32309599998, + "iscrowd": 0 + }, + { + "id": 491, + "image_id": 89, + "category_id": 1, + "bbox": [ + 557.478, + 295.469, + 357.872, + 424.531 + ], + "area": 151927.758032, + "iscrowd": 0 + }, + { + "id": 492, + "image_id": 89, + "category_id": 1, + "bbox": [ + 273.592, + 334.233, + 200.018, + 385.767 + ], + "area": 77160.343806, + "iscrowd": 0 + }, + { + "id": 493, + "image_id": 89, + "category_id": 1, + "bbox": [ + 468.755, + 371.564, + 131.654, + 345.939 + ], + "area": 45544.253106000004, + "iscrowd": 0 + }, + { + "id": 494, + "image_id": 89, + "category_id": 0, + "bbox": [ + 223.902, + 532.693, + 153.237, + 173.873 + ], + "area": 26643.776900999997, + "iscrowd": 0 + }, + { + "id": 495, + "image_id": 89, + "category_id": 0, + "bbox": [ + 715.163, + 429.308, + 171.55, + 290.692 + ], + "area": 49868.212600000006, + "iscrowd": 0 + }, + { + "id": 496, + "image_id": 89, + "category_id": 1, + "bbox": [ + 499.531, + 418.097, + 93.3517, + 149.959 + ], + "area": 13998.9275803, + "iscrowd": 0 + }, + { + "id": 497, + "image_id": 89, + "category_id": 1, + "bbox": [ + 453.848, + 359.503, + 67.531, + 303.89 + ], + "area": 20521.995590000002, + "iscrowd": 0 + }, + { + "id": 498, + "image_id": 90, + "category_id": 1, + "bbox": [ + 781.432, + 145.408, + 347.772, + 574.592 + ], + "area": 199827.009024, + "iscrowd": 0 + }, + { + "id": 499, + "image_id": 91, + "category_id": 1, + "bbox": [ + 584.466, + 275.366, + 418.261, + 438.892 + ], + "area": 183571.406812, + "iscrowd": 0 + }, + { + "id": 500, + "image_id": 91, + "category_id": 1, + "bbox": [ + 216.398, + 328.902, + 236.114, + 387.089 + ], + "area": 91397.132146, + "iscrowd": 0 + }, + { + "id": 501, + "image_id": 91, + "category_id": 1, + "bbox": [ + 414.956, + 362.59, + 174.672, + 353.805 + ], + "area": 61799.82696, + "iscrowd": 0 + }, + { + "id": 502, + "image_id": 91, + "category_id": 0, + "bbox": [ + 158.07, + 551.572, + 179.787, + 167.318 + ], + "area": 30081.601266, + "iscrowd": 0 + }, + { + "id": 503, + "image_id": 91, + "category_id": 1, + "bbox": [ + 612.467, + 395.226, + 48.7488, + 80.3308 + ], + "area": 3916.03010304, + "iscrowd": 0 + }, + { + "id": 504, + "image_id": 91, + "category_id": 1, + "bbox": [ + 493.117, + 357.484, + 53.6309, + 83.9135 + ], + "area": 4500.356527149999, + "iscrowd": 0 + }, + { + "id": 505, + "image_id": 91, + "category_id": 0, + "bbox": [ + 784.439, + 430.454, + 200.191, + 285.251 + ], + "area": 57104.682941, + "iscrowd": 0 + }, + { + "id": 506, + "image_id": 91, + "category_id": 0, + "bbox": [ + 448.623, + 477.05, + 86.516, + 90.7544 + ], + "area": 7851.707670400001, + "iscrowd": 0 + }, + { + "id": 507, + "image_id": 92, + "category_id": 1, + "bbox": [ + 785.942, + 267.958, + 453.756, + 444.91 + ], + "area": 201880.58196, + "iscrowd": 0 + }, + { + "id": 508, + "image_id": 92, + "category_id": 1, + "bbox": [ + 653.339, + 365.921, + 156.943, + 350.323 + ], + "area": 54980.742589, + "iscrowd": 0 + }, + { + "id": 509, + "image_id": 92, + "category_id": 1, + "bbox": [ + 247.995, + 329.182, + 238.181, + 390.818 + ], + "area": 93085.422058, + "iscrowd": 0 + }, + { + "id": 510, + "image_id": 92, + "category_id": 1, + "bbox": [ + 433.114, + 357.469, + 148.709, + 358.548 + ], + "area": 53319.314532000004, + "iscrowd": 0 + }, + { + "id": 511, + "image_id": 92, + "category_id": 1, + "bbox": [ + 533.632, + 394.394, + 89.5194, + 323.646 + ], + "area": 28972.5957324, + "iscrowd": 0 + }, + { + "id": 512, + "image_id": 92, + "category_id": 0, + "bbox": [ + 188.697, + 566.095, + 191.913, + 152.051 + ], + "area": 29180.563563, + "iscrowd": 0 + }, + { + "id": 513, + "image_id": 92, + "category_id": 0, + "bbox": [ + 988.138, + 448.883, + 185.71, + 223.448 + ], + "area": 41496.528080000004, + "iscrowd": 0 + }, + { + "id": 514, + "image_id": 92, + "category_id": 0, + "bbox": [ + 470.731, + 453.848, + 82.4276, + 139.034 + ], + "area": 11460.2389384, + "iscrowd": 0 + }, + { + "id": 515, + "image_id": 93, + "category_id": 1, + "bbox": [ + 691.785, + 359.988, + 224.161, + 357.038 + ], + "area": 80033.995118, + "iscrowd": 0 + }, + { + "id": 516, + "image_id": 93, + "category_id": 1, + "bbox": [ + 262.63, + 323.739, + 280.601, + 391.396 + ], + "area": 109826.10899600001, + "iscrowd": 0 + }, + { + "id": 517, + "image_id": 93, + "category_id": 1, + "bbox": [ + 1089.64, + 270.318, + 189.819, + 441.917 + ], + "area": 83884.24302299999, + "iscrowd": 0 + }, + { + "id": 518, + "image_id": 93, + "category_id": 0, + "bbox": [ + 265.606, + 594.774, + 224.249, + 124.36 + ], + "area": 27887.605639999998, + "iscrowd": 0 + }, + { + "id": 519, + "image_id": 93, + "category_id": 1, + "bbox": [ + 494.968, + 354.496, + 110.962, + 361.542 + ], + "area": 40117.423404, + "iscrowd": 0 + }, + { + "id": 520, + "image_id": 93, + "category_id": 1, + "bbox": [ + 324.937, + 433.356, + 30.973, + 41.4443 + ], + "area": 1283.6543038999998, + "iscrowd": 0 + }, + { + "id": 521, + "image_id": 93, + "category_id": 0, + "bbox": [ + 511.018, + 426.25, + 95.001, + 155.851 + ], + "area": 14806.000851, + "iscrowd": 0 + }, + { + "id": 522, + "image_id": 94, + "category_id": 1, + "bbox": [ + 311.724, + 271.154, + 326.656, + 448.846 + ], + "area": 146618.238976, + "iscrowd": 0 + }, + { + "id": 523, + "image_id": 94, + "category_id": 1, + "bbox": [ + 751.388, + 344.086, + 198.658, + 371.669 + ], + "area": 73835.02020199999, + "iscrowd": 0 + }, + { + "id": 524, + "image_id": 94, + "category_id": 1, + "bbox": [ + 298.32, + 394.717, + 86.635, + 255.042 + ], + "area": 22095.563670000003, + "iscrowd": 0 + }, + { + "id": 525, + "image_id": 94, + "category_id": 1, + "bbox": [ + 355.135, + 344.901, + 126.244, + 173.889 + ], + "area": 21952.442916, + "iscrowd": 0 + }, + { + "id": 526, + "image_id": 94, + "category_id": 0, + "bbox": [ + 383.691, + 625.536, + 239.004, + 93.1782 + ], + "area": 22269.9625128, + "iscrowd": 0 + }, + { + "id": 527, + "image_id": 94, + "category_id": 1, + "bbox": [ + 369.192, + 405.875, + 51.9935, + 65.4025 + ], + "area": 3400.50488375, + "iscrowd": 0 + }, + { + "id": 528, + "image_id": 95, + "category_id": 1, + "bbox": [ + 182.773, + 385.249, + 172.924, + 331.361 + ], + "area": 57300.269564, + "iscrowd": 0 + }, + { + "id": 529, + "image_id": 95, + "category_id": 1, + "bbox": [ + 579.675, + 294.141, + 451.453, + 420.01 + ], + "area": 189614.77453, + "iscrowd": 0 + }, + { + "id": 530, + "image_id": 95, + "category_id": 1, + "bbox": [ + 387.92, + 346.275, + 241.362, + 369.906 + ], + "area": 89281.251972, + "iscrowd": 0 + }, + { + "id": 531, + "image_id": 95, + "category_id": 1, + "bbox": [ + 975.561, + 324.816, + 205.557, + 392.071 + ], + "area": 80592.938547, + "iscrowd": 0 + }, + { + "id": 532, + "image_id": 95, + "category_id": 1, + "bbox": [ + 325.16, + 433.202, + 33.8494, + 41.6055 + ], + "area": 1408.3212117, + "iscrowd": 0 + }, + { + "id": 533, + "image_id": 95, + "category_id": 1, + "bbox": [ + 340.778, + 396.678, + 106.567, + 320.029 + ], + "area": 34104.530442999996, + "iscrowd": 0 + }, + { + "id": 534, + "image_id": 95, + "category_id": 0, + "bbox": [ + 382.477, + 451.679, + 141.451, + 245.43 + ], + "area": 34716.31893, + "iscrowd": 0 + }, + { + "id": 541, + "image_id": 97, + "category_id": 1, + "bbox": [ + 0.481071, + 354.952, + 253.791, + 359.833 + ], + "area": 91322.37690300001, + "iscrowd": 0 + }, + { + "id": 542, + "image_id": 97, + "category_id": 1, + "bbox": [ + 354.933, + 335.135, + 250.489, + 379.818 + ], + "area": 95140.231002, + "iscrowd": 0 + }, + { + "id": 543, + "image_id": 97, + "category_id": 1, + "bbox": [ + 283.915, + 327.964, + 174.632, + 388.756 + ], + "area": 67889.237792, + "iscrowd": 0 + }, + { + "id": 544, + "image_id": 98, + "category_id": 1, + "bbox": [ + 278.115, + 324.61, + 300.785, + 390.954 + ], + "area": 117593.09889000001, + "iscrowd": 0 + }, + { + "id": 545, + "image_id": 98, + "category_id": 1, + "bbox": [ + 0.642052, + 341.756, + 216.543, + 373.108 + ], + "area": 80793.925644, + "iscrowd": 0 + }, + { + "id": 546, + "image_id": 98, + "category_id": 1, + "bbox": [ + 325.01, + 432.775, + 28.202, + 40.655 + ], + "area": 1146.55231, + "iscrowd": 0 + }, + { + "id": 547, + "image_id": 99, + "category_id": 1, + "bbox": [ + 0.783691, + 334.988, + 269.952, + 377.295 + ], + "area": 101851.53984, + "iscrowd": 0 + }, + { + "id": 548, + "image_id": 99, + "category_id": 1, + "bbox": [ + 314.105, + 315.774, + 329.625, + 399.044 + ], + "area": 131534.8785, + "iscrowd": 0 + }, + { + "id": 549, + "image_id": 100, + "category_id": 1, + "bbox": [ + 477.238, + 304.148, + 335.909, + 410.846 + ], + "area": 138006.869014, + "iscrowd": 0 + }, + { + "id": 550, + "image_id": 100, + "category_id": 1, + "bbox": [ + 1.0895, + 339.435, + 466.121, + 373.847 + ], + "area": 174257.937487, + "iscrowd": 0 + }, + { + "id": 551, + "image_id": 100, + "category_id": 1, + "bbox": [ + 374.898, + 325.155, + 140.427, + 390.009 + ], + "area": 54767.793843, + "iscrowd": 0 + }, + { + "id": 552, + "image_id": 100, + "category_id": 0, + "bbox": [ + 392.848, + 464.516, + 123.429, + 248.184 + ], + "area": 30633.102936, + "iscrowd": 0 + }, + { + "id": 553, + "image_id": 101, + "category_id": 1, + "bbox": [ + 571.6, + 362.686, + 480.371, + 352.44 + ], + "area": 169301.95523999998, + "iscrowd": 0 + }, + { + "id": 554, + "image_id": 101, + "category_id": 1, + "bbox": [ + 263.837, + 313.494, + 279.187, + 401.143 + ], + "area": 111993.910741, + "iscrowd": 0 + }, + { + "id": 555, + "image_id": 101, + "category_id": 1, + "bbox": [ + 689.399, + 322.919, + 192.903, + 273.788 + ], + "area": 52814.526564, + "iscrowd": 0 + }, + { + "id": 556, + "image_id": 101, + "category_id": 0, + "bbox": [ + 379.364, + 471.849, + 176.882, + 246.02 + ], + "area": 43516.509640000004, + "iscrowd": 0 + }, + { + "id": 557, + "image_id": 102, + "category_id": 1, + "bbox": [ + 945.105, + 316.137, + 284.256, + 398.257 + ], + "area": 113206.94179199998, + "iscrowd": 0 + }, + { + "id": 558, + "image_id": 102, + "category_id": 0, + "bbox": [ + 486.518, + 485.6, + 155.139, + 232.523 + ], + "area": 36073.385697000005, + "iscrowd": 0 + }, + { + "id": 559, + "image_id": 102, + "category_id": 0, + "bbox": [ + 1139.87, + 494.115, + 139.674, + 223.288 + ], + "area": 31187.528112000004, + "iscrowd": 0 + }, + { + "id": 560, + "image_id": 102, + "category_id": 1, + "bbox": [ + 324.849, + 307.343, + 259.17, + 407.08 + ], + "area": 105502.92360000001, + "iscrowd": 0 + }, + { + "id": 561, + "image_id": 102, + "category_id": 1, + "bbox": [ + 324.944, + 434.282, + 31.7993, + 40.6506 + ], + "area": 1292.6606245799999, + "iscrowd": 0 + }, + { + "id": 562, + "image_id": 103, + "category_id": 1, + "bbox": [ + 425.829, + 303.689, + 229.023, + 410.379 + ], + "area": 93986.22971700001, + "iscrowd": 0 + }, + { + "id": 563, + "image_id": 103, + "category_id": 0, + "bbox": [ + 615.382, + 495.815, + 121.988, + 221.973 + ], + "area": 27078.042324000002, + "iscrowd": 0 + }, + { + "id": 564, + "image_id": 103, + "category_id": 1, + "bbox": [ + 325.223, + 434.045, + 32.1088, + 41.1929 + ], + "area": 1322.6545875200002, + "iscrowd": 0 + }, + { + "id": 565, + "image_id": 104, + "category_id": 1, + "bbox": [ + 562.65, + 289.678, + 224.846, + 424.319 + ], + "area": 95406.42987400001, + "iscrowd": 0 + }, + { + "id": 566, + "image_id": 104, + "category_id": 0, + "bbox": [ + 748.639, + 498.531, + 128.725, + 219.667 + ], + "area": 28276.634575, + "iscrowd": 0 + }, + { + "id": 567, + "image_id": 104, + "category_id": 1, + "bbox": [ + 324.697, + 433.048, + 33.6344, + 42.2497 + ], + "area": 1421.0433096799998, + "iscrowd": 0 + }, + { + "id": 571, + "image_id": 106, + "category_id": 1, + "bbox": [ + 1105.74, + 294.998, + 173.612, + 418.303 + ], + "area": 72622.420436, + "iscrowd": 0 + }, + { + "id": 572, + "image_id": 106, + "category_id": 1, + "bbox": [ + 324.741, + 432.974, + 33.3784, + 42.3313 + ], + "area": 1412.95106392, + "iscrowd": 0 + }, + { + "id": 573, + "image_id": 107, + "category_id": 1, + "bbox": [ + 324.644, + 432.961, + 33.6964, + 42.4445 + ], + "area": 1430.2268497999999, + "iscrowd": 0 + }, + { + "id": 574, + "image_id": 108, + "category_id": 1, + "bbox": [ + 324.76, + 433.053, + 33.4347, + 42.3407 + ], + "area": 1415.6486022899999, + "iscrowd": 0 + }, + { + "id": 576, + "image_id": 110, + "category_id": 1, + "bbox": [ + 324.513, + 433.293, + 34.012, + 42.0978 + ], + "area": 1431.8303736, + "iscrowd": 0 + }, + { + "id": 577, + "image_id": 111, + "category_id": 1, + "bbox": [ + 324.535, + 433.225, + 33.687, + 42.1068 + ], + "area": 1418.4517715999998, + "iscrowd": 0 + }, + { + "id": 578, + "image_id": 112, + "category_id": 1, + "bbox": [ + 324.55, + 433.366, + 33.7277, + 41.9838 + ], + "area": 1416.0170112600001, + "iscrowd": 0 + }, + { + "id": 579, + "image_id": 112, + "category_id": 1, + "bbox": [ + 1155.08, + 389.647, + 122.068, + 124.404 + ], + "area": 15185.747472, + "iscrowd": 0 + }, + { + "id": 580, + "image_id": 112, + "category_id": 1, + "bbox": [ + 1115.26, + 431.007, + 8.93793, + 0.993103 + ], + "area": 8.87628509679, + "iscrowd": 0 + }, + { + "id": 581, + "image_id": 112, + "category_id": 0, + "bbox": [ + 1133.13, + 442.924, + 51.6414, + 83.4207 + ], + "area": 4307.96173698, + "iscrowd": 0 + }, + { + "id": 582, + "image_id": 113, + "category_id": 1, + "bbox": [ + 324.503, + 433.235, + 33.92, + 42.0531 + ], + "area": 1426.441152, + "iscrowd": 0 + }, + { + "id": 583, + "image_id": 113, + "category_id": 1, + "bbox": [ + 1035.21, + 391.943, + 139.654, + 129.352 + ], + "area": 18064.524208, + "iscrowd": 0 + }, + { + "id": 584, + "image_id": 113, + "category_id": 0, + "bbox": [ + 1027.26, + 448.472, + 62.6919, + 70.9048 + ], + "area": 4445.1566311199995, + "iscrowd": 0 + }, + { + "id": 585, + "image_id": 114, + "category_id": 1, + "bbox": [ + 976.721, + 389.418, + 112.43, + 142.263 + ], + "area": 15994.629090000002, + "iscrowd": 0 + }, + { + "id": 586, + "image_id": 114, + "category_id": 1, + "bbox": [ + 324.619, + 433.375, + 33.5945, + 41.8164 + ], + "area": 1404.8010497999999, + "iscrowd": 0 + }, + { + "id": 587, + "image_id": 114, + "category_id": 0, + "bbox": [ + 973.241, + 443.917, + 62.5655, + 86.4 + ], + "area": 5405.6592, + "iscrowd": 0 + }, + { + "id": 588, + "image_id": 115, + "category_id": 1, + "bbox": [ + 962.853, + 388.125, + 117.813, + 146.04 + ], + "area": 17205.410519999998, + "iscrowd": 0 + }, + { + "id": 589, + "image_id": 115, + "category_id": 1, + "bbox": [ + 324.762, + 433.307, + 32.6664, + 41.8221 + ], + "area": 1366.1774474400002, + "iscrowd": 0 + }, + { + "id": 590, + "image_id": 115, + "category_id": 0, + "bbox": [ + 958.894, + 447.263, + 77.5855, + 80.6138 + ], + "area": 6254.461979899999, + "iscrowd": 0 + }, + { + "id": 591, + "image_id": 116, + "category_id": 1, + "bbox": [ + 890.803, + 387.447, + 138.633, + 150.565 + ], + "area": 20873.277645000002, + "iscrowd": 0 + }, + { + "id": 592, + "image_id": 116, + "category_id": 1, + "bbox": [ + 660.594, + 400.439, + 139.601, + 316.791 + ], + "area": 44224.340391, + "iscrowd": 0 + }, + { + "id": 593, + "image_id": 116, + "category_id": 1, + "bbox": [ + 773.915, + 389.881, + 92.5328, + 285.309 + ], + "area": 26400.4406352, + "iscrowd": 0 + }, + { + "id": 594, + "image_id": 116, + "category_id": 1, + "bbox": [ + 1153.66, + 397.067, + 115.402, + 116.784 + ], + "area": 13477.107168, + "iscrowd": 0 + }, + { + "id": 595, + "image_id": 116, + "category_id": 1, + "bbox": [ + 324.63, + 433.466, + 34.0718, + 41.6741 + ], + "area": 1419.9116003800002, + "iscrowd": 0 + }, + { + "id": 596, + "image_id": 116, + "category_id": 0, + "bbox": [ + 681.269, + 424.055, + 109.241, + 120.166 + ], + "area": 13127.054006, + "iscrowd": 0 + }, + { + "id": 597, + "image_id": 116, + "category_id": 0, + "bbox": [ + 760.717, + 422.069, + 65.5448, + 78.4552 + ], + "area": 5142.33039296, + "iscrowd": 0 + }, + { + "id": 598, + "image_id": 116, + "category_id": 0, + "bbox": [ + 1147.03, + 461.793, + 48.6621, + 66.5379 + ], + "area": 3237.8739435899997, + "iscrowd": 0 + }, + { + "id": 609, + "image_id": 118, + "category_id": 1, + "bbox": [ + 553.917, + 394.657, + 163.273, + 322.765 + ], + "area": 52698.809844999996, + "iscrowd": 0 + }, + { + "id": 610, + "image_id": 118, + "category_id": 1, + "bbox": [ + 715.717, + 383.023, + 99.2937, + 321.522 + ], + "area": 31925.1090114, + "iscrowd": 0 + }, + { + "id": 611, + "image_id": 118, + "category_id": 1, + "bbox": [ + 882.449, + 387.036, + 101.956, + 156.403 + ], + "area": 15946.224268, + "iscrowd": 0 + }, + { + "id": 612, + "image_id": 118, + "category_id": 1, + "bbox": [ + 324.69, + 433.542, + 34.0786, + 41.7094 + ], + "area": 1421.3979588400002, + "iscrowd": 0 + }, + { + "id": 613, + "image_id": 118, + "category_id": 1, + "bbox": [ + 1187.3, + 395.978, + 83.4119, + 168.778 + ], + "area": 14078.0936582, + "iscrowd": 0 + }, + { + "id": 614, + "image_id": 118, + "category_id": 0, + "bbox": [ + 628.817, + 433.331, + 80.9641, + 125.3 + ], + "area": 10144.80173, + "iscrowd": 0 + }, + { + "id": 615, + "image_id": 118, + "category_id": 0, + "bbox": [ + 714.793, + 419.065, + 62.8435, + 79.4211 + ], + "area": 4991.099897849999, + "iscrowd": 0 + }, + { + "id": 616, + "image_id": 118, + "category_id": 0, + "bbox": [ + 1152.39, + 461.86, + 64.3857, + 50.1205 + ], + "area": 3227.04347685, + "iscrowd": 0 + }, + { + "id": 617, + "image_id": 119, + "category_id": 1, + "bbox": [ + 540.87, + 386.168, + 173.667, + 330.684 + ], + "area": 57428.898228000005, + "iscrowd": 0 + }, + { + "id": 618, + "image_id": 119, + "category_id": 1, + "bbox": [ + 700.241, + 378.262, + 113.068, + 338.825 + ], + "area": 38310.2651, + "iscrowd": 0 + }, + { + "id": 619, + "image_id": 119, + "category_id": 1, + "bbox": [ + 821.794, + 381.444, + 129.542, + 334.699 + ], + "area": 43357.577858000004, + "iscrowd": 0 + }, + { + "id": 620, + "image_id": 119, + "category_id": 1, + "bbox": [ + 324.568, + 433.869, + 32.7268, + 41.1823 + ], + "area": 1347.7648956399998, + "iscrowd": 0 + }, + { + "id": 621, + "image_id": 119, + "category_id": 1, + "bbox": [ + 1094.34, + 400.44, + 143.804, + 115.049 + ], + "area": 16544.506396, + "iscrowd": 0 + }, + { + "id": 622, + "image_id": 119, + "category_id": 0, + "bbox": [ + 598.841, + 422.069, + 102.29, + 147.972 + ], + "area": 15136.055880000002, + "iscrowd": 0 + }, + { + "id": 623, + "image_id": 119, + "category_id": 0, + "bbox": [ + 696.166, + 420.083, + 96.331, + 84.4138 + ], + "area": 8131.6657678, + "iscrowd": 0 + }, + { + "id": 624, + "image_id": 119, + "category_id": 0, + "bbox": [ + 1086.46, + 479.669, + 83.4207, + 41.7103 + ], + "area": 3479.5024232099995, + "iscrowd": 0 + }, + { + "id": 625, + "image_id": 119, + "category_id": 1, + "bbox": [ + 1223.39, + 391.283, + 56.6069, + 86.4 + ], + "area": 4890.836160000001, + "iscrowd": 0 + }, + { + "id": 626, + "image_id": 120, + "category_id": 1, + "bbox": [ + 504.725, + 378.556, + 185.794, + 338.215 + ], + "area": 62838.317709999996, + "iscrowd": 0 + }, + { + "id": 627, + "image_id": 120, + "category_id": 1, + "bbox": [ + 684.668, + 381.286, + 106.353, + 336.909 + ], + "area": 35831.282877, + "iscrowd": 0 + }, + { + "id": 628, + "image_id": 120, + "category_id": 1, + "bbox": [ + 777.655, + 384.353, + 108.808, + 333.965 + ], + "area": 36338.06372, + "iscrowd": 0 + }, + { + "id": 629, + "image_id": 120, + "category_id": 1, + "bbox": [ + 1130.99, + 399.199, + 95.7645, + 121.101 + ], + "area": 11597.1767145, + "iscrowd": 0 + }, + { + "id": 630, + "image_id": 120, + "category_id": 1, + "bbox": [ + 1212.25, + 397.924, + 67.3513, + 99.681 + ], + "area": 6713.644935299999, + "iscrowd": 0 + }, + { + "id": 631, + "image_id": 120, + "category_id": 1, + "bbox": [ + 324.747, + 433.833, + 32.2148, + 41.1494 + ], + "area": 1325.61969112, + "iscrowd": 0 + }, + { + "id": 632, + "image_id": 120, + "category_id": 1, + "bbox": [ + 869.513, + 401.179, + 48.0912, + 128.207 + ], + "area": 6165.6284784, + "iscrowd": 0 + }, + { + "id": 633, + "image_id": 120, + "category_id": 0, + "bbox": [ + 591.926, + 428.768, + 82.8588, + 152.144 + ], + "area": 12606.4692672, + "iscrowd": 0 + }, + { + "id": 634, + "image_id": 120, + "category_id": 0, + "bbox": [ + 672.35, + 419.506, + 80.7982, + 103.707 + ], + "area": 8379.338927399998, + "iscrowd": 0 + }, + { + "id": 635, + "image_id": 121, + "category_id": 1, + "bbox": [ + 4.90526, + 376.98, + 84.2031, + 221.043 + ], + "area": 18612.5058333, + "iscrowd": 0 + }, + { + "id": 636, + "image_id": 121, + "category_id": 0, + "bbox": [ + 64.3227, + 403.103, + 24.6819, + 32.3483 + ], + "area": 798.41750577, + "iscrowd": 0 + }, + { + "id": 637, + "image_id": 121, + "category_id": 1, + "bbox": [ + 0.0, + 346.393, + 14.5095, + 105.953 + ], + "area": 1537.3250535, + "iscrowd": 0 + }, + { + "id": 638, + "image_id": 122, + "category_id": 1, + "bbox": [ + 524.371, + 383.355, + 204.274, + 332.688 + ], + "area": 67959.508512, + "iscrowd": 0 + }, + { + "id": 639, + "image_id": 122, + "category_id": 1, + "bbox": [ + 752.14, + 379.04, + 121.172, + 338.528 + ], + "area": 41020.114816, + "iscrowd": 0 + }, + { + "id": 640, + "image_id": 122, + "category_id": 1, + "bbox": [ + 1130.5, + 399.132, + 81.8765, + 123.53 + ], + "area": 10114.204044999999, + "iscrowd": 0 + }, + { + "id": 641, + "image_id": 122, + "category_id": 1, + "bbox": [ + 680.216, + 376.923, + 90.0566, + 339.567 + ], + "area": 30580.2494922, + "iscrowd": 0 + }, + { + "id": 642, + "image_id": 122, + "category_id": 1, + "bbox": [ + 324.501, + 433.948, + 31.0652, + 40.8287 + ], + "area": 1268.35173124, + "iscrowd": 0 + }, + { + "id": 643, + "image_id": 122, + "category_id": 1, + "bbox": [ + 1188.25, + 398.564, + 84.4399, + 124.421 + ], + "area": 10506.0967979, + "iscrowd": 0 + }, + { + "id": 644, + "image_id": 122, + "category_id": 0, + "bbox": [ + 605.793, + 428.028, + 116.193, + 182.731 + ], + "area": 21232.063082999997, + "iscrowd": 0 + }, + { + "id": 645, + "image_id": 122, + "category_id": 0, + "bbox": [ + 1048.72, + 464.772, + 89.3793, + 65.5448 + ], + "area": 5858.34834264, + "iscrowd": 0 + }, + { + "id": 646, + "image_id": 123, + "category_id": 1, + "bbox": [ + 0.0779653, + 341.772, + 71.9744, + 239.949 + ], + "area": 17270.1853056, + "iscrowd": 0 + }, + { + "id": 647, + "image_id": 123, + "category_id": 1, + "bbox": [ + 79.9045, + 373.747, + 41.3521, + 74.503 + ], + "area": 3080.8555063, + "iscrowd": 0 + }, + { + "id": 648, + "image_id": 123, + "category_id": 0, + "bbox": [ + 134.816, + 413.531, + 21.7437, + 30.8343 + ], + "area": 670.4517689099999, + "iscrowd": 0 + }, + { + "id": 657, + "image_id": 125, + "category_id": 1, + "bbox": [ + 25.8426, + 345.169, + 94.913, + 257.74 + ], + "area": 24462.87662, + "iscrowd": 0 + }, + { + "id": 658, + "image_id": 125, + "category_id": 1, + "bbox": [ + 151.426, + 381.246, + 54.7355, + 71.564 + ], + "area": 3917.0913219999998, + "iscrowd": 0 + }, + { + "id": 659, + "image_id": 125, + "category_id": 0, + "bbox": [ + 167.915, + 412.014, + 34.6771, + 40.6267 + ], + "area": 1408.81613857, + "iscrowd": 0 + }, + { + "id": 666, + "image_id": 127, + "category_id": 1, + "bbox": [ + 205.3, + 381.609, + 67.4446, + 199.228 + ], + "area": 13436.8527688, + "iscrowd": 0 + }, + { + "id": 667, + "image_id": 127, + "category_id": 1, + "bbox": [ + 87.3025, + 346.601, + 92.9011, + 100.54 + ], + "area": 9340.276594, + "iscrowd": 0 + }, + { + "id": 668, + "image_id": 127, + "category_id": 1, + "bbox": [ + 0.105379, + 370.792, + 64.914, + 233.422 + ], + "area": 15152.355708000001, + "iscrowd": 0 + }, + { + "id": 669, + "image_id": 127, + "category_id": 0, + "bbox": [ + 221.462, + 415.117, + 62.5655, + 80.4414 + ], + "area": 5032.8564117000005, + "iscrowd": 0 + }, + { + "id": 670, + "image_id": 128, + "category_id": 1, + "bbox": [ + 716.299, + 374.635, + 286.013, + 340.631 + ], + "area": 97424.89420299999, + "iscrowd": 0 + }, + { + "id": 671, + "image_id": 128, + "category_id": 1, + "bbox": [ + 625.351, + 359.635, + 164.768, + 357.615 + ], + "area": 58923.50832, + "iscrowd": 0 + }, + { + "id": 672, + "image_id": 128, + "category_id": 1, + "bbox": [ + 1133.99, + 398.216, + 92.3538, + 124.506 + ], + "area": 11498.6022228, + "iscrowd": 0 + }, + { + "id": 673, + "image_id": 128, + "category_id": 1, + "bbox": [ + 988.532, + 397.671, + 138.781, + 149.911 + ], + "area": 20804.798491, + "iscrowd": 0 + }, + { + "id": 674, + "image_id": 128, + "category_id": 1, + "bbox": [ + 324.613, + 433.676, + 33.8127, + 41.6 + ], + "area": 1406.60832, + "iscrowd": 0 + }, + { + "id": 675, + "image_id": 128, + "category_id": 0, + "bbox": [ + 984.166, + 505.49, + 99.3103, + 34.7586 + ], + "area": 3451.88699358, + "iscrowd": 0 + }, + { + "id": 676, + "image_id": 128, + "category_id": 0, + "bbox": [ + 615.724, + 410.152, + 105.269, + 151.945 + ], + "area": 15995.098205, + "iscrowd": 0 + }, + { + "id": 677, + "image_id": 128, + "category_id": 0, + "bbox": [ + 859.034, + 444.91, + 137.048, + 258.207 + ], + "area": 35386.752936, + "iscrowd": 0 + }, + { + "id": 678, + "image_id": 128, + "category_id": 1, + "bbox": [ + 684.248, + 369.434, + 37.7379, + 68.5241 + ], + "area": 2585.9556333900005, + "iscrowd": 0 + }, + { + "id": 679, + "image_id": 128, + "category_id": 1, + "bbox": [ + 760.717, + 395.255, + 24.8276, + 56.6069 + ], + "area": 1405.41347044, + "iscrowd": 0 + }, + { + "id": 680, + "image_id": 129, + "category_id": 1, + "bbox": [ + 28.1537, + 373.663, + 79.9606, + 231.822 + ], + "area": 18536.6262132, + "iscrowd": 0 + }, + { + "id": 681, + "image_id": 129, + "category_id": 1, + "bbox": [ + 155.276, + 348.869, + 63.6988, + 204.808 + ], + "area": 13046.0238304, + "iscrowd": 0 + }, + { + "id": 682, + "image_id": 129, + "category_id": 1, + "bbox": [ + 283.952, + 388.041, + 63.1422, + 79.7549 + ], + "area": 5035.89984678, + "iscrowd": 0 + }, + { + "id": 683, + "image_id": 129, + "category_id": 0, + "bbox": [ + 282.964, + 413.696, + 41.5622, + 53.2597 + ], + "area": 2213.59030334, + "iscrowd": 0 + }, + { + "id": 684, + "image_id": 129, + "category_id": 0, + "bbox": [ + 57.7199, + 424.915, + 46.6767, + 20.7786 + ], + "area": 969.87647862, + "iscrowd": 0 + }, + { + "id": 685, + "image_id": 130, + "category_id": 1, + "bbox": [ + 847.448, + 366.439, + 358.809, + 347.707 + ], + "area": 124760.40096300001, + "iscrowd": 0 + }, + { + "id": 686, + "image_id": 130, + "category_id": 1, + "bbox": [ + 585.337, + 368.819, + 130.102, + 346.514 + ], + "area": 45082.164428000004, + "iscrowd": 0 + }, + { + "id": 687, + "image_id": 130, + "category_id": 1, + "bbox": [ + 639.632, + 351.899, + 186.408, + 364.839 + ], + "area": 68008.908312, + "iscrowd": 0 + }, + { + "id": 688, + "image_id": 130, + "category_id": 1, + "bbox": [ + 324.673, + 433.533, + 34.0204, + 41.6838 + ], + "area": 1418.09954952, + "iscrowd": 0 + }, + { + "id": 689, + "image_id": 130, + "category_id": 1, + "bbox": [ + 1128.79, + 399.732, + 79.2876, + 121.478 + ], + "area": 9631.6990728, + "iscrowd": 0 + }, + { + "id": 690, + "image_id": 130, + "category_id": 0, + "bbox": [ + 612.745, + 436.966, + 157.903, + 157.903 + ], + "area": 24933.357408999997, + "iscrowd": 0 + }, + { + "id": 691, + "image_id": 131, + "category_id": 1, + "bbox": [ + 206.793, + 353.104, + 101.373, + 227.288 + ], + "area": 23040.866424000003, + "iscrowd": 0 + }, + { + "id": 692, + "image_id": 131, + "category_id": 1, + "bbox": [ + 93.68, + 392.906, + 74.0813, + 58.9662 + ], + "area": 4368.29275206, + "iscrowd": 0 + }, + { + "id": 693, + "image_id": 131, + "category_id": 0, + "bbox": [ + 13.0806, + 413.125, + 34.3367, + 82.3486 + ], + "area": 2827.5791736200003, + "iscrowd": 0 + }, + { + "id": 694, + "image_id": 132, + "category_id": 1, + "bbox": [ + 0.326171, + 255.056, + 73.3967, + 232.328 + ], + "area": 17052.108517599998, + "iscrowd": 0 + }, + { + "id": 695, + "image_id": 132, + "category_id": 0, + "bbox": [ + 39.7241, + 286.014, + 37.7379, + 43.6966 + ], + "area": 1649.01792114, + "iscrowd": 0 + }, + { + "id": 696, + "image_id": 133, + "category_id": 1, + "bbox": [ + 892.246, + 351.894, + 386.931, + 361.828 + ], + "area": 140002.469868, + "iscrowd": 0 + }, + { + "id": 697, + "image_id": 133, + "category_id": 1, + "bbox": [ + 667.338, + 331.295, + 197.713, + 384.216 + ], + "area": 75964.498008, + "iscrowd": 0 + }, + { + "id": 698, + "image_id": 133, + "category_id": 1, + "bbox": [ + 537.319, + 362.742, + 165.83, + 353.26 + ], + "area": 58581.105800000005, + "iscrowd": 0 + }, + { + "id": 699, + "image_id": 133, + "category_id": 1, + "bbox": [ + 324.505, + 433.473, + 34.0371, + 41.8187 + ], + "area": 1423.38727377, + "iscrowd": 0 + }, + { + "id": 700, + "image_id": 133, + "category_id": 1, + "bbox": [ + 976.939, + 395.918, + 67.1376, + 112.961 + ], + "area": 7583.9304336000005, + "iscrowd": 0 + }, + { + "id": 701, + "image_id": 133, + "category_id": 0, + "bbox": [ + 686.234, + 412.138, + 140.028, + 214.51 + ], + "area": 30037.406279999996, + "iscrowd": 0 + }, + { + "id": 702, + "image_id": 133, + "category_id": 0, + "bbox": [ + 910.676, + 454.841, + 105.269, + 65.5448 + ], + "area": 6899.8355512, + "iscrowd": 0 + }, + { + "id": 703, + "image_id": 133, + "category_id": 0, + "bbox": [ + 928.552, + 468.745, + 180.745, + 174.786 + ], + "area": 31591.69557, + "iscrowd": 0 + }, + { + "id": 704, + "image_id": 134, + "category_id": 1, + "bbox": [ + 291.692, + 353.386, + 57.4524, + 116.258 + ], + "area": 6679.301119199999, + "iscrowd": 0 + }, + { + "id": 705, + "image_id": 134, + "category_id": 1, + "bbox": [ + 386.795, + 395.221, + 54.8793, + 65.8572 + ], + "area": 3614.1970359600004, + "iscrowd": 0 + }, + { + "id": 706, + "image_id": 134, + "category_id": 1, + "bbox": [ + 146.798, + 374.536, + 73.6793, + 92.926 + ], + "area": 6846.7226318, + "iscrowd": 0 + }, + { + "id": 707, + "image_id": 134, + "category_id": 0, + "bbox": [ + 402.403, + 424.317, + 34.9322, + 34.6311 + ], + "area": 1209.74051142, + "iscrowd": 0 + }, + { + "id": 708, + "image_id": 134, + "category_id": 0, + "bbox": [ + 79.3915, + 421.073, + 27.3764, + 21.3535 + ], + "area": 584.5819574, + "iscrowd": 0 + }, + { + "id": 709, + "image_id": 134, + "category_id": 0, + "bbox": [ + 12.8669, + 414.776, + 36.9581, + 52.5627 + ], + "area": 1942.6175228700001, + "iscrowd": 0 + }, + { + "id": 710, + "image_id": 134, + "category_id": 1, + "bbox": [ + 29.1504, + 382.088, + 57.3093, + 174.248 + ], + "area": 9986.0309064, + "iscrowd": 0 + }, + { + "id": 711, + "image_id": 134, + "category_id": 1, + "bbox": [ + 0.331252, + 389.376, + 39.7505, + 106.333 + ], + "area": 4226.7899165, + "iscrowd": 0 + }, + { + "id": 714, + "image_id": 136, + "category_id": 1, + "bbox": [ + 545.535, + 356.327, + 190.748, + 360.594 + ], + "area": 68782.58431199999, + "iscrowd": 0 + }, + { + "id": 715, + "image_id": 136, + "category_id": 1, + "bbox": [ + 802.029, + 336.41, + 239.565, + 379.862 + ], + "area": 91001.64003000001, + "iscrowd": 0 + }, + { + "id": 716, + "image_id": 136, + "category_id": 1, + "bbox": [ + 669.654, + 380.925, + 92.1239, + 337.363 + ], + "area": 31079.195275700004, + "iscrowd": 0 + }, + { + "id": 717, + "image_id": 136, + "category_id": 1, + "bbox": [ + 324.648, + 433.436, + 34.1289, + 41.9274 + ], + "area": 1430.93604186, + "iscrowd": 0 + }, + { + "id": 718, + "image_id": 136, + "category_id": 0, + "bbox": [ + 1029.51, + 485.729, + 189.814, + 229.927 + ], + "area": 43643.363578, + "iscrowd": 0 + }, + { + "id": 719, + "image_id": 136, + "category_id": 1, + "bbox": [ + 1036.18, + 356.265, + 243.268, + 358.997 + ], + "area": 87332.482196, + "iscrowd": 0 + }, + { + "id": 720, + "image_id": 136, + "category_id": 1, + "bbox": [ + 1055.03, + 397.417, + 71.1809, + 94.253 + ], + "area": 6709.013367699999, + "iscrowd": 0 + }, + { + "id": 721, + "image_id": 136, + "category_id": 0, + "bbox": [ + 826.175, + 427.355, + 196.424, + 228.277 + ], + "area": 44839.081448, + "iscrowd": 0 + }, + { + "id": 722, + "image_id": 137, + "category_id": 1, + "bbox": [ + 449.747, + 392.173, + 74.657, + 215.285 + ], + "area": 16072.532244999999, + "iscrowd": 0 + }, + { + "id": 723, + "image_id": 137, + "category_id": 1, + "bbox": [ + 213.075, + 375.136, + 69.2672, + 206.075 + ], + "area": 14274.23824, + "iscrowd": 0 + }, + { + "id": 724, + "image_id": 137, + "category_id": 1, + "bbox": [ + 18.6152, + 391.053, + 48.2221, + 211.925 + ], + "area": 10219.4685425, + "iscrowd": 0 + }, + { + "id": 725, + "image_id": 137, + "category_id": 1, + "bbox": [ + 365.405, + 355.223, + 60.5356, + 114.15 + ], + "area": 6910.13874, + "iscrowd": 0 + }, + { + "id": 726, + "image_id": 137, + "category_id": 0, + "bbox": [ + 466.759, + 418.097, + 32.7724, + 71.5034 + ], + "area": 2343.3380261599996, + "iscrowd": 0 + }, + { + "id": 727, + "image_id": 137, + "category_id": 0, + "bbox": [ + 247.283, + 427.034, + 34.7586, + 48.6621 + ], + "area": 1691.42646906, + "iscrowd": 0 + }, + { + "id": 746, + "image_id": 141, + "category_id": 1, + "bbox": [ + 11.0862, + 238.339, + 76.387, + 234.114 + ], + "area": 17883.266118, + "iscrowd": 0 + }, + { + "id": 747, + "image_id": 141, + "category_id": 0, + "bbox": [ + 40.7172, + 268.138, + 47.669, + 66.5379 + ], + "area": 3171.7951550999996, + "iscrowd": 0 + }, + { + "id": 748, + "image_id": 142, + "category_id": 1, + "bbox": [ + 541.726, + 349.848, + 202.061, + 365.999 + ], + "area": 73954.12393900001, + "iscrowd": 0 + }, + { + "id": 749, + "image_id": 142, + "category_id": 1, + "bbox": [ + 955.526, + 309.287, + 323.767, + 404.928 + ], + "area": 131102.323776, + "iscrowd": 0 + }, + { + "id": 750, + "image_id": 142, + "category_id": 1, + "bbox": [ + 827.586, + 388.6, + 64.4538, + 319.683 + ], + "area": 20604.7841454, + "iscrowd": 0 + }, + { + "id": 751, + "image_id": 142, + "category_id": 1, + "bbox": [ + 957.046, + 395.568, + 109.907, + 132.637 + ], + "area": 14577.734758999999, + "iscrowd": 0 + }, + { + "id": 752, + "image_id": 142, + "category_id": 1, + "bbox": [ + 323.78, + 432.71, + 35.0132, + 42.682 + ], + "area": 1494.4334024, + "iscrowd": 0 + }, + { + "id": 753, + "image_id": 142, + "category_id": 0, + "bbox": [ + 757.738, + 475.697, + 105.269, + 43.6966 + ], + "area": 4599.8973854, + "iscrowd": 0 + }, + { + "id": 754, + "image_id": 142, + "category_id": 0, + "bbox": [ + 904.717, + 487.614, + 90.3724, + 45.6828 + ], + "area": 4128.46427472, + "iscrowd": 0 + }, + { + "id": 763, + "image_id": 144, + "category_id": 1, + "bbox": [ + 220.786, + 228.942, + 86.9532, + 164.375 + ], + "area": 14292.93225, + "iscrowd": 0 + }, + { + "id": 764, + "image_id": 144, + "category_id": 1, + "bbox": [ + 80.5845, + 233.31, + 67.616, + 100.645 + ], + "area": 6805.21232, + "iscrowd": 0 + }, + { + "id": 765, + "image_id": 144, + "category_id": 0, + "bbox": [ + 99.1661, + 263.756, + 46.5172, + 68.2957 + ], + "area": 3176.92473604, + "iscrowd": 0 + }, + { + "id": 766, + "image_id": 145, + "category_id": 1, + "bbox": [ + 567.121, + 332.981, + 282.801, + 382.888 + ], + "area": 108281.10928799999, + "iscrowd": 0 + }, + { + "id": 767, + "image_id": 145, + "category_id": 1, + "bbox": [ + 1116.47, + 293.831, + 162.795, + 420.901 + ], + "area": 68520.578295, + "iscrowd": 0 + }, + { + "id": 768, + "image_id": 145, + "category_id": 1, + "bbox": [ + 552.245, + 374.93, + 118.321, + 264.839 + ], + "area": 31336.015319, + "iscrowd": 0 + }, + { + "id": 769, + "image_id": 145, + "category_id": 1, + "bbox": [ + 761.438, + 392.826, + 88.2891, + 322.491 + ], + "area": 28472.4401481, + "iscrowd": 0 + }, + { + "id": 770, + "image_id": 145, + "category_id": 1, + "bbox": [ + 323.365, + 432.549, + 34.8169, + 42.4887 + ], + "area": 1479.3248190299998, + "iscrowd": 0 + }, + { + "id": 771, + "image_id": 145, + "category_id": 1, + "bbox": [ + 943.97, + 397.52, + 84.0164, + 101.326 + ], + "area": 8513.0457464, + "iscrowd": 0 + }, + { + "id": 772, + "image_id": 145, + "category_id": 0, + "bbox": [ + 873.931, + 495.559, + 82.4276, + 47.669 + ], + "area": 3929.2412643999996, + "iscrowd": 0 + }, + { + "id": 773, + "image_id": 145, + "category_id": 0, + "bbox": [ + 1024.88, + 470.731, + 190.676, + 243.31 + ], + "area": 46393.37756, + "iscrowd": 0 + }, + { + "id": 774, + "image_id": 146, + "category_id": 1, + "bbox": [ + 493.383, + 356.516, + 96.8093, + 266.768 + ], + "area": 25825.623342399995, + "iscrowd": 0 + }, + { + "id": 775, + "image_id": 146, + "category_id": 1, + "bbox": [ + 603.768, + 395.504, + 83.1978, + 241.414 + ], + "area": 20085.1136892, + "iscrowd": 0 + }, + { + "id": 776, + "image_id": 146, + "category_id": 1, + "bbox": [ + 402.67, + 383.041, + 80.2514, + 220.35 + ], + "area": 17683.39599, + "iscrowd": 0 + }, + { + "id": 777, + "image_id": 146, + "category_id": 1, + "bbox": [ + 264.902, + 393.577, + 72.9558, + 73.5579 + ], + "area": 5366.47544082, + "iscrowd": 0 + }, + { + "id": 778, + "image_id": 146, + "category_id": 0, + "bbox": [ + 195.915, + 421.033, + 38.8471, + 42.4608 + ], + "area": 1649.47894368, + "iscrowd": 0 + }, + { + "id": 779, + "image_id": 146, + "category_id": 1, + "bbox": [ + 172.125, + 385.499, + 44.2676, + 154.485 + ], + "area": 6838.6801860000005, + "iscrowd": 0 + }, + { + "id": 780, + "image_id": 146, + "category_id": 1, + "bbox": [ + 76.9646, + 346.351, + 73.7794, + 97.5692 + ], + "area": 7198.597034479999, + "iscrowd": 0 + }, + { + "id": 781, + "image_id": 146, + "category_id": 0, + "bbox": [ + 307.387, + 419.989, + 27.5377, + 31.4474 + ], + "area": 865.98906698, + "iscrowd": 0 + }, + { + "id": 782, + "image_id": 146, + "category_id": 0, + "bbox": [ + 438.721, + 432.007, + 32.0865, + 49.1581 + ], + "area": 1577.31137565, + "iscrowd": 0 + }, + { + "id": 783, + "image_id": 146, + "category_id": 0, + "bbox": [ + 608.878, + 427.914, + 54.3188, + 70.8084 + ], + "area": 3846.2273179200006, + "iscrowd": 0 + }, + { + "id": 784, + "image_id": 147, + "category_id": 1, + "bbox": [ + 0.323687, + 264.232, + 70.183, + 215.922 + ], + "area": 15154.053726000002, + "iscrowd": 0 + }, + { + "id": 785, + "image_id": 147, + "category_id": 0, + "bbox": [ + 311.774, + 268.262, + 39.6559, + 56.0299 + ], + "area": 2221.91611141, + "iscrowd": 0 + }, + { + "id": 786, + "image_id": 147, + "category_id": 1, + "bbox": [ + 285.685, + 224.805, + 71.6841, + 207.237 + ], + "area": 14855.597831699999, + "iscrowd": 0 + }, + { + "id": 787, + "image_id": 147, + "category_id": 1, + "bbox": [ + 141.447, + 224.51, + 76.4147, + 78.2876 + ], + "area": 5982.32346772, + "iscrowd": 0 + }, + { + "id": 788, + "image_id": 147, + "category_id": 0, + "bbox": [ + 142.571, + 259.72, + 44.2006, + 45.7353 + ], + "area": 2021.5277011800001, + "iscrowd": 0 + }, + { + "id": 789, + "image_id": 148, + "category_id": 1, + "bbox": [ + 628.955, + 316.139, + 240.732, + 400.703 + ], + "area": 96462.034596, + "iscrowd": 0 + }, + { + "id": 790, + "image_id": 148, + "category_id": 1, + "bbox": [ + 550.91, + 377.099, + 160.646, + 339.229 + ], + "area": 54495.78193399999, + "iscrowd": 0 + }, + { + "id": 791, + "image_id": 148, + "category_id": 0, + "bbox": [ + 1126.2, + 447.961, + 153.118, + 272.039 + ], + "area": 41654.067601999996, + "iscrowd": 0 + }, + { + "id": 792, + "image_id": 148, + "category_id": 1, + "bbox": [ + 903.41, + 393.608, + 92.9119, + 140.805 + ], + "area": 13082.4600795, + "iscrowd": 0 + }, + { + "id": 793, + "image_id": 148, + "category_id": 1, + "bbox": [ + 323.663, + 432.833, + 34.5796, + 42.3994 + ], + "area": 1466.15429224, + "iscrowd": 0 + }, + { + "id": 794, + "image_id": 149, + "category_id": 1, + "bbox": [ + 646.634, + 400.253, + 106.198, + 247.671 + ], + "area": 26302.164857999996, + "iscrowd": 0 + }, + { + "id": 795, + "image_id": 149, + "category_id": 1, + "bbox": [ + 529.508, + 357.618, + 106.087, + 278.893 + ], + "area": 29586.921691, + "iscrowd": 0 + }, + { + "id": 796, + "image_id": 149, + "category_id": 1, + "bbox": [ + 448.503, + 384.288, + 79.0292, + 224.027 + ], + "area": 17704.6745884, + "iscrowd": 0 + }, + { + "id": 797, + "image_id": 149, + "category_id": 1, + "bbox": [ + 136.605, + 348.356, + 77.6286, + 115.604 + ], + "area": 8974.176674400002, + "iscrowd": 0 + }, + { + "id": 798, + "image_id": 149, + "category_id": 0, + "bbox": [ + 663.433, + 432.993, + 58.9333, + 79.5709 + ], + "area": 4689.37572097, + "iscrowd": 0 + }, + { + "id": 799, + "image_id": 149, + "category_id": 0, + "bbox": [ + 473.95, + 431.528, + 38.3819, + 57.1771 + ], + "area": 2194.56573449, + "iscrowd": 0 + }, + { + "id": 800, + "image_id": 149, + "category_id": 0, + "bbox": [ + 365.75, + 425.104, + 29.091, + 38.5543 + ], + "area": 1121.5831413, + "iscrowd": 0 + }, + { + "id": 801, + "image_id": 149, + "category_id": 0, + "bbox": [ + 253.36, + 420.282, + 32.0001, + 49.3495 + ], + "area": 1579.1889349500002, + "iscrowd": 0 + }, + { + "id": 802, + "image_id": 149, + "category_id": 1, + "bbox": [ + 210.565, + 396.379, + 62.458, + 178.892 + ], + "area": 11173.236536, + "iscrowd": 0 + }, + { + "id": 803, + "image_id": 150, + "category_id": 1, + "bbox": [ + 341.584, + 226.325, + 65.1431, + 106.979 + ], + "area": 6968.9436949, + "iscrowd": 0 + }, + { + "id": 804, + "image_id": 150, + "category_id": 1, + "bbox": [ + 201.27, + 221.376, + 71.8409, + 96.9735 + ], + "area": 6966.663516150001, + "iscrowd": 0 + }, + { + "id": 805, + "image_id": 150, + "category_id": 1, + "bbox": [ + 50.6483, + 249.269, + 65.5448, + 101.297 + ], + "area": 6639.491605599999, + "iscrowd": 0 + }, + { + "id": 806, + "image_id": 150, + "category_id": 0, + "bbox": [ + 218.483, + 277.076, + 38.731, + 40.7172 + ], + "area": 1577.0178732, + "iscrowd": 0 + }, + { + "id": 807, + "image_id": 151, + "category_id": 1, + "bbox": [ + 755.93, + 312.546, + 288.191, + 401.363 + ], + "area": 115669.20433299999, + "iscrowd": 0 + }, + { + "id": 808, + "image_id": 151, + "category_id": 1, + "bbox": [ + 544.404, + 369.795, + 147.741, + 348.487 + ], + "area": 51485.817867000005, + "iscrowd": 0 + }, + { + "id": 809, + "image_id": 151, + "category_id": 1, + "bbox": [ + 659.301, + 393.473, + 79.9242, + 324.895 + ], + "area": 25966.972959, + "iscrowd": 0 + }, + { + "id": 810, + "image_id": 151, + "category_id": 1, + "bbox": [ + 323.611, + 432.99, + 34.3019, + 42.027 + ], + "area": 1441.6059513000002, + "iscrowd": 0 + }, + { + "id": 811, + "image_id": 151, + "category_id": 0, + "bbox": [ + 652.469, + 452.855, + 53.6276, + 101.297 + ], + "area": 5432.3149972, + "iscrowd": 0 + }, + { + "id": 812, + "image_id": 152, + "category_id": 1, + "bbox": [ + 555.936, + 356.623, + 119.077, + 299.595 + ], + "area": 35674.873815000006, + "iscrowd": 0 + }, + { + "id": 813, + "image_id": 152, + "category_id": 1, + "bbox": [ + 687.623, + 398.299, + 95.1091, + 271.496 + ], + "area": 25821.7402136, + "iscrowd": 0 + }, + { + "id": 814, + "image_id": 152, + "category_id": 1, + "bbox": [ + 487.674, + 380.702, + 78.6301, + 234.341 + ], + "area": 18426.2562641, + "iscrowd": 0 + }, + { + "id": 815, + "image_id": 152, + "category_id": 1, + "bbox": [ + 181.916, + 349.966, + 93.9907, + 231.032 + ], + "area": 21714.8594024, + "iscrowd": 0 + }, + { + "id": 816, + "image_id": 152, + "category_id": 1, + "bbox": [ + 386.96, + 396.17, + 48.1345, + 66.2213 + ], + "area": 3187.52916485, + "iscrowd": 0 + }, + { + "id": 817, + "image_id": 152, + "category_id": 0, + "bbox": [ + 696.166, + 422.069, + 49.6552, + 91.3655 + ], + "area": 4536.7721756, + "iscrowd": 0 + }, + { + "id": 818, + "image_id": 152, + "category_id": 0, + "bbox": [ + 522.372, + 435.972, + 41.7103, + 57.6 + ], + "area": 2402.5132799999997, + "iscrowd": 0 + }, + { + "id": 819, + "image_id": 152, + "category_id": 1, + "bbox": [ + 279.062, + 395.255, + 38.731, + 77.4621 + ], + "area": 3000.1845951000005, + "iscrowd": 0 + }, + { + "id": 820, + "image_id": 152, + "category_id": 0, + "bbox": [ + 315.807, + 423.062, + 31.7793, + 52.6345 + ], + "area": 1672.68756585, + "iscrowd": 0 + }, + { + "id": 821, + "image_id": 152, + "category_id": 0, + "bbox": [ + 423.062, + 427.034, + 24.8276, + 35.7517 + ], + "area": 887.62890692, + "iscrowd": 0 + }, + { + "id": 822, + "image_id": 153, + "category_id": 1, + "bbox": [ + 0.131752, + 284.503, + 64.1907, + 192.7 + ], + "area": 12369.54789, + "iscrowd": 0 + }, + { + "id": 823, + "image_id": 153, + "category_id": 1, + "bbox": [ + 271.633, + 219.607, + 99.964, + 207.385 + ], + "area": 20731.03414, + "iscrowd": 0 + }, + { + "id": 824, + "image_id": 153, + "category_id": 1, + "bbox": [ + 120.955, + 250.649, + 47.1098, + 50.172 + ], + "area": 2363.5928856, + "iscrowd": 0 + }, + { + "id": 825, + "image_id": 153, + "category_id": 1, + "bbox": [ + 419.728, + 225.73, + 51.8444, + 95.5319 + ], + "area": 4952.79403636, + "iscrowd": 0 + }, + { + "id": 826, + "image_id": 153, + "category_id": 0, + "bbox": [ + 276.343, + 250.92, + 57.5121, + 79.0792 + ], + "area": 4548.01085832, + "iscrowd": 0 + }, + { + "id": 827, + "image_id": 153, + "category_id": 0, + "bbox": [ + 429.216, + 266.989, + 42.7112, + 51.3803 + ], + "area": 2194.5142693599996, + "iscrowd": 0 + }, + { + "id": 828, + "image_id": 154, + "category_id": 1, + "bbox": [ + 888.453, + 298.456, + 389.128, + 415.408 + ], + "area": 161646.884224, + "iscrowd": 0 + }, + { + "id": 829, + "image_id": 154, + "category_id": 1, + "bbox": [ + 618.905, + 378.004, + 160.014, + 339.453 + ], + "area": 54317.232341999996, + "iscrowd": 0 + }, + { + "id": 830, + "image_id": 154, + "category_id": 1, + "bbox": [ + 609.429, + 383.747, + 77.9719, + 155.548 + ], + "area": 12128.3731012, + "iscrowd": 0 + }, + { + "id": 831, + "image_id": 154, + "category_id": 1, + "bbox": [ + 323.915, + 432.951, + 33.9298, + 42.025 + ], + "area": 1425.899845, + "iscrowd": 0 + }, + { + "id": 832, + "image_id": 154, + "category_id": 1, + "bbox": [ + 837.663, + 389.332, + 109.546, + 148.52 + ], + "area": 16269.771920000003, + "iscrowd": 0 + }, + { + "id": 833, + "image_id": 154, + "category_id": 0, + "bbox": [ + 793.007, + 474.521, + 81.0027, + 77.6097 + ], + "area": 6286.595246190001, + "iscrowd": 0 + }, + { + "id": 834, + "image_id": 154, + "category_id": 0, + "bbox": [ + 610.731, + 458.918, + 55.0362, + 78.736 + ], + "area": 4333.3302432, + "iscrowd": 0 + }, + { + "id": 835, + "image_id": 155, + "category_id": 1, + "bbox": [ + 600.011, + 350.763, + 118.066, + 322.022 + ], + "area": 38019.849452, + "iscrowd": 0 + }, + { + "id": 836, + "image_id": 155, + "category_id": 1, + "bbox": [ + 524.161, + 383.588, + 77.26, + 245.81 + ], + "area": 18991.280600000002, + "iscrowd": 0 + }, + { + "id": 837, + "image_id": 155, + "category_id": 1, + "bbox": [ + 707.297, + 396.602, + 99.4877, + 290.87 + ], + "area": 28937.987299, + "iscrowd": 0 + }, + { + "id": 838, + "image_id": 155, + "category_id": 1, + "bbox": [ + 452.861, + 398.075, + 73.9599, + 209.722 + ], + "area": 15511.018147800001, + "iscrowd": 0 + }, + { + "id": 839, + "image_id": 155, + "category_id": 1, + "bbox": [ + 251.693, + 350.693, + 96.955, + 232.967 + ], + "area": 22587.315485, + "iscrowd": 0 + }, + { + "id": 840, + "image_id": 155, + "category_id": 0, + "bbox": [ + 717.021, + 438.952, + 60.5793, + 75.4759 + ], + "area": 4572.27718887, + "iscrowd": 0 + }, + { + "id": 841, + "image_id": 155, + "category_id": 0, + "bbox": [ + 556.138, + 432.993, + 47.669, + 64.5517 + ], + "area": 3077.1149872999995, + "iscrowd": 0 + }, + { + "id": 842, + "image_id": 155, + "category_id": 0, + "bbox": [ + 487.614, + 424.055, + 44.6897, + 87.3931 + ], + "area": 3905.5714210700003, + "iscrowd": 0 + }, + { + "id": 843, + "image_id": 155, + "category_id": 0, + "bbox": [ + 368.441, + 425.048, + 43.6966, + 47.669 + ], + "area": 2082.9732253999996, + "iscrowd": 0 + }, + { + "id": 844, + "image_id": 156, + "category_id": 1, + "bbox": [ + 466.862, + 219.76, + 103.195, + 212.619 + ], + "area": 21941.217705, + "iscrowd": 0 + }, + { + "id": 845, + "image_id": 156, + "category_id": 1, + "bbox": [ + 339.161, + 219.266, + 62.2936, + 113.65 + ], + "area": 7079.66764, + "iscrowd": 0 + }, + { + "id": 846, + "image_id": 156, + "category_id": 1, + "bbox": [ + 42.7034, + 255.228, + 50.6483, + 89.3793 + ], + "area": 4526.90960019, + "iscrowd": 0 + }, + { + "id": 847, + "image_id": 156, + "category_id": 0, + "bbox": [ + 335.669, + 244.303, + 63.5586, + 84.4138 + ], + "area": 5365.22294868, + "iscrowd": 0 + }, + { + "id": 848, + "image_id": 156, + "category_id": 0, + "bbox": [ + 488.607, + 263.172, + 35.7517, + 45.6828 + ], + "area": 1633.23776076, + "iscrowd": 0 + }, + { + "id": 849, + "image_id": 157, + "category_id": 1, + "bbox": [ + 566.136, + 378.943, + 112.016, + 338.583 + ], + "area": 37926.713328000005, + "iscrowd": 0 + }, + { + "id": 850, + "image_id": 157, + "category_id": 1, + "bbox": [ + 722.761, + 384.083, + 172.321, + 332.757 + ], + "area": 57341.018997, + "iscrowd": 0 + }, + { + "id": 851, + "image_id": 157, + "category_id": 1, + "bbox": [ + 324.095, + 432.709, + 35.442, + 42.2145 + ], + "area": 1496.166309, + "iscrowd": 0 + }, + { + "id": 852, + "image_id": 157, + "category_id": 0, + "bbox": [ + 569.364, + 512.295, + 92.9032, + 77.6406 + ], + "area": 7213.06018992, + "iscrowd": 0 + }, + { + "id": 853, + "image_id": 158, + "category_id": 1, + "bbox": [ + 738.415, + 393.642, + 109.887, + 313.931 + ], + "area": 34496.935797, + "iscrowd": 0 + }, + { + "id": 854, + "image_id": 158, + "category_id": 1, + "bbox": [ + 621.886, + 348.27, + 131.503, + 350.985 + ], + "area": 46155.580454999996, + "iscrowd": 0 + }, + { + "id": 855, + "image_id": 158, + "category_id": 1, + "bbox": [ + 537.738, + 385.115, + 88.7573, + 265.322 + ], + "area": 23549.264350600002, + "iscrowd": 0 + }, + { + "id": 856, + "image_id": 158, + "category_id": 1, + "bbox": [ + 515.901, + 399.711, + 57.2773, + 213.471 + ], + "area": 12227.0425083, + "iscrowd": 0 + }, + { + "id": 857, + "image_id": 158, + "category_id": 1, + "bbox": [ + 406.046, + 403.373, + 42.7168, + 58.1451 + ], + "area": 2483.77260768, + "iscrowd": 0 + }, + { + "id": 858, + "image_id": 158, + "category_id": 1, + "bbox": [ + 363.877, + 351.208, + 45.1701, + 114.595 + ], + "area": 5176.2676095, + "iscrowd": 0 + }, + { + "id": 859, + "image_id": 158, + "category_id": 0, + "bbox": [ + 745.821, + 434.979, + 47.669, + 93.3517 + ], + "area": 4449.982187299999, + "iscrowd": 0 + }, + { + "id": 860, + "image_id": 158, + "category_id": 0, + "bbox": [ + 576.993, + 432.0, + 53.6276, + 70.5103 + ], + "area": 3781.29816428, + "iscrowd": 0 + }, + { + "id": 861, + "image_id": 158, + "category_id": 0, + "bbox": [ + 444.91, + 430.014, + 38.731, + 55.6138 + ], + "area": 2153.9780878, + "iscrowd": 0 + }, + { + "id": 870, + "image_id": 160, + "category_id": 1, + "bbox": [ + 531.683, + 374.822, + 121.122, + 342.263 + ], + "area": 41455.579086, + "iscrowd": 0 + }, + { + "id": 871, + "image_id": 160, + "category_id": 1, + "bbox": [ + 792.934, + 391.69, + 202.009, + 324.15 + ], + "area": 65481.21734999999, + "iscrowd": 0 + }, + { + "id": 872, + "image_id": 160, + "category_id": 1, + "bbox": [ + 735.253, + 387.49, + 110.497, + 327.954 + ], + "area": 36237.933138, + "iscrowd": 0 + }, + { + "id": 873, + "image_id": 160, + "category_id": 1, + "bbox": [ + 323.967, + 433.145, + 34.2208, + 41.8883 + ], + "area": 1433.45113664, + "iscrowd": 0 + }, + { + "id": 874, + "image_id": 160, + "category_id": 0, + "bbox": [ + 539.255, + 541.241, + 107.255, + 86.4 + ], + "area": 9266.832, + "iscrowd": 0 + }, + { + "id": 875, + "image_id": 160, + "category_id": 0, + "bbox": [ + 691.2, + 496.552, + 97.3241, + 63.5586 + ], + "area": 6185.78354226, + "iscrowd": 0 + }, + { + "id": 885, + "image_id": 162, + "category_id": 1, + "bbox": [ + 586.146, + 222.487, + 74.6552, + 208.375 + ], + "area": 15556.277299999998, + "iscrowd": 0 + }, + { + "id": 886, + "image_id": 162, + "category_id": 1, + "bbox": [ + 33.5575, + 195.665, + 98.4207, + 145.563 + ], + "area": 14326.412354099999, + "iscrowd": 0 + }, + { + "id": 887, + "image_id": 162, + "category_id": 1, + "bbox": [ + 306.869, + 235.366, + 88.3862, + 100.303 + ], + "area": 8865.4010186, + "iscrowd": 0 + }, + { + "id": 888, + "image_id": 162, + "category_id": 1, + "bbox": [ + 464.772, + 207.559, + 64.5517, + 111.228 + ], + "area": 7179.9564875999995, + "iscrowd": 0 + }, + { + "id": 889, + "image_id": 162, + "category_id": 0, + "bbox": [ + 37.7379, + 194.648, + 42.7034, + 55.6138 + ], + "area": 2374.89834692, + "iscrowd": 0 + }, + { + "id": 890, + "image_id": 162, + "category_id": 0, + "bbox": [ + 461.793, + 234.372, + 64.5517, + 79.4483 + ], + "area": 5128.5228271099995, + "iscrowd": 0 + }, + { + "id": 891, + "image_id": 162, + "category_id": 0, + "bbox": [ + 597.848, + 250.262, + 47.669, + 51.6414 + ], + "area": 2461.6938966, + "iscrowd": 0 + }, + { + "id": 898, + "image_id": 164, + "category_id": 1, + "bbox": [ + 646.659, + 339.286, + 151.123, + 376.497 + ], + "area": 56897.356131, + "iscrowd": 0 + }, + { + "id": 899, + "image_id": 164, + "category_id": 1, + "bbox": [ + 806.529, + 401.041, + 142.303, + 315.998 + ], + "area": 44967.463394, + "iscrowd": 0 + }, + { + "id": 900, + "image_id": 164, + "category_id": 1, + "bbox": [ + 589.5, + 381.147, + 77.4724, + 303.995 + ], + "area": 23551.222238, + "iscrowd": 0 + }, + { + "id": 901, + "image_id": 164, + "category_id": 1, + "bbox": [ + 491.383, + 407.481, + 77.8456, + 226.668 + ], + "area": 17645.1064608, + "iscrowd": 0 + }, + { + "id": 902, + "image_id": 164, + "category_id": 1, + "bbox": [ + 489.054, + 358.895, + 101.941, + 133.224 + ], + "area": 13580.987783999999, + "iscrowd": 0 + }, + { + "id": 903, + "image_id": 164, + "category_id": 0, + "bbox": [ + 819.399, + 457.477, + 81.6237, + 112.032 + ], + "area": 9144.466358399999, + "iscrowd": 0 + }, + { + "id": 904, + "image_id": 164, + "category_id": 0, + "bbox": [ + 504.812, + 442.567, + 51.013, + 74.201 + ], + "area": 3785.2156129999994, + "iscrowd": 0 + }, + { + "id": 905, + "image_id": 165, + "category_id": 1, + "bbox": [ + 522.799, + 209.739, + 69.9348, + 229.948 + ], + "area": 16081.367390399999, + "iscrowd": 0 + }, + { + "id": 906, + "image_id": 165, + "category_id": 1, + "bbox": [ + 625.081, + 218.55, + 88.2683, + 228.676 + ], + "area": 20184.841770799998, + "iscrowd": 0 + }, + { + "id": 907, + "image_id": 165, + "category_id": 1, + "bbox": [ + 0.157239, + 266.596, + 56.5673, + 223.442 + ], + "area": 12639.510646600002, + "iscrowd": 0 + }, + { + "id": 908, + "image_id": 165, + "category_id": 0, + "bbox": [ + 638.74, + 264.526, + 45.9758, + 65.1843 + ], + "area": 2996.90033994, + "iscrowd": 0 + }, + { + "id": 909, + "image_id": 165, + "category_id": 0, + "bbox": [ + 525.549, + 240.441, + 58.6281, + 83.4813 + ], + "area": 4894.350004530001, + "iscrowd": 0 + }, + { + "id": 910, + "image_id": 165, + "category_id": 1, + "bbox": [ + 239.926, + 245.403, + 95.1675, + 188.935 + ], + "area": 17980.4716125, + "iscrowd": 0 + }, + { + "id": 911, + "image_id": 165, + "category_id": 0, + "bbox": [ + 277.713, + 279.458, + 41.9857, + 49.9163 + ], + "area": 2095.77079691, + "iscrowd": 0 + }, + { + "id": 912, + "image_id": 165, + "category_id": 0, + "bbox": [ + 88.0, + 193.0, + 37.9173, + 59.6997 + ], + "area": 2263.65143481, + "iscrowd": 0 + }, + { + "id": 913, + "image_id": 165, + "category_id": 1, + "bbox": [ + 102.344, + 213.1, + 65.5064, + 139.5 + ], + "area": 9138.1428, + "iscrowd": 0 + }, + { + "id": 914, + "image_id": 166, + "category_id": 1, + "bbox": [ + 816.663, + 375.588, + 277.551, + 339.495 + ], + "area": 94227.176745, + "iscrowd": 0 + }, + { + "id": 915, + "image_id": 166, + "category_id": 1, + "bbox": [ + 644.281, + 377.44, + 127.211, + 340.595 + ], + "area": 43327.430545, + "iscrowd": 0 + }, + { + "id": 916, + "image_id": 166, + "category_id": 1, + "bbox": [ + 527.439, + 363.141, + 152.036, + 354.855 + ], + "area": 53950.734780000006, + "iscrowd": 0 + }, + { + "id": 917, + "image_id": 166, + "category_id": 1, + "bbox": [ + 324.376, + 433.585, + 31.9681, + 41.1265 + ], + "area": 1314.73606465, + "iscrowd": 0 + }, + { + "id": 918, + "image_id": 166, + "category_id": 0, + "bbox": [ + 545.214, + 509.462, + 118.179, + 185.71 + ], + "area": 21947.022090000002, + "iscrowd": 0 + }, + { + "id": 919, + "image_id": 167, + "category_id": 1, + "bbox": [ + 654.67, + 332.417, + 171.761, + 387.583 + ], + "area": 66571.64366300001, + "iscrowd": 0 + }, + { + "id": 920, + "image_id": 167, + "category_id": 1, + "bbox": [ + 837.032, + 404.658, + 161.107, + 315.342 + ], + "area": 50803.803594, + "iscrowd": 0 + }, + { + "id": 921, + "image_id": 167, + "category_id": 1, + "bbox": [ + 512.377, + 409.603, + 71.8916, + 253.073 + ], + "area": 18193.8228868, + "iscrowd": 0 + }, + { + "id": 922, + "image_id": 167, + "category_id": 1, + "bbox": [ + 559.095, + 360.801, + 71.5054, + 258.389 + ], + "area": 18476.208800599998, + "iscrowd": 0 + }, + { + "id": 923, + "image_id": 167, + "category_id": 1, + "bbox": [ + 609.111, + 379.969, + 80.0543, + 325.072 + ], + "area": 26023.4114096, + "iscrowd": 0 + }, + { + "id": 924, + "image_id": 167, + "category_id": 0, + "bbox": [ + 849.046, + 471.867, + 85.496, + 128.046 + ], + "area": 10947.420815999998, + "iscrowd": 0 + }, + { + "id": 925, + "image_id": 167, + "category_id": 0, + "bbox": [ + 510.04, + 450.189, + 64.4909, + 78.8611 + ], + "area": 5085.823313989999, + "iscrowd": 0 + }, + { + "id": 926, + "image_id": 168, + "category_id": 1, + "bbox": [ + 566.64, + 214.17, + 90.6902, + 228.715 + ], + "area": 20742.209093, + "iscrowd": 0 + }, + { + "id": 927, + "image_id": 168, + "category_id": 1, + "bbox": [ + 666.659, + 221.873, + 98.8623, + 240.303 + ], + "area": 23756.9072769, + "iscrowd": 0 + }, + { + "id": 928, + "image_id": 168, + "category_id": 1, + "bbox": [ + 1.15936, + 205.176, + 71.55, + 255.58 + ], + "area": 18286.749, + "iscrowd": 0 + }, + { + "id": 929, + "image_id": 168, + "category_id": 1, + "bbox": [ + 142.959, + 188.739, + 95.6282, + 108.842 + ], + "area": 10408.364544400001, + "iscrowd": 0 + }, + { + "id": 930, + "image_id": 168, + "category_id": 1, + "bbox": [ + 451.104, + 233.394, + 51.6821, + 85.9219 + ], + "area": 4440.62422799, + "iscrowd": 0 + }, + { + "id": 931, + "image_id": 168, + "category_id": 0, + "bbox": [ + 572.028, + 232.386, + 62.5655, + 91.3655 + ], + "area": 5716.32819025, + "iscrowd": 0 + }, + { + "id": 932, + "image_id": 168, + "category_id": 0, + "bbox": [ + 676.303, + 271.117, + 51.6414, + 57.6 + ], + "area": 2974.54464, + "iscrowd": 0 + }, + { + "id": 933, + "image_id": 168, + "category_id": 1, + "bbox": [ + 302.897, + 240.331, + 55.6138, + 92.3586 + ], + "area": 5136.41270868, + "iscrowd": 0 + }, + { + "id": 934, + "image_id": 168, + "category_id": 0, + "bbox": [ + 341.628, + 275.09, + 39.7241, + 59.5862 + ], + "area": 2367.00816742, + "iscrowd": 0 + }, + { + "id": 935, + "image_id": 168, + "category_id": 0, + "bbox": [ + 130.097, + 183.724, + 61.5724, + 64.5517 + ], + "area": 3974.60309308, + "iscrowd": 0 + }, + { + "id": 936, + "image_id": 169, + "category_id": 1, + "bbox": [ + 820.422, + 359.621, + 278.498, + 360.379 + ], + "area": 100364.830742, + "iscrowd": 0 + }, + { + "id": 937, + "image_id": 169, + "category_id": 0, + "bbox": [ + 561.864, + 491.864, + 141.65, + 224.657 + ], + "area": 31822.664050000003, + "iscrowd": 0 + }, + { + "id": 938, + "image_id": 169, + "category_id": 1, + "bbox": [ + 531.692, + 362.029, + 173.594, + 357.287 + ], + "area": 62022.879477999995, + "iscrowd": 0 + }, + { + "id": 939, + "image_id": 169, + "category_id": 1, + "bbox": [ + 647.469, + 372.128, + 74.4692, + 174.305 + ], + "area": 12980.353906, + "iscrowd": 0 + }, + { + "id": 940, + "image_id": 169, + "category_id": 1, + "bbox": [ + 324.398, + 433.675, + 31.8392, + 41.1381 + ], + "area": 1309.8041935200001, + "iscrowd": 0 + }, + { + "id": 941, + "image_id": 170, + "category_id": 1, + "bbox": [ + 859.112, + 401.713, + 175.786, + 314.945 + ], + "area": 55362.92177, + "iscrowd": 0 + }, + { + "id": 942, + "image_id": 170, + "category_id": 1, + "bbox": [ + 650.216, + 325.813, + 192.559, + 390.953 + ], + "area": 75281.51872699999, + "iscrowd": 0 + }, + { + "id": 943, + "image_id": 170, + "category_id": 1, + "bbox": [ + 521.848, + 407.706, + 74.3845, + 279.726 + ], + "area": 20807.278647, + "iscrowd": 0 + }, + { + "id": 944, + "image_id": 170, + "category_id": 1, + "bbox": [ + 577.24, + 356.883, + 96.4709, + 290.353 + ], + "area": 28010.6152277, + "iscrowd": 0 + }, + { + "id": 945, + "image_id": 170, + "category_id": 1, + "bbox": [ + 646.603, + 381.226, + 73.8015, + 327.8 + ], + "area": 24192.1317, + "iscrowd": 0 + }, + { + "id": 946, + "image_id": 170, + "category_id": 0, + "bbox": [ + 870.952, + 482.648, + 111.228, + 158.897 + ], + "area": 17673.795516, + "iscrowd": 0 + }, + { + "id": 947, + "image_id": 170, + "category_id": 0, + "bbox": [ + 519.393, + 451.862, + 69.5172, + 84.4138 + ], + "area": 5868.2110173599995, + "iscrowd": 0 + }, + { + "id": 948, + "image_id": 171, + "category_id": 1, + "bbox": [ + 607.121, + 211.157, + 82.358, + 248.833 + ], + "area": 20493.388214000002, + "iscrowd": 0 + }, + { + "id": 949, + "image_id": 171, + "category_id": 1, + "bbox": [ + 509.672, + 224.566, + 85.2812, + 220.312 + ], + "area": 18788.471734400002, + "iscrowd": 0 + }, + { + "id": 950, + "image_id": 171, + "category_id": 1, + "bbox": [ + 696.61, + 228.166, + 102.399, + 262.558 + ], + "area": 26885.676642, + "iscrowd": 0 + }, + { + "id": 951, + "image_id": 171, + "category_id": 1, + "bbox": [ + 59.0788, + 201.587, + 65.4913, + 132.429 + ], + "area": 8672.947367699999, + "iscrowd": 0 + }, + { + "id": 952, + "image_id": 171, + "category_id": 1, + "bbox": [ + 202.165, + 183.144, + 88.9936, + 131.974 + ], + "area": 11744.8413664, + "iscrowd": 0 + }, + { + "id": 953, + "image_id": 171, + "category_id": 0, + "bbox": [ + 697.813, + 282.618, + 59.9344, + 63.0888 + ], + "area": 3781.1893747199997, + "iscrowd": 0 + }, + { + "id": 954, + "image_id": 171, + "category_id": 0, + "bbox": [ + 607.736, + 241.961, + 60.2849, + 86.9223 + ], + "area": 5240.10216327, + "iscrowd": 0 + }, + { + "id": 955, + "image_id": 171, + "category_id": 0, + "bbox": [ + 413.384, + 277.634, + 28.6767, + 37.0771 + ], + "area": 1063.2488735700001, + "iscrowd": 0 + }, + { + "id": 956, + "image_id": 171, + "category_id": 1, + "bbox": [ + 372.252, + 236.212, + 57.3535, + 97.3272 + ], + "area": 5582.0555652, + "iscrowd": 0 + }, + { + "id": 957, + "image_id": 171, + "category_id": 1, + "bbox": [ + 201.779, + 183.619, + 33.04, + 56.5836 + ], + "area": 1869.5221439999998, + "iscrowd": 0 + }, + { + "id": 958, + "image_id": 172, + "category_id": 1, + "bbox": [ + 723.477, + 323.921, + 419.563, + 390.865 + ], + "area": 163992.491995, + "iscrowd": 0 + }, + { + "id": 959, + "image_id": 172, + "category_id": 0, + "bbox": [ + 590.936, + 514.981, + 150.598, + 203.781 + ], + "area": 30689.011038000004, + "iscrowd": 0 + }, + { + "id": 960, + "image_id": 172, + "category_id": 1, + "bbox": [ + 575.478, + 352.55, + 190.011, + 331.142 + ], + "area": 62920.622562, + "iscrowd": 0 + }, + { + "id": 961, + "image_id": 172, + "category_id": 1, + "bbox": [ + 324.34, + 433.933, + 32.1246, + 40.7361 + ], + "area": 1308.63091806, + "iscrowd": 0 + }, + { + "id": 962, + "image_id": 172, + "category_id": 1, + "bbox": [ + 587.917, + 357.517, + 104.276, + 112.221 + ], + "area": 11701.956996, + "iscrowd": 0 + }, + { + "id": 963, + "image_id": 173, + "category_id": 1, + "bbox": [ + 663.956, + 317.228, + 211.898, + 398.703 + ], + "area": 84484.368294, + "iscrowd": 0 + }, + { + "id": 964, + "image_id": 173, + "category_id": 1, + "bbox": [ + 531.589, + 411.411, + 90.2373, + 306.191 + ], + "area": 27629.8491243, + "iscrowd": 0 + }, + { + "id": 965, + "image_id": 173, + "category_id": 1, + "bbox": [ + 908.08, + 394.774, + 223.143, + 322.063 + ], + "area": 71866.104009, + "iscrowd": 0 + }, + { + "id": 966, + "image_id": 173, + "category_id": 1, + "bbox": [ + 596.589, + 354.255, + 88.7996, + 319.359 + ], + "area": 28358.9514564, + "iscrowd": 0 + }, + { + "id": 967, + "image_id": 173, + "category_id": 0, + "bbox": [ + 530.317, + 456.828, + 63.5586, + 111.228 + ], + "area": 7069.4959608, + "iscrowd": 0 + }, + { + "id": 968, + "image_id": 173, + "category_id": 0, + "bbox": [ + 913.655, + 459.807, + 120.166, + 183.724 + ], + "area": 22077.378183999997, + "iscrowd": 0 + }, + { + "id": 969, + "image_id": 173, + "category_id": 1, + "bbox": [ + 682.262, + 377.379, + 48.6621, + 67.531 + ], + "area": 3286.2002751000005, + "iscrowd": 0 + }, + { + "id": 970, + "image_id": 174, + "category_id": 1, + "bbox": [ + 553.35, + 231.912, + 94.4333, + 217.843 + ], + "area": 20571.6333719, + "iscrowd": 0 + }, + { + "id": 971, + "image_id": 174, + "category_id": 1, + "bbox": [ + 632.123, + 214.393, + 99.1639, + 257.506 + ], + "area": 25535.299233399997, + "iscrowd": 0 + }, + { + "id": 972, + "image_id": 174, + "category_id": 1, + "bbox": [ + 255.746, + 181.793, + 87.5001, + 209.111 + ], + "area": 18297.2334111, + "iscrowd": 0 + }, + { + "id": 973, + "image_id": 174, + "category_id": 1, + "bbox": [ + 711.081, + 232.105, + 96.9473, + 278.274 + ], + "area": 26977.9129602, + "iscrowd": 0 + }, + { + "id": 974, + "image_id": 174, + "category_id": 1, + "bbox": [ + 436.113, + 235.845, + 40.0734, + 91.2863 + ], + "area": 3658.15241442, + "iscrowd": 0 + }, + { + "id": 975, + "image_id": 174, + "category_id": 1, + "bbox": [ + 120.975, + 200.499, + 64.1187, + 256.03 + ], + "area": 16416.310761, + "iscrowd": 0 + }, + { + "id": 976, + "image_id": 174, + "category_id": 0, + "bbox": [ + 251.0, + 181.0, + 41.0, + 61.0 + ], + "area": 2501.0, + "iscrowd": 0 + }, + { + "id": 977, + "image_id": 174, + "category_id": 0, + "bbox": [ + 467.0, + 271.0, + 34.0, + 45.0 + ], + "area": 1530.0, + "iscrowd": 0 + }, + { + "id": 978, + "image_id": 174, + "category_id": 0, + "bbox": [ + 632.0, + 239.0, + 67.3667, + 101.367 + ], + "area": 6828.760278899999, + "iscrowd": 0 + }, + { + "id": 979, + "image_id": 174, + "category_id": 0, + "bbox": [ + 723.0, + 285.897, + 52.21, + 75.1001 + ], + "area": 3920.976221, + "iscrowd": 0 + }, + { + "id": 980, + "image_id": 175, + "category_id": 1, + "bbox": [ + 951.542, + 313.495, + 327.548, + 399.788 + ], + "area": 130949.75982400001, + "iscrowd": 0 + }, + { + "id": 981, + "image_id": 175, + "category_id": 0, + "bbox": [ + 612.786, + 534.79, + 163.069, + 184.418 + ], + "area": 30072.858841999998, + "iscrowd": 0 + }, + { + "id": 982, + "image_id": 175, + "category_id": 1, + "bbox": [ + 502.312, + 359.352, + 130.411, + 357.629 + ], + "area": 46638.755519000006, + "iscrowd": 0 + }, + { + "id": 983, + "image_id": 175, + "category_id": 1, + "bbox": [ + 590.944, + 349.008, + 207.542, + 361.648 + ], + "area": 75057.149216, + "iscrowd": 0 + }, + { + "id": 984, + "image_id": 175, + "category_id": 1, + "bbox": [ + 324.114, + 433.65, + 32.8604, + 41.0927 + ], + "area": 1350.32255908, + "iscrowd": 0 + }, + { + "id": 985, + "image_id": 175, + "category_id": 0, + "bbox": [ + 549.186, + 453.848, + 67.531, + 118.179 + ], + "area": 7980.746049000001, + "iscrowd": 0 + }, + { + "id": 986, + "image_id": 176, + "category_id": 1, + "bbox": [ + 581.878, + 297.436, + 283.043, + 417.627 + ], + "area": 118206.398961, + "iscrowd": 0 + }, + { + "id": 987, + "image_id": 176, + "category_id": 1, + "bbox": [ + 936.352, + 398.169, + 273.098, + 316.692 + ], + "area": 86487.951816, + "iscrowd": 0 + }, + { + "id": 988, + "image_id": 176, + "category_id": 1, + "bbox": [ + 606.225, + 348.681, + 78.4155, + 131.29 + ], + "area": 10295.170994999999, + "iscrowd": 0 + }, + { + "id": 989, + "image_id": 176, + "category_id": 1, + "bbox": [ + 544.268, + 413.194, + 90.5874, + 303.597 + ], + "area": 27502.0628778, + "iscrowd": 0 + }, + { + "id": 990, + "image_id": 176, + "category_id": 0, + "bbox": [ + 936.93, + 501.756, + 168.32, + 215.466 + ], + "area": 36267.23712, + "iscrowd": 0 + }, + { + "id": 991, + "image_id": 176, + "category_id": 0, + "bbox": [ + 547.915, + 470.088, + 75.5407, + 101.44 + ], + "area": 7662.848608, + "iscrowd": 0 + }, + { + "id": 992, + "image_id": 177, + "category_id": 1, + "bbox": [ + 724.586, + 237.816, + 116.639, + 295.493 + ], + "area": 34466.008026999996, + "iscrowd": 0 + }, + { + "id": 993, + "image_id": 177, + "category_id": 1, + "bbox": [ + 570.638, + 233.718, + 113.558, + 241.53 + ], + "area": 27427.663740000004, + "iscrowd": 0 + }, + { + "id": 994, + "image_id": 177, + "category_id": 1, + "bbox": [ + 663.797, + 214.589, + 92.8411, + 273.09 + ], + "area": 25353.975999, + "iscrowd": 0 + }, + { + "id": 995, + "image_id": 177, + "category_id": 1, + "bbox": [ + 190.374, + 197.306, + 98.8918, + 126.258 + ], + "area": 12485.8808844, + "iscrowd": 0 + }, + { + "id": 996, + "image_id": 177, + "category_id": 1, + "bbox": [ + 496.597, + 234.041, + 74.1411, + 203.616 + ], + "area": 15096.3142176, + "iscrowd": 0 + }, + { + "id": 997, + "image_id": 177, + "category_id": 0, + "bbox": [ + 666.372, + 250.262, + 63.5586, + 99.3103 + ], + "area": 6312.02363358, + "iscrowd": 0 + }, + { + "id": 998, + "image_id": 177, + "category_id": 0, + "bbox": [ + 526.345, + 265.159, + 49.6552, + 82.4276 + ], + "area": 4092.95896352, + "iscrowd": 0 + }, + { + "id": 999, + "image_id": 177, + "category_id": 0, + "bbox": [ + 312.828, + 174.786, + 52.6345, + 72.4966 + ], + "area": 3815.8222927, + "iscrowd": 0 + }, + { + "id": 1000, + "image_id": 177, + "category_id": 1, + "bbox": [ + 315.807, + 200.607, + 78.4552, + 137.048 + ], + "area": 10752.1282496, + "iscrowd": 0 + }, + { + "id": 1001, + "image_id": 177, + "category_id": 0, + "bbox": [ + 729.931, + 295.945, + 65.5448, + 86.4 + ], + "area": 5663.07072, + "iscrowd": 0 + }, + { + "id": 1007, + "image_id": 179, + "category_id": 1, + "bbox": [ + 977.263, + 401.097, + 302.146, + 318.903 + ], + "area": 96355.265838, + "iscrowd": 0 + }, + { + "id": 1008, + "image_id": 179, + "category_id": 1, + "bbox": [ + 586.335, + 269.79, + 241.228, + 450.21 + ], + "area": 108603.25788, + "iscrowd": 0 + }, + { + "id": 1009, + "image_id": 179, + "category_id": 1, + "bbox": [ + 550.96, + 417.293, + 65.532, + 300.476 + ], + "area": 19690.793232, + "iscrowd": 0 + }, + { + "id": 1010, + "image_id": 179, + "category_id": 0, + "bbox": [ + 982.35, + 536.883, + 175.839, + 181.649 + ], + "area": 31940.978511, + "iscrowd": 0 + }, + { + "id": 1011, + "image_id": 179, + "category_id": 1, + "bbox": [ + 814.762, + 413.287, + 90.545, + 306.713 + ], + "area": 27771.328585000003, + "iscrowd": 0 + }, + { + "id": 1012, + "image_id": 179, + "category_id": 0, + "bbox": [ + 824.488, + 499.7, + 65.1146, + 62.2419 + ], + "area": 4052.85642174, + "iscrowd": 0 + }, + { + "id": 1013, + "image_id": 179, + "category_id": 0, + "bbox": [ + 550.008, + 477.778, + 57.8315, + 121.061 + ], + "area": 7001.1392215000005, + "iscrowd": 0 + }, + { + "id": 1014, + "image_id": 179, + "category_id": 1, + "bbox": [ + 765.59, + 380.165, + 58.6026, + 74.3802 + ], + "area": 4358.873108520001, + "iscrowd": 0 + }, + { + "id": 1015, + "image_id": 180, + "category_id": 1, + "bbox": [ + 578.024, + 241.851, + 93.1024, + 243.775 + ], + "area": 22696.03756, + "iscrowd": 0 + }, + { + "id": 1016, + "image_id": 180, + "category_id": 1, + "bbox": [ + 738.583, + 256.845, + 122.675, + 318.639 + ], + "area": 39089.039325, + "iscrowd": 0 + }, + { + "id": 1017, + "image_id": 180, + "category_id": 1, + "bbox": [ + 237.11, + 191.365, + 83.5452, + 238.283 + ], + "area": 19907.4008916, + "iscrowd": 0 + }, + { + "id": 1018, + "image_id": 180, + "category_id": 1, + "bbox": [ + 675.861, + 224.278, + 97.097, + 298.249 + ], + "area": 28959.083153, + "iscrowd": 0 + }, + { + "id": 1019, + "image_id": 180, + "category_id": 1, + "bbox": [ + 545.433, + 232.76, + 66.8181, + 208.083 + ], + "area": 13903.7107023, + "iscrowd": 0 + }, + { + "id": 1020, + "image_id": 180, + "category_id": 0, + "bbox": [ + 687.466, + 270.177, + 52.3379, + 94.7741 + ], + "area": 4960.27736839, + "iscrowd": 0 + }, + { + "id": 1021, + "image_id": 180, + "category_id": 0, + "bbox": [ + 720.359, + 315.695, + 87.5336, + 88.9686 + ], + "area": 7787.74184496, + "iscrowd": 0 + }, + { + "id": 1022, + "image_id": 181, + "category_id": 1, + "bbox": [ + 603.949, + 334.729, + 253.455, + 382.043 + ], + "area": 96830.70856500001, + "iscrowd": 0 + }, + { + "id": 1023, + "image_id": 181, + "category_id": 1, + "bbox": [ + 435.498, + 345.32, + 183.081, + 371.5 + ], + "area": 68014.5915, + "iscrowd": 0 + }, + { + "id": 1024, + "image_id": 181, + "category_id": 1, + "bbox": [ + 324.298, + 433.811, + 34.2585, + 41.3985 + ], + "area": 1418.25051225, + "iscrowd": 0 + }, + { + "id": 1025, + "image_id": 181, + "category_id": 0, + "bbox": [ + 668.993, + 627.74, + 189.272, + 91.1434 + ], + "area": 17250.8936048, + "iscrowd": 0 + }, + { + "id": 1026, + "image_id": 181, + "category_id": 0, + "bbox": [ + 435.972, + 453.848, + 109.241, + 144.993 + ], + "area": 15839.180312999999, + "iscrowd": 0 + }, + { + "id": 1027, + "image_id": 182, + "category_id": 1, + "bbox": [ + 319.223, + 227.552, + 380.396, + 486.377 + ], + "area": 185015.865292, + "iscrowd": 0 + }, + { + "id": 1028, + "image_id": 182, + "category_id": 1, + "bbox": [ + 934.925, + 402.859, + 344.405, + 311.13 + ], + "area": 107154.72764999999, + "iscrowd": 0 + }, + { + "id": 1029, + "image_id": 182, + "category_id": 1, + "bbox": [ + 697.68, + 371.134, + 228.497, + 346.479 + ], + "area": 79169.412063, + "iscrowd": 0 + }, + { + "id": 1030, + "image_id": 182, + "category_id": 1, + "bbox": [ + 645.366, + 328.387, + 110.418, + 386.224 + ], + "area": 42646.081632, + "iscrowd": 0 + }, + { + "id": 1031, + "image_id": 182, + "category_id": 1, + "bbox": [ + 862.127, + 417.704, + 107.064, + 299.881 + ], + "area": 32106.459383999994, + "iscrowd": 0 + }, + { + "id": 1032, + "image_id": 182, + "category_id": 0, + "bbox": [ + 775.614, + 506.483, + 155.917, + 142.014 + ], + "area": 22142.396838, + "iscrowd": 0 + }, + { + "id": 1033, + "image_id": 182, + "category_id": 0, + "bbox": [ + 936.497, + 573.021, + 139.034, + 146.979 + ], + "area": 20435.078286, + "iscrowd": 0 + }, + { + "id": 1034, + "image_id": 183, + "category_id": 1, + "bbox": [ + 585.999, + 240.867, + 110.199, + 274.687 + ], + "area": 30270.232713, + "iscrowd": 0 + }, + { + "id": 1035, + "image_id": 183, + "category_id": 1, + "bbox": [ + 773.568, + 274.582, + 127.202, + 338.71 + ], + "area": 43084.58942, + "iscrowd": 0 + }, + { + "id": 1036, + "image_id": 183, + "category_id": 1, + "bbox": [ + 693.273, + 230.582, + 104.271, + 316.06 + ], + "area": 32955.89226, + "iscrowd": 0 + }, + { + "id": 1037, + "image_id": 183, + "category_id": 1, + "bbox": [ + 293.033, + 188.141, + 95.7142, + 240.831 + ], + "area": 23050.9465002, + "iscrowd": 0 + }, + { + "id": 1038, + "image_id": 183, + "category_id": 1, + "bbox": [ + 439.548, + 173.158, + 71.7556, + 147.371 + ], + "area": 10574.6945276, + "iscrowd": 0 + }, + { + "id": 1039, + "image_id": 183, + "category_id": 0, + "bbox": [ + 701.081, + 280.201, + 65.3109, + 115.354 + ], + "area": 7533.8735586, + "iscrowd": 0 + }, + { + "id": 1040, + "image_id": 183, + "category_id": 0, + "bbox": [ + 439.837, + 174.176, + 35.2, + 57.2531 + ], + "area": 2015.3091200000003, + "iscrowd": 0 + }, + { + "id": 1041, + "image_id": 183, + "category_id": 0, + "bbox": [ + 778.267, + 342.967, + 54.2841, + 71.6723 + ], + "area": 3890.6663004300003, + "iscrowd": 0 + }, + { + "id": 1042, + "image_id": 184, + "category_id": 1, + "bbox": [ + 387.823, + 338.477, + 201.699, + 377.218 + ], + "area": 76084.49338200002, + "iscrowd": 0 + }, + { + "id": 1043, + "image_id": 184, + "category_id": 1, + "bbox": [ + 679.61, + 326.242, + 288.605, + 390.539 + ], + "area": 112711.508095, + "iscrowd": 0 + }, + { + "id": 1044, + "image_id": 184, + "category_id": 1, + "bbox": [ + 324.252, + 433.835, + 34.8005, + 41.1216 + ], + "area": 1431.0522408, + "iscrowd": 0 + }, + { + "id": 1045, + "image_id": 184, + "category_id": 0, + "bbox": [ + 391.283, + 469.738, + 125.131, + 160.883 + ], + "area": 20131.450673000003, + "iscrowd": 0 + }, + { + "id": 1046, + "image_id": 184, + "category_id": 0, + "bbox": [ + 801.435, + 621.683, + 236.359, + 98.3172 + ], + "area": 23238.1550748, + "iscrowd": 0 + }, + { + "id": 1047, + "image_id": 185, + "category_id": 1, + "bbox": [ + 98.9851, + 153.785, + 339.621, + 557.622 + ], + "area": 189380.14126199996, + "iscrowd": 0 + }, + { + "id": 1048, + "image_id": 185, + "category_id": 1, + "bbox": [ + 634.496, + 310.89, + 132.554, + 403.2 + ], + "area": 53445.7728, + "iscrowd": 0 + }, + { + "id": 1049, + "image_id": 185, + "category_id": 1, + "bbox": [ + 705.793, + 368.09, + 243.509, + 339.167 + ], + "area": 82590.21700299998, + "iscrowd": 0 + }, + { + "id": 1050, + "image_id": 185, + "category_id": 1, + "bbox": [ + 518.485, + 422.662, + 149.758, + 293.384 + ], + "area": 43936.601072000005, + "iscrowd": 0 + }, + { + "id": 1051, + "image_id": 185, + "category_id": 1, + "bbox": [ + 761.818, + 408.252, + 517.624, + 308.163 + ], + "area": 159512.56471200002, + "iscrowd": 0 + }, + { + "id": 1052, + "image_id": 185, + "category_id": 0, + "bbox": [ + 499.531, + 495.559, + 132.083, + 129.103 + ], + "area": 17052.311549000002, + "iscrowd": 0 + }, + { + "id": 1053, + "image_id": 185, + "category_id": 0, + "bbox": [ + 754.759, + 543.228, + 170.814, + 140.028 + ], + "area": 23918.742791999997, + "iscrowd": 0 + }, + { + "id": 1064, + "image_id": 187, + "category_id": 1, + "bbox": [ + 339.865, + 333.365, + 214.472, + 386.635 + ], + "area": 82922.38172, + "iscrowd": 0 + }, + { + "id": 1065, + "image_id": 187, + "category_id": 1, + "bbox": [ + 324.208, + 433.105, + 33.6261, + 41.9406 + ], + "area": 1410.2988096600002, + "iscrowd": 0 + }, + { + "id": 1066, + "image_id": 187, + "category_id": 1, + "bbox": [ + 759.323, + 293.209, + 295.432, + 426.791 + ], + "area": 126087.718712, + "iscrowd": 0 + }, + { + "id": 1067, + "image_id": 187, + "category_id": 0, + "bbox": [ + 359.503, + 484.634, + 156.91, + 174.786 + ], + "area": 27425.67126, + "iscrowd": 0 + }, + { + "id": 1073, + "image_id": 189, + "category_id": 1, + "bbox": [ + 584.209, + 277.464, + 117.246, + 310.994 + ], + "area": 36462.802524, + "iscrowd": 0 + }, + { + "id": 1074, + "image_id": 189, + "category_id": 1, + "bbox": [ + 823.592, + 301.973, + 156.507, + 401.387 + ], + "area": 62819.875209000005, + "iscrowd": 0 + }, + { + "id": 1075, + "image_id": 189, + "category_id": 1, + "bbox": [ + 422.69, + 187.041, + 57.2221, + 137.698 + ], + "area": 7879.3687258, + "iscrowd": 0 + }, + { + "id": 1076, + "image_id": 189, + "category_id": 1, + "bbox": [ + 683.636, + 250.731, + 131.784, + 369.3 + ], + "area": 48667.8312, + "iscrowd": 0 + }, + { + "id": 1077, + "image_id": 189, + "category_id": 1, + "bbox": [ + 570.423, + 174.785, + 82.2944, + 156.035 + ], + "area": 12840.806703999999, + "iscrowd": 0 + }, + { + "id": 1078, + "image_id": 189, + "category_id": 1, + "bbox": [ + 669.02, + 251.915, + 64.3641, + 262.506 + ], + "area": 16895.9624346, + "iscrowd": 0 + }, + { + "id": 1079, + "image_id": 189, + "category_id": 0, + "bbox": [ + 570.041, + 170.814, + 38.8337, + 61.2579 + ], + "area": 2378.87091123, + "iscrowd": 0 + }, + { + "id": 1080, + "image_id": 189, + "category_id": 0, + "bbox": [ + 710.909, + 310.909, + 86.3636, + 130.909 + ], + "area": 11305.7725124, + "iscrowd": 0 + }, + { + "id": 1081, + "image_id": 189, + "category_id": 0, + "bbox": [ + 828.182, + 388.947, + 96.7024, + 98.8276 + ], + "area": 9556.86610624, + "iscrowd": 0 + }, + { + "id": 1086, + "image_id": 191, + "category_id": 1, + "bbox": [ + 416.029, + 352.183, + 393.621, + 363.186 + ], + "area": 142957.63650599998, + "iscrowd": 0 + }, + { + "id": 1087, + "image_id": 191, + "category_id": 1, + "bbox": [ + 670.243, + 274.956, + 189.879, + 438.477 + ], + "area": 83257.574283, + "iscrowd": 0 + }, + { + "id": 1088, + "image_id": 191, + "category_id": 1, + "bbox": [ + 904.625, + 446.323, + 243.217, + 269.723 + ], + "area": 65601.21889100001, + "iscrowd": 0 + }, + { + "id": 1089, + "image_id": 191, + "category_id": 0, + "bbox": [ + 245.183, + 516.125, + 154.65, + 200.498 + ], + "area": 31007.0157, + "iscrowd": 0 + }, + { + "id": 1090, + "image_id": 191, + "category_id": 1, + "bbox": [ + 304.758, + 434.178, + 212.948, + 283.073 + ], + "area": 60279.829203999994, + "iscrowd": 0 + }, + { + "id": 1091, + "image_id": 191, + "category_id": 0, + "bbox": [ + 818.317, + 590.897, + 134.069, + 129.103 + ], + "area": 17308.710107, + "iscrowd": 0 + }, + { + "id": 1092, + "image_id": 192, + "category_id": 1, + "bbox": [ + 573.728, + 287.97, + 134.963, + 338.093 + ], + "area": 45630.045559, + "iscrowd": 0 + }, + { + "id": 1093, + "image_id": 192, + "category_id": 1, + "bbox": [ + 842.239, + 323.158, + 178.113, + 393.211 + ], + "area": 70035.990843, + "iscrowd": 0 + }, + { + "id": 1094, + "image_id": 192, + "category_id": 1, + "bbox": [ + 477.44, + 184.229, + 103.851, + 255.956 + ], + "area": 26581.286556, + "iscrowd": 0 + }, + { + "id": 1095, + "image_id": 192, + "category_id": 1, + "bbox": [ + 630.017, + 169.999, + 89.7976, + 168.403 + ], + "area": 15122.1852328, + "iscrowd": 0 + }, + { + "id": 1096, + "image_id": 192, + "category_id": 1, + "bbox": [ + 704.801, + 260.414, + 134.364, + 398.338 + ], + "area": 53522.28703200001, + "iscrowd": 0 + }, + { + "id": 1097, + "image_id": 192, + "category_id": 1, + "bbox": [ + 684.403, + 264.782, + 60.4348, + 287.534 + ], + "area": 17377.0597832, + "iscrowd": 0 + }, + { + "id": 1098, + "image_id": 192, + "category_id": 0, + "bbox": [ + 774.482, + 309.522, + 73.5885, + 158.337 + ], + "area": 11651.782324499998, + "iscrowd": 0 + }, + { + "id": 1099, + "image_id": 192, + "category_id": 0, + "bbox": [ + 832.221, + 417.103, + 87.3931, + 107.255 + ], + "area": 9373.3469405, + "iscrowd": 0 + }, + { + "id": 1100, + "image_id": 192, + "category_id": 0, + "bbox": [ + 635.586, + 168.828, + 42.7034, + 61.5724 + ], + "area": 2629.35082616, + "iscrowd": 0 + }, + { + "id": 1104, + "image_id": 194, + "category_id": 1, + "bbox": [ + 487.884, + 241.858, + 318.086, + 473.459 + ], + "area": 150600.679474, + "iscrowd": 0 + }, + { + "id": 1105, + "image_id": 194, + "category_id": 1, + "bbox": [ + 114.389, + 308.179, + 386.993, + 406.59 + ], + "area": 157347.48387, + "iscrowd": 0 + }, + { + "id": 1106, + "image_id": 194, + "category_id": 0, + "bbox": [ + 0.524549, + 569.631, + 139.34, + 147.919 + ], + "area": 20611.033460000002, + "iscrowd": 0 + }, + { + "id": 1107, + "image_id": 194, + "category_id": 1, + "bbox": [ + 664.101, + 457.788, + 308.105, + 258.899 + ], + "area": 79768.07639500001, + "iscrowd": 0 + }, + { + "id": 1108, + "image_id": 195, + "category_id": 1, + "bbox": [ + 541.563, + 306.844, + 145.551, + 352.867 + ], + "area": 51360.144716999996, + "iscrowd": 0 + }, + { + "id": 1109, + "image_id": 195, + "category_id": 1, + "bbox": [ + 687.125, + 180.009, + 95.7722, + 174.089 + ], + "area": 16672.8865258, + "iscrowd": 0 + }, + { + "id": 1110, + "image_id": 195, + "category_id": 1, + "bbox": [ + 758.639, + 346.757, + 158.461, + 369.617 + ], + "area": 58569.87943700001, + "iscrowd": 0 + }, + { + "id": 1111, + "image_id": 195, + "category_id": 1, + "bbox": [ + 526.722, + 182.202, + 65.1865, + 247.443 + ], + "area": 16129.9431195, + "iscrowd": 0 + }, + { + "id": 1112, + "image_id": 195, + "category_id": 1, + "bbox": [ + 705.478, + 280.366, + 98.5227, + 433.276 + ], + "area": 42687.5213652, + "iscrowd": 0 + }, + { + "id": 1113, + "image_id": 195, + "category_id": 0, + "bbox": [ + 700.196, + 154.185, + 33.9489, + 45.2652 + ], + "area": 1536.7037482800001, + "iscrowd": 0 + }, + { + "id": 1114, + "image_id": 195, + "category_id": 0, + "bbox": [ + 841.65, + 342.318, + 43.8507, + 50.9234 + ], + "area": 2233.0267363800003, + "iscrowd": 0 + }, + { + "id": 1115, + "image_id": 195, + "category_id": 0, + "bbox": [ + 727.073, + 442.75, + 83.4578, + 125.894 + ], + "area": 10506.8362732, + "iscrowd": 0 + }, + { + "id": 1119, + "image_id": 197, + "category_id": 1, + "bbox": [ + 383.882, + 189.671, + 304.514, + 530.329 + ], + "area": 161492.605106, + "iscrowd": 0 + }, + { + "id": 1120, + "image_id": 197, + "category_id": 1, + "bbox": [ + 285.327, + 493.87, + 349.011, + 226.13 + ], + "area": 78921.85743, + "iscrowd": 0 + }, + { + "id": 1121, + "image_id": 197, + "category_id": 1, + "bbox": [ + 0.702765, + 483.421, + 71.1481, + 236.579 + ], + "area": 16832.146349900002, + "iscrowd": 0 + }, + { + "id": 1131, + "image_id": 199, + "category_id": 1, + "bbox": [ + 623.865, + 302.196, + 369.024, + 417.804 + ], + "area": 154179.703296, + "iscrowd": 0 + }, + { + "id": 1132, + "image_id": 199, + "category_id": 1, + "bbox": [ + 324.001, + 433.368, + 33.8708, + 41.7798 + ], + "area": 1415.1152498400002, + "iscrowd": 0 + }, + { + "id": 1133, + "image_id": 199, + "category_id": 1, + "bbox": [ + 805.919, + 300.716, + 5.15513, + 2.57757 + ], + "area": 13.2877084341, + "iscrowd": 0 + }, + { + "id": 1134, + "image_id": 200, + "category_id": 1, + "bbox": [ + 3.27112e-14, + 90.0767, + 453.311, + 629.923 + ], + "area": 285551.02505299996, + "iscrowd": 0 + }, + { + "id": 1135, + "image_id": 201, + "category_id": 1, + "bbox": [ + 598.592, + 182.159, + 102.451, + 295.857 + ], + "area": 30310.845507, + "iscrowd": 0 + }, + { + "id": 1136, + "image_id": 201, + "category_id": 1, + "bbox": [ + 841.749, + 345.64, + 198.498, + 372.661 + ], + "area": 73972.46317799999, + "iscrowd": 0 + }, + { + "id": 1137, + "image_id": 201, + "category_id": 1, + "bbox": [ + 718.606, + 324.74, + 140.018, + 391.408 + ], + "area": 54804.165344, + "iscrowd": 0 + }, + { + "id": 1138, + "image_id": 201, + "category_id": 1, + "bbox": [ + 447.668, + 441.912, + 207.431, + 275.796 + ], + "area": 57208.640076, + "iscrowd": 0 + }, + { + "id": 1139, + "image_id": 201, + "category_id": 1, + "bbox": [ + 764.364, + 177.701, + 120.081, + 284.45 + ], + "area": 34157.04045, + "iscrowd": 0 + }, + { + "id": 1140, + "image_id": 201, + "category_id": 1, + "bbox": [ + 534.484, + 363.663, + 118.278, + 241.057 + ], + "area": 28511.739846, + "iscrowd": 0 + }, + { + "id": 1141, + "image_id": 201, + "category_id": 0, + "bbox": [ + 880.374, + 456.29, + 131.327, + 213.257 + ], + "area": 28006.402039, + "iscrowd": 0 + }, + { + "id": 1142, + "image_id": 201, + "category_id": 0, + "bbox": [ + 385.548, + 555.429, + 150.636, + 164.571 + ], + "area": 24790.317155999997, + "iscrowd": 0 + }, + { + "id": 1143, + "image_id": 201, + "category_id": 0, + "bbox": [ + 743.889, + 410.101, + 104.184, + 116.129 + ], + "area": 12098.783736, + "iscrowd": 0 + }, + { + "id": 1144, + "image_id": 201, + "category_id": 0, + "bbox": [ + 781.467, + 165.203, + 53.5996, + 71.5137 + ], + "area": 3833.10571452, + "iscrowd": 0 + }, + { + "id": 1148, + "image_id": 203, + "category_id": 1, + "bbox": [ + 459.563, + 409.18, + 210.514, + 307.636 + ], + "area": 64761.68490400001, + "iscrowd": 0 + }, + { + "id": 1149, + "image_id": 203, + "category_id": 1, + "bbox": [ + 615.449, + 188.733, + 105.032, + 319.85 + ], + "area": 33594.4852, + "iscrowd": 0 + }, + { + "id": 1150, + "image_id": 203, + "category_id": 1, + "bbox": [ + 724.915, + 355.147, + 152.168, + 363.202 + ], + "area": 55267.721936, + "iscrowd": 0 + }, + { + "id": 1151, + "image_id": 203, + "category_id": 1, + "bbox": [ + 780.826, + 178.583, + 131.631, + 276.876 + ], + "area": 36445.464755999994, + "iscrowd": 0 + }, + { + "id": 1152, + "image_id": 203, + "category_id": 1, + "bbox": [ + 939.065, + 397.716, + 251.991, + 319.211 + ], + "area": 80438.29910100001, + "iscrowd": 0 + }, + { + "id": 1153, + "image_id": 203, + "category_id": 1, + "bbox": [ + 251.807, + 509.583, + 273.601, + 209.018 + ], + "area": 57187.533818, + "iscrowd": 0 + }, + { + "id": 1154, + "image_id": 203, + "category_id": 0, + "bbox": [ + 810.372, + 173.793, + 72.4966, + 42.7034 + ], + "area": 3095.85130844, + "iscrowd": 0 + }, + { + "id": 1155, + "image_id": 203, + "category_id": 0, + "bbox": [ + 740.855, + 454.841, + 130.097, + 143.007 + ], + "area": 18604.781679000003, + "iscrowd": 0 + }, + { + "id": 1156, + "image_id": 203, + "category_id": 0, + "bbox": [ + 994.097, + 539.255, + 184.717, + 180.745 + ], + "area": 33386.674165000004, + "iscrowd": 0 + }, + { + "id": 1157, + "image_id": 204, + "category_id": 1, + "bbox": [ + 1070.91, + 270.44, + 208.35, + 441.045 + ], + "area": 91891.72575, + "iscrowd": 0 + }, + { + "id": 1158, + "image_id": 204, + "category_id": 0, + "bbox": [ + 894.886, + 562.169, + 228.779, + 156.15 + ], + "area": 35723.84085, + "iscrowd": 0 + }, + { + "id": 1159, + "image_id": 204, + "category_id": 1, + "bbox": [ + 324.067, + 433.403, + 34.0684, + 41.7375 + ], + "area": 1421.929845, + "iscrowd": 0 + }, + { + "id": 1160, + "image_id": 205, + "category_id": 1, + "bbox": [ + 635.55, + 195.426, + 119.772, + 346.85 + ], + "area": 41542.91820000001, + "iscrowd": 0 + }, + { + "id": 1161, + "image_id": 205, + "category_id": 1, + "bbox": [ + 471.766, + 468.272, + 236.816, + 251.728 + ], + "area": 59613.218048, + "iscrowd": 0 + }, + { + "id": 1162, + "image_id": 205, + "category_id": 1, + "bbox": [ + 794.655, + 183.332, + 142.669, + 381.114 + ], + "area": 54373.153266, + "iscrowd": 0 + }, + { + "id": 1163, + "image_id": 205, + "category_id": 1, + "bbox": [ + 724.117, + 394.23, + 176.653, + 323.376 + ], + "area": 57125.34052799999, + "iscrowd": 0 + }, + { + "id": 1164, + "image_id": 205, + "category_id": 1, + "bbox": [ + 1136.33, + 536.931, + 143.672, + 183.069 + ], + "area": 26301.889367999996, + "iscrowd": 0 + }, + { + "id": 1165, + "image_id": 205, + "category_id": 1, + "bbox": [ + 63.6079, + 604.701, + 166.126, + 115.299 + ], + "area": 19154.161674000003, + "iscrowd": 0 + }, + { + "id": 1166, + "image_id": 205, + "category_id": 0, + "bbox": [ + 756.945, + 516.372, + 122.864, + 139.188 + ], + "area": 17101.194432, + "iscrowd": 0 + }, + { + "id": 1167, + "image_id": 205, + "category_id": 0, + "bbox": [ + 824.821, + 176.134, + 62.7207, + 60.1427 + ], + "area": 3772.19224389, + "iscrowd": 0 + }, + { + "id": 1168, + "image_id": 206, + "category_id": 1, + "bbox": [ + 324.006, + 433.397, + 33.8871, + 41.8811 + ], + "area": 1419.22902381, + "iscrowd": 0 + }, + { + "id": 1169, + "image_id": 207, + "category_id": 1, + "bbox": [ + 681.407, + 191.809, + 107.008, + 355.568 + ], + "area": 38048.620544, + "iscrowd": 0 + }, + { + "id": 1170, + "image_id": 207, + "category_id": 1, + "bbox": [ + 814.621, + 201.276, + 159.418, + 348.06 + ], + "area": 55487.02908, + "iscrowd": 0 + }, + { + "id": 1171, + "image_id": 207, + "category_id": 1, + "bbox": [ + 747.164, + 449.606, + 178.354, + 268.309 + ], + "area": 47853.98338600001, + "iscrowd": 0 + }, + { + "id": 1172, + "image_id": 207, + "category_id": 1, + "bbox": [ + 422.333, + 575.907, + 225.397, + 143.455 + ], + "area": 32334.326635, + "iscrowd": 0 + }, + { + "id": 1173, + "image_id": 207, + "category_id": 0, + "bbox": [ + 816.331, + 589.903, + 106.262, + 130.097 + ], + "area": 13824.367414, + "iscrowd": 0 + }, + { + "id": 1174, + "image_id": 207, + "category_id": 0, + "bbox": [ + 860.028, + 178.759, + 60.5793, + 39.7241 + ], + "area": 2406.45817113, + "iscrowd": 0 + }, + { + "id": 1175, + "image_id": 208, + "category_id": 1, + "bbox": [ + 324.062, + 433.325, + 34.0794, + 41.9375 + ], + "area": 1429.2048375, + "iscrowd": 0 + }, + { + "id": 1176, + "image_id": 209, + "category_id": 1, + "bbox": [ + 814.301, + 213.503, + 181.456, + 342.345 + ], + "area": 62120.55432, + "iscrowd": 0 + }, + { + "id": 1177, + "image_id": 209, + "category_id": 1, + "bbox": [ + 734.631, + 188.372, + 114.719, + 364.212 + ], + "area": 41782.036428, + "iscrowd": 0 + }, + { + "id": 1178, + "image_id": 209, + "category_id": 1, + "bbox": [ + 784.347, + 534.381, + 218.547, + 183.801 + ], + "area": 40169.157147, + "iscrowd": 0 + }, + { + "id": 1179, + "image_id": 209, + "category_id": 0, + "bbox": [ + 878.897, + 181.738, + 53.6276, + 47.669 + ], + "area": 2556.3740644, + "iscrowd": 0 + }, + { + "id": 1180, + "image_id": 210, + "category_id": 1, + "bbox": [ + 832.465, + 233.809, + 205.023, + 479.79 + ], + "area": 98367.98517, + "iscrowd": 0 + }, + { + "id": 1181, + "image_id": 210, + "category_id": 1, + "bbox": [ + 830.334, + 189.548, + 90.5304, + 420.118 + ], + "area": 38033.4505872, + "iscrowd": 0 + }, + { + "id": 1182, + "image_id": 210, + "category_id": 0, + "bbox": [ + 908.134, + 196.621, + 45.2652, + 53.7525 + ], + "area": 2433.117663, + "iscrowd": 0 + }, + { + "id": 1183, + "image_id": 211, + "category_id": 1, + "bbox": [ + 822.606, + 267.079, + 240.639, + 452.921 + ], + "area": 108990.456519, + "iscrowd": 0 + }, + { + "id": 1184, + "image_id": 211, + "category_id": 1, + "bbox": [ + 967.817, + 200.924, + 74.95, + 139.518 + ], + "area": 10456.8741, + "iscrowd": 0 + }, + { + "id": 1185, + "image_id": 211, + "category_id": 1, + "bbox": [ + 967.485, + 199.643, + 99.7322, + 438.017 + ], + "area": 43684.3990474, + "iscrowd": 0 + }, + { + "id": 1186, + "image_id": 211, + "category_id": 0, + "bbox": [ + 899.583, + 209.642, + 80.0163, + 143.069 + ], + "area": 11447.8520247, + "iscrowd": 0 + }, + { + "id": 1187, + "image_id": 212, + "category_id": 1, + "bbox": [ + 846.29, + 296.097, + 281.494, + 417.078 + ], + "area": 117404.954532, + "iscrowd": 0 + }, + { + "id": 1188, + "image_id": 212, + "category_id": 1, + "bbox": [ + 1013.02, + 209.813, + 207.252, + 498.447 + ], + "area": 103304.137644, + "iscrowd": 0 + }, + { + "id": 1189, + "image_id": 212, + "category_id": 0, + "bbox": [ + 890.544, + 239.558, + 131.392, + 158.599 + ], + "area": 20838.639807999996, + "iscrowd": 0 + }, + { + "id": 1190, + "image_id": 213, + "category_id": 1, + "bbox": [ + 897.771, + 332.818, + 365.809, + 387.182 + ], + "area": 141634.660238, + "iscrowd": 0 + }, + { + "id": 1191, + "image_id": 213, + "category_id": 1, + "bbox": [ + 1092.45, + 213.711, + 138.125, + 506.289 + ], + "area": 69931.168125, + "iscrowd": 0 + }, + { + "id": 1192, + "image_id": 213, + "category_id": 0, + "bbox": [ + 951.393, + 260.193, + 169.821, + 198.621 + ], + "area": 33730.016841000004, + "iscrowd": 0 + }, + { + "id": 1193, + "image_id": 214, + "category_id": 1, + "bbox": [ + 961.817, + 402.945, + 317.458, + 311.609 + ], + "area": 98922.769922, + "iscrowd": 0 + }, + { + "id": 1194, + "image_id": 214, + "category_id": 0, + "bbox": [ + 1025.18, + 308.459, + 249.909, + 215.874 + ], + "area": 53948.85546599999, + "iscrowd": 0 + }, + { + "id": 1195, + "image_id": 215, + "category_id": 1, + "bbox": [ + 1146.45, + 383.367, + 132.968, + 332.018 + ], + "area": 44147.76942399999, + "iscrowd": 0 + }, + { + "id": 1196, + "image_id": 216, + "category_id": 1, + "bbox": [ + 998.249, + 437.815, + 80.0657, + 98.7859 + ], + "area": 7909.36223363, + "iscrowd": 0 + }, + { + "id": 1197, + "image_id": 216, + "category_id": 1, + "bbox": [ + 1051.7, + 430.669, + 73.5225, + 105.165 + ], + "area": 7731.9937125, + "iscrowd": 0 + }, + { + "id": 1198, + "image_id": 216, + "category_id": 0, + "bbox": [ + 1106.32, + 474.703, + 34.7586, + 55.6138 + ], + "area": 1933.05782868, + "iscrowd": 0 + }, + { + "id": 1199, + "image_id": 217, + "category_id": 1, + "bbox": [ + 733.113, + 391.477, + 104.819, + 314.738 + ], + "area": 32990.522422, + "iscrowd": 0 + }, + { + "id": 1200, + "image_id": 217, + "category_id": 1, + "bbox": [ + 990.989, + 395.985, + 85.4097, + 139.969 + ], + "area": 11954.710299299999, + "iscrowd": 0 + }, + { + "id": 1201, + "image_id": 217, + "category_id": 1, + "bbox": [ + 890.9, + 406.624, + 122.056, + 129.599 + ], + "area": 15818.335543999998, + "iscrowd": 0 + }, + { + "id": 1202, + "image_id": 217, + "category_id": 1, + "bbox": [ + 1115.31, + 404.135, + 82.1367, + 141.479 + ], + "area": 11620.618179300001, + "iscrowd": 0 + }, + { + "id": 1203, + "image_id": 217, + "category_id": 1, + "bbox": [ + 322.451, + 432.033, + 35.4305, + 41.9308 + ], + "area": 1485.6292094, + "iscrowd": 0 + }, + { + "id": 1204, + "image_id": 217, + "category_id": 0, + "bbox": [ + 917.061, + 442.928, + 55.6526, + 55.4198 + ], + "area": 3084.25596148, + "iscrowd": 0 + }, + { + "id": 1205, + "image_id": 217, + "category_id": 0, + "bbox": [ + 888.774, + 426.414, + 54.803, + 82.8969 + ], + "area": 4542.9988107, + "iscrowd": 0 + }, + { + "id": 1206, + "image_id": 217, + "category_id": 0, + "bbox": [ + 985.836, + 432.027, + 38.7097, + 95.3259 + ], + "area": 3690.03699123, + "iscrowd": 0 + }, + { + "id": 1207, + "image_id": 217, + "category_id": 1, + "bbox": [ + 1233.0, + 391.0, + 47.0, + 185.0 + ], + "area": 8695.0, + "iscrowd": 0 + }, + { + "id": 1208, + "image_id": 217, + "category_id": 1, + "bbox": [ + 932.587, + 386.03, + 41.2066, + 42.3355 + ], + "area": 1744.5020143000002, + "iscrowd": 0 + }, + { + "id": 1212, + "image_id": 219, + "category_id": 1, + "bbox": [ + 731.826, + 392.856, + 107.081, + 312.967 + ], + "area": 33512.819327, + "iscrowd": 0 + }, + { + "id": 1213, + "image_id": 219, + "category_id": 1, + "bbox": [ + 1058.86, + 398.502, + 94.5393, + 145.7 + ], + "area": 13774.376009999998, + "iscrowd": 0 + }, + { + "id": 1214, + "image_id": 219, + "category_id": 1, + "bbox": [ + 1171.36, + 392.193, + 94.4255, + 122.352 + ], + "area": 11553.148776, + "iscrowd": 0 + }, + { + "id": 1215, + "image_id": 219, + "category_id": 1, + "bbox": [ + 856.137, + 408.797, + 119.616, + 126.22 + ], + "area": 15097.93152, + "iscrowd": 0 + }, + { + "id": 1216, + "image_id": 219, + "category_id": 1, + "bbox": [ + 956.801, + 389.411, + 71.9821, + 139.553 + ], + "area": 10045.3180013, + "iscrowd": 0 + }, + { + "id": 1217, + "image_id": 219, + "category_id": 1, + "bbox": [ + 322.201, + 432.519, + 35.4805, + 41.6432 + ], + "area": 1477.5215576, + "iscrowd": 0 + }, + { + "id": 1218, + "image_id": 219, + "category_id": 0, + "bbox": [ + 867.55, + 443.918, + 59.6257, + 62.3361 + ], + "area": 3716.8335977700003, + "iscrowd": 0 + }, + { + "id": 1219, + "image_id": 220, + "category_id": 1, + "bbox": [ + 999.847, + 436.032, + 68.8354, + 97.8233 + ], + "area": 6733.705984820001, + "iscrowd": 0 + }, + { + "id": 1220, + "image_id": 220, + "category_id": 1, + "bbox": [ + 1129.65, + 425.623, + 59.3905, + 93.9706 + ], + "area": 5580.960919300001, + "iscrowd": 0 + }, + { + "id": 1221, + "image_id": 220, + "category_id": 0, + "bbox": [ + 1188.21, + 471.041, + 45.2652, + 45.2652 + ], + "area": 2048.93833104, + "iscrowd": 0 + }, + { + "id": 1222, + "image_id": 221, + "category_id": 1, + "bbox": [ + 0.0712419, + 367.076, + 79.2999, + 233.896 + ], + "area": 18547.929410399996, + "iscrowd": 0 + }, + { + "id": 1230, + "image_id": 223, + "category_id": 1, + "bbox": [ + 997.139, + 436.83, + 102.969, + 102.637 + ], + "area": 10568.429253, + "iscrowd": 0 + }, + { + "id": 1231, + "image_id": 223, + "category_id": 1, + "bbox": [ + 1152.39, + 435.717, + 58.8115, + 83.9828 + ], + "area": 4939.1544422, + "iscrowd": 0 + }, + { + "id": 1232, + "image_id": 223, + "category_id": 0, + "bbox": [ + 1067.1, + 434.39, + 55.6156, + 80.237 + ], + "area": 4462.4288971999995, + "iscrowd": 0 + }, + { + "id": 1233, + "image_id": 224, + "category_id": 1, + "bbox": [ + 0.481536, + 385.391, + 63.8127, + 204.094 + ], + "area": 13023.7891938, + "iscrowd": 0 + }, + { + "id": 1234, + "image_id": 224, + "category_id": 1, + "bbox": [ + 55.1101, + 368.278, + 66.3122, + 73.9166 + ], + "area": 4901.572362520001, + "iscrowd": 0 + }, + { + "id": 1244, + "image_id": 226, + "category_id": 1, + "bbox": [ + 996.405, + 436.753, + 90.1584, + 98.8195 + ], + "area": 8909.408008800001, + "iscrowd": 0 + }, + { + "id": 1245, + "image_id": 226, + "category_id": 1, + "bbox": [ + 1176.9, + 422.947, + 59.4106, + 72.627 + ], + "area": 4314.8136462, + "iscrowd": 0 + }, + { + "id": 1246, + "image_id": 227, + "category_id": 1, + "bbox": [ + 134.392, + 371.154, + 69.9937, + 80.7759 + ], + "area": 5653.80411183, + "iscrowd": 0 + }, + { + "id": 1247, + "image_id": 227, + "category_id": 1, + "bbox": [ + 40.7172, + 375.393, + 76.469, + 81.4345 + ], + "area": 6227.2147804999995, + "iscrowd": 0 + }, + { + "id": 1248, + "image_id": 228, + "category_id": 1, + "bbox": [ + 665.094, + 392.361, + 94.3096, + 321.673 + ], + "area": 30336.851960800002, + "iscrowd": 0 + }, + { + "id": 1249, + "image_id": 228, + "category_id": 1, + "bbox": [ + 1015.82, + 394.48, + 81.385, + 144.202 + ], + "area": 11735.879770000001, + "iscrowd": 0 + }, + { + "id": 1250, + "image_id": 228, + "category_id": 1, + "bbox": [ + 1136.64, + 391.375, + 75.6399, + 128.586 + ], + "area": 9726.2321814, + "iscrowd": 0 + }, + { + "id": 1251, + "image_id": 228, + "category_id": 1, + "bbox": [ + 880.93, + 408.621, + 112.145, + 130.016 + ], + "area": 14580.644319999998, + "iscrowd": 0 + }, + { + "id": 1252, + "image_id": 228, + "category_id": 1, + "bbox": [ + 317.323, + 435.187, + 43.1094, + 39.5741 + ], + "area": 1706.01570654, + "iscrowd": 0 + }, + { + "id": 1253, + "image_id": 228, + "category_id": 0, + "bbox": [ + 826.09, + 437.092, + 45.2652, + 72.1415 + ], + "area": 3265.4994257999997, + "iscrowd": 0 + }, + { + "id": 1254, + "image_id": 228, + "category_id": 1, + "bbox": [ + 852.967, + 388.998, + 49.5088, + 173.988 + ], + "area": 8613.9370944, + "iscrowd": 0 + }, + { + "id": 1255, + "image_id": 228, + "category_id": 1, + "bbox": [ + 903.89, + 384.754, + 26.8762, + 56.5815 + ], + "area": 1520.6957103, + "iscrowd": 0 + }, + { + "id": 1256, + "image_id": 228, + "category_id": 0, + "bbox": [ + 888.33, + 449.823, + 46.6798, + 69.3124 + ], + "area": 3235.48896952, + "iscrowd": 0 + }, + { + "id": 1257, + "image_id": 229, + "category_id": 1, + "bbox": [ + 999.108, + 437.78, + 89.4673, + 98.7771 + ], + "area": 8837.32043883, + "iscrowd": 0 + }, + { + "id": 1258, + "image_id": 229, + "category_id": 1, + "bbox": [ + 1227.33, + 435.861, + 52.6694, + 69.9026 + ], + "area": 3681.7280004400004, + "iscrowd": 0 + }, + { + "id": 1259, + "image_id": 230, + "category_id": 1, + "bbox": [ + 180.404, + 375.737, + 78.4114, + 206.479 + ], + "area": 16190.307460600001, + "iscrowd": 0 + }, + { + "id": 1260, + "image_id": 230, + "category_id": 1, + "bbox": [ + 80.387, + 387.265, + 42.5377, + 55.9562 + ], + "area": 2380.2480487400003, + "iscrowd": 0 + }, + { + "id": 1261, + "image_id": 230, + "category_id": 1, + "bbox": [ + 0.0515938, + 389.255, + 38.3916, + 63.4301 + ], + "area": 2435.1830271599997, + "iscrowd": 0 + }, + { + "id": 1262, + "image_id": 230, + "category_id": 0, + "bbox": [ + 181.738, + 412.138, + 73.4897, + 65.5448 + ], + "area": 4816.86768856, + "iscrowd": 0 + }, + { + "id": 1263, + "image_id": 231, + "category_id": 1, + "bbox": [ + 609.322, + 391.964, + 125.89, + 327.504 + ], + "area": 41229.47856, + "iscrowd": 0 + }, + { + "id": 1264, + "image_id": 231, + "category_id": 1, + "bbox": [ + 1134.8, + 392.018, + 70.6035, + 127.481 + ], + "area": 9000.604783499999, + "iscrowd": 0 + }, + { + "id": 1265, + "image_id": 231, + "category_id": 1, + "bbox": [ + 990.727, + 396.391, + 67.1919, + 137.193 + ], + "area": 9218.2583367, + "iscrowd": 0 + }, + { + "id": 1266, + "image_id": 231, + "category_id": 1, + "bbox": [ + 808.332, + 385.408, + 103.27, + 319.911 + ], + "area": 33037.20897, + "iscrowd": 0 + }, + { + "id": 1267, + "image_id": 231, + "category_id": 1, + "bbox": [ + 317.413, + 434.734, + 41.5864, + 39.9283 + ], + "area": 1660.47425512, + "iscrowd": 0 + }, + { + "id": 1268, + "image_id": 231, + "category_id": 1, + "bbox": [ + 893.604, + 386.748, + 44.8463, + 62.5509 + ], + "area": 2805.1764266699997, + "iscrowd": 0 + }, + { + "id": 1269, + "image_id": 231, + "category_id": 1, + "bbox": [ + 871.245, + 406.1, + 120.433, + 129.807 + ], + "area": 15633.046430999999, + "iscrowd": 0 + }, + { + "id": 1270, + "image_id": 231, + "category_id": 0, + "bbox": [ + 808.257, + 431.619, + 62.9146, + 90.2172 + ], + "area": 5675.97905112, + "iscrowd": 0 + }, + { + "id": 1271, + "image_id": 231, + "category_id": 0, + "bbox": [ + 878.491, + 446.061, + 56.3857, + 62.7168 + ], + "area": 3536.33066976, + "iscrowd": 0 + }, + { + "id": 1272, + "image_id": 232, + "category_id": 1, + "bbox": [ + 1012.07, + 439.985, + 77.7971, + 94.7761 + ], + "area": 7373.30572931, + "iscrowd": 0 + }, + { + "id": 1273, + "image_id": 233, + "category_id": 1, + "bbox": [ + 236.842, + 376.41, + 84.3096, + 204.302 + ], + "area": 17224.6198992, + "iscrowd": 0 + }, + { + "id": 1274, + "image_id": 233, + "category_id": 1, + "bbox": [ + 20.5063, + 388.224, + 44.9957, + 209.245 + ], + "area": 9415.1252465, + "iscrowd": 0 + }, + { + "id": 1275, + "image_id": 233, + "category_id": 1, + "bbox": [ + 136.388, + 391.323, + 57.8534, + 63.8632 + ], + "area": 3694.70325488, + "iscrowd": 0 + }, + { + "id": 1276, + "image_id": 233, + "category_id": 0, + "bbox": [ + 268.762, + 415.874, + 55.167, + 50.9234 + ], + "area": 2809.2912078, + "iscrowd": 0 + }, + { + "id": 1277, + "image_id": 234, + "category_id": 1, + "bbox": [ + 589.118, + 383.483, + 123.753, + 333.203 + ], + "area": 41234.870858999995, + "iscrowd": 0 + }, + { + "id": 1278, + "image_id": 234, + "category_id": 1, + "bbox": [ + 768.528, + 386.049, + 112.473, + 318.934 + ], + "area": 35871.463782000006, + "iscrowd": 0 + }, + { + "id": 1279, + "image_id": 234, + "category_id": 1, + "bbox": [ + 977.944, + 400.239, + 63.2904, + 133.079 + ], + "area": 8422.623141600001, + "iscrowd": 0 + }, + { + "id": 1280, + "image_id": 234, + "category_id": 1, + "bbox": [ + 323.796, + 433.525, + 42.6803, + 41.2213 + ], + "area": 1759.3374503900002, + "iscrowd": 0 + }, + { + "id": 1281, + "image_id": 234, + "category_id": 1, + "bbox": [ + 1133.81, + 393.004, + 66.1523, + 126.361 + ], + "area": 8359.0707803, + "iscrowd": 0 + }, + { + "id": 1282, + "image_id": 234, + "category_id": 1, + "bbox": [ + 793.49, + 431.007, + 59.5862, + 68.5241 + ], + "area": 4083.09072742, + "iscrowd": 0 + }, + { + "id": 1283, + "image_id": 234, + "category_id": 1, + "bbox": [ + 891.807, + 408.166, + 70.5103, + 132.083 + ], + "area": 9313.2119549, + "iscrowd": 0 + }, + { + "id": 1284, + "image_id": 234, + "category_id": 1, + "bbox": [ + 910.676, + 383.338, + 28.8, + 36.7448 + ], + "area": 1058.25024, + "iscrowd": 0 + }, + { + "id": 1285, + "image_id": 234, + "category_id": 1, + "bbox": [ + 936.497, + 402.207, + 5.95862, + 3.97241 + ], + "area": 23.6700816742, + "iscrowd": 0 + }, + { + "id": 1286, + "image_id": 234, + "category_id": 0, + "bbox": [ + 892.8, + 414.124, + 19.8621, + 25.8207 + ], + "area": 512.85332547, + "iscrowd": 0 + }, + { + "id": 1287, + "image_id": 235, + "category_id": 1, + "bbox": [ + 1024.82, + 435.051, + 89.5464, + 111.842 + ], + "area": 10015.0484688, + "iscrowd": 0 + }, + { + "id": 1288, + "image_id": 236, + "category_id": 1, + "bbox": [ + 193.8, + 390.629, + 73.0502, + 186.053 + ], + "area": 13591.2088606, + "iscrowd": 0 + }, + { + "id": 1289, + "image_id": 236, + "category_id": 1, + "bbox": [ + 0.0366139, + 340.905, + 35.3824, + 111.607 + ], + "area": 3948.9235167999996, + "iscrowd": 0 + }, + { + "id": 1290, + "image_id": 236, + "category_id": 1, + "bbox": [ + 76.6679, + 392.06, + 38.8399, + 50.6481 + ], + "area": 1967.16713919, + "iscrowd": 0 + }, + { + "id": 1291, + "image_id": 236, + "category_id": 1, + "bbox": [ + 311.22, + 365.936, + 36.1482, + 101.981 + ], + "area": 3686.4295842, + "iscrowd": 0 + }, + { + "id": 1292, + "image_id": 236, + "category_id": 0, + "bbox": [ + 335.638, + 418.363, + 51.7086, + 47.1605 + ], + "area": 2438.6034302999997, + "iscrowd": 0 + }, + { + "id": 1293, + "image_id": 237, + "category_id": 1, + "bbox": [ + 588.897, + 380.876, + 128.145, + 336.319 + ], + "area": 43097.598255000004, + "iscrowd": 0 + }, + { + "id": 1294, + "image_id": 237, + "category_id": 1, + "bbox": [ + 744.452, + 382.107, + 111.994, + 320.944 + ], + "area": 35943.802336, + "iscrowd": 0 + }, + { + "id": 1295, + "image_id": 237, + "category_id": 1, + "bbox": [ + 954.95, + 396.162, + 75.8936, + 139.45 + ], + "area": 10583.36252, + "iscrowd": 0 + }, + { + "id": 1296, + "image_id": 237, + "category_id": 1, + "bbox": [ + 323.715, + 433.813, + 57.3181, + 43.9226 + ], + "area": 2517.5599790600004, + "iscrowd": 0 + }, + { + "id": 1297, + "image_id": 237, + "category_id": 1, + "bbox": [ + 822.469, + 403.031, + 140.307, + 310.914 + ], + "area": 43623.410597999995, + "iscrowd": 0 + }, + { + "id": 1298, + "image_id": 237, + "category_id": 1, + "bbox": [ + 1113.41, + 393.09, + 80.9848, + 127.016 + ], + "area": 10286.3653568, + "iscrowd": 0 + }, + { + "id": 1299, + "image_id": 237, + "category_id": 1, + "bbox": [ + 841.806, + 388.803, + 65.9922, + 115.611 + ], + "area": 7629.4242342, + "iscrowd": 0 + }, + { + "id": 1300, + "image_id": 237, + "category_id": 0, + "bbox": [ + 742.004, + 428.289, + 72.6478, + 88.7917 + ], + "area": 6450.52166326, + "iscrowd": 0 + }, + { + "id": 1301, + "image_id": 237, + "category_id": 0, + "bbox": [ + 857.495, + 423.322, + 29.8042, + 41.6017 + ], + "area": 1239.9053871400001, + "iscrowd": 0 + }, + { + "id": 1302, + "image_id": 237, + "category_id": 0, + "bbox": [ + 848.802, + 446.917, + 60.2294, + 61.4712 + ], + "area": 3702.3734932800003, + "iscrowd": 0 + }, + { + "id": 1303, + "image_id": 238, + "category_id": 1, + "bbox": [ + 1061.45, + 436.523, + 82.9692, + 113.964 + ], + "area": 9455.5019088, + "iscrowd": 0 + }, + { + "id": 1309, + "image_id": 240, + "category_id": 1, + "bbox": [ + 549.885, + 375.477, + 136.434, + 341.627 + ], + "area": 46609.538118000004, + "iscrowd": 0 + }, + { + "id": 1310, + "image_id": 240, + "category_id": 1, + "bbox": [ + 717.116, + 380.686, + 110.63, + 335.053 + ], + "area": 37066.91339, + "iscrowd": 0 + }, + { + "id": 1311, + "image_id": 240, + "category_id": 1, + "bbox": [ + 934.403, + 397.048, + 84.6091, + 139.794 + ], + "area": 11827.8445254, + "iscrowd": 0 + }, + { + "id": 1312, + "image_id": 240, + "category_id": 1, + "bbox": [ + 323.465, + 434.126, + 59.501, + 84.8641 + ], + "area": 5049.498814099999, + "iscrowd": 0 + }, + { + "id": 1313, + "image_id": 240, + "category_id": 1, + "bbox": [ + 1095.28, + 394.516, + 85.0029, + 211.159 + ], + "area": 17949.1273611, + "iscrowd": 0 + }, + { + "id": 1314, + "image_id": 240, + "category_id": 1, + "bbox": [ + 811.978, + 404.768, + 108.378, + 312.904 + ], + "area": 33911.909712, + "iscrowd": 0 + }, + { + "id": 1315, + "image_id": 240, + "category_id": 1, + "bbox": [ + 815.632, + 389.9, + 41.9661, + 84.7061 + ], + "area": 3554.78466321, + "iscrowd": 0 + }, + { + "id": 1316, + "image_id": 240, + "category_id": 0, + "bbox": [ + 727.945, + 438.952, + 73.4897, + 77.4621 + ], + "area": 5692.66649037, + "iscrowd": 0 + }, + { + "id": 1317, + "image_id": 240, + "category_id": 0, + "bbox": [ + 819.31, + 447.89, + 65.5448, + 64.5517 + ], + "area": 4231.0282661599995, + "iscrowd": 0 + }, + { + "id": 1318, + "image_id": 240, + "category_id": 0, + "bbox": [ + 816.331, + 422.069, + 28.8, + 29.7931 + ], + "area": 858.04128, + "iscrowd": 0 + }, + { + "id": 1321, + "image_id": 242, + "category_id": 1, + "bbox": [ + 434.608, + 380.427, + 76.1387, + 226.188 + ], + "area": 17221.6602756, + "iscrowd": 0 + }, + { + "id": 1322, + "image_id": 242, + "category_id": 1, + "bbox": [ + 55.4078, + 347.764, + 67.7617, + 94.3783 + ], + "area": 6395.23405111, + "iscrowd": 0 + }, + { + "id": 1323, + "image_id": 242, + "category_id": 1, + "bbox": [ + 179.807, + 396.242, + 97.1495, + 160.796 + ], + "area": 15621.251001999999, + "iscrowd": 0 + }, + { + "id": 1324, + "image_id": 242, + "category_id": 0, + "bbox": [ + 463.245, + 424.34, + 51.4716, + 35.6342 + ], + "area": 1834.1492887200002, + "iscrowd": 0 + }, + { + "id": 1325, + "image_id": 242, + "category_id": 0, + "bbox": [ + 93.0449, + 380.127, + 28.3754, + 34.3144 + ], + "area": 973.68482576, + "iscrowd": 0 + }, + { + "id": 1326, + "image_id": 242, + "category_id": 0, + "bbox": [ + 232.282, + 434.238, + 37.6139, + 34.3144 + ], + "area": 1290.69841016, + "iscrowd": 0 + }, + { + "id": 1327, + "image_id": 243, + "category_id": 1, + "bbox": [ + 538.024, + 375.306, + 149.515, + 342.442 + ], + "area": 51200.21563, + "iscrowd": 0 + }, + { + "id": 1328, + "image_id": 243, + "category_id": 1, + "bbox": [ + 687.141, + 378.453, + 112.814, + 334.898 + ], + "area": 37781.182972, + "iscrowd": 0 + }, + { + "id": 1329, + "image_id": 243, + "category_id": 1, + "bbox": [ + 800.946, + 404.714, + 78.6667, + 312.86 + ], + "area": 24611.663762000004, + "iscrowd": 0 + }, + { + "id": 1330, + "image_id": 243, + "category_id": 1, + "bbox": [ + 323.013, + 433.881, + 59.8676, + 85.1553 + ], + "area": 5098.04343828, + "iscrowd": 0 + }, + { + "id": 1331, + "image_id": 243, + "category_id": 1, + "bbox": [ + 1078.17, + 390.955, + 76.5962, + 212.593 + ], + "area": 16283.815946599998, + "iscrowd": 0 + }, + { + "id": 1332, + "image_id": 243, + "category_id": 1, + "bbox": [ + 883.835, + 400.015, + 65.0945, + 137.398 + ], + "area": 8943.854110999999, + "iscrowd": 0 + }, + { + "id": 1333, + "image_id": 243, + "category_id": 1, + "bbox": [ + 770.972, + 387.971, + 56.3936, + 288.99 + ], + "area": 16297.186464, + "iscrowd": 0 + }, + { + "id": 1334, + "image_id": 243, + "category_id": 0, + "bbox": [ + 692.887, + 429.054, + 67.3459, + 94.995 + ], + "area": 6397.5237705, + "iscrowd": 0 + }, + { + "id": 1335, + "image_id": 243, + "category_id": 0, + "bbox": [ + 805.952, + 446.028, + 73.095, + 101.292 + ], + "area": 7403.93874, + "iscrowd": 0 + }, + { + "id": 1336, + "image_id": 243, + "category_id": 0, + "bbox": [ + 776.336, + 422.475, + 20.9055, + 20.6561 + ], + "area": 431.82609855, + "iscrowd": 0 + }, + { + "id": 1338, + "image_id": 245, + "category_id": 1, + "bbox": [ + 470.686, + 384.336, + 79.1694, + 236.129 + ], + "area": 18694.191252599998, + "iscrowd": 0 + }, + { + "id": 1339, + "image_id": 245, + "category_id": 1, + "bbox": [ + 259.802, + 396.867, + 70.0419, + 71.1008 + ], + "area": 4980.0351235200005, + "iscrowd": 0 + }, + { + "id": 1340, + "image_id": 245, + "category_id": 1, + "bbox": [ + 103.999, + 344.99, + 70.9036, + 106.711 + ], + "area": 7566.1940595999995, + "iscrowd": 0 + }, + { + "id": 1341, + "image_id": 245, + "category_id": 0, + "bbox": [ + 474.703, + 430.014, + 81.4345, + 43.6966 + ], + "area": 3558.4107726999996, + "iscrowd": 0 + }, + { + "id": 1342, + "image_id": 245, + "category_id": 1, + "bbox": [ + 385.324, + 386.317, + 64.5517, + 73.4897 + ], + "area": 4743.8850674899995, + "iscrowd": 0 + }, + { + "id": 1343, + "image_id": 245, + "category_id": 0, + "bbox": [ + 296.938, + 427.034, + 43.6966, + 50.6483 + ], + "area": 2213.15850578, + "iscrowd": 0 + }, + { + "id": 1344, + "image_id": 245, + "category_id": 0, + "bbox": [ + 138.041, + 379.366, + 58.5931, + 69.5172 + ], + "area": 4073.2282513200003, + "iscrowd": 0 + }, + { + "id": 1345, + "image_id": 246, + "category_id": 1, + "bbox": [ + 540.56, + 370.823, + 161.212, + 346.295 + ], + "area": 55826.90954, + "iscrowd": 0 + }, + { + "id": 1346, + "image_id": 246, + "category_id": 1, + "bbox": [ + 783.295, + 409.535, + 95.2832, + 307.461 + ], + "area": 29295.8679552, + "iscrowd": 0 + }, + { + "id": 1347, + "image_id": 246, + "category_id": 1, + "bbox": [ + 323.001, + 433.779, + 59.9989, + 85.5835 + ], + "area": 5134.91585815, + "iscrowd": 0 + }, + { + "id": 1348, + "image_id": 246, + "category_id": 1, + "bbox": [ + 653.073, + 377.898, + 104.821, + 340.417 + ], + "area": 35682.850356999996, + "iscrowd": 0 + }, + { + "id": 1349, + "image_id": 246, + "category_id": 1, + "bbox": [ + 728.911, + 386.36, + 70.8025, + 289.816 + ], + "area": 20519.697339999995, + "iscrowd": 0 + }, + { + "id": 1350, + "image_id": 246, + "category_id": 1, + "bbox": [ + 1025.59, + 390.872, + 82.7305, + 143.755 + ], + "area": 11892.9230275, + "iscrowd": 0 + }, + { + "id": 1351, + "image_id": 246, + "category_id": 1, + "bbox": [ + 857.143, + 390.544, + 64.1801, + 149.071 + ], + "area": 9567.3916871, + "iscrowd": 0 + }, + { + "id": 1352, + "image_id": 246, + "category_id": 0, + "bbox": [ + 663.564, + 429.966, + 53.5559, + 57.5803 + ], + "area": 3083.76478877, + "iscrowd": 0 + }, + { + "id": 1353, + "image_id": 246, + "category_id": 0, + "bbox": [ + 799.466, + 449.159, + 66.8675, + 99.063 + ], + "area": 6624.095152500001, + "iscrowd": 0 + }, + { + "id": 1354, + "image_id": 247, + "category_id": 1, + "bbox": [ + 1172.42, + 438.724, + 70.7725, + 80.73 + ], + "area": 5713.463925, + "iscrowd": 0 + }, + { + "id": 1355, + "image_id": 248, + "category_id": 1, + "bbox": [ + 502.691, + 381.37, + 87.3381, + 244.383 + ], + "area": 21343.9468923, + "iscrowd": 0 + }, + { + "id": 1356, + "image_id": 248, + "category_id": 1, + "bbox": [ + 445.191, + 395.116, + 61.9921, + 208.956 + ], + "area": 12953.6212476, + "iscrowd": 0 + }, + { + "id": 1357, + "image_id": 248, + "category_id": 1, + "bbox": [ + 169.31, + 345.487, + 74.2781, + 124.533 + ], + "area": 9250.074627299999, + "iscrowd": 0 + }, + { + "id": 1358, + "image_id": 248, + "category_id": 0, + "bbox": [ + 206.411, + 380.697, + 36.594, + 60.5901 + ], + "area": 2217.2341194, + "iscrowd": 0 + }, + { + "id": 1359, + "image_id": 248, + "category_id": 0, + "bbox": [ + 506.962, + 432.288, + 79.787, + 43.7929 + ], + "area": 3494.1041123000005, + "iscrowd": 0 + }, + { + "id": 1360, + "image_id": 248, + "category_id": 1, + "bbox": [ + 328.791, + 413.091, + 20.3967, + 56.3908 + ], + "area": 1150.1862303599999, + "iscrowd": 0 + }, + { + "id": 1361, + "image_id": 249, + "category_id": 1, + "bbox": [ + 519.141, + 360.25, + 185.722, + 356.158 + ], + "area": 66146.376076, + "iscrowd": 0 + }, + { + "id": 1362, + "image_id": 249, + "category_id": 1, + "bbox": [ + 745.452, + 405.822, + 107.578, + 312.149 + ], + "area": 33580.365122, + "iscrowd": 0 + }, + { + "id": 1363, + "image_id": 249, + "category_id": 1, + "bbox": [ + 323.173, + 433.742, + 59.8634, + 47.4203 + ], + "area": 2838.7403870199996, + "iscrowd": 0 + }, + { + "id": 1364, + "image_id": 249, + "category_id": 1, + "bbox": [ + 964.689, + 388.779, + 97.7029, + 145.171 + ], + "area": 14183.627695899999, + "iscrowd": 0 + }, + { + "id": 1365, + "image_id": 249, + "category_id": 1, + "bbox": [ + 647.793, + 375.534, + 83.4192, + 306.975 + ], + "area": 25607.608920000002, + "iscrowd": 0 + }, + { + "id": 1366, + "image_id": 249, + "category_id": 1, + "bbox": [ + 823.793, + 393.548, + 59.8574, + 313.788 + ], + "area": 18782.5338312, + "iscrowd": 0 + }, + { + "id": 1367, + "image_id": 249, + "category_id": 0, + "bbox": [ + 651.476, + 431.007, + 51.6414, + 65.5448 + ], + "area": 3384.8252347199996, + "iscrowd": 0 + }, + { + "id": 1368, + "image_id": 249, + "category_id": 0, + "bbox": [ + 759.724, + 448.883, + 81.4345, + 107.255 + ], + "area": 8734.2572975, + "iscrowd": 0 + }, + { + "id": 1369, + "image_id": 249, + "category_id": 1, + "bbox": [ + 688.221, + 381.352, + 30.7862, + 51.6414 + ], + "area": 1589.84246868, + "iscrowd": 0 + }, + { + "id": 1370, + "image_id": 250, + "category_id": 1, + "bbox": [ + 536.097, + 381.58, + 86.6511, + 257.102 + ], + "area": 22278.171112199998, + "iscrowd": 0 + }, + { + "id": 1371, + "image_id": 250, + "category_id": 1, + "bbox": [ + 470.364, + 398.464, + 75.8021, + 220.796 + ], + "area": 16736.8004716, + "iscrowd": 0 + }, + { + "id": 1372, + "image_id": 250, + "category_id": 1, + "bbox": [ + 247.367, + 347.468, + 66.3828, + 125.52 + ], + "area": 8332.369056, + "iscrowd": 0 + }, + { + "id": 1373, + "image_id": 250, + "category_id": 1, + "bbox": [ + 0.13308, + 379.125, + 53.0679, + 222.328 + ], + "area": 11798.4800712, + "iscrowd": 0 + }, + { + "id": 1374, + "image_id": 250, + "category_id": 0, + "bbox": [ + 535.82, + 429.542, + 89.4459, + 58.6024 + ], + "area": 5241.74441016, + "iscrowd": 0 + }, + { + "id": 1375, + "image_id": 250, + "category_id": 1, + "bbox": [ + 389.717, + 400.051, + 35.4142, + 75.7745 + ], + "area": 2683.4932979, + "iscrowd": 0 + }, + { + "id": 1376, + "image_id": 250, + "category_id": 0, + "bbox": [ + 279.958, + 379.72, + 34.0393, + 66.4437 + ], + "area": 2261.69703741, + "iscrowd": 0 + }, + { + "id": 1377, + "image_id": 250, + "category_id": 0, + "bbox": [ + 25.9545, + 415.459, + 34.1505, + 52.5918 + ], + "area": 1796.0362659, + "iscrowd": 0 + }, + { + "id": 1378, + "image_id": 251, + "category_id": 1, + "bbox": [ + 562.045, + 359.805, + 201.971, + 355.402 + ], + "area": 71780.897342, + "iscrowd": 0 + }, + { + "id": 1379, + "image_id": 251, + "category_id": 1, + "bbox": [ + 937.732, + 387.664, + 79.2501, + 148.42 + ], + "area": 11762.299842, + "iscrowd": 0 + }, + { + "id": 1380, + "image_id": 251, + "category_id": 1, + "bbox": [ + 718.992, + 404.144, + 107.097, + 313.524 + ], + "area": 33577.479827999996, + "iscrowd": 0 + }, + { + "id": 1381, + "image_id": 251, + "category_id": 1, + "bbox": [ + 323.292, + 433.884, + 59.4858, + 84.9012 + ], + "area": 5050.41580296, + "iscrowd": 0 + }, + { + "id": 1382, + "image_id": 251, + "category_id": 0, + "bbox": [ + 736.883, + 451.862, + 76.469, + 82.4276 + ], + "area": 6303.156144399999, + "iscrowd": 0 + }, + { + "id": 1383, + "image_id": 251, + "category_id": 1, + "bbox": [ + 790.51, + 383.338, + 59.5862, + 336.662 + ], + "area": 20060.409264399997, + "iscrowd": 0 + }, + { + "id": 1386, + "image_id": 253, + "category_id": 1, + "bbox": [ + 558.935, + 385.268, + 96.5592, + 276.167 + ], + "area": 26666.464586399998, + "iscrowd": 0 + }, + { + "id": 1387, + "image_id": 253, + "category_id": 1, + "bbox": [ + 488.202, + 403.485, + 85.5162, + 234.542 + ], + "area": 20057.1405804, + "iscrowd": 0 + }, + { + "id": 1388, + "image_id": 253, + "category_id": 1, + "bbox": [ + 448.19, + 403.932, + 58.6854, + 198.031 + ], + "area": 11621.5284474, + "iscrowd": 0 + }, + { + "id": 1389, + "image_id": 253, + "category_id": 1, + "bbox": [ + 24.6754, + 379.289, + 59.9482, + 222.442 + ], + "area": 13334.9975044, + "iscrowd": 0 + }, + { + "id": 1390, + "image_id": 253, + "category_id": 0, + "bbox": [ + 571.034, + 448.883, + 75.4759, + 42.7034 + ], + "area": 3223.07754806, + "iscrowd": 0 + }, + { + "id": 1391, + "image_id": 253, + "category_id": 0, + "bbox": [ + 466.759, + 440.938, + 42.7034, + 50.6483 + ], + "area": 2162.8546142200003, + "iscrowd": 0 + }, + { + "id": 1392, + "image_id": 253, + "category_id": 0, + "bbox": [ + 66.5379, + 414.124, + 33.7655, + 33.7655 + ], + "area": 1140.1089902500003, + "iscrowd": 0 + }, + { + "id": 1393, + "image_id": 254, + "category_id": 1, + "bbox": [ + 595.362, + 347.897, + 164.022, + 372.103 + ], + "area": 61033.078266, + "iscrowd": 0 + }, + { + "id": 1394, + "image_id": 254, + "category_id": 1, + "bbox": [ + 544.212, + 370.549, + 103.93, + 346.575 + ], + "area": 36019.53975, + "iscrowd": 0 + }, + { + "id": 1395, + "image_id": 254, + "category_id": 1, + "bbox": [ + 893.41, + 389.977, + 73.1956, + 145.137 + ], + "area": 10623.3897972, + "iscrowd": 0 + }, + { + "id": 1396, + "image_id": 254, + "category_id": 1, + "bbox": [ + 697.334, + 398.743, + 97.5676, + 321.257 + ], + "area": 31344.2744732, + "iscrowd": 0 + }, + { + "id": 1397, + "image_id": 254, + "category_id": 1, + "bbox": [ + 323.87, + 436.623, + 57.6425, + 82.1948 + ], + "area": 4737.913759, + "iscrowd": 0 + }, + { + "id": 1398, + "image_id": 254, + "category_id": 0, + "bbox": [ + 589.629, + 435.535, + 51.3889, + 100.92 + ], + "area": 5186.167788, + "iscrowd": 0 + }, + { + "id": 1399, + "image_id": 254, + "category_id": 0, + "bbox": [ + 711.408, + 449.977, + 77.1087, + 72.3292 + ], + "area": 5577.21058404, + "iscrowd": 0 + }, + { + "id": 1400, + "image_id": 254, + "category_id": 1, + "bbox": [ + 736.58, + 388.163, + 89.2983, + 319.203 + ], + "area": 28504.285254899998, + "iscrowd": 0 + }, + { + "id": 1401, + "image_id": 255, + "category_id": 1, + "bbox": [ + 586.622, + 388.307, + 103.364, + 298.448 + ], + "area": 30848.779071999998, + "iscrowd": 0 + }, + { + "id": 1402, + "image_id": 255, + "category_id": 1, + "bbox": [ + 508.767, + 404.853, + 73.4196, + 259.857 + ], + "area": 19078.596997200002, + "iscrowd": 0 + }, + { + "id": 1403, + "image_id": 255, + "category_id": 1, + "bbox": [ + 393.967, + 353.79, + 62.8564, + 108.396 + ], + "area": 6813.3823344, + "iscrowd": 0 + }, + { + "id": 1404, + "image_id": 255, + "category_id": 0, + "bbox": [ + 583.36, + 447.436, + 106.243, + 55.431 + ], + "area": 5889.155733, + "iscrowd": 0 + }, + { + "id": 1405, + "image_id": 255, + "category_id": 0, + "bbox": [ + 424.986, + 389.365, + 32.3347, + 57.4107 + ], + "area": 1856.3577612899999, + "iscrowd": 0 + }, + { + "id": 1406, + "image_id": 255, + "category_id": 1, + "bbox": [ + 477.848, + 406.099, + 45.9193, + 104.753 + ], + "area": 4810.1844329, + "iscrowd": 0 + }, + { + "id": 1415, + "image_id": 257, + "category_id": 1, + "bbox": [ + 494.453, + 406.907, + 110.696, + 286.744 + ], + "area": 31741.413824000003, + "iscrowd": 0 + }, + { + "id": 1416, + "image_id": 257, + "category_id": 1, + "bbox": [ + 604.01, + 383.263, + 123.915, + 328.625 + ], + "area": 40721.566875000004, + "iscrowd": 0 + }, + { + "id": 1417, + "image_id": 257, + "category_id": 1, + "bbox": [ + 452.984, + 358.67, + 70.8262, + 247.362 + ], + "area": 17519.7104844, + "iscrowd": 0 + }, + { + "id": 1418, + "image_id": 257, + "category_id": 1, + "bbox": [ + 152.57, + 383.276, + 55.4559, + 173.033 + ], + "area": 9595.7007447, + "iscrowd": 0 + }, + { + "id": 1419, + "image_id": 257, + "category_id": 0, + "bbox": [ + 607.436, + 452.96, + 110.065, + 58.9987 + ], + "area": 6493.6919155, + "iscrowd": 0 + }, + { + "id": 1420, + "image_id": 257, + "category_id": 0, + "bbox": [ + 496.876, + 394.953, + 24.7894, + 49.0829 + ], + "area": 1216.7356412600002, + "iscrowd": 0 + }, + { + "id": 1421, + "image_id": 257, + "category_id": 0, + "bbox": [ + 199.802, + 425.692, + 28.2599, + 50.5703 + ], + "area": 1429.11162097, + "iscrowd": 0 + }, + { + "id": 1429, + "image_id": 259, + "category_id": 1, + "bbox": [ + 483.318, + 398.733, + 130.32, + 317.141 + ], + "area": 41329.81512, + "iscrowd": 0 + }, + { + "id": 1430, + "image_id": 259, + "category_id": 1, + "bbox": [ + 616.179, + 377.252, + 124.348, + 339.068 + ], + "area": 42162.427663999995, + "iscrowd": 0 + }, + { + "id": 1431, + "image_id": 259, + "category_id": 1, + "bbox": [ + 209.918, + 385.914, + 95.3904, + 196.91 + ], + "area": 18783.323664, + "iscrowd": 0 + }, + { + "id": 1432, + "image_id": 259, + "category_id": 1, + "bbox": [ + 518.873, + 358.79, + 52.1799, + 99.7511 + ], + "area": 5205.00242289, + "iscrowd": 0 + }, + { + "id": 1433, + "image_id": 259, + "category_id": 0, + "bbox": [ + 608.772, + 450.869, + 124.138, + 81.4345 + ], + "area": 10109.115961, + "iscrowd": 0 + }, + { + "id": 1434, + "image_id": 259, + "category_id": 0, + "bbox": [ + 257.214, + 426.041, + 43.6966, + 54.6207 + ], + "area": 2386.73887962, + "iscrowd": 0 + }, + { + "id": 1435, + "image_id": 259, + "category_id": 0, + "bbox": [ + 558.124, + 386.317, + 51.6414, + 77.4621 + ], + "area": 4000.25129094, + "iscrowd": 0 + }, + { + "id": 1436, + "image_id": 260, + "category_id": 1, + "bbox": [ + 641.466, + 392.52, + 165.278, + 323.835 + ], + "area": 53522.80112999999, + "iscrowd": 0 + }, + { + "id": 1437, + "image_id": 260, + "category_id": 1, + "bbox": [ + 515.138, + 344.175, + 163.875, + 372.174 + ], + "area": 60990.01424999999, + "iscrowd": 0 + }, + { + "id": 1438, + "image_id": 260, + "category_id": 1, + "bbox": [ + 471.513, + 364.851, + 90.5027, + 353.013 + ], + "area": 31948.6296351, + "iscrowd": 0 + }, + { + "id": 1439, + "image_id": 260, + "category_id": 1, + "bbox": [ + 323.632, + 434.674, + 58.8643, + 49.7874 + ], + "area": 2930.70044982, + "iscrowd": 0 + }, + { + "id": 1440, + "image_id": 260, + "category_id": 1, + "bbox": [ + 763.439, + 383.037, + 67.239, + 316.86 + ], + "area": 21305.349540000003, + "iscrowd": 0 + }, + { + "id": 1441, + "image_id": 260, + "category_id": 1, + "bbox": [ + 651.372, + 381.171, + 64.2886, + 106.988 + ], + "area": 6878.1087368, + "iscrowd": 0 + }, + { + "id": 1442, + "image_id": 260, + "category_id": 0, + "bbox": [ + 690.207, + 450.869, + 105.269, + 150.952 + ], + "area": 15890.566088000001, + "iscrowd": 0 + }, + { + "id": 1443, + "image_id": 261, + "category_id": 0, + "bbox": [ + 1191.52, + 385.36, + 63.6096, + 65.8127 + ], + "area": 4186.319521920001, + "iscrowd": 0 + }, + { + "id": 1444, + "image_id": 261, + "category_id": 1, + "bbox": [ + 1191.11, + 440.987, + 73.6244, + 76.3512 + ], + "area": 5621.31128928, + "iscrowd": 0 + }, + { + "id": 1445, + "image_id": 261, + "category_id": 0, + "bbox": [ + 1144.75, + 476.436, + 41.9932, + 41.9932 + ], + "area": 1763.4288462400002, + "iscrowd": 0 + }, + { + "id": 1446, + "image_id": 262, + "category_id": 1, + "bbox": [ + 470.138, + 404.794, + 152.753, + 311.837 + ], + "area": 47634.03726099999, + "iscrowd": 0 + }, + { + "id": 1447, + "image_id": 262, + "category_id": 1, + "bbox": [ + 641.511, + 374.191, + 135.46, + 341.575 + ], + "area": 46269.7495, + "iscrowd": 0 + }, + { + "id": 1448, + "image_id": 262, + "category_id": 1, + "bbox": [ + 292.826, + 384.564, + 55.2573, + 83.9391 + ], + "area": 4638.24803043, + "iscrowd": 0 + }, + { + "id": 1449, + "image_id": 262, + "category_id": 1, + "bbox": [ + 569.126, + 355.034, + 76.4062, + 112.0 + ], + "area": 8557.4944, + "iscrowd": 0 + }, + { + "id": 1450, + "image_id": 262, + "category_id": 0, + "bbox": [ + 600.828, + 455.834, + 163.862, + 79.4483 + ], + "area": 13018.5573346, + "iscrowd": 0 + }, + { + "id": 1451, + "image_id": 262, + "category_id": 1, + "bbox": [ + 567.062, + 410.152, + 64.5517, + 285.021 + ], + "area": 18398.5900857, + "iscrowd": 0 + }, + { + "id": 1452, + "image_id": 263, + "category_id": 1, + "bbox": [ + 651.963, + 388.79, + 178.521, + 326.558 + ], + "area": 58297.460717999995, + "iscrowd": 0 + }, + { + "id": 1453, + "image_id": 263, + "category_id": 1, + "bbox": [ + 455.598, + 338.841, + 224.604, + 378.045 + ], + "area": 84910.41918000001, + "iscrowd": 0 + }, + { + "id": 1454, + "image_id": 263, + "category_id": 1, + "bbox": [ + 323.303, + 434.578, + 59.4189, + 84.6902 + ], + "area": 5032.19852478, + "iscrowd": 0 + }, + { + "id": 1455, + "image_id": 263, + "category_id": 1, + "bbox": [ + 620.307, + 377.261, + 98.1309, + 143.414 + ], + "area": 14073.344892599998, + "iscrowd": 0 + }, + { + "id": 1456, + "image_id": 263, + "category_id": 1, + "bbox": [ + 420.127, + 353.379, + 107.489, + 235.568 + ], + "area": 25320.968752, + "iscrowd": 0 + }, + { + "id": 1457, + "image_id": 263, + "category_id": 0, + "bbox": [ + 714.691, + 457.217, + 104.184, + 158.599 + ], + "area": 16523.478216, + "iscrowd": 0 + }, + { + "id": 1458, + "image_id": 264, + "category_id": 1, + "bbox": [ + 1070.07, + 385.189, + 109.326, + 160.562 + ], + "area": 17553.601212, + "iscrowd": 0 + }, + { + "id": 1459, + "image_id": 264, + "category_id": 1, + "bbox": [ + 1067.59, + 472.717, + 57.6, + 74.4828 + ], + "area": 4290.20928, + "iscrowd": 0 + }, + { + "id": 1460, + "image_id": 264, + "category_id": 1, + "bbox": [ + 1232.33, + 417.103, + 47.669, + 78.4552 + ], + "area": 3739.8809288, + "iscrowd": 0 + }, + { + "id": 1461, + "image_id": 265, + "category_id": 1, + "bbox": [ + 463.231, + 406.621, + 154.449, + 309.024 + ], + "area": 47728.447776, + "iscrowd": 0 + }, + { + "id": 1462, + "image_id": 265, + "category_id": 1, + "bbox": [ + 628.18, + 375.222, + 162.16, + 341.167 + ], + "area": 55323.640719999996, + "iscrowd": 0 + }, + { + "id": 1463, + "image_id": 265, + "category_id": 1, + "bbox": [ + 586.013, + 419.214, + 64.6904, + 300.786 + ], + "area": 19457.9666544, + "iscrowd": 0 + }, + { + "id": 1464, + "image_id": 265, + "category_id": 1, + "bbox": [ + 600.986, + 352.563, + 74.1636, + 67.008 + ], + "area": 4969.5545088, + "iscrowd": 0 + }, + { + "id": 1465, + "image_id": 265, + "category_id": 1, + "bbox": [ + 368.304, + 386.471, + 41.3093, + 81.691 + ], + "area": 3374.5980263, + "iscrowd": 0 + }, + { + "id": 1466, + "image_id": 265, + "category_id": 0, + "bbox": [ + 402.715, + 424.944, + 26.2234, + 39.3352 + ], + "area": 1031.50268368, + "iscrowd": 0 + }, + { + "id": 1467, + "image_id": 265, + "category_id": 0, + "bbox": [ + 623.156, + 470.016, + 161.028, + 85.6359 + ], + "area": 13789.7777052, + "iscrowd": 0 + }, + { + "id": 1468, + "image_id": 265, + "category_id": 0, + "bbox": [ + 642.491, + 395.464, + 37.02, + 60.2482 + ], + "area": 2230.388364, + "iscrowd": 0 + }, + { + "id": 1469, + "image_id": 266, + "category_id": 1, + "bbox": [ + 435.871, + 332.564, + 305.798, + 387.436 + ], + "area": 118477.153928, + "iscrowd": 0 + }, + { + "id": 1470, + "image_id": 266, + "category_id": 1, + "bbox": [ + 419.259, + 347.797, + 130.541, + 250.241 + ], + "area": 32666.710381, + "iscrowd": 0 + }, + { + "id": 1471, + "image_id": 266, + "category_id": 1, + "bbox": [ + 627.086, + 378.731, + 99.6714, + 109.78 + ], + "area": 10941.926292, + "iscrowd": 0 + }, + { + "id": 1472, + "image_id": 266, + "category_id": 1, + "bbox": [ + 682.317, + 390.779, + 167.192, + 327.14 + ], + "area": 54695.19088, + "iscrowd": 0 + }, + { + "id": 1473, + "image_id": 266, + "category_id": 1, + "bbox": [ + 323.511, + 435.717, + 58.971, + 83.9294 + ], + "area": 4949.4006474, + "iscrowd": 0 + }, + { + "id": 1474, + "image_id": 266, + "category_id": 1, + "bbox": [ + 682.76, + 377.701, + 41.5031, + 69.6267 + ], + "area": 2889.72389277, + "iscrowd": 0 + }, + { + "id": 1475, + "image_id": 266, + "category_id": 0, + "bbox": [ + 721.22, + 468.604, + 118.026, + 165.237 + ], + "area": 19502.262162, + "iscrowd": 0 + }, + { + "id": 1476, + "image_id": 266, + "category_id": 0, + "bbox": [ + 479.523, + 438.328, + 61.5787, + 50.2893 + ], + "area": 3096.7497179099996, + "iscrowd": 0 + }, + { + "id": 1477, + "image_id": 267, + "category_id": 1, + "bbox": [ + 963.902, + 379.581, + 85.885, + 151.973 + ], + "area": 13052.201105000002, + "iscrowd": 0 + }, + { + "id": 1478, + "image_id": 267, + "category_id": 1, + "bbox": [ + 1188.76, + 415.906, + 66.9102, + 80.199 + ], + "area": 5366.1311298, + "iscrowd": 0 + }, + { + "id": 1479, + "image_id": 267, + "category_id": 1, + "bbox": [ + 1137.1, + 424.055, + 59.5862, + 94.3448 + ], + "area": 5621.64812176, + "iscrowd": 0 + }, + { + "id": 1480, + "image_id": 267, + "category_id": 0, + "bbox": [ + 995.316, + 476.485, + 41.9857, + 56.405 + ], + "area": 2368.2034085, + "iscrowd": 0 + }, + { + "id": 1481, + "image_id": 267, + "category_id": 0, + "bbox": [ + 959.692, + 409.054, + 36.4724, + 79.3063 + ], + "area": 2892.49109612, + "iscrowd": 0 + }, + { + "id": 1482, + "image_id": 267, + "category_id": 1, + "bbox": [ + 1029.7, + 431.503, + 70.785, + 98.7265 + ], + "area": 6988.3553025, + "iscrowd": 0 + }, + { + "id": 1490, + "image_id": 269, + "category_id": 1, + "bbox": [ + 497.318, + 310.631, + 352.384, + 405.188 + ], + "area": 142781.768192, + "iscrowd": 0 + }, + { + "id": 1491, + "image_id": 269, + "category_id": 1, + "bbox": [ + 416.828, + 339.529, + 99.7825, + 374.9 + ], + "area": 37408.45925, + "iscrowd": 0 + }, + { + "id": 1492, + "image_id": 269, + "category_id": 1, + "bbox": [ + 323.709, + 435.622, + 58.4989, + 60.9483 + ], + "area": 3565.40850687, + "iscrowd": 0 + }, + { + "id": 1493, + "image_id": 269, + "category_id": 1, + "bbox": [ + 717.289, + 387.645, + 109.456, + 137.13 + ], + "area": 15009.70128, + "iscrowd": 0 + }, + { + "id": 1494, + "image_id": 269, + "category_id": 1, + "bbox": [ + 472.456, + 336.66, + 130.138, + 243.301 + ], + "area": 31662.705538, + "iscrowd": 0 + }, + { + "id": 1495, + "image_id": 269, + "category_id": 0, + "bbox": [ + 499.332, + 449.823, + 89.1159, + 103.261 + ], + "area": 9202.196949899999, + "iscrowd": 0 + }, + { + "id": 1496, + "image_id": 270, + "category_id": 1, + "bbox": [ + 886.762, + 377.146, + 73.9841, + 156.393 + ], + "area": 11570.5953513, + "iscrowd": 0 + }, + { + "id": 1497, + "image_id": 270, + "category_id": 1, + "bbox": [ + 1041.0, + 425.723, + 63.7273, + 113.333 + ], + "area": 7222.4060909, + "iscrowd": 0 + }, + { + "id": 1498, + "image_id": 270, + "category_id": 1, + "bbox": [ + 928.778, + 432.633, + 103.014, + 103.475 + ], + "area": 10659.37365, + "iscrowd": 0 + }, + { + "id": 1499, + "image_id": 270, + "category_id": 1, + "bbox": [ + 1100.37, + 412.581, + 88.1099, + 144.714 + ], + "area": 12750.7360686, + "iscrowd": 0 + }, + { + "id": 1500, + "image_id": 270, + "category_id": 0, + "bbox": [ + 921.6, + 465.766, + 44.6897, + 83.4207 + ], + "area": 3728.04605679, + "iscrowd": 0 + }, + { + "id": 1501, + "image_id": 271, + "category_id": 1, + "bbox": [ + 393.723, + 405.225, + 197.064, + 314.775 + ], + "area": 62030.82059999999, + "iscrowd": 0 + }, + { + "id": 1502, + "image_id": 271, + "category_id": 1, + "bbox": [ + 614.722, + 382.058, + 233.669, + 337.942 + ], + "area": 78966.56919800001, + "iscrowd": 0 + }, + { + "id": 1503, + "image_id": 271, + "category_id": 1, + "bbox": [ + 619.22, + 338.73, + 73.33, + 106.727 + ], + "area": 7826.29091, + "iscrowd": 0 + }, + { + "id": 1504, + "image_id": 271, + "category_id": 1, + "bbox": [ + 564.187, + 421.131, + 89.4563, + 298.869 + ], + "area": 26735.7149247, + "iscrowd": 0 + }, + { + "id": 1505, + "image_id": 271, + "category_id": 0, + "bbox": [ + 535.713, + 438.61, + 23.0, + 47.8226 + ], + "area": 1099.9198000000001, + "iscrowd": 0 + }, + { + "id": 1506, + "image_id": 271, + "category_id": 0, + "bbox": [ + 587.852, + 502.607, + 210.861, + 176.807 + ], + "area": 37281.70082699999, + "iscrowd": 0 + }, + { + "id": 1507, + "image_id": 272, + "category_id": 1, + "bbox": [ + 467.145, + 278.124, + 442.463, + 436.242 + ], + "area": 193020.94404600002, + "iscrowd": 0 + }, + { + "id": 1508, + "image_id": 272, + "category_id": 1, + "bbox": [ + 372.251, + 337.141, + 222.678, + 382.859 + ], + "area": 85254.27640199999, + "iscrowd": 0 + }, + { + "id": 1509, + "image_id": 272, + "category_id": 1, + "bbox": [ + 754.755, + 386.367, + 125.886, + 177.797 + ], + "area": 22382.153142, + "iscrowd": 0 + }, + { + "id": 1510, + "image_id": 272, + "category_id": 1, + "bbox": [ + 574.451, + 369.779, + 64.2869, + 122.464 + ], + "area": 7872.830921600001, + "iscrowd": 0 + }, + { + "id": 1511, + "image_id": 272, + "category_id": 1, + "bbox": [ + 341.893, + 348.985, + 136.44, + 332.387 + ], + "area": 45350.88228, + "iscrowd": 0 + }, + { + "id": 1512, + "image_id": 272, + "category_id": 1, + "bbox": [ + 324.511, + 435.751, + 39.6909, + 41.7804 + ], + "area": 1658.3016783599999, + "iscrowd": 0 + }, + { + "id": 1513, + "image_id": 272, + "category_id": 0, + "bbox": [ + 468.701, + 448.487, + 114.516, + 146.981 + ], + "area": 16831.676196, + "iscrowd": 0 + }, + { + "id": 1514, + "image_id": 273, + "category_id": 1, + "bbox": [ + 941.308, + 422.457, + 75.8381, + 109.402 + ], + "area": 8296.8398162, + "iscrowd": 0 + }, + { + "id": 1515, + "image_id": 273, + "category_id": 1, + "bbox": [ + 790.301, + 373.189, + 88.2371, + 316.448 + ], + "area": 27922.453820799998, + "iscrowd": 0 + }, + { + "id": 1516, + "image_id": 273, + "category_id": 1, + "bbox": [ + 1036.54, + 408.669, + 83.2124, + 142.603 + ], + "area": 11866.337877200001, + "iscrowd": 0 + }, + { + "id": 1517, + "image_id": 273, + "category_id": 0, + "bbox": [ + 784.552, + 406.179, + 43.6966, + 88.3862 + ], + "area": 3862.17642692, + "iscrowd": 0 + }, + { + "id": 1518, + "image_id": 273, + "category_id": 0, + "bbox": [ + 831.228, + 464.772, + 56.6069, + 118.179 + ], + "area": 6689.746835100001, + "iscrowd": 0 + }, + { + "id": 1519, + "image_id": 273, + "category_id": 1, + "bbox": [ + 880.883, + 432.0, + 62.5655, + 102.29 + ], + "area": 6399.824995000001, + "iscrowd": 0 + }, + { + "id": 1520, + "image_id": 273, + "category_id": 0, + "bbox": [ + 932.524, + 481.655, + 52.6345, + 65.5448 + ], + "area": 3449.9177756, + "iscrowd": 0 + }, + { + "id": 1521, + "image_id": 274, + "category_id": 1, + "bbox": [ + 293.488, + 411.261, + 228.865, + 304.323 + ], + "area": 69648.883395, + "iscrowd": 0 + }, + { + "id": 1522, + "image_id": 274, + "category_id": 1, + "bbox": [ + 504.345, + 367.726, + 292.715, + 348.804 + ], + "area": 102100.16285999998, + "iscrowd": 0 + }, + { + "id": 1523, + "image_id": 274, + "category_id": 1, + "bbox": [ + 506.754, + 396.864, + 60.6019, + 142.65 + ], + "area": 8644.861035, + "iscrowd": 0 + }, + { + "id": 1524, + "image_id": 274, + "category_id": 1, + "bbox": [ + 525.447, + 422.68, + 98.8689, + 124.157 + ], + "area": 12275.266017299999, + "iscrowd": 0 + }, + { + "id": 1525, + "image_id": 274, + "category_id": 1, + "bbox": [ + 643.023, + 329.143, + 46.4516, + 47.7788 + ], + "area": 2219.4017060799997, + "iscrowd": 0 + }, + { + "id": 1526, + "image_id": 274, + "category_id": 0, + "bbox": [ + 508.313, + 533.53, + 244.203, + 186.47 + ], + "area": 45536.533410000004, + "iscrowd": 0 + }, + { + "id": 1527, + "image_id": 275, + "category_id": 1, + "bbox": [ + 719.192, + 270.486, + 418.536, + 442.345 + ], + "area": 185137.30692, + "iscrowd": 0 + }, + { + "id": 1528, + "image_id": 275, + "category_id": 1, + "bbox": [ + 337.388, + 339.703, + 262.836, + 375.343 + ], + "area": 98653.65274800001, + "iscrowd": 0 + }, + { + "id": 1529, + "image_id": 275, + "category_id": 1, + "bbox": [ + 714.685, + 384.248, + 176.184, + 335.262 + ], + "area": 59067.800208, + "iscrowd": 0 + }, + { + "id": 1530, + "image_id": 275, + "category_id": 1, + "bbox": [ + 420.4, + 344.818, + 67.8245, + 86.5575 + ], + "area": 5870.71915875, + "iscrowd": 0 + }, + { + "id": 1531, + "image_id": 275, + "category_id": 1, + "bbox": [ + 559.481, + 369.568, + 49.635, + 92.2852 + ], + "area": 4580.575902, + "iscrowd": 0 + }, + { + "id": 1532, + "image_id": 275, + "category_id": 1, + "bbox": [ + 579.306, + 367.108, + 127.963, + 350.138 + ], + "area": 44804.708893999996, + "iscrowd": 0 + }, + { + "id": 1533, + "image_id": 275, + "category_id": 1, + "bbox": [ + 324.716, + 434.182, + 51.6517, + 44.7166 + ], + "area": 2309.68840822, + "iscrowd": 0 + }, + { + "id": 1534, + "image_id": 275, + "category_id": 0, + "bbox": [ + 453.848, + 458.814, + 121.159, + 159.89 + ], + "area": 19372.11251, + "iscrowd": 0 + }, + { + "id": 1535, + "image_id": 276, + "category_id": 1, + "bbox": [ + 703.282, + 370.278, + 94.8677, + 308.207 + ], + "area": 29238.889213899998, + "iscrowd": 0 + }, + { + "id": 1536, + "image_id": 276, + "category_id": 1, + "bbox": [ + 931.733, + 405.618, + 105.419, + 132.175 + ], + "area": 13933.756325, + "iscrowd": 0 + }, + { + "id": 1537, + "image_id": 276, + "category_id": 1, + "bbox": [ + 752.424, + 426.948, + 107.537, + 279.101 + ], + "area": 30013.684237, + "iscrowd": 0 + }, + { + "id": 1538, + "image_id": 276, + "category_id": 1, + "bbox": [ + 864.513, + 420.23, + 65.7352, + 141.225 + ], + "area": 9283.45362, + "iscrowd": 0 + }, + { + "id": 1539, + "image_id": 276, + "category_id": 0, + "bbox": [ + 703.78, + 401.145, + 42.8337, + 108.569 + ], + "area": 4650.4119753, + "iscrowd": 0 + }, + { + "id": 1540, + "image_id": 276, + "category_id": 0, + "bbox": [ + 751.703, + 467.729, + 53.8603, + 109.84 + ], + "area": 5916.015352, + "iscrowd": 0 + }, + { + "id": 1541, + "image_id": 276, + "category_id": 0, + "bbox": [ + 830.585, + 475.363, + 49.1953, + 88.6351 + ], + "area": 4360.43033503, + "iscrowd": 0 + }, + { + "id": 1542, + "image_id": 277, + "category_id": 1, + "bbox": [ + 179.421, + 414.521, + 302.707, + 300.259 + ], + "area": 90890.501113, + "iscrowd": 0 + }, + { + "id": 1543, + "image_id": 277, + "category_id": 1, + "bbox": [ + 454.139, + 343.01, + 305.586, + 371.439 + ], + "area": 113506.55825400002, + "iscrowd": 0 + }, + { + "id": 1544, + "image_id": 277, + "category_id": 1, + "bbox": [ + 660.98, + 319.6, + 111.114, + 192.856 + ], + "area": 21429.001584, + "iscrowd": 0 + }, + { + "id": 1545, + "image_id": 277, + "category_id": 0, + "bbox": [ + 694.538, + 393.242, + 62.2397, + 106.09 + ], + "area": 6603.009773, + "iscrowd": 0 + }, + { + "id": 1546, + "image_id": 277, + "category_id": 0, + "bbox": [ + 381.925, + 558.743, + 100.432, + 94.7741 + ], + "area": 9518.352411200001, + "iscrowd": 0 + }, + { + "id": 1547, + "image_id": 278, + "category_id": 1, + "bbox": [ + 371.464, + 353.39, + 267.003, + 359.53 + ], + "area": 95995.58858999998, + "iscrowd": 0 + }, + { + "id": 1548, + "image_id": 278, + "category_id": 1, + "bbox": [ + 565.032, + 380.016, + 458.346, + 336.027 + ], + "area": 154016.631342, + "iscrowd": 0 + }, + { + "id": 1549, + "image_id": 278, + "category_id": 1, + "bbox": [ + 292.958, + 343.72, + 163.726, + 372.519 + ], + "area": 60991.045794, + "iscrowd": 0 + }, + { + "id": 1550, + "image_id": 278, + "category_id": 1, + "bbox": [ + 608.541, + 362.882, + 134.315, + 353.975 + ], + "area": 47544.152125, + "iscrowd": 0 + }, + { + "id": 1551, + "image_id": 278, + "category_id": 0, + "bbox": [ + 816.974, + 502.76, + 185.175, + 214.166 + ], + "area": 39658.18905, + "iscrowd": 0 + }, + { + "id": 1552, + "image_id": 278, + "category_id": 1, + "bbox": [ + 324.069, + 433.401, + 27.8258, + 40.2541 + ], + "area": 1120.1025357800002, + "iscrowd": 0 + }, + { + "id": 1553, + "image_id": 278, + "category_id": 0, + "bbox": [ + 471.895, + 476.623, + 172.206, + 208.95 + ], + "area": 35982.443699999996, + "iscrowd": 0 + }, + { + "id": 1554, + "image_id": 278, + "category_id": 0, + "bbox": [ + 338.079, + 423.975, + 87.1996, + 216.628 + ], + "area": 18889.8749488, + "iscrowd": 0 + }, + { + "id": 1564, + "image_id": 280, + "category_id": 1, + "bbox": [ + 604.705, + 303.661, + 181.837, + 409.436 + ], + "area": 74450.613932, + "iscrowd": 0 + }, + { + "id": 1565, + "image_id": 280, + "category_id": 1, + "bbox": [ + 142.586, + 283.299, + 440.867, + 429.161 + ], + "area": 189202.922587, + "iscrowd": 0 + }, + { + "id": 1566, + "image_id": 280, + "category_id": 1, + "bbox": [ + 0.406132, + 418.644, + 212.362, + 296.087 + ], + "area": 62877.62749399999, + "iscrowd": 0 + }, + { + "id": 1567, + "image_id": 280, + "category_id": 1, + "bbox": [ + 460.693, + 430.495, + 139.301, + 178.784 + ], + "area": 24904.789983999995, + "iscrowd": 0 + }, + { + "id": 1568, + "image_id": 280, + "category_id": 0, + "bbox": [ + 694.538, + 374.853, + 73.556, + 144.283 + ], + "area": 10612.880347999999, + "iscrowd": 0 + }, + { + "id": 1569, + "image_id": 280, + "category_id": 0, + "bbox": [ + 25.4617, + 659.175, + 125.894, + 59.4106 + ], + "area": 7479.438076400001, + "iscrowd": 0 + }, + { + "id": 1570, + "image_id": 281, + "category_id": 1, + "bbox": [ + 550.617, + 380.729, + 623.115, + 336.167 + ], + "area": 209470.70020499997, + "iscrowd": 0 + }, + { + "id": 1571, + "image_id": 281, + "category_id": 1, + "bbox": [ + 324.963, + 333.776, + 311.038, + 386.224 + ], + "area": 120130.340512, + "iscrowd": 0 + }, + { + "id": 1572, + "image_id": 281, + "category_id": 0, + "bbox": [ + 926.23, + 516.339, + 215.597, + 200.218 + ], + "area": 43166.400146, + "iscrowd": 0 + }, + { + "id": 1573, + "image_id": 281, + "category_id": 1, + "bbox": [ + 242.294, + 327.077, + 187.215, + 392.923 + ], + "area": 73561.079445, + "iscrowd": 0 + }, + { + "id": 1574, + "image_id": 281, + "category_id": 1, + "bbox": [ + 612.948, + 359.049, + 151.24, + 360.951 + ], + "area": 54590.22924000001, + "iscrowd": 0 + }, + { + "id": 1575, + "image_id": 281, + "category_id": 1, + "bbox": [ + 471.008, + 360.629, + 33.7347, + 61.4501 + ], + "area": 2073.0006884699997, + "iscrowd": 0 + }, + { + "id": 1576, + "image_id": 281, + "category_id": 0, + "bbox": [ + 460.8, + 489.6, + 187.697, + 228.414 + ], + "area": 42872.622557999995, + "iscrowd": 0 + }, + { + "id": 1577, + "image_id": 281, + "category_id": 0, + "bbox": [ + 306.869, + 413.131, + 99.3103, + 87.3931 + ], + "area": 8679.03497893, + "iscrowd": 0 + }, + { + "id": 1578, + "image_id": 282, + "category_id": 1, + "bbox": [ + 554.284, + 365.5, + 100.546, + 341.129 + ], + "area": 34299.156434000004, + "iscrowd": 0 + }, + { + "id": 1579, + "image_id": 282, + "category_id": 1, + "bbox": [ + 684.762, + 422.941, + 108.945, + 296.822 + ], + "area": 32337.27279, + "iscrowd": 0 + }, + { + "id": 1580, + "image_id": 282, + "category_id": 1, + "bbox": [ + 628.782, + 424.464, + 94.0482, + 295.536 + ], + "area": 27794.628835199997, + "iscrowd": 0 + }, + { + "id": 1581, + "image_id": 282, + "category_id": 1, + "bbox": [ + 756.251, + 405.02, + 120.519, + 314.98 + ], + "area": 37961.07462000001, + "iscrowd": 0 + }, + { + "id": 1582, + "image_id": 282, + "category_id": 1, + "bbox": [ + 1074.44, + 376.717, + 84.1675, + 171.049 + ], + "area": 14396.7667075, + "iscrowd": 0 + }, + { + "id": 1583, + "image_id": 282, + "category_id": 0, + "bbox": [ + 560.667, + 403.13, + 38.9398, + 78.6506 + ], + "area": 3062.63863388, + "iscrowd": 0 + }, + { + "id": 1584, + "image_id": 282, + "category_id": 0, + "bbox": [ + 632.764, + 479.082, + 52.8217, + 79.5167 + ], + "area": 4200.20727239, + "iscrowd": 0 + }, + { + "id": 1585, + "image_id": 282, + "category_id": 0, + "bbox": [ + 691.752, + 487.179, + 70.9426, + 71.8048 + ], + "area": 5094.01920448, + "iscrowd": 0 + }, + { + "id": 1586, + "image_id": 283, + "category_id": 1, + "bbox": [ + 597.162, + 290.439, + 215.293, + 424.674 + ], + "area": 91429.339482, + "iscrowd": 0 + }, + { + "id": 1587, + "image_id": 283, + "category_id": 1, + "bbox": [ + 289.974, + 437.516, + 225.911, + 230.17 + ], + "area": 51997.93487, + "iscrowd": 0 + }, + { + "id": 1588, + "image_id": 283, + "category_id": 0, + "bbox": [ + 688.88, + 387.583, + 108.919, + 154.185 + ], + "area": 16793.676015, + "iscrowd": 0 + }, + { + "id": 1589, + "image_id": 283, + "category_id": 0, + "bbox": [ + 327.175, + 646.816, + 165.022, + 73.1839 + ], + "area": 12076.9535458, + "iscrowd": 0 + }, + { + "id": 1590, + "image_id": 284, + "category_id": 1, + "bbox": [ + 811.163, + 377.326, + 466.738, + 337.403 + ], + "area": 157478.80141400002, + "iscrowd": 0 + }, + { + "id": 1591, + "image_id": 284, + "category_id": 1, + "bbox": [ + 613.842, + 350.183, + 161.347, + 366.009 + ], + "area": 59054.454123, + "iscrowd": 0 + }, + { + "id": 1592, + "image_id": 284, + "category_id": 1, + "bbox": [ + 266.044, + 328.424, + 217.176, + 387.469 + ], + "area": 84148.967544, + "iscrowd": 0 + }, + { + "id": 1593, + "image_id": 284, + "category_id": 1, + "bbox": [ + 335.199, + 329.258, + 310.012, + 386.182 + ], + "area": 119721.05418400001, + "iscrowd": 0 + }, + { + "id": 1594, + "image_id": 284, + "category_id": 0, + "bbox": [ + 1082.97, + 532.314, + 196.755, + 185.865 + ], + "area": 36569.868075, + "iscrowd": 0 + }, + { + "id": 1595, + "image_id": 284, + "category_id": 1, + "bbox": [ + 461.988, + 359.806, + 60.41, + 73.1476 + ], + "area": 4418.846516, + "iscrowd": 0 + }, + { + "id": 1596, + "image_id": 284, + "category_id": 0, + "bbox": [ + 321.766, + 414.124, + 113.214, + 103.283 + ], + "area": 11693.081562, + "iscrowd": 0 + }, + { + "id": 1597, + "image_id": 284, + "category_id": 0, + "bbox": [ + 512.441, + 511.448, + 209.545, + 208.552 + ], + "area": 43701.02884, + "iscrowd": 0 + }, + { + "id": 1598, + "image_id": 285, + "category_id": 1, + "bbox": [ + 656.511, + 412.034, + 112.49, + 305.764 + ], + "area": 34395.39236, + "iscrowd": 0 + }, + { + "id": 1599, + "image_id": 285, + "category_id": 1, + "bbox": [ + 742.354, + 400.458, + 82.9302, + 316.767 + ], + "area": 26269.5506634, + "iscrowd": 0 + }, + { + "id": 1600, + "image_id": 285, + "category_id": 1, + "bbox": [ + 454.427, + 361.019, + 144.289, + 356.95 + ], + "area": 51503.958549999996, + "iscrowd": 0 + }, + { + "id": 1601, + "image_id": 285, + "category_id": 1, + "bbox": [ + 549.292, + 421.934, + 122.718, + 296.581 + ], + "area": 36395.827158, + "iscrowd": 0 + }, + { + "id": 1602, + "image_id": 285, + "category_id": 1, + "bbox": [ + 948.325, + 377.978, + 88.7349, + 156.869 + ], + "area": 13919.755028099999, + "iscrowd": 0 + }, + { + "id": 1603, + "image_id": 285, + "category_id": 0, + "bbox": [ + 564.083, + 477.683, + 76.469, + 128.11 + ], + "area": 9796.44359, + "iscrowd": 0 + }, + { + "id": 1604, + "image_id": 285, + "category_id": 0, + "bbox": [ + 479.669, + 400.221, + 65.5448, + 97.3241 + ], + "area": 6379.08866968, + "iscrowd": 0 + }, + { + "id": 1605, + "image_id": 285, + "category_id": 0, + "bbox": [ + 949.407, + 441.931, + 45.6828, + 82.4276 + ], + "area": 3765.5235652799997, + "iscrowd": 0 + }, + { + "id": 1606, + "image_id": 286, + "category_id": 1, + "bbox": [ + 529.703, + 264.451, + 272.767, + 449.193 + ], + "area": 122525.02703099999, + "iscrowd": 0 + }, + { + "id": 1607, + "image_id": 286, + "category_id": 1, + "bbox": [ + 17.9665, + 440.683, + 287.694, + 274.938 + ], + "area": 79098.012972, + "iscrowd": 0 + }, + { + "id": 1608, + "image_id": 286, + "category_id": 1, + "bbox": [ + 749.38, + 394.398, + 102.827, + 323.003 + ], + "area": 33213.429481, + "iscrowd": 0 + }, + { + "id": 1609, + "image_id": 286, + "category_id": 0, + "bbox": [ + 780.579, + 458.814, + 85.4069, + 102.29 + ], + "area": 8736.271800999999, + "iscrowd": 0 + }, + { + "id": 1610, + "image_id": 286, + "category_id": 0, + "bbox": [ + 603.807, + 386.317, + 190.676, + 208.552 + ], + "area": 39765.861152, + "iscrowd": 0 + }, + { + "id": 1628, + "image_id": 289, + "category_id": 1, + "bbox": [ + 366.463, + 205.205, + 370.199, + 514.795 + ], + "area": 190576.594205, + "iscrowd": 0 + }, + { + "id": 1629, + "image_id": 289, + "category_id": 1, + "bbox": [ + 762.409, + 401.298, + 157.597, + 318.702 + ], + "area": 50226.479094, + "iscrowd": 0 + }, + { + "id": 1630, + "image_id": 289, + "category_id": 0, + "bbox": [ + 819.539, + 488.19, + 101.394, + 106.863 + ], + "area": 10835.267022, + "iscrowd": 0 + }, + { + "id": 1631, + "image_id": 289, + "category_id": 0, + "bbox": [ + 472.508, + 380.036, + 263.823, + 285.207 + ], + "area": 75244.166361, + "iscrowd": 0 + }, + { + "id": 1632, + "image_id": 290, + "category_id": 1, + "bbox": [ + 636.29, + 265.429, + 473.728, + 448.268 + ], + "area": 212357.10310399998, + "iscrowd": 0 + }, + { + "id": 1633, + "image_id": 290, + "category_id": 0, + "bbox": [ + 317.401, + 423.829, + 189.029, + 292.362 + ], + "area": 55264.896498, + "iscrowd": 0 + }, + { + "id": 1634, + "image_id": 290, + "category_id": 1, + "bbox": [ + 223.431, + 301.851, + 347.688, + 418.149 + ], + "area": 145385.389512, + "iscrowd": 0 + }, + { + "id": 1635, + "image_id": 291, + "category_id": 1, + "bbox": [ + 726.772, + 367.673, + 140.523, + 345.979 + ], + "area": 48618.007016999996, + "iscrowd": 0 + }, + { + "id": 1636, + "image_id": 291, + "category_id": 1, + "bbox": [ + 610.425, + 413.803, + 158.595, + 304.749 + ], + "area": 48331.667655000005, + "iscrowd": 0 + }, + { + "id": 1637, + "image_id": 291, + "category_id": 1, + "bbox": [ + 498.861, + 417.768, + 123.668, + 300.05 + ], + "area": 37106.5834, + "iscrowd": 0 + }, + { + "id": 1638, + "image_id": 291, + "category_id": 1, + "bbox": [ + 372.039, + 348.481, + 138.074, + 368.6 + ], + "area": 50894.076400000005, + "iscrowd": 0 + }, + { + "id": 1639, + "image_id": 291, + "category_id": 1, + "bbox": [ + 602.171, + 425.489, + 49.2666, + 102.019 + ], + "area": 5026.1292654, + "iscrowd": 0 + }, + { + "id": 1640, + "image_id": 291, + "category_id": 0, + "bbox": [ + 373.407, + 395.255, + 75.4759, + 102.29 + ], + "area": 7720.429811, + "iscrowd": 0 + }, + { + "id": 1641, + "image_id": 291, + "category_id": 0, + "bbox": [ + 501.517, + 478.676, + 90.3724, + 162.869 + ], + "area": 14718.8624156, + "iscrowd": 0 + }, + { + "id": 1642, + "image_id": 291, + "category_id": 0, + "bbox": [ + 643.531, + 497.545, + 118.179, + 143.007 + ], + "area": 16900.424253, + "iscrowd": 0 + }, + { + "id": 1643, + "image_id": 291, + "category_id": 0, + "bbox": [ + 770.648, + 442.924, + 45.6828, + 84.4138 + ], + "area": 3856.2587426399996, + "iscrowd": 0 + }, + { + "id": 1644, + "image_id": 292, + "category_id": 1, + "bbox": [ + 3.94781, + 85.7646, + 472.598, + 624.084 + ], + "area": 294940.850232, + "iscrowd": 0 + }, + { + "id": 1645, + "image_id": 292, + "category_id": 1, + "bbox": [ + 772.345, + 405.512, + 144.801, + 312.032 + ], + "area": 45182.545631999994, + "iscrowd": 0 + }, + { + "id": 1646, + "image_id": 292, + "category_id": 0, + "bbox": [ + 57.9961, + 339.489, + 280.079, + 362.122 + ], + "area": 101422.767638, + "iscrowd": 0 + }, + { + "id": 1647, + "image_id": 292, + "category_id": 0, + "bbox": [ + 845.894, + 510.648, + 87.7014, + 100.432 + ], + "area": 8808.0270048, + "iscrowd": 0 + }, + { + "id": 1648, + "image_id": 293, + "category_id": 1, + "bbox": [ + 937.825, + 247.206, + 341.622, + 465.112 + ], + "area": 158892.491664, + "iscrowd": 0 + }, + { + "id": 1649, + "image_id": 293, + "category_id": 1, + "bbox": [ + 706.177, + 340.452, + 227.919, + 375.85 + ], + "area": 85663.35615, + "iscrowd": 0 + }, + { + "id": 1650, + "image_id": 293, + "category_id": 1, + "bbox": [ + 363.421, + 328.027, + 124.894, + 390.558 + ], + "area": 48778.350852, + "iscrowd": 0 + }, + { + "id": 1651, + "image_id": 293, + "category_id": 1, + "bbox": [ + 324.16, + 432.745, + 35.5587, + 40.9953 + ], + "area": 1457.7395741100001, + "iscrowd": 0 + }, + { + "id": 1652, + "image_id": 293, + "category_id": 1, + "bbox": [ + 481.753, + 282.892, + 191.29, + 432.859 + ], + "area": 82801.59810999999, + "iscrowd": 0 + }, + { + "id": 1653, + "image_id": 293, + "category_id": 0, + "bbox": [ + 422.947, + 428.605, + 171.159, + 278.664 + ], + "area": 47695.851575999994, + "iscrowd": 0 + }, + { + "id": 1654, + "image_id": 294, + "category_id": 1, + "bbox": [ + 304.165, + 334.767, + 159.9, + 381.603 + ], + "area": 61018.3197, + "iscrowd": 0 + }, + { + "id": 1655, + "image_id": 294, + "category_id": 1, + "bbox": [ + 599.846, + 417.374, + 173.953, + 301.302 + ], + "area": 52412.386806, + "iscrowd": 0 + }, + { + "id": 1656, + "image_id": 294, + "category_id": 1, + "bbox": [ + 452.803, + 420.614, + 147.301, + 297.058 + ], + "area": 43756.940458, + "iscrowd": 0 + }, + { + "id": 1657, + "image_id": 294, + "category_id": 1, + "bbox": [ + 710.824, + 359.983, + 89.7705, + 193.229 + ], + "area": 17346.263944500002, + "iscrowd": 0 + }, + { + "id": 1658, + "image_id": 294, + "category_id": 0, + "bbox": [ + 654.099, + 523.352, + 125.336, + 183.951 + ], + "area": 23055.682536, + "iscrowd": 0 + }, + { + "id": 1659, + "image_id": 294, + "category_id": 0, + "bbox": [ + 450.869, + 499.531, + 115.2, + 177.766 + ], + "area": 20478.6432, + "iscrowd": 0 + }, + { + "id": 1660, + "image_id": 294, + "category_id": 0, + "bbox": [ + 720.0, + 449.876, + 39.7241, + 70.5103 + ], + "area": 2800.95820823, + "iscrowd": 0 + }, + { + "id": 1661, + "image_id": 294, + "category_id": 0, + "bbox": [ + 310.841, + 385.324, + 83.4207, + 117.186 + ], + "area": 9775.7381502, + "iscrowd": 0 + }, + { + "id": 1662, + "image_id": 294, + "category_id": 1, + "bbox": [ + 559.117, + 424.055, + 42.7034, + 71.5034 + ], + "area": 3053.43829156, + "iscrowd": 0 + }, + { + "id": 1663, + "image_id": 295, + "category_id": 1, + "bbox": [ + 749.461, + 409.913, + 211.231, + 306.951 + ], + "area": 64837.566681000004, + "iscrowd": 0 + }, + { + "id": 1664, + "image_id": 295, + "category_id": 0, + "bbox": [ + 804.328, + 542.303, + 157.764, + 157.34 + ], + "area": 24822.587760000002, + "iscrowd": 0 + }, + { + "id": 1665, + "image_id": 296, + "category_id": 1, + "bbox": [ + 402.485, + 263.247, + 368.043, + 456.753 + ], + "area": 168104.744379, + "iscrowd": 0 + }, + { + "id": 1666, + "image_id": 296, + "category_id": 1, + "bbox": [ + 793.978, + 326.872, + 236.898, + 388.94 + ], + "area": 92139.10812, + "iscrowd": 0 + }, + { + "id": 1667, + "image_id": 296, + "category_id": 1, + "bbox": [ + 351.507, + 328.318, + 194.369, + 391.682 + ], + "area": 76130.83865800001, + "iscrowd": 0 + }, + { + "id": 1668, + "image_id": 296, + "category_id": 1, + "bbox": [ + 322.722, + 433.77, + 60.4978, + 45.5706 + ], + "area": 2756.92104468, + "iscrowd": 0 + }, + { + "id": 1669, + "image_id": 296, + "category_id": 0, + "bbox": [ + 557.131, + 471.724, + 210.538, + 248.276 + ], + "area": 52271.532488000004, + "iscrowd": 0 + }, + { + "id": 1670, + "image_id": 297, + "category_id": 1, + "bbox": [ + 254.111, + 325.185, + 193.049, + 391.6 + ], + "area": 75597.9884, + "iscrowd": 0 + }, + { + "id": 1671, + "image_id": 297, + "category_id": 1, + "bbox": [ + 597.065, + 411.043, + 224.34, + 307.761 + ], + "area": 69043.10274, + "iscrowd": 0 + }, + { + "id": 1672, + "image_id": 297, + "category_id": 1, + "bbox": [ + 661.921, + 349.631, + 68.7309, + 59.5774 + ], + "area": 4094.8083216600003, + "iscrowd": 0 + }, + { + "id": 1673, + "image_id": 297, + "category_id": 1, + "bbox": [ + 438.552, + 426.953, + 168.477, + 284.528 + ], + "area": 47936.423856, + "iscrowd": 0 + }, + { + "id": 1674, + "image_id": 297, + "category_id": 0, + "bbox": [ + 473.95, + 517.914, + 120.838, + 200.614 + ], + "area": 24241.794532, + "iscrowd": 0 + }, + { + "id": 1675, + "image_id": 297, + "category_id": 0, + "bbox": [ + 691.709, + 555.914, + 123.065, + 152.77 + ], + "area": 18800.64005, + "iscrowd": 0 + }, + { + "id": 1676, + "image_id": 297, + "category_id": 0, + "bbox": [ + 297.053, + 396.071, + 125.894, + 141.454 + ], + "area": 17808.209876, + "iscrowd": 0 + }, + { + "id": 1677, + "image_id": 297, + "category_id": 1, + "bbox": [ + 612.475, + 409.006, + 71.8962, + 105.62 + ], + "area": 7593.676643999999, + "iscrowd": 0 + }, + { + "id": 1678, + "image_id": 298, + "category_id": 1, + "bbox": [ + 688.602, + 406.156, + 243.595, + 312.607 + ], + "area": 76149.50216500001, + "iscrowd": 0 + }, + { + "id": 1679, + "image_id": 298, + "category_id": 0, + "bbox": [ + 718.009, + 580.645, + 213.677, + 122.765 + ], + "area": 26232.056904999998, + "iscrowd": 0 + }, + { + "id": 1680, + "image_id": 299, + "category_id": 1, + "bbox": [ + 345.156, + 307.88, + 241.426, + 406.067 + ], + "area": 98035.131542, + "iscrowd": 0 + }, + { + "id": 1681, + "image_id": 299, + "category_id": 1, + "bbox": [ + 585.656, + 220.078, + 502.943, + 492.476 + ], + "area": 247687.356868, + "iscrowd": 0 + }, + { + "id": 1682, + "image_id": 299, + "category_id": 1, + "bbox": [ + 1039.92, + 338.554, + 237.53, + 376.521 + ], + "area": 89435.03313000001, + "iscrowd": 0 + }, + { + "id": 1683, + "image_id": 299, + "category_id": 1, + "bbox": [ + 323.089, + 433.77, + 60.0301, + 44.9581 + ], + "area": 2698.83923881, + "iscrowd": 0 + }, + { + "id": 1684, + "image_id": 299, + "category_id": 0, + "bbox": [ + 541.241, + 445.903, + 132.083, + 185.71 + ], + "area": 24529.13393, + "iscrowd": 0 + }, + { + "id": 1685, + "image_id": 299, + "category_id": 0, + "bbox": [ + 780.579, + 432.0, + 189.683, + 242.317 + ], + "area": 45963.415511, + "iscrowd": 0 + }, + { + "id": 1686, + "image_id": 300, + "category_id": 1, + "bbox": [ + 197.23, + 315.297, + 258.311, + 404.703 + ], + "area": 104539.23663299998, + "iscrowd": 0 + }, + { + "id": 1687, + "image_id": 300, + "category_id": 1, + "bbox": [ + 570.355, + 339.35, + 102.213, + 182.861 + ], + "area": 18690.771393, + "iscrowd": 0 + }, + { + "id": 1688, + "image_id": 300, + "category_id": 1, + "bbox": [ + 601.681, + 381.018, + 133.735, + 336.687 + ], + "area": 45026.835945000006, + "iscrowd": 0 + }, + { + "id": 1689, + "image_id": 300, + "category_id": 1, + "bbox": [ + 439.006, + 432.232, + 191.311, + 284.426 + ], + "area": 54413.822486, + "iscrowd": 0 + }, + { + "id": 1690, + "image_id": 300, + "category_id": 0, + "bbox": [ + 465.879, + 542.582, + 141.995, + 177.418 + ], + "area": 25192.468910000003, + "iscrowd": 0 + }, + { + "id": 1691, + "image_id": 300, + "category_id": 0, + "bbox": [ + 767.261, + 569.642, + 168.395, + 150.358 + ], + "area": 25319.53541, + "iscrowd": 0 + }, + { + "id": 1692, + "image_id": 300, + "category_id": 0, + "bbox": [ + 307.232, + 441.102, + 122.602, + 104.867 + ], + "area": 12856.903934000002, + "iscrowd": 0 + }, + { + "id": 1693, + "image_id": 300, + "category_id": 1, + "bbox": [ + 657.132, + 401.436, + 233.824, + 318.564 + ], + "area": 74487.90873600001, + "iscrowd": 0 + }, + { + "id": 1694, + "image_id": 300, + "category_id": 1, + "bbox": [ + 421.098, + 428.064, + 93.2106, + 240.893 + ], + "area": 22453.7810658, + "iscrowd": 0 + }, + { + "id": 1695, + "image_id": 301, + "category_id": 1, + "bbox": [ + 516.561, + 390.483, + 289.782, + 327.124 + ], + "area": 94794.646968, + "iscrowd": 0 + }, + { + "id": 1696, + "image_id": 301, + "category_id": 0, + "bbox": [ + 648.332, + 611.005, + 216.332, + 108.995 + ], + "area": 23579.106340000002, + "iscrowd": 0 + }, + { + "id": 1697, + "image_id": 302, + "category_id": 1, + "bbox": [ + 1008.93, + 191.137, + 270.329, + 522.084 + ], + "area": 141134.445636, + "iscrowd": 0 + }, + { + "id": 1698, + "image_id": 302, + "category_id": 1, + "bbox": [ + 414.595, + 300.612, + 406.933, + 413.441 + ], + "area": 168242.78645299998, + "iscrowd": 0 + }, + { + "id": 1699, + "image_id": 302, + "category_id": 0, + "bbox": [ + 620.69, + 490.593, + 192.662, + 181.738 + ], + "area": 35014.006556, + "iscrowd": 0 + }, + { + "id": 1700, + "image_id": 303, + "category_id": 1, + "bbox": [ + 175.176, + 299.756, + 283.665, + 414.91 + ], + "area": 117695.44515000001, + "iscrowd": 0 + }, + { + "id": 1701, + "image_id": 303, + "category_id": 1, + "bbox": [ + 654.007, + 373.052, + 174.892, + 343.89 + ], + "area": 60143.609879999996, + "iscrowd": 0 + }, + { + "id": 1702, + "image_id": 303, + "category_id": 1, + "bbox": [ + 450.292, + 433.452, + 240.808, + 283.475 + ], + "area": 68263.0478, + "iscrowd": 0 + }, + { + "id": 1703, + "image_id": 303, + "category_id": 1, + "bbox": [ + 397.591, + 432.093, + 126.648, + 284.485 + ], + "area": 36029.45628, + "iscrowd": 0 + }, + { + "id": 1704, + "image_id": 303, + "category_id": 1, + "bbox": [ + 552.128, + 332.972, + 149.139, + 229.313 + ], + "area": 34199.511507, + "iscrowd": 0 + }, + { + "id": 1705, + "image_id": 303, + "category_id": 0, + "bbox": [ + 538.939, + 577.768, + 160.297, + 139.663 + ], + "area": 22387.559911, + "iscrowd": 0 + }, + { + "id": 1706, + "image_id": 303, + "category_id": 1, + "bbox": [ + 779.184, + 401.049, + 275.434, + 315.713 + ], + "area": 86958.09444200002, + "iscrowd": 0 + }, + { + "id": 1707, + "image_id": 303, + "category_id": 0, + "bbox": [ + 260.193, + 456.828, + 179.752, + 115.2 + ], + "area": 20707.4304, + "iscrowd": 0 + }, + { + "id": 1708, + "image_id": 303, + "category_id": 0, + "bbox": [ + 938.483, + 569.048, + 143.007, + 146.979 + ], + "area": 21019.025853000003, + "iscrowd": 0 + }, + { + "id": 1709, + "image_id": 303, + "category_id": 0, + "bbox": [ + 624.662, + 432.0, + 98.3172, + 92.3586 + ], + "area": 9080.43894792, + "iscrowd": 0 + }, + { + "id": 1710, + "image_id": 304, + "category_id": 1, + "bbox": [ + 310.829, + 360.592, + 309.368, + 353.984 + ], + "area": 109511.322112, + "iscrowd": 0 + }, + { + "id": 1711, + "image_id": 305, + "category_id": 1, + "bbox": [ + 530.646, + 293.332, + 460.947, + 421.957 + ], + "area": 194499.813279, + "iscrowd": 0 + }, + { + "id": 1712, + "image_id": 305, + "category_id": 0, + "bbox": [ + 788.524, + 497.545, + 209.545, + 222.455 + ], + "area": 46614.332975, + "iscrowd": 0 + }, + { + "id": 1713, + "image_id": 306, + "category_id": 1, + "bbox": [ + 554.395, + 426.67, + 304.231, + 290.469 + ], + "area": 88369.67433899999, + "iscrowd": 0 + }, + { + "id": 1714, + "image_id": 306, + "category_id": 1, + "bbox": [ + 1027.87, + 416.069, + 251.932, + 299.752 + ], + "area": 75517.120864, + "iscrowd": 0 + }, + { + "id": 1715, + "image_id": 306, + "category_id": 1, + "bbox": [ + 770.11, + 374.064, + 162.296, + 344.143 + ], + "area": 55853.032327999994, + "iscrowd": 0 + }, + { + "id": 1716, + "image_id": 306, + "category_id": 1, + "bbox": [ + 183.009, + 275.818, + 295.947, + 444.182 + ], + "area": 131454.330354, + "iscrowd": 0 + }, + { + "id": 1717, + "image_id": 306, + "category_id": 1, + "bbox": [ + 532.248, + 322.23, + 158.927, + 326.289 + ], + "area": 51856.131902999994, + "iscrowd": 0 + }, + { + "id": 1718, + "image_id": 306, + "category_id": 1, + "bbox": [ + 437.143, + 434.228, + 119.199, + 285.772 + ], + "area": 34063.736628, + "iscrowd": 0 + }, + { + "id": 1719, + "image_id": 306, + "category_id": 0, + "bbox": [ + 287.336, + 446.599, + 230.931, + 165.235 + ], + "area": 38157.883785000005, + "iscrowd": 0 + }, + { + "id": 1720, + "image_id": 306, + "category_id": 0, + "bbox": [ + 665.585, + 623.779, + 110.157, + 96.2212 + ], + "area": 10599.438728399999, + "iscrowd": 0 + }, + { + "id": 1721, + "image_id": 306, + "category_id": 0, + "bbox": [ + 592.766, + 479.953, + 72.1556, + 89.4106 + ], + "area": 6451.475489360001, + "iscrowd": 0 + }, + { + "id": 1722, + "image_id": 307, + "category_id": 1, + "bbox": [ + 739.419, + 242.085, + 470.922, + 477.915 + ], + "area": 225060.68763000003, + "iscrowd": 0 + }, + { + "id": 1723, + "image_id": 307, + "category_id": 0, + "bbox": [ + 981.186, + 503.503, + 239.338, + 216.497 + ], + "area": 51815.958986000005, + "iscrowd": 0 + }, + { + "id": 1724, + "image_id": 308, + "category_id": 1, + "bbox": [ + 179.259, + 234.07, + 403.011, + 478.757 + ], + "area": 192944.33732700002, + "iscrowd": 0 + }, + { + "id": 1725, + "image_id": 308, + "category_id": 1, + "bbox": [ + 560.585, + 310.391, + 225.283, + 406.131 + ], + "area": 91494.41007299999, + "iscrowd": 0 + }, + { + "id": 1726, + "image_id": 308, + "category_id": 1, + "bbox": [ + 720.639, + 441.11, + 387.865, + 274.903 + ], + "area": 106625.252095, + "iscrowd": 0 + }, + { + "id": 1727, + "image_id": 308, + "category_id": 0, + "bbox": [ + 684.248, + 448.883, + 103.283, + 95.3379 + ], + "area": 9846.7843257, + "iscrowd": 0 + }, + { + "id": 1728, + "image_id": 308, + "category_id": 1, + "bbox": [ + 375.393, + 465.766, + 203.586, + 151.945 + ], + "area": 30933.874770000002, + "iscrowd": 0 + }, + { + "id": 1729, + "image_id": 308, + "category_id": 1, + "bbox": [ + 907.697, + 369.434, + 146.979, + 154.924 + ], + "area": 22770.574596000002, + "iscrowd": 0 + }, + { + "id": 1730, + "image_id": 309, + "category_id": 1, + "bbox": [ + 1002.03, + 362.196, + 277.278, + 357.804 + ], + "area": 99211.177512, + "iscrowd": 0 + }, + { + "id": 1731, + "image_id": 309, + "category_id": 1, + "bbox": [ + 325.527, + 195.933, + 518.327, + 524.067 + ], + "area": 271638.075909, + "iscrowd": 0 + }, + { + "id": 1732, + "image_id": 309, + "category_id": 1, + "bbox": [ + 680.398, + 285.504, + 218.271, + 428.52 + ], + "area": 93533.48891999999, + "iscrowd": 0 + }, + { + "id": 1733, + "image_id": 309, + "category_id": 0, + "bbox": [ + 802.428, + 453.848, + 96.331, + 89.3793 + ], + "area": 8609.9973483, + "iscrowd": 0 + }, + { + "id": 1734, + "image_id": 309, + "category_id": 0, + "bbox": [ + 632.607, + 500.524, + 244.303, + 219.476 + ], + "area": 53618.645228, + "iscrowd": 0 + }, + { + "id": 1738, + "image_id": 311, + "category_id": 1, + "bbox": [ + 875.945, + 233.132, + 358.188, + 481.579 + ], + "area": 172495.818852, + "iscrowd": 0 + }, + { + "id": 1739, + "image_id": 311, + "category_id": 1, + "bbox": [ + 602.041, + 461.083, + 258.618, + 255.136 + ], + "area": 65982.762048, + "iscrowd": 0 + }, + { + "id": 1740, + "image_id": 311, + "category_id": 0, + "bbox": [ + 1069.39, + 512.063, + 147.112, + 185.305 + ], + "area": 27260.58916, + "iscrowd": 0 + }, + { + "id": 1741, + "image_id": 312, + "category_id": 1, + "bbox": [ + 1168.21, + 240.447, + 111.161, + 475.594 + ], + "area": 52867.504634, + "iscrowd": 0 + }, + { + "id": 1742, + "image_id": 312, + "category_id": 1, + "bbox": [ + 925.154, + 495.093, + 303.383, + 221.646 + ], + "area": 67243.628418, + "iscrowd": 0 + }, + { + "id": 1743, + "image_id": 313, + "category_id": 1, + "bbox": [ + 0.114563, + 257.795, + 75.7024, + 238.59 + ], + "area": 18061.835616, + "iscrowd": 0 + }, + { + "id": 1744, + "image_id": 313, + "category_id": 0, + "bbox": [ + 0.0, + 262.179, + 60.5793, + 74.4828 + ], + "area": 4512.11588604, + "iscrowd": 0 + }, + { + "id": 1745, + "image_id": 314, + "category_id": 1, + "bbox": [ + 821.612, + 371.143, + 66.2751, + 320.706 + ], + "area": 21254.8222206, + "iscrowd": 0 + }, + { + "id": 1746, + "image_id": 314, + "category_id": 1, + "bbox": [ + 1136.13, + 434.866, + 96.5999, + 89.1183 + ], + "area": 8608.818868170001, + "iscrowd": 0 + }, + { + "id": 1747, + "image_id": 314, + "category_id": 1, + "bbox": [ + 993.125, + 413.571, + 75.8269, + 119.401 + ], + "area": 9053.8076869, + "iscrowd": 0 + }, + { + "id": 1748, + "image_id": 314, + "category_id": 0, + "bbox": [ + 787.531, + 424.055, + 44.6897, + 73.4897 + ], + "area": 3284.23264609, + "iscrowd": 0 + }, + { + "id": 1749, + "image_id": 315, + "category_id": 0, + "bbox": [ + 45.1166, + 256.133, + 46.604, + 58.0071 + ], + "area": 2703.3628884, + "iscrowd": 0 + }, + { + "id": 1750, + "image_id": 315, + "category_id": 1, + "bbox": [ + 62.965, + 251.671, + 65.9397, + 143.778 + ], + "area": 9480.6781866, + "iscrowd": 0 + }, + { + "id": 1751, + "image_id": 316, + "category_id": 1, + "bbox": [ + 1137.4, + 435.182, + 93.6182, + 86.8867 + ], + "area": 8134.176457940001, + "iscrowd": 0 + }, + { + "id": 1752, + "image_id": 316, + "category_id": 1, + "bbox": [ + 904.728, + 404.448, + 88.921, + 132.611 + ], + "area": 11791.902731, + "iscrowd": 0 + }, + { + "id": 1753, + "image_id": 316, + "category_id": 1, + "bbox": [ + 810.522, + 377.471, + 71.3765, + 314.611 + ], + "area": 22455.832041499998, + "iscrowd": 0 + }, + { + "id": 1754, + "image_id": 316, + "category_id": 0, + "bbox": [ + 775.614, + 427.034, + 50.6483, + 67.531 + ], + "area": 3420.3303473, + "iscrowd": 0 + }, + { + "id": 1755, + "image_id": 317, + "category_id": 1, + "bbox": [ + 106.262, + 220.469, + 73.4897, + 102.29 + ], + "area": 7517.261413, + "iscrowd": 0 + }, + { + "id": 1756, + "image_id": 317, + "category_id": 0, + "bbox": [ + 114.207, + 237.352, + 36.7448, + 57.6 + ], + "area": 2116.50048, + "iscrowd": 0 + }, + { + "id": 1757, + "image_id": 318, + "category_id": 1, + "bbox": [ + 761.509, + 380.436, + 107.514, + 310.73 + ], + "area": 33407.82522, + "iscrowd": 0 + }, + { + "id": 1758, + "image_id": 318, + "category_id": 1, + "bbox": [ + 1137.93, + 435.474, + 95.6975, + 89.0559 + ], + "area": 8522.42699025, + "iscrowd": 0 + }, + { + "id": 1759, + "image_id": 318, + "category_id": 1, + "bbox": [ + 886.837, + 403.787, + 69.02, + 132.523 + ], + "area": 9146.737459999998, + "iscrowd": 0 + }, + { + "id": 1760, + "image_id": 318, + "category_id": 0, + "bbox": [ + 761.239, + 433.139, + 42.2034, + 66.7878 + ], + "area": 2818.6722385200005, + "iscrowd": 0 + }, + { + "id": 1761, + "image_id": 319, + "category_id": 1, + "bbox": [ + 194.648, + 233.379, + 42.7034, + 59.5862 + ], + "area": 2544.53333308, + "iscrowd": 0 + }, + { + "id": 1762, + "image_id": 320, + "category_id": 1, + "bbox": [ + 694.706, + 372.639, + 122.611, + 313.237 + ], + "area": 38406.301807, + "iscrowd": 0 + }, + { + "id": 1763, + "image_id": 320, + "category_id": 1, + "bbox": [ + 822.814, + 402.464, + 86.9663, + 312.616 + ], + "area": 27187.0568408, + "iscrowd": 0 + }, + { + "id": 1764, + "image_id": 320, + "category_id": 1, + "bbox": [ + 1137.47, + 434.722, + 89.0659, + 83.9391 + ], + "area": 7476.11148669, + "iscrowd": 0 + }, + { + "id": 1765, + "image_id": 320, + "category_id": 0, + "bbox": [ + 685.241, + 427.034, + 56.6069, + 96.331 + ], + "area": 5452.999283900001, + "iscrowd": 0 + }, + { + "id": 1766, + "image_id": 321, + "category_id": 1, + "bbox": [ + 256.852, + 227.324, + 76.4489, + 193.616 + ], + "area": 14801.7302224, + "iscrowd": 0 + }, + { + "id": 1767, + "image_id": 322, + "category_id": 1, + "bbox": [ + 752.406, + 406.736, + 115.71, + 311.353 + ], + "area": 36026.65563, + "iscrowd": 0 + }, + { + "id": 1768, + "image_id": 322, + "category_id": 1, + "bbox": [ + 607.448, + 368.288, + 122.594, + 334.374 + ], + "area": 40992.246156, + "iscrowd": 0 + }, + { + "id": 1769, + "image_id": 322, + "category_id": 1, + "bbox": [ + 1136.58, + 434.66, + 88.1045, + 84.9111 + ], + "area": 7481.0500099500005, + "iscrowd": 0 + }, + { + "id": 1770, + "image_id": 322, + "category_id": 0, + "bbox": [ + 601.821, + 419.09, + 56.6069, + 80.4414 + ], + "area": 4553.53828566, + "iscrowd": 0 + }, + { + "id": 1771, + "image_id": 323, + "category_id": 1, + "bbox": [ + 327.74, + 226.942, + 76.4584, + 109.883 + ], + "area": 8401.4783672, + "iscrowd": 0 + }, + { + "id": 1772, + "image_id": 323, + "category_id": 1, + "bbox": [ + 11.6293, + 256.841, + 65.7584, + 80.5593 + ], + "area": 5297.450673119999, + "iscrowd": 0 + }, + { + "id": 1773, + "image_id": 323, + "category_id": 0, + "bbox": [ + 36.368, + 265.087, + 39.1167, + 48.2087 + ], + "area": 1885.7652552900001, + "iscrowd": 0 + }, + { + "id": 1774, + "image_id": 323, + "category_id": 0, + "bbox": [ + 328.157, + 237.388, + 23.0471, + 63.6439 + ], + "area": 1466.80732769, + "iscrowd": 0 + }, + { + "id": 1779, + "image_id": 325, + "category_id": 1, + "bbox": [ + 0.113442, + 346.038, + 77.7348, + 246.55 + ], + "area": 19165.51494, + "iscrowd": 0 + }, + { + "id": 1780, + "image_id": 326, + "category_id": 1, + "bbox": [ + 419.549, + 225.726, + 39.4833, + 108.179 + ], + "area": 4271.2639107, + "iscrowd": 0 + }, + { + "id": 1781, + "image_id": 326, + "category_id": 1, + "bbox": [ + 79.4483, + 246.29, + 61.5724, + 94.3448 + ], + "area": 5809.035763520001, + "iscrowd": 0 + }, + { + "id": 1782, + "image_id": 326, + "category_id": 1, + "bbox": [ + 0.0, + 309.848, + 47.669, + 197.628 + ], + "area": 9420.729131999999, + "iscrowd": 0 + }, + { + "id": 1783, + "image_id": 327, + "category_id": 1, + "bbox": [ + 632.408, + 391.176, + 125.667, + 325.897 + ], + "area": 40954.498299, + "iscrowd": 0 + }, + { + "id": 1784, + "image_id": 327, + "category_id": 1, + "bbox": [ + 474.166, + 359.004, + 156.624, + 359.478 + ], + "area": 56302.882272, + "iscrowd": 0 + }, + { + "id": 1785, + "image_id": 327, + "category_id": 1, + "bbox": [ + 1137.45, + 434.432, + 88.2695, + 88.4174 + ], + "area": 7804.559689299999, + "iscrowd": 0 + }, + { + "id": 1786, + "image_id": 327, + "category_id": 0, + "bbox": [ + 472.717, + 418.097, + 86.4, + 93.3517 + ], + "area": 8065.58688, + "iscrowd": 0 + }, + { + "id": 1787, + "image_id": 327, + "category_id": 0, + "bbox": [ + 1140.08, + 462.786, + 58.5931, + 60.5793 + ], + "area": 3549.52898283, + "iscrowd": 0 + }, + { + "id": 1788, + "image_id": 328, + "category_id": 1, + "bbox": [ + 46.5574, + 344.901, + 73.6421, + 102.594 + ], + "area": 7555.237607399999, + "iscrowd": 0 + }, + { + "id": 1789, + "image_id": 329, + "category_id": 1, + "bbox": [ + 471.035, + 225.898, + 104.367, + 208.935 + ], + "area": 21805.919145, + "iscrowd": 0 + }, + { + "id": 1790, + "image_id": 329, + "category_id": 1, + "bbox": [ + 0.184312, + 247.69, + 67.2075, + 238.962 + ], + "area": 16060.038614999998, + "iscrowd": 0 + }, + { + "id": 1791, + "image_id": 329, + "category_id": 0, + "bbox": [ + 472.965, + 234.476, + 19.8315, + 59.9452 + ], + "area": 1188.8032337999998, + "iscrowd": 0 + }, + { + "id": 1792, + "image_id": 330, + "category_id": 1, + "bbox": [ + 610.941, + 390.419, + 127.553, + 327.503 + ], + "area": 41773.990159, + "iscrowd": 0 + }, + { + "id": 1793, + "image_id": 330, + "category_id": 1, + "bbox": [ + 467.723, + 356.023, + 138.488, + 361.503 + ], + "area": 50063.827463999995, + "iscrowd": 0 + }, + { + "id": 1794, + "image_id": 330, + "category_id": 1, + "bbox": [ + 1135.62, + 435.022, + 103.535, + 84.5775 + ], + "area": 8756.7314625, + "iscrowd": 0 + }, + { + "id": 1795, + "image_id": 330, + "category_id": 0, + "bbox": [ + 465.766, + 406.179, + 98.3172, + 115.2 + ], + "area": 11326.14144, + "iscrowd": 0 + }, + { + "id": 1796, + "image_id": 330, + "category_id": 0, + "bbox": [ + 1157.96, + 464.772, + 45.6828, + 56.6069 + ], + "area": 2585.96169132, + "iscrowd": 0 + }, + { + "id": 1797, + "image_id": 331, + "category_id": 1, + "bbox": [ + 136.683, + 347.184, + 83.1089, + 100.143 + ], + "area": 8322.7745727, + "iscrowd": 0 + }, + { + "id": 1798, + "image_id": 331, + "category_id": 0, + "bbox": [ + 162.869, + 368.441, + 47.669, + 58.5931 + ], + "area": 2793.0744839, + "iscrowd": 0 + }, + { + "id": 1799, + "image_id": 332, + "category_id": 1, + "bbox": [ + 540.617, + 223.643, + 110.402, + 213.522 + ], + "area": 23573.255844, + "iscrowd": 0 + }, + { + "id": 1800, + "image_id": 332, + "category_id": 1, + "bbox": [ + 21.5756, + 239.665, + 80.5603, + 97.787 + ], + "area": 7877.750056100001, + "iscrowd": 0 + }, + { + "id": 1801, + "image_id": 333, + "category_id": 1, + "bbox": [ + 569.285, + 394.426, + 115.854, + 323.117 + ], + "area": 37434.396918, + "iscrowd": 0 + }, + { + "id": 1802, + "image_id": 333, + "category_id": 1, + "bbox": [ + 501.771, + 352.246, + 99.5754, + 366.456 + ], + "area": 36490.0027824, + "iscrowd": 0 + }, + { + "id": 1803, + "image_id": 333, + "category_id": 0, + "bbox": [ + 547.2, + 424.055, + 59.5862, + 70.5103 + ], + "area": 4201.44083786, + "iscrowd": 0 + }, + { + "id": 1804, + "image_id": 334, + "category_id": 1, + "bbox": [ + 217.199, + 348.355, + 80.3654, + 209.017 + ], + "area": 16797.734811799997, + "iscrowd": 0 + }, + { + "id": 1805, + "image_id": 334, + "category_id": 0, + "bbox": [ + 256.221, + 376.386, + 38.731, + 61.5724 + ], + "area": 2384.7606244000003, + "iscrowd": 0 + }, + { + "id": 1806, + "image_id": 335, + "category_id": 1, + "bbox": [ + 597.821, + 223.318, + 113.398, + 227.662 + ], + "area": 25816.415476, + "iscrowd": 0 + }, + { + "id": 1807, + "image_id": 335, + "category_id": 1, + "bbox": [ + 91.2215, + 231.32, + 63.1329, + 68.9574 + ], + "area": 4353.480638460001, + "iscrowd": 0 + }, + { + "id": 1808, + "image_id": 335, + "category_id": 1, + "bbox": [ + 279.674, + 233.201, + 78.6667, + 192.715 + ], + "area": 15160.253090500002, + "iscrowd": 0 + }, + { + "id": 1809, + "image_id": 335, + "category_id": 0, + "bbox": [ + 275.09, + 247.283, + 45.6828, + 59.5862 + ], + "area": 2722.06445736, + "iscrowd": 0 + }, + { + "id": 1810, + "image_id": 336, + "category_id": 1, + "bbox": [ + 565.732, + 355.11, + 112.795, + 362.946 + ], + "area": 40938.49407, + "iscrowd": 0 + }, + { + "id": 1811, + "image_id": 336, + "category_id": 1, + "bbox": [ + 479.305, + 386.186, + 119.226, + 331.096 + ], + "area": 39475.251696, + "iscrowd": 0 + }, + { + "id": 1812, + "image_id": 336, + "category_id": 0, + "bbox": [ + 598.841, + 425.048, + 80.4414, + 100.303 + ], + "area": 8068.5137442, + "iscrowd": 0 + }, + { + "id": 1813, + "image_id": 336, + "category_id": 1, + "bbox": [ + 1137.1, + 436.966, + 109.241, + 90.3724 + ], + "area": 9872.3713484, + "iscrowd": 0 + }, + { + "id": 1814, + "image_id": 336, + "category_id": 0, + "bbox": [ + 1146.04, + 445.903, + 54.6207, + 79.4483 + ], + "area": 4339.52175981, + "iscrowd": 0 + }, + { + "id": 1815, + "image_id": 337, + "category_id": 1, + "bbox": [ + 652.809, + 225.982, + 93.1724, + 247.983 + ], + "area": 23105.1712692, + "iscrowd": 0 + }, + { + "id": 1816, + "image_id": 337, + "category_id": 1, + "bbox": [ + 0.094409, + 217.597, + 81.6762, + 268.104 + ], + "area": 21897.7159248, + "iscrowd": 0 + }, + { + "id": 1817, + "image_id": 337, + "category_id": 1, + "bbox": [ + 353.261, + 231.958, + 56.7234, + 100.889 + ], + "area": 5722.7671026, + "iscrowd": 0 + }, + { + "id": 1818, + "image_id": 337, + "category_id": 1, + "bbox": [ + 148.46, + 228.014, + 71.4926, + 68.4063 + ], + "area": 4890.54424338, + "iscrowd": 0 + }, + { + "id": 1819, + "image_id": 337, + "category_id": 0, + "bbox": [ + 194.348, + 253.646, + 30.4251, + 37.8762 + ], + "area": 1152.38717262, + "iscrowd": 0 + }, + { + "id": 1820, + "image_id": 338, + "category_id": 1, + "bbox": [ + 342.442, + 384.155, + 213.95, + 332.903 + ], + "area": 71224.59685, + "iscrowd": 0 + }, + { + "id": 1821, + "image_id": 338, + "category_id": 1, + "bbox": [ + 604.244, + 353.949, + 148.998, + 363.168 + ], + "area": 54111.305664, + "iscrowd": 0 + }, + { + "id": 1822, + "image_id": 338, + "category_id": 0, + "bbox": [ + 612.745, + 427.034, + 112.221, + 110.234 + ], + "area": 12370.569714, + "iscrowd": 0 + }, + { + "id": 1823, + "image_id": 338, + "category_id": 1, + "bbox": [ + 1138.1, + 433.986, + 92.3586, + 97.3241 + ], + "area": 8988.71762226, + "iscrowd": 0 + }, + { + "id": 1824, + "image_id": 338, + "category_id": 0, + "bbox": [ + 1150.01, + 455.834, + 44.6897, + 71.5034 + ], + "area": 3195.46549498, + "iscrowd": 0 + }, + { + "id": 1825, + "image_id": 339, + "category_id": 1, + "bbox": [ + 388.763, + 353.703, + 71.6715, + 108.528 + ], + "area": 7778.364552, + "iscrowd": 0 + }, + { + "id": 1826, + "image_id": 339, + "category_id": 0, + "bbox": [ + 420.319, + 382.519, + 38.6037, + 71.4508 + ], + "area": 2758.26524796, + "iscrowd": 0 + }, + { + "id": 1834, + "image_id": 341, + "category_id": 1, + "bbox": [ + 426.852, + 384.592, + 134.04, + 331.448 + ], + "area": 44427.289919999996, + "iscrowd": 0 + }, + { + "id": 1835, + "image_id": 341, + "category_id": 1, + "bbox": [ + 599.134, + 347.476, + 181.687, + 369.341 + ], + "area": 67104.45826700001, + "iscrowd": 0 + }, + { + "id": 1836, + "image_id": 341, + "category_id": 1, + "bbox": [ + 1181.46, + 437.97, + 57.4033, + 85.1917 + ], + "area": 4890.28471261, + "iscrowd": 0 + }, + { + "id": 1837, + "image_id": 341, + "category_id": 0, + "bbox": [ + 615.324, + 432.849, + 97.6031, + 118.821 + ], + "area": 11597.2979451, + "iscrowd": 0 + }, + { + "id": 1838, + "image_id": 341, + "category_id": 0, + "bbox": [ + 1140.12, + 452.652, + 56.5815, + 67.8978 + ], + "area": 3841.7593707, + "iscrowd": 0 + }, + { + "id": 1839, + "image_id": 342, + "category_id": 1, + "bbox": [ + 454.314, + 356.594, + 81.8619, + 253.459 + ], + "area": 20748.635312100003, + "iscrowd": 0 + }, + { + "id": 1840, + "image_id": 342, + "category_id": 0, + "bbox": [ + 490.593, + 378.372, + 31.7793, + 56.6069 + ], + "area": 1798.92765717, + "iscrowd": 0 + }, + { + "id": 1841, + "image_id": 343, + "category_id": 1, + "bbox": [ + 698.9, + 241.542, + 97.1783, + 299.342 + ], + "area": 29089.546678599996, + "iscrowd": 0 + }, + { + "id": 1842, + "image_id": 343, + "category_id": 1, + "bbox": [ + 513.06, + 223.745, + 66.5273, + 213.774 + ], + "area": 14221.8070302, + "iscrowd": 0 + }, + { + "id": 1843, + "image_id": 343, + "category_id": 1, + "bbox": [ + 305.85, + 216.83, + 70.8911, + 124.011 + ], + "area": 8791.2762021, + "iscrowd": 0 + }, + { + "id": 1844, + "image_id": 343, + "category_id": 1, + "bbox": [ + 93.1628, + 200.005, + 61.8727, + 142.706 + ], + "area": 8829.605526199999, + "iscrowd": 0 + }, + { + "id": 1845, + "image_id": 343, + "category_id": 1, + "bbox": [ + 0.22934, + 266.249, + 75.8348, + 211.863 + ], + "area": 16066.5882324, + "iscrowd": 0 + }, + { + "id": 1846, + "image_id": 343, + "category_id": 0, + "bbox": [ + 336.653, + 232.848, + 34.4964, + 58.9862 + ], + "area": 2034.8115496799999, + "iscrowd": 0 + }, + { + "id": 1847, + "image_id": 343, + "category_id": 0, + "bbox": [ + 502.815, + 245.224, + 40.0264, + 59.2495 + ], + "area": 2371.5441868000003, + "iscrowd": 0 + }, + { + "id": 1848, + "image_id": 343, + "category_id": 0, + "bbox": [ + 6.52887, + 281.753, + 62.8948, + 52.6663 + ], + "area": 3312.4364052399997, + "iscrowd": 0 + }, + { + "id": 1849, + "image_id": 344, + "category_id": 1, + "bbox": [ + 573.331, + 334.448, + 177.622, + 382.187 + ], + "area": 67884.81931400001, + "iscrowd": 0 + }, + { + "id": 1850, + "image_id": 344, + "category_id": 1, + "bbox": [ + 469.498, + 387.631, + 115.671, + 329.458 + ], + "area": 38108.736318, + "iscrowd": 0 + }, + { + "id": 1851, + "image_id": 344, + "category_id": 0, + "bbox": [ + 1136.61, + 448.033, + 57.1206, + 71.9873 + ], + "area": 4111.957768380001, + "iscrowd": 0 + }, + { + "id": 1852, + "image_id": 344, + "category_id": 1, + "bbox": [ + 1176.15, + 436.898, + 62.0869, + 85.6918 + ], + "area": 5320.33821742, + "iscrowd": 0 + }, + { + "id": 1853, + "image_id": 344, + "category_id": 0, + "bbox": [ + 571.034, + 416.11, + 101.297, + 136.055 + ], + "area": 13781.963335, + "iscrowd": 0 + }, + { + "id": 1854, + "image_id": 345, + "category_id": 1, + "bbox": [ + 487.826, + 353.898, + 88.0125, + 270.62 + ], + "area": 23817.942750000002, + "iscrowd": 0 + }, + { + "id": 1855, + "image_id": 345, + "category_id": 1, + "bbox": [ + 0.19438, + 370.054, + 78.2733, + 207.641 + ], + "area": 16252.7462853, + "iscrowd": 0 + }, + { + "id": 1856, + "image_id": 345, + "category_id": 0, + "bbox": [ + 522.372, + 379.366, + 58.5931, + 82.4276 + ], + "area": 4829.68860956, + "iscrowd": 0 + }, + { + "id": 1857, + "image_id": 346, + "category_id": 1, + "bbox": [ + 707.823, + 260.766, + 112.089, + 323.508 + ], + "area": 36261.688212, + "iscrowd": 0 + }, + { + "id": 1858, + "image_id": 346, + "category_id": 1, + "bbox": [ + 566.001, + 231.239, + 88.4377, + 210.459 + ], + "area": 18612.5099043, + "iscrowd": 0 + }, + { + "id": 1859, + "image_id": 346, + "category_id": 1, + "bbox": [ + 49.8067, + 259.234, + 68.2128, + 79.6112 + ], + "area": 5430.5028633599995, + "iscrowd": 0 + }, + { + "id": 1860, + "image_id": 346, + "category_id": 1, + "bbox": [ + 170.814, + 193.655, + 64.5517, + 111.228 + ], + "area": 7179.9564875999995, + "iscrowd": 0 + }, + { + "id": 1861, + "image_id": 346, + "category_id": 0, + "bbox": [ + 563.09, + 248.276, + 46.6759, + 70.5103 + ], + "area": 3291.13171177, + "iscrowd": 0 + }, + { + "id": 1862, + "image_id": 346, + "category_id": 0, + "bbox": [ + 54.6207, + 274.097, + 59.5862, + 48.6621 + ], + "area": 2899.58962302, + "iscrowd": 0 + }, + { + "id": 1870, + "image_id": 349, + "category_id": 1, + "bbox": [ + 700.938, + 284.224, + 122.557, + 370.029 + ], + "area": 45349.644153, + "iscrowd": 0 + }, + { + "id": 1871, + "image_id": 349, + "category_id": 1, + "bbox": [ + 597.939, + 235.822, + 88.3987, + 235.06 + ], + "area": 20778.998422, + "iscrowd": 0 + }, + { + "id": 1872, + "image_id": 349, + "category_id": 1, + "bbox": [ + 468.092, + 216.184, + 100.818, + 214.555 + ], + "area": 21631.00599, + "iscrowd": 0 + }, + { + "id": 1873, + "image_id": 349, + "category_id": 1, + "bbox": [ + 250.856, + 190.533, + 84.6992, + 238.678 + ], + "area": 20215.8356576, + "iscrowd": 0 + }, + { + "id": 1874, + "image_id": 349, + "category_id": 1, + "bbox": [ + 110.952, + 248.667, + 52.966, + 51.8701 + ], + "area": 2747.3517166, + "iscrowd": 0 + }, + { + "id": 1875, + "image_id": 349, + "category_id": 0, + "bbox": [ + 495.559, + 237.352, + 43.6966, + 75.4759 + ], + "area": 3298.0402119399996, + "iscrowd": 0 + }, + { + "id": 1876, + "image_id": 349, + "category_id": 0, + "bbox": [ + 591.89, + 251.255, + 64.5517, + 72.4966 + ], + "area": 4679.77877422, + "iscrowd": 0 + }, + { + "id": 1877, + "image_id": 350, + "category_id": 1, + "bbox": [ + 570.846, + 396.806, + 161.204, + 320.921 + ], + "area": 51733.748884, + "iscrowd": 0 + }, + { + "id": 1878, + "image_id": 350, + "category_id": 1, + "bbox": [ + 396.304, + 326.015, + 159.31, + 390.101 + ], + "area": 62146.99031, + "iscrowd": 0 + }, + { + "id": 1879, + "image_id": 350, + "category_id": 0, + "bbox": [ + 1148.09, + 447.853, + 43.0883, + 72.4355 + ], + "area": 3121.12255465, + "iscrowd": 0 + }, + { + "id": 1880, + "image_id": 350, + "category_id": 1, + "bbox": [ + 1135.2, + 435.967, + 101.528, + 84.6842 + ], + "area": 8597.8174576, + "iscrowd": 0 + }, + { + "id": 1881, + "image_id": 351, + "category_id": 1, + "bbox": [ + 532.876, + 349.17, + 99.4639, + 324.828 + ], + "area": 32308.659709199997, + "iscrowd": 0 + }, + { + "id": 1882, + "image_id": 351, + "category_id": 1, + "bbox": [ + 146.7, + 369.627, + 62.6681, + 83.2598 + ], + "area": 5217.73347238, + "iscrowd": 0 + }, + { + "id": 1883, + "image_id": 351, + "category_id": 0, + "bbox": [ + 569.048, + 382.345, + 53.6276, + 93.3517 + ], + "area": 5006.22762692, + "iscrowd": 0 + }, + { + "id": 1884, + "image_id": 351, + "category_id": 0, + "bbox": [ + 157.903, + 397.241, + 43.6966, + 54.6207 + ], + "area": 2386.73887962, + "iscrowd": 0 + }, + { + "id": 1885, + "image_id": 352, + "category_id": 1, + "bbox": [ + 698.351, + 316.488, + 138.568, + 400.231 + ], + "area": 55459.20920800001, + "iscrowd": 0 + }, + { + "id": 1886, + "image_id": 352, + "category_id": 1, + "bbox": [ + 526.77, + 218.504, + 93.9856, + 226.0 + ], + "area": 21240.745600000002, + "iscrowd": 0 + }, + { + "id": 1887, + "image_id": 352, + "category_id": 1, + "bbox": [ + 632.81, + 245.739, + 92.3076, + 227.544 + ], + "area": 21004.0405344, + "iscrowd": 0 + }, + { + "id": 1888, + "image_id": 352, + "category_id": 1, + "bbox": [ + 343.44, + 187.875, + 63.5172, + 145.183 + ], + "area": 9221.6176476, + "iscrowd": 0 + }, + { + "id": 1889, + "image_id": 352, + "category_id": 0, + "bbox": [ + 554.152, + 227.421, + 39.7241, + 84.4138 + ], + "area": 3353.26223258, + "iscrowd": 0 + }, + { + "id": 1890, + "image_id": 352, + "category_id": 0, + "bbox": [ + 631.614, + 262.179, + 51.6414, + 71.5034 + ], + "area": 3692.5356807599997, + "iscrowd": 0 + }, + { + "id": 1891, + "image_id": 353, + "category_id": 1, + "bbox": [ + 562.982, + 386.22, + 172.045, + 331.797 + ], + "area": 57084.014865, + "iscrowd": 0 + }, + { + "id": 1892, + "image_id": 353, + "category_id": 1, + "bbox": [ + 314.432, + 329.839, + 193.025, + 386.353 + ], + "area": 74575.787825, + "iscrowd": 0 + }, + { + "id": 1893, + "image_id": 353, + "category_id": 1, + "bbox": [ + 1173.85, + 420.083, + 72.4966, + 104.276 + ], + "area": 7559.655461599999, + "iscrowd": 0 + }, + { + "id": 1894, + "image_id": 353, + "category_id": 0, + "bbox": [ + 1138.1, + 467.752, + 55.6138, + 49.6552 + ], + "area": 2761.5143617599997, + "iscrowd": 0 + }, + { + "id": 1895, + "image_id": 354, + "category_id": 1, + "bbox": [ + 554.782, + 350.812, + 134.509, + 333.993 + ], + "area": 44925.06443699999, + "iscrowd": 0 + }, + { + "id": 1896, + "image_id": 354, + "category_id": 1, + "bbox": [ + 210.498, + 374.71, + 66.2356, + 205.328 + ], + "area": 13600.0232768, + "iscrowd": 0 + }, + { + "id": 1897, + "image_id": 354, + "category_id": 1, + "bbox": [ + 0.749903, + 388.609, + 91.5751, + 213.849 + ], + "area": 19583.243559900002, + "iscrowd": 0 + }, + { + "id": 1898, + "image_id": 354, + "category_id": 0, + "bbox": [ + 633.222, + 387.494, + 50.6919, + 100.525 + ], + "area": 5095.8032475, + "iscrowd": 0 + }, + { + "id": 1899, + "image_id": 354, + "category_id": 0, + "bbox": [ + 235.833, + 403.839, + 30.4151, + 66.5519 + ], + "area": 2024.18269369, + "iscrowd": 0 + }, + { + "id": 1900, + "image_id": 354, + "category_id": 0, + "bbox": [ + 38.0781, + 401.327, + 49.2774, + 53.7573 + ], + "area": 2649.01997502, + "iscrowd": 0 + }, + { + "id": 1901, + "image_id": 355, + "category_id": 1, + "bbox": [ + 666.791, + 358.86, + 159.67, + 358.007 + ], + "area": 57162.97769, + "iscrowd": 0 + }, + { + "id": 1902, + "image_id": 355, + "category_id": 1, + "bbox": [ + 569.661, + 217.407, + 107.523, + 239.168 + ], + "area": 25716.060864, + "iscrowd": 0 + }, + { + "id": 1903, + "image_id": 355, + "category_id": 1, + "bbox": [ + 650.146, + 255.314, + 98.7576, + 161.781 + ], + "area": 15977.1032856, + "iscrowd": 0 + }, + { + "id": 1904, + "image_id": 355, + "category_id": 1, + "bbox": [ + 433.314, + 187.604, + 60.662, + 135.534 + ], + "area": 8221.763508, + "iscrowd": 0 + }, + { + "id": 1905, + "image_id": 355, + "category_id": 1, + "bbox": [ + 260.421, + 238.89, + 73.7249, + 156.326 + ], + "area": 11525.1187174, + "iscrowd": 0 + }, + { + "id": 1906, + "image_id": 355, + "category_id": 0, + "bbox": [ + 267.145, + 255.228, + 61.5724, + 60.5793 + ], + "area": 3730.01289132, + "iscrowd": 0 + }, + { + "id": 1907, + "image_id": 355, + "category_id": 0, + "bbox": [ + 601.821, + 227.421, + 46.6759, + 103.283 + ], + "area": 4820.8269797, + "iscrowd": 0 + }, + { + "id": 1908, + "image_id": 355, + "category_id": 0, + "bbox": [ + 647.503, + 267.145, + 55.6138, + 61.5724 + ], + "area": 3424.27513912, + "iscrowd": 0 + }, + { + "id": 1909, + "image_id": 356, + "category_id": 1, + "bbox": [ + 332.286, + 332.392, + 175.33, + 383.914 + ], + "area": 67311.64162000001, + "iscrowd": 0 + }, + { + "id": 1910, + "image_id": 356, + "category_id": 1, + "bbox": [ + 552.732, + 382.582, + 134.32, + 335.248 + ], + "area": 45030.51136, + "iscrowd": 0 + }, + { + "id": 1911, + "image_id": 356, + "category_id": 0, + "bbox": [ + 1134.51, + 461.007, + 55.811, + 58.5969 + ], + "area": 3270.3515859, + "iscrowd": 0 + }, + { + "id": 1912, + "image_id": 356, + "category_id": 1, + "bbox": [ + 1131.14, + 434.979, + 103.283, + 93.3517 + ], + "area": 9641.6436311, + "iscrowd": 0 + }, + { + "id": 1913, + "image_id": 357, + "category_id": 1, + "bbox": [ + 635.737, + 350.249, + 140.576, + 358.924 + ], + "area": 50456.100223999994, + "iscrowd": 0 + }, + { + "id": 1914, + "image_id": 357, + "category_id": 1, + "bbox": [ + 78.7981, + 388.335, + 100.179, + 56.2798 + ], + "area": 5638.0540842, + "iscrowd": 0 + }, + { + "id": 1915, + "image_id": 357, + "category_id": 1, + "bbox": [ + 280.501, + 377.97, + 60.7157, + 90.0364 + ], + "area": 5466.62305148, + "iscrowd": 0 + }, + { + "id": 1916, + "image_id": 357, + "category_id": 0, + "bbox": [ + 709.076, + 385.324, + 57.6, + 100.303 + ], + "area": 5777.4528, + "iscrowd": 0 + }, + { + "id": 1917, + "image_id": 357, + "category_id": 0, + "bbox": [ + 296.938, + 403.2, + 46.6759, + 70.5103 + ], + "area": 3291.13171177, + "iscrowd": 0 + }, + { + "id": 1918, + "image_id": 358, + "category_id": 1, + "bbox": [ + 618.13, + 411.092, + 191.805, + 306.219 + ], + "area": 58734.335295000004, + "iscrowd": 0 + }, + { + "id": 1919, + "image_id": 358, + "category_id": 1, + "bbox": [ + 514.856, + 185.38, + 108.979, + 252.921 + ], + "area": 27563.077659, + "iscrowd": 0 + }, + { + "id": 1920, + "image_id": 358, + "category_id": 1, + "bbox": [ + 665.645, + 270.818, + 101.641, + 174.268 + ], + "area": 17712.773788000002, + "iscrowd": 0 + }, + { + "id": 1921, + "image_id": 358, + "category_id": 1, + "bbox": [ + 335.744, + 237.282, + 67.1339, + 95.5176 + ], + "area": 6412.46900664, + "iscrowd": 0 + }, + { + "id": 1922, + "image_id": 358, + "category_id": 1, + "bbox": [ + 600.352, + 215.852, + 64.9102, + 228.736 + ], + "area": 14847.2995072, + "iscrowd": 0 + }, + { + "id": 1923, + "image_id": 358, + "category_id": 0, + "bbox": [ + 716.028, + 423.062, + 90.3724, + 121.159 + ], + "area": 10949.4296116, + "iscrowd": 0 + }, + { + "id": 1924, + "image_id": 358, + "category_id": 0, + "bbox": [ + 656.441, + 292.966, + 60.5793, + 74.4828 + ], + "area": 4512.11588604, + "iscrowd": 0 + }, + { + "id": 1925, + "image_id": 358, + "category_id": 0, + "bbox": [ + 626.648, + 230.4, + 71.5034, + 100.303 + ], + "area": 7172.0055302, + "iscrowd": 0 + }, + { + "id": 1926, + "image_id": 358, + "category_id": 0, + "bbox": [ + 337.655, + 255.228, + 47.669, + 46.6759 + ], + "area": 2224.9934771, + "iscrowd": 0 + }, + { + "id": 1927, + "image_id": 359, + "category_id": 1, + "bbox": [ + 460.686, + 381.74, + 128.335, + 334.767 + ], + "area": 42962.322945, + "iscrowd": 0 + }, + { + "id": 1928, + "image_id": 359, + "category_id": 1, + "bbox": [ + 349.198, + 337.621, + 142.175, + 378.511 + ], + "area": 53814.801425000005, + "iscrowd": 0 + }, + { + "id": 1929, + "image_id": 359, + "category_id": 0, + "bbox": [ + 1134.81, + 451.303, + 53.4482, + 67.458 + ], + "area": 3605.5086756, + "iscrowd": 0 + }, + { + "id": 1930, + "image_id": 359, + "category_id": 0, + "bbox": [ + 432.0, + 415.117, + 60.5793, + 100.303 + ], + "area": 6076.2855279000005, + "iscrowd": 0 + }, + { + "id": 1931, + "image_id": 359, + "category_id": 1, + "bbox": [ + 1132.14, + 423.062, + 102.29, + 104.276 + ], + "area": 10666.39204, + "iscrowd": 0 + }, + { + "id": 1932, + "image_id": 360, + "category_id": 1, + "bbox": [ + 143.526, + 389.432, + 48.1957, + 77.3583 + ], + "area": 3728.3374193100003, + "iscrowd": 0 + }, + { + "id": 1933, + "image_id": 360, + "category_id": 1, + "bbox": [ + 728.215, + 346.79, + 155.045, + 369.378 + ], + "area": 57270.212009999996, + "iscrowd": 0 + }, + { + "id": 1934, + "image_id": 360, + "category_id": 0, + "bbox": [ + 789.312, + 396.071, + 52.3379, + 84.8723 + ], + "area": 4442.03795017, + "iscrowd": 0 + }, + { + "id": 1935, + "image_id": 360, + "category_id": 0, + "bbox": [ + 185.521, + 394.953, + 57.5113, + 65.9397 + ], + "area": 3792.27786861, + "iscrowd": 0 + }, + { + "id": 1936, + "image_id": 361, + "category_id": 1, + "bbox": [ + 563.678, + 185.872, + 87.4884, + 279.014 + ], + "area": 24410.4884376, + "iscrowd": 0 + }, + { + "id": 1937, + "image_id": 361, + "category_id": 0, + "bbox": [ + 529.078, + 502.488, + 107.886, + 217.512 + ], + "area": 23466.499632, + "iscrowd": 0 + }, + { + "id": 1938, + "image_id": 361, + "category_id": 1, + "bbox": [ + 660.478, + 285.801, + 127.484, + 307.503 + ], + "area": 39201.712452, + "iscrowd": 0 + }, + { + "id": 1939, + "image_id": 361, + "category_id": 1, + "bbox": [ + 618.562, + 228.73, + 92.8822, + 288.795 + ], + "area": 26823.914949, + "iscrowd": 0 + }, + { + "id": 1940, + "image_id": 361, + "category_id": 1, + "bbox": [ + 423.917, + 235.131, + 58.1072, + 89.0184 + ], + "area": 5172.60997248, + "iscrowd": 0 + }, + { + "id": 1941, + "image_id": 361, + "category_id": 0, + "bbox": [ + 647.68, + 242.901, + 70.3234, + 77.5982 + ], + "area": 5456.969257880001, + "iscrowd": 0 + }, + { + "id": 1942, + "image_id": 361, + "category_id": 0, + "bbox": [ + 425.555, + 255.511, + 51.8938, + 40.7391 + ], + "area": 2114.10670758, + "iscrowd": 0 + }, + { + "id": 1943, + "image_id": 361, + "category_id": 0, + "bbox": [ + 637.98, + 508.675, + 109.607, + 135.84 + ], + "area": 14889.01488, + "iscrowd": 0 + }, + { + "id": 1944, + "image_id": 361, + "category_id": 0, + "bbox": [ + 670.188, + 308.632, + 49.8367, + 100.109 + ], + "area": 4989.1022003, + "iscrowd": 0 + }, + { + "id": 1950, + "image_id": 363, + "category_id": 1, + "bbox": [ + 760.987, + 341.672, + 138.369, + 375.212 + ], + "area": 51917.709228, + "iscrowd": 0 + }, + { + "id": 1951, + "image_id": 363, + "category_id": 1, + "bbox": [ + 405.332, + 379.138, + 85.266, + 221.48 + ], + "area": 18884.71368, + "iscrowd": 0 + }, + { + "id": 1952, + "image_id": 363, + "category_id": 1, + "bbox": [ + 200.899, + 391.271, + 94.4304, + 186.85 + ], + "area": 17644.32024, + "iscrowd": 0 + }, + { + "id": 1953, + "image_id": 363, + "category_id": 1, + "bbox": [ + 15.0038, + 345.147, + 69.5188, + 260.22 + ], + "area": 18090.182136000003, + "iscrowd": 0 + }, + { + "id": 1954, + "image_id": 363, + "category_id": 0, + "bbox": [ + 797.462, + 391.283, + 86.4, + 115.2 + ], + "area": 9953.28, + "iscrowd": 0 + }, + { + "id": 1955, + "image_id": 363, + "category_id": 0, + "bbox": [ + 425.048, + 405.186, + 46.6759, + 55.6138 + ], + "area": 2595.82416742, + "iscrowd": 0 + }, + { + "id": 1956, + "image_id": 363, + "category_id": 0, + "bbox": [ + 240.331, + 397.241, + 44.6897, + 67.531 + ], + "area": 3017.9401307000003, + "iscrowd": 0 + }, + { + "id": 1957, + "image_id": 364, + "category_id": 1, + "bbox": [ + 594.001, + 189.348, + 79.8364, + 280.17 + ], + "area": 22367.764188, + "iscrowd": 0 + }, + { + "id": 1958, + "image_id": 364, + "category_id": 1, + "bbox": [ + 493.856, + 231.458, + 79.4303, + 200.713 + ], + "area": 15942.6938039, + "iscrowd": 0 + }, + { + "id": 1959, + "image_id": 364, + "category_id": 1, + "bbox": [ + 659.825, + 310.001, + 140.143, + 396.175 + ], + "area": 55521.153025, + "iscrowd": 0 + }, + { + "id": 1960, + "image_id": 364, + "category_id": 0, + "bbox": [ + 669.805, + 266.487, + 70.7947, + 75.8966 + ], + "area": 5373.077028020001, + "iscrowd": 0 + }, + { + "id": 1961, + "image_id": 364, + "category_id": 1, + "bbox": [ + 646.51, + 243.31, + 70.5103, + 125.131 + ], + "area": 8823.0243493, + "iscrowd": 0 + }, + { + "id": 1962, + "image_id": 364, + "category_id": 0, + "bbox": [ + 492.579, + 250.262, + 53.6276, + 68.5241 + ], + "area": 3674.7830251600003, + "iscrowd": 0 + }, + { + "id": 1963, + "image_id": 364, + "category_id": 0, + "bbox": [ + 643.531, + 339.641, + 84.4138, + 101.297 + ], + "area": 8550.864698599999, + "iscrowd": 0 + }, + { + "id": 1964, + "image_id": 365, + "category_id": 1, + "bbox": [ + 453.831, + 375.195, + 202.769, + 342.921 + ], + "area": 69533.748249, + "iscrowd": 0 + }, + { + "id": 1965, + "image_id": 365, + "category_id": 0, + "bbox": [ + 375.519, + 423.826, + 119.509, + 169.899 + ], + "area": 20304.459591, + "iscrowd": 0 + }, + { + "id": 1966, + "image_id": 365, + "category_id": 1, + "bbox": [ + 1138.43, + 437.041, + 98.6091, + 85.5698 + ], + "area": 8437.96096518, + "iscrowd": 0 + }, + { + "id": 1967, + "image_id": 365, + "category_id": 0, + "bbox": [ + 1135.65, + 456.443, + 55.9468, + 62.6353 + ], + "area": 3504.2446020400002, + "iscrowd": 0 + }, + { + "id": 1968, + "image_id": 365, + "category_id": 1, + "bbox": [ + 346.8, + 332.442, + 176.18, + 387.558 + ], + "area": 68279.96844, + "iscrowd": 0 + }, + { + "id": 1969, + "image_id": 366, + "category_id": 1, + "bbox": [ + 709.158, + 337.106, + 138.235, + 378.15 + ], + "area": 52273.56525, + "iscrowd": 0 + }, + { + "id": 1970, + "image_id": 366, + "category_id": 1, + "bbox": [ + 464.971, + 380.146, + 66.6669, + 226.045 + ], + "area": 15069.719410499998, + "iscrowd": 0 + }, + { + "id": 1971, + "image_id": 366, + "category_id": 1, + "bbox": [ + 281.367, + 392.095, + 66.5419, + 76.2458 + ], + "area": 5073.54039902, + "iscrowd": 0 + }, + { + "id": 1972, + "image_id": 366, + "category_id": 0, + "bbox": [ + 736.883, + 388.303, + 93.3517, + 124.138 + ], + "area": 11588.4933346, + "iscrowd": 0 + }, + { + "id": 1973, + "image_id": 366, + "category_id": 0, + "bbox": [ + 478.676, + 411.145, + 53.6276, + 65.5448 + ], + "area": 3515.01031648, + "iscrowd": 0 + }, + { + "id": 1974, + "image_id": 366, + "category_id": 0, + "bbox": [ + 306.869, + 402.207, + 30.7862, + 56.6069 + ], + "area": 1742.7113447800002, + "iscrowd": 0 + }, + { + "id": 1975, + "image_id": 367, + "category_id": 1, + "bbox": [ + 548.722, + 233.566, + 80.4863, + 212.651 + ], + "area": 17115.4921813, + "iscrowd": 0 + }, + { + "id": 1976, + "image_id": 367, + "category_id": 1, + "bbox": [ + 679.96, + 337.094, + 152.608, + 379.252 + ], + "area": 57876.889216, + "iscrowd": 0 + }, + { + "id": 1977, + "image_id": 367, + "category_id": 1, + "bbox": [ + 611.823, + 195.629, + 108.454, + 341.957 + ], + "area": 37086.604477999994, + "iscrowd": 0 + }, + { + "id": 1978, + "image_id": 367, + "category_id": 0, + "bbox": [ + 654.583, + 367.492, + 90.3245, + 126.124 + ], + "area": 11392.087238, + "iscrowd": 0 + }, + { + "id": 1979, + "image_id": 367, + "category_id": 0, + "bbox": [ + 679.283, + 285.021, + 80.4414, + 91.3655 + ], + "area": 7349.5687317, + "iscrowd": 0 + }, + { + "id": 1980, + "image_id": 367, + "category_id": 0, + "bbox": [ + 546.207, + 254.234, + 49.6552, + 55.6138 + ], + "area": 2761.5143617599997, + "iscrowd": 0 + }, + { + "id": 1981, + "image_id": 367, + "category_id": 1, + "bbox": [ + 651.476, + 260.193, + 61.5724, + 376.386 + ], + "area": 23174.9893464, + "iscrowd": 0 + }, + { + "id": 1982, + "image_id": 368, + "category_id": 1, + "bbox": [ + 530.974, + 377.634, + 199.241, + 339.396 + ], + "area": 67621.59843600001, + "iscrowd": 0 + }, + { + "id": 1983, + "image_id": 368, + "category_id": 1, + "bbox": [ + 361.504, + 333.146, + 167.837, + 384.03 + ], + "area": 64454.44310999999, + "iscrowd": 0 + }, + { + "id": 1984, + "image_id": 368, + "category_id": 0, + "bbox": [ + 1135.8, + 453.878, + 55.6311, + 65.2194 + ], + "area": 3628.2269633399997, + "iscrowd": 0 + }, + { + "id": 1985, + "image_id": 368, + "category_id": 0, + "bbox": [ + 425.776, + 434.263, + 110.334, + 145.697 + ], + "area": 16075.332798000001, + "iscrowd": 0 + }, + { + "id": 1986, + "image_id": 368, + "category_id": 1, + "bbox": [ + 1175.48, + 431.434, + 60.8251, + 90.5304 + ], + "area": 5506.52063304, + "iscrowd": 0 + }, + { + "id": 1987, + "image_id": 369, + "category_id": 1, + "bbox": [ + 642.604, + 329.967, + 129.273, + 385.721 + ], + "area": 49863.310832999996, + "iscrowd": 0 + }, + { + "id": 1988, + "image_id": 369, + "category_id": 1, + "bbox": [ + 512.174, + 385.132, + 75.8572, + 234.964 + ], + "area": 17823.711140800002, + "iscrowd": 0 + }, + { + "id": 1989, + "image_id": 369, + "category_id": 1, + "bbox": [ + 155.993, + 347.548, + 110.093, + 233.03 + ], + "area": 25654.97179, + "iscrowd": 0 + }, + { + "id": 1990, + "image_id": 369, + "category_id": 1, + "bbox": [ + 25.0058, + 389.915, + 54.6999, + 211.802 + ], + "area": 11585.548219799999, + "iscrowd": 0 + }, + { + "id": 1991, + "image_id": 369, + "category_id": 0, + "bbox": [ + 649.49, + 384.331, + 107.255, + 110.234 + ], + "area": 11823.147669999998, + "iscrowd": 0 + }, + { + "id": 1992, + "image_id": 369, + "category_id": 0, + "bbox": [ + 522.372, + 409.159, + 48.6621, + 57.6 + ], + "area": 2802.93696, + "iscrowd": 0 + }, + { + "id": 1993, + "image_id": 370, + "category_id": 1, + "bbox": [ + 0.144248, + 362.622, + 60.485, + 80.2573 + ], + "area": 4854.3627905, + "iscrowd": 0 + }, + { + "id": 1994, + "image_id": 370, + "category_id": 0, + "bbox": [ + 47.3035, + 387.454, + 44.7514, + 66.1292 + ], + "area": 2959.37428088, + "iscrowd": 0 + }, + { + "id": 1995, + "image_id": 371, + "category_id": 1, + "bbox": [ + 608.995, + 197.745, + 109.454, + 248.211 + ], + "area": 27167.686794, + "iscrowd": 0 + }, + { + "id": 1996, + "image_id": 371, + "category_id": 1, + "bbox": [ + 676.272, + 385.584, + 165.213, + 330.344 + ], + "area": 54577.123272, + "iscrowd": 0 + }, + { + "id": 1997, + "image_id": 371, + "category_id": 0, + "bbox": [ + 698.005, + 312.154, + 96.9495, + 116.374 + ], + "area": 11282.401113, + "iscrowd": 0 + }, + { + "id": 1998, + "image_id": 371, + "category_id": 1, + "bbox": [ + 648.262, + 282.131, + 100.101, + 157.295 + ], + "area": 15745.386794999999, + "iscrowd": 0 + }, + { + "id": 1999, + "image_id": 371, + "category_id": 0, + "bbox": [ + 646.969, + 423.58, + 97.088, + 151.217 + ], + "area": 14681.356096, + "iscrowd": 0 + }, + { + "id": 2000, + "image_id": 371, + "category_id": 0, + "bbox": [ + 592.657, + 258.675, + 27.1026, + 53.603 + ], + "area": 1452.7806678, + "iscrowd": 0 + }, + { + "id": 2001, + "image_id": 371, + "category_id": 1, + "bbox": [ + 590.248, + 235.186, + 53.6029, + 220.736 + ], + "area": 11832.089734399999, + "iscrowd": 0 + }, + { + "id": 2002, + "image_id": 372, + "category_id": 1, + "bbox": [ + 477.176, + 375.768, + 201.634, + 340.877 + ], + "area": 68732.393018, + "iscrowd": 0 + }, + { + "id": 2003, + "image_id": 372, + "category_id": 1, + "bbox": [ + 368.825, + 326.06, + 137.947, + 387.989 + ], + "area": 53521.918583, + "iscrowd": 0 + }, + { + "id": 2004, + "image_id": 372, + "category_id": 0, + "bbox": [ + 1134.8, + 454.262, + 56.7437, + 65.4674 + ], + "area": 3714.8625053799997, + "iscrowd": 0 + }, + { + "id": 2005, + "image_id": 372, + "category_id": 1, + "bbox": [ + 1166.99, + 425.776, + 60.8251, + 97.6031 + ], + "area": 5936.7183178099995, + "iscrowd": 0 + }, + { + "id": 2006, + "image_id": 372, + "category_id": 0, + "bbox": [ + 468.212, + 407.387, + 110.334, + 135.796 + ], + "area": 14982.915863999999, + "iscrowd": 0 + }, + { + "id": 2007, + "image_id": 373, + "category_id": 1, + "bbox": [ + 545.212, + 325.531, + 149.295, + 388.755 + ], + "area": 58039.177724999994, + "iscrowd": 0 + }, + { + "id": 2008, + "image_id": 373, + "category_id": 1, + "bbox": [ + 226.208, + 346.834, + 56.4008, + 233.713 + ], + "area": 13181.6001704, + "iscrowd": 0 + }, + { + "id": 2009, + "image_id": 373, + "category_id": 1, + "bbox": [ + 93.2533, + 390.496, + 30.3236, + 53.4391 + ], + "area": 1620.46589276, + "iscrowd": 0 + }, + { + "id": 2010, + "image_id": 373, + "category_id": 0, + "bbox": [ + 568.055, + 385.324, + 96.331, + 108.248 + ], + "area": 10427.638088000002, + "iscrowd": 0 + }, + { + "id": 2011, + "image_id": 373, + "category_id": 1, + "bbox": [ + 422.069, + 392.276, + 53.6276, + 216.497 + ], + "area": 11610.214517200002, + "iscrowd": 0 + }, + { + "id": 2012, + "image_id": 373, + "category_id": 0, + "bbox": [ + 440.938, + 410.152, + 55.6138, + 76.469 + ], + "area": 4252.7316722, + "iscrowd": 0 + }, + { + "id": 2013, + "image_id": 374, + "category_id": 1, + "bbox": [ + 45.0839, + 365.962, + 88.1419, + 214.834 + ], + "area": 18935.8769446, + "iscrowd": 0 + }, + { + "id": 2014, + "image_id": 374, + "category_id": 0, + "bbox": [ + 100.204, + 393.688, + 42.268, + 65.5882 + ], + "area": 2772.2820376, + "iscrowd": 0 + }, + { + "id": 2015, + "image_id": 375, + "category_id": 1, + "bbox": [ + 689.581, + 445.499, + 181.559, + 271.803 + ], + "area": 49348.280877, + "iscrowd": 0 + }, + { + "id": 2016, + "image_id": 375, + "category_id": 1, + "bbox": [ + 614.329, + 206.685, + 148.489, + 298.771 + ], + "area": 44364.207019, + "iscrowd": 0 + }, + { + "id": 2017, + "image_id": 375, + "category_id": 1, + "bbox": [ + 651.525, + 304.29, + 165.614, + 188.37 + ], + "area": 31196.70918, + "iscrowd": 0 + }, + { + "id": 2018, + "image_id": 375, + "category_id": 0, + "bbox": [ + 586.924, + 259.2, + 64.5517, + 87.3931 + ], + "area": 5641.37317327, + "iscrowd": 0 + }, + { + "id": 2019, + "image_id": 375, + "category_id": 0, + "bbox": [ + 688.221, + 336.662, + 145.986, + 161.876 + ], + "area": 23631.629736, + "iscrowd": 0 + }, + { + "id": 2020, + "image_id": 375, + "category_id": 0, + "bbox": [ + 611.752, + 492.579, + 142.014, + 169.821 + ], + "area": 24116.959494000002, + "iscrowd": 0 + }, + { + "id": 2021, + "image_id": 376, + "category_id": 1, + "bbox": [ + 491.868, + 378.19, + 186.543, + 338.186 + ], + "area": 63086.230998, + "iscrowd": 0 + }, + { + "id": 2022, + "image_id": 376, + "category_id": 1, + "bbox": [ + 321.921, + 317.4, + 165.816, + 400.556 + ], + "area": 66418.593696, + "iscrowd": 0 + }, + { + "id": 2023, + "image_id": 376, + "category_id": 1, + "bbox": [ + 1136.27, + 454.35, + 56.2434, + 65.7596 + ], + "area": 3698.5434866400005, + "iscrowd": 0 + }, + { + "id": 2024, + "image_id": 376, + "category_id": 0, + "bbox": [ + 450.869, + 441.931, + 150.952, + 143.007 + ], + "area": 21587.192664000002, + "iscrowd": 0 + }, + { + "id": 2025, + "image_id": 377, + "category_id": 1, + "bbox": [ + 464.152, + 317.801, + 188.295, + 395.708 + ], + "area": 74509.83786, + "iscrowd": 0 + }, + { + "id": 2026, + "image_id": 377, + "category_id": 1, + "bbox": [ + 293.498, + 350.713, + 56.4143, + 119.134 + ], + "area": 6720.8612162, + "iscrowd": 0 + }, + { + "id": 2027, + "image_id": 377, + "category_id": 1, + "bbox": [ + 625.886, + 385.74, + 70.7722, + 258.362 + ], + "area": 18284.8471364, + "iscrowd": 0 + }, + { + "id": 2028, + "image_id": 377, + "category_id": 0, + "bbox": [ + 510.455, + 387.31, + 125.131, + 148.966 + ], + "area": 18640.264546000002, + "iscrowd": 0 + }, + { + "id": 2029, + "image_id": 377, + "category_id": 0, + "bbox": [ + 625.655, + 415.117, + 43.6966, + 56.6069 + ], + "area": 2473.52906654, + "iscrowd": 0 + }, + { + "id": 2030, + "image_id": 378, + "category_id": 1, + "bbox": [ + 99.193, + 366.314, + 82.1312, + 214.227 + ], + "area": 17594.7205824, + "iscrowd": 0 + }, + { + "id": 2031, + "image_id": 378, + "category_id": 1, + "bbox": [ + 0.209675, + 347.288, + 39.1636, + 97.5071 + ], + "area": 3818.72906156, + "iscrowd": 0 + }, + { + "id": 2032, + "image_id": 378, + "category_id": 0, + "bbox": [ + 148.966, + 393.269, + 36.7448, + 64.5517 + ], + "area": 2371.93930616, + "iscrowd": 0 + }, + { + "id": 2033, + "image_id": 379, + "category_id": 1, + "bbox": [ + 644.6, + 546.892, + 165.32, + 171.285 + ], + "area": 28316.836199999998, + "iscrowd": 0 + }, + { + "id": 2034, + "image_id": 379, + "category_id": 0, + "bbox": [ + 505.937, + 584.524, + 168.589, + 135.154 + ], + "area": 22785.477705999998, + "iscrowd": 0 + }, + { + "id": 2035, + "image_id": 379, + "category_id": 1, + "bbox": [ + 588.91, + 210.538, + 161.876, + 277.076 + ], + "area": 44851.954576000004, + "iscrowd": 0 + }, + { + "id": 2036, + "image_id": 379, + "category_id": 1, + "bbox": [ + 614.731, + 329.71, + 194.648, + 390.29 + ], + "area": 75969.16792, + "iscrowd": 0 + }, + { + "id": 2037, + "image_id": 379, + "category_id": 0, + "bbox": [ + 673.324, + 380.359, + 171.807, + 195.641 + ], + "area": 33612.493287, + "iscrowd": 0 + }, + { + "id": 2038, + "image_id": 380, + "category_id": 1, + "bbox": [ + 322.982, + 315.793, + 204.971, + 404.207 + ], + "area": 82850.712997, + "iscrowd": 0 + }, + { + "id": 2039, + "image_id": 380, + "category_id": 1, + "bbox": [ + 540.931, + 384.226, + 165.927, + 333.547 + ], + "area": 55344.453069, + "iscrowd": 0 + }, + { + "id": 2040, + "image_id": 380, + "category_id": 0, + "bbox": [ + 533.868, + 360.125, + 81.7228, + 196.368 + ], + "area": 16047.742790400001, + "iscrowd": 0 + }, + { + "id": 2041, + "image_id": 380, + "category_id": 0, + "bbox": [ + 1146.39, + 454.494, + 45.2716, + 66.2097 + ], + "area": 2997.41905452, + "iscrowd": 0 + }, + { + "id": 2042, + "image_id": 380, + "category_id": 1, + "bbox": [ + 1136.36, + 437.422, + 98.7245, + 83.0948 + ], + "area": 8203.492582600002, + "iscrowd": 0 + }, + { + "id": 2043, + "image_id": 381, + "category_id": 1, + "bbox": [ + 417.561, + 304.101, + 226.446, + 415.899 + ], + "area": 94178.66495399999, + "iscrowd": 0 + }, + { + "id": 2044, + "image_id": 381, + "category_id": 1, + "bbox": [ + 655.009, + 383.546, + 88.7638, + 278.079 + ], + "area": 24683.348740200003, + "iscrowd": 0 + }, + { + "id": 2045, + "image_id": 381, + "category_id": 1, + "bbox": [ + 368.814, + 353.612, + 47.6567, + 114.378 + ], + "area": 5450.8780326, + "iscrowd": 0 + }, + { + "id": 2046, + "image_id": 381, + "category_id": 1, + "bbox": [ + 238.942, + 397.127, + 53.5175, + 156.633 + ], + "area": 8382.6065775, + "iscrowd": 0 + }, + { + "id": 2047, + "image_id": 381, + "category_id": 0, + "bbox": [ + 483.43, + 384.483, + 136.692, + 187.864 + ], + "area": 25679.505888000003, + "iscrowd": 0 + }, + { + "id": 2048, + "image_id": 381, + "category_id": 0, + "bbox": [ + 662.05, + 410.512, + 52.8245, + 87.2495 + ], + "area": 4608.91121275, + "iscrowd": 0 + }, + { + "id": 2049, + "image_id": 382, + "category_id": 1, + "bbox": [ + 161.428, + 373.425, + 65.6888, + 88.8278 + ], + "area": 5834.9915886399995, + "iscrowd": 0 + }, + { + "id": 2050, + "image_id": 382, + "category_id": 1, + "bbox": [ + 21.5217, + 347.115, + 104.607, + 211.074 + ], + "area": 22079.817918, + "iscrowd": 0 + }, + { + "id": 2051, + "image_id": 383, + "category_id": 1, + "bbox": [ + 601.42, + 234.249, + 179.244, + 282.365 + ], + "area": 50612.23206, + "iscrowd": 0 + }, + { + "id": 2052, + "image_id": 383, + "category_id": 1, + "bbox": [ + 593.935, + 379.221, + 217.739, + 340.779 + ], + "area": 74200.878681, + "iscrowd": 0 + }, + { + "id": 2053, + "image_id": 383, + "category_id": 0, + "bbox": [ + 642.403, + 429.889, + 176.322, + 260.37 + ], + "area": 45908.95914, + "iscrowd": 0 + }, + { + "id": 2054, + "image_id": 383, + "category_id": 1, + "bbox": [ + 607.579, + 281.3, + 68.059, + 80.4819 + ], + "area": 5477.5176321, + "iscrowd": 0 + }, + { + "id": 2055, + "image_id": 384, + "category_id": 1, + "bbox": [ + 321.211, + 305.515, + 178.328, + 411.235 + ], + "area": 73334.71508000001, + "iscrowd": 0 + }, + { + "id": 2056, + "image_id": 384, + "category_id": 1, + "bbox": [ + 555.579, + 386.845, + 169.086, + 328.843 + ], + "area": 55602.747498000004, + "iscrowd": 0 + }, + { + "id": 2057, + "image_id": 384, + "category_id": 0, + "bbox": [ + 547.98, + 381.074, + 103.143, + 265.603 + ], + "area": 27395.090229, + "iscrowd": 0 + }, + { + "id": 2058, + "image_id": 384, + "category_id": 1, + "bbox": [ + 1135.56, + 454.796, + 56.124, + 65.6391 + ], + "area": 3683.9288484, + "iscrowd": 0 + }, + { + "id": 2065, + "image_id": 386, + "category_id": 1, + "bbox": [ + 76.6722, + 351.112, + 82.4922, + 208.951 + ], + "area": 17236.827682199997, + "iscrowd": 0 + }, + { + "id": 2066, + "image_id": 386, + "category_id": 0, + "bbox": [ + 260.501, + 401.482, + 33.1036, + 32.0482 + ], + "area": 1060.91079352, + "iscrowd": 0 + }, + { + "id": 2067, + "image_id": 386, + "category_id": 1, + "bbox": [ + 210.798, + 380.56, + 87.6043, + 81.3077 + ], + "area": 7122.9041431099995, + "iscrowd": 0 + }, + { + "id": 2068, + "image_id": 387, + "category_id": 1, + "bbox": [ + 611.543, + 269.154, + 210.294, + 446.764 + ], + "area": 93951.788616, + "iscrowd": 0 + }, + { + "id": 2069, + "image_id": 387, + "category_id": 0, + "bbox": [ + 520.738, + 513.447, + 194.867, + 203.13 + ], + "area": 39583.33371, + "iscrowd": 0 + }, + { + "id": 2070, + "image_id": 387, + "category_id": 0, + "bbox": [ + 596.532, + 308.097, + 82.443, + 141.765 + ], + "area": 11687.531894999998, + "iscrowd": 0 + }, + { + "id": 2071, + "image_id": 387, + "category_id": 1, + "bbox": [ + 444.217, + 457.787, + 163.081, + 257.605 + ], + "area": 42010.481005, + "iscrowd": 0 + }, + { + "id": 2072, + "image_id": 388, + "category_id": 1, + "bbox": [ + 334.769, + 305.36, + 177.382, + 411.18 + ], + "area": 72935.93076, + "iscrowd": 0 + }, + { + "id": 2073, + "image_id": 388, + "category_id": 1, + "bbox": [ + 552.028, + 381.54, + 180.118, + 335.188 + ], + "area": 60373.392184, + "iscrowd": 0 + }, + { + "id": 2074, + "image_id": 388, + "category_id": 1, + "bbox": [ + 1135.66, + 451.911, + 56.1902, + 69.3984 + ], + "area": 3899.5099756799996, + "iscrowd": 0 + }, + { + "id": 2075, + "image_id": 388, + "category_id": 0, + "bbox": [ + 551.77, + 393.054, + 109.038, + 276.12 + ], + "area": 30107.57256, + "iscrowd": 0 + }, + { + "id": 2076, + "image_id": 389, + "category_id": 1, + "bbox": [ + 256.366, + 231.748, + 372.974, + 480.789 + ], + "area": 179321.79648599998, + "iscrowd": 0 + }, + { + "id": 2077, + "image_id": 389, + "category_id": 1, + "bbox": [ + 721.525, + 385.5, + 112.53, + 331.889 + ], + "area": 37347.469170000004, + "iscrowd": 0 + }, + { + "id": 2078, + "image_id": 389, + "category_id": 1, + "bbox": [ + 580.983, + 408.937, + 66.0273, + 262.847 + ], + "area": 17355.0777231, + "iscrowd": 0 + }, + { + "id": 2079, + "image_id": 389, + "category_id": 0, + "bbox": [ + 724.527, + 420.834, + 67.465, + 62.519 + ], + "area": 4217.844335, + "iscrowd": 0 + }, + { + "id": 2080, + "image_id": 389, + "category_id": 0, + "bbox": [ + 589.201, + 428.747, + 55.3964, + 103.868 + ], + "area": 5753.9132752, + "iscrowd": 0 + }, + { + "id": 2081, + "image_id": 389, + "category_id": 0, + "bbox": [ + 365.383, + 357.021, + 220.427, + 317.911 + ], + "area": 70076.167997, + "iscrowd": 0 + }, + { + "id": 2082, + "image_id": 390, + "category_id": 1, + "bbox": [ + 131.865, + 352.439, + 79.0845, + 200.762 + ], + "area": 15877.162389000001, + "iscrowd": 0 + }, + { + "id": 2083, + "image_id": 390, + "category_id": 1, + "bbox": [ + 259.706, + 372.651, + 56.2067, + 217.638 + ], + "area": 12232.713774599999, + "iscrowd": 0 + }, + { + "id": 2084, + "image_id": 390, + "category_id": 0, + "bbox": [ + 300.91, + 400.221, + 40.7172, + 54.6207 + ], + "area": 2224.00196604, + "iscrowd": 0 + }, + { + "id": 2089, + "image_id": 392, + "category_id": 1, + "bbox": [ + 427.184, + 319.524, + 153.003, + 396.195 + ], + "area": 60619.023584999995, + "iscrowd": 0 + }, + { + "id": 2090, + "image_id": 392, + "category_id": 1, + "bbox": [ + 556.797, + 384.323, + 166.235, + 332.297 + ], + "area": 55239.39179500001, + "iscrowd": 0 + }, + { + "id": 2091, + "image_id": 392, + "category_id": 0, + "bbox": [ + 1144.63, + 447.005, + 49.6552, + 73.0054 + ], + "area": 3625.09773808, + "iscrowd": 0 + }, + { + "id": 2092, + "image_id": 392, + "category_id": 1, + "bbox": [ + 1135.59, + 436.097, + 97.6975, + 86.016 + ], + "area": 8403.54816, + "iscrowd": 0 + }, + { + "id": 2093, + "image_id": 392, + "category_id": 0, + "bbox": [ + 530.317, + 395.255, + 124.138, + 224.441 + ], + "area": 27861.656858000002, + "iscrowd": 0 + }, + { + "id": 2094, + "image_id": 393, + "category_id": 1, + "bbox": [ + 0.557079, + 148.272, + 466.149, + 571.728 + ], + "area": 266510.435472, + "iscrowd": 0 + }, + { + "id": 2095, + "image_id": 393, + "category_id": 1, + "bbox": [ + 501.744, + 355.403, + 92.0051, + 277.858 + ], + "area": 25564.3530758, + "iscrowd": 0 + }, + { + "id": 2096, + "image_id": 393, + "category_id": 1, + "bbox": [ + 756.404, + 386.393, + 122.678, + 333.607 + ], + "area": 40926.239546000004, + "iscrowd": 0 + }, + { + "id": 2097, + "image_id": 393, + "category_id": 1, + "bbox": [ + 566.157, + 408.175, + 98.8667, + 290.741 + ], + "area": 28744.603224699997, + "iscrowd": 0 + }, + { + "id": 2098, + "image_id": 393, + "category_id": 1, + "bbox": [ + 444.955, + 405.039, + 72.2916, + 200.335 + ], + "area": 14482.537686000001, + "iscrowd": 0 + }, + { + "id": 2099, + "image_id": 393, + "category_id": 0, + "bbox": [ + 65.3267, + 323.069, + 347.936, + 340.835 + ], + "area": 118588.76655999999, + "iscrowd": 0 + }, + { + "id": 2100, + "image_id": 393, + "category_id": 0, + "bbox": [ + 758.432, + 424.124, + 70.9539, + 74.6884 + ], + "area": 5299.43326476, + "iscrowd": 0 + }, + { + "id": 2101, + "image_id": 393, + "category_id": 0, + "bbox": [ + 564.242, + 432.66, + 87.492, + 111.499 + ], + "area": 9755.270508, + "iscrowd": 0 + }, + { + "id": 2108, + "image_id": 396, + "category_id": 1, + "bbox": [ + 521.661, + 387.242, + 209.81, + 329.238 + ], + "area": 69077.42478, + "iscrowd": 0 + }, + { + "id": 2109, + "image_id": 396, + "category_id": 1, + "bbox": [ + 564.408, + 326.84, + 113.754, + 129.396 + ], + "area": 14719.312584, + "iscrowd": 0 + }, + { + "id": 2110, + "image_id": 396, + "category_id": 0, + "bbox": [ + 1138.02, + 461.902, + 54.8208, + 58.4416 + ], + "area": 3203.81526528, + "iscrowd": 0 + }, + { + "id": 2111, + "image_id": 396, + "category_id": 1, + "bbox": [ + 1136.11, + 434.979, + 101.297, + 87.3931 + ], + "area": 8852.6588507, + "iscrowd": 0 + }, + { + "id": 2112, + "image_id": 396, + "category_id": 0, + "bbox": [ + 521.379, + 394.262, + 163.862, + 243.31 + ], + "area": 39869.26322, + "iscrowd": 0 + }, + { + "id": 2113, + "image_id": 397, + "category_id": 1, + "bbox": [ + 767.332, + 388.994, + 144.109, + 327.142 + ], + "area": 47144.106478, + "iscrowd": 0 + }, + { + "id": 2114, + "image_id": 397, + "category_id": 1, + "bbox": [ + 527.453, + 350.986, + 89.0681, + 301.735 + ], + "area": 26874.9631535, + "iscrowd": 0 + }, + { + "id": 2115, + "image_id": 397, + "category_id": 1, + "bbox": [ + 473.873, + 404.702, + 64.4911, + 217.313 + ], + "area": 14014.7544143, + "iscrowd": 0 + }, + { + "id": 2116, + "image_id": 397, + "category_id": 1, + "bbox": [ + 200.933, + 388.326, + 100.854, + 195.576 + ], + "area": 19724.621904, + "iscrowd": 0 + }, + { + "id": 2117, + "image_id": 397, + "category_id": 1, + "bbox": [ + 566.361, + 410.23, + 104.852, + 306.836 + ], + "area": 32172.368272000003, + "iscrowd": 0 + }, + { + "id": 2118, + "image_id": 397, + "category_id": 1, + "bbox": [ + 572.028, + 430.014, + 80.4414, + 136.055 + ], + "area": 10944.454677000002, + "iscrowd": 0 + }, + { + "id": 2119, + "image_id": 397, + "category_id": 0, + "bbox": [ + 764.69, + 436.966, + 122.152, + 141.021 + ], + "area": 17225.997192, + "iscrowd": 0 + }, + { + "id": 2120, + "image_id": 398, + "category_id": 1, + "bbox": [ + 342.667, + 372.975, + 73.415, + 233.319 + ], + "area": 17129.114385, + "iscrowd": 0 + }, + { + "id": 2121, + "image_id": 398, + "category_id": 1, + "bbox": [ + 13.0105, + 352.733, + 93.966, + 220.634 + ], + "area": 20732.094444, + "iscrowd": 0 + }, + { + "id": 2122, + "image_id": 398, + "category_id": 1, + "bbox": [ + 242.204, + 354.058, + 62.9989, + 108.345 + ], + "area": 6825.6158205, + "iscrowd": 0 + }, + { + "id": 2123, + "image_id": 398, + "category_id": 0, + "bbox": [ + 391.014, + 395.557, + 38.8744, + 64.3345 + ], + "area": 2500.9650868000003, + "iscrowd": 0 + }, + { + "id": 2124, + "image_id": 398, + "category_id": 0, + "bbox": [ + 20.8151, + 381.93, + 61.9927, + 54.5264 + ], + "area": 3380.2387572800003, + "iscrowd": 0 + }, + { + "id": 2125, + "image_id": 399, + "category_id": 1, + "bbox": [ + 510.898, + 442.303, + 188.888, + 274.428 + ], + "area": 51836.156064, + "iscrowd": 0 + }, + { + "id": 2126, + "image_id": 399, + "category_id": 0, + "bbox": [ + 526.23, + 485.088, + 112.811, + 154.618 + ], + "area": 17442.611198000002, + "iscrowd": 0 + }, + { + "id": 2127, + "image_id": 399, + "category_id": 1, + "bbox": [ + 1106.47, + 507.875, + 172.727, + 206.585 + ], + "area": 35682.807295, + "iscrowd": 0 + }, + { + "id": 2128, + "image_id": 400, + "category_id": 1, + "bbox": [ + 1141.86, + 437.698, + 91.4329, + 81.0573 + ], + "area": 7411.30400517, + "iscrowd": 0 + }, + { + "id": 2129, + "image_id": 400, + "category_id": 1, + "bbox": [ + 510.701, + 381.755, + 213.733, + 335.18 + ], + "area": 71639.02694, + "iscrowd": 0 + }, + { + "id": 2130, + "image_id": 400, + "category_id": 1, + "bbox": [ + 687.421, + 328.322, + 116.499, + 389.853 + ], + "area": 45417.484647, + "iscrowd": 0 + }, + { + "id": 2131, + "image_id": 400, + "category_id": 0, + "bbox": [ + 515.421, + 390.29, + 209.545, + 284.028 + ], + "area": 59516.64726, + "iscrowd": 0 + }, + { + "id": 2132, + "image_id": 401, + "category_id": 1, + "bbox": [ + 769.79, + 380.784, + 161.073, + 335.525 + ], + "area": 54044.018325, + "iscrowd": 0 + }, + { + "id": 2133, + "image_id": 401, + "category_id": 1, + "bbox": [ + 498.739, + 405.781, + 70.9473, + 224.331 + ], + "area": 15915.678756299998, + "iscrowd": 0 + }, + { + "id": 2134, + "image_id": 401, + "category_id": 1, + "bbox": [ + 572.438, + 408.085, + 109.554, + 305.577 + ], + "area": 33477.182658, + "iscrowd": 0 + }, + { + "id": 2135, + "image_id": 401, + "category_id": 1, + "bbox": [ + 539.133, + 344.46, + 95.7739, + 312.48 + ], + "area": 29927.428272, + "iscrowd": 0 + }, + { + "id": 2136, + "image_id": 401, + "category_id": 1, + "bbox": [ + 300.392, + 387.796, + 47.1931, + 81.7245 + ], + "area": 3856.8325009500004, + "iscrowd": 0 + }, + { + "id": 2137, + "image_id": 401, + "category_id": 0, + "bbox": [ + 770.692, + 433.891, + 94.5107, + 93.6512 + ], + "area": 8851.040467840001, + "iscrowd": 0 + }, + { + "id": 2138, + "image_id": 401, + "category_id": 0, + "bbox": [ + 548.728, + 436.107, + 107.721, + 142.073 + ], + "area": 15304.245633, + "iscrowd": 0 + }, + { + "id": 2139, + "image_id": 402, + "category_id": 1, + "bbox": [ + 368.642, + 372.574, + 94.3467, + 234.119 + ], + "area": 22088.3550573, + "iscrowd": 0 + }, + { + "id": 2140, + "image_id": 402, + "category_id": 1, + "bbox": [ + 70.3076, + 355.691, + 86.8954, + 221.979 + ], + "area": 19288.9539966, + "iscrowd": 0 + }, + { + "id": 2141, + "image_id": 402, + "category_id": 1, + "bbox": [ + 284.146, + 354.876, + 91.8907, + 151.317 + ], + "area": 13904.6250519, + "iscrowd": 0 + }, + { + "id": 2142, + "image_id": 402, + "category_id": 0, + "bbox": [ + 415.117, + 396.248, + 56.6069, + 80.4414 + ], + "area": 4553.53828566, + "iscrowd": 0 + }, + { + "id": 2143, + "image_id": 403, + "category_id": 1, + "bbox": [ + 422.56, + 546.124, + 232.564, + 171.641 + ], + "area": 39917.517523999995, + "iscrowd": 0 + }, + { + "id": 2144, + "image_id": 403, + "category_id": 0, + "bbox": [ + 424.7, + 589.935, + 145.991, + 130.065 + ], + "area": 18988.319415, + "iscrowd": 0 + }, + { + "id": 2145, + "image_id": 404, + "category_id": 1, + "bbox": [ + 650.514, + 321.055, + 303.861, + 395.485 + ], + "area": 120172.467585, + "iscrowd": 0 + }, + { + "id": 2146, + "image_id": 404, + "category_id": 0, + "bbox": [ + 498.856, + 389.664, + 113.816, + 268.771 + ], + "area": 30590.440136, + "iscrowd": 0 + }, + { + "id": 2147, + "image_id": 404, + "category_id": 1, + "bbox": [ + 428.249, + 372.777, + 217.957, + 347.223 + ], + "area": 75679.683411, + "iscrowd": 0 + }, + { + "id": 2148, + "image_id": 404, + "category_id": 1, + "bbox": [ + 1137.88, + 437.25, + 89.7559, + 84.2906 + ], + "area": 7565.578664539999, + "iscrowd": 0 + }, + { + "id": 2149, + "image_id": 404, + "category_id": 0, + "bbox": [ + 1140.42, + 459.047, + 54.7509, + 66.3044 + ], + "area": 3630.22557396, + "iscrowd": 0 + }, + { + "id": 2156, + "image_id": 406, + "category_id": 1, + "bbox": [ + 394.881, + 374.636, + 82.372, + 243.833 + ], + "area": 20085.011876, + "iscrowd": 0 + }, + { + "id": 2157, + "image_id": 406, + "category_id": 1, + "bbox": [ + 313.945, + 357.449, + 95.139, + 245.893 + ], + "area": 23394.014127, + "iscrowd": 0 + }, + { + "id": 2158, + "image_id": 406, + "category_id": 1, + "bbox": [ + 121.328, + 360.118, + 78.5846, + 196.667 + ], + "area": 15454.9975282, + "iscrowd": 0 + }, + { + "id": 2159, + "image_id": 406, + "category_id": 0, + "bbox": [ + 449.876, + 392.276, + 51.6414, + 86.4 + ], + "area": 4461.81696, + "iscrowd": 0 + }, + { + "id": 2160, + "image_id": 407, + "category_id": 1, + "bbox": [ + 703.203, + 305.611, + 289.164, + 414.389 + ], + "area": 119826.380796, + "iscrowd": 0 + }, + { + "id": 2161, + "image_id": 407, + "category_id": 1, + "bbox": [ + 456.808, + 369.803, + 179.757, + 346.851 + ], + "area": 62348.895207, + "iscrowd": 0 + }, + { + "id": 2162, + "image_id": 407, + "category_id": 1, + "bbox": [ + 1132.15, + 435.681, + 73.4861, + 88.252 + ], + "area": 6485.295297199999, + "iscrowd": 0 + }, + { + "id": 2163, + "image_id": 407, + "category_id": 0, + "bbox": [ + 508.313, + 397.493, + 114.138, + 164.571 + ], + "area": 18783.804798, + "iscrowd": 0 + }, + { + "id": 2164, + "image_id": 407, + "category_id": 0, + "bbox": [ + 1136.09, + 462.98, + 34.6202, + 53.4938 + ], + "area": 1851.96605476, + "iscrowd": 0 + }, + { + "id": 2165, + "image_id": 408, + "category_id": 1, + "bbox": [ + 568.588, + 334.044, + 110.221, + 359.805 + ], + "area": 39658.066905, + "iscrowd": 0 + }, + { + "id": 2166, + "image_id": 408, + "category_id": 1, + "bbox": [ + 741.569, + 361.287, + 238.86, + 353.877 + ], + "area": 84527.06022000001, + "iscrowd": 0 + }, + { + "id": 2167, + "image_id": 408, + "category_id": 1, + "bbox": [ + 472.451, + 404.778, + 146.528, + 310.78 + ], + "area": 45537.97183999999, + "iscrowd": 0 + }, + { + "id": 2168, + "image_id": 408, + "category_id": 0, + "bbox": [ + 442.361, + 445.639, + 118.732, + 198.98 + ], + "area": 23625.29336, + "iscrowd": 0 + }, + { + "id": 2169, + "image_id": 408, + "category_id": 0, + "bbox": [ + 728.938, + 427.034, + 139.034, + 100.303 + ], + "area": 13945.527301999999, + "iscrowd": 0 + }, + { + "id": 2170, + "image_id": 409, + "category_id": 1, + "bbox": [ + 416.674, + 376.569, + 97.4884, + 255.575 + ], + "area": 24915.59783, + "iscrowd": 0 + }, + { + "id": 2171, + "image_id": 409, + "category_id": 1, + "bbox": [ + 347.815, + 360.22, + 91.6321, + 244.305 + ], + "area": 22386.1801905, + "iscrowd": 0 + }, + { + "id": 2172, + "image_id": 409, + "category_id": 1, + "bbox": [ + 175.806, + 361.171, + 52.1566, + 101.198 + ], + "area": 5278.143606799999, + "iscrowd": 0 + }, + { + "id": 2173, + "image_id": 409, + "category_id": 1, + "bbox": [ + 16.8858, + 349.598, + 77.2514, + 214.88 + ], + "area": 16599.780832, + "iscrowd": 0 + }, + { + "id": 2174, + "image_id": 409, + "category_id": 0, + "bbox": [ + 468.014, + 405.384, + 42.0826, + 72.853 + ], + "area": 3065.8436577999996, + "iscrowd": 0 + }, + { + "id": 2175, + "image_id": 409, + "category_id": 0, + "bbox": [ + 187.656, + 392.761, + 40.446, + 55.0212 + ], + "area": 2225.3874551999997, + "iscrowd": 0 + }, + { + "id": 2181, + "image_id": 411, + "category_id": 1, + "bbox": [ + 553.765, + 329.014, + 144.13, + 384.639 + ], + "area": 55438.01907, + "iscrowd": 0 + }, + { + "id": 2182, + "image_id": 411, + "category_id": 1, + "bbox": [ + 495.793, + 395.718, + 66.2007, + 220.746 + ], + "area": 14613.5397222, + "iscrowd": 0 + }, + { + "id": 2183, + "image_id": 411, + "category_id": 0, + "bbox": [ + 297.363, + 454.284, + 177.001, + 243.004 + ], + "area": 43011.951004, + "iscrowd": 0 + }, + { + "id": 2184, + "image_id": 411, + "category_id": 1, + "bbox": [ + 357.818, + 400.037, + 169.579, + 316.951 + ], + "area": 53748.23362900001, + "iscrowd": 0 + }, + { + "id": 2185, + "image_id": 411, + "category_id": 1, + "bbox": [ + 846.384, + 362.401, + 313.186, + 357.599 + ], + "area": 111995.000414, + "iscrowd": 0 + }, + { + "id": 2186, + "image_id": 411, + "category_id": 0, + "bbox": [ + 858.041, + 455.834, + 171.807, + 126.124 + ], + "area": 21668.986068, + "iscrowd": 0 + }, + { + "id": 2187, + "image_id": 412, + "category_id": 1, + "bbox": [ + 375.816, + 359.054, + 78.2288, + 257.412 + ], + "area": 20137.0318656, + "iscrowd": 0 + }, + { + "id": 2188, + "image_id": 412, + "category_id": 1, + "bbox": [ + 434.441, + 378.68, + 94.2574, + 255.509 + ], + "area": 24083.6140166, + "iscrowd": 0 + }, + { + "id": 2189, + "image_id": 412, + "category_id": 1, + "bbox": [ + 70.7336, + 351.682, + 85.5732, + 203.335 + ], + "area": 17400.026622, + "iscrowd": 0 + }, + { + "id": 2190, + "image_id": 412, + "category_id": 1, + "bbox": [ + 242.939, + 362.641, + 55.6431, + 92.1282 + ], + "area": 5126.29864542, + "iscrowd": 0 + }, + { + "id": 2191, + "image_id": 412, + "category_id": 0, + "bbox": [ + 493.114, + 403.884, + 37.9115, + 73.7297 + ], + "area": 2795.2035215499996, + "iscrowd": 0 + }, + { + "id": 2192, + "image_id": 412, + "category_id": 0, + "bbox": [ + 249.364, + 392.022, + 46.9823, + 51.4015 + ], + "area": 2414.9606934500002, + "iscrowd": 0 + }, + { + "id": 2193, + "image_id": 413, + "category_id": 1, + "bbox": [ + 553.443, + 282.421, + 276.739, + 437.579 + ], + "area": 121095.17488099998, + "iscrowd": 0 + }, + { + "id": 2194, + "image_id": 413, + "category_id": 1, + "bbox": [ + 1132.38, + 435.78, + 85.1699, + 84.8129 + ], + "area": 7223.50621171, + "iscrowd": 0 + }, + { + "id": 2195, + "image_id": 413, + "category_id": 0, + "bbox": [ + 1144.06, + 465.766, + 45.6828, + 56.6069 + ], + "area": 2585.96169132, + "iscrowd": 0 + }, + { + "id": 2196, + "image_id": 413, + "category_id": 0, + "bbox": [ + 637.572, + 406.179, + 52.6345, + 82.4276 + ], + "area": 4338.5355122, + "iscrowd": 0 + }, + { + "id": 2197, + "image_id": 414, + "category_id": 1, + "bbox": [ + 538.373, + 322.476, + 176.631, + 393.013 + ], + "area": 69418.279203, + "iscrowd": 0 + }, + { + "id": 2198, + "image_id": 414, + "category_id": 0, + "bbox": [ + 109.273, + 473.273, + 228.576, + 243.881 + ], + "area": 55745.343455999995, + "iscrowd": 0 + }, + { + "id": 2199, + "image_id": 414, + "category_id": 1, + "bbox": [ + 531.427, + 395.541, + 52.6875, + 152.928 + ], + "area": 8057.394, + "iscrowd": 0 + }, + { + "id": 2200, + "image_id": 414, + "category_id": 1, + "bbox": [ + 252.347, + 404.811, + 166.659, + 311.023 + ], + "area": 51834.782157, + "iscrowd": 0 + }, + { + "id": 2201, + "image_id": 415, + "category_id": 1, + "bbox": [ + 383.193, + 356.299, + 90.1025, + 261.919 + ], + "area": 23599.5566975, + "iscrowd": 0 + }, + { + "id": 2202, + "image_id": 415, + "category_id": 1, + "bbox": [ + 460.604, + 383.503, + 103.372, + 265.211 + ], + "area": 27415.391492000002, + "iscrowd": 0 + }, + { + "id": 2203, + "image_id": 415, + "category_id": 1, + "bbox": [ + 283.161, + 368.659, + 88.9901, + 236.692 + ], + "area": 21063.2447492, + "iscrowd": 0 + }, + { + "id": 2204, + "image_id": 415, + "category_id": 1, + "bbox": [ + 0.234482, + 353.732, + 57.7157, + 93.8798 + ], + "area": 5418.33837286, + "iscrowd": 0 + }, + { + "id": 2205, + "image_id": 415, + "category_id": 1, + "bbox": [ + 135.912, + 349.196, + 76.1531, + 223.438 + ], + "area": 17015.4963578, + "iscrowd": 0 + }, + { + "id": 2206, + "image_id": 415, + "category_id": 0, + "bbox": [ + 511.217, + 406.333, + 47.9793, + 78.249 + ], + "area": 3754.3322457, + "iscrowd": 0 + }, + { + "id": 2207, + "image_id": 415, + "category_id": 0, + "bbox": [ + 293.03, + 395.362, + 52.8926, + 52.8926 + ], + "area": 2797.62713476, + "iscrowd": 0 + }, + { + "id": 2208, + "image_id": 416, + "category_id": 1, + "bbox": [ + 439.055, + 281.131, + 226.637, + 433.52 + ], + "area": 98251.67224, + "iscrowd": 0 + }, + { + "id": 2209, + "image_id": 416, + "category_id": 1, + "bbox": [ + 1132.47, + 435.193, + 84.7227, + 85.1333 + ], + "area": 7212.72303591, + "iscrowd": 0 + }, + { + "id": 2210, + "image_id": 416, + "category_id": 1, + "bbox": [ + 670.242, + 407.903, + 146.704, + 309.184 + ], + "area": 45358.52953600001, + "iscrowd": 0 + }, + { + "id": 2211, + "image_id": 416, + "category_id": 0, + "bbox": [ + 706.097, + 414.124, + 120.166, + 252.248 + ], + "area": 30311.633167999997, + "iscrowd": 0 + }, + { + "id": 2212, + "image_id": 416, + "category_id": 0, + "bbox": [ + 1125.19, + 474.703, + 47.669, + 62.5655 + ], + "area": 2982.4348195, + "iscrowd": 0 + }, + { + "id": 2215, + "image_id": 418, + "category_id": 1, + "bbox": [ + 328.187, + 366.324, + 100.394, + 236.029 + ], + "area": 23695.895426, + "iscrowd": 0 + }, + { + "id": 2216, + "image_id": 418, + "category_id": 1, + "bbox": [ + 454.332, + 385.789, + 113.06, + 287.487 + ], + "area": 32503.280220000004, + "iscrowd": 0 + }, + { + "id": 2217, + "image_id": 418, + "category_id": 1, + "bbox": [ + 408.562, + 355.782, + 78.7175, + 274.545 + ], + "area": 21611.4960375, + "iscrowd": 0 + }, + { + "id": 2218, + "image_id": 418, + "category_id": 1, + "bbox": [ + 42.7487, + 355.89, + 89.3545, + 220.212 + ], + "area": 19676.933154, + "iscrowd": 0 + }, + { + "id": 2219, + "image_id": 418, + "category_id": 0, + "bbox": [ + 341.775, + 394.526, + 48.3551, + 60.9547 + ], + "area": 2947.47061397, + "iscrowd": 0 + }, + { + "id": 2220, + "image_id": 418, + "category_id": 0, + "bbox": [ + 500.121, + 408.147, + 61.6357, + 79.3432 + ], + "area": 4890.37367224, + "iscrowd": 0 + }, + { + "id": 2221, + "image_id": 419, + "category_id": 1, + "bbox": [ + 218.099, + 290.542, + 409.579, + 425.274 + ], + "area": 174183.299646, + "iscrowd": 0 + }, + { + "id": 2222, + "image_id": 419, + "category_id": 1, + "bbox": [ + 715.543, + 388.88, + 212.443, + 326.853 + ], + "area": 69437.63187900001, + "iscrowd": 0 + }, + { + "id": 2223, + "image_id": 419, + "category_id": 1, + "bbox": [ + 1132.43, + 435.752, + 82.2075, + 85.0833 + ], + "area": 6994.485384749999, + "iscrowd": 0 + }, + { + "id": 2224, + "image_id": 419, + "category_id": 0, + "bbox": [ + 700.138, + 405.186, + 217.49, + 234.372 + ], + "area": 50973.56628000001, + "iscrowd": 0 + }, + { + "id": 2225, + "image_id": 419, + "category_id": 0, + "bbox": [ + 1139.09, + 466.759, + 53.6276, + 66.5379 + ], + "area": 3568.2678860399997, + "iscrowd": 0 + }, + { + "id": 2226, + "image_id": 420, + "category_id": 1, + "bbox": [ + 538.751, + 290.776, + 263.832, + 429.224 + ], + "area": 113243.02636799999, + "iscrowd": 0 + }, + { + "id": 2227, + "image_id": 421, + "category_id": 1, + "bbox": [ + 450.253, + 387.456, + 121.245, + 306.372 + ], + "area": 37146.07314, + "iscrowd": 0 + }, + { + "id": 2228, + "image_id": 421, + "category_id": 1, + "bbox": [ + 105.194, + 354.872, + 74.2951, + 200.54 + ], + "area": 14899.139354, + "iscrowd": 0 + }, + { + "id": 2229, + "image_id": 421, + "category_id": 1, + "bbox": [ + 373.983, + 368.197, + 66.7612, + 236.879 + ], + "area": 15814.3262948, + "iscrowd": 0 + }, + { + "id": 2230, + "image_id": 421, + "category_id": 1, + "bbox": [ + 410.05, + 356.015, + 78.8966, + 291.292 + ], + "area": 22981.9484072, + "iscrowd": 0 + }, + { + "id": 2231, + "image_id": 421, + "category_id": 0, + "bbox": [ + 503.503, + 415.117, + 64.5517, + 84.4138 + ], + "area": 5449.05429346, + "iscrowd": 0 + }, + { + "id": 2232, + "image_id": 421, + "category_id": 0, + "bbox": [ + 386.046, + 393.643, + 44.398, + 61.6639 + ], + "area": 2737.7538322, + "iscrowd": 0 + }, + { + "id": 2233, + "image_id": 421, + "category_id": 1, + "bbox": [ + 242.986, + 356.645, + 64.7471, + 103.595 + ], + "area": 6707.4758245, + "iscrowd": 0 + }, + { + "id": 2234, + "image_id": 422, + "category_id": 1, + "bbox": [ + 333.913, + 300.979, + 260.34, + 419.021 + ], + "area": 109087.92714, + "iscrowd": 0 + }, + { + "id": 2235, + "image_id": 422, + "category_id": 1, + "bbox": [ + 682.527, + 377.237, + 220.299, + 342.763 + ], + "area": 75510.346137, + "iscrowd": 0 + }, + { + "id": 2236, + "image_id": 422, + "category_id": 1, + "bbox": [ + 1132.28, + 435.926, + 82.0728, + 86.519 + ], + "area": 7100.8565832, + "iscrowd": 0 + }, + { + "id": 2237, + "image_id": 422, + "category_id": 0, + "bbox": [ + 680.477, + 411.552, + 149.499, + 251.741 + ], + "area": 37635.027759000004, + "iscrowd": 0 + }, + { + "id": 2238, + "image_id": 422, + "category_id": 0, + "bbox": [ + 1134.79, + 460.706, + 47.307, + 60.0594 + ], + "area": 2841.2300357999998, + "iscrowd": 0 + }, + { + "id": 2239, + "image_id": 423, + "category_id": 1, + "bbox": [ + 586.417, + 250.287, + 279.105, + 464.067 + ], + "area": 129523.42003500002, + "iscrowd": 0 + }, + { + "id": 2240, + "image_id": 424, + "category_id": 1, + "bbox": [ + 447.165, + 375.7, + 125.256, + 341.852 + ], + "area": 42819.014112, + "iscrowd": 0 + }, + { + "id": 2241, + "image_id": 424, + "category_id": 1, + "bbox": [ + 166.642, + 360.364, + 61.3562, + 101.822 + ], + "area": 6247.4109964, + "iscrowd": 0 + }, + { + "id": 2242, + "image_id": 424, + "category_id": 1, + "bbox": [ + 304.001, + 355.624, + 87.0394, + 244.803 + ], + "area": 21307.5062382, + "iscrowd": 0 + }, + { + "id": 2243, + "image_id": 424, + "category_id": 1, + "bbox": [ + 421.174, + 356.052, + 76.7373, + 290.218 + ], + "area": 22270.5457314, + "iscrowd": 0 + }, + { + "id": 2244, + "image_id": 424, + "category_id": 1, + "bbox": [ + 0.233905, + 347.475, + 54.2657, + 99.1865 + ], + "area": 5382.42485305, + "iscrowd": 0 + }, + { + "id": 2245, + "image_id": 424, + "category_id": 1, + "bbox": [ + 398.661, + 368.29, + 65.5144, + 235.341 + ], + "area": 15418.2244104, + "iscrowd": 0 + }, + { + "id": 2246, + "image_id": 424, + "category_id": 0, + "bbox": [ + 501.517, + 419.09, + 75.4759, + 89.3793 + ], + "area": 6745.983108869999, + "iscrowd": 0 + }, + { + "id": 2247, + "image_id": 425, + "category_id": 1, + "bbox": [ + 391.66, + 318.471, + 229.675, + 399.162 + ], + "area": 91677.53235, + "iscrowd": 0 + }, + { + "id": 2248, + "image_id": 425, + "category_id": 1, + "bbox": [ + 617.699, + 378.926, + 190.623, + 338.347 + ], + "area": 64496.72018099999, + "iscrowd": 0 + }, + { + "id": 2249, + "image_id": 425, + "category_id": 1, + "bbox": [ + 1132.02, + 436.14, + 82.9863, + 86.8297 + ], + "area": 7205.67553311, + "iscrowd": 0 + }, + { + "id": 2250, + "image_id": 425, + "category_id": 0, + "bbox": [ + 1135.7, + 458.405, + 47.5156, + 61.0395 + ], + "area": 2900.3284661999996, + "iscrowd": 0 + }, + { + "id": 2251, + "image_id": 425, + "category_id": 0, + "bbox": [ + 625.654, + 464.953, + 74.0314, + 208.552 + ], + "area": 15439.396532800001, + "iscrowd": 0 + }, + { + "id": 2252, + "image_id": 426, + "category_id": 1, + "bbox": [ + 728.013, + 185.012, + 449.863, + 534.988 + ], + "area": 240671.30664400003, + "iscrowd": 0 + }, + { + "id": 2253, + "image_id": 426, + "category_id": 1, + "bbox": [ + 511.782, + 435.966, + 191.403, + 284.034 + ], + "area": 54364.95970199999, + "iscrowd": 0 + }, + { + "id": 2254, + "image_id": 426, + "category_id": 1, + "bbox": [ + 646.864, + 393.207, + 96.217, + 276.754 + ], + "area": 26628.439618, + "iscrowd": 0 + }, + { + "id": 2255, + "image_id": 426, + "category_id": 0, + "bbox": [ + 703.389, + 465.561, + 63.7262, + 95.8789 + ], + "area": 6109.99795718, + "iscrowd": 0 + }, + { + "id": 2256, + "image_id": 427, + "category_id": 1, + "bbox": [ + 416.318, + 373.58, + 142.071, + 342.014 + ], + "area": 48590.270994, + "iscrowd": 0 + }, + { + "id": 2257, + "image_id": 427, + "category_id": 1, + "bbox": [ + 25.0351, + 347.63, + 90.5038, + 207.269 + ], + "area": 18758.6321222, + "iscrowd": 0 + }, + { + "id": 2258, + "image_id": 427, + "category_id": 1, + "bbox": [ + 348.46, + 357.665, + 60.8688, + 242.999 + ], + "area": 14791.0575312, + "iscrowd": 0 + }, + { + "id": 2259, + "image_id": 427, + "category_id": 1, + "bbox": [ + 401.419, + 364.972, + 50.1298, + 253.953 + ], + "area": 12730.613099400001, + "iscrowd": 0 + }, + { + "id": 2260, + "image_id": 427, + "category_id": 1, + "bbox": [ + 242.302, + 361.406, + 47.5996, + 95.653 + ], + "area": 4553.044538800001, + "iscrowd": 0 + }, + { + "id": 2261, + "image_id": 427, + "category_id": 0, + "bbox": [ + 436.966, + 420.083, + 143.007, + 75.4759 + ], + "area": 10793.5820313, + "iscrowd": 0 + }, + { + "id": 2262, + "image_id": 428, + "category_id": 1, + "bbox": [ + 455.597, + 364.189, + 230.074, + 352.452 + ], + "area": 81090.041448, + "iscrowd": 0 + }, + { + "id": 2263, + "image_id": 428, + "category_id": 1, + "bbox": [ + 391.282, + 324.768, + 138.327, + 385.381 + ], + "area": 53308.597587, + "iscrowd": 0 + }, + { + "id": 2264, + "image_id": 428, + "category_id": 1, + "bbox": [ + 1132.38, + 435.98, + 83.2678, + 86.7526 + ], + "area": 7223.6981462799995, + "iscrowd": 0 + }, + { + "id": 2265, + "image_id": 429, + "category_id": 1, + "bbox": [ + 365.286, + 441.522, + 233.556, + 274.237 + ], + "area": 64049.69677200001, + "iscrowd": 0 + }, + { + "id": 2266, + "image_id": 429, + "category_id": 1, + "bbox": [ + 657.743, + 393.961, + 141.573, + 323.489 + ], + "area": 45797.308197, + "iscrowd": 0 + }, + { + "id": 2267, + "image_id": 429, + "category_id": 0, + "bbox": [ + 739.436, + 455.126, + 92.5207, + 102.998 + ], + "area": 9529.4470586, + "iscrowd": 0 + }, + { + "id": 2268, + "image_id": 430, + "category_id": 1, + "bbox": [ + 400.129, + 374.574, + 144.509, + 341.681 + ], + "area": 49375.979628999994, + "iscrowd": 0 + }, + { + "id": 2269, + "image_id": 430, + "category_id": 1, + "bbox": [ + 77.5508, + 351.421, + 96.4043, + 227.897 + ], + "area": 21970.250757100002, + "iscrowd": 0 + }, + { + "id": 2270, + "image_id": 430, + "category_id": 1, + "bbox": [ + 375.202, + 360.999, + 70.0271, + 263.449 + ], + "area": 18448.5694679, + "iscrowd": 0 + }, + { + "id": 2271, + "image_id": 430, + "category_id": 1, + "bbox": [ + 281.389, + 361.053, + 47.4771, + 94.0167 + ], + "area": 4463.64026757, + "iscrowd": 0 + }, + { + "id": 2272, + "image_id": 430, + "category_id": 1, + "bbox": [ + 460.632, + 344.117, + 90.0882, + 207.222 + ], + "area": 18668.2569804, + "iscrowd": 0 + }, + { + "id": 2273, + "image_id": 430, + "category_id": 0, + "bbox": [ + 119.441, + 382.265, + 53.1497, + 81.0895 + ], + "area": 4309.88259815, + "iscrowd": 0 + }, + { + "id": 2274, + "image_id": 430, + "category_id": 0, + "bbox": [ + 452.888, + 416.797, + 98.6843, + 66.1251 + ], + "area": 6525.50920593, + "iscrowd": 0 + }, + { + "id": 2275, + "image_id": 430, + "category_id": 1, + "bbox": [ + 418.449, + 360.151, + 24.0508, + 34.8905 + ], + "area": 839.1444374, + "iscrowd": 0 + }, + { + "id": 2276, + "image_id": 431, + "category_id": 1, + "bbox": [ + 376.598, + 368.025, + 242.425, + 348.763 + ], + "area": 84548.870275, + "iscrowd": 0 + }, + { + "id": 2277, + "image_id": 431, + "category_id": 1, + "bbox": [ + 1132.5, + 437.129, + 83.3867, + 84.3 + ], + "area": 7029.49881, + "iscrowd": 0 + }, + { + "id": 2278, + "image_id": 431, + "category_id": 1, + "bbox": [ + 356.324, + 327.452, + 127.756, + 253.941 + ], + "area": 32442.486396, + "iscrowd": 0 + }, + { + "id": 2279, + "image_id": 431, + "category_id": 0, + "bbox": [ + 538.711, + 401.241, + 49.8326, + 115.132 + ], + "area": 5737.3269032, + "iscrowd": 0 + }, + { + "id": 2280, + "image_id": 431, + "category_id": 0, + "bbox": [ + 1136.43, + 464.402, + 50.6487, + 55.0213 + ], + "area": 2786.7573173099995, + "iscrowd": 0 + }, + { + "id": 2281, + "image_id": 432, + "category_id": 1, + "bbox": [ + 687.071, + 399.159, + 151.276, + 317.554 + ], + "area": 48038.298904, + "iscrowd": 0 + }, + { + "id": 2282, + "image_id": 432, + "category_id": 1, + "bbox": [ + 54.9589, + 442.607, + 239.86, + 272.089 + ], + "area": 65263.26754, + "iscrowd": 0 + }, + { + "id": 2283, + "image_id": 433, + "category_id": 1, + "bbox": [ + 353.323, + 375.207, + 148.782, + 341.894 + ], + "area": 50867.673108, + "iscrowd": 0 + }, + { + "id": 2284, + "image_id": 433, + "category_id": 1, + "bbox": [ + 445.512, + 342.615, + 109.774, + 373.003 + ], + "area": 40946.031321999995, + "iscrowd": 0 + }, + { + "id": 2285, + "image_id": 433, + "category_id": 1, + "bbox": [ + 327.889, + 361.093, + 66.0931, + 228.06 + ], + "area": 15073.192386000002, + "iscrowd": 0 + }, + { + "id": 2286, + "image_id": 433, + "category_id": 1, + "bbox": [ + 443.199, + 358.81, + 29.1346, + 44.7487 + ], + "area": 1303.73547502, + "iscrowd": 0 + }, + { + "id": 2287, + "image_id": 433, + "category_id": 1, + "bbox": [ + 152.566, + 351.46, + 73.1865, + 223.084 + ], + "area": 16326.737165999999, + "iscrowd": 0 + }, + { + "id": 2288, + "image_id": 433, + "category_id": 0, + "bbox": [ + 393.437, + 421.547, + 105.148, + 76.1817 + ], + "area": 8010.353391600001, + "iscrowd": 0 + }, + { + "id": 2289, + "image_id": 433, + "category_id": 0, + "bbox": [ + 193.148, + 384.061, + 32.7343, + 79.8573 + ], + "area": 2614.0728153899995, + "iscrowd": 0 + }, + { + "id": 2290, + "image_id": 433, + "category_id": 1, + "bbox": [ + 416.394, + 358.957, + 31.945, + 43.0026 + ], + "area": 1373.718057, + "iscrowd": 0 + }, + { + "id": 2291, + "image_id": 434, + "category_id": 1, + "bbox": [ + 376.202, + 367.97, + 225.711, + 348.139 + ], + "area": 78578.801829, + "iscrowd": 0 + }, + { + "id": 2292, + "image_id": 434, + "category_id": 1, + "bbox": [ + 271.373, + 314.608, + 159.07, + 404.146 + ], + "area": 64287.50422, + "iscrowd": 0 + }, + { + "id": 2293, + "image_id": 434, + "category_id": 1, + "bbox": [ + 1132.54, + 437.109, + 84.2419, + 85.593 + ], + "area": 7210.5169467000005, + "iscrowd": 0 + }, + { + "id": 2294, + "image_id": 434, + "category_id": 0, + "bbox": [ + 499.783, + 400.785, + 102.908, + 121.787 + ], + "area": 12532.856596000001, + "iscrowd": 0 + }, + { + "id": 2295, + "image_id": 434, + "category_id": 0, + "bbox": [ + 1138.1, + 474.703, + 44.6897, + 63.5586 + ], + "area": 2840.41476642, + "iscrowd": 0 + }, + { + "id": 2296, + "image_id": 435, + "category_id": 1, + "bbox": [ + 686.005, + 406.732, + 181.18, + 310.695 + ], + "area": 56291.7201, + "iscrowd": 0 + }, + { + "id": 2297, + "image_id": 435, + "category_id": 0, + "bbox": [ + 802.085, + 512.414, + 103.456, + 165.333 + ], + "area": 17104.690848000002, + "iscrowd": 0 + }, + { + "id": 2304, + "image_id": 437, + "category_id": 1, + "bbox": [ + 131.75, + 301.719, + 262.049, + 414.036 + ], + "area": 108497.719764, + "iscrowd": 0 + }, + { + "id": 2305, + "image_id": 437, + "category_id": 1, + "bbox": [ + 409.27, + 372.18, + 193.719, + 343.52 + ], + "area": 66546.35088, + "iscrowd": 0 + }, + { + "id": 2306, + "image_id": 437, + "category_id": 1, + "bbox": [ + 1132.67, + 435.232, + 84.0977, + 87.7231 + ], + "area": 7377.31094687, + "iscrowd": 0 + }, + { + "id": 2307, + "image_id": 437, + "category_id": 0, + "bbox": [ + 482.648, + 381.352, + 108.248, + 139.034 + ], + "area": 15050.152431999999, + "iscrowd": 0 + }, + { + "id": 2308, + "image_id": 437, + "category_id": 0, + "bbox": [ + 1137.1, + 454.841, + 49.6552, + 70.5103 + ], + "area": 3501.2030485600003, + "iscrowd": 0 + }, + { + "id": 2309, + "image_id": 438, + "category_id": 1, + "bbox": [ + 752.363, + 412.248, + 176.033, + 304.16 + ], + "area": 53542.19728, + "iscrowd": 0 + }, + { + "id": 2310, + "image_id": 438, + "category_id": 0, + "bbox": [ + 877.859, + 549.185, + 124.4, + 168.112 + ], + "area": 20913.1328, + "iscrowd": 0 + }, + { + "id": 2315, + "image_id": 440, + "category_id": 1, + "bbox": [ + 59.0462, + 298.264, + 304.108, + 421.736 + ], + "area": 128253.291488, + "iscrowd": 0 + }, + { + "id": 2316, + "image_id": 440, + "category_id": 1, + "bbox": [ + 463.004, + 378.342, + 174.128, + 338.769 + ], + "area": 58989.168432, + "iscrowd": 0 + }, + { + "id": 2317, + "image_id": 440, + "category_id": 1, + "bbox": [ + 1132.21, + 434.613, + 83.0688, + 87.0533 + ], + "area": 7231.413167039999, + "iscrowd": 0 + }, + { + "id": 2318, + "image_id": 440, + "category_id": 0, + "bbox": [ + 524.964, + 403.818, + 93.6512, + 208.784 + ], + "area": 19552.8721408, + "iscrowd": 0 + }, + { + "id": 2319, + "image_id": 440, + "category_id": 0, + "bbox": [ + 1133.32, + 459.164, + 50.0546, + 59.848 + ], + "area": 2995.6677008, + "iscrowd": 0 + }, + { + "id": 2320, + "image_id": 441, + "category_id": 1, + "bbox": [ + 848.238, + 413.788, + 239.121, + 302.214 + ], + "area": 72265.713894, + "iscrowd": 0 + }, + { + "id": 2321, + "image_id": 441, + "category_id": 1, + "bbox": [ + 1033.69, + 592.8, + 137.903, + 126.753 + ], + "area": 17479.618959, + "iscrowd": 0 + }, + { + "id": 2322, + "image_id": 442, + "category_id": 1, + "bbox": [ + 360.344, + 331.372, + 187.243, + 383.377 + ], + "area": 71784.659611, + "iscrowd": 0 + }, + { + "id": 2323, + "image_id": 442, + "category_id": 1, + "bbox": [ + 113.7, + 348.607, + 226.251, + 366.965 + ], + "area": 83026.198215, + "iscrowd": 0 + }, + { + "id": 2324, + "image_id": 442, + "category_id": 1, + "bbox": [ + 296.914, + 356.222, + 97.1044, + 323.997 + ], + "area": 31461.5342868, + "iscrowd": 0 + }, + { + "id": 2325, + "image_id": 443, + "category_id": 1, + "bbox": [ + 28.9352, + 284.876, + 379.63, + 435.124 + ], + "area": 165186.12412, + "iscrowd": 0 + }, + { + "id": 2326, + "image_id": 443, + "category_id": 1, + "bbox": [ + 562.797, + 381.626, + 127.059, + 336.294 + ], + "area": 42729.179346, + "iscrowd": 0 + }, + { + "id": 2327, + "image_id": 443, + "category_id": 1, + "bbox": [ + 1131.46, + 435.216, + 84.4863, + 86.7468 + ], + "area": 7328.916168839999, + "iscrowd": 0 + }, + { + "id": 2328, + "image_id": 443, + "category_id": 0, + "bbox": [ + 586.619, + 410.392, + 101.783, + 205.687 + ], + "area": 20935.439921, + "iscrowd": 0 + }, + { + "id": 2329, + "image_id": 443, + "category_id": 0, + "bbox": [ + 1141.69, + 463.306, + 42.6265, + 53.4181 + ], + "area": 2277.02663965, + "iscrowd": 0 + }, + { + "id": 2330, + "image_id": 444, + "category_id": 1, + "bbox": [ + 0.300446, + 348.804, + 249.525, + 365.723 + ], + "area": 91257.031575, + "iscrowd": 0 + }, + { + "id": 2331, + "image_id": 444, + "category_id": 1, + "bbox": [ + 310.308, + 321.882, + 208.197, + 393.414 + ], + "area": 81907.614558, + "iscrowd": 0 + }, + { + "id": 2332, + "image_id": 444, + "category_id": 1, + "bbox": [ + 273.216, + 354.328, + 109.095, + 329.2 + ], + "area": 35914.074, + "iscrowd": 0 + }, + { + "id": 2333, + "image_id": 444, + "category_id": 1, + "bbox": [ + 453.397, + 352.909, + 81.4899, + 174.513 + ], + "area": 14221.046918700002, + "iscrowd": 0 + }, + { + "id": 2334, + "image_id": 444, + "category_id": 0, + "bbox": [ + 14.1454, + 444.165, + 173.988, + 131.552 + ], + "area": 22888.469375999997, + "iscrowd": 0 + }, + { + "id": 2335, + "image_id": 444, + "category_id": 0, + "bbox": [ + 281.493, + 370.609, + 63.6542, + 89.1159 + ], + "area": 5672.60132178, + "iscrowd": 0 + }, + { + "id": 2336, + "image_id": 445, + "category_id": 1, + "bbox": [ + 162.811, + 260.456, + 267.715, + 459.544 + ], + "area": 123026.82195999999, + "iscrowd": 0 + }, + { + "id": 2337, + "image_id": 445, + "category_id": 1, + "bbox": [ + 1131.85, + 435.44, + 84.4954, + 87.5105 + ], + "area": 7394.2347017, + "iscrowd": 0 + }, + { + "id": 2338, + "image_id": 445, + "category_id": 1, + "bbox": [ + 588.196, + 382.209, + 166.799, + 337.791 + ], + "area": 56343.201009000004, + "iscrowd": 0 + }, + { + "id": 2339, + "image_id": 445, + "category_id": 0, + "bbox": [ + 601.432, + 403.819, + 134.892, + 208.782 + ], + "area": 28163.021544, + "iscrowd": 0 + }, + { + "id": 2340, + "image_id": 445, + "category_id": 0, + "bbox": [ + 1136.85, + 465.326, + 47.307, + 52.8604 + ], + "area": 2500.6669428, + "iscrowd": 0 + }, + { + "id": 2341, + "image_id": 446, + "category_id": 1, + "bbox": [ + 263.381, + 315.345, + 255.131, + 399.93 + ], + "area": 102034.54083, + "iscrowd": 0 + }, + { + "id": 2342, + "image_id": 446, + "category_id": 1, + "bbox": [ + 259.05, + 353.64, + 107.108, + 127.261 + ], + "area": 13630.671188, + "iscrowd": 0 + }, + { + "id": 2343, + "image_id": 446, + "category_id": 1, + "bbox": [ + 447.811, + 357.113, + 85.625, + 87.0263 + ], + "area": 7451.6269375, + "iscrowd": 0 + }, + { + "id": 2344, + "image_id": 446, + "category_id": 1, + "bbox": [ + 0.243073, + 352.388, + 34.5455, + 361.816 + ], + "area": 12499.114627999998, + "iscrowd": 0 + }, + { + "id": 2345, + "image_id": 446, + "category_id": 1, + "bbox": [ + 456.696, + 364.312, + 32.7545, + 34.5316 + ], + "area": 1131.0652922, + "iscrowd": 0 + }, + { + "id": 2346, + "image_id": 447, + "category_id": 1, + "bbox": [ + 335.796, + 267.051, + 226.419, + 447.406 + ], + "area": 101301.219114, + "iscrowd": 0 + }, + { + "id": 2347, + "image_id": 447, + "category_id": 1, + "bbox": [ + 1132.53, + 435.368, + 82.7441, + 87.1235 + ], + "area": 7208.955596350001, + "iscrowd": 0 + }, + { + "id": 2348, + "image_id": 447, + "category_id": 1, + "bbox": [ + 588.846, + 387.801, + 177.32, + 329.762 + ], + "area": 58473.39784, + "iscrowd": 0 + }, + { + "id": 2349, + "image_id": 447, + "category_id": 0, + "bbox": [ + 575.717, + 410.216, + 141.454, + 199.45 + ], + "area": 28213.0003, + "iscrowd": 0 + }, + { + "id": 2350, + "image_id": 447, + "category_id": 0, + "bbox": [ + 1134.46, + 458.31, + 50.9234, + 62.2397 + ], + "area": 3169.45713898, + "iscrowd": 0 + }, + { + "id": 2357, + "image_id": 449, + "category_id": 1, + "bbox": [ + 515.989, + 257.801, + 224.221, + 462.199 + ], + "area": 103634.72197900001, + "iscrowd": 0 + }, + { + "id": 2358, + "image_id": 449, + "category_id": 1, + "bbox": [ + 1132.48, + 435.368, + 82.6201, + 82.6611 + ], + "area": 6829.46834811, + "iscrowd": 0 + }, + { + "id": 2359, + "image_id": 449, + "category_id": 0, + "bbox": [ + 1140.19, + 466.396, + 44.5209, + 50.3894 + ], + "area": 2243.38143846, + "iscrowd": 0 + }, + { + "id": 2360, + "image_id": 450, + "category_id": 1, + "bbox": [ + 0.264835, + 253.684, + 357.859, + 458.782 + ], + "area": 164179.267738, + "iscrowd": 0 + }, + { + "id": 2361, + "image_id": 450, + "category_id": 1, + "bbox": [ + 556.053, + 365.236, + 88.1823, + 283.031 + ], + "area": 24958.3245513, + "iscrowd": 0 + }, + { + "id": 2362, + "image_id": 450, + "category_id": 1, + "bbox": [ + 481.858, + 347.737, + 84.6094, + 351.839 + ], + "area": 29768.8866866, + "iscrowd": 0 + }, + { + "id": 2363, + "image_id": 450, + "category_id": 1, + "bbox": [ + 222.431, + 343.615, + 156.806, + 287.689 + ], + "area": 45111.36133400001, + "iscrowd": 0 + }, + { + "id": 2364, + "image_id": 450, + "category_id": 1, + "bbox": [ + 358.311, + 353.416, + 98.0266, + 285.691 + ], + "area": 28005.317380599998, + "iscrowd": 0 + }, + { + "id": 2365, + "image_id": 450, + "category_id": 0, + "bbox": [ + 229.155, + 360.707, + 72.1415, + 128.723 + ], + "area": 9286.2703045, + "iscrowd": 0 + }, + { + "id": 2366, + "image_id": 450, + "category_id": 0, + "bbox": [ + 362.122, + 388.998, + 49.5088, + 94.7741 + ], + "area": 4692.15196208, + "iscrowd": 0 + }, + { + "id": 2367, + "image_id": 450, + "category_id": 0, + "bbox": [ + 507.219, + 426.03, + 41.9165, + 64.903 + ], + "area": 2720.5065995, + "iscrowd": 0 + }, + { + "id": 2368, + "image_id": 451, + "category_id": 1, + "bbox": [ + 658.282, + 261.557, + 355.803, + 453.886 + ], + "area": 161494.000458, + "iscrowd": 0 + }, + { + "id": 2369, + "image_id": 451, + "category_id": 1, + "bbox": [ + 479.288, + 381.917, + 167.287, + 334.691 + ], + "area": 55989.453317, + "iscrowd": 0 + }, + { + "id": 2370, + "image_id": 451, + "category_id": 1, + "bbox": [ + 1132.26, + 435.529, + 82.2427, + 83.6306 + ], + "area": 6878.00634662, + "iscrowd": 0 + }, + { + "id": 2371, + "image_id": 451, + "category_id": 0, + "bbox": [ + 466.647, + 398.669, + 91.8771, + 279.837 + ], + "area": 25710.6120327, + "iscrowd": 0 + }, + { + "id": 2372, + "image_id": 451, + "category_id": 0, + "bbox": [ + 1129.16, + 462.786, + 64.5517, + 56.6069 + ], + "area": 3654.07162673, + "iscrowd": 0 + }, + { + "id": 2373, + "image_id": 452, + "category_id": 1, + "bbox": [ + 1013.14, + 256.792, + 266.861, + 463.208 + ], + "area": 123612.15008800001, + "iscrowd": 0 + }, + { + "id": 2374, + "image_id": 452, + "category_id": 1, + "bbox": [ + 159.218, + 344.466, + 190.712, + 375.534 + ], + "area": 71618.840208, + "iscrowd": 0 + }, + { + "id": 2375, + "image_id": 452, + "category_id": 1, + "bbox": [ + 504.692, + 355.325, + 161.571, + 352.472 + ], + "area": 56949.253511999996, + "iscrowd": 0 + }, + { + "id": 2376, + "image_id": 452, + "category_id": 1, + "bbox": [ + 335.336, + 352.115, + 121.749, + 313.337 + ], + "area": 38148.466412999995, + "iscrowd": 0 + }, + { + "id": 2377, + "image_id": 452, + "category_id": 1, + "bbox": [ + 600.063, + 360.653, + 79.0052, + 294.717 + ], + "area": 23284.1755284, + "iscrowd": 0 + }, + { + "id": 2378, + "image_id": 452, + "category_id": 0, + "bbox": [ + 169.46, + 398.862, + 114.261, + 152.465 + ], + "area": 17420.803365, + "iscrowd": 0 + }, + { + "id": 2379, + "image_id": 452, + "category_id": 0, + "bbox": [ + 332.44, + 390.45, + 77.1087, + 113.911 + ], + "area": 8783.5291257, + "iscrowd": 0 + }, + { + "id": 2380, + "image_id": 452, + "category_id": 0, + "bbox": [ + 568.322, + 419.541, + 45.5642, + 93.9324 + ], + "area": 4279.95466008, + "iscrowd": 0 + }, + { + "id": 2386, + "image_id": 454, + "category_id": 1, + "bbox": [ + 775.737, + 296.699, + 260.381, + 419.313 + ], + "area": 109181.13825299998, + "iscrowd": 0 + }, + { + "id": 2387, + "image_id": 454, + "category_id": 1, + "bbox": [ + 296.907, + 351.854, + 151.173, + 346.898 + ], + "area": 52441.61135400001, + "iscrowd": 0 + }, + { + "id": 2388, + "image_id": 454, + "category_id": 1, + "bbox": [ + 584.026, + 348.838, + 152.728, + 368.253 + ], + "area": 56242.544184, + "iscrowd": 0 + }, + { + "id": 2389, + "image_id": 454, + "category_id": 1, + "bbox": [ + 70.6815, + 324.518, + 217.843, + 388.59 + ], + "area": 84651.61136999998, + "iscrowd": 0 + }, + { + "id": 2390, + "image_id": 454, + "category_id": 0, + "bbox": [ + 69.5172, + 392.276, + 144.0, + 152.938 + ], + "area": 22023.072, + "iscrowd": 0 + }, + { + "id": 2391, + "image_id": 454, + "category_id": 0, + "bbox": [ + 323.752, + 392.276, + 92.3586, + 138.041 + ], + "area": 12749.2735026, + "iscrowd": 0 + }, + { + "id": 2392, + "image_id": 454, + "category_id": 1, + "bbox": [ + 602.814, + 357.517, + 34.7586, + 75.4759 + ], + "area": 2623.4366177399997, + "iscrowd": 0 + }, + { + "id": 2393, + "image_id": 455, + "category_id": 1, + "bbox": [ + 292.305, + 372.948, + 164.35, + 344.073 + ], + "area": 56548.397549999994, + "iscrowd": 0 + }, + { + "id": 2394, + "image_id": 455, + "category_id": 1, + "bbox": [ + 990.196, + 260.289, + 260.77, + 453.961 + ], + "area": 118379.40997, + "iscrowd": 0 + }, + { + "id": 2395, + "image_id": 455, + "category_id": 0, + "bbox": [ + 287.828, + 455.37, + 84.2003, + 188.162 + ], + "area": 15843.2968486, + "iscrowd": 0 + }, + { + "id": 2403, + "image_id": 457, + "category_id": 1, + "bbox": [ + 178.731, + 363.531, + 246.764, + 352.095 + ], + "area": 86884.37058000002, + "iscrowd": 0 + }, + { + "id": 2404, + "image_id": 457, + "category_id": 1, + "bbox": [ + 1133.59, + 434.529, + 79.7329, + 82.9835 + ], + "area": 6616.51510715, + "iscrowd": 0 + }, + { + "id": 2405, + "image_id": 457, + "category_id": 0, + "bbox": [ + 343.675, + 396.946, + 42.9591, + 73.8897 + ], + "area": 3174.23501127, + "iscrowd": 0 + }, + { + "id": 2406, + "image_id": 457, + "category_id": 0, + "bbox": [ + 1133.27, + 471.078, + 50.454, + 45.7292 + ], + "area": 2307.2210568, + "iscrowd": 0 + }, + { + "id": 2407, + "image_id": 458, + "category_id": 1, + "bbox": [ + 234.235, + 336.374, + 191.88, + 378.017 + ], + "area": 72533.90196, + "iscrowd": 0 + }, + { + "id": 2408, + "image_id": 458, + "category_id": 1, + "bbox": [ + 0.417209, + 315.14, + 135.292, + 397.15 + ], + "area": 53731.2178, + "iscrowd": 0 + }, + { + "id": 2409, + "image_id": 458, + "category_id": 1, + "bbox": [ + 681.652, + 348.315, + 131.67, + 367.073 + ], + "area": 48332.50190999999, + "iscrowd": 0 + }, + { + "id": 2410, + "image_id": 458, + "category_id": 1, + "bbox": [ + 477.213, + 356.187, + 101.852, + 359.398 + ], + "area": 36605.405096, + "iscrowd": 0 + }, + { + "id": 2411, + "image_id": 458, + "category_id": 1, + "bbox": [ + 546.975, + 331.278, + 161.389, + 383.967 + ], + "area": 61968.050163, + "iscrowd": 0 + }, + { + "id": 2412, + "image_id": 458, + "category_id": 0, + "bbox": [ + 266.152, + 384.331, + 114.207, + 171.807 + ], + "area": 19621.562048999996, + "iscrowd": 0 + }, + { + "id": 2413, + "image_id": 459, + "category_id": 1, + "bbox": [ + 105.149, + 358.315, + 255.531, + 357.115 + ], + "area": 91253.95306500001, + "iscrowd": 0 + }, + { + "id": 2414, + "image_id": 459, + "category_id": 1, + "bbox": [ + 1132.7, + 434.19, + 81.9236, + 83.4619 + ], + "area": 6837.499310839999, + "iscrowd": 0 + }, + { + "id": 2415, + "image_id": 459, + "category_id": 0, + "bbox": [ + 243.194, + 393.358, + 122.334, + 163.432 + ], + "area": 19993.290288, + "iscrowd": 0 + }, + { + "id": 2416, + "image_id": 459, + "category_id": 0, + "bbox": [ + 1140.12, + 465.383, + 49.5088, + 63.6542 + ], + "area": 3151.4430569600004, + "iscrowd": 0 + }, + { + "id": 2417, + "image_id": 460, + "category_id": 1, + "bbox": [ + 235.733, + 326.547, + 191.834, + 388.223 + ], + "area": 74474.37098200001, + "iscrowd": 0 + }, + { + "id": 2418, + "image_id": 460, + "category_id": 1, + "bbox": [ + 674.658, + 348.318, + 176.595, + 367.855 + ], + "area": 64961.353725, + "iscrowd": 0 + }, + { + "id": 2419, + "image_id": 460, + "category_id": 1, + "bbox": [ + 481.718, + 331.143, + 135.158, + 384.0 + ], + "area": 51900.67199999999, + "iscrowd": 0 + }, + { + "id": 2420, + "image_id": 460, + "category_id": 1, + "bbox": [ + 403.383, + 349.868, + 109.74, + 367.704 + ], + "area": 40351.83696, + "iscrowd": 0 + }, + { + "id": 2421, + "image_id": 460, + "category_id": 0, + "bbox": [ + 246.142, + 392.796, + 109.871, + 176.844 + ], + "area": 19430.027124, + "iscrowd": 0 + }, + { + "id": 2422, + "image_id": 461, + "category_id": 1, + "bbox": [ + 1132.9, + 434.341, + 81.3882, + 84.9911 + ], + "area": 6917.27264502, + "iscrowd": 0 + }, + { + "id": 2423, + "image_id": 461, + "category_id": 1, + "bbox": [ + 219.258, + 360.568, + 180.876, + 356.482 + ], + "area": 64479.038232000006, + "iscrowd": 0 + }, + { + "id": 2424, + "image_id": 461, + "category_id": 0, + "bbox": [ + 1138.77, + 460.556, + 56.5901, + 57.251 + ], + "area": 3239.8398150999997, + "iscrowd": 0 + }, + { + "id": 2425, + "image_id": 461, + "category_id": 0, + "bbox": [ + 267.516, + 388.254, + 131.384, + 273.058 + ], + "area": 35875.452271999995, + "iscrowd": 0 + }, + { + "id": 2426, + "image_id": 462, + "category_id": 1, + "bbox": [ + 137.527, + 312.861, + 241.469, + 401.952 + ], + "area": 97058.94748799999, + "iscrowd": 0 + }, + { + "id": 2427, + "image_id": 462, + "category_id": 1, + "bbox": [ + 455.244, + 328.277, + 126.437, + 387.285 + ], + "area": 48967.153545, + "iscrowd": 0 + }, + { + "id": 2428, + "image_id": 462, + "category_id": 1, + "bbox": [ + 638.976, + 334.243, + 210.98, + 382.372 + ], + "area": 80672.84456, + "iscrowd": 0 + }, + { + "id": 2429, + "image_id": 462, + "category_id": 1, + "bbox": [ + 320.483, + 344.014, + 133.874, + 373.027 + ], + "area": 49938.61659799999, + "iscrowd": 0 + }, + { + "id": 2430, + "image_id": 462, + "category_id": 0, + "bbox": [ + 156.964, + 393.742, + 139.987, + 216.005 + ], + "area": 30237.891935, + "iscrowd": 0 + }, + { + "id": 2431, + "image_id": 462, + "category_id": 0, + "bbox": [ + 647.859, + 449.823, + 103.261, + 124.479 + ], + "area": 12853.826019, + "iscrowd": 0 + }, + { + "id": 2432, + "image_id": 463, + "category_id": 1, + "bbox": [ + 433.569, + 333.993, + 124.56, + 386.007 + ], + "area": 48081.03192, + "iscrowd": 0 + }, + { + "id": 2433, + "image_id": 463, + "category_id": 1, + "bbox": [ + 606.192, + 319.803, + 202.31, + 400.197 + ], + "area": 80963.85507, + "iscrowd": 0 + }, + { + "id": 2434, + "image_id": 463, + "category_id": 1, + "bbox": [ + 263.492, + 347.334, + 102.303, + 268.163 + ], + "area": 27433.879389, + "iscrowd": 0 + }, + { + "id": 2435, + "image_id": 463, + "category_id": 1, + "bbox": [ + 69.3632, + 297.287, + 272.066, + 422.713 + ], + "area": 115005.835058, + "iscrowd": 0 + }, + { + "id": 2436, + "image_id": 463, + "category_id": 0, + "bbox": [ + 59.7029, + 391.865, + 165.68, + 310.83 + ], + "area": 51498.3144, + "iscrowd": 0 + }, + { + "id": 2437, + "image_id": 463, + "category_id": 0, + "bbox": [ + 601.432, + 423.58, + 85.9188, + 163.246 + ], + "area": 14025.900424800002, + "iscrowd": 0 + }, + { + "id": 2438, + "image_id": 464, + "category_id": 1, + "bbox": [ + 0.526714, + 281.014, + 254.179, + 433.646 + ], + "area": 110223.706634, + "iscrowd": 0 + }, + { + "id": 2439, + "image_id": 464, + "category_id": 1, + "bbox": [ + 192.984, + 339.51, + 164.817, + 377.096 + ], + "area": 62151.831432000006, + "iscrowd": 0 + }, + { + "id": 2440, + "image_id": 464, + "category_id": 1, + "bbox": [ + 400.857, + 330.007, + 161.785, + 385.509 + ], + "area": 62369.573565, + "iscrowd": 0 + }, + { + "id": 2441, + "image_id": 464, + "category_id": 1, + "bbox": [ + 511.241, + 314.442, + 214.286, + 401.063 + ], + "area": 85942.186018, + "iscrowd": 0 + }, + { + "id": 2442, + "image_id": 464, + "category_id": 0, + "bbox": [ + 0.244679, + 420.279, + 82.0346, + 293.528 + ], + "area": 24079.4520688, + "iscrowd": 0 + }, + { + "id": 2443, + "image_id": 464, + "category_id": 0, + "bbox": [ + 499.332, + 466.798, + 107.505, + 124.479 + ], + "area": 13382.114894999999, + "iscrowd": 0 + }, + { + "id": 2444, + "image_id": 465, + "category_id": 1, + "bbox": [ + 195.339, + 327.856, + 189.638, + 387.24 + ], + "area": 73435.41912, + "iscrowd": 0 + }, + { + "id": 2445, + "image_id": 465, + "category_id": 1, + "bbox": [ + 374.584, + 298.486, + 246.308, + 414.629 + ], + "area": 102126.439732, + "iscrowd": 0 + }, + { + "id": 2446, + "image_id": 466, + "category_id": 1, + "bbox": [ + 172.122, + 252.976, + 301.715, + 459.61 + ], + "area": 138671.23115, + "iscrowd": 0 + }, + { + "id": 2447, + "image_id": 466, + "category_id": 0, + "bbox": [ + 131.881, + 471.978, + 153.671, + 236.773 + ], + "area": 36385.143682999995, + "iscrowd": 0 + }, + { + "id": 2448, + "image_id": 466, + "category_id": 1, + "bbox": [ + 383.326, + 321.546, + 125.24, + 232.707 + ], + "area": 29144.22468, + "iscrowd": 0 + }, + { + "id": 2449, + "image_id": 467, + "category_id": 1, + "bbox": [ + 182.47, + 303.302, + 258.778, + 416.698 + ], + "area": 107832.27504400001, + "iscrowd": 0 + }, + { + "id": 2450, + "image_id": 467, + "category_id": 1, + "bbox": [ + 0.891523, + 208.851, + 233.928, + 511.149 + ], + "area": 119572.063272, + "iscrowd": 0 + }, + { + "id": 2451, + "image_id": 467, + "category_id": 1, + "bbox": [ + 329.604, + 323.973, + 157.573, + 352.943 + ], + "area": 55614.287339, + "iscrowd": 0 + }, + { + "id": 2452, + "image_id": 468, + "category_id": 1, + "bbox": [ + 99.5716, + 301.421, + 303.144, + 412.592 + ], + "area": 125074.789248, + "iscrowd": 0 + }, + { + "id": 2453, + "image_id": 468, + "category_id": 1, + "bbox": [ + 292.352, + 315.015, + 202.563, + 398.425 + ], + "area": 80706.163275, + "iscrowd": 0 + }, + { + "id": 2454, + "image_id": 469, + "category_id": 1, + "bbox": [ + 185.179, + 293.211, + 259.83, + 426.789 + ], + "area": 110892.58587, + "iscrowd": 0 + }, + { + "id": 2455, + "image_id": 469, + "category_id": 1, + "bbox": [ + 1.70923e-14, + 252.84, + 192.825, + 467.16 + ], + "area": 90080.127, + "iscrowd": 0 + }, + { + "id": 2456, + "image_id": 470, + "category_id": 1, + "bbox": [ + 94.1166, + 284.263, + 305.68, + 429.9 + ], + "area": 131411.832, + "iscrowd": 0 + }, + { + "id": 2459, + "image_id": 473, + "category_id": 1, + "bbox": [ + 676.866, + 421.078, + 126.31, + 281.698 + ], + "area": 35581.274379999995, + "iscrowd": 0 + }, + { + "id": 2460, + "image_id": 473, + "category_id": 0, + "bbox": [ + 814.24, + 483.189, + 63.979, + 82.5044 + ], + "area": 5278.549007600001, + "iscrowd": 0 + }, + { + "id": 2461, + "image_id": 473, + "category_id": 1, + "bbox": [ + 818.154, + 413.58, + 60.8223, + 306.42 + ], + "area": 18637.169166, + "iscrowd": 0 + }, + { + "id": 2462, + "image_id": 473, + "category_id": 0, + "bbox": [ + 713.386, + 447.665, + 29.0188, + 92.5322 + ], + "area": 2685.17340536, + "iscrowd": 0 + }, + { + "id": 2463, + "image_id": 474, + "category_id": 1, + "bbox": [ + 134.761, + 244.893, + 49.6577, + 62.7179 + ], + "area": 3114.4266628299997, + "iscrowd": 0 + }, + { + "id": 2464, + "image_id": 475, + "category_id": 1, + "bbox": [ + 637.365, + 417.606, + 87.9917, + 290.657 + ], + "area": 25575.403546899997, + "iscrowd": 0 + }, + { + "id": 2465, + "image_id": 475, + "category_id": 1, + "bbox": [ + 792.891, + 411.028, + 82.6825, + 306.07 + ], + "area": 25306.632775000002, + "iscrowd": 0 + }, + { + "id": 2466, + "image_id": 475, + "category_id": 0, + "bbox": [ + 791.743, + 472.576, + 83.9762, + 93.5256 + ], + "area": 7853.92449072, + "iscrowd": 0 + }, + { + "id": 2467, + "image_id": 475, + "category_id": 0, + "bbox": [ + 636.303, + 459.568, + 36.6425, + 84.1185 + ], + "area": 3082.3121362499996, + "iscrowd": 0 + }, + { + "id": 2468, + "image_id": 476, + "category_id": 1, + "bbox": [ + 209.135, + 239.417, + 90.5918, + 150.776 + ], + "area": 13659.069236800002, + "iscrowd": 0 + }, + { + "id": 2469, + "image_id": 476, + "category_id": 0, + "bbox": [ + 230.624, + 273.34, + 46.7105, + 45.4813 + ], + "area": 2124.45426365, + "iscrowd": 0 + }, + { + "id": 2470, + "image_id": 477, + "category_id": 1, + "bbox": [ + 586.302, + 420.204, + 97.9974, + 298.797 + ], + "area": 29281.329127800003, + "iscrowd": 0 + }, + { + "id": 2471, + "image_id": 477, + "category_id": 1, + "bbox": [ + 766.397, + 416.888, + 92.7814, + 303.112 + ], + "area": 28123.155716800004, + "iscrowd": 0 + }, + { + "id": 2472, + "image_id": 477, + "category_id": 0, + "bbox": [ + 587.243, + 459.495, + 39.6994, + 90.2402 + ], + "area": 3582.48179588, + "iscrowd": 0 + }, + { + "id": 2473, + "image_id": 477, + "category_id": 0, + "bbox": [ + 784.084, + 477.775, + 77.7767, + 93.639 + ], + "area": 7282.9324113, + "iscrowd": 0 + }, + { + "id": 2474, + "image_id": 478, + "category_id": 1, + "bbox": [ + 0.403094, + 343.379, + 84.0604, + 251.656 + ], + "area": 21154.3040224, + "iscrowd": 0 + }, + { + "id": 2475, + "image_id": 479, + "category_id": 1, + "bbox": [ + 23.2195, + 344.298, + 76.5348, + 218.476 + ], + "area": 16721.0169648, + "iscrowd": 0 + }, + { + "id": 2476, + "image_id": 479, + "category_id": 0, + "bbox": [ + 41.0216, + 309.784, + 39.6071, + 69.3124 + ], + "area": 2745.2631580400002, + "iscrowd": 0 + }, + { + "id": 2477, + "image_id": 480, + "category_id": 1, + "bbox": [ + 288.372, + 234.753, + 68.2822, + 125.722 + ], + "area": 8584.5747484, + "iscrowd": 0 + }, + { + "id": 2478, + "image_id": 481, + "category_id": 1, + "bbox": [ + 530.375, + 423.586, + 118.116, + 295.017 + ], + "area": 34846.227972, + "iscrowd": 0 + }, + { + "id": 2479, + "image_id": 481, + "category_id": 1, + "bbox": [ + 697.471, + 414.851, + 105.604, + 302.966 + ], + "area": 31994.421464, + "iscrowd": 0 + }, + { + "id": 2480, + "image_id": 481, + "category_id": 0, + "bbox": [ + 543.265, + 472.745, + 50.4958, + 98.3798 + ], + "area": 4967.766704840001, + "iscrowd": 0 + }, + { + "id": 2481, + "image_id": 481, + "category_id": 0, + "bbox": [ + 716.517, + 480.58, + 94.8973, + 99.2504 + ], + "area": 9418.59498392, + "iscrowd": 0 + }, + { + "id": 2482, + "image_id": 482, + "category_id": 1, + "bbox": [ + 15.6546, + 389.067, + 47.9725, + 202.851 + ], + "area": 9731.269597499999, + "iscrowd": 0 + }, + { + "id": 2483, + "image_id": 482, + "category_id": 1, + "bbox": [ + 62.3328, + 345.471, + 63.0489, + 96.7291 + ], + "area": 6098.66335299, + "iscrowd": 0 + }, + { + "id": 2484, + "image_id": 483, + "category_id": 1, + "bbox": [ + 97.7754, + 325.47, + 72.2482, + 235.221 + ], + "area": 16994.2938522, + "iscrowd": 0 + }, + { + "id": 2485, + "image_id": 483, + "category_id": 1, + "bbox": [ + 101.297, + 320.772, + 40.7172, + 40.7172 + ], + "area": 1657.89037584, + "iscrowd": 0 + }, + { + "id": 2487, + "image_id": 485, + "category_id": 1, + "bbox": [ + 471.561, + 417.861, + 120.941, + 299.396 + ], + "area": 36209.251636, + "iscrowd": 0 + }, + { + "id": 2488, + "image_id": 485, + "category_id": 1, + "bbox": [ + 646.363, + 412.879, + 118.739, + 304.959 + ], + "area": 36210.526701, + "iscrowd": 0 + }, + { + "id": 2489, + "image_id": 485, + "category_id": 1, + "bbox": [ + 1222.27, + 381.864, + 57.3313, + 114.139 + ], + "area": 6543.7372507, + "iscrowd": 0 + }, + { + "id": 2490, + "image_id": 485, + "category_id": 0, + "bbox": [ + 477.523, + 469.582, + 60.4326, + 101.207 + ], + "area": 6116.2021482, + "iscrowd": 0 + }, + { + "id": 2491, + "image_id": 485, + "category_id": 0, + "bbox": [ + 702.411, + 487.457, + 83.5696, + 104.68 + ], + "area": 8748.065728, + "iscrowd": 0 + }, + { + "id": 2492, + "image_id": 485, + "category_id": 0, + "bbox": [ + 1254.76, + 451.113, + 25.245, + 43.3082 + ], + "area": 1093.315509, + "iscrowd": 0 + }, + { + "id": 2493, + "image_id": 486, + "category_id": 1, + "bbox": [ + 75.5409, + 391.201, + 43.2912, + 51.4877 + ], + "area": 2228.96431824, + "iscrowd": 0 + }, + { + "id": 2494, + "image_id": 486, + "category_id": 1, + "bbox": [ + 135.796, + 340.904, + 49.5088, + 115.992 + ], + "area": 5742.6247296, + "iscrowd": 0 + }, + { + "id": 2495, + "image_id": 487, + "category_id": 1, + "bbox": [ + 172.603, + 347.531, + 49.3185, + 113.848 + ], + "area": 5614.812588, + "iscrowd": 0 + }, + { + "id": 2503, + "image_id": 490, + "category_id": 1, + "bbox": [ + 183.274, + 348.909, + 69.0671, + 204.407 + ], + "area": 14117.7987097, + "iscrowd": 0 + }, + { + "id": 2504, + "image_id": 490, + "category_id": 1, + "bbox": [ + 133.203, + 393.519, + 44.4014, + 61.8138 + ], + "area": 2744.6192593200003, + "iscrowd": 0 + }, + { + "id": 2509, + "image_id": 493, + "category_id": 1, + "bbox": [ + 334.252, + 420.781, + 152.864, + 297.703 + ], + "area": 45508.071392, + "iscrowd": 0 + }, + { + "id": 2510, + "image_id": 493, + "category_id": 1, + "bbox": [ + 594.878, + 406.813, + 151.769, + 311.504 + ], + "area": 47276.65057600001, + "iscrowd": 0 + }, + { + "id": 2511, + "image_id": 493, + "category_id": 1, + "bbox": [ + 1211.32, + 379.743, + 68.127, + 128.741 + ], + "area": 8770.738107000001, + "iscrowd": 0 + }, + { + "id": 2512, + "image_id": 493, + "category_id": 0, + "bbox": [ + 673.14, + 501.372, + 102.234, + 129.575 + ], + "area": 13246.970549999998, + "iscrowd": 0 + }, + { + "id": 2513, + "image_id": 493, + "category_id": 0, + "bbox": [ + 344.406, + 489.749, + 64.7709, + 118.07 + ], + "area": 7647.500163, + "iscrowd": 0 + }, + { + "id": 2514, + "image_id": 493, + "category_id": 0, + "bbox": [ + 1210.86, + 458.629, + 60.5399, + 44.9269 + ], + "area": 2719.8700333100005, + "iscrowd": 0 + }, + { + "id": 2515, + "image_id": 494, + "category_id": 1, + "bbox": [ + 225.41, + 348.769, + 80.5521, + 206.536 + ], + "area": 16636.9085256, + "iscrowd": 0 + }, + { + "id": 2516, + "image_id": 494, + "category_id": 1, + "bbox": [ + 182.649, + 397.111, + 62.1155, + 153.727 + ], + "area": 9548.8294685, + "iscrowd": 0 + }, + { + "id": 2517, + "image_id": 495, + "category_id": 1, + "bbox": [ + 300.402, + 362.266, + 106.633, + 233.764 + ], + "area": 24926.956612, + "iscrowd": 0 + }, + { + "id": 2518, + "image_id": 495, + "category_id": 1, + "bbox": [ + 8.78462, + 346.573, + 70.1125, + 223.296 + ], + "area": 15655.840799999998, + "iscrowd": 0 + }, + { + "id": 2519, + "image_id": 495, + "category_id": 0, + "bbox": [ + 308.369, + 329.587, + 36.778, + 59.4106 + ], + "area": 2185.0030468, + "iscrowd": 0 + }, + { + "id": 2520, + "image_id": 496, + "category_id": 1, + "bbox": [ + 559.62, + 232.631, + 88.6202, + 216.555 + ], + "area": 19191.147411, + "iscrowd": 0 + }, + { + "id": 2521, + "image_id": 496, + "category_id": 0, + "bbox": [ + 564.58, + 271.711, + 60.4472, + 66.8359 + ], + "area": 4040.04301448, + "iscrowd": 0 + }, + { + "id": 2522, + "image_id": 497, + "category_id": 1, + "bbox": [ + 242.785, + 418.937, + 175.107, + 301.063 + ], + "area": 52718.238741, + "iscrowd": 0 + }, + { + "id": 2523, + "image_id": 497, + "category_id": 1, + "bbox": [ + 549.815, + 404.627, + 161.011, + 315.373 + ], + "area": 50778.522102999996, + "iscrowd": 0 + }, + { + "id": 2524, + "image_id": 497, + "category_id": 1, + "bbox": [ + 1214.02, + 378.042, + 65.4407, + 114.157 + ], + "area": 7470.5139899000005, + "iscrowd": 0 + }, + { + "id": 2525, + "image_id": 497, + "category_id": 0, + "bbox": [ + 634.94, + 511.217, + 112.554, + 146.921 + ], + "area": 16536.546233999998, + "iscrowd": 0 + }, + { + "id": 2526, + "image_id": 497, + "category_id": 0, + "bbox": [ + 250.024, + 492.315, + 89.3555, + 138.329 + ], + "area": 12360.456959500001, + "iscrowd": 0 + }, + { + "id": 2527, + "image_id": 497, + "category_id": 1, + "bbox": [ + 1230.62, + 447.414, + 49.3807, + 55.9942 + ], + "area": 2765.0327919399997, + "iscrowd": 0 + }, + { + "id": 2528, + "image_id": 497, + "category_id": 1, + "bbox": [ + 410.848, + 695.786, + 8.59189, + 0.78108 + ], + "area": 6.710953441199999, + "iscrowd": 0 + }, + { + "id": 2529, + "image_id": 498, + "category_id": 1, + "bbox": [ + 266.408, + 349.117, + 71.3906, + 116.663 + ], + "area": 8328.641567800001, + "iscrowd": 0 + }, + { + "id": 2530, + "image_id": 498, + "category_id": 1, + "bbox": [ + 239.514, + 397.051, + 50.3626, + 173.527 + ], + "area": 8739.2708902, + "iscrowd": 0 + }, + { + "id": 2531, + "image_id": 499, + "category_id": 1, + "bbox": [ + 352.047, + 355.047, + 85.1917, + 247.709 + ], + "area": 21102.750815299998, + "iscrowd": 0 + }, + { + "id": 2532, + "image_id": 499, + "category_id": 1, + "bbox": [ + 50.9052, + 350.691, + 82.6983, + 225.127 + ], + "area": 18617.6201841, + "iscrowd": 0 + }, + { + "id": 2533, + "image_id": 499, + "category_id": 0, + "bbox": [ + 362.483, + 323.752, + 43.6966, + 43.6966 + ], + "area": 1909.3928515599996, + "iscrowd": 0 + }, + { + "id": 2534, + "image_id": 500, + "category_id": 1, + "bbox": [ + 582.555, + 237.749, + 85.6888, + 240.285 + ], + "area": 20589.733308, + "iscrowd": 0 + }, + { + "id": 2535, + "image_id": 500, + "category_id": 0, + "bbox": [ + 577.986, + 284.028, + 59.5862, + 52.6345 + ], + "area": 3136.2898439, + "iscrowd": 0 + }, + { + "id": 2536, + "image_id": 501, + "category_id": 1, + "bbox": [ + 158.758, + 411.738, + 201.995, + 304.272 + ], + "area": 61461.42264, + "iscrowd": 0 + }, + { + "id": 2537, + "image_id": 501, + "category_id": 1, + "bbox": [ + 505.372, + 406.172, + 185.94, + 311.481 + ], + "area": 57916.77714, + "iscrowd": 0 + }, + { + "id": 2538, + "image_id": 501, + "category_id": 0, + "bbox": [ + 589.517, + 531.67, + 154.037, + 167.796 + ], + "area": 25846.792452, + "iscrowd": 0 + }, + { + "id": 2539, + "image_id": 501, + "category_id": 1, + "bbox": [ + 1218.35, + 430.383, + 61.0615, + 278.327 + ], + "area": 16995.0641105, + "iscrowd": 0 + }, + { + "id": 2540, + "image_id": 501, + "category_id": 0, + "bbox": [ + 158.452, + 481.451, + 109.698, + 172.382 + ], + "area": 18909.960636, + "iscrowd": 0 + }, + { + "id": 2541, + "image_id": 501, + "category_id": 1, + "bbox": [ + 1253.01, + 374.366, + 26.9888, + 69.6491 + ], + "area": 1879.7456300800002, + "iscrowd": 0 + }, + { + "id": 2545, + "image_id": 503, + "category_id": 1, + "bbox": [ + 601.646, + 246.657, + 93.5811, + 256.512 + ], + "area": 24004.675123200002, + "iscrowd": 0 + }, + { + "id": 2546, + "image_id": 503, + "category_id": 0, + "bbox": [ + 603.807, + 288.0, + 73.4897, + 76.469 + ], + "area": 5619.683869299999, + "iscrowd": 0 + }, + { + "id": 2547, + "image_id": 504, + "category_id": 1, + "bbox": [ + 79.3495, + 412.287, + 183.592, + 307.713 + ], + "area": 56493.64509600001, + "iscrowd": 0 + }, + { + "id": 2548, + "image_id": 504, + "category_id": 1, + "bbox": [ + 462.314, + 401.552, + 172.093, + 318.448 + ], + "area": 54802.671663999994, + "iscrowd": 0 + }, + { + "id": 2549, + "image_id": 504, + "category_id": 0, + "bbox": [ + 49.8129, + 497.671, + 106.099, + 186.306 + ], + "area": 19766.880294000002, + "iscrowd": 0 + }, + { + "id": 2550, + "image_id": 504, + "category_id": 0, + "bbox": [ + 493.291, + 551.888, + 175.529, + 168.112 + ], + "area": 29508.531248, + "iscrowd": 0 + }, + { + "id": 2551, + "image_id": 504, + "category_id": 1, + "bbox": [ + 1228.42, + 379.087, + 51.5781, + 115.779 + ], + "area": 5971.6608399, + "iscrowd": 0 + }, + { + "id": 2552, + "image_id": 504, + "category_id": 1, + "bbox": [ + 1199.69, + 445.028, + 73.341, + 86.3988 + ], + "area": 6336.5743907999995, + "iscrowd": 0 + }, + { + "id": 2553, + "image_id": 504, + "category_id": 0, + "bbox": [ + 1246.76, + 450.077, + 27.5004, + 40.9538 + ], + "area": 1126.24588152, + "iscrowd": 0 + }, + { + "id": 2554, + "image_id": 505, + "category_id": 1, + "bbox": [ + 372.791, + 355.531, + 63.7577, + 107.582 + ], + "area": 6859.1808814, + "iscrowd": 0 + }, + { + "id": 2555, + "image_id": 506, + "category_id": 1, + "bbox": [ + 409.903, + 355.416, + 95.0042, + 270.878 + ], + "area": 25734.5476876, + "iscrowd": 0 + }, + { + "id": 2556, + "image_id": 506, + "category_id": 0, + "bbox": [ + 432.145, + 331.085, + 48.1079, + 71.0156 + ], + "area": 3416.4113832400003, + "iscrowd": 0 + }, + { + "id": 2557, + "image_id": 506, + "category_id": 1, + "bbox": [ + 187.374, + 386.855, + 69.3978, + 74.795 + ], + "area": 5190.608451, + "iscrowd": 0 + }, + { + "id": 2558, + "image_id": 507, + "category_id": 1, + "bbox": [ + 608.233, + 257.699, + 107.432, + 290.319 + ], + "area": 31189.550808000004, + "iscrowd": 0 + }, + { + "id": 2559, + "image_id": 507, + "category_id": 0, + "bbox": [ + 610.759, + 309.848, + 74.4828, + 77.4621 + ], + "area": 5769.59410188, + "iscrowd": 0 + }, + { + "id": 2560, + "image_id": 508, + "category_id": 1, + "bbox": [ + 0.685711, + 417.966, + 224.41, + 298.623 + ], + "area": 67013.98743, + "iscrowd": 0 + }, + { + "id": 2561, + "image_id": 508, + "category_id": 1, + "bbox": [ + 312.385, + 395.725, + 194.776, + 324.275 + ], + "area": 63160.9874, + "iscrowd": 0 + }, + { + "id": 2562, + "image_id": 508, + "category_id": 1, + "bbox": [ + 1225.66, + 379.745, + 53.8779, + 156.48 + ], + "area": 8430.813791999999, + "iscrowd": 0 + }, + { + "id": 2563, + "image_id": 508, + "category_id": 1, + "bbox": [ + 1171.94, + 445.605, + 106.476, + 134.023 + ], + "area": 14270.232947999999, + "iscrowd": 0 + }, + { + "id": 2564, + "image_id": 508, + "category_id": 0, + "bbox": [ + 310.841, + 531.31, + 195.641, + 182.731 + ], + "area": 35749.675571, + "iscrowd": 0 + }, + { + "id": 2565, + "image_id": 508, + "category_id": 0, + "bbox": [ + 0.0, + 518.4, + 124.138, + 180.745 + ], + "area": 22437.32281, + "iscrowd": 0 + }, + { + "id": 2566, + "image_id": 508, + "category_id": 0, + "bbox": [ + 1230.34, + 437.959, + 43.6966, + 47.669 + ], + "area": 2082.9732253999996, + "iscrowd": 0 + }, + { + "id": 2569, + "image_id": 510, + "category_id": 1, + "bbox": [ + 436.163, + 354.579, + 100.448, + 288.61 + ], + "area": 28990.29728, + "iscrowd": 0 + }, + { + "id": 2570, + "image_id": 510, + "category_id": 1, + "bbox": [ + 256.729, + 353.263, + 62.667, + 103.952 + ], + "area": 6514.359984, + "iscrowd": 0 + }, + { + "id": 2571, + "image_id": 510, + "category_id": 0, + "bbox": [ + 461.139, + 321.1, + 38.1925, + 52.3379 + ], + "area": 1998.91524575, + "iscrowd": 0 + }, + { + "id": 2572, + "image_id": 511, + "category_id": 1, + "bbox": [ + 614.447, + 272.346, + 112.9, + 319.966 + ], + "area": 36124.161400000005, + "iscrowd": 0 + }, + { + "id": 2573, + "image_id": 511, + "category_id": 0, + "bbox": [ + 629.47, + 332.417, + 67.8978, + 82.0432 + ], + "area": 5570.55278496, + "iscrowd": 0 + }, + { + "id": 2574, + "image_id": 512, + "category_id": 1, + "bbox": [ + 205.638, + 401.954, + 226.493, + 313.765 + ], + "area": 71065.576145, + "iscrowd": 0 + }, + { + "id": 2575, + "image_id": 512, + "category_id": 1, + "bbox": [ + 3.0763, + 411.918, + 208.139, + 296.765 + ], + "area": 61768.370335, + "iscrowd": 0 + }, + { + "id": 2576, + "image_id": 512, + "category_id": 0, + "bbox": [ + 0.365982, + 557.315, + 174.698, + 156.756 + ], + "area": 27384.959688000003, + "iscrowd": 0 + }, + { + "id": 2577, + "image_id": 512, + "category_id": 1, + "bbox": [ + 1226.37, + 380.218, + 53.2053, + 155.801 + ], + "area": 8289.4389453, + "iscrowd": 0 + }, + { + "id": 2578, + "image_id": 512, + "category_id": 1, + "bbox": [ + 1183.65, + 443.521, + 67.3041, + 95.5382 + ], + "area": 6430.1125666200005, + "iscrowd": 0 + }, + { + "id": 2579, + "image_id": 512, + "category_id": 0, + "bbox": [ + 216.424, + 543.183, + 82.0432, + 152.77 + ], + "area": 12533.739664, + "iscrowd": 0 + }, + { + "id": 2580, + "image_id": 512, + "category_id": 0, + "bbox": [ + 1232.06, + 442.75, + 46.6798, + 49.5088 + ], + "area": 2311.06088224, + "iscrowd": 0 + }, + { + "id": 2581, + "image_id": 513, + "category_id": 1, + "bbox": [ + 451.963, + 357.354, + 89.0969, + 263.388 + ], + "area": 23467.0542972, + "iscrowd": 0 + }, + { + "id": 2582, + "image_id": 514, + "category_id": 1, + "bbox": [ + 445.324, + 322.526, + 105.545, + 338.206 + ], + "area": 35695.95227, + "iscrowd": 0 + }, + { + "id": 2583, + "image_id": 514, + "category_id": 1, + "bbox": [ + 324.497, + 357.239, + 69.4583, + 243.622 + ], + "area": 16921.5699626, + "iscrowd": 0 + }, + { + "id": 2584, + "image_id": 514, + "category_id": 1, + "bbox": [ + 0.352468, + 349.179, + 97.6841, + 98.6239 + ], + "area": 9633.98690999, + "iscrowd": 0 + }, + { + "id": 2585, + "image_id": 514, + "category_id": 0, + "bbox": [ + 454.841, + 312.828, + 44.6897, + 62.5655 + ], + "area": 2796.03342535, + "iscrowd": 0 + }, + { + "id": 2586, + "image_id": 514, + "category_id": 0, + "bbox": [ + 47.669, + 394.262, + 48.6621, + 57.6 + ], + "area": 2802.93696, + "iscrowd": 0 + }, + { + "id": 2587, + "image_id": 515, + "category_id": 1, + "bbox": [ + 608.337, + 292.368, + 141.986, + 360.834 + ], + "area": 51233.376324, + "iscrowd": 0 + }, + { + "id": 2588, + "image_id": 515, + "category_id": 0, + "bbox": [ + 620.334, + 360.859, + 85.9188, + 100.525 + ], + "area": 8636.98737, + "iscrowd": 0 + }, + { + "id": 2589, + "image_id": 516, + "category_id": 1, + "bbox": [ + 33.8794, + 399.885, + 282.21, + 320.115 + ], + "area": 90339.65415, + "iscrowd": 0 + }, + { + "id": 2590, + "image_id": 516, + "category_id": 1, + "bbox": [ + 1225.34, + 379.96, + 54.25, + 151.175 + ], + "area": 8201.243750000001, + "iscrowd": 0 + }, + { + "id": 2591, + "image_id": 516, + "category_id": 1, + "bbox": [ + 1181.06, + 446.564, + 95.3186, + 122.043 + ], + "area": 11632.967899800002, + "iscrowd": 0 + }, + { + "id": 2592, + "image_id": 516, + "category_id": 0, + "bbox": [ + 1238.65, + 451.515, + 34.8207, + 58.9775 + ], + "area": 2053.63783425, + "iscrowd": 0 + }, + { + "id": 2593, + "image_id": 516, + "category_id": 0, + "bbox": [ + 193.157, + 540.722, + 118.362, + 179.278 + ], + "area": 21219.702635999998, + "iscrowd": 0 + }, + { + "id": 2596, + "image_id": 518, + "category_id": 1, + "bbox": [ + 449.338, + 351.419, + 115.247, + 342.271 + ], + "area": 39445.705937, + "iscrowd": 0 + }, + { + "id": 2597, + "image_id": 518, + "category_id": 1, + "bbox": [ + 366.563, + 359.791, + 87.1631, + 252.008 + ], + "area": 21965.7985048, + "iscrowd": 0 + }, + { + "id": 2598, + "image_id": 518, + "category_id": 1, + "bbox": [ + 60.733, + 355.139, + 85.6714, + 210.309 + ], + "area": 18017.4664626, + "iscrowd": 0 + }, + { + "id": 2599, + "image_id": 518, + "category_id": 0, + "bbox": [ + 473.413, + 318.759, + 66.1575, + 97.947 + ], + "area": 6479.9286525, + "iscrowd": 0 + }, + { + "id": 2600, + "image_id": 518, + "category_id": 0, + "bbox": [ + 117.631, + 410.221, + 46.2237, + 36.8711 + ], + "area": 1704.31866507, + "iscrowd": 0 + }, + { + "id": 2601, + "image_id": 519, + "category_id": 1, + "bbox": [ + 604.767, + 319.489, + 154.591, + 393.593 + ], + "area": 60845.93546300001, + "iscrowd": 0 + }, + { + "id": 2602, + "image_id": 519, + "category_id": 0, + "bbox": [ + 602.814, + 382.345, + 121.159, + 137.048 + ], + "area": 16604.598632, + "iscrowd": 0 + }, + { + "id": 2603, + "image_id": 520, + "category_id": 1, + "bbox": [ + 225.556, + 425.598, + 244.732, + 291.58 + ], + "area": 71358.95655999999, + "iscrowd": 0 + }, + { + "id": 2604, + "image_id": 520, + "category_id": 1, + "bbox": [ + 1223.06, + 379.779, + 56.5671, + 147.412 + ], + "area": 8338.6693452, + "iscrowd": 0 + }, + { + "id": 2605, + "image_id": 520, + "category_id": 0, + "bbox": [ + 24.0456, + 492.445, + 186.562, + 224.906 + ], + "area": 41958.913172, + "iscrowd": 0 + }, + { + "id": 2606, + "image_id": 520, + "category_id": 1, + "bbox": [ + 0.435638, + 390.585, + 206.079, + 325.068 + ], + "area": 66989.688372, + "iscrowd": 0 + }, + { + "id": 2607, + "image_id": 520, + "category_id": 0, + "bbox": [ + 362.122, + 541.768, + 94.7741, + 117.407 + ], + "area": 11127.1427587, + "iscrowd": 0 + }, + { + "id": 2608, + "image_id": 520, + "category_id": 0, + "bbox": [ + 1233.48, + 452.652, + 32.5344, + 28.2908 + ], + "area": 920.42420352, + "iscrowd": 0 + }, + { + "id": 2609, + "image_id": 520, + "category_id": 1, + "bbox": [ + 1199.53, + 446.994, + 63.6542, + 106.09 + ], + "area": 6753.074078000001, + "iscrowd": 0 + }, + { + "id": 2613, + "image_id": 522, + "category_id": 1, + "bbox": [ + 446.759, + 350.054, + 126.717, + 369.946 + ], + "area": 46878.447282, + "iscrowd": 0 + }, + { + "id": 2614, + "image_id": 522, + "category_id": 1, + "bbox": [ + 402.638, + 360.483, + 71.7587, + 251.854 + ], + "area": 18072.7156298, + "iscrowd": 0 + }, + { + "id": 2615, + "image_id": 522, + "category_id": 1, + "bbox": [ + 118.518, + 358.124, + 87.2691, + 221.747 + ], + "area": 19351.6611177, + "iscrowd": 0 + }, + { + "id": 2616, + "image_id": 522, + "category_id": 0, + "bbox": [ + 472.508, + 313.69, + 67.4576, + 104.493 + ], + "area": 7048.8469968, + "iscrowd": 0 + }, + { + "id": 2617, + "image_id": 522, + "category_id": 0, + "bbox": [ + 174.106, + 410.966, + 32.5353, + 46.5592 + ], + "area": 1514.8175397599998, + "iscrowd": 0 + }, + { + "id": 2620, + "image_id": 524, + "category_id": 1, + "bbox": [ + 333.039, + 421.593, + 242.138, + 298.407 + ], + "area": 72255.674166, + "iscrowd": 0 + }, + { + "id": 2621, + "image_id": 524, + "category_id": 0, + "bbox": [ + 19.0605, + 508.785, + 166.288, + 209.113 + ], + "area": 34772.982544, + "iscrowd": 0 + }, + { + "id": 2622, + "image_id": 524, + "category_id": 1, + "bbox": [ + 0.459433, + 387.648, + 111.764, + 327.602 + ], + "area": 36614.109928, + "iscrowd": 0 + }, + { + "id": 2623, + "image_id": 524, + "category_id": 1, + "bbox": [ + 1222.11, + 380.253, + 57.4751, + 128.564 + ], + "area": 7389.228756399999, + "iscrowd": 0 + }, + { + "id": 2624, + "image_id": 524, + "category_id": 1, + "bbox": [ + 1188.59, + 449.117, + 86.9409, + 120.705 + ], + "area": 10494.2013345, + "iscrowd": 0 + }, + { + "id": 2625, + "image_id": 524, + "category_id": 0, + "bbox": [ + 1237.97, + 451.359, + 42.0256, + 44.5931 + ], + "area": 1874.05178336, + "iscrowd": 0 + }, + { + "id": 2626, + "image_id": 525, + "category_id": 1, + "bbox": [ + 490.674, + 349.91, + 113.105, + 297.083 + ], + "area": 33601.572715, + "iscrowd": 0 + }, + { + "id": 2627, + "image_id": 525, + "category_id": 1, + "bbox": [ + 595.836, + 407.307, + 68.3315, + 233.249 + ], + "area": 15938.254043500001, + "iscrowd": 0 + }, + { + "id": 2628, + "image_id": 525, + "category_id": 0, + "bbox": [ + 603.807, + 437.959, + 68.5241, + 85.4069 + ], + "area": 5852.43095629, + "iscrowd": 0 + }, + { + "id": 2629, + "image_id": 526, + "category_id": 1, + "bbox": [ + 463.775, + 344.872, + 119.07, + 371.544 + ], + "area": 44239.74408, + "iscrowd": 0 + }, + { + "id": 2630, + "image_id": 526, + "category_id": 1, + "bbox": [ + 0.199592, + 354.055, + 49.9594, + 92.072 + ], + "area": 4599.861876800001, + "iscrowd": 0 + }, + { + "id": 2631, + "image_id": 526, + "category_id": 1, + "bbox": [ + 423.117, + 357.91, + 76.3717, + 269.55 + ], + "area": 20585.991735000003, + "iscrowd": 0 + }, + { + "id": 2632, + "image_id": 526, + "category_id": 0, + "bbox": [ + 482.358, + 299.882, + 77.7996, + 100.432 + ], + "area": 7813.5694272, + "iscrowd": 0 + }, + { + "id": 2633, + "image_id": 526, + "category_id": 1, + "bbox": [ + 189.548, + 387.583, + 41.0216, + 83.4578 + ], + "area": 3423.57248848, + "iscrowd": 0 + }, + { + "id": 2645, + "image_id": 530, + "category_id": 1, + "bbox": [ + 431.897, + 352.475, + 115.208, + 297.676 + ], + "area": 34294.656608, + "iscrowd": 0 + }, + { + "id": 2646, + "image_id": 530, + "category_id": 1, + "bbox": [ + 540.645, + 341.67, + 114.494, + 375.783 + ], + "area": 43024.898802, + "iscrowd": 0 + }, + { + "id": 2647, + "image_id": 530, + "category_id": 1, + "bbox": [ + 35.6586, + 363.093, + 91.887, + 205.439 + ], + "area": 18877.173393, + "iscrowd": 0 + }, + { + "id": 2648, + "image_id": 530, + "category_id": 1, + "bbox": [ + 254.632, + 362.256, + 85.5514, + 97.4379 + ], + "area": 8335.94875806, + "iscrowd": 0 + }, + { + "id": 2649, + "image_id": 530, + "category_id": 0, + "bbox": [ + 96.4531, + 428.734, + 28.3951, + 58.1423 + ], + "area": 1650.95642273, + "iscrowd": 0 + }, + { + "id": 2650, + "image_id": 530, + "category_id": 0, + "bbox": [ + 312.346, + 417.016, + 23.4372, + 34.2544 + ], + "area": 802.82722368, + "iscrowd": 0 + }, + { + "id": 2651, + "image_id": 530, + "category_id": 0, + "bbox": [ + 564.747, + 296.224, + 51.3816, + 117.637 + ], + "area": 6044.3772792, + "iscrowd": 0 + }, + { + "id": 2660, + "image_id": 533, + "category_id": 1, + "bbox": [ + 521.798, + 347.073, + 131.172, + 356.019 + ], + "area": 46699.724268, + "iscrowd": 0 + }, + { + "id": 2661, + "image_id": 533, + "category_id": 1, + "bbox": [ + 645.001, + 414.127, + 79.7222, + 271.725 + ], + "area": 21662.514795000003, + "iscrowd": 0 + }, + { + "id": 2662, + "image_id": 533, + "category_id": 0, + "bbox": [ + 657.435, + 438.952, + 74.4828, + 101.297 + ], + "area": 7544.884191599999, + "iscrowd": 0 + }, + { + "id": 2669, + "image_id": 535, + "category_id": 1, + "bbox": [ + 327.148, + 419.402, + 169.327, + 300.598 + ], + "area": 50899.357546, + "iscrowd": 0 + }, + { + "id": 2670, + "image_id": 535, + "category_id": 1, + "bbox": [ + 1189.64, + 442.125, + 89.7725, + 262.453 + ], + "area": 23561.061942499997, + "iscrowd": 0 + }, + { + "id": 2671, + "image_id": 535, + "category_id": 1, + "bbox": [ + 142.545, + 398.142, + 198.606, + 321.858 + ], + "area": 63922.929948, + "iscrowd": 0 + }, + { + "id": 2672, + "image_id": 535, + "category_id": 1, + "bbox": [ + 1217.8, + 370.832, + 62.2048, + 136.291 + ], + "area": 8477.9543968, + "iscrowd": 0 + }, + { + "id": 2673, + "image_id": 535, + "category_id": 0, + "bbox": [ + 322.174, + 502.285, + 58.0968, + 127.928 + ], + "area": 7432.2074304, + "iscrowd": 0 + }, + { + "id": 2677, + "image_id": 537, + "category_id": 1, + "bbox": [ + 446.382, + 352.184, + 128.803, + 348.369 + ], + "area": 44870.972307000004, + "iscrowd": 0 + }, + { + "id": 2678, + "image_id": 537, + "category_id": 1, + "bbox": [ + 741.025, + 348.324, + 151.478, + 367.875 + ], + "area": 55724.96925, + "iscrowd": 0 + }, + { + "id": 2679, + "image_id": 537, + "category_id": 1, + "bbox": [ + 371.054, + 365.128, + 93.1251, + 236.681 + ], + "area": 22040.941793100003, + "iscrowd": 0 + }, + { + "id": 2680, + "image_id": 537, + "category_id": 1, + "bbox": [ + 158.095, + 356.715, + 67.6923, + 105.447 + ], + "area": 7137.949958100001, + "iscrowd": 0 + }, + { + "id": 2681, + "image_id": 537, + "category_id": 0, + "bbox": [ + 768.662, + 271.117, + 66.5379, + 128.11 + ], + "area": 8524.170369, + "iscrowd": 0 + }, + { + "id": 2682, + "image_id": 537, + "category_id": 1, + "bbox": [ + 8.93793, + 348.579, + 57.6, + 89.3793 + ], + "area": 5148.24768, + "iscrowd": 0 + }, + { + "id": 2683, + "image_id": 537, + "category_id": 0, + "bbox": [ + 412.138, + 408.166, + 36.7448, + 64.5517 + ], + "area": 2371.93930616, + "iscrowd": 0 + }, + { + "id": 2684, + "image_id": 538, + "category_id": 1, + "bbox": [ + 331.328, + 408.102, + 227.764, + 308.989 + ], + "area": 70376.57059599999, + "iscrowd": 0 + }, + { + "id": 2685, + "image_id": 538, + "category_id": 1, + "bbox": [ + 206.437, + 414.413, + 169.998, + 303.51 + ], + "area": 51596.092979999994, + "iscrowd": 0 + }, + { + "id": 2686, + "image_id": 538, + "category_id": 1, + "bbox": [ + 1222.94, + 377.687, + 56.6074, + 111.916 + ], + "area": 6335.2737784, + "iscrowd": 0 + }, + { + "id": 2687, + "image_id": 538, + "category_id": 1, + "bbox": [ + 1192.16, + 440.152, + 87.2654, + 120.98 + ], + "area": 10557.368092, + "iscrowd": 0 + }, + { + "id": 2688, + "image_id": 538, + "category_id": 0, + "bbox": [ + 224.295, + 501.677, + 87.5945, + 183.152 + ], + "area": 16043.107863999998, + "iscrowd": 0 + }, + { + "id": 2693, + "image_id": 540, + "category_id": 1, + "bbox": [ + 450.329, + 352.61, + 139.607, + 362.702 + ], + "area": 50635.738114, + "iscrowd": 0 + }, + { + "id": 2694, + "image_id": 540, + "category_id": 1, + "bbox": [ + 824.069, + 351.128, + 183.527, + 364.697 + ], + "area": 66931.746319, + "iscrowd": 0 + }, + { + "id": 2695, + "image_id": 540, + "category_id": 1, + "bbox": [ + 52.3338, + 347.878, + 85.5585, + 215.114 + ], + "area": 18404.831169, + "iscrowd": 0 + }, + { + "id": 2696, + "image_id": 540, + "category_id": 1, + "bbox": [ + 241.794, + 361.095, + 43.9074, + 97.2916 + ], + "area": 4271.82119784, + "iscrowd": 0 + }, + { + "id": 2697, + "image_id": 540, + "category_id": 1, + "bbox": [ + 447.466, + 365.978, + 54.994, + 202.68 + ], + "area": 11146.18392, + "iscrowd": 0 + }, + { + "id": 2698, + "image_id": 540, + "category_id": 0, + "bbox": [ + 862.868, + 294.224, + 73.556, + 134.381 + ], + "area": 9884.528836, + "iscrowd": 0 + }, + { + "id": 2704, + "image_id": 542, + "category_id": 1, + "bbox": [ + 568.563, + 332.462, + 144.501, + 383.903 + ], + "area": 55474.367403000004, + "iscrowd": 0 + }, + { + "id": 2705, + "image_id": 542, + "category_id": 0, + "bbox": [ + 691.523, + 421.308, + 119.048, + 295.093 + ], + "area": 35130.231464000004, + "iscrowd": 0 + }, + { + "id": 2706, + "image_id": 542, + "category_id": 1, + "bbox": [ + 157.456, + 390.181, + 86.5566, + 74.8535 + ], + "area": 6479.0644581, + "iscrowd": 0 + }, + { + "id": 2707, + "image_id": 542, + "category_id": 0, + "bbox": [ + 711.062, + 420.083, + 73.4897, + 131.09 + ], + "area": 9633.764773, + "iscrowd": 0 + }, + { + "id": 2708, + "image_id": 542, + "category_id": 1, + "bbox": [ + 47.669, + 363.476, + 77.4621, + 85.4069 + ], + "area": 6615.79782849, + "iscrowd": 0 + }, + { + "id": 2709, + "image_id": 542, + "category_id": 0, + "bbox": [ + 169.821, + 409.159, + 58.5931, + 61.5724 + ], + "area": 3607.71779044, + "iscrowd": 0 + }, + { + "id": 2710, + "image_id": 542, + "category_id": 0, + "bbox": [ + 71.5034, + 393.269, + 67.531, + 50.6483 + ], + "area": 3420.3303473, + "iscrowd": 0 + }, + { + "id": 2711, + "image_id": 543, + "category_id": 1, + "bbox": [ + 430.713, + 346.462, + 171.85, + 368.673 + ], + "area": 63356.45505, + "iscrowd": 0 + }, + { + "id": 2712, + "image_id": 543, + "category_id": 1, + "bbox": [ + 842.742, + 331.098, + 248.058, + 380.909 + ], + "area": 94487.524722, + "iscrowd": 0 + }, + { + "id": 2713, + "image_id": 543, + "category_id": 1, + "bbox": [ + 102.687, + 350.831, + 93.3733, + 226.409 + ], + "area": 21140.5554797, + "iscrowd": 0 + }, + { + "id": 2714, + "image_id": 543, + "category_id": 1, + "bbox": [ + 288.508, + 366.451, + 92.0433, + 237.272 + ], + "area": 21839.297877599998, + "iscrowd": 0 + }, + { + "id": 2715, + "image_id": 543, + "category_id": 0, + "bbox": [ + 884.572, + 254.775, + 139.15, + 176.127 + ], + "area": 24508.072050000002, + "iscrowd": 0 + }, + { + "id": 2716, + "image_id": 544, + "category_id": 1, + "bbox": [ + 456.348, + 410.488, + 254.406, + 306.917 + ], + "area": 78081.526302, + "iscrowd": 0 + }, + { + "id": 2717, + "image_id": 544, + "category_id": 1, + "bbox": [ + 176.298, + 416.833, + 246.363, + 301.345 + ], + "area": 74240.258235, + "iscrowd": 0 + }, + { + "id": 2718, + "image_id": 544, + "category_id": 1, + "bbox": [ + 1224.73, + 378.029, + 54.7905, + 117.352 + ], + "area": 6429.774756000001, + "iscrowd": 0 + }, + { + "id": 2719, + "image_id": 544, + "category_id": 1, + "bbox": [ + 1186.42, + 443.562, + 93.041, + 143.212 + ], + "area": 13324.587692, + "iscrowd": 0 + }, + { + "id": 2720, + "image_id": 544, + "category_id": 0, + "bbox": [ + 234.813, + 520.55, + 113.163, + 186.719 + ], + "area": 21129.682197, + "iscrowd": 0 + }, + { + "id": 2721, + "image_id": 544, + "category_id": 0, + "bbox": [ + 438.507, + 533.281, + 77.7996, + 162.672 + ], + "area": 12655.8165312, + "iscrowd": 0 + }, + { + "id": 2722, + "image_id": 545, + "category_id": 1, + "bbox": [ + 591.699, + 328.612, + 142.085, + 387.329 + ], + "area": 55033.640965000006, + "iscrowd": 0 + }, + { + "id": 2723, + "image_id": 545, + "category_id": 1, + "bbox": [ + 203.525, + 392.851, + 90.1166, + 188.92 + ], + "area": 17024.828072, + "iscrowd": 0 + }, + { + "id": 2724, + "image_id": 545, + "category_id": 1, + "bbox": [ + 733.56, + 422.487, + 113.253, + 293.528 + ], + "area": 33242.926584, + "iscrowd": 0 + }, + { + "id": 2725, + "image_id": 545, + "category_id": 0, + "bbox": [ + 226.818, + 416.199, + 66.1358, + 50.9386 + ], + "area": 3368.86506188, + "iscrowd": 0 + }, + { + "id": 2726, + "image_id": 545, + "category_id": 0, + "bbox": [ + 660.104, + 427.7, + 99.7137, + 130.126 + ], + "area": 12975.344926200001, + "iscrowd": 0 + }, + { + "id": 2727, + "image_id": 546, + "category_id": 1, + "bbox": [ + 397.564, + 334.993, + 191.802, + 379.962 + ], + "area": 72877.471524, + "iscrowd": 0 + }, + { + "id": 2728, + "image_id": 546, + "category_id": 1, + "bbox": [ + 818.303, + 307.911, + 302.079, + 406.167 + ], + "area": 122694.521193, + "iscrowd": 0 + }, + { + "id": 2729, + "image_id": 546, + "category_id": 1, + "bbox": [ + 339.654, + 370.842, + 72.1397, + 232.856 + ], + "area": 16798.1619832, + "iscrowd": 0 + }, + { + "id": 2730, + "image_id": 546, + "category_id": 1, + "bbox": [ + 155.378, + 348.577, + 62.5386, + 113.849 + ], + "area": 7119.9570714, + "iscrowd": 0 + }, + { + "id": 2731, + "image_id": 546, + "category_id": 1, + "bbox": [ + 542.192, + 368.476, + 69.7839, + 234.159 + ], + "area": 16340.5282401, + "iscrowd": 0 + }, + { + "id": 2732, + "image_id": 546, + "category_id": 0, + "bbox": [ + 877.839, + 206.727, + 170.771, + 229.086 + ], + "area": 39121.245306, + "iscrowd": 0 + }, + { + "id": 2733, + "image_id": 546, + "category_id": 0, + "bbox": [ + 568.644, + 414.46, + 55.167, + 56.5815 + ], + "area": 3121.4316105, + "iscrowd": 0 + }, + { + "id": 2734, + "image_id": 546, + "category_id": 0, + "bbox": [ + 374.853, + 427.191, + 42.4361, + 50.9234 + ], + "area": 2160.99049474, + "iscrowd": 0 + }, + { + "id": 2741, + "image_id": 548, + "category_id": 1, + "bbox": [ + 586.236, + 319.637, + 179.279, + 396.285 + ], + "area": 71045.578515, + "iscrowd": 0 + }, + { + "id": 2742, + "image_id": 548, + "category_id": 1, + "bbox": [ + 719.264, + 422.686, + 162.91, + 294.349 + ], + "area": 47952.39559, + "iscrowd": 0 + }, + { + "id": 2743, + "image_id": 548, + "category_id": 1, + "bbox": [ + 0.168729, + 374.713, + 49.7589, + 232.507 + ], + "area": 11569.2925623, + "iscrowd": 0 + }, + { + "id": 2744, + "image_id": 548, + "category_id": 1, + "bbox": [ + 267.119, + 393.983, + 80.198, + 161.275 + ], + "area": 12933.93245, + "iscrowd": 0 + }, + { + "id": 2745, + "image_id": 548, + "category_id": 1, + "bbox": [ + 171.159, + 369.194, + 60.8251, + 202.279 + ], + "area": 12303.6404029, + "iscrowd": 0 + }, + { + "id": 2746, + "image_id": 548, + "category_id": 0, + "bbox": [ + 636.542, + 393.242, + 104.676, + 128.723 + ], + "area": 13474.208748000001, + "iscrowd": 0 + }, + { + "id": 2747, + "image_id": 549, + "category_id": 1, + "bbox": [ + 678.407, + 283.024, + 377.131, + 431.502 + ], + "area": 162732.78076199998, + "iscrowd": 0 + }, + { + "id": 2748, + "image_id": 549, + "category_id": 1, + "bbox": [ + 322.381, + 315.85, + 236.828, + 404.15 + ], + "area": 95714.0362, + "iscrowd": 0 + }, + { + "id": 2749, + "image_id": 549, + "category_id": 1, + "bbox": [ + 548.103, + 363.573, + 94.2295, + 263.137 + ], + "area": 24795.267941500002, + "iscrowd": 0 + }, + { + "id": 2750, + "image_id": 549, + "category_id": 0, + "bbox": [ + 723.982, + 157.935, + 218.986, + 276.055 + ], + "area": 60452.18023, + "iscrowd": 0 + }, + { + "id": 2751, + "image_id": 549, + "category_id": 0, + "bbox": [ + 575.972, + 422.485, + 53.9829, + 55.0362 + ], + "area": 2971.01368098, + "iscrowd": 0 + }, + { + "id": 2752, + "image_id": 550, + "category_id": 1, + "bbox": [ + 414.979, + 402.336, + 183.434, + 315.281 + ], + "area": 57833.254954, + "iscrowd": 0 + }, + { + "id": 2753, + "image_id": 550, + "category_id": 1, + "bbox": [ + 206.018, + 417.162, + 231.156, + 299.316 + ], + "area": 69188.689296, + "iscrowd": 0 + }, + { + "id": 2754, + "image_id": 550, + "category_id": 1, + "bbox": [ + 1223.91, + 378.211, + 55.553, + 82.7557 + ], + "area": 4597.3274021, + "iscrowd": 0 + }, + { + "id": 2755, + "image_id": 550, + "category_id": 0, + "bbox": [ + 348.579, + 517.407, + 75.4759, + 201.6 + ], + "area": 15215.941439999999, + "iscrowd": 0 + }, + { + "id": 2756, + "image_id": 550, + "category_id": 0, + "bbox": [ + 410.152, + 506.483, + 59.5862, + 89.3793 + ], + "area": 5325.77284566, + "iscrowd": 0 + }, + { + "id": 2757, + "image_id": 550, + "category_id": 1, + "bbox": [ + 1181.79, + 441.931, + 80.4414, + 133.076 + ], + "area": 10704.8197464, + "iscrowd": 0 + }, + { + "id": 2758, + "image_id": 550, + "category_id": 0, + "bbox": [ + 1236.3, + 440.938, + 43.6966, + 52.6345 + ], + "area": 2299.9486927, + "iscrowd": 0 + }, + { + "id": 2773, + "image_id": 553, + "category_id": 1, + "bbox": [ + 223.838, + 419.199, + 206.363, + 300.801 + ], + "area": 62074.196763, + "iscrowd": 0 + }, + { + "id": 2774, + "image_id": 553, + "category_id": 1, + "bbox": [ + 400.551, + 407.316, + 138.841, + 312.684 + ], + "area": 43413.35924400001, + "iscrowd": 0 + }, + { + "id": 2775, + "image_id": 553, + "category_id": 1, + "bbox": [ + 1224.66, + 378.151, + 55.0312, + 161.076 + ], + "area": 8864.2055712, + "iscrowd": 0 + }, + { + "id": 2776, + "image_id": 553, + "category_id": 1, + "bbox": [ + 1190.72, + 442.999, + 88.7306, + 150.063 + ], + "area": 13315.1800278, + "iscrowd": 0 + }, + { + "id": 2777, + "image_id": 553, + "category_id": 0, + "bbox": [ + 1238.29, + 443.494, + 41.7117, + 47.505 + ], + "area": 1981.5143085000002, + "iscrowd": 0 + }, + { + "id": 2778, + "image_id": 553, + "category_id": 0, + "bbox": [ + 369.004, + 543.421, + 65.1568, + 176.579 + ], + "area": 11505.322587200002, + "iscrowd": 0 + }, + { + "id": 2779, + "image_id": 554, + "category_id": 1, + "bbox": [ + 723.32, + 435.553, + 225.662, + 280.507 + ], + "area": 63299.770634, + "iscrowd": 0 + }, + { + "id": 2780, + "image_id": 554, + "category_id": 1, + "bbox": [ + 527.556, + 291.145, + 254.924, + 423.282 + ], + "area": 107904.740568, + "iscrowd": 0 + }, + { + "id": 2781, + "image_id": 554, + "category_id": 1, + "bbox": [ + 286.284, + 383.382, + 62.4849, + 85.77 + ], + "area": 5359.329873, + "iscrowd": 0 + }, + { + "id": 2782, + "image_id": 554, + "category_id": 1, + "bbox": [ + 387.061, + 395.542, + 60.7446, + 66.5067 + ], + "area": 4039.9228888199996, + "iscrowd": 0 + }, + { + "id": 2783, + "image_id": 554, + "category_id": 1, + "bbox": [ + 0.0691509, + 340.706, + 55.4564, + 106.748 + ], + "area": 5919.859787200001, + "iscrowd": 0 + }, + { + "id": 2784, + "image_id": 554, + "category_id": 0, + "bbox": [ + 576.0, + 359.503, + 145.986, + 134.069 + ], + "area": 19572.197033999997, + "iscrowd": 0 + }, + { + "id": 2785, + "image_id": 554, + "category_id": 1, + "bbox": [ + 405.186, + 418.097, + 47.669, + 44.6897 + ], + "area": 2130.3133093, + "iscrowd": 0 + }, + { + "id": 2786, + "image_id": 554, + "category_id": 1, + "bbox": [ + 39.7241, + 380.359, + 56.6069, + 101.297 + ], + "area": 5734.1091493, + "iscrowd": 0 + }, + { + "id": 2787, + "image_id": 555, + "category_id": 1, + "bbox": [ + 496.852, + 363.392, + 86.7129, + 194.105 + ], + "area": 16831.4074545, + "iscrowd": 0 + }, + { + "id": 2788, + "image_id": 555, + "category_id": 1, + "bbox": [ + 463.619, + 374.53, + 60.2813, + 145.005 + ], + "area": 8741.0899065, + "iscrowd": 0 + }, + { + "id": 2789, + "image_id": 555, + "category_id": 0, + "bbox": [ + 76.2418, + 1.75672, + 378.812, + 580.986 + ], + "area": 220084.468632, + "iscrowd": 0 + }, + { + "id": 2790, + "image_id": 555, + "category_id": 1, + "bbox": [ + 2.20928, + 74.4858, + 656.607, + 645.514 + ], + "area": 423849.010998, + "iscrowd": 0 + }, + { + "id": 2791, + "image_id": 555, + "category_id": 0, + "bbox": [ + 534.419, + 430.051, + 50.9386, + 65.2915 + ], + "area": 3325.8576019, + "iscrowd": 0 + }, + { + "id": 2792, + "image_id": 556, + "category_id": 1, + "bbox": [ + 281.158, + 433.126, + 241.283, + 286.874 + ], + "area": 69217.819342, + "iscrowd": 0 + }, + { + "id": 2793, + "image_id": 556, + "category_id": 1, + "bbox": [ + 1223.89, + 378.085, + 55.79, + 167.524 + ], + "area": 9346.16396, + "iscrowd": 0 + }, + { + "id": 2794, + "image_id": 556, + "category_id": 1, + "bbox": [ + 1179.81, + 437.959, + 97.3241, + 132.083 + ], + "area": 12854.8591003, + "iscrowd": 0 + }, + { + "id": 2795, + "image_id": 556, + "category_id": 0, + "bbox": [ + 1228.47, + 439.945, + 45.6828, + 47.669 + ], + "area": 2177.6533931999998, + "iscrowd": 0 + }, + { + "id": 2796, + "image_id": 556, + "category_id": 1, + "bbox": [ + 328.717, + 394.262, + 107.255, + 80.4414 + ], + "area": 8627.742357, + "iscrowd": 0 + }, + { + "id": 2797, + "image_id": 556, + "category_id": 0, + "bbox": [ + 431.007, + 536.276, + 95.3379, + 151.945 + ], + "area": 14486.1172155, + "iscrowd": 0 + }, + { + "id": 2798, + "image_id": 557, + "category_id": 1, + "bbox": [ + 478.382, + 268.543, + 277.458, + 446.906 + ], + "area": 123997.64494800002, + "iscrowd": 0 + }, + { + "id": 2799, + "image_id": 557, + "category_id": 1, + "bbox": [ + 681.859, + 452.432, + 246.208, + 265.031 + ], + "area": 65252.752448, + "iscrowd": 0 + }, + { + "id": 2800, + "image_id": 557, + "category_id": 1, + "bbox": [ + 362.669, + 379.262, + 47.8561, + 89.4983 + ], + "area": 4283.03959463, + "iscrowd": 0 + }, + { + "id": 2801, + "image_id": 557, + "category_id": 1, + "bbox": [ + 449.071, + 399.134, + 71.3144, + 203.164 + ], + "area": 14488.5187616, + "iscrowd": 0 + }, + { + "id": 2802, + "image_id": 557, + "category_id": 1, + "bbox": [ + 449.396, + 400.237, + 55.0212, + 180.157 + ], + "area": 9912.454328400001, + "iscrowd": 0 + }, + { + "id": 2803, + "image_id": 557, + "category_id": 0, + "bbox": [ + 516.414, + 356.524, + 197.628, + 243.31 + ], + "area": 48084.86868, + "iscrowd": 0 + }, + { + "id": 2804, + "image_id": 557, + "category_id": 0, + "bbox": [ + 462.786, + 425.048, + 50.6483, + 66.5379 + ], + "area": 3370.0315205699994, + "iscrowd": 0 + }, + { + "id": 2805, + "image_id": 557, + "category_id": 1, + "bbox": [ + 9.93103, + 345.6, + 80.4414, + 102.29 + ], + "area": 8228.350806, + "iscrowd": 0 + }, + { + "id": 2806, + "image_id": 558, + "category_id": 1, + "bbox": [ + 354.574, + 355.936, + 92.0972, + 251.309 + ], + "area": 23144.8552348, + "iscrowd": 0 + }, + { + "id": 2807, + "image_id": 558, + "category_id": 1, + "bbox": [ + 461.029, + 355.99, + 108.561, + 320.717 + ], + "area": 34817.358237, + "iscrowd": 0 + }, + { + "id": 2808, + "image_id": 558, + "category_id": 1, + "bbox": [ + 530.304, + 368.341, + 57.2122, + 260.226 + ], + "area": 14888.1019572, + "iscrowd": 0 + }, + { + "id": 2809, + "image_id": 558, + "category_id": 0, + "bbox": [ + 487.614, + 427.034, + 71.5034, + 75.4759 + ], + "area": 5396.78346806, + "iscrowd": 0 + }, + { + "id": 2810, + "image_id": 558, + "category_id": 0, + "bbox": [ + 558.124, + 436.966, + 42.7034, + 56.6069 + ], + "area": 2417.30709346, + "iscrowd": 0 + }, + { + "id": 2811, + "image_id": 559, + "category_id": 1, + "bbox": [ + 252.89, + 396.248, + 166.175, + 321.22 + ], + "area": 53378.73350000001, + "iscrowd": 0 + }, + { + "id": 2812, + "image_id": 559, + "category_id": 1, + "bbox": [ + 425.594, + 422.639, + 201.17, + 294.31 + ], + "area": 59206.342699999994, + "iscrowd": 0 + }, + { + "id": 2813, + "image_id": 559, + "category_id": 1, + "bbox": [ + 1223.75, + 378.76, + 55.9146, + 163.414 + ], + "area": 9137.2284444, + "iscrowd": 0 + }, + { + "id": 2814, + "image_id": 559, + "category_id": 1, + "bbox": [ + 1185.6, + 443.777, + 93.8286, + 259.337 + ], + "area": 24333.2276382, + "iscrowd": 0 + }, + { + "id": 2815, + "image_id": 559, + "category_id": 0, + "bbox": [ + 273.103, + 492.579, + 160.883, + 97.3241 + ], + "area": 15657.793180300001, + "iscrowd": 0 + }, + { + "id": 2816, + "image_id": 559, + "category_id": 0, + "bbox": [ + 1229.35, + 436.966, + 50.6483, + 64.5517 + ], + "area": 3269.43386711, + "iscrowd": 0 + }, + { + "id": 2817, + "image_id": 560, + "category_id": 1, + "bbox": [ + 508.328, + 456.628, + 280.683, + 258.263 + ], + "area": 72490.033629, + "iscrowd": 0 + }, + { + "id": 2818, + "image_id": 560, + "category_id": 1, + "bbox": [ + 369.604, + 230.797, + 362.478, + 478.682 + ], + "area": 173511.69399600002, + "iscrowd": 0 + }, + { + "id": 2819, + "image_id": 560, + "category_id": 1, + "bbox": [ + 52.5515, + 345.182, + 74.6119, + 99.5129 + ], + "area": 7424.846543510001, + "iscrowd": 0 + }, + { + "id": 2820, + "image_id": 560, + "category_id": 1, + "bbox": [ + 154.227, + 381.3, + 86.8198, + 172.519 + ], + "area": 14978.0650762, + "iscrowd": 0 + }, + { + "id": 2821, + "image_id": 560, + "category_id": 1, + "bbox": [ + 411.292, + 380.635, + 54.2656, + 79.1014 + ], + "area": 4292.48493184, + "iscrowd": 0 + }, + { + "id": 2822, + "image_id": 560, + "category_id": 0, + "bbox": [ + 374.4, + 349.572, + 202.593, + 296.938 + ], + "area": 60157.560234, + "iscrowd": 0 + }, + { + "id": 2823, + "image_id": 560, + "category_id": 0, + "bbox": [ + 203.586, + 407.172, + 50.6483, + 67.531 + ], + "area": 3420.3303473, + "iscrowd": 0 + }, + { + "id": 2824, + "image_id": 561, + "category_id": 1, + "bbox": [ + 372.69, + 356.458, + 81.7256, + 267.355 + ], + "area": 21849.747788, + "iscrowd": 0 + }, + { + "id": 2825, + "image_id": 561, + "category_id": 1, + "bbox": [ + 529.615, + 369.446, + 78.5671, + 272.317 + ], + "area": 21395.156970699998, + "iscrowd": 0 + }, + { + "id": 2826, + "image_id": 561, + "category_id": 1, + "bbox": [ + 443.086, + 353.69, + 115.896, + 350.52 + ], + "area": 40623.86592, + "iscrowd": 0 + }, + { + "id": 2827, + "image_id": 561, + "category_id": 0, + "bbox": [ + 487.614, + 435.972, + 57.6, + 66.5379 + ], + "area": 3832.5830399999995, + "iscrowd": 0 + }, + { + "id": 2828, + "image_id": 561, + "category_id": 0, + "bbox": [ + 571.034, + 429.021, + 40.7172, + 74.4828 + ], + "area": 3032.7310641599997, + "iscrowd": 0 + }, + { + "id": 2835, + "image_id": 563, + "category_id": 1, + "bbox": [ + 549.068, + 401.82, + 91.2559, + 213.039 + ], + "area": 19441.065680099997, + "iscrowd": 0 + }, + { + "id": 2836, + "image_id": 563, + "category_id": 1, + "bbox": [ + 75.0452, + 169.335, + 476.179, + 550.193 + ], + "area": 261990.352547, + "iscrowd": 0 + }, + { + "id": 2837, + "image_id": 563, + "category_id": 1, + "bbox": [ + 487.489, + 381.328, + 46.3377, + 88.7018 + ], + "area": 4110.23739786, + "iscrowd": 0 + }, + { + "id": 2838, + "image_id": 563, + "category_id": 1, + "bbox": [ + 570.041, + 415.117, + 63.5586, + 91.3655 + ], + "area": 5807.063268299999, + "iscrowd": 0 + }, + { + "id": 2839, + "image_id": 563, + "category_id": 1, + "bbox": [ + 130.097, + 345.6, + 45.6828, + 87.3931 + ], + "area": 3992.36150868, + "iscrowd": 0 + }, + { + "id": 2840, + "image_id": 563, + "category_id": 0, + "bbox": [ + 64.5517, + 351.559, + 200.607, + 310.841 + ], + "area": 62356.880487, + "iscrowd": 0 + }, + { + "id": 2841, + "image_id": 564, + "category_id": 1, + "bbox": [ + 352.569, + 352.666, + 92.4008, + 272.223 + ], + "area": 25153.622978400002, + "iscrowd": 0 + }, + { + "id": 2842, + "image_id": 564, + "category_id": 1, + "bbox": [ + 457.349, + 359.508, + 131.788, + 360.492 + ], + "area": 47508.519696, + "iscrowd": 0 + }, + { + "id": 2843, + "image_id": 564, + "category_id": 1, + "bbox": [ + 579.603, + 372.28, + 88.2736, + 268.893 + ], + "area": 23736.1531248, + "iscrowd": 0 + }, + { + "id": 2844, + "image_id": 564, + "category_id": 0, + "bbox": [ + 622.575, + 435.423, + 32.819, + 75.5155 + ], + "area": 2478.3431945, + "iscrowd": 0 + }, + { + "id": 2845, + "image_id": 564, + "category_id": 0, + "bbox": [ + 544.51, + 448.806, + 71.0547, + 74.8782 + ], + "area": 5320.44803754, + "iscrowd": 0 + }, + { + "id": 2846, + "image_id": 565, + "category_id": 1, + "bbox": [ + 515.829, + 430.23, + 155.301, + 289.77 + ], + "area": 45001.57076999999, + "iscrowd": 0 + }, + { + "id": 2847, + "image_id": 565, + "category_id": 1, + "bbox": [ + 308.653, + 408.825, + 183.503, + 311.175 + ], + "area": 57101.546024999996, + "iscrowd": 0 + }, + { + "id": 2848, + "image_id": 565, + "category_id": 0, + "bbox": [ + 407.447, + 496.369, + 78.9677, + 135.373 + ], + "area": 10690.094452099998, + "iscrowd": 0 + }, + { + "id": 2849, + "image_id": 565, + "category_id": 1, + "bbox": [ + 1184.76, + 444.387, + 95.2416, + 149.175 + ], + "area": 14207.665680000002, + "iscrowd": 0 + }, + { + "id": 2850, + "image_id": 565, + "category_id": 1, + "bbox": [ + 1228.68, + 369.579, + 51.3158, + 150.131 + ], + "area": 7704.092369800001, + "iscrowd": 0 + }, + { + "id": 2851, + "image_id": 565, + "category_id": 0, + "bbox": [ + 1234.62, + 444.645, + 45.3784, + 53.8604 + ], + "area": 2444.0987753599998, + "iscrowd": 0 + }, + { + "id": 2852, + "image_id": 566, + "category_id": 1, + "bbox": [ + 502.76, + 385.16, + 75.0441, + 245.495 + ], + "area": 18422.9513295, + "iscrowd": 0 + }, + { + "id": 2853, + "image_id": 566, + "category_id": 1, + "bbox": [ + 604.924, + 400.079, + 68.6449, + 221.768 + ], + "area": 15223.242183200002, + "iscrowd": 0 + }, + { + "id": 2854, + "image_id": 566, + "category_id": 1, + "bbox": [ + 174.347, + 346.895, + 103.469, + 230.031 + ], + "area": 23801.077538999998, + "iscrowd": 0 + }, + { + "id": 2855, + "image_id": 566, + "category_id": 1, + "bbox": [ + 0.570025, + 308.395, + 105.873, + 402.123 + ], + "area": 42573.968379, + "iscrowd": 0 + }, + { + "id": 2856, + "image_id": 566, + "category_id": 0, + "bbox": [ + 612.745, + 424.055, + 68.5241, + 88.3862 + ], + "area": 6056.58480742, + "iscrowd": 0 + }, + { + "id": 2857, + "image_id": 566, + "category_id": 1, + "bbox": [ + 282.041, + 384.331, + 37.7379, + 87.3931 + ], + "area": 3298.0320684900003, + "iscrowd": 0 + }, + { + "id": 2858, + "image_id": 566, + "category_id": 0, + "bbox": [ + 316.8, + 415.117, + 32.7724, + 57.6 + ], + "area": 1887.69024, + "iscrowd": 0 + }, + { + "id": 2859, + "image_id": 566, + "category_id": 0, + "bbox": [ + 508.469, + 405.186, + 41.7103, + 71.5034 + ], + "area": 2982.42826502, + "iscrowd": 0 + }, + { + "id": 2860, + "image_id": 567, + "category_id": 1, + "bbox": [ + 335.993, + 350.543, + 88.2883, + 301.165 + ], + "area": 26589.345869500004, + "iscrowd": 0 + }, + { + "id": 2861, + "image_id": 567, + "category_id": 1, + "bbox": [ + 550.014, + 356.093, + 118.831, + 361.525 + ], + "area": 42960.377275, + "iscrowd": 0 + }, + { + "id": 2862, + "image_id": 567, + "category_id": 1, + "bbox": [ + 14.5675, + 348.733, + 117.114, + 216.108 + ], + "area": 25309.272312, + "iscrowd": 0 + }, + { + "id": 2863, + "image_id": 567, + "category_id": 0, + "bbox": [ + 629.628, + 439.39, + 70.6572, + 84.6229 + ], + "area": 5979.21716988, + "iscrowd": 0 + }, + { + "id": 2864, + "image_id": 567, + "category_id": 1, + "bbox": [ + 634.227, + 366.637, + 44.9867, + 69.0209 + ], + "area": 3105.02252203, + "iscrowd": 0 + }, + { + "id": 2865, + "image_id": 568, + "category_id": 1, + "bbox": [ + 313.845, + 426.43, + 187.632, + 293.57 + ], + "area": 55083.12624, + "iscrowd": 0 + }, + { + "id": 2866, + "image_id": 568, + "category_id": 1, + "bbox": [ + 515.662, + 431.94, + 145.98, + 284.813 + ], + "area": 41577.00173999999, + "iscrowd": 0 + }, + { + "id": 2867, + "image_id": 568, + "category_id": 1, + "bbox": [ + 1185.2, + 442.68, + 94.2815, + 82.7346 + ], + "area": 7800.3421898999995, + "iscrowd": 0 + }, + { + "id": 2868, + "image_id": 568, + "category_id": 1, + "bbox": [ + 1227.06, + 379.084, + 52.5264, + 158.256 + ], + "area": 8312.6179584, + "iscrowd": 0 + }, + { + "id": 2869, + "image_id": 568, + "category_id": 0, + "bbox": [ + 427.034, + 501.517, + 56.6069, + 86.4 + ], + "area": 4890.836160000001, + "iscrowd": 0 + }, + { + "id": 2870, + "image_id": 568, + "category_id": 0, + "bbox": [ + 513.435, + 519.393, + 38.731, + 56.6069 + ], + "area": 2192.4418439, + "iscrowd": 0 + }, + { + "id": 2871, + "image_id": 568, + "category_id": 0, + "bbox": [ + 1223.39, + 428.028, + 56.6069, + 74.4828 + ], + "area": 4216.24041132, + "iscrowd": 0 + }, + { + "id": 2872, + "image_id": 569, + "category_id": 1, + "bbox": [ + 633.704, + 403.241, + 75.2566, + 234.24 + ], + "area": 17628.105984, + "iscrowd": 0 + }, + { + "id": 2873, + "image_id": 569, + "category_id": 1, + "bbox": [ + 535.775, + 386.0, + 92.9441, + 256.125 + ], + "area": 23805.3076125, + "iscrowd": 0 + }, + { + "id": 2874, + "image_id": 569, + "category_id": 1, + "bbox": [ + 236.53, + 347.602, + 57.6786, + 235.947 + ], + "area": 13609.0926342, + "iscrowd": 0 + }, + { + "id": 2875, + "image_id": 569, + "category_id": 1, + "bbox": [ + 362.695, + 388.427, + 48.0695, + 80.927 + ], + "area": 3890.1204265, + "iscrowd": 0 + }, + { + "id": 2876, + "image_id": 569, + "category_id": 0, + "bbox": [ + 643.531, + 422.069, + 67.531, + 100.303 + ], + "area": 6773.561893, + "iscrowd": 0 + }, + { + "id": 2877, + "image_id": 569, + "category_id": 0, + "bbox": [ + 379.366, + 412.138, + 36.7448, + 52.6345 + ], + "area": 1934.0441756, + "iscrowd": 0 + }, + { + "id": 2878, + "image_id": 569, + "category_id": 0, + "bbox": [ + 542.234, + 413.131, + 42.7034, + 71.5034 + ], + "area": 3053.43829156, + "iscrowd": 0 + }, + { + "id": 2879, + "image_id": 570, + "category_id": 1, + "bbox": [ + 625.163, + 349.725, + 140.159, + 367.149 + ], + "area": 51459.236691, + "iscrowd": 0 + }, + { + "id": 2880, + "image_id": 570, + "category_id": 1, + "bbox": [ + 286.121, + 348.203, + 112.697, + 318.923 + ], + "area": 35941.665331000004, + "iscrowd": 0 + }, + { + "id": 2881, + "image_id": 570, + "category_id": 1, + "bbox": [ + 119.284, + 351.398, + 70.7183, + 229.205 + ], + "area": 16208.987951500001, + "iscrowd": 0 + }, + { + "id": 2882, + "image_id": 570, + "category_id": 0, + "bbox": [ + 710.069, + 435.972, + 67.531, + 84.4138 + ], + "area": 5700.5483278, + "iscrowd": 0 + }, + { + "id": 2883, + "image_id": 570, + "category_id": 1, + "bbox": [ + 637.572, + 371.421, + 36.7448, + 51.6414 + ], + "area": 1897.5529147199998, + "iscrowd": 0 + }, + { + "id": 2884, + "image_id": 571, + "category_id": 1, + "bbox": [ + 499.48, + 448.817, + 171.687, + 268.88 + ], + "area": 46163.200560000005, + "iscrowd": 0 + }, + { + "id": 2885, + "image_id": 571, + "category_id": 1, + "bbox": [ + 320.767, + 414.529, + 179.017, + 301.885 + ], + "area": 54042.547045, + "iscrowd": 0 + }, + { + "id": 2886, + "image_id": 571, + "category_id": 1, + "bbox": [ + 1225.45, + 378.868, + 54.134, + 132.978 + ], + "area": 7198.631052000001, + "iscrowd": 0 + }, + { + "id": 2887, + "image_id": 571, + "category_id": 0, + "bbox": [ + 422.069, + 492.579, + 53.6276, + 140.028 + ], + "area": 7509.365572799999, + "iscrowd": 0 + }, + { + "id": 2888, + "image_id": 571, + "category_id": 0, + "bbox": [ + 508.469, + 532.303, + 52.6345, + 98.3172 + ], + "area": 5174.8766634, + "iscrowd": 0 + }, + { + "id": 2889, + "image_id": 571, + "category_id": 0, + "bbox": [ + 1228.47, + 426.041, + 41.7103, + 53.6276 + ], + "area": 2236.82328428, + "iscrowd": 0 + }, + { + "id": 2890, + "image_id": 571, + "category_id": 1, + "bbox": [ + 1177.82, + 439.945, + 102.179, + 139.034 + ], + "area": 14206.355086, + "iscrowd": 0 + }, + { + "id": 2891, + "image_id": 572, + "category_id": 1, + "bbox": [ + 663.248, + 406.275, + 89.5601, + 247.581 + ], + "area": 22173.3791181, + "iscrowd": 0 + }, + { + "id": 2892, + "image_id": 572, + "category_id": 1, + "bbox": [ + 563.742, + 382.391, + 94.9221, + 276.547 + ], + "area": 26250.421988700004, + "iscrowd": 0 + }, + { + "id": 2893, + "image_id": 572, + "category_id": 1, + "bbox": [ + 300.519, + 384.402, + 47.8274, + 84.8776 + ], + "area": 4059.4749262399996, + "iscrowd": 0 + }, + { + "id": 2894, + "image_id": 572, + "category_id": 0, + "bbox": [ + 675.31, + 427.034, + 70.5103, + 95.3379 + ], + "area": 6722.303930370001, + "iscrowd": 0 + }, + { + "id": 2895, + "image_id": 572, + "category_id": 0, + "bbox": [ + 566.069, + 408.166, + 51.6414, + 73.4897 + ], + "area": 3795.1109935799996, + "iscrowd": 0 + }, + { + "id": 2896, + "image_id": 573, + "category_id": 1, + "bbox": [ + 231.233, + 341.555, + 118.718, + 332.552 + ], + "area": 39479.908336, + "iscrowd": 0 + }, + { + "id": 2897, + "image_id": 573, + "category_id": 1, + "bbox": [ + 653.429, + 369.716, + 91.2549, + 285.611 + ], + "area": 26063.4032439, + "iscrowd": 0 + }, + { + "id": 2898, + "image_id": 573, + "category_id": 1, + "bbox": [ + 680.261, + 356.847, + 151.794, + 360.047 + ], + "area": 54652.97431800001, + "iscrowd": 0 + }, + { + "id": 2899, + "image_id": 573, + "category_id": 0, + "bbox": [ + 775.663, + 458.394, + 86.2217, + 107.378 + ], + "area": 9258.3137026, + "iscrowd": 0 + }, + { + "id": 2907, + "image_id": 575, + "category_id": 1, + "bbox": [ + 688.633, + 408.201, + 90.6948, + 274.885 + ], + "area": 24930.640098, + "iscrowd": 0 + }, + { + "id": 2908, + "image_id": 575, + "category_id": 1, + "bbox": [ + 573.579, + 379.718, + 95.7231, + 295.867 + ], + "area": 28321.3064277, + "iscrowd": 0 + }, + { + "id": 2909, + "image_id": 575, + "category_id": 1, + "bbox": [ + 453.68, + 394.644, + 94.951, + 213.361 + ], + "area": 20258.840310999996, + "iscrowd": 0 + }, + { + "id": 2910, + "image_id": 575, + "category_id": 1, + "bbox": [ + 370.837, + 352.743, + 59.4222, + 116.717 + ], + "area": 6935.5809174, + "iscrowd": 0 + }, + { + "id": 2911, + "image_id": 575, + "category_id": 0, + "bbox": [ + 689.214, + 441.931, + 78.4552, + 97.3241 + ], + "area": 7635.581730320001, + "iscrowd": 0 + }, + { + "id": 2912, + "image_id": 575, + "category_id": 0, + "bbox": [ + 576.0, + 413.131, + 68.5241, + 70.5103 + ], + "area": 4831.65484823, + "iscrowd": 0 + }, + { + "id": 2913, + "image_id": 575, + "category_id": 0, + "bbox": [ + 503.503, + 421.076, + 48.6621, + 59.5862 + ], + "area": 2899.58962302, + "iscrowd": 0 + }, + { + "id": 2914, + "image_id": 576, + "category_id": 1, + "bbox": [ + 158.066, + 336.386, + 148.174, + 372.083 + ], + "area": 55133.02644200001, + "iscrowd": 0 + }, + { + "id": 2915, + "image_id": 576, + "category_id": 1, + "bbox": [ + 322.31, + 360.835, + 77.6716, + 242.579 + ], + "area": 18841.4990564, + "iscrowd": 0 + }, + { + "id": 2916, + "image_id": 576, + "category_id": 1, + "bbox": [ + 647.676, + 367.312, + 96.2014, + 284.971 + ], + "area": 27414.609159400003, + "iscrowd": 0 + }, + { + "id": 2917, + "image_id": 576, + "category_id": 1, + "bbox": [ + 714.179, + 354.45, + 167.738, + 360.3 + ], + "area": 60436.0014, + "iscrowd": 0 + }, + { + "id": 2918, + "image_id": 576, + "category_id": 0, + "bbox": [ + 757.738, + 458.814, + 120.166, + 133.076 + ], + "area": 15991.210615999998, + "iscrowd": 0 + }, + { + "id": 2926, + "image_id": 578, + "category_id": 1, + "bbox": [ + 700.606, + 407.836, + 101.758, + 298.928 + ], + "area": 30418.315423999997, + "iscrowd": 0 + }, + { + "id": 2927, + "image_id": 578, + "category_id": 1, + "bbox": [ + 513.377, + 396.076, + 98.8602, + 219.015 + ], + "area": 21651.866703, + "iscrowd": 0 + }, + { + "id": 2928, + "image_id": 578, + "category_id": 1, + "bbox": [ + 431.141, + 357.042, + 73.0706, + 243.095 + ], + "area": 17763.097507, + "iscrowd": 0 + }, + { + "id": 2929, + "image_id": 578, + "category_id": 1, + "bbox": [ + 583.563, + 381.213, + 109.41, + 326.33 + ], + "area": 35703.7653, + "iscrowd": 0 + }, + { + "id": 2930, + "image_id": 578, + "category_id": 0, + "bbox": [ + 702.124, + 442.924, + 79.4483, + 109.241 + ], + "area": 8679.0117403, + "iscrowd": 0 + }, + { + "id": 2931, + "image_id": 578, + "category_id": 0, + "bbox": [ + 584.938, + 405.186, + 78.4552, + 77.4621 + ], + "area": 6077.304547920001, + "iscrowd": 0 + }, + { + "id": 2932, + "image_id": 579, + "category_id": 1, + "bbox": [ + 385.243, + 360.512, + 93.5359, + 249.38 + ], + "area": 23325.982742, + "iscrowd": 0 + }, + { + "id": 2933, + "image_id": 579, + "category_id": 1, + "bbox": [ + 75.686, + 336.001, + 144.435, + 380.274 + ], + "area": 54924.87519, + "iscrowd": 0 + }, + { + "id": 2934, + "image_id": 579, + "category_id": 1, + "bbox": [ + 667.261, + 343.365, + 129.345, + 372.101 + ], + "area": 48129.403845, + "iscrowd": 0 + }, + { + "id": 2935, + "image_id": 579, + "category_id": 1, + "bbox": [ + 643.887, + 380.545, + 80.6218, + 279.526 + ], + "area": 22535.8892668, + "iscrowd": 0 + }, + { + "id": 2936, + "image_id": 579, + "category_id": 0, + "bbox": [ + 672.331, + 428.028, + 65.5448, + 119.172 + ], + "area": 7811.104905599999, + "iscrowd": 0 + }, + { + "id": 2937, + "image_id": 580, + "category_id": 1, + "bbox": [ + 485.94, + 424.605, + 127.42, + 293.675 + ], + "area": 37420.0685, + "iscrowd": 0 + }, + { + "id": 2938, + "image_id": 580, + "category_id": 1, + "bbox": [ + 1222.84, + 378.279, + 56.8311, + 155.109 + ], + "area": 8815.0150899, + "iscrowd": 0 + }, + { + "id": 2939, + "image_id": 580, + "category_id": 1, + "bbox": [ + 1167.48, + 444.247, + 112.066, + 137.807 + ], + "area": 15443.479261999999, + "iscrowd": 0 + }, + { + "id": 2940, + "image_id": 580, + "category_id": 0, + "bbox": [ + 177.71, + 521.579, + 152.565, + 166.641 + ], + "area": 25423.584164999997, + "iscrowd": 0 + }, + { + "id": 2941, + "image_id": 580, + "category_id": 1, + "bbox": [ + 160.187, + 397.525, + 171.743, + 321.076 + ], + "area": 55142.555468, + "iscrowd": 0 + }, + { + "id": 2942, + "image_id": 580, + "category_id": 0, + "bbox": [ + 478.676, + 486.621, + 59.5862, + 119.172 + ], + "area": 7101.0066264, + "iscrowd": 0 + }, + { + "id": 2943, + "image_id": 580, + "category_id": 0, + "bbox": [ + 1209.6, + 435.972, + 65.5448, + 56.6069 + ], + "area": 3710.28793912, + "iscrowd": 0 + }, + { + "id": 2944, + "image_id": 581, + "category_id": 1, + "bbox": [ + 708.057, + 405.526, + 114.764, + 309.69 + ], + "area": 35541.263159999995, + "iscrowd": 0 + }, + { + "id": 2945, + "image_id": 581, + "category_id": 1, + "bbox": [ + 467.166, + 355.633, + 89.4807, + 261.73 + ], + "area": 23419.783611000003, + "iscrowd": 0 + }, + { + "id": 2946, + "image_id": 581, + "category_id": 1, + "bbox": [ + 576.875, + 383.336, + 122.64, + 331.932 + ], + "area": 40708.14048, + "iscrowd": 0 + }, + { + "id": 2947, + "image_id": 581, + "category_id": 0, + "bbox": [ + 710.069, + 440.938, + 85.4069, + 127.117 + ], + "area": 10856.6689073, + "iscrowd": 0 + }, + { + "id": 2948, + "image_id": 581, + "category_id": 0, + "bbox": [ + 571.034, + 421.076, + 82.4276, + 104.276 + ], + "area": 8595.2204176, + "iscrowd": 0 + }, + { + "id": 2949, + "image_id": 581, + "category_id": 1, + "bbox": [ + 588.91, + 377.379, + 29.7931, + 254.234 + ], + "area": 7574.4189854, + "iscrowd": 0 + }, + { + "id": 2955, + "image_id": 583, + "category_id": 1, + "bbox": [ + 389.581, + 419.284, + 137.124, + 297.826 + ], + "area": 40839.092424, + "iscrowd": 0 + }, + { + "id": 2956, + "image_id": 583, + "category_id": 0, + "bbox": [ + 173.326, + 530.674, + 178.682, + 187.447 + ], + "area": 33493.404854, + "iscrowd": 0 + }, + { + "id": 2957, + "image_id": 583, + "category_id": 1, + "bbox": [ + 1221.6, + 378.624, + 58.0723, + 154.192 + ], + "area": 8954.2840816, + "iscrowd": 0 + }, + { + "id": 2958, + "image_id": 583, + "category_id": 1, + "bbox": [ + 56.3366, + 385.583, + 279.19, + 328.59 + ], + "area": 91739.04209999999, + "iscrowd": 0 + }, + { + "id": 2959, + "image_id": 583, + "category_id": 1, + "bbox": [ + 1174.75, + 444.117, + 104.609, + 138.75 + ], + "area": 14514.498749999999, + "iscrowd": 0 + }, + { + "id": 2960, + "image_id": 583, + "category_id": 0, + "bbox": [ + 377.379, + 479.669, + 75.4759, + 144.993 + ], + "area": 10943.4771687, + "iscrowd": 0 + }, + { + "id": 2961, + "image_id": 583, + "category_id": 0, + "bbox": [ + 1220.41, + 435.972, + 59.5862, + 65.5448 + ], + "area": 3905.5655617599996, + "iscrowd": 0 + }, + { + "id": 2962, + "image_id": 584, + "category_id": 1, + "bbox": [ + 721.196, + 407.914, + 123.868, + 308.014 + ], + "area": 38153.078152, + "iscrowd": 0 + }, + { + "id": 2963, + "image_id": 584, + "category_id": 1, + "bbox": [ + 498.497, + 357.679, + 90.3507, + 277.052 + ], + "area": 25031.842136400002, + "iscrowd": 0 + }, + { + "id": 2964, + "image_id": 584, + "category_id": 1, + "bbox": [ + 572.665, + 380.965, + 126.348, + 332.901 + ], + "area": 42061.375548, + "iscrowd": 0 + }, + { + "id": 2965, + "image_id": 584, + "category_id": 1, + "bbox": [ + 669.887, + 398.345, + 58.7671, + 222.96 + ], + "area": 13102.712616, + "iscrowd": 0 + }, + { + "id": 2966, + "image_id": 584, + "category_id": 0, + "bbox": [ + 727.945, + 446.897, + 99.3103, + 143.007 + ], + "area": 14202.0680721, + "iscrowd": 0 + }, + { + "id": 2967, + "image_id": 584, + "category_id": 0, + "bbox": [ + 573.021, + 422.069, + 88.3862, + 88.3862 + ], + "area": 7812.12035044, + "iscrowd": 0 + }, + { + "id": 2968, + "image_id": 584, + "category_id": 0, + "bbox": [ + 691.2, + 418.097, + 54.6207, + 77.4621 + ], + "area": 4231.034125470001, + "iscrowd": 0 + }, + { + "id": 2969, + "image_id": 585, + "category_id": 1, + "bbox": [ + 402.245, + 359.963, + 121.696, + 308.2 + ], + "area": 37506.7072, + "iscrowd": 0 + }, + { + "id": 2970, + "image_id": 585, + "category_id": 1, + "bbox": [ + 41.4801, + 327.895, + 163.637, + 387.375 + ], + "area": 63388.882875, + "iscrowd": 0 + }, + { + "id": 2971, + "image_id": 585, + "category_id": 1, + "bbox": [ + 559.551, + 341.94, + 143.658, + 373.583 + ], + "area": 53668.186614, + "iscrowd": 0 + }, + { + "id": 2972, + "image_id": 585, + "category_id": 1, + "bbox": [ + 1111.42, + 274.821, + 167.961, + 436.945 + ], + "area": 73389.71914500001, + "iscrowd": 0 + }, + { + "id": 2973, + "image_id": 585, + "category_id": 1, + "bbox": [ + 618.703, + 366.455, + 26.8138, + 51.6414 + ], + "area": 1384.70217132, + "iscrowd": 0 + }, + { + "id": 2974, + "image_id": 585, + "category_id": 0, + "bbox": [ + 642.538, + 435.972, + 66.5379, + 128.11 + ], + "area": 8524.170369, + "iscrowd": 0 + }, + { + "id": 2975, + "image_id": 586, + "category_id": 1, + "bbox": [ + 101.422, + 384.608, + 209.085, + 331.913 + ], + "area": 69398.029605, + "iscrowd": 0 + }, + { + "id": 2976, + "image_id": 586, + "category_id": 1, + "bbox": [ + 302.071, + 419.854, + 151.69, + 296.74 + ], + "area": 45012.4906, + "iscrowd": 0 + }, + { + "id": 2977, + "image_id": 586, + "category_id": 1, + "bbox": [ + 1221.59, + 378.626, + 58.084, + 154.237 + ], + "area": 8958.701908000001, + "iscrowd": 0 + }, + { + "id": 2978, + "image_id": 586, + "category_id": 1, + "bbox": [ + 1170.6, + 443.423, + 108.659, + 138.231 + ], + "area": 15020.042229, + "iscrowd": 0 + }, + { + "id": 2979, + "image_id": 586, + "category_id": 0, + "bbox": [ + 284.028, + 518.4, + 125.131, + 150.952 + ], + "area": 18888.774712, + "iscrowd": 0 + }, + { + "id": 2980, + "image_id": 586, + "category_id": 0, + "bbox": [ + 1226.37, + 432.993, + 53.6276, + 58.5931 + ], + "area": 3142.20732956, + "iscrowd": 0 + }, + { + "id": 2981, + "image_id": 587, + "category_id": 1, + "bbox": [ + 522.921, + 354.535, + 98.8894, + 298.051 + ], + "area": 29474.0845594, + "iscrowd": 0 + }, + { + "id": 2982, + "image_id": 587, + "category_id": 1, + "bbox": [ + 548.199, + 375.588, + 164.487, + 340.555 + ], + "area": 56016.870285, + "iscrowd": 0 + }, + { + "id": 2983, + "image_id": 587, + "category_id": 1, + "bbox": [ + 687.469, + 397.131, + 68.0002, + 253.374 + ], + "area": 17229.4826748, + "iscrowd": 0 + }, + { + "id": 2984, + "image_id": 587, + "category_id": 1, + "bbox": [ + 746.37, + 407.809, + 152.189, + 307.303 + ], + "area": 46768.136266999994, + "iscrowd": 0 + }, + { + "id": 2985, + "image_id": 587, + "category_id": 0, + "bbox": [ + 742.401, + 456.125, + 125.263, + 159.98 + ], + "area": 20039.57474, + "iscrowd": 0 + }, + { + "id": 2986, + "image_id": 587, + "category_id": 0, + "bbox": [ + 720.0, + 427.034, + 56.6069, + 62.5655 + ], + "area": 3541.6390019500004, + "iscrowd": 0 + }, + { + "id": 2987, + "image_id": 587, + "category_id": 0, + "bbox": [ + 538.262, + 425.048, + 114.207, + 75.4759 + ], + "area": 8619.876111299998, + "iscrowd": 0 + }, + { + "id": 2988, + "image_id": 588, + "category_id": 1, + "bbox": [ + 67.0279, + 323.998, + 187.336, + 391.007 + ], + "area": 73249.68735200001, + "iscrowd": 0 + }, + { + "id": 2989, + "image_id": 588, + "category_id": 1, + "bbox": [ + 837.411, + 164.738, + 293.383, + 549.068 + ], + "area": 161087.217044, + "iscrowd": 0 + }, + { + "id": 2990, + "image_id": 588, + "category_id": 1, + "bbox": [ + 455.484, + 320.69, + 266.139, + 393.843 + ], + "area": 104816.98217700001, + "iscrowd": 0 + }, + { + "id": 2991, + "image_id": 588, + "category_id": 1, + "bbox": [ + 388.402, + 357.351, + 114.232, + 352.706 + ], + "area": 40290.311792, + "iscrowd": 0 + }, + { + "id": 2992, + "image_id": 588, + "category_id": 0, + "bbox": [ + 582.952, + 466.759, + 139.034, + 151.945 + ], + "area": 21125.521129999997, + "iscrowd": 0 + }, + { + "id": 2993, + "image_id": 588, + "category_id": 0, + "bbox": [ + 908.69, + 155.917, + 180.745, + 266.152 + ], + "area": 48105.64324, + "iscrowd": 0 + }, + { + "id": 3001, + "image_id": 590, + "category_id": 1, + "bbox": [ + 527.994, + 367.564, + 173.402, + 348.486 + ], + "area": 60428.169372, + "iscrowd": 0 + }, + { + "id": 3002, + "image_id": 590, + "category_id": 1, + "bbox": [ + 704.495, + 398.375, + 83.9822, + 255.586 + ], + "area": 21464.674569200004, + "iscrowd": 0 + }, + { + "id": 3003, + "image_id": 590, + "category_id": 1, + "bbox": [ + 556.714, + 347.545, + 79.3838, + 84.1936 + ], + "area": 6683.60790368, + "iscrowd": 0 + }, + { + "id": 3004, + "image_id": 590, + "category_id": 0, + "bbox": [ + 748.988, + 470.161, + 145.121, + 170.815 + ], + "area": 24788.843615, + "iscrowd": 0 + }, + { + "id": 3005, + "image_id": 590, + "category_id": 1, + "bbox": [ + 772.292, + 413.479, + 150.625, + 302.548 + ], + "area": 45571.2925, + "iscrowd": 0 + }, + { + "id": 3006, + "image_id": 590, + "category_id": 0, + "bbox": [ + 522.372, + 418.097, + 107.255, + 130.097 + ], + "area": 13953.553735, + "iscrowd": 0 + }, + { + "id": 3007, + "image_id": 591, + "category_id": 1, + "bbox": [ + 83.6741, + 312.311, + 166.05, + 407.689 + ], + "area": 67696.75845000001, + "iscrowd": 0 + }, + { + "id": 3008, + "image_id": 591, + "category_id": 1, + "bbox": [ + 419.261, + 328.616, + 224.22, + 391.384 + ], + "area": 87756.12048, + "iscrowd": 0 + }, + { + "id": 3009, + "image_id": 591, + "category_id": 1, + "bbox": [ + 364.019, + 355.189, + 103.627, + 319.995 + ], + "area": 33160.121865, + "iscrowd": 0 + }, + { + "id": 3010, + "image_id": 591, + "category_id": 1, + "bbox": [ + 698.466, + 345.57, + 226.442, + 374.43 + ], + "area": 84786.67806, + "iscrowd": 0 + }, + { + "id": 3011, + "image_id": 591, + "category_id": 1, + "bbox": [ + 20.0871, + 365.662, + 65.3353, + 88.5837 + ], + "area": 5787.64261461, + "iscrowd": 0 + }, + { + "id": 3012, + "image_id": 591, + "category_id": 0, + "bbox": [ + 494.033, + 488.019, + 164.105, + 176.993 + ], + "area": 29045.436264999997, + "iscrowd": 0 + }, + { + "id": 3013, + "image_id": 591, + "category_id": 0, + "bbox": [ + 743.198, + 230.263, + 131.456, + 211.36 + ], + "area": 27784.54016, + "iscrowd": 0 + }, + { + "id": 3014, + "image_id": 591, + "category_id": 0, + "bbox": [ + 65.3278, + 385.427, + 38.0842, + 47.9329 + ], + "area": 1825.48615018, + "iscrowd": 0 + }, + { + "id": 3015, + "image_id": 592, + "category_id": 1, + "bbox": [ + 395.07, + 400.744, + 215.336, + 315.899 + ], + "area": 68024.427064, + "iscrowd": 0 + }, + { + "id": 3016, + "image_id": 592, + "category_id": 1, + "bbox": [ + 181.823, + 414.331, + 226.739, + 303.31 + ], + "area": 68772.20609, + "iscrowd": 0 + }, + { + "id": 3017, + "image_id": 592, + "category_id": 0, + "bbox": [ + 548.332, + 529.792, + 140.333, + 188.081 + ], + "area": 26393.970973, + "iscrowd": 0 + }, + { + "id": 3018, + "image_id": 592, + "category_id": 1, + "bbox": [ + 1221.73, + 378.231, + 57.957, + 160.792 + ], + "area": 9319.021944, + "iscrowd": 0 + }, + { + "id": 3019, + "image_id": 592, + "category_id": 1, + "bbox": [ + 1179.06, + 443.638, + 100.463, + 141.822 + ], + "area": 14247.863586, + "iscrowd": 0 + }, + { + "id": 3020, + "image_id": 592, + "category_id": 0, + "bbox": [ + 215.503, + 484.634, + 117.186, + 206.566 + ], + "area": 24206.643276000003, + "iscrowd": 0 + }, + { + "id": 3021, + "image_id": 592, + "category_id": 0, + "bbox": [ + 1217.54, + 433.986, + 60.5793, + 67.531 + ], + "area": 4090.9807083000005, + "iscrowd": 0 + }, + { + "id": 3028, + "image_id": 594, + "category_id": 1, + "bbox": [ + 37.446, + 315.986, + 245.469, + 401.567 + ], + "area": 98572.249923, + "iscrowd": 0 + }, + { + "id": 3029, + "image_id": 594, + "category_id": 1, + "bbox": [ + 327.408, + 292.407, + 207.166, + 423.047 + ], + "area": 87640.95480200001, + "iscrowd": 0 + }, + { + "id": 3030, + "image_id": 594, + "category_id": 1, + "bbox": [ + 590.512, + 336.985, + 190.071, + 376.711 + ], + "area": 71601.836481, + "iscrowd": 0 + }, + { + "id": 3031, + "image_id": 594, + "category_id": 0, + "bbox": [ + 326.829, + 515.493, + 245.281, + 202.199 + ], + "area": 49595.572919000006, + "iscrowd": 0 + }, + { + "id": 3032, + "image_id": 594, + "category_id": 1, + "bbox": [ + 543.929, + 484.389, + 78.1116, + 202.276 + ], + "area": 15800.1020016, + "iscrowd": 0 + }, + { + "id": 3033, + "image_id": 594, + "category_id": 0, + "bbox": [ + 627.641, + 237.352, + 135.062, + 196.634 + ], + "area": 26557.781308, + "iscrowd": 0 + }, + { + "id": 3041, + "image_id": 596, + "category_id": 0, + "bbox": [ + 700.891, + 517.57, + 219.931, + 200.633 + ], + "area": 44125.416323000005, + "iscrowd": 0 + }, + { + "id": 3042, + "image_id": 596, + "category_id": 1, + "bbox": [ + 692.518, + 394.568, + 125.76, + 215.383 + ], + "area": 27086.566080000004, + "iscrowd": 0 + }, + { + "id": 3043, + "image_id": 596, + "category_id": 1, + "bbox": [ + 464.036, + 367.431, + 214.534, + 348.215 + ], + "area": 74703.95680999999, + "iscrowd": 0 + }, + { + "id": 3044, + "image_id": 596, + "category_id": 1, + "bbox": [ + 610.504, + 339.093, + 90.6313, + 343.779 + ], + "area": 31157.1376827, + "iscrowd": 0 + }, + { + "id": 3045, + "image_id": 596, + "category_id": 0, + "bbox": [ + 406.093, + 453.591, + 151.041, + 262.821 + ], + "area": 39696.746661000005, + "iscrowd": 0 + }, + { + "id": 3046, + "image_id": 596, + "category_id": 1, + "bbox": [ + 776.668, + 435.083, + 236.491, + 284.917 + ], + "area": 67380.306247, + "iscrowd": 0 + }, + { + "id": 3047, + "image_id": 596, + "category_id": 0, + "bbox": [ + 651.476, + 388.303, + 91.3655, + 91.3655 + ], + "area": 8347.65459025, + "iscrowd": 0 + }, + { + "id": 3048, + "image_id": 597, + "category_id": 1, + "bbox": [ + 325.347, + 330.458, + 151.232, + 386.707 + ], + "area": 58482.473024, + "iscrowd": 0 + }, + { + "id": 3049, + "image_id": 597, + "category_id": 1, + "bbox": [ + 486.688, + 315.987, + 182.623, + 399.246 + ], + "area": 72911.502258, + "iscrowd": 0 + }, + { + "id": 3050, + "image_id": 597, + "category_id": 1, + "bbox": [ + 52.4115, + 268.304, + 264.115, + 446.332 + ], + "area": 117882.97618, + "iscrowd": 0 + }, + { + "id": 3051, + "image_id": 597, + "category_id": 0, + "bbox": [ + 81.6372, + 508.461, + 273.053, + 207.642 + ], + "area": 56697.271025999995, + "iscrowd": 0 + }, + { + "id": 3052, + "image_id": 597, + "category_id": 0, + "bbox": [ + 528.331, + 250.262, + 115.2, + 120.166 + ], + "area": 13843.1232, + "iscrowd": 0 + }, + { + "id": 3053, + "image_id": 598, + "category_id": 1, + "bbox": [ + 253.41, + 417.084, + 216.997, + 299.578 + ], + "area": 65007.527266, + "iscrowd": 0 + }, + { + "id": 3054, + "image_id": 598, + "category_id": 1, + "bbox": [ + 461.815, + 393.967, + 237.854, + 323.459 + ], + "area": 76936.016986, + "iscrowd": 0 + }, + { + "id": 3055, + "image_id": 598, + "category_id": 1, + "bbox": [ + 1222.44, + 378.791, + 57.2493, + 163.434 + ], + "area": 9356.4820962, + "iscrowd": 0 + }, + { + "id": 3056, + "image_id": 598, + "category_id": 1, + "bbox": [ + 1183.68, + 442.871, + 95.6567, + 142.614 + ], + "area": 13641.984613800001, + "iscrowd": 0 + }, + { + "id": 3057, + "image_id": 598, + "category_id": 0, + "bbox": [ + 363.476, + 560.11, + 108.248, + 159.89 + ], + "area": 17307.77272, + "iscrowd": 0 + }, + { + "id": 3058, + "image_id": 598, + "category_id": 0, + "bbox": [ + 1224.5, + 436.966, + 50.6483, + 58.5931 + ], + "area": 2967.64090673, + "iscrowd": 0 + }, + { + "id": 3059, + "image_id": 599, + "category_id": 1, + "bbox": [ + 589.469, + 338.227, + 133.569, + 377.183 + ], + "area": 50379.956127, + "iscrowd": 0 + }, + { + "id": 3060, + "image_id": 599, + "category_id": 1, + "bbox": [ + 774.724, + 451.426, + 285.468, + 265.338 + ], + "area": 75745.508184, + "iscrowd": 0 + }, + { + "id": 3061, + "image_id": 599, + "category_id": 1, + "bbox": [ + 748.835, + 395.942, + 120.062, + 253.736 + ], + "area": 30464.051632, + "iscrowd": 0 + }, + { + "id": 3062, + "image_id": 599, + "category_id": 0, + "bbox": [ + 837.54, + 570.274, + 155.182, + 148.355 + ], + "area": 23022.025609999997, + "iscrowd": 0 + }, + { + "id": 3063, + "image_id": 599, + "category_id": 1, + "bbox": [ + 361.495, + 359.438, + 257.244, + 355.96 + ], + "area": 91568.57424, + "iscrowd": 0 + }, + { + "id": 3064, + "image_id": 599, + "category_id": 0, + "bbox": [ + 259.714, + 461.817, + 212.104, + 252.415 + ], + "area": 53538.23116, + "iscrowd": 0 + }, + { + "id": 3065, + "image_id": 599, + "category_id": 0, + "bbox": [ + 653.195, + 405.537, + 69.5942, + 94.5105 + ], + "area": 6577.382639099999, + "iscrowd": 0 + }, + { + "id": 3066, + "image_id": 600, + "category_id": 1, + "bbox": [ + 0.518093, + 277.491, + 199.544, + 437.233 + ], + "area": 87247.22175200001, + "iscrowd": 0 + }, + { + "id": 3067, + "image_id": 600, + "category_id": 1, + "bbox": [ + 277.599, + 316.628, + 225.303, + 399.935 + ], + "area": 90106.555305, + "iscrowd": 0 + }, + { + "id": 3068, + "image_id": 600, + "category_id": 1, + "bbox": [ + 566.619, + 369.952, + 103.163, + 338.128 + ], + "area": 34882.298864, + "iscrowd": 0 + }, + { + "id": 3069, + "image_id": 600, + "category_id": 1, + "bbox": [ + 467.93, + 320.695, + 136.113, + 396.443 + ], + "area": 53961.046059, + "iscrowd": 0 + }, + { + "id": 3070, + "image_id": 600, + "category_id": 1, + "bbox": [ + 241.295, + 370.06, + 61.7248, + 93.5836 + ], + "area": 5776.42899328, + "iscrowd": 0 + }, + { + "id": 3071, + "image_id": 600, + "category_id": 0, + "bbox": [ + 480.517, + 265.928, + 100.034, + 138.922 + ], + "area": 13896.923348, + "iscrowd": 0 + }, + { + "id": 3072, + "image_id": 600, + "category_id": 0, + "bbox": [ + 600.828, + 432.0, + 73.4897, + 114.207 + ], + "area": 8393.0381679, + "iscrowd": 0 + }, + { + "id": 3073, + "image_id": 600, + "category_id": 0, + "bbox": [ + 279.062, + 397.241, + 32.7724, + 30.7862 + ], + "area": 1008.93766088, + "iscrowd": 0 + }, + { + "id": 3080, + "image_id": 602, + "category_id": 1, + "bbox": [ + 199.992, + 319.867, + 291.591, + 393.665 + ], + "area": 114789.17101500001, + "iscrowd": 0 + }, + { + "id": 3081, + "image_id": 602, + "category_id": 1, + "bbox": [ + 789.846, + 390.849, + 122.281, + 326.162 + ], + "area": 39883.415521999996, + "iscrowd": 0 + }, + { + "id": 3082, + "image_id": 602, + "category_id": 1, + "bbox": [ + 584.325, + 326.158, + 161.152, + 389.912 + ], + "area": 62835.09862399999, + "iscrowd": 0 + }, + { + "id": 3083, + "image_id": 602, + "category_id": 1, + "bbox": [ + 0.118666, + 483.358, + 235.688, + 232.73 + ], + "area": 54851.66823999999, + "iscrowd": 0 + }, + { + "id": 3084, + "image_id": 602, + "category_id": 1, + "bbox": [ + 965.59, + 473.869, + 313.535, + 242.668 + ], + "area": 76084.91138, + "iscrowd": 0 + }, + { + "id": 3085, + "image_id": 602, + "category_id": 0, + "bbox": [ + 649.49, + 386.317, + 114.207, + 114.207 + ], + "area": 13043.238849, + "iscrowd": 0 + }, + { + "id": 3086, + "image_id": 603, + "category_id": 1, + "bbox": [ + 182.363, + 301.108, + 360.512, + 413.778 + ], + "area": 149171.934336, + "iscrowd": 0 + }, + { + "id": 3087, + "image_id": 603, + "category_id": 1, + "bbox": [ + 542.951, + 363.561, + 132.053, + 351.781 + ], + "area": 46453.736393, + "iscrowd": 0 + }, + { + "id": 3088, + "image_id": 603, + "category_id": 1, + "bbox": [ + 0.51569, + 354.275, + 107.39, + 358.157 + ], + "area": 38462.48023, + "iscrowd": 0 + }, + { + "id": 3089, + "image_id": 603, + "category_id": 1, + "bbox": [ + 407.899, + 393.748, + 134.58, + 171.999 + ], + "area": 23147.62542, + "iscrowd": 0 + }, + { + "id": 3090, + "image_id": 603, + "category_id": 0, + "bbox": [ + 581.959, + 423.062, + 91.3655, + 117.186 + ], + "area": 10706.757483000001, + "iscrowd": 0 + }, + { + "id": 3091, + "image_id": 603, + "category_id": 0, + "bbox": [ + 421.076, + 283.034, + 89.3793, + 122.152 + ], + "area": 10917.8602536, + "iscrowd": 0 + }, + { + "id": 3092, + "image_id": 604, + "category_id": 1, + "bbox": [ + 0.480652, + 384.266, + 294.504, + 335.734 + ], + "area": 98875.005936, + "iscrowd": 0 + }, + { + "id": 3093, + "image_id": 604, + "category_id": 1, + "bbox": [ + 555.432, + 425.366, + 244.303, + 294.634 + ], + "area": 71979.970102, + "iscrowd": 0 + }, + { + "id": 3094, + "image_id": 604, + "category_id": 1, + "bbox": [ + 1222.57, + 379.091, + 57.1055, + 161.437 + ], + "area": 9218.940603500001, + "iscrowd": 0 + }, + { + "id": 3095, + "image_id": 604, + "category_id": 0, + "bbox": [ + 1233.79, + 444.201, + 46.2052, + 65.298 + ], + "area": 3017.1071496, + "iscrowd": 0 + }, + { + "id": 3096, + "image_id": 604, + "category_id": 1, + "bbox": [ + 1180.53, + 437.327, + 99.4749, + 145.204 + ], + "area": 14444.153379600002, + "iscrowd": 0 + }, + { + "id": 3100, + "image_id": 606, + "category_id": 1, + "bbox": [ + 103.878, + 241.854, + 456.896, + 470.485 + ], + "area": 214962.71456000002, + "iscrowd": 0 + }, + { + "id": 3101, + "image_id": 606, + "category_id": 1, + "bbox": [ + 525.381, + 360.202, + 128.969, + 355.982 + ], + "area": 45910.642558, + "iscrowd": 0 + }, + { + "id": 3102, + "image_id": 606, + "category_id": 0, + "bbox": [ + 426.041, + 294.952, + 105.269, + 123.145 + ], + "area": 12963.351005, + "iscrowd": 0 + }, + { + "id": 3103, + "image_id": 606, + "category_id": 0, + "bbox": [ + 553.159, + 429.021, + 89.3793, + 105.269 + ], + "area": 9408.8695317, + "iscrowd": 0 + }, + { + "id": 3104, + "image_id": 606, + "category_id": 0, + "bbox": [ + 391.283, + 396.248, + 35.7517, + 42.7034 + ], + "area": 1526.71914578, + "iscrowd": 0 + }, + { + "id": 3105, + "image_id": 606, + "category_id": 1, + "bbox": [ + 362.483, + 373.407, + 34.7586, + 48.6621 + ], + "area": 1691.42646906, + "iscrowd": 0 + }, + { + "id": 3111, + "image_id": 608, + "category_id": 1, + "bbox": [ + 850.788, + 400.254, + 192.024, + 317.082 + ], + "area": 60887.353967999996, + "iscrowd": 0 + }, + { + "id": 3112, + "image_id": 608, + "category_id": 1, + "bbox": [ + 538.951, + 296.67, + 214.514, + 417.758 + ], + "area": 89614.939612, + "iscrowd": 0 + }, + { + "id": 3113, + "image_id": 608, + "category_id": 0, + "bbox": [ + 624.662, + 384.331, + 143.007, + 178.759 + ], + "area": 25563.788312999997, + "iscrowd": 0 + }, + { + "id": 3125, + "image_id": 611, + "category_id": 1, + "bbox": [ + 927.983, + 411.214, + 220.526, + 304.338 + ], + "area": 67114.44178800001, + "iscrowd": 0 + }, + { + "id": 3126, + "image_id": 611, + "category_id": 1, + "bbox": [ + 471.285, + 275.971, + 265.065, + 436.46 + ], + "area": 115690.2699, + "iscrowd": 0 + }, + { + "id": 3127, + "image_id": 611, + "category_id": 0, + "bbox": [ + 573.079, + 383.197, + 172.697, + 211.362 + ], + "area": 36501.583314, + "iscrowd": 0 + }, + { + "id": 3128, + "image_id": 612, + "category_id": 1, + "bbox": [ + 453.596, + 361.096, + 144.041, + 356.023 + ], + "area": 51281.908943, + "iscrowd": 0 + }, + { + "id": 3129, + "image_id": 612, + "category_id": 1, + "bbox": [ + 401.655, + 374.251, + 65.3949, + 254.095 + ], + "area": 16616.517115500003, + "iscrowd": 0 + }, + { + "id": 3130, + "image_id": 612, + "category_id": 0, + "bbox": [ + 466.922, + 309.245, + 70.5439, + 97.4387 + ], + "area": 6873.705908929999, + "iscrowd": 0 + }, + { + "id": 3131, + "image_id": 612, + "category_id": 0, + "bbox": [ + 462.954, + 449.451, + 74.9526, + 121.688 + ], + "area": 9120.8319888, + "iscrowd": 0 + }, + { + "id": 3132, + "image_id": 612, + "category_id": 0, + "bbox": [ + 430.327, + 400.953, + 35.2717, + 89.5023 + ], + "area": 3156.8982749100005, + "iscrowd": 0 + }, + { + "id": 3138, + "image_id": 614, + "category_id": 1, + "bbox": [ + 1067.95, + 425.928, + 211.27, + 289.781 + ], + "area": 61222.031870000006, + "iscrowd": 0 + }, + { + "id": 3139, + "image_id": 614, + "category_id": 1, + "bbox": [ + 385.212, + 237.909, + 333.441, + 473.903 + ], + "area": 158018.69022299998, + "iscrowd": 0 + }, + { + "id": 3140, + "image_id": 614, + "category_id": 0, + "bbox": [ + 520.386, + 379.366, + 249.269, + 297.931 + ], + "area": 74264.962439, + "iscrowd": 0 + }, + { + "id": 3141, + "image_id": 615, + "category_id": 1, + "bbox": [ + 376.625, + 357.327, + 117.536, + 359.281 + ], + "area": 42228.451616, + "iscrowd": 0 + }, + { + "id": 3142, + "image_id": 615, + "category_id": 1, + "bbox": [ + 509.778, + 349.502, + 104.697, + 335.214 + ], + "area": 35095.900158000004, + "iscrowd": 0 + }, + { + "id": 3143, + "image_id": 615, + "category_id": 0, + "bbox": [ + 533.297, + 308.855, + 58.5931, + 100.303 + ], + "area": 5877.0637093, + "iscrowd": 0 + }, + { + "id": 3144, + "image_id": 615, + "category_id": 0, + "bbox": [ + 371.421, + 428.028, + 90.3724, + 138.041 + ], + "area": 12475.0964684, + "iscrowd": 0 + }, + { + "id": 3145, + "image_id": 615, + "category_id": 1, + "bbox": [ + 434.979, + 373.407, + 32.7724, + 42.7034 + ], + "area": 1399.4929061599998, + "iscrowd": 0 + }, + { + "id": 3146, + "image_id": 616, + "category_id": 1, + "bbox": [ + 134.871, + 392.206, + 202.476, + 324.625 + ], + "area": 65728.7715, + "iscrowd": 0 + }, + { + "id": 3147, + "image_id": 616, + "category_id": 1, + "bbox": [ + 635.689, + 423.83, + 138.837, + 293.017 + ], + "area": 40681.60122899999, + "iscrowd": 0 + }, + { + "id": 3148, + "image_id": 616, + "category_id": 1, + "bbox": [ + 1222.09, + 379.009, + 57.582, + 158.464 + ], + "area": 9124.674048, + "iscrowd": 0 + }, + { + "id": 3149, + "image_id": 616, + "category_id": 1, + "bbox": [ + 1184.18, + 443.737, + 95.248, + 142.603 + ], + "area": 13582.650544000002, + "iscrowd": 0 + }, + { + "id": 3150, + "image_id": 616, + "category_id": 0, + "bbox": [ + 1229.5, + 443.342, + 48.1144, + 68.7346 + ], + "area": 3307.12403824, + "iscrowd": 0 + }, + { + "id": 3151, + "image_id": 617, + "category_id": 1, + "bbox": [ + 195.586, + 173.245, + 420.214, + 539.958 + ], + "area": 226897.911012, + "iscrowd": 0 + }, + { + "id": 3152, + "image_id": 617, + "category_id": 0, + "bbox": [ + 305.012, + 421.862, + 256.038, + 281.814 + ], + "area": 72155.09293200001, + "iscrowd": 0 + }, + { + "id": 3153, + "image_id": 618, + "category_id": 1, + "bbox": [ + 545.319, + 354.974, + 145.745, + 333.392 + ], + "area": 48590.21704, + "iscrowd": 0 + }, + { + "id": 3154, + "image_id": 618, + "category_id": 1, + "bbox": [ + 288.626, + 346.596, + 149.632, + 370.158 + ], + "area": 55387.481856000006, + "iscrowd": 0 + }, + { + "id": 3155, + "image_id": 618, + "category_id": 1, + "bbox": [ + 404.161, + 373.448, + 77.7771, + 286.929 + ], + "area": 22316.5055259, + "iscrowd": 0 + }, + { + "id": 3156, + "image_id": 618, + "category_id": 0, + "bbox": [ + 603.807, + 311.834, + 56.6069, + 93.3517 + ], + "area": 5284.35034673, + "iscrowd": 0 + }, + { + "id": 3157, + "image_id": 618, + "category_id": 0, + "bbox": [ + 398.234, + 394.262, + 61.5724, + 109.241 + ], + "area": 6726.2305484, + "iscrowd": 0 + }, + { + "id": 3158, + "image_id": 618, + "category_id": 0, + "bbox": [ + 281.048, + 430.014, + 88.3862, + 154.924 + ], + "area": 13693.143648800002, + "iscrowd": 0 + }, + { + "id": 3159, + "image_id": 619, + "category_id": 1, + "bbox": [ + 250.311, + 394.836, + 177.499, + 322.247 + ], + "area": 57198.520253, + "iscrowd": 0 + }, + { + "id": 3160, + "image_id": 619, + "category_id": 1, + "bbox": [ + 563.805, + 424.893, + 130.065, + 293.459 + ], + "area": 38168.744835, + "iscrowd": 0 + }, + { + "id": 3161, + "image_id": 619, + "category_id": 1, + "bbox": [ + 1221.91, + 378.776, + 57.7437, + 158.12 + ], + "area": 9130.433844, + "iscrowd": 0 + }, + { + "id": 3162, + "image_id": 619, + "category_id": 0, + "bbox": [ + 1229.5, + 436.468, + 49.8329, + 69.5939 + ], + "area": 3468.06585931, + "iscrowd": 0 + }, + { + "id": 3163, + "image_id": 619, + "category_id": 1, + "bbox": [ + 1177.95, + 446.778, + 102.052, + 120.286 + ], + "area": 12275.426872000002, + "iscrowd": 0 + }, + { + "id": 3164, + "image_id": 620, + "category_id": 1, + "bbox": [ + 1.15814, + 27.0842, + 359.279, + 684.451 + ], + "area": 245908.870829, + "iscrowd": 0 + }, + { + "id": 3165, + "image_id": 621, + "category_id": 1, + "bbox": [ + 623.465, + 352.177, + 118.983, + 362.625 + ], + "area": 43146.210375, + "iscrowd": 0 + }, + { + "id": 3166, + "image_id": 621, + "category_id": 1, + "bbox": [ + 361.012, + 373.649, + 103.886, + 305.856 + ], + "area": 31774.156415999998, + "iscrowd": 0 + }, + { + "id": 3167, + "image_id": 621, + "category_id": 1, + "bbox": [ + 251.676, + 337.803, + 130.751, + 377.265 + ], + "area": 49327.776015, + "iscrowd": 0 + }, + { + "id": 3168, + "image_id": 621, + "category_id": 0, + "bbox": [ + 372.414, + 397.241, + 67.531, + 120.166 + ], + "area": 8114.930146000001, + "iscrowd": 0 + }, + { + "id": 3169, + "image_id": 621, + "category_id": 0, + "bbox": [ + 248.276, + 426.041, + 93.3517, + 147.972 + ], + "area": 13813.4377524, + "iscrowd": 0 + }, + { + "id": 3170, + "image_id": 621, + "category_id": 0, + "bbox": [ + 656.441, + 300.91, + 60.5793, + 62.5655 + ], + "area": 3790.1741941500004, + "iscrowd": 0 + }, + { + "id": 3171, + "image_id": 622, + "category_id": 1, + "bbox": [ + 507.608, + 426.886, + 118.628, + 291.636 + ], + "area": 34596.195408, + "iscrowd": 0 + }, + { + "id": 3172, + "image_id": 622, + "category_id": 1, + "bbox": [ + 356.514, + 397.325, + 106.96, + 320.728 + ], + "area": 34305.06688, + "iscrowd": 0 + }, + { + "id": 3173, + "image_id": 622, + "category_id": 1, + "bbox": [ + 1222.24, + 378.814, + 57.3018, + 153.932 + ], + "area": 8820.580677599999, + "iscrowd": 0 + }, + { + "id": 3174, + "image_id": 622, + "category_id": 0, + "bbox": [ + 416.11, + 478.676, + 94.3448, + 132.083 + ], + "area": 12461.344218400001, + "iscrowd": 0 + }, + { + "id": 3175, + "image_id": 622, + "category_id": 1, + "bbox": [ + 1170.87, + 436.966, + 102.29, + 98.3172 + ], + "area": 10056.866388, + "iscrowd": 0 + }, + { + "id": 3176, + "image_id": 622, + "category_id": 0, + "bbox": [ + 1221.52, + 427.034, + 50.6483, + 55.6138 + ], + "area": 2816.74442654, + "iscrowd": 0 + }, + { + "id": 3177, + "image_id": 623, + "category_id": 1, + "bbox": [ + 660.061, + 349.528, + 116.209, + 367.586 + ], + "area": 42716.801474, + "iscrowd": 0 + }, + { + "id": 3178, + "image_id": 623, + "category_id": 1, + "bbox": [ + 350.806, + 368.071, + 87.3361, + 335.345 + ], + "area": 29287.724454500003, + "iscrowd": 0 + }, + { + "id": 3179, + "image_id": 623, + "category_id": 1, + "bbox": [ + 238.328, + 343.185, + 133.768, + 372.677 + ], + "area": 49852.256936000005, + "iscrowd": 0 + }, + { + "id": 3180, + "image_id": 623, + "category_id": 0, + "bbox": [ + 689.928, + 309.308, + 64.4389, + 108.258 + ], + "area": 6976.0264362, + "iscrowd": 0 + }, + { + "id": 3181, + "image_id": 623, + "category_id": 0, + "bbox": [ + 355.704, + 408.974, + 49.8327, + 116.849 + ], + "area": 5822.901162300001, + "iscrowd": 0 + }, + { + "id": 3182, + "image_id": 623, + "category_id": 0, + "bbox": [ + 240.573, + 433.89, + 93.6514, + 134.893 + ], + "area": 12632.918300199999, + "iscrowd": 0 + }, + { + "id": 3183, + "image_id": 624, + "category_id": 1, + "bbox": [ + 441.4, + 405.823, + 113.318, + 311.848 + ], + "area": 35337.991664, + "iscrowd": 0 + }, + { + "id": 3184, + "image_id": 624, + "category_id": 1, + "bbox": [ + 1222.48, + 379.124, + 57.0957, + 155.081 + ], + "area": 8854.4582517, + "iscrowd": 0 + }, + { + "id": 3185, + "image_id": 624, + "category_id": 0, + "bbox": [ + 535.283, + 487.614, + 83.4207, + 132.083 + ], + "area": 11018.4563181, + "iscrowd": 0 + }, + { + "id": 3186, + "image_id": 624, + "category_id": 1, + "bbox": [ + 1180.8, + 443.917, + 96.331, + 99.3103 + ], + "area": 9566.6605093, + "iscrowd": 0 + }, + { + "id": 3187, + "image_id": 624, + "category_id": 0, + "bbox": [ + 1223.39, + 433.986, + 56.6069, + 55.6138 + ], + "area": 3148.12481522, + "iscrowd": 0 + }, + { + "id": 3188, + "image_id": 625, + "category_id": 1, + "bbox": [ + 307.901, + 362.766, + 118.998, + 353.285 + ], + "area": 42040.208430000006, + "iscrowd": 0 + }, + { + "id": 3189, + "image_id": 625, + "category_id": 1, + "bbox": [ + 177.849, + 341.654, + 159.656, + 371.778 + ], + "area": 59356.588368000004, + "iscrowd": 0 + }, + { + "id": 3190, + "image_id": 625, + "category_id": 1, + "bbox": [ + 677.858, + 353.457, + 95.9468, + 362.435 + ], + "area": 34774.478458, + "iscrowd": 0 + }, + { + "id": 3191, + "image_id": 625, + "category_id": 0, + "bbox": [ + 713.048, + 297.931, + 63.5586, + 113.214 + ], + "area": 7195.7233404, + "iscrowd": 0 + }, + { + "id": 3192, + "image_id": 625, + "category_id": 0, + "bbox": [ + 321.766, + 406.179, + 75.4759, + 137.048 + ], + "area": 10343.821143199999, + "iscrowd": 0 + }, + { + "id": 3193, + "image_id": 625, + "category_id": 0, + "bbox": [ + 183.724, + 442.924, + 126.124, + 160.883 + ], + "area": 20291.207492, + "iscrowd": 0 + }, + { + "id": 3194, + "image_id": 626, + "category_id": 1, + "bbox": [ + 343.75, + 417.918, + 135.526, + 300.075 + ], + "area": 40667.96445, + "iscrowd": 0 + }, + { + "id": 3195, + "image_id": 626, + "category_id": 1, + "bbox": [ + 1222.41, + 379.975, + 57.0635, + 157.57 + ], + "area": 8991.495695, + "iscrowd": 0 + }, + { + "id": 3196, + "image_id": 626, + "category_id": 1, + "bbox": [ + 534.87, + 406.332, + 156.025, + 311.844 + ], + "area": 48655.460100000004, + "iscrowd": 0 + }, + { + "id": 3197, + "image_id": 626, + "category_id": 0, + "bbox": [ + 623.876, + 491.204, + 90.2424, + 135.616 + ], + "area": 12238.313318400002, + "iscrowd": 0 + }, + { + "id": 3198, + "image_id": 626, + "category_id": 1, + "bbox": [ + 1170.6, + 443.354, + 108.915, + 263.841 + ], + "area": 28736.242515, + "iscrowd": 0 + }, + { + "id": 3199, + "image_id": 626, + "category_id": 0, + "bbox": [ + 295.945, + 467.752, + 94.3448, + 137.048 + ], + "area": 12929.7661504, + "iscrowd": 0 + }, + { + "id": 3200, + "image_id": 626, + "category_id": 0, + "bbox": [ + 1222.4, + 429.021, + 57.6, + 71.5034 + ], + "area": 4118.59584, + "iscrowd": 0 + }, + { + "id": 3207, + "image_id": 628, + "category_id": 1, + "bbox": [ + 572.655, + 405.177, + 225.318, + 312.561 + ], + "area": 70425.619398, + "iscrowd": 0 + }, + { + "id": 3208, + "image_id": 628, + "category_id": 1, + "bbox": [ + 1224.59, + 380.152, + 54.9119, + 161.198 + ], + "area": 8851.688456200001, + "iscrowd": 0 + }, + { + "id": 3209, + "image_id": 628, + "category_id": 0, + "bbox": [ + 712.55, + 503.536, + 105.542, + 152.688 + ], + "area": 16114.996895999999, + "iscrowd": 0 + }, + { + "id": 3210, + "image_id": 628, + "category_id": 1, + "bbox": [ + 264.877, + 418.918, + 146.527, + 298.136 + ], + "area": 43684.973672, + "iscrowd": 0 + }, + { + "id": 3211, + "image_id": 628, + "category_id": 1, + "bbox": [ + 1170.34, + 443.105, + 109.201, + 261.708 + ], + "area": 28578.775308, + "iscrowd": 0 + }, + { + "id": 3212, + "image_id": 628, + "category_id": 0, + "bbox": [ + 221.462, + 472.717, + 100.303, + 117.186 + ], + "area": 11754.107358000001, + "iscrowd": 0 + }, + { + "id": 3213, + "image_id": 628, + "category_id": 0, + "bbox": [ + 1221.41, + 429.021, + 53.6276, + 65.5448 + ], + "area": 3515.01031648, + "iscrowd": 0 + }, + { + "id": 3214, + "image_id": 629, + "category_id": 1, + "bbox": [ + 0.309238, + 326.792, + 241.928, + 387.837 + ], + "area": 93828.629736, + "iscrowd": 0 + }, + { + "id": 3215, + "image_id": 629, + "category_id": 1, + "bbox": [ + 225.179, + 366.048, + 177.326, + 349.656 + ], + "area": 62003.099856, + "iscrowd": 0 + }, + { + "id": 3216, + "image_id": 629, + "category_id": 1, + "bbox": [ + 635.775, + 354.997, + 165.6, + 362.523 + ], + "area": 60033.8088, + "iscrowd": 0 + }, + { + "id": 3217, + "image_id": 629, + "category_id": 0, + "bbox": [ + 670.345, + 306.869, + 81.4345, + 100.303 + ], + "area": 8168.1246535, + "iscrowd": 0 + }, + { + "id": 3218, + "image_id": 629, + "category_id": 0, + "bbox": [ + 260.193, + 419.09, + 114.207, + 164.855 + ], + "area": 18827.594984999996, + "iscrowd": 0 + }, + { + "id": 3219, + "image_id": 629, + "category_id": 0, + "bbox": [ + 71.5034, + 455.834, + 170.814, + 209.545 + ], + "area": 35793.21963, + "iscrowd": 0 + }, + { + "id": 3220, + "image_id": 630, + "category_id": 1, + "bbox": [ + 194.336, + 412.782, + 151.793, + 304.631 + ], + "area": 46240.853382999994, + "iscrowd": 0 + }, + { + "id": 3221, + "image_id": 630, + "category_id": 1, + "bbox": [ + 611.891, + 408.142, + 226.999, + 309.595 + ], + "area": 70277.755405, + "iscrowd": 0 + }, + { + "id": 3222, + "image_id": 630, + "category_id": 1, + "bbox": [ + 1224.75, + 379.557, + 54.8608, + 158.583 + ], + "area": 8699.990246399999, + "iscrowd": 0 + }, + { + "id": 3223, + "image_id": 630, + "category_id": 1, + "bbox": [ + 1172.55, + 443.682, + 106.955, + 140.962 + ], + "area": 15076.590709999999, + "iscrowd": 0 + }, + { + "id": 3224, + "image_id": 630, + "category_id": 0, + "bbox": [ + 692.129, + 521.585, + 149.972, + 180.498 + ], + "area": 27069.646056, + "iscrowd": 0 + }, + { + "id": 3225, + "image_id": 630, + "category_id": 0, + "bbox": [ + 210.03, + 492.268, + 80.1722, + 141.859 + ], + "area": 11373.148119800002, + "iscrowd": 0 + }, + { + "id": 3226, + "image_id": 630, + "category_id": 0, + "bbox": [ + 1233.41, + 443.589, + 46.5884, + 71.7904 + ], + "area": 3344.59987136, + "iscrowd": 0 + }, + { + "id": 3227, + "image_id": 631, + "category_id": 1, + "bbox": [ + 612.731, + 308.329, + 182.177, + 406.028 + ], + "area": 73968.962956, + "iscrowd": 0 + }, + { + "id": 3228, + "image_id": 631, + "category_id": 1, + "bbox": [ + 0.626192, + 314.898, + 248.355, + 394.965 + ], + "area": 98091.53257499999, + "iscrowd": 0 + }, + { + "id": 3229, + "image_id": 631, + "category_id": 1, + "bbox": [ + 206.246, + 361.711, + 190.563, + 355.064 + ], + "area": 67662.061032, + "iscrowd": 0 + }, + { + "id": 3230, + "image_id": 631, + "category_id": 0, + "bbox": [ + 245.361, + 413.391, + 106.994, + 194.011 + ], + "area": 20758.012934, + "iscrowd": 0 + }, + { + "id": 3231, + "image_id": 631, + "category_id": 0, + "bbox": [ + 0.0494385, + 481.793, + 218.518, + 234.33 + ], + "area": 51205.322940000005, + "iscrowd": 0 + }, + { + "id": 3232, + "image_id": 631, + "category_id": 0, + "bbox": [ + 642.538, + 295.945, + 113.214, + 125.131 + ], + "area": 14166.581034, + "iscrowd": 0 + }, + { + "id": 3240, + "image_id": 633, + "category_id": 1, + "bbox": [ + 126.252, + 347.146, + 232.445, + 367.968 + ], + "area": 85532.32176, + "iscrowd": 0 + }, + { + "id": 3241, + "image_id": 633, + "category_id": 1, + "bbox": [ + 629.988, + 269.571, + 156.909, + 446.103 + ], + "area": 69997.575627, + "iscrowd": 0 + }, + { + "id": 3242, + "image_id": 633, + "category_id": 1, + "bbox": [ + 0.28748, + 460.707, + 103.595, + 255.559 + ], + "area": 26474.634605, + "iscrowd": 0 + }, + { + "id": 3243, + "image_id": 633, + "category_id": 0, + "bbox": [ + 177.233, + 414.592, + 128.738, + 218.626 + ], + "area": 28145.473988, + "iscrowd": 0 + }, + { + "id": 3244, + "image_id": 633, + "category_id": 0, + "bbox": [ + 671.026, + 245.728, + 83.3412, + 113.413 + ], + "area": 9451.9755156, + "iscrowd": 0 + }, + { + "id": 3245, + "image_id": 634, + "category_id": 1, + "bbox": [ + 579.553, + 399.392, + 266.977, + 320.608 + ], + "area": 85594.96201599999, + "iscrowd": 0 + }, + { + "id": 3246, + "image_id": 634, + "category_id": 0, + "bbox": [ + 718.74, + 568.998, + 175.535, + 150.139 + ], + "area": 26354.649365, + "iscrowd": 0 + }, + { + "id": 3247, + "image_id": 634, + "category_id": 1, + "bbox": [ + 53.8731, + 422.353, + 225.856, + 297.647 + ], + "area": 67225.36083199999, + "iscrowd": 0 + }, + { + "id": 3248, + "image_id": 634, + "category_id": 1, + "bbox": [ + 1223.77, + 379.686, + 55.8843, + 158.426 + ], + "area": 8853.5261118, + "iscrowd": 0 + }, + { + "id": 3249, + "image_id": 634, + "category_id": 1, + "bbox": [ + 1176.97, + 443.516, + 102.546, + 133.727 + ], + "area": 13713.168942000002, + "iscrowd": 0 + }, + { + "id": 3250, + "image_id": 634, + "category_id": 0, + "bbox": [ + 1232.99, + 444.501, + 45.9197, + 82.0462 + ], + "area": 3767.5368901399997, + "iscrowd": 0 + }, + { + "id": 3251, + "image_id": 634, + "category_id": 0, + "bbox": [ + 92.4117, + 514.651, + 108.189, + 197.596 + ], + "area": 21377.713644, + "iscrowd": 0 + }, + { + "id": 3252, + "image_id": 635, + "category_id": 1, + "bbox": [ + 56.5831, + 334.471, + 278.01, + 378.964 + ], + "area": 105355.78164, + "iscrowd": 0 + }, + { + "id": 3253, + "image_id": 635, + "category_id": 1, + "bbox": [ + 601.347, + 339.855, + 172.708, + 375.712 + ], + "area": 64888.468096, + "iscrowd": 0 + }, + { + "id": 3254, + "image_id": 635, + "category_id": 0, + "bbox": [ + 599.714, + 335.084, + 100.525, + 108.257 + ], + "area": 10882.534925000002, + "iscrowd": 0 + }, + { + "id": 3255, + "image_id": 635, + "category_id": 0, + "bbox": [ + 106.539, + 424.44, + 134.892, + 237.135 + ], + "area": 31987.614419999998, + "iscrowd": 0 + }, + { + "id": 3256, + "image_id": 636, + "category_id": 1, + "bbox": [ + 51.2903, + 430.739, + 267.821, + 286.971 + ], + "area": 76856.86019100001, + "iscrowd": 0 + }, + { + "id": 3257, + "image_id": 636, + "category_id": 1, + "bbox": [ + 677.891, + 396.69, + 241.759, + 320.331 + ], + "area": 77442.902229, + "iscrowd": 0 + }, + { + "id": 3258, + "image_id": 636, + "category_id": 0, + "bbox": [ + 880.854, + 566.923, + 136.338, + 151.789 + ], + "area": 20694.608682, + "iscrowd": 0 + }, + { + "id": 3259, + "image_id": 636, + "category_id": 0, + "bbox": [ + 1240.67, + 439.049, + 38.693, + 73.12 + ], + "area": 2829.23216, + "iscrowd": 0 + }, + { + "id": 3260, + "image_id": 636, + "category_id": 0, + "bbox": [ + 111.331, + 552.632, + 171.713, + 164.175 + ], + "area": 28190.981775, + "iscrowd": 0 + }, + { + "id": 3261, + "image_id": 636, + "category_id": 1, + "bbox": [ + 1185.08, + 440.399, + 94.9243, + 90.3786 + ], + "area": 8579.12533998, + "iscrowd": 0 + }, + { + "id": 3262, + "image_id": 637, + "category_id": 1, + "bbox": [ + 589.916, + 333.362, + 171.465, + 382.21 + ], + "area": 65535.63765, + "iscrowd": 0 + }, + { + "id": 3263, + "image_id": 637, + "category_id": 1, + "bbox": [ + 4.47532, + 335.474, + 233.138, + 379.497 + ], + "area": 88475.17158600001, + "iscrowd": 0 + }, + { + "id": 3264, + "image_id": 637, + "category_id": 0, + "bbox": [ + 640.786, + 396.071, + 72.1415, + 124.479 + ], + "area": 8980.101778499999, + "iscrowd": 0 + }, + { + "id": 3265, + "image_id": 637, + "category_id": 0, + "bbox": [ + 0.0, + 434.263, + 107.505, + 278.664 + ], + "area": 29957.773319999997, + "iscrowd": 0 + }, + { + "id": 3266, + "image_id": 638, + "category_id": 1, + "bbox": [ + 98.7706, + 437.028, + 314.851, + 280.948 + ], + "area": 88456.758748, + "iscrowd": 0 + }, + { + "id": 3267, + "image_id": 638, + "category_id": 1, + "bbox": [ + 897.157, + 419.647, + 339.305, + 296.604 + ], + "area": 100639.22022, + "iscrowd": 0 + }, + { + "id": 3268, + "image_id": 638, + "category_id": 1, + "bbox": [ + 1197.32, + 444.193, + 82.6817, + 146.491 + ], + "area": 12112.124914700002, + "iscrowd": 0 + }, + { + "id": 3269, + "image_id": 638, + "category_id": 0, + "bbox": [ + 192.377, + 608.251, + 179.646, + 111.749 + ], + "area": 20075.260853999996, + "iscrowd": 0 + }, + { + "id": 3270, + "image_id": 639, + "category_id": 1, + "bbox": [ + 581.401, + 327.149, + 179.352, + 388.891 + ], + "area": 69748.378632, + "iscrowd": 0 + }, + { + "id": 3271, + "image_id": 639, + "category_id": 1, + "bbox": [ + 0.465903, + 344.323, + 116.744, + 367.342 + ], + "area": 42884.974448, + "iscrowd": 0 + }, + { + "id": 3272, + "image_id": 639, + "category_id": 0, + "bbox": [ + 639.559, + 382.345, + 120.166, + 112.221 + ], + "area": 13485.148686, + "iscrowd": 0 + }, + { + "id": 3273, + "image_id": 641, + "category_id": 1, + "bbox": [ + 523.025, + 320.749, + 216.504, + 399.251 + ], + "area": 86439.43850399999, + "iscrowd": 0 + }, + { + "id": 3274, + "image_id": 641, + "category_id": 1, + "bbox": [ + 0.315323, + 352.24, + 68.0868, + 367.76 + ], + "area": 25039.601568, + "iscrowd": 0 + }, + { + "id": 3275, + "image_id": 641, + "category_id": 0, + "bbox": [ + 611.409, + 420.779, + 123.485, + 147.468 + ], + "area": 18210.08598, + "iscrowd": 0 + }, + { + "id": 3276, + "image_id": 641, + "category_id": 1, + "bbox": [ + 523.025, + 320.749, + 216.504, + 399.251 + ], + "area": 86439.43850399999, + "iscrowd": 0 + }, + { + "id": 3277, + "image_id": 641, + "category_id": 1, + "bbox": [ + 0.315323, + 352.24, + 68.0868, + 367.76 + ], + "area": 25039.601568, + "iscrowd": 0 + }, + { + "id": 3278, + "image_id": 641, + "category_id": 0, + "bbox": [ + 611.409, + 420.779, + 123.485, + 147.468 + ], + "area": 18210.08598, + "iscrowd": 0 + }, + { + "id": 3279, + "image_id": 642, + "category_id": 1, + "bbox": [ + 0.519075, + 303.085, + 199.593, + 416.915 + ], + "area": 83213.315595, + "iscrowd": 0 + }, + { + "id": 3280, + "image_id": 642, + "category_id": 1, + "bbox": [ + 492.476, + 317.252, + 265.581, + 402.748 + ], + "area": 106962.21658800001, + "iscrowd": 0 + }, + { + "id": 3281, + "image_id": 642, + "category_id": 0, + "bbox": [ + 590.263, + 466.539, + 164.105, + 148.64 + ], + "area": 24392.567199999998, + "iscrowd": 0 + }, + { + "id": 3282, + "image_id": 643, + "category_id": 1, + "bbox": [ + 408.129, + 303.939, + 319.883, + 416.061 + ], + "area": 133090.840863, + "iscrowd": 0 + }, + { + "id": 3283, + "image_id": 643, + "category_id": 1, + "bbox": [ + 0.560517, + 349.943, + 137.449, + 370.057 + ], + "area": 50863.964593000004, + "iscrowd": 0 + }, + { + "id": 3284, + "image_id": 643, + "category_id": 0, + "bbox": [ + 544.811, + 475.134, + 201.069, + 199.078 + ], + "area": 40028.414381999995, + "iscrowd": 0 + }, + { + "id": 3285, + "image_id": 644, + "category_id": 1, + "bbox": [ + 216.17, + 254.567, + 464.36, + 460.629 + ], + "area": 213897.68244, + "iscrowd": 0 + }, + { + "id": 3286, + "image_id": 644, + "category_id": 0, + "bbox": [ + 414.988, + 472.554, + 220.811, + 219.093 + ], + "area": 48378.144423, + "iscrowd": 0 + }, + { + "id": 3287, + "image_id": 645, + "category_id": 1, + "bbox": [ + 60.3162, + 196.33, + 420.442, + 518.275 + ], + "area": 217904.57755, + "iscrowd": 0 + }, + { + "id": 3288, + "image_id": 645, + "category_id": 0, + "bbox": [ + 215.01, + 519.136, + 260.275, + 200.864 + ], + "area": 52279.8776, + "iscrowd": 0 + }, + { + "id": 3292, + "image_id": 647, + "category_id": 1, + "bbox": [ + 651.169, + 432.134, + 112.315, + 285.15 + ], + "area": 32026.622249999997, + "iscrowd": 0 + }, + { + "id": 3293, + "image_id": 647, + "category_id": 1, + "bbox": [ + 787.852, + 367.997, + 95.9126, + 346.979 + ], + "area": 33279.658035399996, + "iscrowd": 0 + }, + { + "id": 3294, + "image_id": 647, + "category_id": 0, + "bbox": [ + 799.214, + 437.092, + 50.9234, + 94.7741 + ], + "area": 4826.21940394, + "iscrowd": 0 + }, + { + "id": 3295, + "image_id": 648, + "category_id": 1, + "bbox": [ + 561.137, + 432.503, + 142.47, + 285.604 + ], + "area": 40690.001879999996, + "iscrowd": 0 + }, + { + "id": 3296, + "image_id": 648, + "category_id": 1, + "bbox": [ + 708.078, + 361.647, + 116.622, + 356.78 + ], + "area": 41608.39715999999, + "iscrowd": 0 + }, + { + "id": 3297, + "image_id": 648, + "category_id": 0, + "bbox": [ + 702.124, + 432.993, + 91.3655, + 91.3655 + ], + "area": 8347.65459025, + "iscrowd": 0 + }, + { + "id": 3298, + "image_id": 649, + "category_id": 1, + "bbox": [ + 0.151284, + 262.418, + 63.0542, + 232.433 + ], + "area": 14655.8768686, + "iscrowd": 0 + }, + { + "id": 3299, + "image_id": 650, + "category_id": 1, + "bbox": [ + 474.638, + 435.279, + 172.725, + 282.371 + ], + "area": 48772.530974999994, + "iscrowd": 0 + }, + { + "id": 3300, + "image_id": 650, + "category_id": 1, + "bbox": [ + 644.507, + 354.955, + 115.917, + 361.637 + ], + "area": 41919.876129000004, + "iscrowd": 0 + }, + { + "id": 3301, + "image_id": 650, + "category_id": 0, + "bbox": [ + 647.859, + 430.02, + 74.9705, + 110.334 + ], + "area": 8271.795147, + "iscrowd": 0 + }, + { + "id": 3302, + "image_id": 651, + "category_id": 1, + "bbox": [ + 28.7581, + 467.075, + 142.643, + 252.011 + ], + "area": 35947.605073, + "iscrowd": 0 + }, + { + "id": 3303, + "image_id": 651, + "category_id": 1, + "bbox": [ + 0.0, + 443.917, + 40.7172, + 191.669 + ], + "area": 7804.2250068, + "iscrowd": 0 + }, + { + "id": 3304, + "image_id": 652, + "category_id": 1, + "bbox": [ + 12.7308, + 246.13, + 72.1415, + 111.749 + ], + "area": 8061.740483499999, + "iscrowd": 0 + }, + { + "id": 3305, + "image_id": 652, + "category_id": 0, + "bbox": [ + 5.65815, + 263.104, + 41.0216, + 48.0943 + ], + "area": 1972.9051368799999, + "iscrowd": 0 + }, + { + "id": 3306, + "image_id": 653, + "category_id": 1, + "bbox": [ + 609.271, + 351.849, + 127.395, + 363.988 + ], + "area": 46370.25126, + "iscrowd": 0 + }, + { + "id": 3307, + "image_id": 653, + "category_id": 1, + "bbox": [ + 404.557, + 431.311, + 147.035, + 286.239 + ], + "area": 42087.151365, + "iscrowd": 0 + }, + { + "id": 3308, + "image_id": 653, + "category_id": 0, + "bbox": [ + 609.766, + 435.972, + 99.3103, + 133.076 + ], + "area": 13215.8174828, + "iscrowd": 0 + }, + { + "id": 3309, + "image_id": 654, + "category_id": 1, + "bbox": [ + 128.556, + 469.357, + 110.388, + 249.213 + ], + "area": 27510.124644, + "iscrowd": 0 + }, + { + "id": 3310, + "image_id": 654, + "category_id": 1, + "bbox": [ + 18.0773, + 449.28, + 62.582, + 89.4524 + ], + "area": 5598.1100968, + "iscrowd": 0 + }, + { + "id": 3311, + "image_id": 655, + "category_id": 1, + "bbox": [ + 83.4578, + 239.057, + 87.7014, + 192.377 + ], + "area": 16871.732227800003, + "iscrowd": 0 + }, + { + "id": 3312, + "image_id": 655, + "category_id": 0, + "bbox": [ + 67.8978, + 261.69, + 59.4106, + 57.9961 + ], + "area": 3445.58309866, + "iscrowd": 0 + }, + { + "id": 3313, + "image_id": 656, + "category_id": 1, + "bbox": [ + 350.45, + 424.943, + 147.521, + 295.057 + ], + "area": 43527.103697, + "iscrowd": 0 + }, + { + "id": 3314, + "image_id": 656, + "category_id": 1, + "bbox": [ + 572.756, + 346.148, + 144.416, + 373.852 + ], + "area": 53990.21043199999, + "iscrowd": 0 + }, + { + "id": 3315, + "image_id": 656, + "category_id": 0, + "bbox": [ + 572.682, + 452.571, + 92.2396, + 129.401 + ], + "area": 11935.8964796, + "iscrowd": 0 + }, + { + "id": 3316, + "image_id": 657, + "category_id": 1, + "bbox": [ + 220.242, + 472.565, + 136.316, + 245.764 + ], + "area": 33501.565424, + "iscrowd": 0 + }, + { + "id": 3317, + "image_id": 657, + "category_id": 1, + "bbox": [ + 70.5103, + 446.897, + 71.5034, + 102.29 + ], + "area": 7314.082786, + "iscrowd": 0 + }, + { + "id": 3318, + "image_id": 658, + "category_id": 1, + "bbox": [ + 248.29, + 422.793, + 271.026, + 294.403 + ], + "area": 79790.86747800001, + "iscrowd": 0 + }, + { + "id": 3319, + "image_id": 658, + "category_id": 1, + "bbox": [ + 546.673, + 332.89, + 168.215, + 383.352 + ], + "area": 64485.556679999994, + "iscrowd": 0 + }, + { + "id": 3320, + "image_id": 658, + "category_id": 0, + "bbox": [ + 582.79, + 445.58, + 87.7014, + 147.112 + ], + "area": 12901.928356800001, + "iscrowd": 0 + }, + { + "id": 3321, + "image_id": 659, + "category_id": 1, + "bbox": [ + 335.335, + 480.41, + 100.069, + 238.201 + ], + "area": 23836.535869, + "iscrowd": 0 + }, + { + "id": 3322, + "image_id": 659, + "category_id": 1, + "bbox": [ + 117.547, + 448.052, + 84.3868, + 188.703 + ], + "area": 15924.0423204, + "iscrowd": 0 + }, + { + "id": 3323, + "image_id": 660, + "category_id": 1, + "bbox": [ + 231.278, + 227.255, + 84.6619, + 180.187 + ], + "area": 15254.9737753, + "iscrowd": 0 + }, + { + "id": 3324, + "image_id": 660, + "category_id": 1, + "bbox": [ + 0.0927854, + 297.5, + 51.8257, + 198.322 + ], + "area": 10278.1764754, + "iscrowd": 0 + }, + { + "id": 3325, + "image_id": 660, + "category_id": 0, + "bbox": [ + 0.0, + 297.105, + 19.2578, + 64.7391 + ], + "area": 1246.73263998, + "iscrowd": 0 + }, + { + "id": 3326, + "image_id": 661, + "category_id": 1, + "bbox": [ + 230.676, + 425.502, + 272.347, + 291.469 + ], + "area": 79380.70774299999, + "iscrowd": 0 + }, + { + "id": 3327, + "image_id": 661, + "category_id": 1, + "bbox": [ + 547.607, + 314.065, + 181.397, + 402.079 + ], + "area": 72935.924363, + "iscrowd": 0 + }, + { + "id": 3328, + "image_id": 661, + "category_id": 0, + "bbox": [ + 544.726, + 446.779, + 109.976, + 170.977 + ], + "area": 18803.366552, + "iscrowd": 0 + }, + { + "id": 3329, + "image_id": 662, + "category_id": 1, + "bbox": [ + 444.477, + 487.827, + 97.1198, + 231.0 + ], + "area": 22434.6738, + "iscrowd": 0 + }, + { + "id": 3330, + "image_id": 662, + "category_id": 1, + "bbox": [ + 163.192, + 452.009, + 78.4276, + 216.18 + ], + "area": 16954.478568, + "iscrowd": 0 + }, + { + "id": 3333, + "image_id": 664, + "category_id": 1, + "bbox": [ + 435.14, + 306.827, + 272.78, + 409.637 + ], + "area": 111740.78085999998, + "iscrowd": 0 + }, + { + "id": 3334, + "image_id": 664, + "category_id": 1, + "bbox": [ + 198.964, + 425.62, + 181.467, + 292.007 + ], + "area": 52989.634269, + "iscrowd": 0 + }, + { + "id": 3335, + "image_id": 664, + "category_id": 0, + "bbox": [ + 521.84, + 451.433, + 110.255, + 228.831 + ], + "area": 25229.761905, + "iscrowd": 0 + }, + { + "id": 3336, + "image_id": 665, + "category_id": 1, + "bbox": [ + 542.814, + 495.437, + 135.319, + 223.997 + ], + "area": 30311.050043, + "iscrowd": 0 + }, + { + "id": 3337, + "image_id": 665, + "category_id": 1, + "bbox": [ + 218.667, + 453.571, + 72.9966, + 183.888 + ], + "area": 13423.198780800001, + "iscrowd": 0 + }, + { + "id": 3338, + "image_id": 665, + "category_id": 1, + "bbox": [ + 0.0, + 453.872, + 11.955, + 182.64 + ], + "area": 2183.4611999999997, + "iscrowd": 0 + }, + { + "id": 3339, + "image_id": 666, + "category_id": 1, + "bbox": [ + 0.0923157, + 237.287, + 78.8073, + 229.115 + ], + "area": 18055.934539500002, + "iscrowd": 0 + }, + { + "id": 3340, + "image_id": 666, + "category_id": 0, + "bbox": [ + 17.8759, + 251.255, + 76.469, + 95.3379 + ], + "area": 7290.3938751, + "iscrowd": 0 + }, + { + "id": 3341, + "image_id": 667, + "category_id": 1, + "bbox": [ + 210.704, + 427.438, + 175.721, + 292.562 + ], + "area": 51409.287202, + "iscrowd": 0 + }, + { + "id": 3342, + "image_id": 667, + "category_id": 1, + "bbox": [ + 442.979, + 293.826, + 240.999, + 426.174 + ], + "area": 102707.50782599999, + "iscrowd": 0 + }, + { + "id": 3343, + "image_id": 667, + "category_id": 0, + "bbox": [ + 441.042, + 465.3, + 118.266, + 218.326 + ], + "area": 25820.542716, + "iscrowd": 0 + }, + { + "id": 3344, + "image_id": 668, + "category_id": 1, + "bbox": [ + 649.671, + 491.926, + 100.371, + 226.727 + ], + "area": 22756.815716999998, + "iscrowd": 0 + }, + { + "id": 3345, + "image_id": 668, + "category_id": 1, + "bbox": [ + 12.1782, + 450.23, + 67.877, + 79.9073 + ], + "area": 5423.8678021000005, + "iscrowd": 0 + }, + { + "id": 3346, + "image_id": 669, + "category_id": 1, + "bbox": [ + 32.1794, + 233.436, + 71.5239, + 103.376 + ], + "area": 7393.8546864, + "iscrowd": 0 + }, + { + "id": 3347, + "image_id": 669, + "category_id": 0, + "bbox": [ + 53.6276, + 254.234, + 48.6621, + 82.4276 + ], + "area": 4011.1001139600003, + "iscrowd": 0 + }, + { + "id": 3348, + "image_id": 669, + "category_id": 1, + "bbox": [ + 462.786, + 217.49, + 52.6345, + 109.241 + ], + "area": 5749.8454145000005, + "iscrowd": 0 + }, + { + "id": 3349, + "image_id": 669, + "category_id": 0, + "bbox": [ + 445.903, + 232.386, + 21.8483, + 77.4621 + ], + "area": 1692.41519943, + "iscrowd": 0 + }, + { + "id": 3350, + "image_id": 670, + "category_id": 1, + "bbox": [ + 355.806, + 292.254, + 245.932, + 422.516 + ], + "area": 103910.204912, + "iscrowd": 0 + }, + { + "id": 3351, + "image_id": 670, + "category_id": 1, + "bbox": [ + 314.575, + 428.594, + 122.189, + 287.509 + ], + "area": 35130.437201, + "iscrowd": 0 + }, + { + "id": 3352, + "image_id": 670, + "category_id": 0, + "bbox": [ + 349.69, + 475.991, + 92.792, + 228.544 + ], + "area": 21207.054848, + "iscrowd": 0 + }, + { + "id": 3353, + "image_id": 671, + "category_id": 1, + "bbox": [ + 766.402, + 498.431, + 111.019, + 220.17 + ], + "area": 24443.05323, + "iscrowd": 0 + }, + { + "id": 3354, + "image_id": 671, + "category_id": 1, + "bbox": [ + 0.088222, + 448.691, + 46.4513, + 245.272 + ], + "area": 11393.2032536, + "iscrowd": 0 + }, + { + "id": 3355, + "image_id": 671, + "category_id": 1, + "bbox": [ + 337.954, + 453.728, + 58.8924, + 111.468 + ], + "area": 6564.6180432, + "iscrowd": 0 + }, + { + "id": 3356, + "image_id": 672, + "category_id": 1, + "bbox": [ + 514.171, + 223.639, + 95.353, + 215.977 + ], + "area": 20594.054881, + "iscrowd": 0 + }, + { + "id": 3357, + "image_id": 672, + "category_id": 1, + "bbox": [ + 62.8266, + 228.47, + 76.2944, + 112.738 + ], + "area": 8601.278067199999, + "iscrowd": 0 + }, + { + "id": 3358, + "image_id": 672, + "category_id": 0, + "bbox": [ + 65.0688, + 254.617, + 53.7525, + 76.3851 + ], + "area": 4105.890087749999, + "iscrowd": 0 + }, + { + "id": 3359, + "image_id": 672, + "category_id": 0, + "bbox": [ + 1601.26, + 220.668, + 321.257, + 1.41454 + ], + "area": 454.43087678, + "iscrowd": 0 + }, + { + "id": 3360, + "image_id": 672, + "category_id": 0, + "bbox": [ + 516.489, + 235.892, + 20.3178, + 73.8212 + ], + "area": 1499.88437736, + "iscrowd": 0 + }, + { + "id": 3361, + "image_id": 673, + "category_id": 1, + "bbox": [ + 216.643, + 290.528, + 232.28, + 429.472 + ], + "area": 99757.75615999999, + "iscrowd": 0 + }, + { + "id": 3362, + "image_id": 673, + "category_id": 1, + "bbox": [ + 424.347, + 428.746, + 123.729, + 291.254 + ], + "area": 36036.566166000004, + "iscrowd": 0 + }, + { + "id": 3363, + "image_id": 674, + "category_id": 1, + "bbox": [ + 387.181, + 456.729, + 72.178, + 228.508 + ], + "area": 16493.250424, + "iscrowd": 0 + }, + { + "id": 3364, + "image_id": 674, + "category_id": 1, + "bbox": [ + 885.819, + 506.363, + 103.229, + 211.749 + ], + "area": 21858.637521, + "iscrowd": 0 + }, + { + "id": 3365, + "image_id": 674, + "category_id": 1, + "bbox": [ + 117.893, + 453.862, + 54.4881, + 160.916 + ], + "area": 8768.0070996, + "iscrowd": 0 + }, + { + "id": 3366, + "image_id": 674, + "category_id": 0, + "bbox": [ + 25.1718, + 485.806, + 47.7946, + 48.7505 + ], + "area": 2330.0106473, + "iscrowd": 0 + }, + { + "id": 3367, + "image_id": 674, + "category_id": 1, + "bbox": [ + 7.64714, + 447.252, + 59.9026, + 89.2165 + ], + "area": 5344.3003129, + "iscrowd": 0 + }, + { + "id": 3368, + "image_id": 675, + "category_id": 1, + "bbox": [ + 573.095, + 224.735, + 93.1646, + 231.854 + ], + "area": 21600.5851684, + "iscrowd": 0 + }, + { + "id": 3369, + "image_id": 675, + "category_id": 1, + "bbox": [ + 64.6871, + 226.369, + 74.2048, + 103.885 + ], + "area": 7708.765648000001, + "iscrowd": 0 + }, + { + "id": 3370, + "image_id": 675, + "category_id": 0, + "bbox": [ + 64.5517, + 257.214, + 69.5172, + 70.5103 + ], + "area": 4901.67862716, + "iscrowd": 0 + }, + { + "id": 3371, + "image_id": 676, + "category_id": 1, + "bbox": [ + 167.199, + 295.906, + 227.591, + 424.094 + ], + "area": 96519.977554, + "iscrowd": 0 + }, + { + "id": 3372, + "image_id": 676, + "category_id": 1, + "bbox": [ + 416.867, + 433.284, + 232.151, + 286.716 + ], + "area": 66561.406116, + "iscrowd": 0 + }, + { + "id": 3379, + "image_id": 678, + "category_id": 1, + "bbox": [ + 614.811, + 229.625, + 97.623, + 243.584 + ], + "area": 23779.400832000003, + "iscrowd": 0 + }, + { + "id": 3380, + "image_id": 678, + "category_id": 1, + "bbox": [ + 71.0392, + 226.143, + 89.8833, + 224.875 + ], + "area": 20212.507087500002, + "iscrowd": 0 + }, + { + "id": 3381, + "image_id": 678, + "category_id": 0, + "bbox": [ + 68.7352, + 255.179, + 60.1431, + 78.186 + ], + "area": 4702.3484166, + "iscrowd": 0 + }, + { + "id": 3382, + "image_id": 679, + "category_id": 1, + "bbox": [ + 403.907, + 436.585, + 203.245, + 279.974 + ], + "area": 56903.31563, + "iscrowd": 0 + }, + { + "id": 3383, + "image_id": 679, + "category_id": 1, + "bbox": [ + 296.896, + 307.306, + 168.632, + 407.238 + ], + "area": 68673.358416, + "iscrowd": 0 + }, + { + "id": 3384, + "image_id": 680, + "category_id": 1, + "bbox": [ + 452.302, + 463.932, + 90.2332, + 242.186 + ], + "area": 21853.2177752, + "iscrowd": 0 + }, + { + "id": 3385, + "image_id": 680, + "category_id": 1, + "bbox": [ + 1116.97, + 519.27, + 150.03, + 198.761 + ], + "area": 29820.11283, + "iscrowd": 0 + }, + { + "id": 3386, + "image_id": 680, + "category_id": 1, + "bbox": [ + 195.963, + 457.694, + 106.886, + 208.805 + ], + "area": 22318.33123, + "iscrowd": 0 + }, + { + "id": 3387, + "image_id": 680, + "category_id": 1, + "bbox": [ + 106.692, + 451.122, + 64.725, + 183.989 + ], + "area": 11908.688025, + "iscrowd": 0 + }, + { + "id": 3388, + "image_id": 680, + "category_id": 1, + "bbox": [ + 0.268891, + 446.241, + 71.743, + 132.07 + ], + "area": 9475.09801, + "iscrowd": 0 + }, + { + "id": 3389, + "image_id": 680, + "category_id": 0, + "bbox": [ + 251.255, + 499.531, + 56.6069, + 46.6759 + ], + "area": 2642.17800371, + "iscrowd": 0 + }, + { + "id": 3390, + "image_id": 680, + "category_id": 0, + "bbox": [ + 122.152, + 486.621, + 46.6759, + 65.5448 + ], + "area": 3059.3625303199997, + "iscrowd": 0 + }, + { + "id": 3391, + "image_id": 681, + "category_id": 1, + "bbox": [ + 649.302, + 234.446, + 101.168, + 269.537 + ], + "area": 27268.519216, + "iscrowd": 0 + }, + { + "id": 3392, + "image_id": 681, + "category_id": 1, + "bbox": [ + 73.4943, + 221.966, + 72.857, + 230.661 + ], + "area": 16805.268477, + "iscrowd": 0 + }, + { + "id": 3393, + "image_id": 681, + "category_id": 0, + "bbox": [ + 72.1415, + 254.617, + 53.7525, + 76.3851 + ], + "area": 4105.890087749999, + "iscrowd": 0 + }, + { + "id": 3394, + "image_id": 682, + "category_id": 1, + "bbox": [ + 289.833, + 426.922, + 236.439, + 290.609 + ], + "area": 68711.30135099999, + "iscrowd": 0 + }, + { + "id": 3395, + "image_id": 682, + "category_id": 1, + "bbox": [ + 424.286, + 319.788, + 157.108, + 303.18 + ], + "area": 47632.00344, + "iscrowd": 0 + }, + { + "id": 3396, + "image_id": 682, + "category_id": 0, + "bbox": [ + 499.531, + 441.931, + 79.4483, + 126.124 + ], + "area": 10020.3373892, + "iscrowd": 0 + }, + { + "id": 3397, + "image_id": 683, + "category_id": 1, + "bbox": [ + 491.616, + 463.779, + 69.7301, + 249.572 + ], + "area": 17402.6805172, + "iscrowd": 0 + }, + { + "id": 3398, + "image_id": 683, + "category_id": 1, + "bbox": [ + 158.186, + 450.143, + 60.9338, + 192.998 + ], + "area": 11760.101532399998, + "iscrowd": 0 + }, + { + "id": 3399, + "image_id": 683, + "category_id": 1, + "bbox": [ + 49.9327, + 447.604, + 72.7038, + 94.1072 + ], + "area": 6841.95104736, + "iscrowd": 0 + }, + { + "id": 3400, + "image_id": 683, + "category_id": 1, + "bbox": [ + 266.693, + 492.217, + 43.6216, + 78.2568 + ], + "area": 3413.68682688, + "iscrowd": 0 + }, + { + "id": 3401, + "image_id": 683, + "category_id": 0, + "bbox": [ + 171.807, + 483.641, + 52.6345, + 85.4069 + ], + "area": 4495.34947805, + "iscrowd": 0 + }, + { + "id": 3402, + "image_id": 684, + "category_id": 1, + "bbox": [ + 680.485, + 240.455, + 99.5549, + 295.698 + ], + "area": 29438.1848202, + "iscrowd": 0 + }, + { + "id": 3403, + "image_id": 684, + "category_id": 1, + "bbox": [ + 72.7863, + 226.363, + 66.622, + 219.731 + ], + "area": 14638.918682, + "iscrowd": 0 + }, + { + "id": 3404, + "image_id": 684, + "category_id": 0, + "bbox": [ + 67.8978, + 256.031, + 59.4106, + 70.7269 + ], + "area": 4201.92756514, + "iscrowd": 0 + }, + { + "id": 3405, + "image_id": 685, + "category_id": 1, + "bbox": [ + 481.517, + 329.346, + 146.539, + 387.644 + ], + "area": 56804.964115999996, + "iscrowd": 0 + }, + { + "id": 3406, + "image_id": 685, + "category_id": 1, + "bbox": [ + 335.651, + 430.887, + 149.602, + 286.08 + ], + "area": 42798.140159999995, + "iscrowd": 0 + }, + { + "id": 3407, + "image_id": 685, + "category_id": 0, + "bbox": [ + 607.779, + 466.759, + 58.5931, + 88.3862 + ], + "area": 5178.82145522, + "iscrowd": 0 + }, + { + "id": 3408, + "image_id": 686, + "category_id": 1, + "bbox": [ + 513.78, + 465.255, + 100.848, + 253.028 + ], + "area": 25517.367744, + "iscrowd": 0 + }, + { + "id": 3409, + "image_id": 686, + "category_id": 1, + "bbox": [ + 208.286, + 451.813, + 61.2458, + 215.78 + ], + "area": 13215.618724, + "iscrowd": 0 + }, + { + "id": 3410, + "image_id": 686, + "category_id": 1, + "bbox": [ + 327.537, + 459.05, + 71.8522, + 106.865 + ], + "area": 7678.485352999999, + "iscrowd": 0 + }, + { + "id": 3411, + "image_id": 686, + "category_id": 1, + "bbox": [ + 103.533, + 444.76, + 69.0262, + 102.962 + ], + "area": 7107.075604400001, + "iscrowd": 0 + }, + { + "id": 3412, + "image_id": 686, + "category_id": 0, + "bbox": [ + 233.635, + 491.384, + 36.0572, + 60.3959 + ], + "area": 2177.70704548, + "iscrowd": 0 + }, + { + "id": 3413, + "image_id": 686, + "category_id": 0, + "bbox": [ + 365.244, + 493.186, + 28.3951, + 60.3959 + ], + "area": 1714.9476200899999, + "iscrowd": 0 + }, + { + "id": 3414, + "image_id": 686, + "category_id": 1, + "bbox": [ + 1.24345e-15, + 452.184, + 36.134, + 187.046 + ], + "area": 6758.720163999999, + "iscrowd": 0 + }, + { + "id": 3415, + "image_id": 687, + "category_id": 1, + "bbox": [ + 707.609, + 254.748, + 118.352, + 325.181 + ], + "area": 38485.821712, + "iscrowd": 0 + }, + { + "id": 3416, + "image_id": 687, + "category_id": 1, + "bbox": [ + 65.5302, + 226.292, + 73.7671, + 104.996 + ], + "area": 7745.2504315999995, + "iscrowd": 0 + }, + { + "id": 3417, + "image_id": 687, + "category_id": 0, + "bbox": [ + 63.5586, + 255.228, + 68.5241, + 76.469 + ], + "area": 5239.9694029, + "iscrowd": 0 + }, + { + "id": 3418, + "image_id": 688, + "category_id": 1, + "bbox": [ + 530.97, + 325.69, + 175.109, + 394.31 + ], + "area": 69047.22979, + "iscrowd": 0 + }, + { + "id": 3419, + "image_id": 688, + "category_id": 1, + "bbox": [ + 316.389, + 431.312, + 179.562, + 288.688 + ], + "area": 51837.394656000004, + "iscrowd": 0 + }, + { + "id": 3420, + "image_id": 689, + "category_id": 1, + "bbox": [ + 531.743, + 466.586, + 105.189, + 253.414 + ], + "area": 26656.365245999998, + "iscrowd": 0 + }, + { + "id": 3421, + "image_id": 689, + "category_id": 1, + "bbox": [ + 388.973, + 463.835, + 69.7437, + 220.403 + ], + "area": 15371.7207111, + "iscrowd": 0 + }, + { + "id": 3422, + "image_id": 689, + "category_id": 1, + "bbox": [ + 143.257, + 447.112, + 70.0674, + 199.482 + ], + "area": 13977.185086800002, + "iscrowd": 0 + }, + { + "id": 3423, + "image_id": 689, + "category_id": 1, + "bbox": [ + 269.342, + 485.956, + 41.1619, + 84.4369 + ], + "area": 3475.58323411, + "iscrowd": 0 + }, + { + "id": 3424, + "image_id": 689, + "category_id": 1, + "bbox": [ + 11.5776, + 451.264, + 67.8739, + 87.1345 + ], + "area": 5914.158339550001, + "iscrowd": 0 + }, + { + "id": 3425, + "image_id": 689, + "category_id": 0, + "bbox": [ + 432.637, + 503.124, + 23.1884, + 59.4575 + ], + "area": 1378.7242930000002, + "iscrowd": 0 + }, + { + "id": 3426, + "image_id": 689, + "category_id": 0, + "bbox": [ + 11.0599, + 458.938, + 64.5162, + 56.8796 + ], + "area": 3669.65564952, + "iscrowd": 0 + }, + { + "id": 3430, + "image_id": 691, + "category_id": 1, + "bbox": [ + 303.375, + 430.288, + 221.028, + 286.667 + ], + "area": 63361.43367599999, + "iscrowd": 0 + }, + { + "id": 3431, + "image_id": 691, + "category_id": 1, + "bbox": [ + 570.969, + 325.01, + 153.549, + 392.551 + ], + "area": 60275.813499, + "iscrowd": 0 + }, + { + "id": 3432, + "image_id": 691, + "category_id": 0, + "bbox": [ + 550.255, + 445.58, + 56.5815, + 154.185 + ], + "area": 8724.018577499999, + "iscrowd": 0 + }, + { + "id": 3433, + "image_id": 692, + "category_id": 1, + "bbox": [ + 534.756, + 471.197, + 119.029, + 246.335 + ], + "area": 29321.008715, + "iscrowd": 0 + }, + { + "id": 3434, + "image_id": 692, + "category_id": 1, + "bbox": [ + 421.834, + 465.563, + 88.6529, + 226.072 + ], + "area": 20041.9384088, + "iscrowd": 0 + }, + { + "id": 3435, + "image_id": 692, + "category_id": 1, + "bbox": [ + 170.48, + 450.825, + 95.7988, + 217.999 + ], + "area": 20884.0426012, + "iscrowd": 0 + }, + { + "id": 3436, + "image_id": 692, + "category_id": 1, + "bbox": [ + 323.922, + 456.499, + 56.4334, + 111.325 + ], + "area": 6282.448255, + "iscrowd": 0 + }, + { + "id": 3437, + "image_id": 692, + "category_id": 0, + "bbox": [ + 471.724, + 495.559, + 42.7034, + 69.5172 + ], + "area": 2968.6207984800003, + "iscrowd": 0 + }, + { + "id": 3438, + "image_id": 692, + "category_id": 0, + "bbox": [ + 328.717, + 489.6, + 61.5724, + 67.531 + ], + "area": 4158.0457444, + "iscrowd": 0 + }, + { + "id": 3439, + "image_id": 692, + "category_id": 0, + "bbox": [ + 221.462, + 490.593, + 42.7034, + 63.5586 + ], + "area": 2714.16831924, + "iscrowd": 0 + }, + { + "id": 3443, + "image_id": 694, + "category_id": 1, + "bbox": [ + 357.348, + 427.12, + 171.877, + 290.452 + ], + "area": 49922.018404, + "iscrowd": 0 + }, + { + "id": 3444, + "image_id": 694, + "category_id": 1, + "bbox": [ + 592.349, + 321.629, + 135.296, + 394.693 + ], + "area": 53400.384128, + "iscrowd": 0 + }, + { + "id": 3445, + "image_id": 694, + "category_id": 0, + "bbox": [ + 551.67, + 444.165, + 87.7014, + 158.428 + ], + "area": 13894.3573992, + "iscrowd": 0 + }, + { + "id": 3446, + "image_id": 695, + "category_id": 1, + "bbox": [ + 533.891, + 478.467, + 127.453, + 239.76 + ], + "area": 30558.131279999998, + "iscrowd": 0 + }, + { + "id": 3447, + "image_id": 695, + "category_id": 1, + "bbox": [ + 469.824, + 463.361, + 72.5599, + 227.4 + ], + "area": 16500.12126, + "iscrowd": 0 + }, + { + "id": 3448, + "image_id": 695, + "category_id": 1, + "bbox": [ + 369.234, + 458.349, + 87.8696, + 223.989 + ], + "area": 19681.823834400002, + "iscrowd": 0 + }, + { + "id": 3449, + "image_id": 695, + "category_id": 1, + "bbox": [ + 114.525, + 456.858, + 75.4863, + 186.417 + ], + "area": 14071.9295871, + "iscrowd": 0 + }, + { + "id": 3450, + "image_id": 695, + "category_id": 1, + "bbox": [ + 250.135, + 450.814, + 59.7918, + 118.145 + ], + "area": 7064.102211, + "iscrowd": 0 + }, + { + "id": 3451, + "image_id": 695, + "category_id": 0, + "bbox": [ + 378.372, + 495.559, + 47.669, + 63.5586 + ], + "area": 3029.7749034, + "iscrowd": 0 + }, + { + "id": 3452, + "image_id": 695, + "category_id": 0, + "bbox": [ + 511.448, + 504.497, + 34.7586, + 58.5931 + ], + "area": 2036.6141256600001, + "iscrowd": 0 + }, + { + "id": 3453, + "image_id": 695, + "category_id": 0, + "bbox": [ + 150.952, + 489.6, + 27.8069, + 50.6483 + ], + "area": 1408.37221327, + "iscrowd": 0 + }, + { + "id": 3454, + "image_id": 696, + "category_id": 1, + "bbox": [ + 681.523, + 342.273, + 160.36, + 374.09 + ], + "area": 59989.072400000005, + "iscrowd": 0 + }, + { + "id": 3455, + "image_id": 696, + "category_id": 1, + "bbox": [ + 70.9845, + 226.773, + 81.978, + 222.523 + ], + "area": 18241.990493999998, + "iscrowd": 0 + }, + { + "id": 3456, + "image_id": 696, + "category_id": 0, + "bbox": [ + 65.0688, + 254.617, + 59.4106, + 82.0432 + ], + "area": 4874.23573792, + "iscrowd": 0 + }, + { + "id": 3457, + "image_id": 697, + "category_id": 1, + "bbox": [ + 552.929, + 317.727, + 175.107, + 402.273 + ], + "area": 70440.818211, + "iscrowd": 0 + }, + { + "id": 3458, + "image_id": 697, + "category_id": 1, + "bbox": [ + 430.033, + 429.028, + 120.594, + 290.972 + ], + "area": 35089.47736799999, + "iscrowd": 0 + }, + { + "id": 3459, + "image_id": 697, + "category_id": 0, + "bbox": [ + 521.529, + 429.027, + 83.6405, + 150.661 + ], + "area": 12601.3613705, + "iscrowd": 0 + }, + { + "id": 3460, + "image_id": 698, + "category_id": 1, + "bbox": [ + 530.608, + 479.292, + 134.502, + 239.173 + ], + "area": 32169.246846000002, + "iscrowd": 0 + }, + { + "id": 3461, + "image_id": 698, + "category_id": 1, + "bbox": [ + 496.479, + 467.03, + 78.2854, + 226.299 + ], + "area": 17715.9077346, + "iscrowd": 0 + }, + { + "id": 3462, + "image_id": 698, + "category_id": 1, + "bbox": [ + 405.783, + 458.871, + 64.2604, + 236.78 + ], + "area": 15215.577512000002, + "iscrowd": 0 + }, + { + "id": 3463, + "image_id": 698, + "category_id": 1, + "bbox": [ + 159.694, + 456.045, + 81.0025, + 190.048 + ], + "area": 15394.36312, + "iscrowd": 0 + }, + { + "id": 3464, + "image_id": 698, + "category_id": 0, + "bbox": [ + 198.621, + 487.614, + 36.7448, + 36.7448 + ], + "area": 1350.1803270399998, + "iscrowd": 0 + }, + { + "id": 3465, + "image_id": 698, + "category_id": 0, + "bbox": [ + 417.103, + 498.538, + 41.7103, + 66.5379 + ], + "area": 2775.3157703699994, + "iscrowd": 0 + }, + { + "id": 3466, + "image_id": 699, + "category_id": 1, + "bbox": [ + 652.938, + 398.26, + 195.245, + 318.972 + ], + "area": 62277.68814, + "iscrowd": 0 + }, + { + "id": 3467, + "image_id": 699, + "category_id": 1, + "bbox": [ + 65.1231, + 226.877, + 73.9897, + 104.842 + ], + "area": 7757.2281274, + "iscrowd": 0 + }, + { + "id": 3468, + "image_id": 699, + "category_id": 0, + "bbox": [ + 766.676, + 417.103, + 42.7034, + 61.5724 + ], + "area": 2629.35082616, + "iscrowd": 0 + }, + { + "id": 3469, + "image_id": 699, + "category_id": 0, + "bbox": [ + 68.5241, + 257.214, + 64.5517, + 72.4966 + ], + "area": 4679.77877422, + "iscrowd": 0 + }, + { + "id": 3470, + "image_id": 700, + "category_id": 1, + "bbox": [ + 559.491, + 322.669, + 151.126, + 393.738 + ], + "area": 59504.048988, + "iscrowd": 0 + }, + { + "id": 3471, + "image_id": 700, + "category_id": 1, + "bbox": [ + 496.325, + 431.593, + 99.1557, + 285.509 + ], + "area": 28309.8447513, + "iscrowd": 0 + }, + { + "id": 3472, + "image_id": 700, + "category_id": 0, + "bbox": [ + 530.452, + 438.507, + 49.5088, + 121.65 + ], + "area": 6022.74552, + "iscrowd": 0 + }, + { + "id": 3473, + "image_id": 701, + "category_id": 1, + "bbox": [ + 500.14, + 479.683, + 155.349, + 238.338 + ], + "area": 37025.569961999994, + "iscrowd": 0 + }, + { + "id": 3474, + "image_id": 701, + "category_id": 1, + "bbox": [ + 426.202, + 459.229, + 75.8011, + 245.859 + ], + "area": 18636.3826449, + "iscrowd": 0 + }, + { + "id": 3475, + "image_id": 701, + "category_id": 1, + "bbox": [ + 211.733, + 458.84, + 66.3403, + 209.868 + ], + "area": 13922.7060804, + "iscrowd": 0 + }, + { + "id": 3476, + "image_id": 701, + "category_id": 1, + "bbox": [ + 346.59, + 456.126, + 65.1331, + 106.848 + ], + "area": 6959.3414688, + "iscrowd": 0 + }, + { + "id": 3477, + "image_id": 701, + "category_id": 0, + "bbox": [ + 430.014, + 493.572, + 54.6207, + 65.5448 + ], + "area": 3580.1028573599997, + "iscrowd": 0 + }, + { + "id": 3478, + "image_id": 702, + "category_id": 1, + "bbox": [ + 585.72, + 486.966, + 233.208, + 230.67 + ], + "area": 53794.08936, + "iscrowd": 0 + }, + { + "id": 3479, + "image_id": 702, + "category_id": 1, + "bbox": [ + 64.1542, + 226.549, + 74.164, + 104.451 + ], + "area": 7746.5039639999995, + "iscrowd": 0 + }, + { + "id": 3480, + "image_id": 702, + "category_id": 0, + "bbox": [ + 65.5448, + 256.221, + 58.5931, + 75.4759 + ], + "area": 4422.3669562899995, + "iscrowd": 0 + }, + { + "id": 3481, + "image_id": 702, + "category_id": 0, + "bbox": [ + 721.986, + 501.517, + 62.5655, + 74.4828 + ], + "area": 4660.0536234, + "iscrowd": 0 + }, + { + "id": 3482, + "image_id": 703, + "category_id": 1, + "bbox": [ + 513.841, + 327.148, + 177.263, + 392.852 + ], + "area": 69638.124076, + "iscrowd": 0 + }, + { + "id": 3483, + "image_id": 704, + "category_id": 1, + "bbox": [ + 536.802, + 486.027, + 113.633, + 232.795 + ], + "area": 26453.194235, + "iscrowd": 0 + }, + { + "id": 3484, + "image_id": 704, + "category_id": 1, + "bbox": [ + 451.435, + 464.097, + 75.9642, + 255.155 + ], + "area": 19382.645451, + "iscrowd": 0 + }, + { + "id": 3485, + "image_id": 704, + "category_id": 1, + "bbox": [ + 400.292, + 455.829, + 62.9082, + 229.838 + ], + "area": 14458.6948716, + "iscrowd": 0 + }, + { + "id": 3486, + "image_id": 704, + "category_id": 1, + "bbox": [ + 259.173, + 468.855, + 51.2213, + 102.29 + ], + "area": 5239.426777000001, + "iscrowd": 0 + }, + { + "id": 3487, + "image_id": 704, + "category_id": 1, + "bbox": [ + 0.164669, + 463.202, + 45.0816, + 235.727 + ], + "area": 10626.9503232, + "iscrowd": 0 + }, + { + "id": 3488, + "image_id": 704, + "category_id": 0, + "bbox": [ + 615.946, + 507.446, + 33.0742, + 42.3258 + ], + "area": 1399.89197436, + "iscrowd": 0 + }, + { + "id": 3489, + "image_id": 704, + "category_id": 1, + "bbox": [ + 586.572, + 466.508, + 30.9926, + 31.6865 + ], + "area": 982.0470198999999, + "iscrowd": 0 + }, + { + "id": 3490, + "image_id": 704, + "category_id": 0, + "bbox": [ + 456.125, + 503.283, + 47.4141, + 73.781 + ], + "area": 3498.2597121, + "iscrowd": 0 + }, + { + "id": 3491, + "image_id": 704, + "category_id": 0, + "bbox": [ + 271.217, + 462.811, + 26.8879, + 63.1282 + ], + "area": 1697.38472878, + "iscrowd": 0 + }, + { + "id": 3492, + "image_id": 704, + "category_id": 0, + "bbox": [ + 15.1975, + 480.347, + 30.395, + 58.452 + ], + "area": 1776.64854, + "iscrowd": 0 + }, + { + "id": 3493, + "image_id": 705, + "category_id": 1, + "bbox": [ + 64.7511, + 227.005, + 73.2065, + 104.363 + ], + "area": 7640.0499595, + "iscrowd": 0 + }, + { + "id": 3494, + "image_id": 705, + "category_id": 0, + "bbox": [ + 59.5862, + 254.234, + 72.4966, + 78.4552 + ], + "area": 5687.735252320001, + "iscrowd": 0 + }, + { + "id": 3495, + "image_id": 706, + "category_id": 1, + "bbox": [ + 390.203, + 331.417, + 217.181, + 385.288 + ], + "area": 83677.233128, + "iscrowd": 0 + }, + { + "id": 3496, + "image_id": 706, + "category_id": 1, + "bbox": [ + 577.239, + 436.104, + 108.85, + 281.973 + ], + "area": 30692.76105, + "iscrowd": 0 + }, + { + "id": 3497, + "image_id": 706, + "category_id": 1, + "bbox": [ + 577.146, + 433.804, + 71.7622, + 285.138 + ], + "area": 20462.130183600002, + "iscrowd": 0 + }, + { + "id": 3498, + "image_id": 706, + "category_id": 0, + "bbox": [ + 606.786, + 454.841, + 75.4759, + 115.2 + ], + "area": 8694.82368, + "iscrowd": 0 + }, + { + "id": 3499, + "image_id": 707, + "category_id": 1, + "bbox": [ + 544.345, + 484.033, + 118.381, + 234.542 + ], + "area": 27765.316502, + "iscrowd": 0 + }, + { + "id": 3500, + "image_id": 707, + "category_id": 1, + "bbox": [ + 460.626, + 470.727, + 77.6265, + 247.962 + ], + "area": 19248.422193, + "iscrowd": 0 + }, + { + "id": 3501, + "image_id": 707, + "category_id": 1, + "bbox": [ + 625.415, + 474.202, + 70.6843, + 244.203 + ], + "area": 17261.318112899997, + "iscrowd": 0 + }, + { + "id": 3502, + "image_id": 707, + "category_id": 1, + "bbox": [ + 323.538, + 461.472, + 50.9268, + 106.064 + ], + "area": 5401.5001151999995, + "iscrowd": 0 + }, + { + "id": 3503, + "image_id": 707, + "category_id": 1, + "bbox": [ + 13.6945, + 465.434, + 66.7134, + 69.5344 + ], + "area": 4638.876240959999, + "iscrowd": 0 + }, + { + "id": 3504, + "image_id": 707, + "category_id": 1, + "bbox": [ + 447.263, + 456.457, + 42.4913, + 228.391 + ], + "area": 9704.6304983, + "iscrowd": 0 + }, + { + "id": 3505, + "image_id": 707, + "category_id": 0, + "bbox": [ + 458.814, + 511.448, + 60.5793, + 80.4414 + ], + "area": 4873.08370302, + "iscrowd": 0 + }, + { + "id": 3506, + "image_id": 707, + "category_id": 0, + "bbox": [ + 654.455, + 525.352, + 39.7241, + 83.4207 + ], + "area": 3313.8122288699997, + "iscrowd": 0 + }, + { + "id": 3507, + "image_id": 707, + "category_id": 0, + "bbox": [ + 346.593, + 480.662, + 30.7862, + 52.6345 + ], + "area": 1620.4162439000002, + "iscrowd": 0 + }, + { + "id": 3508, + "image_id": 708, + "category_id": 1, + "bbox": [ + 65.1832, + 226.577, + 71.9812, + 104.985 + ], + "area": 7556.946282, + "iscrowd": 0 + }, + { + "id": 3509, + "image_id": 708, + "category_id": 0, + "bbox": [ + 66.1739, + 254.342, + 62.8525, + 75.8432 + ], + "area": 4766.934727999999, + "iscrowd": 0 + }, + { + "id": 3510, + "image_id": 709, + "category_id": 1, + "bbox": [ + 379.809, + 335.745, + 183.064, + 381.211 + ], + "area": 69786.010504, + "iscrowd": 0 + }, + { + "id": 3511, + "image_id": 709, + "category_id": 1, + "bbox": [ + 559.547, + 433.697, + 147.419, + 285.035 + ], + "area": 42019.57466500001, + "iscrowd": 0 + }, + { + "id": 3512, + "image_id": 709, + "category_id": 0, + "bbox": [ + 587.917, + 472.717, + 99.3103, + 118.179 + ], + "area": 11736.3919437, + "iscrowd": 0 + }, + { + "id": 3513, + "image_id": 710, + "category_id": 1, + "bbox": [ + 528.796, + 482.576, + 138.539, + 236.307 + ], + "area": 32737.735472999997, + "iscrowd": 0 + }, + { + "id": 3514, + "image_id": 710, + "category_id": 1, + "bbox": [ + 449.683, + 472.999, + 93.9017, + 245.018 + ], + "area": 23007.6067306, + "iscrowd": 0 + }, + { + "id": 3515, + "image_id": 710, + "category_id": 1, + "bbox": [ + 635.677, + 480.687, + 99.9727, + 237.637 + ], + "area": 23757.2125099, + "iscrowd": 0 + }, + { + "id": 3516, + "image_id": 710, + "category_id": 1, + "bbox": [ + 515.772, + 461.466, + 49.2468, + 186.929 + ], + "area": 9205.655077200001, + "iscrowd": 0 + }, + { + "id": 3517, + "image_id": 710, + "category_id": 1, + "bbox": [ + 347.586, + 456.828, + 70.5103, + 103.283 + ], + "area": 7282.5153149, + "iscrowd": 0 + }, + { + "id": 3518, + "image_id": 710, + "category_id": 0, + "bbox": [ + 365.462, + 491.586, + 33.7655, + 39.7241 + ], + "area": 1341.3040985500002, + "iscrowd": 0 + }, + { + "id": 3519, + "image_id": 710, + "category_id": 0, + "bbox": [ + 455.834, + 521.379, + 54.6207, + 91.3655 + ], + "area": 4990.44756585, + "iscrowd": 0 + }, + { + "id": 3520, + "image_id": 710, + "category_id": 0, + "bbox": [ + 694.179, + 529.324, + 40.7172, + 49.6552 + ], + "area": 2021.82070944, + "iscrowd": 0 + }, + { + "id": 3521, + "image_id": 711, + "category_id": 1, + "bbox": [ + 87.1401, + 225.652, + 77.1891, + 218.207 + ], + "area": 16843.201943699998, + "iscrowd": 0 + }, + { + "id": 3522, + "image_id": 711, + "category_id": 0, + "bbox": [ + 84.8723, + 253.202, + 62.2397, + 59.4106 + ], + "area": 3697.69792082, + "iscrowd": 0 + }, + { + "id": 3523, + "image_id": 712, + "category_id": 1, + "bbox": [ + 397.937, + 337.336, + 170.274, + 382.664 + ], + "area": 65157.729935999996, + "iscrowd": 0 + }, + { + "id": 3524, + "image_id": 712, + "category_id": 1, + "bbox": [ + 547.155, + 437.34, + 162.072, + 282.66 + ], + "area": 45811.27152, + "iscrowd": 0 + }, + { + "id": 3525, + "image_id": 712, + "category_id": 0, + "bbox": [ + 570.006, + 502.853, + 123.624, + 105.897 + ], + "area": 13091.410728, + "iscrowd": 0 + }, + { + "id": 3526, + "image_id": 713, + "category_id": 1, + "bbox": [ + 688.588, + 482.864, + 99.0269, + 235.101 + ], + "area": 23281.3232169, + "iscrowd": 0 + }, + { + "id": 3527, + "image_id": 713, + "category_id": 1, + "bbox": [ + 540.775, + 484.647, + 112.945, + 234.047 + ], + "area": 26434.438414999997, + "iscrowd": 0 + }, + { + "id": 3528, + "image_id": 713, + "category_id": 1, + "bbox": [ + 452.511, + 471.042, + 98.4208, + 247.376 + ], + "area": 24346.9438208, + "iscrowd": 0 + }, + { + "id": 3529, + "image_id": 713, + "category_id": 1, + "bbox": [ + 393.948, + 464.524, + 71.5817, + 222.654 + ], + "area": 15937.9518318, + "iscrowd": 0 + }, + { + "id": 3530, + "image_id": 713, + "category_id": 1, + "bbox": [ + 135.863, + 472.657, + 82.0294, + 196.584 + ], + "area": 16125.6675696, + "iscrowd": 0 + }, + { + "id": 3531, + "image_id": 713, + "category_id": 1, + "bbox": [ + 546.562, + 460.95, + 46.0066, + 184.183 + ], + "area": 8473.633607799999, + "iscrowd": 0 + }, + { + "id": 3532, + "image_id": 713, + "category_id": 0, + "bbox": [ + 735.89, + 527.338, + 53.6276, + 68.5241 + ], + "area": 3674.7830251600003, + "iscrowd": 0 + }, + { + "id": 3533, + "image_id": 713, + "category_id": 0, + "bbox": [ + 453.848, + 525.352, + 73.4897, + 87.3931 + ], + "area": 6422.49270107, + "iscrowd": 0 + }, + { + "id": 3534, + "image_id": 713, + "category_id": 0, + "bbox": [ + 187.697, + 492.579, + 36.7448, + 66.5379 + ], + "area": 2444.9218279199995, + "iscrowd": 0 + }, + { + "id": 3535, + "image_id": 713, + "category_id": 0, + "bbox": [ + 393.269, + 465.766, + 36.7448, + 58.5931 + ], + "area": 2152.9917408799997, + "iscrowd": 0 + }, + { + "id": 3536, + "image_id": 714, + "category_id": 1, + "bbox": [ + 508.069, + 441.396, + 203.789, + 276.592 + ], + "area": 56366.40708799999, + "iscrowd": 0 + }, + { + "id": 3537, + "image_id": 714, + "category_id": 1, + "bbox": [ + 504.129, + 337.615, + 118.474, + 240.155 + ], + "area": 28452.123470000002, + "iscrowd": 0 + }, + { + "id": 3538, + "image_id": 714, + "category_id": 0, + "bbox": [ + 524.794, + 519.136, + 93.3595, + 101.847 + ], + "area": 9508.384996499999, + "iscrowd": 0 + }, + { + "id": 3539, + "image_id": 715, + "category_id": 1, + "bbox": [ + 745.396, + 480.674, + 94.0365, + 237.213 + ], + "area": 22306.6802745, + "iscrowd": 0 + }, + { + "id": 3540, + "image_id": 715, + "category_id": 1, + "bbox": [ + 491.884, + 486.792, + 151.472, + 231.029 + ], + "area": 34994.424688, + "iscrowd": 0 + }, + { + "id": 3541, + "image_id": 715, + "category_id": 1, + "bbox": [ + 414.567, + 468.108, + 110.767, + 249.749 + ], + "area": 27663.947483, + "iscrowd": 0 + }, + { + "id": 3542, + "image_id": 715, + "category_id": 1, + "bbox": [ + 191.766, + 467.402, + 80.0497, + 203.346 + ], + "area": 16277.7862962, + "iscrowd": 0 + }, + { + "id": 3543, + "image_id": 715, + "category_id": 0, + "bbox": [ + 242.165, + 489.801, + 33.443, + 77.1561 + ], + "area": 2580.3314522999995, + "iscrowd": 0 + }, + { + "id": 3544, + "image_id": 715, + "category_id": 0, + "bbox": [ + 416.227, + 537.728, + 70.0461, + 97.9591 + ], + "area": 6861.65291451, + "iscrowd": 0 + }, + { + "id": 3545, + "image_id": 715, + "category_id": 0, + "bbox": [ + 773.096, + 545.696, + 37.3205, + 77.6097 + ], + "area": 2896.43280885, + "iscrowd": 0 + }, + { + "id": 3546, + "image_id": 715, + "category_id": 1, + "bbox": [ + 598.368, + 463.421, + 57.2532, + 183.634 + ], + "area": 10513.634128799999, + "iscrowd": 0 + }, + { + "id": 3550, + "image_id": 717, + "category_id": 1, + "bbox": [ + 745.076, + 489.299, + 104.483, + 229.124 + ], + "area": 23939.562892, + "iscrowd": 0 + }, + { + "id": 3551, + "image_id": 717, + "category_id": 1, + "bbox": [ + 611.723, + 468.611, + 86.4006, + 249.611 + ], + "area": 21566.5401666, + "iscrowd": 0 + }, + { + "id": 3552, + "image_id": 717, + "category_id": 1, + "bbox": [ + 514.089, + 486.81, + 101.925, + 232.09 + ], + "area": 23655.77325, + "iscrowd": 0 + }, + { + "id": 3553, + "image_id": 717, + "category_id": 1, + "bbox": [ + 256.158, + 472.543, + 54.2279, + 98.1052 + ], + "area": 5320.03897508, + "iscrowd": 0 + }, + { + "id": 3554, + "image_id": 717, + "category_id": 1, + "bbox": [ + 395.049, + 489.015, + 113.4, + 227.247 + ], + "area": 25769.809800000003, + "iscrowd": 0 + }, + { + "id": 3555, + "image_id": 717, + "category_id": 1, + "bbox": [ + 475.468, + 465.145, + 57.6365, + 233.153 + ], + "area": 13438.122884499999, + "iscrowd": 0 + }, + { + "id": 3556, + "image_id": 717, + "category_id": 0, + "bbox": [ + 388.373, + 548.755, + 60.5356, + 107.437 + ], + "area": 6503.7632572, + "iscrowd": 0 + }, + { + "id": 3557, + "image_id": 717, + "category_id": 0, + "bbox": [ + 784.853, + 555.3, + 48.5376, + 82.8956 + ], + "area": 4023.55347456, + "iscrowd": 0 + }, + { + "id": 3558, + "image_id": 717, + "category_id": 0, + "bbox": [ + 471.741, + 480.584, + 35.4488, + 47.4468 + ], + "area": 1681.93212384, + "iscrowd": 0 + }, + { + "id": 3559, + "image_id": 718, + "category_id": 1, + "bbox": [ + 608.537, + 337.675, + 176.533, + 380.0 + ], + "area": 67082.54, + "iscrowd": 0 + }, + { + "id": 3560, + "image_id": 718, + "category_id": 1, + "bbox": [ + 328.594, + 429.078, + 173.591, + 287.876 + ], + "area": 49972.682715999996, + "iscrowd": 0 + }, + { + "id": 3561, + "image_id": 719, + "category_id": 1, + "bbox": [ + 751.875, + 498.125, + 112.009, + 220.028 + ], + "area": 24645.116252, + "iscrowd": 0 + }, + { + "id": 3562, + "image_id": 719, + "category_id": 1, + "bbox": [ + 637.781, + 467.19, + 110.009, + 250.862 + ], + "area": 27597.077758, + "iscrowd": 0 + }, + { + "id": 3563, + "image_id": 719, + "category_id": 1, + "bbox": [ + 337.761, + 495.349, + 127.921, + 223.71 + ], + "area": 28617.20691, + "iscrowd": 0 + }, + { + "id": 3564, + "image_id": 719, + "category_id": 1, + "bbox": [ + 370.0, + 493.162, + 233.68, + 224.626 + ], + "area": 52490.60368, + "iscrowd": 0 + }, + { + "id": 3565, + "image_id": 719, + "category_id": 1, + "bbox": [ + 1155.79, + 579.478, + 123.613, + 139.02 + ], + "area": 17184.67926, + "iscrowd": 0 + }, + { + "id": 3566, + "image_id": 719, + "category_id": 1, + "bbox": [ + 323.992, + 475.017, + 43.1835, + 95.6639 + ], + "area": 4131.1020256500005, + "iscrowd": 0 + }, + { + "id": 3567, + "image_id": 719, + "category_id": 1, + "bbox": [ + 521.944, + 469.754, + 60.5837, + 85.6954 + ], + "area": 5191.744404980001, + "iscrowd": 0 + }, + { + "id": 3568, + "image_id": 719, + "category_id": 0, + "bbox": [ + 777.021, + 571.077, + 49.226, + 96.8073 + ], + "area": 4765.4361498, + "iscrowd": 0 + }, + { + "id": 3569, + "image_id": 719, + "category_id": 0, + "bbox": [ + 355.61, + 493.799, + 23.3816, + 68.8369 + ], + "area": 1609.5168610399999, + "iscrowd": 0 + }, + { + "id": 3570, + "image_id": 719, + "category_id": 0, + "bbox": [ + 337.772, + 562.433, + 77.8096, + 122.322 + ], + "area": 9517.8258912, + "iscrowd": 0 + }, + { + "id": 3571, + "image_id": 720, + "category_id": 1, + "bbox": [ + 480.265, + 334.941, + 297.492, + 382.184 + ], + "area": 113696.68252800002, + "iscrowd": 0 + }, + { + "id": 3572, + "image_id": 720, + "category_id": 1, + "bbox": [ + 353.587, + 427.755, + 169.471, + 290.115 + ], + "area": 49166.079165, + "iscrowd": 0 + }, + { + "id": 3573, + "image_id": 721, + "category_id": 1, + "bbox": [ + 637.576, + 470.067, + 86.8875, + 249.117 + ], + "area": 21645.1533375, + "iscrowd": 0 + }, + { + "id": 3574, + "image_id": 721, + "category_id": 1, + "bbox": [ + 466.746, + 492.563, + 134.326, + 225.731 + ], + "area": 30321.542306, + "iscrowd": 0 + }, + { + "id": 3575, + "image_id": 721, + "category_id": 1, + "bbox": [ + 764.663, + 497.385, + 107.057, + 220.55 + ], + "area": 23611.42135, + "iscrowd": 0 + }, + { + "id": 3576, + "image_id": 721, + "category_id": 1, + "bbox": [ + 286.988, + 500.768, + 121.979, + 217.893 + ], + "area": 26578.370247, + "iscrowd": 0 + }, + { + "id": 3577, + "image_id": 721, + "category_id": 1, + "bbox": [ + 945.782, + 561.591, + 160.015, + 157.325 + ], + "area": 25174.359874999995, + "iscrowd": 0 + }, + { + "id": 3578, + "image_id": 721, + "category_id": 1, + "bbox": [ + 544.39, + 470.578, + 74.876, + 131.839 + ], + "area": 9871.576964, + "iscrowd": 0 + }, + { + "id": 3579, + "image_id": 721, + "category_id": 1, + "bbox": [ + 357.035, + 473.316, + 89.8718, + 214.28 + ], + "area": 19257.729304, + "iscrowd": 0 + }, + { + "id": 3580, + "image_id": 721, + "category_id": 1, + "bbox": [ + 403.378, + 489.444, + 45.338, + 196.921 + ], + "area": 8928.004298, + "iscrowd": 0 + }, + { + "id": 3581, + "image_id": 721, + "category_id": 0, + "bbox": [ + 286.014, + 585.931, + 67.531, + 114.207 + ], + "area": 7712.512917, + "iscrowd": 0 + }, + { + "id": 3582, + "image_id": 721, + "category_id": 0, + "bbox": [ + 398.234, + 488.607, + 41.7103, + 75.4759 + ], + "area": 3148.1224317699994, + "iscrowd": 0 + }, + { + "id": 3583, + "image_id": 721, + "category_id": 0, + "bbox": [ + 534.29, + 483.641, + 60.5793, + 69.5172 + ], + "area": 4211.30331396, + "iscrowd": 0 + }, + { + "id": 3584, + "image_id": 722, + "category_id": 1, + "bbox": [ + 462.422, + 328.405, + 256.37, + 388.058 + ], + "area": 99486.42946, + "iscrowd": 0 + }, + { + "id": 3585, + "image_id": 722, + "category_id": 1, + "bbox": [ + 360.953, + 424.813, + 163.139, + 293.29 + ], + "area": 47847.03731000001, + "iscrowd": 0 + }, + { + "id": 3586, + "image_id": 722, + "category_id": 0, + "bbox": [ + 440.481, + 478.404, + 77.3578, + 114.231 + ], + "area": 8836.658851799999, + "iscrowd": 0 + }, + { + "id": 3597, + "image_id": 724, + "category_id": 1, + "bbox": [ + 441.776, + 321.293, + 255.608, + 394.796 + ], + "area": 100913.01596799999, + "iscrowd": 0 + }, + { + "id": 3598, + "image_id": 724, + "category_id": 1, + "bbox": [ + 356.88, + 422.495, + 154.065, + 295.163 + ], + "area": 45474.287595, + "iscrowd": 0 + }, + { + "id": 3599, + "image_id": 724, + "category_id": 0, + "bbox": [ + 430.014, + 467.752, + 79.4483, + 100.303 + ], + "area": 7968.9028349, + "iscrowd": 0 + }, + { + "id": 3600, + "image_id": 725, + "category_id": 1, + "bbox": [ + 618.299, + 522.227, + 198.57, + 195.416 + ], + "area": 38803.75512, + "iscrowd": 0 + }, + { + "id": 3601, + "image_id": 725, + "category_id": 1, + "bbox": [ + 407.552, + 504.182, + 179.249, + 213.476 + ], + "area": 38265.359524, + "iscrowd": 0 + }, + { + "id": 3602, + "image_id": 725, + "category_id": 1, + "bbox": [ + 201.659, + 514.209, + 172.432, + 203.861 + ], + "area": 35152.159951999995, + "iscrowd": 0 + }, + { + "id": 3603, + "image_id": 725, + "category_id": 1, + "bbox": [ + 576.218, + 477.707, + 76.5874, + 240.442 + ], + "area": 18414.827630800002, + "iscrowd": 0 + }, + { + "id": 3604, + "image_id": 725, + "category_id": 1, + "bbox": [ + 725.634, + 474.994, + 57.0642, + 151.233 + ], + "area": 8629.9901586, + "iscrowd": 0 + }, + { + "id": 3605, + "image_id": 725, + "category_id": 1, + "bbox": [ + 418.405, + 479.073, + 52.7208, + 120.736 + ], + "area": 6365.2985088, + "iscrowd": 0 + }, + { + "id": 3606, + "image_id": 725, + "category_id": 1, + "bbox": [ + 697.909, + 502.538, + 84.5625, + 127.247 + ], + "area": 10760.3244375, + "iscrowd": 0 + }, + { + "id": 3607, + "image_id": 725, + "category_id": 0, + "bbox": [ + 329.587, + 594.106, + 48.0943, + 89.1159 + ], + "area": 4285.96682937, + "iscrowd": 0 + }, + { + "id": 3608, + "image_id": 725, + "category_id": 0, + "bbox": [ + 581.375, + 490.845, + 55.167, + 63.6542 + ], + "area": 3511.6112514, + "iscrowd": 0 + }, + { + "id": 3609, + "image_id": 726, + "category_id": 1, + "bbox": [ + 427.053, + 326.658, + 190.451, + 388.943 + ], + "area": 74074.58329299999, + "iscrowd": 0 + }, + { + "id": 3610, + "image_id": 726, + "category_id": 1, + "bbox": [ + 399.514, + 427.496, + 94.7034, + 291.024 + ], + "area": 27560.9622816, + "iscrowd": 0 + }, + { + "id": 3611, + "image_id": 727, + "category_id": 1, + "bbox": [ + 590.376, + 510.284, + 180.706, + 208.24 + ], + "area": 37630.21744, + "iscrowd": 0 + }, + { + "id": 3612, + "image_id": 727, + "category_id": 1, + "bbox": [ + 372.193, + 511.641, + 194.454, + 207.152 + ], + "area": 40281.535008, + "iscrowd": 0 + }, + { + "id": 3613, + "image_id": 727, + "category_id": 1, + "bbox": [ + 164.717, + 514.775, + 161.488, + 203.655 + ], + "area": 32887.83864, + "iscrowd": 0 + }, + { + "id": 3614, + "image_id": 727, + "category_id": 1, + "bbox": [ + 713.832, + 484.345, + 79.9636, + 192.091 + ], + "area": 15360.287887600001, + "iscrowd": 0 + }, + { + "id": 3615, + "image_id": 727, + "category_id": 1, + "bbox": [ + 423.357, + 479.176, + 94.7006, + 107.73 + ], + "area": 10202.095637999999, + "iscrowd": 0 + }, + { + "id": 3616, + "image_id": 727, + "category_id": 1, + "bbox": [ + 626.035, + 478.411, + 68.8562, + 120.97 + ], + "area": 8329.534514, + "iscrowd": 0 + }, + { + "id": 3617, + "image_id": 727, + "category_id": 0, + "bbox": [ + 208.552, + 611.752, + 104.276, + 108.248 + ], + "area": 11287.668448, + "iscrowd": 0 + }, + { + "id": 3618, + "image_id": 728, + "category_id": 1, + "bbox": [ + 487.277, + 428.241, + 128.652, + 291.759 + ], + "area": 37535.378868, + "iscrowd": 0 + }, + { + "id": 3619, + "image_id": 728, + "category_id": 1, + "bbox": [ + 316.613, + 316.462, + 167.141, + 403.538 + ], + "area": 67447.744858, + "iscrowd": 0 + }, + { + "id": 3620, + "image_id": 728, + "category_id": 0, + "bbox": [ + 508.075, + 471.816, + 95.1323, + 106.175 + ], + "area": 10100.671952499999, + "iscrowd": 0 + }, + { + "id": 3621, + "image_id": 729, + "category_id": 1, + "bbox": [ + 555.535, + 503.352, + 165.108, + 214.414 + ], + "area": 35401.466712, + "iscrowd": 0 + }, + { + "id": 3622, + "image_id": 729, + "category_id": 1, + "bbox": [ + 94.4741, + 534.124, + 217.838, + 183.692 + ], + "area": 40015.097896, + "iscrowd": 0 + }, + { + "id": 3623, + "image_id": 729, + "category_id": 1, + "bbox": [ + 735.285, + 485.683, + 81.4573, + 231.696 + ], + "area": 18873.3305808, + "iscrowd": 0 + }, + { + "id": 3624, + "image_id": 729, + "category_id": 1, + "bbox": [ + 675.44, + 500.518, + 111.606, + 218.724 + ], + "area": 24410.910743999997, + "iscrowd": 0 + }, + { + "id": 3625, + "image_id": 729, + "category_id": 1, + "bbox": [ + 328.792, + 517.353, + 167.241, + 202.647 + ], + "area": 33890.886927, + "iscrowd": 0 + }, + { + "id": 3626, + "image_id": 729, + "category_id": 1, + "bbox": [ + 436.244, + 479.942, + 91.6772, + 194.815 + ], + "area": 17860.093718, + "iscrowd": 0 + }, + { + "id": 3627, + "image_id": 729, + "category_id": 1, + "bbox": [ + 678.647, + 470.097, + 59.2092, + 97.7804 + ], + "area": 5789.49925968, + "iscrowd": 0 + }, + { + "id": 3628, + "image_id": 729, + "category_id": 0, + "bbox": [ + 100.432, + 646.444, + 145.697, + 73.556 + ], + "area": 10716.888531999999, + "iscrowd": 0 + }, + { + "id": 3629, + "image_id": 729, + "category_id": 0, + "bbox": [ + 463.969, + 507.819, + 56.5815, + 97.6031 + ], + "area": 5522.5298026499995, + "iscrowd": 0 + }, + { + "id": 3630, + "image_id": 730, + "category_id": 1, + "bbox": [ + 209.209, + 312.008, + 242.175, + 401.877 + ], + "area": 97324.56247500001, + "iscrowd": 0 + }, + { + "id": 3631, + "image_id": 730, + "category_id": 1, + "bbox": [ + 532.672, + 428.992, + 140.383, + 286.22 + ], + "area": 40180.42226000001, + "iscrowd": 0 + }, + { + "id": 3632, + "image_id": 730, + "category_id": 1, + "bbox": [ + 700.414, + 418.49, + 31.2222, + 93.0686 + ], + "area": 2905.8064429200003, + "iscrowd": 0 + }, + { + "id": 3633, + "image_id": 730, + "category_id": 0, + "bbox": [ + 558.124, + 483.641, + 97.3241, + 114.207 + ], + "area": 11115.0934887, + "iscrowd": 0 + }, + { + "id": 3634, + "image_id": 731, + "category_id": 1, + "bbox": [ + 471.857, + 497.932, + 182.811, + 219.457 + ], + "area": 40119.153627, + "iscrowd": 0 + }, + { + "id": 3635, + "image_id": 731, + "category_id": 1, + "bbox": [ + 61.9129, + 550.169, + 241.919, + 168.944 + ], + "area": 40870.763536, + "iscrowd": 0 + }, + { + "id": 3636, + "image_id": 731, + "category_id": 1, + "bbox": [ + 737.18, + 482.579, + 108.289, + 235.34 + ], + "area": 25484.73326, + "iscrowd": 0 + }, + { + "id": 3637, + "image_id": 731, + "category_id": 1, + "bbox": [ + 662.441, + 503.296, + 132.976, + 215.455 + ], + "area": 28650.344080000003, + "iscrowd": 0 + }, + { + "id": 3638, + "image_id": 731, + "category_id": 1, + "bbox": [ + 310.388, + 545.712, + 156.323, + 172.698 + ], + "area": 26996.669454000003, + "iscrowd": 0 + }, + { + "id": 3639, + "image_id": 731, + "category_id": 1, + "bbox": [ + 431.872, + 485.627, + 77.6224, + 230.652 + ], + "area": 17903.7618048, + "iscrowd": 0 + }, + { + "id": 3640, + "image_id": 731, + "category_id": 0, + "bbox": [ + 486.987, + 510.632, + 30.2762, + 74.4075 + ], + "area": 2252.7763514999997, + "iscrowd": 0 + }, + { + "id": 3641, + "image_id": 732, + "category_id": 1, + "bbox": [ + 298.14, + 325.253, + 168.019, + 394.747 + ], + "area": 66324.996193, + "iscrowd": 0 + }, + { + "id": 3642, + "image_id": 732, + "category_id": 1, + "bbox": [ + 483.602, + 430.185, + 154.159, + 289.815 + ], + "area": 44677.590585, + "iscrowd": 0 + }, + { + "id": 3643, + "image_id": 732, + "category_id": 0, + "bbox": [ + 513.622, + 491.724, + 106.839, + 132.719 + ], + "area": 14179.565240999998, + "iscrowd": 0 + }, + { + "id": 3644, + "image_id": 733, + "category_id": 1, + "bbox": [ + 441.851, + 495.667, + 146.123, + 222.867 + ], + "area": 32565.994640999998, + "iscrowd": 0 + }, + { + "id": 3645, + "image_id": 733, + "category_id": 1, + "bbox": [ + 627.597, + 500.611, + 134.397, + 217.816 + ], + "area": 29273.816951999997, + "iscrowd": 0 + }, + { + "id": 3646, + "image_id": 733, + "category_id": 1, + "bbox": [ + 258.865, + 565.87, + 193.178, + 152.421 + ], + "area": 29444.383938, + "iscrowd": 0 + }, + { + "id": 3647, + "image_id": 733, + "category_id": 1, + "bbox": [ + 0.867033, + 557.462, + 260.228, + 160.256 + ], + "area": 41703.098368, + "iscrowd": 0 + }, + { + "id": 3648, + "image_id": 733, + "category_id": 1, + "bbox": [ + 747.298, + 490.638, + 119.511, + 227.445 + ], + "area": 27182.179395, + "iscrowd": 0 + }, + { + "id": 3649, + "image_id": 733, + "category_id": 1, + "bbox": [ + 433.127, + 489.04, + 60.446, + 127.809 + ], + "area": 7725.542813999999, + "iscrowd": 0 + }, + { + "id": 3650, + "image_id": 734, + "category_id": 1, + "bbox": [ + 457.527, + 424.087, + 142.631, + 294.498 + ], + "area": 42004.544238, + "iscrowd": 0 + }, + { + "id": 3651, + "image_id": 734, + "category_id": 1, + "bbox": [ + 391.195, + 333.486, + 113.805, + 296.009 + ], + "area": 33687.30424500001, + "iscrowd": 0 + }, + { + "id": 3652, + "image_id": 734, + "category_id": 0, + "bbox": [ + 521.965, + 489.43, + 77.7996, + 118.821 + ], + "area": 9244.2262716, + "iscrowd": 0 + }, + { + "id": 3653, + "image_id": 735, + "category_id": 1, + "bbox": [ + 413.134, + 484.647, + 152.134, + 235.353 + ], + "area": 35805.193302, + "iscrowd": 0 + }, + { + "id": 3654, + "image_id": 735, + "category_id": 1, + "bbox": [ + 612.937, + 502.601, + 110.166, + 217.399 + ], + "area": 23949.978234, + "iscrowd": 0 + }, + { + "id": 3655, + "image_id": 735, + "category_id": 1, + "bbox": [ + 0.448337, + 581.469, + 116.395, + 138.531 + ], + "area": 16124.315745, + "iscrowd": 0 + }, + { + "id": 3656, + "image_id": 735, + "category_id": 1, + "bbox": [ + 123.484, + 593.557, + 179.232, + 126.443 + ], + "area": 22662.631776, + "iscrowd": 0 + }, + { + "id": 3657, + "image_id": 735, + "category_id": 1, + "bbox": [ + 777.019, + 487.424, + 79.8157, + 232.098 + ], + "area": 18525.0643386, + "iscrowd": 0 + }, + { + "id": 3658, + "image_id": 735, + "category_id": 1, + "bbox": [ + 504.98, + 486.497, + 60.5813, + 101.344 + ], + "area": 6139.5512671999995, + "iscrowd": 0 + }, + { + "id": 3659, + "image_id": 735, + "category_id": 1, + "bbox": [ + 815.143, + 493.759, + 99.0752, + 226.241 + ], + "area": 22414.8723232, + "iscrowd": 0 + }, + { + "id": 3660, + "image_id": 735, + "category_id": 0, + "bbox": [ + 802.281, + 504.096, + 43.1107, + 72.9027 + ], + "area": 3142.88642889, + "iscrowd": 0 + }, + { + "id": 3661, + "image_id": 736, + "category_id": 1, + "bbox": [ + 398.544, + 425.881, + 151.74, + 291.984 + ], + "area": 44305.65216, + "iscrowd": 0 + }, + { + "id": 3662, + "image_id": 736, + "category_id": 1, + "bbox": [ + 475.71, + 336.017, + 156.942, + 379.085 + ], + "area": 59494.35807, + "iscrowd": 0 + }, + { + "id": 3663, + "image_id": 736, + "category_id": 0, + "bbox": [ + 467.752, + 492.579, + 67.531, + 96.331 + ], + "area": 6505.328761000001, + "iscrowd": 0 + }, + { + "id": 3664, + "image_id": 737, + "category_id": 1, + "bbox": [ + 412.387, + 474.506, + 137.039, + 243.121 + ], + "area": 33317.058719, + "iscrowd": 0 + }, + { + "id": 3665, + "image_id": 737, + "category_id": 1, + "bbox": [ + 634.99, + 511.959, + 116.06, + 206.622 + ], + "area": 23980.549320000002, + "iscrowd": 0 + }, + { + "id": 3666, + "image_id": 737, + "category_id": 1, + "bbox": [ + 800.914, + 506.399, + 171.197, + 212.552 + ], + "area": 36388.264744, + "iscrowd": 0 + }, + { + "id": 3667, + "image_id": 737, + "category_id": 1, + "bbox": [ + 5.57813, + 647.932, + 176.323, + 70.9452 + ], + "area": 12509.270499600001, + "iscrowd": 0 + }, + { + "id": 3668, + "image_id": 737, + "category_id": 1, + "bbox": [ + 815.977, + 486.221, + 72.5271, + 125.694 + ], + "area": 9116.221307400001, + "iscrowd": 0 + }, + { + "id": 3669, + "image_id": 737, + "category_id": 0, + "bbox": [ + 689.969, + 588.819, + 63.4282, + 131.181 + ], + "area": 8320.5747042, + "iscrowd": 0 + }, + { + "id": 3670, + "image_id": 737, + "category_id": 1, + "bbox": [ + 492.47, + 492.517, + 40.0773, + 40.6418 + ], + "area": 1628.8136111400001, + "iscrowd": 0 + }, + { + "id": 3671, + "image_id": 737, + "category_id": 0, + "bbox": [ + 828.099, + 505.124, + 50.4131, + 73.5534 + ], + "area": 3708.0549095399997, + "iscrowd": 0 + }, + { + "id": 3672, + "image_id": 738, + "category_id": 1, + "bbox": [ + 499.415, + 334.639, + 170.594, + 383.713 + ], + "area": 65459.135522000004, + "iscrowd": 0 + }, + { + "id": 3673, + "image_id": 738, + "category_id": 1, + "bbox": [ + 358.862, + 426.239, + 157.015, + 291.113 + ], + "area": 45709.107695, + "iscrowd": 0 + }, + { + "id": 3674, + "image_id": 739, + "category_id": 1, + "bbox": [ + 393.085, + 478.908, + 111.893, + 239.23 + ], + "area": 26768.162389999998, + "iscrowd": 0 + }, + { + "id": 3675, + "image_id": 739, + "category_id": 1, + "bbox": [ + 824.644, + 511.948, + 156.579, + 206.586 + ], + "area": 32347.029294000004, + "iscrowd": 0 + }, + { + "id": 3676, + "image_id": 739, + "category_id": 1, + "bbox": [ + 608.566, + 513.46, + 144.817, + 205.041 + ], + "area": 29693.422497, + "iscrowd": 0 + }, + { + "id": 3677, + "image_id": 739, + "category_id": 1, + "bbox": [ + 468.212, + 476.699, + 70.7269, + 243.301 + ], + "area": 17207.9254969, + "iscrowd": 0 + }, + { + "id": 3678, + "image_id": 739, + "category_id": 0, + "bbox": [ + 482.358, + 527.623, + 46.6798, + 103.261 + ], + "area": 4820.2028278, + "iscrowd": 0 + }, + { + "id": 3679, + "image_id": 739, + "category_id": 0, + "bbox": [ + 850.138, + 500.747, + 46.6798, + 83.4578 + ], + "area": 3895.7934124400003, + "iscrowd": 0 + }, + { + "id": 3680, + "image_id": 739, + "category_id": 0, + "bbox": [ + 652.102, + 604.008, + 121.65, + 97.6031 + ], + "area": 11873.417115, + "iscrowd": 0 + }, + { + "id": 3681, + "image_id": 739, + "category_id": 1, + "bbox": [ + 844.479, + 476.699, + 101.847, + 134.381 + ], + "area": 13686.301706999999, + "iscrowd": 0 + }, + { + "id": 3682, + "image_id": 740, + "category_id": 1, + "bbox": [ + 539.987, + 330.253, + 189.633, + 387.414 + ], + "area": 73466.479062, + "iscrowd": 0 + }, + { + "id": 3683, + "image_id": 740, + "category_id": 1, + "bbox": [ + 383.658, + 426.404, + 140.765, + 290.636 + ], + "area": 40911.37654, + "iscrowd": 0 + }, + { + "id": 3684, + "image_id": 741, + "category_id": 1, + "bbox": [ + 349.829, + 476.201, + 95.1758, + 241.938 + ], + "area": 23026.642700399996, + "iscrowd": 0 + }, + { + "id": 3685, + "image_id": 741, + "category_id": 1, + "bbox": [ + 437.501, + 495.58, + 100.613, + 223.035 + ], + "area": 22440.220455, + "iscrowd": 0 + }, + { + "id": 3686, + "image_id": 741, + "category_id": 1, + "bbox": [ + 624.496, + 525.36, + 156.442, + 193.521 + ], + "area": 30274.812282, + "iscrowd": 0 + }, + { + "id": 3687, + "image_id": 741, + "category_id": 1, + "bbox": [ + 848.659, + 535.426, + 173.586, + 183.843 + ], + "area": 31912.570998, + "iscrowd": 0 + }, + { + "id": 3688, + "image_id": 741, + "category_id": 1, + "bbox": [ + 839.267, + 488.778, + 95.5181, + 175.992 + ], + "area": 16810.4214552, + "iscrowd": 0 + }, + { + "id": 3689, + "image_id": 741, + "category_id": 0, + "bbox": [ + 461.793, + 530.317, + 76.469, + 116.193 + ], + "area": 8885.162516999999, + "iscrowd": 0 + }, + { + "id": 3690, + "image_id": 741, + "category_id": 0, + "bbox": [ + 842.152, + 503.503, + 52.6345, + 60.5793 + ], + "area": 3188.56116585, + "iscrowd": 0 + }, + { + "id": 3691, + "image_id": 742, + "category_id": 1, + "bbox": [ + 525.377, + 331.45, + 164.935, + 385.493 + ], + "area": 63581.287955, + "iscrowd": 0 + }, + { + "id": 3692, + "image_id": 742, + "category_id": 1, + "bbox": [ + 378.123, + 422.768, + 136.984, + 295.153 + ], + "area": 40431.238552, + "iscrowd": 0 + }, + { + "id": 3693, + "image_id": 742, + "category_id": 0, + "bbox": [ + 442.352, + 474.847, + 64.3054, + 120.789 + ], + "area": 7767.384960600001, + "iscrowd": 0 + }, + { + "id": 3694, + "image_id": 743, + "category_id": 1, + "bbox": [ + 432.024, + 500.164, + 129.016, + 218.45 + ], + "area": 28183.545199999997, + "iscrowd": 0 + }, + { + "id": 3695, + "image_id": 743, + "category_id": 1, + "bbox": [ + 356.088, + 478.618, + 94.0424, + 239.769 + ], + "area": 22548.452205600002, + "iscrowd": 0 + }, + { + "id": 3696, + "image_id": 743, + "category_id": 1, + "bbox": [ + 603.637, + 537.793, + 141.563, + 180.977 + ], + "area": 25619.647051, + "iscrowd": 0 + }, + { + "id": 3697, + "image_id": 743, + "category_id": 1, + "bbox": [ + 818.278, + 487.463, + 94.5796, + 217.091 + ], + "area": 20532.3799436, + "iscrowd": 0 + }, + { + "id": 3698, + "image_id": 743, + "category_id": 1, + "bbox": [ + 848.724, + 541.471, + 189.914, + 177.309 + ], + "area": 33673.461425999994, + "iscrowd": 0 + }, + { + "id": 3699, + "image_id": 743, + "category_id": 0, + "bbox": [ + 476.69, + 543.228, + 84.4138, + 132.083 + ], + "area": 11149.6279454, + "iscrowd": 0 + }, + { + "id": 3700, + "image_id": 743, + "category_id": 0, + "bbox": [ + 831.228, + 507.476, + 38.731, + 65.5448 + ], + "area": 2538.6156487999997, + "iscrowd": 0 + }, + { + "id": 3701, + "image_id": 744, + "category_id": 1, + "bbox": [ + 361.469, + 309.472, + 279.492, + 410.528 + ], + "area": 114739.29177600001, + "iscrowd": 0 + }, + { + "id": 3702, + "image_id": 744, + "category_id": 1, + "bbox": [ + 407.695, + 422.401, + 69.1252, + 297.599 + ], + "area": 20571.5903948, + "iscrowd": 0 + }, + { + "id": 3703, + "image_id": 745, + "category_id": 1, + "bbox": [ + 505.632, + 547.39, + 168.822, + 170.942 + ], + "area": 28858.770324, + "iscrowd": 0 + }, + { + "id": 3704, + "image_id": 745, + "category_id": 1, + "bbox": [ + 787.72, + 546.663, + 140.459, + 172.019 + ], + "area": 24161.616721000002, + "iscrowd": 0 + }, + { + "id": 3705, + "image_id": 745, + "category_id": 1, + "bbox": [ + 390.534, + 468.871, + 65.8989, + 248.799 + ], + "area": 16395.5804211, + "iscrowd": 0 + }, + { + "id": 3706, + "image_id": 745, + "category_id": 1, + "bbox": [ + 422.548, + 504.272, + 101.432, + 213.999 + ], + "area": 21706.346568, + "iscrowd": 0 + }, + { + "id": 3707, + "image_id": 745, + "category_id": 1, + "bbox": [ + 837.083, + 492.274, + 73.6675, + 146.316 + ], + "area": 10778.73393, + "iscrowd": 0 + }, + { + "id": 3708, + "image_id": 745, + "category_id": 0, + "bbox": [ + 532.572, + 662.984, + 103.124, + 57.0155 + ], + "area": 5879.666422, + "iscrowd": 0 + }, + { + "id": 3709, + "image_id": 745, + "category_id": 0, + "bbox": [ + 499.85, + 577.709, + 28.7556, + 92.7122 + ], + "area": 2665.99493832, + "iscrowd": 0 + }, + { + "id": 3710, + "image_id": 745, + "category_id": 0, + "bbox": [ + 835.002, + 512.265, + 28.7556, + 34.7051 + ], + "area": 997.9659735600001, + "iscrowd": 0 + }, + { + "id": 3711, + "image_id": 746, + "category_id": 1, + "bbox": [ + 255.462, + 278.632, + 222.004, + 436.479 + ], + "area": 96900.08391599999, + "iscrowd": 0 + }, + { + "id": 3712, + "image_id": 746, + "category_id": 1, + "bbox": [ + 451.953, + 427.854, + 84.921, + 290.359 + ], + "area": 24657.576639, + "iscrowd": 0 + }, + { + "id": 3713, + "image_id": 746, + "category_id": 0, + "bbox": [ + 459.807, + 484.634, + 78.4552, + 114.207 + ], + "area": 8960.1330264, + "iscrowd": 0 + }, + { + "id": 3714, + "image_id": 747, + "category_id": 1, + "bbox": [ + 466.579, + 566.262, + 144.504, + 152.349 + ], + "area": 22015.039896, + "iscrowd": 0 + }, + { + "id": 3715, + "image_id": 747, + "category_id": 1, + "bbox": [ + 784.179, + 495.591, + 90.3278, + 202.519 + ], + "area": 18293.095728199998, + "iscrowd": 0 + }, + { + "id": 3716, + "image_id": 747, + "category_id": 1, + "bbox": [ + 415.452, + 515.173, + 83.1115, + 203.638 + ], + "area": 16924.659637, + "iscrowd": 0 + }, + { + "id": 3717, + "image_id": 747, + "category_id": 1, + "bbox": [ + 723.739, + 567.856, + 165.231, + 150.949 + ], + "area": 24941.454219000003, + "iscrowd": 0 + }, + { + "id": 3718, + "image_id": 747, + "category_id": 1, + "bbox": [ + 451.192, + 468.443, + 83.124, + 106.899 + ], + "area": 8885.872476, + "iscrowd": 0 + }, + { + "id": 3719, + "image_id": 747, + "category_id": 0, + "bbox": [ + 784.426, + 517.146, + 49.6252, + 59.202 + ], + "area": 2937.9110904, + "iscrowd": 0 + }, + { + "id": 3720, + "image_id": 748, + "category_id": 1, + "bbox": [ + 0.407133, + 241.968, + 285.437, + 471.453 + ], + "area": 134570.129961, + "iscrowd": 0 + }, + { + "id": 3721, + "image_id": 748, + "category_id": 1, + "bbox": [ + 431.709, + 433.816, + 150.898, + 282.79 + ], + "area": 42672.445420000004, + "iscrowd": 0 + }, + { + "id": 3722, + "image_id": 748, + "category_id": 0, + "bbox": [ + 463.779, + 499.531, + 118.179, + 104.276 + ], + "area": 12323.233404, + "iscrowd": 0 + }, + { + "id": 3723, + "image_id": 749, + "category_id": 1, + "bbox": [ + 723.272, + 490.803, + 102.412, + 229.197 + ], + "area": 23472.523164000002, + "iscrowd": 0 + }, + { + "id": 3724, + "image_id": 749, + "category_id": 1, + "bbox": [ + 431.281, + 519.698, + 108.509, + 199.191 + ], + "area": 21614.016219, + "iscrowd": 0 + }, + { + "id": 3725, + "image_id": 749, + "category_id": 1, + "bbox": [ + 554.953, + 617.835, + 138.295, + 100.746 + ], + "area": 13932.668069999998, + "iscrowd": 0 + }, + { + "id": 3726, + "image_id": 749, + "category_id": 1, + "bbox": [ + 294.925, + 596.372, + 115.113, + 123.628 + ], + "area": 14231.189964, + "iscrowd": 0 + }, + { + "id": 3727, + "image_id": 749, + "category_id": 0, + "bbox": [ + 502.464, + 571.499, + 86.6619, + 146.511 + ], + "area": 12696.9216309, + "iscrowd": 0 + }, + { + "id": 3728, + "image_id": 749, + "category_id": 1, + "bbox": [ + 468.755, + 464.336, + 80.1813, + 107.58 + ], + "area": 8625.904254, + "iscrowd": 0 + }, + { + "id": 3729, + "image_id": 749, + "category_id": 0, + "bbox": [ + 723.437, + 513.795, + 49.8329, + 77.3266 + ], + "area": 3853.40872514, + "iscrowd": 0 + }, + { + "id": 3730, + "image_id": 750, + "category_id": 1, + "bbox": [ + 473.642, + 440.757, + 187.942, + 275.897 + ], + "area": 51852.633974000004, + "iscrowd": 0 + }, + { + "id": 3731, + "image_id": 750, + "category_id": 0, + "bbox": [ + 499.733, + 505.829, + 145.393, + 172.382 + ], + "area": 25063.136126, + "iscrowd": 0 + }, + { + "id": 3732, + "image_id": 751, + "category_id": 1, + "bbox": [ + 670.912, + 495.605, + 102.374, + 221.946 + ], + "area": 22721.499804, + "iscrowd": 0 + }, + { + "id": 3733, + "image_id": 751, + "category_id": 0, + "bbox": [ + 447.544, + 579.64, + 96.0859, + 135.953 + ], + "area": 13063.1663627, + "iscrowd": 0 + }, + { + "id": 3734, + "image_id": 751, + "category_id": 1, + "bbox": [ + 59.2269, + 599.255, + 155.768, + 119.471 + ], + "area": 18609.758728, + "iscrowd": 0 + }, + { + "id": 3735, + "image_id": 751, + "category_id": 1, + "bbox": [ + 452.717, + 461.074, + 72.5331, + 129.042 + ], + "area": 9359.8162902, + "iscrowd": 0 + }, + { + "id": 3736, + "image_id": 751, + "category_id": 1, + "bbox": [ + 390.858, + 526.643, + 162.803, + 146.471 + ], + "area": 23845.918213, + "iscrowd": 0 + }, + { + "id": 3737, + "image_id": 751, + "category_id": 0, + "bbox": [ + 670.138, + 517.726, + 57.6856, + 80.1605 + ], + "area": 4624.1065388, + "iscrowd": 0 + }, + { + "id": 3738, + "image_id": 752, + "category_id": 0, + "bbox": [ + 582.863, + 524.36, + 152.14, + 181.407 + ], + "area": 27599.26098, + "iscrowd": 0 + }, + { + "id": 3739, + "image_id": 752, + "category_id": 1, + "bbox": [ + 544.221, + 440.938, + 165.848, + 276.083 + ], + "area": 45787.81338400001, + "iscrowd": 0 + }, + { + "id": 3740, + "image_id": 753, + "category_id": 1, + "bbox": [ + 344.848, + 536.317, + 184.296, + 181.815 + ], + "area": 33507.777239999996, + "iscrowd": 0 + }, + { + "id": 3741, + "image_id": 753, + "category_id": 1, + "bbox": [ + 617.279, + 495.543, + 102.406, + 222.365 + ], + "area": 22771.51019, + "iscrowd": 0 + }, + { + "id": 3742, + "image_id": 753, + "category_id": 0, + "bbox": [ + 389.168, + 611.292, + 112.887, + 108.085 + ], + "area": 12201.391394999999, + "iscrowd": 0 + }, + { + "id": 3743, + "image_id": 753, + "category_id": 1, + "bbox": [ + 427.013, + 455.711, + 53.3937, + 95.7007 + ], + "area": 5109.8144655900005, + "iscrowd": 0 + }, + { + "id": 3744, + "image_id": 753, + "category_id": 0, + "bbox": [ + 617.267, + 531.077, + 56.5901, + 81.838 + ], + "area": 4631.2206037999995, + "iscrowd": 0 + }, + { + "id": 3745, + "image_id": 754, + "category_id": 1, + "bbox": [ + 638.277, + 447.367, + 275.247, + 272.633 + ], + "area": 75041.415351, + "iscrowd": 0 + }, + { + "id": 3746, + "image_id": 754, + "category_id": 0, + "bbox": [ + 709.551, + 540.653, + 202.854, + 179.347 + ], + "area": 36381.25633800001, + "iscrowd": 0 + }, + { + "id": 3747, + "image_id": 755, + "category_id": 1, + "bbox": [ + 536.706, + 492.275, + 107.767, + 225.031 + ], + "area": 24250.915777, + "iscrowd": 0 + }, + { + "id": 3748, + "image_id": 755, + "category_id": 1, + "bbox": [ + 283.279, + 560.381, + 179.35, + 157.763 + ], + "area": 28294.79405, + "iscrowd": 0 + }, + { + "id": 3749, + "image_id": 755, + "category_id": 1, + "bbox": [ + 356.688, + 452.399, + 58.0072, + 124.276 + ], + "area": 7208.9027872, + "iscrowd": 0 + }, + { + "id": 3750, + "image_id": 755, + "category_id": 0, + "bbox": [ + 304.126, + 636.542, + 96.1886, + 83.4578 + ], + "area": 8027.68894108, + "iscrowd": 0 + }, + { + "id": 3751, + "image_id": 755, + "category_id": 0, + "bbox": [ + 540.354, + 513.477, + 62.2397, + 89.1159 + ], + "area": 5546.54688123, + "iscrowd": 0 + }, + { + "id": 3752, + "image_id": 756, + "category_id": 1, + "bbox": [ + 460.531, + 499.346, + 112.765, + 218.756 + ], + "area": 24668.02034, + "iscrowd": 0 + }, + { + "id": 3753, + "image_id": 756, + "category_id": 1, + "bbox": [ + 174.523, + 571.469, + 199.765, + 147.124 + ], + "area": 29390.22586, + "iscrowd": 0 + }, + { + "id": 3754, + "image_id": 756, + "category_id": 0, + "bbox": [ + 467.52, + 524.111, + 53.1077, + 95.768 + ], + "area": 5086.0182136, + "iscrowd": 0 + }, + { + "id": 3755, + "image_id": 757, + "category_id": 1, + "bbox": [ + 381.55, + 507.046, + 122.089, + 211.687 + ], + "area": 25844.654143, + "iscrowd": 0 + }, + { + "id": 3756, + "image_id": 757, + "category_id": 1, + "bbox": [ + 115.192, + 594.833, + 174.707, + 123.968 + ], + "area": 21658.077376, + "iscrowd": 0 + }, + { + "id": 3757, + "image_id": 757, + "category_id": 0, + "bbox": [ + 207.532, + 452.097, + 60.5529, + 184.695 + ], + "area": 11183.8178655, + "iscrowd": 0 + }, + { + "id": 3758, + "image_id": 757, + "category_id": 0, + "bbox": [ + 385.682, + 552.842, + 51.3664, + 74.8731 + ], + "area": 3845.9616038399995, + "iscrowd": 0 + }, + { + "id": 3759, + "image_id": 758, + "category_id": 1, + "bbox": [ + 275.605, + 507.834, + 153.203, + 210.261 + ], + "area": 32212.615983, + "iscrowd": 0 + }, + { + "id": 3760, + "image_id": 758, + "category_id": 1, + "bbox": [ + 114.593, + 453.659, + 90.9074, + 186.136 + ], + "area": 16921.1398064, + "iscrowd": 0 + }, + { + "id": 3761, + "image_id": 758, + "category_id": 0, + "bbox": [ + 282.908, + 524.794, + 77.7996, + 111.749 + ], + "area": 8694.0275004, + "iscrowd": 0 + }, + { + "id": 3762, + "image_id": 759, + "category_id": 1, + "bbox": [ + 238.165, + 515.149, + 182.585, + 202.424 + ], + "area": 36959.58604, + "iscrowd": 0 + }, + { + "id": 3763, + "image_id": 759, + "category_id": 0, + "bbox": [ + 260.275, + 538.939, + 73.556, + 101.847 + ], + "area": 7491.457931999999, + "iscrowd": 0 + }, + { + "id": 3764, + "image_id": 759, + "category_id": 1, + "bbox": [ + 60.8251, + 456.896, + 21.2181, + 77.7996 + ], + "area": 1650.75969276, + "iscrowd": 0 + }, + { + "id": 3765, + "image_id": 760, + "category_id": 1, + "bbox": [ + 174.82, + 526.699, + 203.907, + 191.391 + ], + "area": 39025.964637, + "iscrowd": 0 + }, + { + "id": 3766, + "image_id": 760, + "category_id": 1, + "bbox": [ + 0.0613058, + 444.193, + 35.2666, + 229.929 + ], + "area": 8108.814071399999, + "iscrowd": 0 + }, + { + "id": 3767, + "image_id": 760, + "category_id": 0, + "bbox": [ + 185.305, + 568.644, + 132.967, + 141.454 + ], + "area": 18808.714018000002, + "iscrowd": 0 + }, + { + "id": 3768, + "image_id": 761, + "category_id": 1, + "bbox": [ + 120.514, + 532.912, + 225.701, + 187.088 + ], + "area": 42225.948688, + "iscrowd": 0 + }, + { + "id": 3769, + "image_id": 761, + "category_id": 0, + "bbox": [ + 126.747, + 597.235, + 138.691, + 122.765 + ], + "area": 17026.400615, + "iscrowd": 0 + }, + { + "id": 3770, + "image_id": 762, + "category_id": 1, + "bbox": [ + 99.5403, + 548.049, + 245.315, + 170.259 + ], + "area": 41767.086585, + "iscrowd": 0 + }, + { + "id": 3771, + "image_id": 762, + "category_id": 0, + "bbox": [ + 100.989, + 592.89, + 131.463, + 127.11 + ], + "area": 16710.26193, + "iscrowd": 0 + }, + { + "id": 3772, + "image_id": 763, + "category_id": 1, + "bbox": [ + 0.62912, + 579.195, + 175.749, + 138.752 + ], + "area": 24385.525248, + "iscrowd": 0 + }, + { + "id": 3773, + "image_id": 763, + "category_id": 0, + "bbox": [ + 8.48723, + 645.029, + 57.9961, + 74.9705 + ], + "area": 4347.99661505, + "iscrowd": 0 + }, + { + "id": 3774, + "image_id": 764, + "category_id": 1, + "bbox": [ + 200.856, + 225.069, + 122.712, + 201.91 + ], + "area": 24776.77992, + "iscrowd": 0 + }, + { + "id": 3775, + "image_id": 764, + "category_id": 0, + "bbox": [ + 203.723, + 248.996, + 51.3664, + 60.0725 + ], + "area": 3085.708064, + "iscrowd": 0 + }, + { + "id": 3776, + "image_id": 765, + "category_id": 1, + "bbox": [ + 269.302, + 215.659, + 90.7294, + 210.972 + ], + "area": 19141.3629768, + "iscrowd": 0 + }, + { + "id": 3777, + "image_id": 765, + "category_id": 0, + "bbox": [ + 272.503, + 233.749, + 56.079, + 84.1185 + ], + "area": 4717.2813615, + "iscrowd": 0 + }, + { + "id": 3778, + "image_id": 766, + "category_id": 1, + "bbox": [ + 332.412, + 214.012, + 60.7179, + 117.251 + ], + "area": 7119.2344929, + "iscrowd": 0 + }, + { + "id": 3779, + "image_id": 766, + "category_id": 0, + "bbox": [ + 336.928, + 234.196, + 49.0426, + 86.4175 + ], + "area": 4238.1388855000005, + "iscrowd": 0 + }, + { + "id": 3780, + "image_id": 767, + "category_id": 1, + "bbox": [ + 418.771, + 213.83, + 45.2456, + 106.741 + ], + "area": 4829.560589600001, + "iscrowd": 0 + }, + { + "id": 3781, + "image_id": 767, + "category_id": 0, + "bbox": [ + 419.726, + 253.659, + 32.819, + 65.6379 + ], + "area": 2154.1702401000002, + "iscrowd": 0 + }, + { + "id": 3784, + "image_id": 769, + "category_id": 1, + "bbox": [ + 524.989, + 213.565, + 114.333, + 223.961 + ], + "area": 25606.133013000002, + "iscrowd": 0 + }, + { + "id": 3785, + "image_id": 769, + "category_id": 0, + "bbox": [ + 530.205, + 240.29, + 54.8489, + 86.1912 + ], + "area": 4727.49250968, + "iscrowd": 0 + }, + { + "id": 3786, + "image_id": 770, + "category_id": 1, + "bbox": [ + 583.573, + 208.851, + 97.0071, + 238.919 + ], + "area": 23176.8393249, + "iscrowd": 0 + }, + { + "id": 3787, + "image_id": 770, + "category_id": 0, + "bbox": [ + 587.033, + 241.886, + 49.5088, + 93.3595 + ], + "area": 4622.1168136, + "iscrowd": 0 + }, + { + "id": 3788, + "image_id": 771, + "category_id": 1, + "bbox": [ + 630.035, + 210.052, + 100.682, + 252.324 + ], + "area": 25404.484968, + "iscrowd": 0 + }, + { + "id": 3789, + "image_id": 771, + "category_id": 0, + "bbox": [ + 636.542, + 241.886, + 60.8251, + 91.945 + ], + "area": 5592.563819499999, + "iscrowd": 0 + }, + { + "id": 3790, + "image_id": 772, + "category_id": 1, + "bbox": [ + 670.913, + 213.541, + 98.5088, + 274.711 + ], + "area": 27061.4509568, + "iscrowd": 0 + }, + { + "id": 3791, + "image_id": 772, + "category_id": 1, + "bbox": [ + 0.174706, + 301.214, + 40.5669, + 185.777 + ], + "area": 7536.3969812999985, + "iscrowd": 0 + }, + { + "id": 3792, + "image_id": 772, + "category_id": 0, + "bbox": [ + 676.149, + 246.13, + 57.9961, + 91.945 + ], + "area": 5332.451414499999, + "iscrowd": 0 + }, + { + "id": 3793, + "image_id": 773, + "category_id": 1, + "bbox": [ + 0.289748, + 447.271, + 46.5402, + 237.356 + ], + "area": 11046.5957112, + "iscrowd": 0 + }, + { + "id": 3794, + "image_id": 774, + "category_id": 1, + "bbox": [ + 690.129, + 226.272, + 107.068, + 306.239 + ], + "area": 32788.397251999995, + "iscrowd": 0 + }, + { + "id": 3795, + "image_id": 774, + "category_id": 1, + "bbox": [ + 0.127583, + 295.344, + 61.5704, + 185.99 + ], + "area": 11451.478696, + "iscrowd": 0 + }, + { + "id": 3796, + "image_id": 774, + "category_id": 0, + "bbox": [ + 695.953, + 263.104, + 63.6542, + 99.0177 + ], + "area": 6302.892479340001, + "iscrowd": 0 + }, + { + "id": 3799, + "image_id": 776, + "category_id": 1, + "bbox": [ + 96.0487, + 457.079, + 73.3221, + 87.9079 + ], + "area": 6445.59183459, + "iscrowd": 0 + }, + { + "id": 3800, + "image_id": 776, + "category_id": 1, + "bbox": [ + 0.0, + 451.506, + 68.6785, + 126.914 + ], + "area": 8716.263149, + "iscrowd": 0 + }, + { + "id": 3801, + "image_id": 777, + "category_id": 1, + "bbox": [ + 135.716, + 454.478, + 94.0248, + 189.093 + ], + "area": 17779.4315064, + "iscrowd": 0 + }, + { + "id": 3802, + "image_id": 777, + "category_id": 1, + "bbox": [ + 30.9308, + 451.933, + 99.6659, + 96.2291 + ], + "area": 9590.75985769, + "iscrowd": 0 + }, + { + "id": 3805, + "image_id": 779, + "category_id": 1, + "bbox": [ + 156.539, + 453.916, + 96.3915, + 184.921 + ], + "area": 17824.8125715, + "iscrowd": 0 + }, + { + "id": 3806, + "image_id": 779, + "category_id": 1, + "bbox": [ + 248.415, + 486.434, + 63.3501, + 84.228 + ], + "area": 5335.852222799999, + "iscrowd": 0 + }, + { + "id": 3807, + "image_id": 780, + "category_id": 1, + "bbox": [ + 334.468, + 459.43, + 66.8955, + 109.766 + ], + "area": 7342.851453, + "iscrowd": 0 + }, + { + "id": 3808, + "image_id": 780, + "category_id": 1, + "bbox": [ + 213.702, + 454.39, + 97.9072, + 215.616 + ], + "area": 21110.3588352, + "iscrowd": 0 + }, + { + "id": 3809, + "image_id": 780, + "category_id": 1, + "bbox": [ + 0.130751, + 461.627, + 61.8171, + 232.086 + ], + "area": 14346.883470600002, + "iscrowd": 0 + }, + { + "id": 3810, + "image_id": 780, + "category_id": 0, + "bbox": [ + 16.5415, + 501.475, + 47.0133, + 42.6601 + ], + "area": 2005.59207933, + "iscrowd": 0 + }, + { + "id": 3811, + "image_id": 781, + "category_id": 1, + "bbox": [ + 398.192, + 459.355, + 68.8684, + 218.311 + ], + "area": 15034.7292724, + "iscrowd": 0 + }, + { + "id": 3812, + "image_id": 781, + "category_id": 1, + "bbox": [ + 286.29, + 458.084, + 81.9258, + 113.894 + ], + "area": 9330.8570652, + "iscrowd": 0 + }, + { + "id": 3813, + "image_id": 781, + "category_id": 1, + "bbox": [ + 1.55608, + 459.796, + 73.4145, + 76.3851 + ], + "area": 5607.77392395, + "iscrowd": 0 + }, + { + "id": 3814, + "image_id": 781, + "category_id": 0, + "bbox": [ + 31.6618, + 507.693, + 49.169, + 29.4269 + ], + "area": 1446.8912461, + "iscrowd": 0 + }, + { + "id": 3815, + "image_id": 782, + "category_id": 1, + "bbox": [ + 438.144, + 460.099, + 94.948, + 226.289 + ], + "area": 21485.687971999996, + "iscrowd": 0 + }, + { + "id": 3816, + "image_id": 782, + "category_id": 1, + "bbox": [ + 22.8871, + 462.161, + 97.0839, + 76.67 + ], + "area": 7443.422613, + "iscrowd": 0 + }, + { + "id": 3817, + "image_id": 782, + "category_id": 1, + "bbox": [ + 345.634, + 464.039, + 91.4148, + 106.215 + ], + "area": 9709.622982, + "iscrowd": 0 + }, + { + "id": 3818, + "image_id": 782, + "category_id": 0, + "bbox": [ + 56.3977, + 500.053, + 65.3193, + 42.3779 + ], + "area": 2768.0947634699996, + "iscrowd": 0 + }, + { + "id": 3819, + "image_id": 783, + "category_id": 1, + "bbox": [ + 398.79, + 463.495, + 102.97, + 234.673 + ], + "area": 24164.27881, + "iscrowd": 0 + }, + { + "id": 3820, + "image_id": 783, + "category_id": 1, + "bbox": [ + 487.444, + 463.173, + 77.4802, + 235.489 + ], + "area": 18245.7348178, + "iscrowd": 0 + }, + { + "id": 3821, + "image_id": 783, + "category_id": 1, + "bbox": [ + 0.114162, + 455.765, + 29.5338, + 228.099 + ], + "area": 6736.630246199999, + "iscrowd": 0 + }, + { + "id": 3822, + "image_id": 783, + "category_id": 1, + "bbox": [ + 51.601, + 456.928, + 71.5988, + 84.4316 + ], + "area": 6045.20124208, + "iscrowd": 0 + }, + { + "id": 3823, + "image_id": 783, + "category_id": 0, + "bbox": [ + 91.7311, + 503.476, + 52.232, + 39.0967 + ], + "area": 2042.0988344, + "iscrowd": 0 + }, + { + "id": 3824, + "image_id": 784, + "category_id": 1, + "bbox": [ + 428.843, + 463.849, + 111.947, + 246.729 + ], + "area": 27620.571363000003, + "iscrowd": 0 + }, + { + "id": 3825, + "image_id": 784, + "category_id": 1, + "bbox": [ + 524.538, + 467.354, + 100.906, + 245.289 + ], + "area": 24751.131834, + "iscrowd": 0 + }, + { + "id": 3826, + "image_id": 784, + "category_id": 1, + "bbox": [ + 95.0412, + 465.702, + 89.7997, + 82.0903 + ], + "area": 7371.68431291, + "iscrowd": 0 + }, + { + "id": 3827, + "image_id": 784, + "category_id": 1, + "bbox": [ + 0.355904, + 453.349, + 64.9562, + 78.9795 + ], + "area": 5130.2081978999995, + "iscrowd": 0 + }, + { + "id": 3828, + "image_id": 784, + "category_id": 0, + "bbox": [ + 117.335, + 506.203, + 67.7936, + 40.2292 + ], + "area": 2727.28229312, + "iscrowd": 0 + }, + { + "id": 3829, + "image_id": 784, + "category_id": 0, + "bbox": [ + 36.5042, + 475.286, + 30.1719, + 46.934 + ], + "area": 1416.0879545999999, + "iscrowd": 0 + }, + { + "id": 3830, + "image_id": 785, + "category_id": 1, + "bbox": [ + 565.654, + 475.162, + 93.8534, + 241.721 + ], + "area": 22686.3377014, + "iscrowd": 0 + }, + { + "id": 3831, + "image_id": 785, + "category_id": 1, + "bbox": [ + 445.898, + 465.242, + 133.877, + 252.392 + ], + "area": 33789.483784000004, + "iscrowd": 0 + }, + { + "id": 3832, + "image_id": 785, + "category_id": 1, + "bbox": [ + 131.285, + 466.619, + 91.1516, + 205.701 + ], + "area": 18749.9752716, + "iscrowd": 0 + }, + { + "id": 3833, + "image_id": 785, + "category_id": 1, + "bbox": [ + 31.5075, + 455.007, + 49.7949, + 81.6545 + ], + "area": 4065.9776620499997, + "iscrowd": 0 + }, + { + "id": 3834, + "image_id": 785, + "category_id": 0, + "bbox": [ + 157.874, + 504.057, + 64.5532, + 45.6505 + ], + "area": 2946.8858566000004, + "iscrowd": 0 + }, + { + "id": 3840, + "image_id": 787, + "category_id": 1, + "bbox": [ + 590.251, + 481.07, + 115.079, + 236.081 + ], + "area": 27167.965398999997, + "iscrowd": 0 + }, + { + "id": 3841, + "image_id": 787, + "category_id": 1, + "bbox": [ + 462.152, + 471.148, + 148.945, + 246.45 + ], + "area": 36707.49525, + "iscrowd": 0 + }, + { + "id": 3842, + "image_id": 787, + "category_id": 1, + "bbox": [ + 117.908, + 455.182, + 81.9665, + 181.571 + ], + "area": 14882.7393715, + "iscrowd": 0 + }, + { + "id": 3843, + "image_id": 787, + "category_id": 1, + "bbox": [ + 215.728, + 469.091, + 69.864, + 200.385 + ], + "area": 13999.69764, + "iscrowd": 0 + }, + { + "id": 3844, + "image_id": 787, + "category_id": 0, + "bbox": [ + 255.961, + 504.958, + 54.6783, + 50.8997 + ], + "area": 2783.10906651, + "iscrowd": 0 + }, + { + "id": 3845, + "image_id": 787, + "category_id": 0, + "bbox": [ + 161.456, + 467.979, + 35.6953, + 47.1432 + ], + "area": 1682.7906669600002, + "iscrowd": 0 + }, + { + "id": 3846, + "image_id": 787, + "category_id": 1, + "bbox": [ + 0.0, + 447.497, + 29.601, + 241.476 + ], + "area": 7147.931076, + "iscrowd": 0 + }, + { + "id": 3847, + "image_id": 788, + "category_id": 1, + "bbox": [ + 578.475, + 486.481, + 120.882, + 232.437 + ], + "area": 28097.449434000002, + "iscrowd": 0 + }, + { + "id": 3848, + "image_id": 788, + "category_id": 1, + "bbox": [ + 428.98, + 479.396, + 168.332, + 238.736 + ], + "area": 40186.908352, + "iscrowd": 0 + }, + { + "id": 3849, + "image_id": 788, + "category_id": 1, + "bbox": [ + 155.04, + 456.556, + 76.0023, + 212.19 + ], + "area": 16126.928037000001, + "iscrowd": 0 + }, + { + "id": 3850, + "image_id": 788, + "category_id": 1, + "bbox": [ + 17.2047, + 449.179, + 61.0408, + 87.1318 + ], + "area": 5318.594777439999, + "iscrowd": 0 + }, + { + "id": 3851, + "image_id": 788, + "category_id": 0, + "bbox": [ + 189.683, + 464.772, + 42.7034, + 66.5379 + ], + "area": 2841.39455886, + "iscrowd": 0 + }, + { + "id": 3852, + "image_id": 789, + "category_id": 1, + "bbox": [ + 429.95, + 489.202, + 164.227, + 228.623 + ], + "area": 37546.069421, + "iscrowd": 0 + }, + { + "id": 3853, + "image_id": 789, + "category_id": 1, + "bbox": [ + 556.606, + 491.873, + 198.368, + 226.111 + ], + "area": 44853.186848, + "iscrowd": 0 + }, + { + "id": 3854, + "image_id": 789, + "category_id": 1, + "bbox": [ + 186.465, + 459.652, + 84.3494, + 209.137 + ], + "area": 17640.580467800002, + "iscrowd": 0 + }, + { + "id": 3855, + "image_id": 789, + "category_id": 1, + "bbox": [ + 325.139, + 473.292, + 69.8651, + 92.2971 + ], + "area": 6448.34612121, + "iscrowd": 0 + }, + { + "id": 3856, + "image_id": 789, + "category_id": 0, + "bbox": [ + 363.536, + 510.648, + 31.1198, + 48.0943 + ], + "area": 1496.68499714, + "iscrowd": 0 + }, + { + "id": 3857, + "image_id": 789, + "category_id": 0, + "bbox": [ + 227.741, + 473.87, + 46.6798, + 63.6542 + ], + "area": 2971.3653251600003, + "iscrowd": 0 + }, + { + "id": 3858, + "image_id": 789, + "category_id": 1, + "bbox": [ + 87.7014, + 448.409, + 48.0943, + 107.505 + ], + "area": 5170.377721499999, + "iscrowd": 0 + }, + { + "id": 3859, + "image_id": 790, + "category_id": 1, + "bbox": [ + 567.069, + 500.395, + 156.812, + 218.225 + ], + "area": 34220.2987, + "iscrowd": 0 + }, + { + "id": 3860, + "image_id": 790, + "category_id": 1, + "bbox": [ + 376.176, + 501.88, + 202.418, + 216.115 + ], + "area": 43745.56607, + "iscrowd": 0 + }, + { + "id": 3861, + "image_id": 790, + "category_id": 1, + "bbox": [ + 107.203, + 448.718, + 107.828, + 187.462 + ], + "area": 20213.652535999998, + "iscrowd": 0 + }, + { + "id": 3862, + "image_id": 790, + "category_id": 1, + "bbox": [ + 240.671, + 460.385, + 65.2838, + 109.544 + ], + "area": 7151.4485872, + "iscrowd": 0 + }, + { + "id": 3863, + "image_id": 790, + "category_id": 1, + "bbox": [ + 365.55, + 470.661, + 76.2363, + 87.4702 + ], + "area": 6668.40440826, + "iscrowd": 0 + }, + { + "id": 3864, + "image_id": 790, + "category_id": 1, + "bbox": [ + 0.192902, + 447.706, + 58.7675, + 218.895 + ], + "area": 12863.9119125, + "iscrowd": 0 + }, + { + "id": 3865, + "image_id": 790, + "category_id": 0, + "bbox": [ + 395.255, + 502.51, + 57.6, + 60.5793 + ], + "area": 3489.3676800000003, + "iscrowd": 0 + }, + { + "id": 3866, + "image_id": 790, + "category_id": 0, + "bbox": [ + 18.869, + 485.628, + 33.7655, + 53.6276 + ], + "area": 1810.7627278000002, + "iscrowd": 0 + }, + { + "id": 3867, + "image_id": 791, + "category_id": 1, + "bbox": [ + 518.986, + 501.753, + 258.072, + 217.15 + ], + "area": 56040.334800000004, + "iscrowd": 0 + }, + { + "id": 3868, + "image_id": 791, + "category_id": 1, + "bbox": [ + 314.427, + 514.55, + 219.683, + 204.111 + ], + "area": 44839.716813, + "iscrowd": 0 + }, + { + "id": 3869, + "image_id": 791, + "category_id": 1, + "bbox": [ + 152.47, + 450.569, + 66.8431, + 214.876 + ], + "area": 14362.977955600001, + "iscrowd": 0 + }, + { + "id": 3870, + "image_id": 791, + "category_id": 1, + "bbox": [ + 13.3158, + 445.315, + 73.1677, + 98.4208 + ], + "area": 7201.22356816, + "iscrowd": 0 + }, + { + "id": 3871, + "image_id": 791, + "category_id": 1, + "bbox": [ + 402.426, + 473.013, + 84.1185, + 123.724 + ], + "area": 10407.477294, + "iscrowd": 0 + }, + { + "id": 3872, + "image_id": 791, + "category_id": 0, + "bbox": [ + 455.0, + 512.618, + 39.6058, + 33.2969 + ], + "area": 1318.75036202, + "iscrowd": 0 + }, + { + "id": 3873, + "image_id": 791, + "category_id": 0, + "bbox": [ + 92.5173, + 489.192, + 29.1833, + 51.5365 + ], + "area": 1504.0051404499998, + "iscrowd": 0 + }, + { + "id": 3874, + "image_id": 792, + "category_id": 1, + "bbox": [ + 514.652, + 515.585, + 233.018, + 202.3 + ], + "area": 47139.5414, + "iscrowd": 0 + }, + { + "id": 3875, + "image_id": 792, + "category_id": 1, + "bbox": [ + 261.992, + 531.651, + 208.854, + 185.874 + ], + "area": 38820.528396, + "iscrowd": 0 + }, + { + "id": 3876, + "image_id": 792, + "category_id": 1, + "bbox": [ + 451.941, + 473.392, + 97.5288, + 214.492 + ], + "area": 20919.1473696, + "iscrowd": 0 + }, + { + "id": 3877, + "image_id": 792, + "category_id": 1, + "bbox": [ + 178.729, + 455.361, + 88.5396, + 213.794 + ], + "area": 18929.2352424, + "iscrowd": 0 + }, + { + "id": 3878, + "image_id": 792, + "category_id": 1, + "bbox": [ + 331.261, + 464.982, + 63.7329, + 73.8965 + ], + "area": 4709.63824485, + "iscrowd": 0 + }, + { + "id": 3879, + "image_id": 792, + "category_id": 1, + "bbox": [ + 95.1413, + 448.574, + 75.2852, + 95.1085 + ], + "area": 7160.262444200001, + "iscrowd": 0 + }, + { + "id": 3880, + "image_id": 792, + "category_id": 0, + "bbox": [ + 108.919, + 488.016, + 66.4833, + 50.9234 + ], + "area": 3385.55567922, + "iscrowd": 0 + }, + { + "id": 3881, + "image_id": 792, + "category_id": 0, + "bbox": [ + 485.187, + 514.892, + 60.8251, + 33.9489 + ], + "area": 2064.94523739, + "iscrowd": 0 + }, + { + "id": 3882, + "image_id": 792, + "category_id": 0, + "bbox": [ + 360.707, + 483.772, + 38.1925, + 57.9961 + ], + "area": 2215.01604925, + "iscrowd": 0 + }, + { + "id": 3883, + "image_id": 793, + "category_id": 1, + "bbox": [ + 495.785, + 476.546, + 82.742, + 213.153 + ], + "area": 17636.705526, + "iscrowd": 0 + }, + { + "id": 3884, + "image_id": 793, + "category_id": 1, + "bbox": [ + 503.994, + 544.905, + 221.919, + 173.798 + ], + "area": 38569.078362, + "iscrowd": 0 + }, + { + "id": 3885, + "image_id": 793, + "category_id": 1, + "bbox": [ + 97.0342, + 554.124, + 247.748, + 164.398 + ], + "area": 40729.275704, + "iscrowd": 0 + }, + { + "id": 3886, + "image_id": 793, + "category_id": 1, + "bbox": [ + 375.89, + 463.672, + 62.6619, + 230.49 + ], + "area": 14442.941331000002, + "iscrowd": 0 + }, + { + "id": 3887, + "image_id": 793, + "category_id": 1, + "bbox": [ + 126.422, + 449.812, + 53.7839, + 119.071 + ], + "area": 6404.1027569, + "iscrowd": 0 + }, + { + "id": 3888, + "image_id": 793, + "category_id": 0, + "bbox": [ + 517.617, + 519.228, + 65.6292, + 49.5315 + ], + "area": 3250.7127198, + "iscrowd": 0 + }, + { + "id": 3889, + "image_id": 793, + "category_id": 0, + "bbox": [ + 412.363, + 479.293, + 31.8859, + 60.6761 + ], + "area": 1934.7120569899998, + "iscrowd": 0 + }, + { + "id": 3890, + "image_id": 793, + "category_id": 0, + "bbox": [ + 179.242, + 490.298, + 31.5763, + 57.5803 + ], + "area": 1818.1728268900001, + "iscrowd": 0 + }, + { + "id": 3891, + "image_id": 793, + "category_id": 1, + "bbox": [ + 243.633, + 455.316, + 49.5315, + 112.065 + ], + "area": 5550.7475475, + "iscrowd": 0 + }, + { + "id": 3901, + "image_id": 795, + "category_id": 1, + "bbox": [ + 449.25, + 469.059, + 100.144, + 230.522 + ], + "area": 23085.395168, + "iscrowd": 0 + }, + { + "id": 3902, + "image_id": 795, + "category_id": 1, + "bbox": [ + 536.985, + 481.011, + 95.0222, + 237.149 + ], + "area": 22534.4197078, + "iscrowd": 0 + }, + { + "id": 3903, + "image_id": 795, + "category_id": 1, + "bbox": [ + 220.363, + 451.374, + 76.4493, + 211.398 + ], + "area": 16161.229121399998, + "iscrowd": 0 + }, + { + "id": 3904, + "image_id": 795, + "category_id": 1, + "bbox": [ + 357.09, + 459.273, + 80.5442, + 134.702 + ], + "area": 10849.4648284, + "iscrowd": 0 + }, + { + "id": 3905, + "image_id": 795, + "category_id": 1, + "bbox": [ + 50.9234, + 451.238, + 33.9489, + 82.0432 + ], + "area": 2785.27639248, + "iscrowd": 0 + }, + { + "id": 3906, + "image_id": 795, + "category_id": 0, + "bbox": [ + 268.762, + 483.772, + 25.4617, + 79.2141 + ], + "area": 2016.92564997, + "iscrowd": 0 + }, + { + "id": 3907, + "image_id": 795, + "category_id": 0, + "bbox": [ + 492.259, + 482.358, + 41.0216, + 55.167 + ], + "area": 2263.0386072, + "iscrowd": 0 + }, + { + "id": 3908, + "image_id": 795, + "category_id": 0, + "bbox": [ + 544.597, + 530.452, + 86.2868, + 43.8507 + ], + "area": 3783.7365807600004, + "iscrowd": 0 + }, + { + "id": 3916, + "image_id": 797, + "category_id": 1, + "bbox": [ + 556.964, + 488.261, + 107.574, + 229.201 + ], + "area": 24656.068374, + "iscrowd": 0 + }, + { + "id": 3917, + "image_id": 797, + "category_id": 1, + "bbox": [ + 417.525, + 461.072, + 78.4948, + 243.608 + ], + "area": 19121.9612384, + "iscrowd": 0 + }, + { + "id": 3918, + "image_id": 797, + "category_id": 1, + "bbox": [ + 497.44, + 471.116, + 77.9131, + 245.865 + ], + "area": 19156.104331500002, + "iscrowd": 0 + }, + { + "id": 3919, + "image_id": 797, + "category_id": 1, + "bbox": [ + 158.158, + 448.122, + 67.7166, + 193.131 + ], + "area": 13078.1746746, + "iscrowd": 0 + }, + { + "id": 3920, + "image_id": 797, + "category_id": 0, + "bbox": [ + 557.328, + 540.354, + 118.821, + 50.9234 + ], + "area": 6050.7693114, + "iscrowd": 0 + }, + { + "id": 3921, + "image_id": 797, + "category_id": 0, + "bbox": [ + 366.365, + 488.016, + 45.2652, + 67.8978 + ], + "area": 3073.4074965600003, + "iscrowd": 0 + }, + { + "id": 3922, + "image_id": 797, + "category_id": 0, + "bbox": [ + 534.695, + 482.358, + 41.0216, + 67.8978 + ], + "area": 2785.27639248, + "iscrowd": 0 + }, + { + "id": 3923, + "image_id": 797, + "category_id": 1, + "bbox": [ + 321.237, + 459.362, + 56.1346, + 108.172 + ], + "area": 6072.1919511999995, + "iscrowd": 0 + }, + { + "id": 3924, + "image_id": 798, + "category_id": 1, + "bbox": [ + 588.634, + 492.751, + 110.587, + 225.403 + ], + "area": 24926.641561, + "iscrowd": 0 + }, + { + "id": 3925, + "image_id": 798, + "category_id": 1, + "bbox": [ + 423.712, + 461.533, + 86.0316, + 255.584 + ], + "area": 21988.3004544, + "iscrowd": 0 + }, + { + "id": 3926, + "image_id": 798, + "category_id": 1, + "bbox": [ + 510.782, + 472.475, + 87.1151, + 247.023 + ], + "area": 21519.4333473, + "iscrowd": 0 + }, + { + "id": 3927, + "image_id": 798, + "category_id": 1, + "bbox": [ + 209.191, + 453.066, + 70.0422, + 194.651 + ], + "area": 13633.784272199999, + "iscrowd": 0 + }, + { + "id": 3928, + "image_id": 798, + "category_id": 1, + "bbox": [ + 367.801, + 456.118, + 63.6322, + 217.54 + ], + "area": 13842.548787999998, + "iscrowd": 0 + }, + { + "id": 3929, + "image_id": 798, + "category_id": 0, + "bbox": [ + 595.384, + 548.528, + 105.599, + 52.7994 + ], + "area": 5575.5638406, + "iscrowd": 0 + }, + { + "id": 3930, + "image_id": 798, + "category_id": 0, + "bbox": [ + 546.646, + 484.763, + 48.738, + 64.9839 + ], + "area": 3167.1853182000004, + "iscrowd": 0 + }, + { + "id": 3931, + "image_id": 798, + "category_id": 0, + "bbox": [ + 422.77, + 495.729, + 27.212, + 53.6117 + ], + "area": 1458.8815803999998, + "iscrowd": 0 + }, + { + "id": 3932, + "image_id": 799, + "category_id": 1, + "bbox": [ + 600.705, + 498.285, + 120.81, + 219.52 + ], + "area": 26520.2112, + "iscrowd": 0 + }, + { + "id": 3933, + "image_id": 799, + "category_id": 1, + "bbox": [ + 408.804, + 470.119, + 82.368, + 248.845 + ], + "area": 20496.86496, + "iscrowd": 0 + }, + { + "id": 3934, + "image_id": 799, + "category_id": 1, + "bbox": [ + 519.41, + 476.54, + 94.707, + 241.906 + ], + "area": 22910.191542, + "iscrowd": 0 + }, + { + "id": 3935, + "image_id": 799, + "category_id": 1, + "bbox": [ + 449.876, + 455.834, + 34.7586, + 59.5862 + ], + "area": 2071.13289132, + "iscrowd": 0 + }, + { + "id": 3936, + "image_id": 799, + "category_id": 0, + "bbox": [ + 491.586, + 497.545, + 22.8414, + 49.6552 + ], + "area": 1134.19428528, + "iscrowd": 0 + }, + { + "id": 3937, + "image_id": 799, + "category_id": 0, + "bbox": [ + 546.207, + 497.545, + 66.5379, + 74.4828 + ], + "area": 4955.929098119999, + "iscrowd": 0 + }, + { + "id": 3938, + "image_id": 799, + "category_id": 0, + "bbox": [ + 610.759, + 543.228, + 107.255, + 72.4966 + ], + "area": 7775.622832999999, + "iscrowd": 0 + }, + { + "id": 3939, + "image_id": 800, + "category_id": 1, + "bbox": [ + 611.935, + 509.031, + 131.224, + 210.969 + ], + "area": 27684.196055999997, + "iscrowd": 0 + }, + { + "id": 3940, + "image_id": 800, + "category_id": 1, + "bbox": [ + 384.653, + 471.28, + 105.484, + 248.72 + ], + "area": 26235.98048, + "iscrowd": 0 + }, + { + "id": 3941, + "image_id": 800, + "category_id": 1, + "bbox": [ + 504.769, + 476.716, + 98.3028, + 243.284 + ], + "area": 23915.4983952, + "iscrowd": 0 + }, + { + "id": 3942, + "image_id": 800, + "category_id": 1, + "bbox": [ + 462.342, + 461.947, + 64.0533, + 248.034 + ], + "area": 15887.396212199998, + "iscrowd": 0 + }, + { + "id": 3943, + "image_id": 800, + "category_id": 1, + "bbox": [ + 337.104, + 458.663, + 49.332, + 107.928 + ], + "area": 5324.304096, + "iscrowd": 0 + }, + { + "id": 3944, + "image_id": 800, + "category_id": 0, + "bbox": [ + 616.504, + 572.83, + 125.957, + 60.2219 + ], + "area": 7585.3698583, + "iscrowd": 0 + }, + { + "id": 3945, + "image_id": 800, + "category_id": 0, + "bbox": [ + 539.742, + 496.917, + 46.2265, + 76.3372 + ], + "area": 3528.8015758, + "iscrowd": 0 + }, + { + "id": 3946, + "image_id": 801, + "category_id": 1, + "bbox": [ + 612.008, + 511.264, + 136.947, + 206.665 + ], + "area": 28302.151755, + "iscrowd": 0 + }, + { + "id": 3947, + "image_id": 801, + "category_id": 1, + "bbox": [ + 372.187, + 479.812, + 101.142, + 238.743 + ], + "area": 24146.944506, + "iscrowd": 0 + }, + { + "id": 3948, + "image_id": 801, + "category_id": 1, + "bbox": [ + 506.8, + 485.346, + 115.993, + 234.654 + ], + "area": 27218.221422, + "iscrowd": 0 + }, + { + "id": 3949, + "image_id": 801, + "category_id": 1, + "bbox": [ + 470.16, + 463.854, + 69.5225, + 249.105 + ], + "area": 17318.402362499997, + "iscrowd": 0 + }, + { + "id": 3950, + "image_id": 801, + "category_id": 0, + "bbox": [ + 611.172, + 583.313, + 140.169, + 67.9081 + ], + "area": 9518.610468900002, + "iscrowd": 0 + }, + { + "id": 3951, + "image_id": 801, + "category_id": 0, + "bbox": [ + 549.359, + 495.381, + 55.7195, + 87.0617 + ], + "area": 4851.03439315, + "iscrowd": 0 + }, + { + "id": 3952, + "image_id": 801, + "category_id": 0, + "bbox": [ + 398.742, + 454.462, + 48.7546, + 33.954 + ], + "area": 1655.4136884000002, + "iscrowd": 0 + }, + { + "id": 3961, + "image_id": 803, + "category_id": 1, + "bbox": [ + 290.77, + 485.884, + 138.295, + 232.799 + ], + "area": 32194.937704999997, + "iscrowd": 0 + }, + { + "id": 3962, + "image_id": 803, + "category_id": 1, + "bbox": [ + 580.259, + 531.246, + 166.864, + 186.802 + ], + "area": 31170.528928, + "iscrowd": 0 + }, + { + "id": 3963, + "image_id": 803, + "category_id": 1, + "bbox": [ + 455.123, + 468.592, + 64.4918, + 233.548 + ], + "area": 15061.930906399999, + "iscrowd": 0 + }, + { + "id": 3964, + "image_id": 803, + "category_id": 1, + "bbox": [ + 489.405, + 492.027, + 126.953, + 227.973 + ], + "area": 28941.856269000004, + "iscrowd": 0 + }, + { + "id": 3965, + "image_id": 803, + "category_id": 0, + "bbox": [ + 488.86, + 461.427, + 40.4973, + 45.2721 + ], + "area": 1833.3978153300002, + "iscrowd": 0 + }, + { + "id": 3966, + "image_id": 803, + "category_id": 0, + "bbox": [ + 578.649, + 619.13, + 166.915, + 86.6615 + ], + "area": 14465.1042725, + "iscrowd": 0 + }, + { + "id": 3967, + "image_id": 803, + "category_id": 0, + "bbox": [ + 571.631, + 517.516, + 44.8565, + 39.669 + ], + "area": 1779.4124984999996, + "iscrowd": 0 + }, + { + "id": 3968, + "image_id": 803, + "category_id": 0, + "bbox": [ + 509.992, + 521.483, + 74.7609, + 86.3566 + ], + "area": 6456.09713694, + "iscrowd": 0 + }, + { + "id": 3969, + "image_id": 803, + "category_id": 1, + "bbox": [ + 533.087, + 466.229, + 31.5444, + 32.8191 + ], + "area": 1035.25881804, + "iscrowd": 0 + }, + { + "id": 3970, + "image_id": 804, + "category_id": 1, + "bbox": [ + 202.076, + 492.037, + 189.924, + 226.029 + ], + "area": 42928.331796, + "iscrowd": 0 + }, + { + "id": 3971, + "image_id": 804, + "category_id": 1, + "bbox": [ + 556.709, + 546.808, + 176.335, + 173.192 + ], + "area": 30539.811320000004, + "iscrowd": 0 + }, + { + "id": 3972, + "image_id": 804, + "category_id": 1, + "bbox": [ + 490.986, + 467.487, + 51.8812, + 247.491 + ], + "area": 12840.1300692, + "iscrowd": 0 + }, + { + "id": 3973, + "image_id": 804, + "category_id": 1, + "bbox": [ + 499.253, + 500.547, + 128.718, + 218.867 + ], + "area": 28172.122505999996, + "iscrowd": 0 + }, + { + "id": 3974, + "image_id": 804, + "category_id": 0, + "bbox": [ + 519.098, + 459.857, + 41.7974, + 60.4414 + ], + "area": 2526.2933723600004, + "iscrowd": 0 + }, + { + "id": 3975, + "image_id": 804, + "category_id": 0, + "bbox": [ + 563.014, + 650.252, + 172.092, + 69.7483 + ], + "area": 12003.124443600002, + "iscrowd": 0 + }, + { + "id": 3976, + "image_id": 804, + "category_id": 1, + "bbox": [ + 547.943, + 471.85, + 45.2137, + 52.2236 + ], + "area": 2361.22218332, + "iscrowd": 0 + }, + { + "id": 3977, + "image_id": 804, + "category_id": 0, + "bbox": [ + 591.404, + 537.743, + 47.6672, + 39.9563 + ], + "area": 1904.6049433599999, + "iscrowd": 0 + }, + { + "id": 3978, + "image_id": 804, + "category_id": 0, + "bbox": [ + 514.996, + 519.518, + 69.0473, + 99.1898 + ], + "area": 6848.787877540001, + "iscrowd": 0 + }, + { + "id": 3979, + "image_id": 805, + "category_id": 1, + "bbox": [ + 168.785, + 510.414, + 197.629, + 207.411 + ], + "area": 40990.428519, + "iscrowd": 0 + }, + { + "id": 3980, + "image_id": 805, + "category_id": 1, + "bbox": [ + 525.471, + 564.741, + 205.729, + 154.444 + ], + "area": 31773.609676, + "iscrowd": 0 + }, + { + "id": 3981, + "image_id": 805, + "category_id": 1, + "bbox": [ + 486.243, + 471.8, + 41.5236, + 100.68 + ], + "area": 4180.596048, + "iscrowd": 0 + }, + { + "id": 3982, + "image_id": 805, + "category_id": 0, + "bbox": [ + 515.05, + 463.281, + 48.2698, + 67.7272 + ], + "area": 3269.1783985599996, + "iscrowd": 0 + }, + { + "id": 3983, + "image_id": 805, + "category_id": 0, + "bbox": [ + 578.546, + 667.662, + 155.599, + 52.3379 + ], + "area": 8143.724902099999, + "iscrowd": 0 + }, + { + "id": 3984, + "image_id": 805, + "category_id": 0, + "bbox": [ + 507.972, + 530.774, + 63.6962, + 112.12 + ], + "area": 7141.617944, + "iscrowd": 0 + }, + { + "id": 3985, + "image_id": 805, + "category_id": 0, + "bbox": [ + 599.978, + 538.224, + 41.3466, + 38.3667 + ], + "area": 1586.3325982200001, + "iscrowd": 0 + }, + { + "id": 3986, + "image_id": 805, + "category_id": 1, + "bbox": [ + 492.328, + 506.934, + 124.04, + 161.662 + ], + "area": 20052.554480000003, + "iscrowd": 0 + }, + { + "id": 3987, + "image_id": 805, + "category_id": 1, + "bbox": [ + 563.846, + 484.585, + 28.6819, + 24.5845 + ], + "area": 705.1301705499999, + "iscrowd": 0 + }, + { + "id": 3988, + "image_id": 806, + "category_id": 1, + "bbox": [ + 81.6104, + 537.826, + 215.296, + 180.294 + ], + "area": 38816.577024, + "iscrowd": 0 + }, + { + "id": 3989, + "image_id": 806, + "category_id": 1, + "bbox": [ + 515.169, + 588.577, + 214.125, + 130.336 + ], + "area": 27908.196000000004, + "iscrowd": 0 + }, + { + "id": 3990, + "image_id": 806, + "category_id": 1, + "bbox": [ + 555.145, + 503.503, + 61.5724, + 142.014 + ], + "area": 8744.142813600001, + "iscrowd": 0 + }, + { + "id": 3991, + "image_id": 806, + "category_id": 1, + "bbox": [ + 578.979, + 469.738, + 47.669, + 55.6138 + ], + "area": 2651.0542321999997, + "iscrowd": 0 + }, + { + "id": 3992, + "image_id": 806, + "category_id": 1, + "bbox": [ + 473.71, + 470.731, + 80.4414, + 171.807 + ], + "area": 13820.3956098, + "iscrowd": 0 + }, + { + "id": 3993, + "image_id": 806, + "category_id": 0, + "bbox": [ + 509.462, + 469.738, + 56.6069, + 59.5862 + ], + "area": 3372.99006478, + "iscrowd": 0 + }, + { + "id": 3994, + "image_id": 806, + "category_id": 0, + "bbox": [ + 614.731, + 540.248, + 52.6345, + 53.6276 + ], + "area": 2822.6619122, + "iscrowd": 0 + }, + { + "id": 3995, + "image_id": 807, + "category_id": 1, + "bbox": [ + 446.673, + 474.459, + 96.6566, + 244.14 + ], + "area": 23597.742324, + "iscrowd": 0 + }, + { + "id": 3996, + "image_id": 807, + "category_id": 1, + "bbox": [ + 6.21017, + 583.559, + 209.135, + 134.648 + ], + "area": 28159.60948, + "iscrowd": 0 + }, + { + "id": 3997, + "image_id": 807, + "category_id": 1, + "bbox": [ + 506.693, + 613.65, + 153.251, + 104.792 + ], + "area": 16059.478792, + "iscrowd": 0 + }, + { + "id": 3998, + "image_id": 807, + "category_id": 1, + "bbox": [ + 634.481, + 510.687, + 86.1871, + 206.664 + ], + "area": 17811.7708344, + "iscrowd": 0 + }, + { + "id": 3999, + "image_id": 807, + "category_id": 0, + "bbox": [ + 649.273, + 558.743, + 70.7269, + 74.9705 + ], + "area": 5302.43105645, + "iscrowd": 0 + }, + { + "id": 4000, + "image_id": 807, + "category_id": 0, + "bbox": [ + 493.674, + 472.456, + 49.5088, + 53.7525 + ], + "area": 2661.221772, + "iscrowd": 0 + }, + { + "id": 4001, + "image_id": 807, + "category_id": 1, + "bbox": [ + 585.619, + 480.943, + 94.7741, + 123.065 + ], + "area": 11663.374616500001, + "iscrowd": 0 + }, + { + "id": 4002, + "image_id": 808, + "category_id": 1, + "bbox": [ + 404.992, + 474.077, + 97.2957, + 244.498 + ], + "area": 23788.604058599998, + "iscrowd": 0 + }, + { + "id": 4003, + "image_id": 808, + "category_id": 1, + "bbox": [ + 601.287, + 487.076, + 101.264, + 231.276 + ], + "area": 23419.932864, + "iscrowd": 0 + }, + { + "id": 4004, + "image_id": 808, + "category_id": 1, + "bbox": [ + 669.957, + 515.557, + 123.187, + 203.686 + ], + "area": 25091.467282, + "iscrowd": 0 + }, + { + "id": 4005, + "image_id": 808, + "category_id": 1, + "bbox": [ + 501.792, + 651.447, + 121.195, + 67.7859 + ], + "area": 8215.3121505, + "iscrowd": 0 + }, + { + "id": 4006, + "image_id": 808, + "category_id": 0, + "bbox": [ + 442.75, + 471.041, + 63.6542, + 70.7269 + ], + "area": 4502.06423798, + "iscrowd": 0 + }, + { + "id": 4007, + "image_id": 808, + "category_id": 0, + "bbox": [ + 712.927, + 557.328, + 84.8723, + 104.676 + ], + "area": 8884.0928748, + "iscrowd": 0 + }, + { + "id": 4008, + "image_id": 809, + "category_id": 1, + "bbox": [ + 599.247, + 492.742, + 133.071, + 227.258 + ], + "area": 30241.449318, + "iscrowd": 0 + }, + { + "id": 4009, + "image_id": 809, + "category_id": 1, + "bbox": [ + 386.618, + 484.663, + 100.583, + 233.237 + ], + "area": 23459.677171, + "iscrowd": 0 + }, + { + "id": 4010, + "image_id": 809, + "category_id": 1, + "bbox": [ + 747.187, + 525.262, + 124.983, + 193.685 + ], + "area": 24207.332355000002, + "iscrowd": 0 + }, + { + "id": 4011, + "image_id": 809, + "category_id": 0, + "bbox": [ + 435.357, + 479.859, + 68.9631, + 86.6616 + ], + "area": 5976.45258696, + "iscrowd": 0 + }, + { + "id": 4012, + "image_id": 809, + "category_id": 0, + "bbox": [ + 668.489, + 567.131, + 85.7461, + 120.228 + ], + "area": 10309.0821108, + "iscrowd": 0 + }, + { + "id": 4013, + "image_id": 809, + "category_id": 0, + "bbox": [ + 783.528, + 562.554, + 92.4594, + 124.195 + ], + "area": 11482.995182999999, + "iscrowd": 0 + }, + { + "id": 4020, + "image_id": 811, + "category_id": 1, + "bbox": [ + 364.631, + 483.02, + 127.881, + 235.647 + ], + "area": 30134.774007, + "iscrowd": 0 + }, + { + "id": 4021, + "image_id": 811, + "category_id": 1, + "bbox": [ + 558.193, + 497.145, + 121.373, + 220.359 + ], + "area": 26745.632907000003, + "iscrowd": 0 + }, + { + "id": 4022, + "image_id": 811, + "category_id": 1, + "bbox": [ + 915.644, + 527.378, + 139.585, + 190.922 + ], + "area": 26649.84737, + "iscrowd": 0 + }, + { + "id": 4023, + "image_id": 811, + "category_id": 0, + "bbox": [ + 415.874, + 485.187, + 70.7269, + 80.6287 + ], + "area": 5702.61800203, + "iscrowd": 0 + }, + { + "id": 4024, + "image_id": 811, + "category_id": 0, + "bbox": [ + 554.499, + 588.448, + 53.7525, + 114.578 + ], + "area": 6158.853945, + "iscrowd": 0 + }, + { + "id": 4025, + "image_id": 811, + "category_id": 0, + "bbox": [ + 967.544, + 578.546, + 94.7741, + 101.847 + ], + "area": 9652.4577627, + "iscrowd": 0 + }, + { + "id": 4026, + "image_id": 812, + "category_id": 1, + "bbox": [ + 505.121, + 497.898, + 179.918, + 219.61 + ], + "area": 39511.79198, + "iscrowd": 0 + }, + { + "id": 4027, + "image_id": 812, + "category_id": 1, + "bbox": [ + 379.707, + 500.503, + 132.409, + 218.499 + ], + "area": 28931.234091, + "iscrowd": 0 + }, + { + "id": 4028, + "image_id": 812, + "category_id": 1, + "bbox": [ + 933.398, + 523.476, + 158.063, + 195.768 + ], + "area": 30943.677384, + "iscrowd": 0 + }, + { + "id": 4029, + "image_id": 812, + "category_id": 0, + "bbox": [ + 437.092, + 490.845, + 72.1415, + 91.945 + ], + "area": 6633.050217499999, + "iscrowd": 0 + }, + { + "id": 4030, + "image_id": 812, + "category_id": 0, + "bbox": [ + 507.819, + 589.862, + 52.3379, + 62.2397 + ], + "area": 3257.49519463, + "iscrowd": 0 + }, + { + "id": 4031, + "image_id": 812, + "category_id": 0, + "bbox": [ + 976.031, + 562.986, + 77.7996, + 110.334 + ], + "area": 8583.9410664, + "iscrowd": 0 + }, + { + "id": 4032, + "image_id": 813, + "category_id": 1, + "bbox": [ + 498.239, + 501.271, + 209.743, + 216.276 + ], + "area": 45362.377068, + "iscrowd": 0 + }, + { + "id": 4033, + "image_id": 813, + "category_id": 1, + "bbox": [ + 943.223, + 506.012, + 161.758, + 212.901 + ], + "area": 34438.439958, + "iscrowd": 0 + }, + { + "id": 4034, + "image_id": 813, + "category_id": 1, + "bbox": [ + 433.537, + 495.316, + 106.51, + 222.8 + ], + "area": 23730.428000000004, + "iscrowd": 0 + }, + { + "id": 4035, + "image_id": 813, + "category_id": 0, + "bbox": [ + 954.749, + 542.835, + 83.5049, + 127.823 + ], + "area": 10673.846832700001, + "iscrowd": 0 + }, + { + "id": 4036, + "image_id": 813, + "category_id": 0, + "bbox": [ + 456.051, + 488.72, + 85.3709, + 95.1677 + ], + "area": 8124.55219993, + "iscrowd": 0 + }, + { + "id": 4037, + "image_id": 814, + "category_id": 1, + "bbox": [ + 911.397, + 514.326, + 141.904, + 203.751 + ], + "area": 28913.081904, + "iscrowd": 0 + }, + { + "id": 4038, + "image_id": 814, + "category_id": 1, + "bbox": [ + 532.108, + 507.448, + 156.229, + 210.845 + ], + "area": 32940.103505, + "iscrowd": 0 + }, + { + "id": 4039, + "image_id": 814, + "category_id": 1, + "bbox": [ + 518.005, + 486.371, + 96.1333, + 149.288 + ], + "area": 14351.548090400001, + "iscrowd": 0 + }, + { + "id": 4040, + "image_id": 814, + "category_id": 0, + "bbox": [ + 910.963, + 546.012, + 89.1159, + 83.4578 + ], + "area": 7437.41695902, + "iscrowd": 0 + }, + { + "id": 4041, + "image_id": 814, + "category_id": 0, + "bbox": [ + 562.986, + 488.016, + 48.0943, + 46.6798 + ], + "area": 2245.03230514, + "iscrowd": 0 + }, + { + "id": 4042, + "image_id": 815, + "category_id": 1, + "bbox": [ + 578.395, + 490.254, + 107.017, + 228.618 + ], + "area": 24466.012506, + "iscrowd": 0 + }, + { + "id": 4043, + "image_id": 815, + "category_id": 1, + "bbox": [ + 876.53, + 510.095, + 123.703, + 209.905 + ], + "area": 25965.878215, + "iscrowd": 0 + }, + { + "id": 4044, + "image_id": 815, + "category_id": 1, + "bbox": [ + 483.236, + 514.779, + 124.892, + 205.221 + ], + "area": 25630.461132, + "iscrowd": 0 + }, + { + "id": 4045, + "image_id": 815, + "category_id": 0, + "bbox": [ + 629.202, + 489.369, + 50.4602, + 117.637 + ], + "area": 5935.9865474, + "iscrowd": 0 + }, + { + "id": 4046, + "image_id": 815, + "category_id": 0, + "bbox": [ + 551.809, + 603.601, + 53.5559, + 116.399 + ], + "area": 6233.8532041, + "iscrowd": 0 + }, + { + "id": 4047, + "image_id": 815, + "category_id": 1, + "bbox": [ + 475.035, + 620.008, + 7.42972, + 19.8126 + ], + "area": 147.202070472, + "iscrowd": 0 + }, + { + "id": 4048, + "image_id": 815, + "category_id": 0, + "bbox": [ + 870.359, + 534.876, + 59.7473, + 110.827 + ], + "area": 6621.614017100001, + "iscrowd": 0 + }, + { + "id": 4049, + "image_id": 816, + "category_id": 1, + "bbox": [ + 627.632, + 515.441, + 129.989, + 203.359 + ], + "area": 26434.433051000004, + "iscrowd": 0 + }, + { + "id": 4050, + "image_id": 816, + "category_id": 1, + "bbox": [ + 832.246, + 511.311, + 125.769, + 206.716 + ], + "area": 25998.464604, + "iscrowd": 0 + }, + { + "id": 4051, + "image_id": 816, + "category_id": 1, + "bbox": [ + 372.78, + 508.455, + 209.92, + 210.091 + ], + "area": 44102.30272, + "iscrowd": 0 + }, + { + "id": 4052, + "image_id": 816, + "category_id": 0, + "bbox": [ + 511.65, + 616.32, + 74.0813, + 102.381 + ], + "area": 7584.5175753, + "iscrowd": 0 + }, + { + "id": 4053, + "image_id": 816, + "category_id": 0, + "bbox": [ + 680.393, + 507.819, + 65.0688, + 91.945 + ], + "area": 5982.750815999999, + "iscrowd": 0 + }, + { + "id": 4054, + "image_id": 816, + "category_id": 0, + "bbox": [ + 835.498, + 562.033, + 61.9734, + 48.5871 + ], + "area": 3011.10778314, + "iscrowd": 0 + }, + { + "id": 4055, + "image_id": 817, + "category_id": 1, + "bbox": [ + 790.319, + 514.815, + 114.924, + 203.592 + ], + "area": 23397.607008000003, + "iscrowd": 0 + }, + { + "id": 4056, + "image_id": 817, + "category_id": 1, + "bbox": [ + 657.759, + 520.964, + 141.305, + 198.512 + ], + "area": 28050.73816, + "iscrowd": 0 + }, + { + "id": 4057, + "image_id": 817, + "category_id": 1, + "bbox": [ + 300.043, + 514.335, + 236.489, + 204.663 + ], + "area": 48400.54820700001, + "iscrowd": 0 + }, + { + "id": 4058, + "image_id": 817, + "category_id": 0, + "bbox": [ + 397.001, + 618.138, + 137.558, + 101.862 + ], + "area": 14011.932995999998, + "iscrowd": 0 + }, + { + "id": 4059, + "image_id": 817, + "category_id": 0, + "bbox": [ + 708.682, + 505.829, + 92.2854, + 123.628 + ], + "area": 11409.0594312, + "iscrowd": 0 + }, + { + "id": 4060, + "image_id": 817, + "category_id": 0, + "bbox": [ + 791.39, + 568.513, + 46.1427, + 79.2261 + ], + "area": 3655.7061644699997, + "iscrowd": 0 + }, + { + "id": 4061, + "image_id": 818, + "category_id": 1, + "bbox": [ + 260.611, + 535.283, + 244.988, + 182.498 + ], + "area": 44709.820024, + "iscrowd": 0 + }, + { + "id": 4062, + "image_id": 818, + "category_id": 1, + "bbox": [ + 635.729, + 526.305, + 157.924, + 192.575 + ], + "area": 30412.2143, + "iscrowd": 0 + }, + { + "id": 4063, + "image_id": 818, + "category_id": 1, + "bbox": [ + 753.581, + 508.417, + 69.7129, + 208.608 + ], + "area": 14542.6686432, + "iscrowd": 0 + }, + { + "id": 4064, + "image_id": 818, + "category_id": 0, + "bbox": [ + 441.542, + 682.771, + 66.2551, + 35.7394 + ], + "area": 2367.91752094, + "iscrowd": 0 + }, + { + "id": 4065, + "image_id": 818, + "category_id": 0, + "bbox": [ + 691.706, + 516.732, + 74.4571, + 136.256 + ], + "area": 10145.2266176, + "iscrowd": 0 + }, + { + "id": 4066, + "image_id": 819, + "category_id": 1, + "bbox": [ + 188.738, + 567.96, + 168.681, + 150.312 + ], + "area": 25354.778472000005, + "iscrowd": 0 + }, + { + "id": 4067, + "image_id": 819, + "category_id": 1, + "bbox": [ + 619.477, + 554.166, + 165.407, + 164.036 + ], + "area": 27132.702652000004, + "iscrowd": 0 + }, + { + "id": 4068, + "image_id": 819, + "category_id": 1, + "bbox": [ + 670.452, + 515.811, + 52.7698, + 64.1826 + ], + "area": 3386.9029654799992, + "iscrowd": 0 + }, + { + "id": 4069, + "image_id": 819, + "category_id": 0, + "bbox": [ + 686.494, + 546.515, + 93.9842, + 151.592 + ], + "area": 14247.2528464, + "iscrowd": 0 + }, + { + "id": 4070, + "image_id": 820, + "category_id": 0, + "bbox": [ + 646.824, + 562.249, + 151.26, + 156.822 + ], + "area": 23720.89572, + "iscrowd": 0 + }, + { + "id": 4071, + "image_id": 820, + "category_id": 1, + "bbox": [ + 0.3967, + 584.206, + 112.522, + 133.773 + ], + "area": 15052.405506000001, + "iscrowd": 0 + }, + { + "id": 4072, + "image_id": 820, + "category_id": 1, + "bbox": [ + 564.337, + 567.165, + 111.105, + 152.028 + ], + "area": 16891.07094, + "iscrowd": 0 + }, + { + "id": 4073, + "image_id": 820, + "category_id": 1, + "bbox": [ + 584.184, + 510.182, + 83.5793, + 84.4499 + ], + "area": 7058.26352707, + "iscrowd": 0 + }, + { + "id": 4078, + "image_id": 822, + "category_id": 1, + "bbox": [ + 371.977, + 504.422, + 140.506, + 195.069 + ], + "area": 27408.364913999998, + "iscrowd": 0 + }, + { + "id": 4079, + "image_id": 822, + "category_id": 0, + "bbox": [ + 370.882, + 531.947, + 81.838, + 127.11 + ], + "area": 10402.428179999999, + "iscrowd": 0 + }, + { + "id": 4080, + "image_id": 823, + "category_id": 1, + "bbox": [ + 292.914, + 510.192, + 151.571, + 207.867 + ], + "area": 31506.609056999998, + "iscrowd": 0 + }, + { + "id": 4081, + "image_id": 823, + "category_id": 0, + "bbox": [ + 294.372, + 531.155, + 81.7784, + 141.287 + ], + "area": 11554.2248008, + "iscrowd": 0 + }, + { + "id": 4082, + "image_id": 824, + "category_id": 1, + "bbox": [ + 231.352, + 510.727, + 131.106, + 207.718 + ], + "area": 27233.076107999997, + "iscrowd": 0 + }, + { + "id": 4083, + "image_id": 824, + "category_id": 0, + "bbox": [ + 198.035, + 537.525, + 77.7996, + 123.065 + ], + "area": 9574.407774, + "iscrowd": 0 + }, + { + "id": 4084, + "image_id": 825, + "category_id": 1, + "bbox": [ + 128.865, + 522.957, + 210.309, + 197.043 + ], + "area": 41439.916287, + "iscrowd": 0 + }, + { + "id": 4085, + "image_id": 825, + "category_id": 0, + "bbox": [ + 136.7, + 552.111, + 125.419, + 167.889 + ], + "area": 21056.470491, + "iscrowd": 0 + }, + { + "id": 4088, + "image_id": 827, + "category_id": 1, + "bbox": [ + 0.352082, + 573.679, + 155.399, + 144.599 + ], + "area": 22470.540000999998, + "iscrowd": 0 + }, + { + "id": 4089, + "image_id": 828, + "category_id": 1, + "bbox": [ + 17.411, + 444.885, + 61.8136, + 100.121 + ], + "area": 6188.8394456, + "iscrowd": 0 + }, + { + "id": 4092, + "image_id": 830, + "category_id": 1, + "bbox": [ + 161.677, + 449.254, + 61.9908, + 195.199 + ], + "area": 12100.5421692, + "iscrowd": 0 + }, + { + "id": 4093, + "image_id": 830, + "category_id": 0, + "bbox": [ + 210.766, + 478.114, + 39.6071, + 56.5815 + ], + "area": 2241.02912865, + "iscrowd": 0 + }, + { + "id": 4095, + "image_id": 832, + "category_id": 0, + "bbox": [ + 345.635, + 493.64, + 39.1777, + 54.8489 + ], + "area": 2148.85374953, + "iscrowd": 0 + }, + { + "id": 4098, + "image_id": 834, + "category_id": 1, + "bbox": [ + 411.283, + 456.817, + 77.2446, + 243.403 + ], + "area": 18801.5673738, + "iscrowd": 0 + }, + { + "id": 4099, + "image_id": 834, + "category_id": 0, + "bbox": [ + 462.297, + 495.381, + 47.8839, + 67.0376 + ], + "area": 3210.0217346399995, + "iscrowd": 0 + }, + { + "id": 4100, + "image_id": 835, + "category_id": 1, + "bbox": [ + 463.296, + 457.915, + 64.7784, + 249.788 + ], + "area": 16180.866979200002, + "iscrowd": 0 + }, + { + "id": 4101, + "image_id": 835, + "category_id": 0, + "bbox": [ + 517.721, + 502.161, + 29.7053, + 57.9961 + ], + "area": 1722.79154933, + "iscrowd": 0 + }, + { + "id": 4102, + "image_id": 836, + "category_id": 1, + "bbox": [ + 499.496, + 463.094, + 90.4109, + 254.581 + ], + "area": 23016.8973329, + "iscrowd": 0 + }, + { + "id": 4103, + "image_id": 836, + "category_id": 0, + "bbox": [ + 561.547, + 510.181, + 53.1076, + 66.1669 + ], + "area": 3513.9652584399996, + "iscrowd": 0 + }, + { + "id": 4104, + "image_id": 837, + "category_id": 1, + "bbox": [ + 541.508, + 470.716, + 79.7165, + 246.917 + ], + "area": 19683.3590305, + "iscrowd": 0 + }, + { + "id": 4105, + "image_id": 837, + "category_id": 0, + "bbox": [ + 599.764, + 520.55, + 43.8507, + 67.8978 + ], + "area": 2977.36605846, + "iscrowd": 0 + }, + { + "id": 4106, + "image_id": 838, + "category_id": 1, + "bbox": [ + 581.249, + 472.104, + 100.141, + 246.22 + ], + "area": 24656.71702, + "iscrowd": 0 + }, + { + "id": 4107, + "image_id": 838, + "category_id": 0, + "bbox": [ + 646.868, + 524.982, + 36.5659, + 74.0025 + ], + "area": 2705.96801475, + "iscrowd": 0 + }, + { + "id": 4108, + "image_id": 838, + "category_id": 1, + "bbox": [ + 1.54653e-15, + 455.333, + 42.6602, + 90.5443 + ], + "area": 3862.6379468600007, + "iscrowd": 0 + }, + { + "id": 4109, + "image_id": 839, + "category_id": 1, + "bbox": [ + 659.2, + 471.167, + 75.0066, + 247.038 + ], + "area": 18529.4804508, + "iscrowd": 0 + }, + { + "id": 4110, + "image_id": 839, + "category_id": 1, + "bbox": [ + 32.5416, + 454.288, + 48.7729, + 81.0442 + ], + "area": 3952.76066218, + "iscrowd": 0 + }, + { + "id": 4111, + "image_id": 840, + "category_id": 1, + "bbox": [ + 725.557, + 473.306, + 99.5274, + 244.722 + ], + "area": 24356.544382800002, + "iscrowd": 0 + }, + { + "id": 4112, + "image_id": 840, + "category_id": 1, + "bbox": [ + 94.3687, + 456.705, + 49.1619, + 73.5534 + ], + "area": 3616.02489546, + "iscrowd": 0 + }, + { + "id": 4113, + "image_id": 840, + "category_id": 0, + "bbox": [ + 701.611, + 517.721, + 35.3635, + 36.778 + ], + "area": 1300.598803, + "iscrowd": 0 + }, + { + "id": 4114, + "image_id": 840, + "category_id": 0, + "bbox": [ + 125.894, + 489.43, + 28.2908, + 53.7525 + ], + "area": 1520.701227, + "iscrowd": 0 + }, + { + "id": 4115, + "image_id": 841, + "category_id": 1, + "bbox": [ + 757.138, + 481.92, + 87.4263, + 236.149 + ], + "area": 20645.6333187, + "iscrowd": 0 + }, + { + "id": 4116, + "image_id": 841, + "category_id": 1, + "bbox": [ + 131.768, + 455.295, + 83.2815, + 213.087 + ], + "area": 17746.2049905, + "iscrowd": 0 + }, + { + "id": 4117, + "image_id": 841, + "category_id": 0, + "bbox": [ + 166.287, + 491.028, + 46.1427, + 56.5901 + ], + "area": 2611.2200072699998, + "iscrowd": 0 + }, + { + "id": 4118, + "image_id": 841, + "category_id": 0, + "bbox": [ + 758.308, + 546.747, + 38.3071, + 77.485 + ], + "area": 2968.2256435, + "iscrowd": 0 + }, + { + "id": 4119, + "image_id": 842, + "category_id": 1, + "bbox": [ + 776.5, + 484.289, + 130.391, + 235.711 + ], + "area": 30734.593001, + "iscrowd": 0 + }, + { + "id": 4120, + "image_id": 842, + "category_id": 1, + "bbox": [ + 193.983, + 454.272, + 61.8041, + 213.539 + ], + "area": 13197.585709899999, + "iscrowd": 0 + }, + { + "id": 4121, + "image_id": 842, + "category_id": 1, + "bbox": [ + 0.0938654, + 446.245, + 41.9869, + 95.2168 + ], + "area": 3997.85825992, + "iscrowd": 0 + }, + { + "id": 4122, + "image_id": 842, + "category_id": 0, + "bbox": [ + 832.592, + 547.775, + 63.2034, + 87.5945 + ], + "area": 5536.2702213, + "iscrowd": 0 + }, + { + "id": 4123, + "image_id": 842, + "category_id": 0, + "bbox": [ + 237.194, + 492.697, + 34.3626, + 58.8812 + ], + "area": 2023.31112312, + "iscrowd": 0 + }, + { + "id": 4124, + "image_id": 842, + "category_id": 0, + "bbox": [ + 37.6912, + 496.971, + 34.4965, + 40.1824 + ], + "area": 1386.1521616, + "iscrowd": 0 + }, + { + "id": 4125, + "image_id": 843, + "category_id": 1, + "bbox": [ + 828.399, + 496.53, + 116.545, + 221.603 + ], + "area": 25826.721635, + "iscrowd": 0 + }, + { + "id": 4126, + "image_id": 843, + "category_id": 1, + "bbox": [ + 252.416, + 459.958, + 56.4927, + 110.133 + ], + "area": 6221.7105291, + "iscrowd": 0 + }, + { + "id": 4127, + "image_id": 843, + "category_id": 1, + "bbox": [ + 31.8073, + 449.289, + 52.3145, + 86.355 + ], + "area": 4517.6186475, + "iscrowd": 0 + }, + { + "id": 4128, + "image_id": 843, + "category_id": 0, + "bbox": [ + 871.148, + 568.852, + 68.5003, + 79.6691 + ], + "area": 5457.35725073, + "iscrowd": 0 + }, + { + "id": 4129, + "image_id": 844, + "category_id": 1, + "bbox": [ + 796.461, + 602.196, + 149.22, + 117.551 + ], + "area": 17540.96022, + "iscrowd": 0 + }, + { + "id": 4130, + "image_id": 844, + "category_id": 1, + "bbox": [ + 100.432, + 445.58, + 53.7525, + 100.432 + ], + "area": 5398.47108, + "iscrowd": 0 + }, + { + "id": 4131, + "image_id": 844, + "category_id": 1, + "bbox": [ + 325.344, + 463.969, + 24.0472, + 108.919 + ], + "area": 2619.1969768, + "iscrowd": 0 + }, + { + "id": 4132, + "image_id": 844, + "category_id": 0, + "bbox": [ + 161.257, + 499.332, + 31.1198, + 65.0688 + ], + "area": 2024.92804224, + "iscrowd": 0 + }, + { + "id": 4133, + "image_id": 844, + "category_id": 0, + "bbox": [ + 340.904, + 502.161, + 31.1198, + 43.8507 + ], + "area": 1364.62501386, + "iscrowd": 0 + }, + { + "id": 4134, + "image_id": 844, + "category_id": 0, + "bbox": [ + 877.014, + 659.175, + 46.6798, + 52.3379 + ], + "area": 2443.12270442, + "iscrowd": 0 + }, + { + "id": 4141, + "image_id": 846, + "category_id": 1, + "bbox": [ + 389.0, + 464.41, + 68.3276, + 227.196 + ], + "area": 15523.7574096, + "iscrowd": 0 + }, + { + "id": 4142, + "image_id": 846, + "category_id": 1, + "bbox": [ + 806.079, + 491.698, + 134.277, + 226.854 + ], + "area": 30461.274557999997, + "iscrowd": 0 + }, + { + "id": 4143, + "image_id": 846, + "category_id": 1, + "bbox": [ + 200.907, + 450.096, + 92.8286, + 218.143 + ], + "area": 20249.909289799998, + "iscrowd": 0 + }, + { + "id": 4144, + "image_id": 846, + "category_id": 0, + "bbox": [ + 871.148, + 551.727, + 67.0112, + 95.3051 + ], + "area": 6386.50911712, + "iscrowd": 0 + }, + { + "id": 4145, + "image_id": 846, + "category_id": 0, + "bbox": [ + 257.622, + 501.096, + 39.4622, + 65.5223 + ], + "area": 2585.65410706, + "iscrowd": 0 + }, + { + "id": 4146, + "image_id": 846, + "category_id": 0, + "bbox": [ + 416.96, + 498.863, + 37.9729, + 64.033 + ], + "area": 2431.5187057000003, + "iscrowd": 0 + }, + { + "id": 4147, + "image_id": 847, + "category_id": 1, + "bbox": [ + 823.555, + 486.936, + 151.209, + 231.345 + ], + "area": 34981.446105, + "iscrowd": 0 + }, + { + "id": 4148, + "image_id": 847, + "category_id": 1, + "bbox": [ + 419.844, + 463.485, + 77.343, + 226.298 + ], + "area": 17502.566214000002, + "iscrowd": 0 + }, + { + "id": 4149, + "image_id": 847, + "category_id": 1, + "bbox": [ + 256.19, + 452.764, + 55.147, + 117.777 + ], + "area": 6495.048219, + "iscrowd": 0 + }, + { + "id": 4150, + "image_id": 847, + "category_id": 1, + "bbox": [ + 3.29, + 451.014, + 72.1296, + 89.8578 + ], + "area": 6481.407170879999, + "iscrowd": 0 + }, + { + "id": 4151, + "image_id": 847, + "category_id": 0, + "bbox": [ + 895.866, + 557.195, + 82.7087, + 100.121 + ], + "area": 8280.877752699998, + "iscrowd": 0 + }, + { + "id": 4152, + "image_id": 847, + "category_id": 0, + "bbox": [ + 462.297, + 494.51, + 33.9541, + 63.5551 + ], + "area": 2157.95622091, + "iscrowd": 0 + }, + { + "id": 4167, + "image_id": 850, + "category_id": 1, + "bbox": [ + 539.676, + 477.909, + 76.312, + 224.4 + ], + "area": 17124.4128, + "iscrowd": 0 + }, + { + "id": 4168, + "image_id": 850, + "category_id": 1, + "bbox": [ + 165.904, + 457.642, + 73.2663, + 181.457 + ], + "area": 13294.6829991, + "iscrowd": 0 + }, + { + "id": 4169, + "image_id": 850, + "category_id": 1, + "bbox": [ + 799.08, + 520.545, + 175.068, + 199.455 + ], + "area": 34918.18794, + "iscrowd": 0 + }, + { + "id": 4170, + "image_id": 850, + "category_id": 1, + "bbox": [ + 359.798, + 453.658, + 60.7666, + 111.012 + ], + "area": 6745.8217992, + "iscrowd": 0 + }, + { + "id": 4171, + "image_id": 850, + "category_id": 0, + "bbox": [ + 414.755, + 504.626, + 31.52, + 60.5072 + ], + "area": 1907.1869439999998, + "iscrowd": 0 + }, + { + "id": 4172, + "image_id": 850, + "category_id": 0, + "bbox": [ + 581.924, + 497.967, + 26.4543, + 45.4337 + ], + "area": 1201.91672991, + "iscrowd": 0 + }, + { + "id": 4173, + "image_id": 850, + "category_id": 0, + "bbox": [ + 837.629, + 616.66, + 103.34, + 103.34 + ], + "area": 10679.1556, + "iscrowd": 0 + }, + { + "id": 4174, + "image_id": 851, + "category_id": 1, + "bbox": [ + 559.977, + 470.383, + 109.398, + 234.299 + ], + "area": 25631.842002, + "iscrowd": 0 + }, + { + "id": 4175, + "image_id": 851, + "category_id": 1, + "bbox": [ + 706.323, + 524.611, + 153.366, + 194.748 + ], + "area": 29867.721768, + "iscrowd": 0 + }, + { + "id": 4176, + "image_id": 851, + "category_id": 1, + "bbox": [ + 370.428, + 454.542, + 86.1942, + 150.181 + ], + "area": 12944.731150200001, + "iscrowd": 0 + }, + { + "id": 4177, + "image_id": 851, + "category_id": 1, + "bbox": [ + 207.325, + 457.386, + 69.5128, + 200.938 + ], + "area": 13967.763006399999, + "iscrowd": 0 + }, + { + "id": 4178, + "image_id": 851, + "category_id": 1, + "bbox": [ + 0.184848, + 463.217, + 57.311, + 232.04 + ], + "area": 13298.44444, + "iscrowd": 0 + }, + { + "id": 4179, + "image_id": 851, + "category_id": 0, + "bbox": [ + 759.607, + 646.444, + 93.3595, + 73.556 + ], + "area": 6867.151381999999, + "iscrowd": 0 + }, + { + "id": 4180, + "image_id": 851, + "category_id": 0, + "bbox": [ + 628.055, + 506.405, + 45.2652, + 46.6798 + ], + "area": 2112.97048296, + "iscrowd": 0 + }, + { + "id": 4181, + "image_id": 851, + "category_id": 0, + "bbox": [ + 421.532, + 504.99, + 32.5344, + 63.6542 + ], + "area": 2070.95120448, + "iscrowd": 0 + }, + { + "id": 4182, + "image_id": 851, + "category_id": 0, + "bbox": [ + 0.0, + 444.202, + 21.3066, + 39.7449 + ], + "area": 846.82868634, + "iscrowd": 0 + }, + { + "id": 4192, + "image_id": 853, + "category_id": 1, + "bbox": [ + 627.237, + 471.174, + 89.1101, + 246.065 + ], + "area": 21926.8767565, + "iscrowd": 0 + }, + { + "id": 4193, + "image_id": 853, + "category_id": 1, + "bbox": [ + 412.33, + 531.373, + 163.971, + 186.007 + ], + "area": 30499.753797, + "iscrowd": 0 + }, + { + "id": 4194, + "image_id": 853, + "category_id": 1, + "bbox": [ + 388.193, + 455.497, + 76.0439, + 219.658 + ], + "area": 16703.6509862, + "iscrowd": 0 + }, + { + "id": 4195, + "image_id": 853, + "category_id": 1, + "bbox": [ + 259.977, + 476.763, + 50.7003, + 93.6292 + ], + "area": 4747.02852876, + "iscrowd": 0 + }, + { + "id": 4196, + "image_id": 853, + "category_id": 1, + "bbox": [ + 95.5516, + 467.21, + 58.4993, + 79.0007 + ], + "area": 4621.485649509999, + "iscrowd": 0 + }, + { + "id": 4197, + "image_id": 853, + "category_id": 1, + "bbox": [ + 14.8966, + 446.897, + 50.6483, + 191.669 + ], + "area": 9707.709012700001, + "iscrowd": 0 + }, + { + "id": 4198, + "image_id": 853, + "category_id": 0, + "bbox": [ + 28.8, + 478.676, + 41.7103, + 56.6069 + ], + "area": 2361.09078107, + "iscrowd": 0 + }, + { + "id": 4199, + "image_id": 853, + "category_id": 0, + "bbox": [ + 443.917, + 495.559, + 32.7724, + 41.7103 + ], + "area": 1366.9466357199997, + "iscrowd": 0 + }, + { + "id": 4200, + "image_id": 853, + "category_id": 0, + "bbox": [ + 679.283, + 507.476, + 32.7724, + 48.6621 + ], + "area": 1594.77380604, + "iscrowd": 0 + }, + { + "id": 4208, + "image_id": 855, + "category_id": 1, + "bbox": [ + 666.269, + 478.3, + 99.6681, + 239.092 + ], + "area": 23829.8453652, + "iscrowd": 0 + }, + { + "id": 4209, + "image_id": 855, + "category_id": 1, + "bbox": [ + 413.497, + 456.146, + 100.822, + 236.139 + ], + "area": 23808.006258, + "iscrowd": 0 + }, + { + "id": 4210, + "image_id": 855, + "category_id": 1, + "bbox": [ + 115.185, + 568.546, + 226.233, + 149.898 + ], + "area": 33911.874234, + "iscrowd": 0 + }, + { + "id": 4211, + "image_id": 855, + "category_id": 1, + "bbox": [ + 183.088, + 464.191, + 68.9837, + 199.586 + ], + "area": 13768.1807482, + "iscrowd": 0 + }, + { + "id": 4212, + "image_id": 855, + "category_id": 1, + "bbox": [ + 100.554, + 448.989, + 43.1333, + 94.7261 + ], + "area": 4085.8492891299998, + "iscrowd": 0 + }, + { + "id": 4213, + "image_id": 855, + "category_id": 0, + "bbox": [ + 473.615, + 505.829, + 40.919, + 76.6143 + ], + "area": 3134.9805417, + "iscrowd": 0 + }, + { + "id": 4214, + "image_id": 855, + "category_id": 0, + "bbox": [ + 102.732, + 479.71, + 45.272, + 64.4256 + ], + "area": 2916.6757632, + "iscrowd": 0 + }, + { + "id": 4215, + "image_id": 855, + "category_id": 0, + "bbox": [ + 664.281, + 522.37, + 36.5659, + 71.3906 + ], + "area": 2610.46154054, + "iscrowd": 0 + }, + { + "id": 4216, + "image_id": 856, + "category_id": 1, + "bbox": [ + 436.143, + 455.378, + 84.7321, + 241.543 + ], + "area": 20466.4456303, + "iscrowd": 0 + }, + { + "id": 4217, + "image_id": 856, + "category_id": 1, + "bbox": [ + 721.455, + 484.598, + 67.7576, + 232.9 + ], + "area": 15780.74504, + "iscrowd": 0 + }, + { + "id": 4218, + "image_id": 856, + "category_id": 1, + "bbox": [ + 29.6502, + 593.617, + 149.608, + 124.95 + ], + "area": 18693.5196, + "iscrowd": 0 + }, + { + "id": 4219, + "image_id": 856, + "category_id": 1, + "bbox": [ + 0.0827527, + 452.414, + 49.3044, + 238.2 + ], + "area": 11744.308079999999, + "iscrowd": 0 + }, + { + "id": 4220, + "image_id": 856, + "category_id": 1, + "bbox": [ + 217.158, + 465.98, + 67.967, + 103.64 + ], + "area": 7044.09988, + "iscrowd": 0 + }, + { + "id": 4221, + "image_id": 856, + "category_id": 1, + "bbox": [ + 116.949, + 449.832, + 65.6754, + 96.7767 + ], + "area": 6355.84848318, + "iscrowd": 0 + }, + { + "id": 4222, + "image_id": 856, + "category_id": 0, + "bbox": [ + 473.71, + 509.462, + 53.6276, + 69.5172 + ], + "area": 3728.04059472, + "iscrowd": 0 + }, + { + "id": 4223, + "image_id": 856, + "category_id": 0, + "bbox": [ + 128.11, + 479.669, + 46.6759, + 61.5724 + ], + "area": 2873.94718516, + "iscrowd": 0 + }, + { + "id": 4224, + "image_id": 856, + "category_id": 1, + "bbox": [ + 322.759, + 466.759, + 53.6276, + 102.29 + ], + "area": 5485.567204000001, + "iscrowd": 0 + }, + { + "id": 4234, + "image_id": 858, + "category_id": 1, + "bbox": [ + 439.373, + 457.556, + 90.6092, + 246.691 + ], + "area": 22352.474157200002, + "iscrowd": 0 + }, + { + "id": 4235, + "image_id": 858, + "category_id": 1, + "bbox": [ + 335.275, + 460.195, + 61.4001, + 104.334 + ], + "area": 6406.1180334, + "iscrowd": 0 + }, + { + "id": 4236, + "image_id": 858, + "category_id": 1, + "bbox": [ + 757.411, + 486.214, + 115.247, + 233.786 + ], + "area": 26943.135142, + "iscrowd": 0 + }, + { + "id": 4237, + "image_id": 858, + "category_id": 1, + "bbox": [ + 215.379, + 466.802, + 94.1977, + 104.542 + ], + "area": 9847.6159534, + "iscrowd": 0 + }, + { + "id": 4238, + "image_id": 858, + "category_id": 1, + "bbox": [ + 147.438, + 449.559, + 63.0457, + 216.318 + ], + "area": 13637.9197326, + "iscrowd": 0 + }, + { + "id": 4239, + "image_id": 858, + "category_id": 0, + "bbox": [ + 160.764, + 481.904, + 45.1876, + 77.0507 + ], + "area": 3481.7362113200006, + "iscrowd": 0 + }, + { + "id": 4240, + "image_id": 858, + "category_id": 0, + "bbox": [ + 487.215, + 511.74, + 42.5807, + 72.9954 + ], + "area": 3108.19522878, + "iscrowd": 0 + }, + { + "id": 4241, + "image_id": 858, + "category_id": 0, + "bbox": [ + 835.799, + 537.071, + 42.5807, + 84.8717 + ], + "area": 3613.8963961900004, + "iscrowd": 0 + }, + { + "id": 4268, + "image_id": 862, + "category_id": 1, + "bbox": [ + 533.187, + 448.673, + 97.4806, + 270.05 + ], + "area": 26324.63603, + "iscrowd": 0 + }, + { + "id": 4269, + "image_id": 862, + "category_id": 1, + "bbox": [ + 660.046, + 511.379, + 180.222, + 207.772 + ], + "area": 37445.085384, + "iscrowd": 0 + }, + { + "id": 4270, + "image_id": 862, + "category_id": 1, + "bbox": [ + 484.028, + 466.814, + 76.9742, + 235.881 + ], + "area": 18156.7512702, + "iscrowd": 0 + }, + { + "id": 4271, + "image_id": 862, + "category_id": 1, + "bbox": [ + 210.287, + 455.765, + 61.1971, + 212.646 + ], + "area": 13013.318526599998, + "iscrowd": 0 + }, + { + "id": 4272, + "image_id": 862, + "category_id": 1, + "bbox": [ + 346.605, + 471.603, + 52.9573, + 91.8828 + ], + "area": 4865.86500444, + "iscrowd": 0 + }, + { + "id": 4273, + "image_id": 862, + "category_id": 0, + "bbox": [ + 746.814, + 594.869, + 93.3517, + 87.3931 + ], + "area": 8158.294453269999, + "iscrowd": 0 + }, + { + "id": 4274, + "image_id": 862, + "category_id": 0, + "bbox": [ + 563.09, + 453.848, + 56.6069, + 71.5034 + ], + "area": 4047.5858134600003, + "iscrowd": 0 + }, + { + "id": 4275, + "image_id": 862, + "category_id": 0, + "bbox": [ + 224.441, + 480.662, + 49.6552, + 91.3655 + ], + "area": 4536.7721756, + "iscrowd": 0 + }, + { + "id": 4276, + "image_id": 863, + "category_id": 1, + "bbox": [ + 399.019, + 467.351, + 86.8943, + 222.337 + ], + "area": 19319.8179791, + "iscrowd": 0 + }, + { + "id": 4277, + "image_id": 863, + "category_id": 1, + "bbox": [ + 535.326, + 466.993, + 105.695, + 251.641 + ], + "area": 26597.195494999996, + "iscrowd": 0 + }, + { + "id": 4278, + "image_id": 863, + "category_id": 1, + "bbox": [ + 634.668, + 535.892, + 190.833, + 184.108 + ], + "area": 35133.881964, + "iscrowd": 0 + }, + { + "id": 4279, + "image_id": 863, + "category_id": 1, + "bbox": [ + 252.643, + 455.432, + 47.5626, + 114.258 + ], + "area": 5434.4075508000005, + "iscrowd": 0 + }, + { + "id": 4280, + "image_id": 863, + "category_id": 1, + "bbox": [ + 93.3042, + 452.879, + 73.5786, + 193.458 + ], + "area": 14234.368798799998, + "iscrowd": 0 + }, + { + "id": 4281, + "image_id": 863, + "category_id": 0, + "bbox": [ + 710.432, + 645.629, + 79.1497, + 73.8927 + ], + "area": 5848.58503719, + "iscrowd": 0 + }, + { + "id": 4282, + "image_id": 863, + "category_id": 0, + "bbox": [ + 574.064, + 553.216, + 58.0763, + 79.6688 + ], + "area": 4626.8691294400005, + "iscrowd": 0 + }, + { + "id": 4283, + "image_id": 864, + "category_id": 1, + "bbox": [ + 445.278, + 471.688, + 77.4318, + 221.206 + ], + "area": 17128.3787508, + "iscrowd": 0 + }, + { + "id": 4284, + "image_id": 864, + "category_id": 1, + "bbox": [ + 130.375, + 454.912, + 86.7144, + 182.132 + ], + "area": 15793.4671008, + "iscrowd": 0 + }, + { + "id": 4285, + "image_id": 864, + "category_id": 1, + "bbox": [ + 548.662, + 558.108, + 197.095, + 160.617 + ], + "area": 31656.807614999998, + "iscrowd": 0 + }, + { + "id": 4286, + "image_id": 864, + "category_id": 1, + "bbox": [ + 559.279, + 466.914, + 111.344, + 164.427 + ], + "area": 18307.959887999998, + "iscrowd": 0 + }, + { + "id": 4287, + "image_id": 864, + "category_id": 1, + "bbox": [ + 324.343, + 490.735, + 39.6044, + 79.3018 + ], + "area": 3140.7002079199997, + "iscrowd": 0 + }, + { + "id": 4288, + "image_id": 864, + "category_id": 0, + "bbox": [ + 619.008, + 460.556, + 56.5901, + 98.3798 + ], + "area": 5567.32271998, + "iscrowd": 0 + }, + { + "id": 4289, + "image_id": 864, + "category_id": 0, + "bbox": [ + 624.231, + 666.892, + 121.016, + 53.1076 + ], + "area": 6426.8693216, + "iscrowd": 0 + }, + { + "id": 4290, + "image_id": 865, + "category_id": 1, + "bbox": [ + 490.132, + 473.51, + 87.225, + 222.314 + ], + "area": 19391.338649999998, + "iscrowd": 0 + }, + { + "id": 4291, + "image_id": 865, + "category_id": 1, + "bbox": [ + 591.748, + 470.091, + 118.237, + 248.161 + ], + "area": 29341.812157, + "iscrowd": 0 + }, + { + "id": 4292, + "image_id": 865, + "category_id": 1, + "bbox": [ + 428.64, + 576.877, + 162.349, + 141.95 + ], + "area": 23045.440549999996, + "iscrowd": 0 + }, + { + "id": 4293, + "image_id": 865, + "category_id": 1, + "bbox": [ + 162.32, + 457.637, + 68.1243, + 210.216 + ], + "area": 14320.817848800001, + "iscrowd": 0 + }, + { + "id": 4294, + "image_id": 865, + "category_id": 1, + "bbox": [ + 352.317, + 457.495, + 58.0201, + 105.267 + ], + "area": 6107.6018667, + "iscrowd": 0 + }, + { + "id": 4295, + "image_id": 865, + "category_id": 0, + "bbox": [ + 668.359, + 535.283, + 53.6276, + 98.3172 + ], + "area": 5272.51547472, + "iscrowd": 0 + }, + { + "id": 4296, + "image_id": 865, + "category_id": 0, + "bbox": [ + 361.49, + 488.607, + 53.6276, + 71.5034 + ], + "area": 3834.55573384, + "iscrowd": 0 + }, + { + "id": 4297, + "image_id": 866, + "category_id": 1, + "bbox": [ + 588.501, + 480.929, + 128.452, + 237.322 + ], + "area": 30484.485544, + "iscrowd": 0 + }, + { + "id": 4298, + "image_id": 866, + "category_id": 1, + "bbox": [ + 522.4, + 477.576, + 79.4336, + 232.02 + ], + "area": 18430.183872, + "iscrowd": 0 + }, + { + "id": 4299, + "image_id": 866, + "category_id": 1, + "bbox": [ + 217.29, + 596.437, + 152.997, + 122.678 + ], + "area": 18769.365966, + "iscrowd": 0 + }, + { + "id": 4300, + "image_id": 866, + "category_id": 1, + "bbox": [ + 411.312, + 457.159, + 53.7841, + 234.135 + ], + "area": 12592.7402535, + "iscrowd": 0 + }, + { + "id": 4301, + "image_id": 866, + "category_id": 1, + "bbox": [ + 594.094, + 466.706, + 62.7122, + 94.0636 + ], + "area": 5898.93529592, + "iscrowd": 0 + }, + { + "id": 4302, + "image_id": 866, + "category_id": 1, + "bbox": [ + 221.002, + 461.093, + 51.0878, + 112.26 + ], + "area": 5735.116428, + "iscrowd": 0 + }, + { + "id": 4303, + "image_id": 866, + "category_id": 0, + "bbox": [ + 417.432, + 483.765, + 35.0541, + 81.3989 + ], + "area": 2853.3651804899996, + "iscrowd": 0 + }, + { + "id": 4304, + "image_id": 867, + "category_id": 1, + "bbox": [ + 587.565, + 487.468, + 131.905, + 230.697 + ], + "area": 30430.087785, + "iscrowd": 0 + }, + { + "id": 4305, + "image_id": 867, + "category_id": 1, + "bbox": [ + 514.198, + 478.402, + 93.406, + 230.912 + ], + "area": 21568.566272000004, + "iscrowd": 0 + }, + { + "id": 4306, + "image_id": 867, + "category_id": 1, + "bbox": [ + 434.058, + 457.733, + 75.5985, + 232.323 + ], + "area": 17563.2703155, + "iscrowd": 0 + }, + { + "id": 4307, + "image_id": 867, + "category_id": 1, + "bbox": [ + 585.286, + 467.66, + 73.2626, + 211.723 + ], + "area": 15511.377459800002, + "iscrowd": 0 + }, + { + "id": 4308, + "image_id": 867, + "category_id": 0, + "bbox": [ + 457.911, + 483.227, + 43.9295, + 87.1146 + ], + "area": 3826.9008206999997, + "iscrowd": 0 + }, + { + "id": 4316, + "image_id": 869, + "category_id": 1, + "bbox": [ + 598.853, + 475.209, + 101.623, + 244.555 + ], + "area": 24852.412765, + "iscrowd": 0 + }, + { + "id": 4317, + "image_id": 869, + "category_id": 1, + "bbox": [ + 474.097, + 459.179, + 87.4684, + 245.758 + ], + "area": 21496.0590472, + "iscrowd": 0 + }, + { + "id": 4318, + "image_id": 869, + "category_id": 1, + "bbox": [ + 369.544, + 464.731, + 87.9714, + 219.34 + ], + "area": 19295.646876000003, + "iscrowd": 0 + }, + { + "id": 4319, + "image_id": 869, + "category_id": 1, + "bbox": [ + 682.314, + 501.639, + 125.948, + 215.88 + ], + "area": 27189.654239999996, + "iscrowd": 0 + }, + { + "id": 4320, + "image_id": 869, + "category_id": 1, + "bbox": [ + 513.825, + 480.613, + 108.78, + 238.022 + ], + "area": 25892.03316, + "iscrowd": 0 + }, + { + "id": 4321, + "image_id": 869, + "category_id": 0, + "bbox": [ + 642.803, + 591.992, + 93.5808, + 108.227 + ], + "area": 10127.9692416, + "iscrowd": 0 + }, + { + "id": 4322, + "image_id": 869, + "category_id": 0, + "bbox": [ + 472.745, + 485.804, + 51.3664, + 87.9325 + ], + "area": 4516.775968, + "iscrowd": 0 + }, + { + "id": 4323, + "image_id": 870, + "category_id": 1, + "bbox": [ + 630.092, + 506.766, + 178.285, + 211.076 + ], + "area": 37631.68466, + "iscrowd": 0 + }, + { + "id": 4324, + "image_id": 870, + "category_id": 1, + "bbox": [ + 396.711, + 462.526, + 80.3992, + 229.601 + ], + "area": 18459.7367192, + "iscrowd": 0 + }, + { + "id": 4325, + "image_id": 870, + "category_id": 1, + "bbox": [ + 604.303, + 475.198, + 97.6613, + 242.842 + ], + "area": 23716.265414600002, + "iscrowd": 0 + }, + { + "id": 4326, + "image_id": 870, + "category_id": 1, + "bbox": [ + 501.915, + 484.694, + 110.095, + 233.317 + ], + "area": 25687.035115, + "iscrowd": 0 + }, + { + "id": 4327, + "image_id": 870, + "category_id": 1, + "bbox": [ + 499.085, + 461.807, + 65.2417, + 244.122 + ], + "area": 15926.9342874, + "iscrowd": 0 + }, + { + "id": 4328, + "image_id": 870, + "category_id": 0, + "bbox": [ + 692.853, + 601.159, + 102.47, + 116.965 + ], + "area": 11985.40355, + "iscrowd": 0 + }, + { + "id": 4329, + "image_id": 870, + "category_id": 0, + "bbox": [ + 501.841, + 487.694, + 48.397, + 84.8809 + ], + "area": 4107.980917299999, + "iscrowd": 0 + }, + { + "id": 4330, + "image_id": 871, + "category_id": 1, + "bbox": [ + 424.637, + 464.57, + 82.3895, + 231.804 + ], + "area": 19098.215658, + "iscrowd": 0 + }, + { + "id": 4331, + "image_id": 871, + "category_id": 1, + "bbox": [ + 522.196, + 483.967, + 86.6897, + 236.033 + ], + "area": 20461.6299601, + "iscrowd": 0 + }, + { + "id": 4332, + "image_id": 871, + "category_id": 1, + "bbox": [ + 609.874, + 521.044, + 190.027, + 197.488 + ], + "area": 37528.052176, + "iscrowd": 0 + }, + { + "id": 4333, + "image_id": 871, + "category_id": 1, + "bbox": [ + 606.681, + 482.023, + 88.0634, + 166.763 + ], + "area": 14685.7167742, + "iscrowd": 0 + }, + { + "id": 4334, + "image_id": 871, + "category_id": 1, + "bbox": [ + 509.8, + 461.642, + 59.9722, + 247.595 + ], + "area": 14848.816859, + "iscrowd": 0 + }, + { + "id": 4335, + "image_id": 871, + "category_id": 0, + "bbox": [ + 510.648, + 490.845, + 55.167, + 83.4578 + ], + "area": 4604.1164526, + "iscrowd": 0 + }, + { + "id": 4336, + "image_id": 871, + "category_id": 0, + "bbox": [ + 728.487, + 623.811, + 72.1415, + 94.7741 + ], + "area": 6837.145735149999, + "iscrowd": 0 + }, + { + "id": 4337, + "image_id": 872, + "category_id": 1, + "bbox": [ + 611.049, + 527.657, + 219.94, + 191.282 + ], + "area": 42070.56308, + "iscrowd": 0 + }, + { + "id": 4338, + "image_id": 872, + "category_id": 1, + "bbox": [ + 490.001, + 489.124, + 108.602, + 230.876 + ], + "area": 25073.595352, + "iscrowd": 0 + }, + { + "id": 4339, + "image_id": 872, + "category_id": 1, + "bbox": [ + 443.233, + 465.93, + 61.697, + 228.874 + ], + "area": 14120.839178, + "iscrowd": 0 + }, + { + "id": 4340, + "image_id": 872, + "category_id": 1, + "bbox": [ + 618.023, + 483.212, + 108.583, + 172.725 + ], + "area": 18754.998675, + "iscrowd": 0 + }, + { + "id": 4341, + "image_id": 872, + "category_id": 0, + "bbox": [ + 712.796, + 639.459, + 88.0891, + 80.085 + ], + "area": 7054.615573499999, + "iscrowd": 0 + }, + { + "id": 4342, + "image_id": 872, + "category_id": 1, + "bbox": [ + 502.161, + 466.798, + 74.9705, + 49.5088 + ], + "area": 3711.6994904000003, + "iscrowd": 0 + }, + { + "id": 4343, + "image_id": 872, + "category_id": 0, + "bbox": [ + 501.809, + 496.069, + 28.359, + 42.5385 + ], + "area": 1206.3493215, + "iscrowd": 0 + }, + { + "id": 4344, + "image_id": 873, + "category_id": 1, + "bbox": [ + 458.773, + 493.081, + 127.128, + 226.919 + ], + "area": 28847.758632, + "iscrowd": 0 + }, + { + "id": 4345, + "image_id": 873, + "category_id": 1, + "bbox": [ + 624.889, + 482.286, + 113.877, + 172.357 + ], + "area": 19627.498089, + "iscrowd": 0 + }, + { + "id": 4346, + "image_id": 873, + "category_id": 1, + "bbox": [ + 572.112, + 549.547, + 193.495, + 170.453 + ], + "area": 32981.803235, + "iscrowd": 0 + }, + { + "id": 4347, + "image_id": 873, + "category_id": 1, + "bbox": [ + 474.097, + 464.603, + 51.1415, + 91.8487 + ], + "area": 4697.2802910499995, + "iscrowd": 0 + }, + { + "id": 4348, + "image_id": 873, + "category_id": 0, + "bbox": [ + 575.45, + 647.852, + 71.1247, + 72.1481 + ], + "area": 5131.51196807, + "iscrowd": 0 + }, + { + "id": 4349, + "image_id": 873, + "category_id": 1, + "bbox": [ + 538.609, + 469.017, + 55.5182, + 106.175 + ], + "area": 5894.644885, + "iscrowd": 0 + }, + { + "id": 4350, + "image_id": 873, + "category_id": 0, + "bbox": [ + 537.841, + 502.532, + 39.9117, + 53.7273 + ], + "area": 2144.34787941, + "iscrowd": 0 + }, + { + "id": 4351, + "image_id": 874, + "category_id": 1, + "bbox": [ + 615.478, + 495.014, + 139.507, + 222.6 + ], + "area": 31054.2582, + "iscrowd": 0 + }, + { + "id": 4352, + "image_id": 874, + "category_id": 1, + "bbox": [ + 438.92, + 500.593, + 99.1899, + 216.836 + ], + "area": 21507.9411564, + "iscrowd": 0 + }, + { + "id": 4353, + "image_id": 874, + "category_id": 1, + "bbox": [ + 555.803, + 471.126, + 56.0601, + 107.004 + ], + "area": 5998.6549404, + "iscrowd": 0 + }, + { + "id": 4354, + "image_id": 874, + "category_id": 1, + "bbox": [ + 479.212, + 553.938, + 196.462, + 163.531 + ], + "area": 32127.627322, + "iscrowd": 0 + }, + { + "id": 4355, + "image_id": 874, + "category_id": 1, + "bbox": [ + 511.153, + 469.878, + 50.4785, + 73.8965 + ], + "area": 3730.18447525, + "iscrowd": 0 + }, + { + "id": 4356, + "image_id": 874, + "category_id": 0, + "bbox": [ + 532.368, + 506.308, + 55.8425, + 56.5871 + ], + "area": 3159.96513175, + "iscrowd": 0 + }, + { + "id": 4357, + "image_id": 875, + "category_id": 1, + "bbox": [ + 600.07, + 507.47, + 167.391, + 210.736 + ], + "area": 35275.309775999995, + "iscrowd": 0 + }, + { + "id": 4358, + "image_id": 875, + "category_id": 1, + "bbox": [ + 377.037, + 500.682, + 128.48, + 202.325 + ], + "area": 25994.715999999997, + "iscrowd": 0 + }, + { + "id": 4359, + "image_id": 875, + "category_id": 1, + "bbox": [ + 519.878, + 505.436, + 88.0632, + 212.608 + ], + "area": 18722.9408256, + "iscrowd": 0 + }, + { + "id": 4360, + "image_id": 875, + "category_id": 1, + "bbox": [ + 359.608, + 565.679, + 196.54, + 151.993 + ], + "area": 29872.70422, + "iscrowd": 0 + }, + { + "id": 4361, + "image_id": 875, + "category_id": 1, + "bbox": [ + 551.999, + 469.683, + 69.2268, + 240.546 + ], + "area": 16652.2298328, + "iscrowd": 0 + }, + { + "id": 4362, + "image_id": 875, + "category_id": 0, + "bbox": [ + 525.352, + 508.469, + 65.5448, + 123.145 + ], + "area": 8071.514396, + "iscrowd": 0 + }, + { + "id": 4374, + "image_id": 878, + "category_id": 1, + "bbox": [ + 226.705, + 533.433, + 199.72, + 185.282 + ], + "area": 37004.52104, + "iscrowd": 0 + }, + { + "id": 4375, + "image_id": 878, + "category_id": 1, + "bbox": [ + 567.84, + 548.682, + 216.075, + 169.939 + ], + "area": 36719.569424999994, + "iscrowd": 0 + }, + { + "id": 4376, + "image_id": 878, + "category_id": 0, + "bbox": [ + 531.064, + 537.51, + 94.6484, + 140.538 + ], + "area": 13301.6968392, + "iscrowd": 0 + }, + { + "id": 4377, + "image_id": 878, + "category_id": 1, + "bbox": [ + 608.331, + 483.258, + 60.1888, + 75.6441 + ], + "area": 4552.927606079999, + "iscrowd": 0 + }, + { + "id": 4378, + "image_id": 879, + "category_id": 1, + "bbox": [ + 181.351, + 550.801, + 221.545, + 167.33 + ], + "area": 37071.12485, + "iscrowd": 0 + }, + { + "id": 4379, + "image_id": 879, + "category_id": 1, + "bbox": [ + 561.624, + 583.93, + 221.824, + 134.648 + ], + "area": 29868.157952, + "iscrowd": 0 + }, + { + "id": 4380, + "image_id": 879, + "category_id": 1, + "bbox": [ + 615.188, + 484.156, + 69.9568, + 104.276 + ], + "area": 7294.8152768, + "iscrowd": 0 + }, + { + "id": 4381, + "image_id": 879, + "category_id": 0, + "bbox": [ + 523.014, + 555.148, + 108.261, + 117.977 + ], + "area": 12772.307997, + "iscrowd": 0 + }, + { + "id": 4382, + "image_id": 879, + "category_id": 1, + "bbox": [ + 570.059, + 502.161, + 63.6542, + 87.7014 + ], + "area": 5582.562455880001, + "iscrowd": 0 + }, + { + "id": 4383, + "image_id": 880, + "category_id": 1, + "bbox": [ + 100.244, + 564.995, + 236.953, + 153.664 + ], + "area": 36411.145791999996, + "iscrowd": 0 + }, + { + "id": 4384, + "image_id": 880, + "category_id": 1, + "bbox": [ + 558.374, + 513.084, + 105.976, + 198.002 + ], + "area": 20983.459952, + "iscrowd": 0 + }, + { + "id": 4385, + "image_id": 880, + "category_id": 1, + "bbox": [ + 494.437, + 608.314, + 140.917, + 110.48 + ], + "area": 15568.510160000002, + "iscrowd": 0 + }, + { + "id": 4386, + "image_id": 880, + "category_id": 1, + "bbox": [ + 554.732, + 488.169, + 108.88, + 137.418 + ], + "area": 14962.07184, + "iscrowd": 0 + }, + { + "id": 4387, + "image_id": 880, + "category_id": 0, + "bbox": [ + 517.407, + 555.145, + 55.6138, + 59.5862 + ], + "area": 3313.81500956, + "iscrowd": 0 + }, + { + "id": 4388, + "image_id": 881, + "category_id": 1, + "bbox": [ + 58.9478, + 597.505, + 175.863, + 121.301 + ], + "area": 21332.357763, + "iscrowd": 0 + }, + { + "id": 4389, + "image_id": 881, + "category_id": 0, + "bbox": [ + 521.881, + 561.258, + 77.4236, + 157.03 + ], + "area": 12157.827908, + "iscrowd": 0 + }, + { + "id": 4390, + "image_id": 881, + "category_id": 1, + "bbox": [ + 524.522, + 503.854, + 150.263, + 214.647 + ], + "area": 32253.502161, + "iscrowd": 0 + }, + { + "id": 4391, + "image_id": 882, + "category_id": 1, + "bbox": [ + 497.904, + 510.395, + 143.066, + 206.792 + ], + "area": 29584.904272, + "iscrowd": 0 + }, + { + "id": 4392, + "image_id": 882, + "category_id": 0, + "bbox": [ + 496.252, + 593.76, + 62.6845, + 126.24 + ], + "area": 7913.2912799999995, + "iscrowd": 0 + }, + { + "id": 4393, + "image_id": 883, + "category_id": 1, + "bbox": [ + 412.355, + 521.62, + 189.302, + 196.676 + ], + "area": 37231.160152, + "iscrowd": 0 + }, + { + "id": 4394, + "image_id": 883, + "category_id": 1, + "bbox": [ + 507.333, + 510.786, + 102.772, + 115.86 + ], + "area": 11907.16392, + "iscrowd": 0 + }, + { + "id": 4395, + "image_id": 883, + "category_id": 0, + "bbox": [ + 526.208, + 585.619, + 56.5815, + 49.5088 + ], + "area": 2801.2821672, + "iscrowd": 0 + }, + { + "id": 4396, + "image_id": 884, + "category_id": 1, + "bbox": [ + 405.559, + 525.86, + 183.082, + 192.097 + ], + "area": 35169.502954, + "iscrowd": 0 + }, + { + "id": 4397, + "image_id": 884, + "category_id": 0, + "bbox": [ + 515.404, + 612.044, + 74.8731, + 107.956 + ], + "area": 8083.0003836, + "iscrowd": 0 + }, + { + "id": 4398, + "image_id": 885, + "category_id": 1, + "bbox": [ + 329.049, + 536.464, + 135.704, + 182.898 + ], + "area": 24819.990192, + "iscrowd": 0 + }, + { + "id": 4399, + "image_id": 885, + "category_id": 1, + "bbox": [ + 415.688, + 541.306, + 155.389, + 177.347 + ], + "area": 27557.772983000003, + "iscrowd": 0 + }, + { + "id": 4400, + "image_id": 885, + "category_id": 0, + "bbox": [ + 453.899, + 641.696, + 116.793, + 78.3041 + ], + "area": 9145.3707513, + "iscrowd": 0 + }, + { + "id": 4401, + "image_id": 886, + "category_id": 1, + "bbox": [ + 200.722, + 557.396, + 198.525, + 161.714 + ], + "area": 32104.27185, + "iscrowd": 0 + }, + { + "id": 4402, + "image_id": 886, + "category_id": 1, + "bbox": [ + 530.285, + 554.417, + 151.687, + 163.599 + ], + "area": 24815.841513, + "iscrowd": 0 + }, + { + "id": 4403, + "image_id": 886, + "category_id": 0, + "bbox": [ + 468.212, + 633.713, + 89.1159, + 86.2868 + ], + "area": 7689.52584012, + "iscrowd": 0 + }, + { + "id": 4404, + "image_id": 887, + "category_id": 1, + "bbox": [ + 89.8655, + 573.343, + 175.722, + 145.202 + ], + "area": 25515.185844, + "iscrowd": 0 + }, + { + "id": 4405, + "image_id": 887, + "category_id": 1, + "bbox": [ + 475.805, + 593.236, + 132.816, + 125.495 + ], + "area": 16667.74392, + "iscrowd": 0 + }, + { + "id": 4406, + "image_id": 888, + "category_id": 1, + "bbox": [ + 640.479, + 475.199, + 74.3781, + 242.96 + ], + "area": 18070.903176, + "iscrowd": 0 + }, + { + "id": 4407, + "image_id": 888, + "category_id": 1, + "bbox": [ + 1065.38, + 489.686, + 99.5652, + 194.131 + ], + "area": 19328.6918412, + "iscrowd": 0 + }, + { + "id": 4408, + "image_id": 888, + "category_id": 1, + "bbox": [ + 782.601, + 505.905, + 93.6086, + 139.954 + ], + "area": 13100.8980044, + "iscrowd": 0 + }, + { + "id": 4409, + "image_id": 888, + "category_id": 1, + "bbox": [ + 889.719, + 469.931, + 60.3969, + 176.095 + ], + "area": 10635.5921055, + "iscrowd": 0 + }, + { + "id": 4410, + "image_id": 888, + "category_id": 1, + "bbox": [ + 834.882, + 477.6, + 64.0613, + 151.291 + ], + "area": 9691.898138300001, + "iscrowd": 0 + }, + { + "id": 4411, + "image_id": 888, + "category_id": 1, + "bbox": [ + 939.69, + 493.787, + 74.7068, + 154.386 + ], + "area": 11533.6840248, + "iscrowd": 0 + }, + { + "id": 4412, + "image_id": 888, + "category_id": 0, + "bbox": [ + 695.172, + 519.393, + 30.7862, + 104.276 + ], + "area": 3210.2617912, + "iscrowd": 0 + }, + { + "id": 4413, + "image_id": 888, + "category_id": 0, + "bbox": [ + 810.372, + 517.407, + 58.5931, + 71.5034 + ], + "area": 4189.60586654, + "iscrowd": 0 + }, + { + "id": 4414, + "image_id": 888, + "category_id": 0, + "bbox": [ + 890.814, + 522.372, + 42.7034, + 57.6 + ], + "area": 2459.7158400000003, + "iscrowd": 0 + }, + { + "id": 4425, + "image_id": 890, + "category_id": 1, + "bbox": [ + 643.781, + 477.256, + 71.9507, + 241.36 + ], + "area": 17366.020952, + "iscrowd": 0 + }, + { + "id": 4426, + "image_id": 890, + "category_id": 1, + "bbox": [ + 833.256, + 507.94, + 95.3794, + 143.013 + ], + "area": 13640.494132200001, + "iscrowd": 0 + }, + { + "id": 4427, + "image_id": 890, + "category_id": 1, + "bbox": [ + 1068.15, + 489.765, + 96.5442, + 193.513 + ], + "area": 18682.5577746, + "iscrowd": 0 + }, + { + "id": 4428, + "image_id": 890, + "category_id": 1, + "bbox": [ + 938.48, + 481.493, + 75.3817, + 165.992 + ], + "area": 12512.759146399998, + "iscrowd": 0 + }, + { + "id": 4429, + "image_id": 890, + "category_id": 1, + "bbox": [ + 898.543, + 471.384, + 62.2784, + 173.258 + ], + "area": 10790.2310272, + "iscrowd": 0 + }, + { + "id": 4430, + "image_id": 890, + "category_id": 0, + "bbox": [ + 700.196, + 526.208, + 31.1198, + 90.5304 + ], + "area": 2817.2879419200003, + "iscrowd": 0 + }, + { + "id": 4431, + "image_id": 890, + "category_id": 1, + "bbox": [ + 821.187, + 484.125, + 57.5214, + 160.461 + ], + "area": 9229.9413654, + "iscrowd": 0 + }, + { + "id": 4432, + "image_id": 890, + "category_id": 0, + "bbox": [ + 897.273, + 511.399, + 29.0916, + 38.9254 + ], + "area": 1132.4021666400001, + "iscrowd": 0 + }, + { + "id": 4433, + "image_id": 890, + "category_id": 0, + "bbox": [ + 891.536, + 536.394, + 38.5157, + 46.7105 + ], + "area": 1799.0876048500002, + "iscrowd": 0 + }, + { + "id": 4434, + "image_id": 890, + "category_id": 0, + "bbox": [ + 970.207, + 533.116, + 33.189, + 43.4326 + ], + "area": 1441.4845614, + "iscrowd": 0 + }, + { + "id": 4435, + "image_id": 891, + "category_id": 1, + "bbox": [ + 645.876, + 476.404, + 84.1418, + 242.082 + ], + "area": 20369.2152276, + "iscrowd": 0 + }, + { + "id": 4436, + "image_id": 891, + "category_id": 1, + "bbox": [ + 862.752, + 510.135, + 95.5291, + 140.104 + ], + "area": 13384.009026400001, + "iscrowd": 0 + }, + { + "id": 4437, + "image_id": 891, + "category_id": 1, + "bbox": [ + 810.729, + 477.774, + 74.3179, + 169.47 + ], + "area": 12594.654513, + "iscrowd": 0 + }, + { + "id": 4438, + "image_id": 891, + "category_id": 1, + "bbox": [ + 1072.59, + 489.377, + 91.0547, + 193.597 + ], + "area": 17627.9167559, + "iscrowd": 0 + }, + { + "id": 4439, + "image_id": 891, + "category_id": 1, + "bbox": [ + 934.825, + 479.63, + 76.4885, + 169.196 + ], + "area": 12941.548246, + "iscrowd": 0 + }, + { + "id": 4440, + "image_id": 891, + "category_id": 0, + "bbox": [ + 699.106, + 519.758, + 33.9539, + 107.086 + ], + "area": 3635.9873353999997, + "iscrowd": 0 + }, + { + "id": 4441, + "image_id": 891, + "category_id": 0, + "bbox": [ + 968.997, + 534.559, + 32.2127, + 56.5901 + ], + "area": 1822.91991427, + "iscrowd": 0 + }, + { + "id": 4442, + "image_id": 891, + "category_id": 1, + "bbox": [ + 934.172, + 466.651, + 25.2479, + 39.1778 + ], + "area": 989.15717662, + "iscrowd": 0 + }, + { + "id": 4443, + "image_id": 892, + "category_id": 1, + "bbox": [ + 645.107, + 478.939, + 84.533, + 239.906 + ], + "area": 20279.973898, + "iscrowd": 0 + }, + { + "id": 4444, + "image_id": 892, + "category_id": 1, + "bbox": [ + 869.62, + 511.607, + 110.375, + 137.725 + ], + "area": 15201.396874999999, + "iscrowd": 0 + }, + { + "id": 4445, + "image_id": 892, + "category_id": 1, + "bbox": [ + 1069.06, + 488.41, + 94.5405, + 194.864 + ], + "area": 18422.539991999998, + "iscrowd": 0 + }, + { + "id": 4446, + "image_id": 892, + "category_id": 1, + "bbox": [ + 807.945, + 478.168, + 80.9839, + 169.716 + ], + "area": 13744.263572400001, + "iscrowd": 0 + }, + { + "id": 4447, + "image_id": 892, + "category_id": 1, + "bbox": [ + 956.64, + 478.536, + 61.4807, + 173.974 + ], + "area": 10696.043301799999, + "iscrowd": 0 + }, + { + "id": 4448, + "image_id": 892, + "category_id": 0, + "bbox": [ + 694.179, + 521.379, + 47.669, + 102.29 + ], + "area": 4876.06201, + "iscrowd": 0 + }, + { + "id": 4449, + "image_id": 893, + "category_id": 1, + "bbox": [ + 642.758, + 479.351, + 92.0857, + 239.212 + ], + "area": 22028.0044684, + "iscrowd": 0 + }, + { + "id": 4450, + "image_id": 893, + "category_id": 1, + "bbox": [ + 840.795, + 511.815, + 108.696, + 137.474 + ], + "area": 14942.873903999998, + "iscrowd": 0 + }, + { + "id": 4451, + "image_id": 893, + "category_id": 1, + "bbox": [ + 1065.42, + 488.509, + 98.2031, + 194.702 + ], + "area": 19120.3399762, + "iscrowd": 0 + }, + { + "id": 4452, + "image_id": 893, + "category_id": 1, + "bbox": [ + 810.933, + 476.637, + 77.6591, + 171.656 + ], + "area": 13330.6504696, + "iscrowd": 0 + }, + { + "id": 4453, + "image_id": 893, + "category_id": 1, + "bbox": [ + 939.346, + 468.174, + 53.937, + 178.953 + ], + "area": 9652.187961, + "iscrowd": 0 + }, + { + "id": 4454, + "image_id": 893, + "category_id": 1, + "bbox": [ + 966.838, + 479.445, + 66.73, + 209.266 + ], + "area": 13964.32018, + "iscrowd": 0 + }, + { + "id": 4455, + "image_id": 893, + "category_id": 0, + "bbox": [ + 701.131, + 520.386, + 42.7034, + 107.255 + ], + "area": 4580.153167, + "iscrowd": 0 + }, + { + "id": 4456, + "image_id": 893, + "category_id": 0, + "bbox": [ + 855.062, + 529.324, + 34.7586, + 43.6966 + ], + "area": 1518.83264076, + "iscrowd": 0 + }, + { + "id": 4457, + "image_id": 894, + "category_id": 1, + "bbox": [ + 628.282, + 481.996, + 112.35, + 236.706 + ], + "area": 26593.9191, + "iscrowd": 0 + }, + { + "id": 4458, + "image_id": 894, + "category_id": 1, + "bbox": [ + 1066.36, + 489.359, + 91.9883, + 190.322 + ], + "area": 17507.3972326, + "iscrowd": 0 + }, + { + "id": 4459, + "image_id": 894, + "category_id": 1, + "bbox": [ + 813.648, + 511.161, + 112.802, + 138.198 + ], + "area": 15589.010796000002, + "iscrowd": 0 + }, + { + "id": 4460, + "image_id": 894, + "category_id": 1, + "bbox": [ + 924.674, + 469.534, + 69.6116, + 180.474 + ], + "area": 12563.083898399998, + "iscrowd": 0 + }, + { + "id": 4461, + "image_id": 894, + "category_id": 1, + "bbox": [ + 969.598, + 479.386, + 69.6403, + 167.516 + ], + "area": 11665.864494799998, + "iscrowd": 0 + }, + { + "id": 4462, + "image_id": 894, + "category_id": 1, + "bbox": [ + 809.077, + 476.077, + 70.4015, + 111.114 + ], + "area": 7822.592271, + "iscrowd": 0 + }, + { + "id": 4463, + "image_id": 894, + "category_id": 0, + "bbox": [ + 693.882, + 530.206, + 47.0133, + 103.604 + ], + "area": 4870.7659332, + "iscrowd": 0 + }, + { + "id": 4464, + "image_id": 894, + "category_id": 0, + "bbox": [ + 913.277, + 515.405, + 46.1427, + 51.3664 + ], + "area": 2370.18438528, + "iscrowd": 0 + }, + { + "id": 4465, + "image_id": 894, + "category_id": 0, + "bbox": [ + 834.922, + 525.852, + 50.4958, + 59.202 + ], + "area": 2989.4523516, + "iscrowd": 0 + }, + { + "id": 4466, + "image_id": 895, + "category_id": 1, + "bbox": [ + 601.488, + 481.715, + 108.036, + 238.285 + ], + "area": 25743.35826, + "iscrowd": 0 + }, + { + "id": 4467, + "image_id": 895, + "category_id": 1, + "bbox": [ + 911.906, + 471.291, + 75.8317, + 177.645 + ], + "area": 13471.1223465, + "iscrowd": 0 + }, + { + "id": 4468, + "image_id": 895, + "category_id": 1, + "bbox": [ + 824.711, + 506.54, + 84.83, + 144.398 + ], + "area": 12249.28234, + "iscrowd": 0 + }, + { + "id": 4469, + "image_id": 895, + "category_id": 1, + "bbox": [ + 675.773, + 482.086, + 52.8186, + 227.964 + ], + "area": 12040.739330400002, + "iscrowd": 0 + }, + { + "id": 4470, + "image_id": 895, + "category_id": 1, + "bbox": [ + 1061.49, + 489.364, + 90.8252, + 184.72 + ], + "area": 16777.230944, + "iscrowd": 0 + }, + { + "id": 4471, + "image_id": 895, + "category_id": 1, + "bbox": [ + 983.091, + 483.366, + 61.6975, + 142.155 + ], + "area": 8770.6081125, + "iscrowd": 0 + }, + { + "id": 4472, + "image_id": 895, + "category_id": 1, + "bbox": [ + 814.677, + 478.118, + 71.6382, + 99.5157 + ], + "area": 7129.12561974, + "iscrowd": 0 + }, + { + "id": 4473, + "image_id": 895, + "category_id": 0, + "bbox": [ + 652.381, + 527.911, + 49.0702, + 108.254 + ], + "area": 5312.0454308, + "iscrowd": 0 + }, + { + "id": 4474, + "image_id": 895, + "category_id": 0, + "bbox": [ + 901.756, + 518.689, + 39.9629, + 41.37 + ], + "area": 1653.2651729999998, + "iscrowd": 0 + }, + { + "id": 4475, + "image_id": 895, + "category_id": 0, + "bbox": [ + 995.753, + 539.796, + 23.64, + 45.31 + ], + "area": 1071.1284, + "iscrowd": 0 + }, + { + "id": 4476, + "image_id": 895, + "category_id": 0, + "bbox": [ + 823.237, + 531.634, + 61.6329, + 61.0701 + ], + "area": 3763.9273662899996, + "iscrowd": 0 + }, + { + "id": 4477, + "image_id": 896, + "category_id": 1, + "bbox": [ + 567.954, + 493.275, + 127.403, + 225.648 + ], + "area": 28748.232144, + "iscrowd": 0 + }, + { + "id": 4478, + "image_id": 896, + "category_id": 1, + "bbox": [ + 660.81, + 484.092, + 72.111, + 234.649 + ], + "area": 16920.774039, + "iscrowd": 0 + }, + { + "id": 4479, + "image_id": 896, + "category_id": 1, + "bbox": [ + 902.802, + 472.029, + 72.9648, + 176.137 + ], + "area": 12851.8009776, + "iscrowd": 0 + }, + { + "id": 4480, + "image_id": 896, + "category_id": 1, + "bbox": [ + 797.931, + 505.688, + 76.1632, + 140.697 + ], + "area": 10715.933750400001, + "iscrowd": 0 + }, + { + "id": 4481, + "image_id": 896, + "category_id": 1, + "bbox": [ + 1031.27, + 490.658, + 106.773, + 144.541 + ], + "area": 15433.076192999999, + "iscrowd": 0 + }, + { + "id": 4482, + "image_id": 896, + "category_id": 1, + "bbox": [ + 857.965, + 477.313, + 50.2039, + 141.4 + ], + "area": 7098.83146, + "iscrowd": 0 + }, + { + "id": 4483, + "image_id": 896, + "category_id": 0, + "bbox": [ + 612.787, + 550.355, + 64.1895, + 112.332 + ], + "area": 7210.534913999999, + "iscrowd": 0 + }, + { + "id": 4484, + "image_id": 896, + "category_id": 0, + "bbox": [ + 799.243, + 532.015, + 52.7272, + 66.4823 + ], + "area": 3505.4255285599997, + "iscrowd": 0 + }, + { + "id": 4485, + "image_id": 896, + "category_id": 0, + "bbox": [ + 899.731, + 519.789, + 29.4203, + 41.2644 + ], + "area": 1214.01102732, + "iscrowd": 0 + }, + { + "id": 4486, + "image_id": 896, + "category_id": 1, + "bbox": [ + 974.716, + 484.255, + 64.1899, + 190.277 + ], + "area": 12213.861602299998, + "iscrowd": 0 + }, + { + "id": 4487, + "image_id": 896, + "category_id": 0, + "bbox": [ + 986.179, + 540.422, + 32.477, + 53.8729 + ], + "area": 1749.6301732999998, + "iscrowd": 0 + }, + { + "id": 4488, + "image_id": 897, + "category_id": 1, + "bbox": [ + 535.692, + 498.652, + 140.425, + 219.149 + ], + "area": 30773.998325000004, + "iscrowd": 0 + }, + { + "id": 4489, + "image_id": 897, + "category_id": 1, + "bbox": [ + 653.177, + 483.906, + 84.7672, + 235.553 + ], + "area": 19967.1682616, + "iscrowd": 0 + }, + { + "id": 4490, + "image_id": 897, + "category_id": 1, + "bbox": [ + 917.198, + 472.152, + 50.6143, + 176.136 + ], + "area": 8915.0003448, + "iscrowd": 0 + }, + { + "id": 4491, + "image_id": 897, + "category_id": 1, + "bbox": [ + 819.258, + 481.255, + 99.0483, + 166.96 + ], + "area": 16537.104168, + "iscrowd": 0 + }, + { + "id": 4492, + "image_id": 897, + "category_id": 1, + "bbox": [ + 1020.09, + 488.762, + 76.709, + 149.861 + ], + "area": 11495.687449, + "iscrowd": 0 + }, + { + "id": 4493, + "image_id": 897, + "category_id": 1, + "bbox": [ + 733.776, + 508.694, + 88.6652, + 206.338 + ], + "area": 18295.0000376, + "iscrowd": 0 + }, + { + "id": 4494, + "image_id": 897, + "category_id": 0, + "bbox": [ + 584.938, + 551.172, + 78.4552, + 129.103 + ], + "area": 10128.801685600001, + "iscrowd": 0 + }, + { + "id": 4495, + "image_id": 897, + "category_id": 0, + "bbox": [ + 739.862, + 548.193, + 60.5793, + 82.4276 + ], + "area": 4993.406308680001, + "iscrowd": 0 + }, + { + "id": 4496, + "image_id": 897, + "category_id": 0, + "bbox": [ + 888.828, + 515.421, + 47.669, + 62.5655 + ], + "area": 2982.4348195, + "iscrowd": 0 + }, + { + "id": 4497, + "image_id": 897, + "category_id": 1, + "bbox": [ + 987.145, + 482.648, + 54.6207, + 146.979 + ], + "area": 8028.095865300001, + "iscrowd": 0 + }, + { + "id": 4498, + "image_id": 898, + "category_id": 1, + "bbox": [ + 517.663, + 490.109, + 149.183, + 228.592 + ], + "area": 34102.040336, + "iscrowd": 0 + }, + { + "id": 4499, + "image_id": 898, + "category_id": 1, + "bbox": [ + 636.823, + 486.526, + 72.6511, + 232.102 + ], + "area": 16862.4656122, + "iscrowd": 0 + }, + { + "id": 4500, + "image_id": 898, + "category_id": 1, + "bbox": [ + 914.271, + 471.578, + 52.7808, + 175.364 + ], + "area": 9255.852211200001, + "iscrowd": 0 + }, + { + "id": 4501, + "image_id": 898, + "category_id": 1, + "bbox": [ + 795.042, + 478.962, + 103.654, + 170.173 + ], + "area": 17639.112141999998, + "iscrowd": 0 + }, + { + "id": 4502, + "image_id": 898, + "category_id": 1, + "bbox": [ + 677.933, + 509.844, + 94.8651, + 207.467 + ], + "area": 19681.3777017, + "iscrowd": 0 + }, + { + "id": 4503, + "image_id": 898, + "category_id": 1, + "bbox": [ + 976.155, + 483.491, + 80.9234, + 177.167 + ], + "area": 14336.9560078, + "iscrowd": 0 + }, + { + "id": 4504, + "image_id": 898, + "category_id": 0, + "bbox": [ + 695.723, + 530.139, + 71.7912, + 73.5711 + ], + "area": 5281.75755432, + "iscrowd": 0 + }, + { + "id": 4505, + "image_id": 898, + "category_id": 0, + "bbox": [ + 558.667, + 534.885, + 77.131, + 142.989 + ], + "area": 11028.884559, + "iscrowd": 0 + }, + { + "id": 4506, + "image_id": 898, + "category_id": 0, + "bbox": [ + 889.737, + 517.679, + 40.9388, + 42.1254 + ], + "area": 1724.56332552, + "iscrowd": 0 + }, + { + "id": 4507, + "image_id": 899, + "category_id": 1, + "bbox": [ + 781.248, + 483.621, + 89.9424, + 160.176 + ], + "area": 14406.6138624, + "iscrowd": 0 + }, + { + "id": 4508, + "image_id": 899, + "category_id": 1, + "bbox": [ + 519.697, + 496.915, + 119.174, + 221.777 + ], + "area": 26430.052198, + "iscrowd": 0 + }, + { + "id": 4509, + "image_id": 899, + "category_id": 1, + "bbox": [ + 640.61, + 506.303, + 91.4866, + 212.191 + ], + "area": 19412.6331406, + "iscrowd": 0 + }, + { + "id": 4510, + "image_id": 899, + "category_id": 1, + "bbox": [ + 933.034, + 486.097, + 62.5984, + 163.257 + ], + "area": 10219.6269888, + "iscrowd": 0 + }, + { + "id": 4511, + "image_id": 899, + "category_id": 1, + "bbox": [ + 619.361, + 487.328, + 48.4966, + 77.6331 + ], + "area": 3764.94139746, + "iscrowd": 0 + }, + { + "id": 4512, + "image_id": 899, + "category_id": 1, + "bbox": [ + 986.287, + 484.955, + 55.6111, + 220.51 + ], + "area": 12262.803661, + "iscrowd": 0 + }, + { + "id": 4513, + "image_id": 899, + "category_id": 0, + "bbox": [ + 588.799, + 559.996, + 63.5509, + 149.638 + ], + "area": 9509.6295742, + "iscrowd": 0 + }, + { + "id": 4514, + "image_id": 899, + "category_id": 0, + "bbox": [ + 655.054, + 541.066, + 55.8887, + 67.1566 + ], + "area": 3753.29507042, + "iscrowd": 0 + }, + { + "id": 4515, + "image_id": 899, + "category_id": 0, + "bbox": [ + 899.793, + 516.727, + 21.1836, + 46.4237 + ], + "area": 983.4210913199998, + "iscrowd": 0 + }, + { + "id": 4516, + "image_id": 899, + "category_id": 1, + "bbox": [ + 919.173, + 472.557, + 37.4094, + 86.0867 + ], + "area": 3220.4517949799997, + "iscrowd": 0 + }, + { + "id": 4517, + "image_id": 899, + "category_id": 0, + "bbox": [ + 999.401, + 534.756, + 25.6908, + 51.8323 + ], + "area": 1331.6132528399999, + "iscrowd": 0 + }, + { + "id": 4518, + "image_id": 900, + "category_id": 1, + "bbox": [ + 748.708, + 489.239, + 88.7336, + 230.164 + ], + "area": 20423.280310399998, + "iscrowd": 0 + }, + { + "id": 4519, + "image_id": 900, + "category_id": 1, + "bbox": [ + 518.528, + 510.054, + 168.931, + 208.873 + ], + "area": 35285.124763, + "iscrowd": 0 + }, + { + "id": 4520, + "image_id": 900, + "category_id": 1, + "bbox": [ + 855.973, + 490.422, + 86.947, + 160.05 + ], + "area": 13915.867350000002, + "iscrowd": 0 + }, + { + "id": 4521, + "image_id": 900, + "category_id": 1, + "bbox": [ + 977.092, + 487.351, + 64.7024, + 225.992 + ], + "area": 14622.2247808, + "iscrowd": 0 + }, + { + "id": 4522, + "image_id": 900, + "category_id": 1, + "bbox": [ + 912.342, + 472.062, + 56.3967, + 174.952 + ], + "area": 9866.7154584, + "iscrowd": 0 + }, + { + "id": 4523, + "image_id": 900, + "category_id": 0, + "bbox": [ + 593.848, + 568.027, + 92.9047, + 151.973 + ], + "area": 14119.005973100002, + "iscrowd": 0 + }, + { + "id": 4524, + "image_id": 900, + "category_id": 1, + "bbox": [ + 507.894, + 457.58, + 18.8939, + 65.6993 + ], + "area": 1241.31600427, + "iscrowd": 0 + }, + { + "id": 4525, + "image_id": 900, + "category_id": 1, + "bbox": [ + 598.114, + 484.062, + 39.1777, + 41.7896 + ], + "area": 1637.22041192, + "iscrowd": 0 + }, + { + "id": 4526, + "image_id": 900, + "category_id": 1, + "bbox": [ + 616.396, + 512.793, + 38.3072, + 55.7195 + ], + "area": 2134.4580304, + "iscrowd": 0 + }, + { + "id": 4527, + "image_id": 901, + "category_id": 1, + "bbox": [ + 884.519, + 472.329, + 84.5795, + 175.622 + ], + "area": 14854.020949, + "iscrowd": 0 + }, + { + "id": 4528, + "image_id": 901, + "category_id": 1, + "bbox": [ + 794.762, + 493.468, + 95.6902, + 156.302 + ], + "area": 14956.5696404, + "iscrowd": 0 + }, + { + "id": 4529, + "image_id": 901, + "category_id": 1, + "bbox": [ + 701.035, + 483.012, + 91.5991, + 186.025 + ], + "area": 17039.7225775, + "iscrowd": 0 + }, + { + "id": 4530, + "image_id": 901, + "category_id": 1, + "bbox": [ + 525.62, + 516.221, + 108.181, + 203.004 + ], + "area": 21961.175723999997, + "iscrowd": 0 + }, + { + "id": 4531, + "image_id": 901, + "category_id": 1, + "bbox": [ + 973.16, + 485.352, + 62.2578, + 223.176 + ], + "area": 13894.4467728, + "iscrowd": 0 + }, + { + "id": 4532, + "image_id": 901, + "category_id": 1, + "bbox": [ + 538.283, + 486.747, + 56.9086, + 92.1985 + ], + "area": 5246.8875571, + "iscrowd": 0 + }, + { + "id": 4533, + "image_id": 901, + "category_id": 1, + "bbox": [ + 564.139, + 533.242, + 203.751, + 186.074 + ], + "area": 37912.763574000004, + "iscrowd": 0 + }, + { + "id": 4534, + "image_id": 901, + "category_id": 0, + "bbox": [ + 585.926, + 531.076, + 52.237, + 92.2854 + ], + "area": 4820.7124398, + "iscrowd": 0 + }, + { + "id": 4535, + "image_id": 901, + "category_id": 0, + "bbox": [ + 670.376, + 600.725, + 94.9033, + 119.275 + ], + "area": 11319.5911075, + "iscrowd": 0 + }, + { + "id": 4536, + "image_id": 901, + "category_id": 0, + "bbox": [ + 883.676, + 516.276, + 42.6602, + 52.237 + ], + "area": 2228.4408674, + "iscrowd": 0 + }, + { + "id": 4537, + "image_id": 902, + "category_id": 1, + "bbox": [ + 473.627, + 484.396, + 89.177, + 234.301 + ], + "area": 20894.260277, + "iscrowd": 0 + }, + { + "id": 4538, + "image_id": 902, + "category_id": 1, + "bbox": [ + 738.234, + 488.939, + 78.146, + 168.746 + ], + "area": 13186.824916000001, + "iscrowd": 0 + }, + { + "id": 4539, + "image_id": 902, + "category_id": 1, + "bbox": [ + 535.56, + 521.573, + 133.579, + 197.177 + ], + "area": 26338.706483, + "iscrowd": 0 + }, + { + "id": 4540, + "image_id": 902, + "category_id": 1, + "bbox": [ + 600.225, + 556.127, + 175.936, + 162.988 + ], + "area": 28675.456768, + "iscrowd": 0 + }, + { + "id": 4541, + "image_id": 902, + "category_id": 1, + "bbox": [ + 882.297, + 473.92, + 93.3704, + 172.491 + ], + "area": 16105.553666400001, + "iscrowd": 0 + }, + { + "id": 4542, + "image_id": 902, + "category_id": 1, + "bbox": [ + 947.179, + 484.501, + 67.5244, + 160.511 + ], + "area": 10838.4089684, + "iscrowd": 0 + }, + { + "id": 4543, + "image_id": 902, + "category_id": 1, + "bbox": [ + 662.862, + 484.388, + 68.8851, + 101.354 + ], + "area": 6981.780425399999, + "iscrowd": 0 + }, + { + "id": 4544, + "image_id": 902, + "category_id": 1, + "bbox": [ + 762.868, + 642.972, + 78.3181, + 75.8009 + ], + "area": 5936.58246629, + "iscrowd": 0 + }, + { + "id": 4545, + "image_id": 902, + "category_id": 0, + "bbox": [ + 868.966, + 515.421, + 57.6, + 66.5379 + ], + "area": 3832.5830399999995, + "iscrowd": 0 + }, + { + "id": 4546, + "image_id": 902, + "category_id": 0, + "bbox": [ + 587.917, + 548.193, + 80.4414, + 92.3586 + ], + "area": 7429.4550860399995, + "iscrowd": 0 + }, + { + "id": 4547, + "image_id": 902, + "category_id": 0, + "bbox": [ + 752.772, + 638.565, + 90.3724, + 81.4345 + ], + "area": 7359.4312078, + "iscrowd": 0 + }, + { + "id": 4548, + "image_id": 902, + "category_id": 0, + "bbox": [ + 962.317, + 528.331, + 58.5931, + 72.4966 + ], + "area": 4247.80053346, + "iscrowd": 0 + }, + { + "id": 4549, + "image_id": 903, + "category_id": 1, + "bbox": [ + 415.907, + 491.217, + 125.302, + 227.374 + ], + "area": 28490.416948000002, + "iscrowd": 0 + }, + { + "id": 4550, + "image_id": 903, + "category_id": 1, + "bbox": [ + 509.162, + 528.755, + 150.239, + 189.495 + ], + "area": 28469.539305000002, + "iscrowd": 0 + }, + { + "id": 4551, + "image_id": 903, + "category_id": 1, + "bbox": [ + 653.183, + 485.313, + 108.717, + 234.222 + ], + "area": 25463.913174, + "iscrowd": 0 + }, + { + "id": 4552, + "image_id": 903, + "category_id": 1, + "bbox": [ + 920.86, + 483.023, + 66.9377, + 167.932 + ], + "area": 11240.9818364, + "iscrowd": 0 + }, + { + "id": 4553, + "image_id": 903, + "category_id": 1, + "bbox": [ + 703.312, + 568.633, + 239.576, + 149.39 + ], + "area": 35790.25863999999, + "iscrowd": 0 + }, + { + "id": 4554, + "image_id": 903, + "category_id": 1, + "bbox": [ + 595.269, + 485.942, + 78.6174, + 150.783 + ], + "area": 11854.167424199999, + "iscrowd": 0 + }, + { + "id": 4555, + "image_id": 903, + "category_id": 1, + "bbox": [ + 901.422, + 474.96, + 45.6341, + 175.033 + ], + "area": 7987.473425299999, + "iscrowd": 0 + }, + { + "id": 4556, + "image_id": 903, + "category_id": 0, + "bbox": [ + 567.253, + 566.207, + 86.1678, + 89.44 + ], + "area": 7706.848032, + "iscrowd": 0 + }, + { + "id": 4557, + "image_id": 903, + "category_id": 0, + "bbox": [ + 874.839, + 518.76, + 40.3571, + 51.2644 + ], + "area": 2068.88251724, + "iscrowd": 0 + }, + { + "id": 4558, + "image_id": 903, + "category_id": 0, + "bbox": [ + 944.646, + 535.666, + 29.4498, + 51.8097 + ], + "area": 1525.78530306, + "iscrowd": 0 + }, + { + "id": 4559, + "image_id": 903, + "category_id": 0, + "bbox": [ + 862.841, + 663.827, + 68.7161, + 56.1727 + ], + "area": 3859.9688704699997, + "iscrowd": 0 + }, + { + "id": 4560, + "image_id": 904, + "category_id": 1, + "bbox": [ + 392.853, + 498.738, + 117.23, + 219.416 + ], + "area": 25722.13768, + "iscrowd": 0 + }, + { + "id": 4561, + "image_id": 904, + "category_id": 1, + "bbox": [ + 619.883, + 489.442, + 108.809, + 228.499 + ], + "area": 24862.747691, + "iscrowd": 0 + }, + { + "id": 4562, + "image_id": 904, + "category_id": 1, + "bbox": [ + 504.818, + 545.731, + 157.486, + 173.349 + ], + "area": 27300.040613999998, + "iscrowd": 0 + }, + { + "id": 4563, + "image_id": 904, + "category_id": 1, + "bbox": [ + 903.91, + 488.681, + 66.7695, + 160.176 + ], + "area": 10694.871431999998, + "iscrowd": 0 + }, + { + "id": 4564, + "image_id": 904, + "category_id": 1, + "bbox": [ + 851.061, + 469.492, + 75.8486, + 179.2 + ], + "area": 13592.06912, + "iscrowd": 0 + }, + { + "id": 4565, + "image_id": 904, + "category_id": 1, + "bbox": [ + 559.331, + 482.758, + 75.6012, + 119.632 + ], + "area": 9044.322758400001, + "iscrowd": 0 + }, + { + "id": 4566, + "image_id": 904, + "category_id": 1, + "bbox": [ + 960.718, + 595.562, + 150.881, + 124.097 + ], + "area": 18723.879457, + "iscrowd": 0 + }, + { + "id": 4567, + "image_id": 904, + "category_id": 0, + "bbox": [ + 845.833, + 521.2, + 55.8427, + 52.8645 + ], + "area": 2952.09641415, + "iscrowd": 0 + }, + { + "id": 4568, + "image_id": 904, + "category_id": 0, + "bbox": [ + 912.099, + 537.58, + 52.8643, + 58.0765 + ], + "area": 3070.17351895, + "iscrowd": 0 + }, + { + "id": 4569, + "image_id": 904, + "category_id": 0, + "bbox": [ + 550.982, + 600.869, + 104.984, + 77.4352 + ], + "area": 8129.457036799999, + "iscrowd": 0 + }, + { + "id": 4570, + "image_id": 905, + "category_id": 1, + "bbox": [ + 360.441, + 499.404, + 111.943, + 219.083 + ], + "area": 24524.808269, + "iscrowd": 0 + }, + { + "id": 4571, + "image_id": 905, + "category_id": 1, + "bbox": [ + 872.473, + 490.731, + 79.8416, + 160.741 + ], + "area": 12833.8186256, + "iscrowd": 0 + }, + { + "id": 4572, + "image_id": 905, + "category_id": 1, + "bbox": [ + 495.601, + 484.524, + 110.583, + 231.635 + ], + "area": 25614.893205, + "iscrowd": 0 + }, + { + "id": 4573, + "image_id": 905, + "category_id": 1, + "bbox": [ + 526.823, + 550.813, + 183.663, + 168.083 + ], + "area": 30870.628029000003, + "iscrowd": 0 + }, + { + "id": 4574, + "image_id": 905, + "category_id": 1, + "bbox": [ + 861.813, + 476.689, + 46.0958, + 146.27 + ], + "area": 6742.432666, + "iscrowd": 0 + }, + { + "id": 4575, + "image_id": 905, + "category_id": 1, + "bbox": [ + 614.655, + 500.605, + 90.5441, + 129.722 + ], + "area": 11745.5617402, + "iscrowd": 0 + }, + { + "id": 4576, + "image_id": 905, + "category_id": 0, + "bbox": [ + 579.83, + 575.477, + 121.887, + 144.523 + ], + "area": 17615.474901, + "iscrowd": 0 + }, + { + "id": 4577, + "image_id": 905, + "category_id": 0, + "bbox": [ + 839.275, + 521.499, + 52.237, + 56.5902 + ], + "area": 2956.1022774000003, + "iscrowd": 0 + }, + { + "id": 4578, + "image_id": 905, + "category_id": 0, + "bbox": [ + 899.346, + 539.782, + 47.0133, + 52.237 + ], + "area": 2455.8337521000003, + "iscrowd": 0 + }, + { + "id": 4587, + "image_id": 907, + "category_id": 1, + "bbox": [ + 296.446, + 511.905, + 158.135, + 207.173 + ], + "area": 32761.302355, + "iscrowd": 0 + }, + { + "id": 4588, + "image_id": 907, + "category_id": 1, + "bbox": [ + 445.451, + 493.444, + 128.26, + 225.416 + ], + "area": 28911.856159999996, + "iscrowd": 0 + }, + { + "id": 4589, + "image_id": 907, + "category_id": 1, + "bbox": [ + 565.399, + 498.894, + 167.528, + 219.737 + ], + "area": 36812.100135999994, + "iscrowd": 0 + }, + { + "id": 4590, + "image_id": 907, + "category_id": 1, + "bbox": [ + 855.494, + 477.865, + 66.9683, + 171.852 + ], + "area": 11508.6362916, + "iscrowd": 0 + }, + { + "id": 4591, + "image_id": 907, + "category_id": 1, + "bbox": [ + 591.308, + 586.615, + 146.539, + 132.823 + ], + "area": 19463.749596999998, + "iscrowd": 0 + }, + { + "id": 4592, + "image_id": 907, + "category_id": 1, + "bbox": [ + 799.088, + 484.865, + 77.7445, + 163.497 + ], + "area": 12710.992516500002, + "iscrowd": 0 + }, + { + "id": 4593, + "image_id": 907, + "category_id": 0, + "bbox": [ + 725.658, + 620.982, + 67.8978, + 99.0177 + ], + "area": 6723.083991060001, + "iscrowd": 0 + }, + { + "id": 4594, + "image_id": 907, + "category_id": 0, + "bbox": [ + 813.686, + 533.935, + 43.4326, + 61.4612 + ], + "area": 2669.41971512, + "iscrowd": 0 + }, + { + "id": 4595, + "image_id": 908, + "category_id": 1, + "bbox": [ + 546.751, + 511.955, + 185.468, + 207.429 + ], + "area": 38471.441772, + "iscrowd": 0 + }, + { + "id": 4596, + "image_id": 908, + "category_id": 1, + "bbox": [ + 262.977, + 523.258, + 204.695, + 195.663 + ], + "area": 40051.237785, + "iscrowd": 0 + }, + { + "id": 4597, + "image_id": 908, + "category_id": 1, + "bbox": [ + 442.805, + 496.828, + 135.654, + 222.492 + ], + "area": 30181.929767999998, + "iscrowd": 0 + }, + { + "id": 4598, + "image_id": 908, + "category_id": 1, + "bbox": [ + 826.077, + 476.312, + 75.0688, + 173.045 + ], + "area": 12990.280495999998, + "iscrowd": 0 + }, + { + "id": 4599, + "image_id": 908, + "category_id": 1, + "bbox": [ + 768.224, + 489.531, + 75.1949, + 158.426 + ], + "area": 11912.8272274, + "iscrowd": 0 + }, + { + "id": 4600, + "image_id": 908, + "category_id": 1, + "bbox": [ + 701.461, + 605.582, + 143.154, + 112.991 + ], + "area": 16175.113614, + "iscrowd": 0 + }, + { + "id": 4601, + "image_id": 908, + "category_id": 0, + "bbox": [ + 770.631, + 547.26, + 43.9296, + 55.0982 + ], + "area": 2420.44188672, + "iscrowd": 0 + }, + { + "id": 4602, + "image_id": 909, + "category_id": 1, + "bbox": [ + 256.781, + 543.082, + 198.42, + 175.518 + ], + "area": 34826.281559999996, + "iscrowd": 0 + }, + { + "id": 4603, + "image_id": 909, + "category_id": 1, + "bbox": [ + 410.802, + 500.15, + 148.148, + 219.628 + ], + "area": 32537.448943999996, + "iscrowd": 0 + }, + { + "id": 4604, + "image_id": 909, + "category_id": 1, + "bbox": [ + 567.95, + 522.087, + 199.652, + 197.327 + ], + "area": 39396.730204, + "iscrowd": 0 + }, + { + "id": 4605, + "image_id": 909, + "category_id": 1, + "bbox": [ + 799.383, + 476.941, + 97.7368, + 170.605 + ], + "area": 16674.386764, + "iscrowd": 0 + }, + { + "id": 4606, + "image_id": 909, + "category_id": 1, + "bbox": [ + 736.237, + 486.616, + 60.5649, + 230.965 + ], + "area": 13988.372128500001, + "iscrowd": 0 + }, + { + "id": 4607, + "image_id": 909, + "category_id": 1, + "bbox": [ + 826.168, + 637.553, + 108.324, + 81.2563 + ], + "area": 8802.0074412, + "iscrowd": 0 + }, + { + "id": 4608, + "image_id": 909, + "category_id": 0, + "bbox": [ + 735.89, + 547.2, + 41.7103, + 72.4966 + ], + "area": 3023.8549349799996, + "iscrowd": 0 + }, + { + "id": 4609, + "image_id": 909, + "category_id": 0, + "bbox": [ + 786.538, + 527.338, + 47.669, + 67.531 + ], + "area": 3219.135239, + "iscrowd": 0 + }, + { + "id": 4610, + "image_id": 910, + "category_id": 1, + "bbox": [ + 572.118, + 526.516, + 308.479, + 193.484 + ], + "area": 59685.750836, + "iscrowd": 0 + }, + { + "id": 4611, + "image_id": 910, + "category_id": 1, + "bbox": [ + 245.252, + 552.799, + 207.739, + 165.922 + ], + "area": 34468.470358, + "iscrowd": 0 + }, + { + "id": 4612, + "image_id": 910, + "category_id": 1, + "bbox": [ + 418.762, + 516.417, + 162.557, + 203.027 + ], + "area": 33003.460039, + "iscrowd": 0 + }, + { + "id": 4613, + "image_id": 910, + "category_id": 1, + "bbox": [ + 807.799, + 479.223, + 60.9654, + 128.637 + ], + "area": 7842.406159800001, + "iscrowd": 0 + }, + { + "id": 4614, + "image_id": 910, + "category_id": 1, + "bbox": [ + 1026.41, + 668.704, + 137.921, + 50.2966 + ], + "area": 6936.957368599999, + "iscrowd": 0 + }, + { + "id": 4615, + "image_id": 910, + "category_id": 0, + "bbox": [ + 770.923, + 513.477, + 50.9234, + 97.6031 + ], + "area": 4970.28170254, + "iscrowd": 0 + }, + { + "id": 4616, + "image_id": 910, + "category_id": 1, + "bbox": [ + 690.295, + 492.259, + 50.9234, + 41.0216 + ], + "area": 2088.95934544, + "iscrowd": 0 + }, + { + "id": 4617, + "image_id": 911, + "category_id": 1, + "bbox": [ + 340.939, + 564.666, + 209.236, + 154.537 + ], + "area": 32334.703731999998, + "iscrowd": 0 + }, + { + "id": 4618, + "image_id": 911, + "category_id": 1, + "bbox": [ + 465.003, + 526.432, + 144.037, + 193.345 + ], + "area": 27848.833765, + "iscrowd": 0 + }, + { + "id": 4619, + "image_id": 911, + "category_id": 1, + "bbox": [ + 645.822, + 542.011, + 205.407, + 176.772 + ], + "area": 36310.206204, + "iscrowd": 0 + }, + { + "id": 4620, + "image_id": 911, + "category_id": 1, + "bbox": [ + 650.243, + 489.154, + 84.0015, + 200.369 + ], + "area": 16831.2965535, + "iscrowd": 0 + }, + { + "id": 4621, + "image_id": 911, + "category_id": 1, + "bbox": [ + 753.495, + 475.824, + 68.1306, + 128.655 + ], + "area": 8765.342343, + "iscrowd": 0 + }, + { + "id": 4622, + "image_id": 911, + "category_id": 0, + "bbox": [ + 667.298, + 560.193, + 44.8879, + 64.3909 + ], + "area": 2890.3722801100002, + "iscrowd": 0 + }, + { + "id": 4623, + "image_id": 912, + "category_id": 1, + "bbox": [ + 772.399, + 559.045, + 237.658, + 160.955 + ], + "area": 38252.24339, + "iscrowd": 0 + }, + { + "id": 4624, + "image_id": 912, + "category_id": 1, + "bbox": [ + 612.571, + 497.768, + 87.1775, + 221.331 + ], + "area": 19295.083252499997, + "iscrowd": 0 + }, + { + "id": 4625, + "image_id": 912, + "category_id": 1, + "bbox": [ + 716.285, + 483.913, + 76.5037, + 236.087 + ], + "area": 18061.529021899998, + "iscrowd": 0 + }, + { + "id": 4626, + "image_id": 912, + "category_id": 1, + "bbox": [ + 474.914, + 461.844, + 33.7669, + 89.8241 + ], + "area": 3033.08140229, + "iscrowd": 0 + }, + { + "id": 4627, + "image_id": 912, + "category_id": 1, + "bbox": [ + 461.518, + 602.873, + 122.638, + 116.229 + ], + "area": 14254.092102, + "iscrowd": 0 + }, + { + "id": 4628, + "image_id": 912, + "category_id": 1, + "bbox": [ + 420.486, + 533.924, + 174.986, + 186.076 + ], + "area": 32560.694935999996, + "iscrowd": 0 + }, + { + "id": 4629, + "image_id": 912, + "category_id": 1, + "bbox": [ + 545.545, + 516.507, + 1.96137, + 17.162 + ], + "area": 33.66103194, + "iscrowd": 0 + }, + { + "id": 4630, + "image_id": 912, + "category_id": 0, + "bbox": [ + 627.353, + 569.955, + 68.6481, + 67.1771 + ], + "area": 4611.5802785099995, + "iscrowd": 0 + }, + { + "id": 4631, + "image_id": 912, + "category_id": 0, + "bbox": [ + 695.02, + 514.546, + 50.015, + 86.3005 + ], + "area": 4316.3195075, + "iscrowd": 0 + }, + { + "id": 4632, + "image_id": 913, + "category_id": 1, + "bbox": [ + 675.799, + 482.746, + 109.52, + 207.453 + ], + "area": 22720.25256, + "iscrowd": 0 + }, + { + "id": 4633, + "image_id": 913, + "category_id": 1, + "bbox": [ + 505.703, + 542.87, + 174.707, + 176.147 + ], + "area": 30774.113928999996, + "iscrowd": 0 + }, + { + "id": 4634, + "image_id": 913, + "category_id": 1, + "bbox": [ + 958.428, + 584.168, + 179.224, + 134.575 + ], + "area": 24119.069799999997, + "iscrowd": 0 + }, + { + "id": 4635, + "image_id": 913, + "category_id": 1, + "bbox": [ + 595.592, + 637.61, + 139.44, + 80.8147 + ], + "area": 11268.801768, + "iscrowd": 0 + }, + { + "id": 4636, + "image_id": 913, + "category_id": 1, + "bbox": [ + 555.145, + 483.641, + 63.5586, + 157.903 + ], + "area": 10036.093615799999, + "iscrowd": 0 + }, + { + "id": 4637, + "image_id": 913, + "category_id": 1, + "bbox": [ + 475.697, + 462.786, + 23.8345, + 106.262 + ], + "area": 2532.701639, + "iscrowd": 0 + }, + { + "id": 4645, + "image_id": 915, + "category_id": 1, + "bbox": [ + 589.854, + 486.734, + 124.943, + 231.751 + ], + "area": 28955.665193, + "iscrowd": 0 + }, + { + "id": 4646, + "image_id": 915, + "category_id": 1, + "bbox": [ + 481.598, + 515.527, + 114.212, + 202.723 + ], + "area": 23153.399276000004, + "iscrowd": 0 + }, + { + "id": 4647, + "image_id": 915, + "category_id": 1, + "bbox": [ + 746.569, + 586.011, + 184.281, + 132.733 + ], + "area": 24460.169973, + "iscrowd": 0 + }, + { + "id": 4648, + "image_id": 915, + "category_id": 0, + "bbox": [ + 517.805, + 601.821, + 75.2287, + 98.4384 + ], + "area": 7405.392862080001, + "iscrowd": 0 + }, + { + "id": 4649, + "image_id": 915, + "category_id": 0, + "bbox": [ + 581.571, + 539.783, + 55.7194, + 99.2504 + ], + "area": 5530.17273776, + "iscrowd": 0 + }, + { + "id": 4650, + "image_id": 916, + "category_id": 1, + "bbox": [ + 544.994, + 492.091, + 127.943, + 226.537 + ], + "area": 28983.823391, + "iscrowd": 0 + }, + { + "id": 4651, + "image_id": 916, + "category_id": 1, + "bbox": [ + 980.964, + 598.17, + 169.181, + 120.303 + ], + "area": 20352.981843, + "iscrowd": 0 + }, + { + "id": 4652, + "image_id": 916, + "category_id": 1, + "bbox": [ + 401.899, + 508.092, + 153.439, + 211.332 + ], + "area": 32426.570748, + "iscrowd": 0 + }, + { + "id": 4653, + "image_id": 916, + "category_id": 1, + "bbox": [ + 452.344, + 466.164, + 37.2451, + 99.0086 + ], + "area": 3687.58520786, + "iscrowd": 0 + }, + { + "id": 4654, + "image_id": 916, + "category_id": 0, + "bbox": [ + 501.097, + 606.826, + 54.353, + 103.495 + ], + "area": 5625.263735, + "iscrowd": 0 + }, + { + "id": 4655, + "image_id": 916, + "category_id": 0, + "bbox": [ + 539.069, + 556.94, + 55.8428, + 99.7719 + ], + "area": 5571.542257319999, + "iscrowd": 0 + }, + { + "id": 4656, + "image_id": 917, + "category_id": 1, + "bbox": [ + 421.311, + 521.075, + 172.227, + 198.257 + ], + "area": 34145.208339000004, + "iscrowd": 0 + }, + { + "id": 4657, + "image_id": 917, + "category_id": 1, + "bbox": [ + 545.974, + 489.206, + 90.1631, + 229.947 + ], + "area": 20732.7343557, + "iscrowd": 0 + }, + { + "id": 4658, + "image_id": 917, + "category_id": 1, + "bbox": [ + 449.204, + 465.062, + 38.8215, + 103.301 + ], + "area": 4010.2997715, + "iscrowd": 0 + }, + { + "id": 4659, + "image_id": 917, + "category_id": 0, + "bbox": [ + 520.386, + 625.655, + 82.4276, + 94.3448 + ], + "area": 7776.61543648, + "iscrowd": 0 + }, + { + "id": 4660, + "image_id": 918, + "category_id": 1, + "bbox": [ + 453.53, + 526.913, + 116.824, + 192.25 + ], + "area": 22459.414, + "iscrowd": 0 + }, + { + "id": 4661, + "image_id": 918, + "category_id": 1, + "bbox": [ + 467.046, + 493.911, + 170.779, + 225.643 + ], + "area": 38535.085897, + "iscrowd": 0 + }, + { + "id": 4662, + "image_id": 918, + "category_id": 0, + "bbox": [ + 532.203, + 627.76, + 55.0783, + 92.2396 + ], + "area": 5080.40036068, + "iscrowd": 0 + }, + { + "id": 4663, + "image_id": 919, + "category_id": 1, + "bbox": [ + 418.104, + 526.746, + 153.43, + 192.26 + ], + "area": 29498.4518, + "iscrowd": 0 + }, + { + "id": 4664, + "image_id": 919, + "category_id": 1, + "bbox": [ + 442.517, + 470.431, + 39.7544, + 106.693 + ], + "area": 4241.516199199999, + "iscrowd": 0 + }, + { + "id": 4665, + "image_id": 920, + "category_id": 1, + "bbox": [ + 357.3, + 531.902, + 183.199, + 187.886 + ], + "area": 34420.527314, + "iscrowd": 0 + }, + { + "id": 4666, + "image_id": 920, + "category_id": 1, + "bbox": [ + 472.354, + 502.775, + 91.8323, + 216.06 + ], + "area": 19841.286738000003, + "iscrowd": 0 + }, + { + "id": 4667, + "image_id": 921, + "category_id": 1, + "bbox": [ + 329.654, + 530.124, + 211.223, + 187.91 + ], + "area": 39690.91393, + "iscrowd": 0 + }, + { + "id": 4668, + "image_id": 921, + "category_id": 1, + "bbox": [ + 514.138, + 506.368, + 136.267, + 212.824 + ], + "area": 29000.888008, + "iscrowd": 0 + }, + { + "id": 4669, + "image_id": 921, + "category_id": 1, + "bbox": [ + 690.294, + 652.258, + 133.41, + 66.9275 + ], + "area": 8928.797775, + "iscrowd": 0 + }, + { + "id": 4670, + "image_id": 921, + "category_id": 1, + "bbox": [ + 427.664, + 470.896, + 44.3146, + 63.7473 + ], + "area": 2824.93610058, + "iscrowd": 0 + }, + { + "id": 4671, + "image_id": 921, + "category_id": 0, + "bbox": [ + 478.676, + 584.938, + 95.3379, + 114.207 + ], + "area": 10888.2555453, + "iscrowd": 0 + }, + { + "id": 4672, + "image_id": 922, + "category_id": 1, + "bbox": [ + 406.02, + 543.408, + 199.269, + 174.648 + ], + "area": 34801.932312, + "iscrowd": 0 + }, + { + "id": 4673, + "image_id": 922, + "category_id": 1, + "bbox": [ + 548.836, + 516.159, + 110.509, + 203.841 + ], + "area": 22526.265069, + "iscrowd": 0 + }, + { + "id": 4674, + "image_id": 922, + "category_id": 0, + "bbox": [ + 554.003, + 608.085, + 70.5921, + 84.8365 + ], + "area": 5988.786691650001, + "iscrowd": 0 + }, + { + "id": 4675, + "image_id": 923, + "category_id": 1, + "bbox": [ + 422.567, + 544.625, + 171.061, + 174.265 + ], + "area": 29809.945164999997, + "iscrowd": 0 + }, + { + "id": 4676, + "image_id": 923, + "category_id": 1, + "bbox": [ + 569.24, + 515.887, + 200.421, + 203.078 + ], + "area": 40701.095838, + "iscrowd": 0 + }, + { + "id": 4677, + "image_id": 923, + "category_id": 1, + "bbox": [ + 417.995, + 473.469, + 50.0399, + 123.988 + ], + "area": 6204.3471212, + "iscrowd": 0 + }, + { + "id": 4678, + "image_id": 923, + "category_id": 1, + "bbox": [ + 1049.48, + 612.064, + 165.083, + 106.744 + ], + "area": 17621.619752, + "iscrowd": 0 + }, + { + "id": 4679, + "image_id": 924, + "category_id": 1, + "bbox": [ + 377.233, + 554.456, + 165.711, + 165.544 + ], + "area": 27432.461784000003, + "iscrowd": 0 + }, + { + "id": 4680, + "image_id": 924, + "category_id": 1, + "bbox": [ + 415.1, + 474.793, + 51.1245, + 124.163 + ], + "area": 6347.7712935, + "iscrowd": 0 + }, + { + "id": 4681, + "image_id": 924, + "category_id": 1, + "bbox": [ + 896.536, + 587.484, + 147.309, + 132.516 + ], + "area": 19520.799443999997, + "iscrowd": 0 + }, + { + "id": 4682, + "image_id": 924, + "category_id": 1, + "bbox": [ + 627.76, + 531.539, + 134.046, + 188.461 + ], + "area": 25262.443206, + "iscrowd": 0 + }, + { + "id": 4683, + "image_id": 924, + "category_id": 0, + "bbox": [ + 576.664, + 596.571, + 82.2857, + 101.53 + ], + "area": 8354.467121000001, + "iscrowd": 0 + }, + { + "id": 4684, + "image_id": 925, + "category_id": 1, + "bbox": [ + 645.528, + 517.969, + 130.519, + 201.589 + ], + "area": 26311.194691, + "iscrowd": 0 + }, + { + "id": 4685, + "image_id": 925, + "category_id": 1, + "bbox": [ + 359.028, + 558.951, + 169.745, + 160.287 + ], + "area": 27207.916815, + "iscrowd": 0 + }, + { + "id": 4686, + "image_id": 925, + "category_id": 1, + "bbox": [ + 757.312, + 568.204, + 173.995, + 149.889 + ], + "area": 26079.936555000004, + "iscrowd": 0 + }, + { + "id": 4687, + "image_id": 925, + "category_id": 1, + "bbox": [ + 414.337, + 475.312, + 51.5005, + 129.423 + ], + "area": 6665.349211500001, + "iscrowd": 0 + }, + { + "id": 4688, + "image_id": 925, + "category_id": 1, + "bbox": [ + 453.315, + 665.807, + 142.507, + 53.8057 + ], + "area": 7667.6888899000005, + "iscrowd": 0 + }, + { + "id": 4689, + "image_id": 925, + "category_id": 0, + "bbox": [ + 642.2, + 599.764, + 46.6798, + 80.6287 + ], + "area": 3763.73159026, + "iscrowd": 0 + }, + { + "id": 4690, + "image_id": 926, + "category_id": 1, + "bbox": [ + 349.437, + 565.364, + 166.909, + 153.551 + ], + "area": 25629.043858999998, + "iscrowd": 0 + }, + { + "id": 4691, + "image_id": 926, + "category_id": 1, + "bbox": [ + 644.768, + 554.757, + 189.783, + 164.484 + ], + "area": 31216.266972, + "iscrowd": 0 + }, + { + "id": 4692, + "image_id": 926, + "category_id": 1, + "bbox": [ + 404.03, + 475.508, + 54.7577, + 120.791 + ], + "area": 6614.2373407, + "iscrowd": 0 + }, + { + "id": 4693, + "image_id": 927, + "category_id": 1, + "bbox": [ + 308.018, + 572.632, + 149.721, + 146.729 + ], + "area": 21968.412609000003, + "iscrowd": 0 + }, + { + "id": 4694, + "image_id": 927, + "category_id": 1, + "bbox": [ + 515.748, + 541.039, + 187.624, + 177.802 + ], + "area": 33359.922448, + "iscrowd": 0 + }, + { + "id": 4695, + "image_id": 927, + "category_id": 1, + "bbox": [ + 693.779, + 518.056, + 125.988, + 200.791 + ], + "area": 25297.256508, + "iscrowd": 0 + }, + { + "id": 4696, + "image_id": 927, + "category_id": 1, + "bbox": [ + 394.132, + 477.155, + 59.3803, + 106.496 + ], + "area": 6323.764428799999, + "iscrowd": 0 + }, + { + "id": 4697, + "image_id": 927, + "category_id": 1, + "bbox": [ + 1184.48, + 619.234, + 95.0735, + 99.1195 + ], + "area": 9423.63778325, + "iscrowd": 0 + }, + { + "id": 4698, + "image_id": 927, + "category_id": 0, + "bbox": [ + 673.32, + 608.251, + 50.9234, + 77.7996 + ], + "area": 3961.82015064, + "iscrowd": 0 + }, + { + "id": 4699, + "image_id": 928, + "category_id": 1, + "bbox": [ + 418.799, + 522.061, + 209.448, + 196.801 + ], + "area": 41219.575848, + "iscrowd": 0 + }, + { + "id": 4700, + "image_id": 928, + "category_id": 1, + "bbox": [ + 239.011, + 569.015, + 154.67, + 149.265 + ], + "area": 23086.817549999996, + "iscrowd": 0 + }, + { + "id": 4701, + "image_id": 928, + "category_id": 1, + "bbox": [ + 708.57, + 528.078, + 157.16, + 191.066 + ], + "area": 30027.93256, + "iscrowd": 0 + }, + { + "id": 4702, + "image_id": 928, + "category_id": 1, + "bbox": [ + 379.039, + 474.892, + 52.821, + 151.402 + ], + "area": 7997.205041999999, + "iscrowd": 0 + }, + { + "id": 4703, + "image_id": 928, + "category_id": 1, + "bbox": [ + 1075.44, + 604.044, + 138.873, + 114.825 + ], + "area": 15946.092224999999, + "iscrowd": 0 + }, + { + "id": 4704, + "image_id": 928, + "category_id": 0, + "bbox": [ + 642.538, + 613.738, + 86.4, + 106.262 + ], + "area": 9181.0368, + "iscrowd": 0 + }, + { + "id": 4705, + "image_id": 929, + "category_id": 1, + "bbox": [ + 415.24, + 506.994, + 197.158, + 211.973 + ], + "area": 41792.172734, + "iscrowd": 0 + }, + { + "id": 4706, + "image_id": 929, + "category_id": 1, + "bbox": [ + 364.684, + 483.339, + 64.9458, + 150.409 + ], + "area": 9768.4328322, + "iscrowd": 0 + }, + { + "id": 4707, + "image_id": 929, + "category_id": 1, + "bbox": [ + 964.549, + 589.258, + 154.637, + 129.709 + ], + "area": 20057.810633, + "iscrowd": 0 + }, + { + "id": 4708, + "image_id": 929, + "category_id": 1, + "bbox": [ + 243.929, + 585.819, + 160.204, + 132.785 + ], + "area": 21272.688140000002, + "iscrowd": 0 + }, + { + "id": 4709, + "image_id": 929, + "category_id": 1, + "bbox": [ + 653.294, + 549.938, + 205.39, + 169.232 + ], + "area": 34758.56048, + "iscrowd": 0 + }, + { + "id": 4710, + "image_id": 930, + "category_id": 1, + "bbox": [ + 431.621, + 497.48, + 178.435, + 221.981 + ], + "area": 39609.179735, + "iscrowd": 0 + }, + { + "id": 4711, + "image_id": 930, + "category_id": 1, + "bbox": [ + 597.941, + 539.948, + 208.498, + 179.449 + ], + "area": 37414.757602, + "iscrowd": 0 + }, + { + "id": 4712, + "image_id": 930, + "category_id": 1, + "bbox": [ + 276.442, + 607.082, + 127.856, + 111.228 + ], + "area": 14221.167167999998, + "iscrowd": 0 + }, + { + "id": 4713, + "image_id": 930, + "category_id": 1, + "bbox": [ + 349.794, + 484.501, + 56.2067, + 156.963 + ], + "area": 8822.3722521, + "iscrowd": 0 + }, + { + "id": 4714, + "image_id": 930, + "category_id": 1, + "bbox": [ + 923.724, + 567.642, + 142.787, + 152.358 + ], + "area": 21754.741746000003, + "iscrowd": 0 + }, + { + "id": 4715, + "image_id": 931, + "category_id": 1, + "bbox": [ + 499.302, + 497.17, + 150.139, + 220.92 + ], + "area": 33168.70788, + "iscrowd": 0 + }, + { + "id": 4716, + "image_id": 931, + "category_id": 1, + "bbox": [ + 343.317, + 486.67, + 59.524, + 163.429 + ], + "area": 9727.947796, + "iscrowd": 0 + }, + { + "id": 4717, + "image_id": 931, + "category_id": 1, + "bbox": [ + 864.28, + 569.259, + 111.773, + 150.347 + ], + "area": 16804.735231, + "iscrowd": 0 + }, + { + "id": 4718, + "image_id": 931, + "category_id": 1, + "bbox": [ + 704.959, + 565.303, + 182.078, + 153.944 + ], + "area": 28029.815631999998, + "iscrowd": 0 + }, + { + "id": 4719, + "image_id": 931, + "category_id": 1, + "bbox": [ + 508.925, + 665.986, + 113.087, + 53.286 + ], + "area": 6025.953882000001, + "iscrowd": 0 + }, + { + "id": 4720, + "image_id": 932, + "category_id": 1, + "bbox": [ + 542.961, + 493.589, + 132.906, + 225.071 + ], + "area": 29913.286326, + "iscrowd": 0 + }, + { + "id": 4721, + "image_id": 932, + "category_id": 1, + "bbox": [ + 335.618, + 488.654, + 67.3965, + 170.773 + ], + "area": 11509.5024945, + "iscrowd": 0 + }, + { + "id": 4722, + "image_id": 932, + "category_id": 1, + "bbox": [ + 723.771, + 563.204, + 146.512, + 156.168 + ], + "area": 22880.486016000003, + "iscrowd": 0 + }, + { + "id": 4723, + "image_id": 932, + "category_id": 1, + "bbox": [ + 940.041, + 630.976, + 145.214, + 87.5557 + ], + "area": 12714.3134198, + "iscrowd": 0 + }, + { + "id": 4724, + "image_id": 932, + "category_id": 1, + "bbox": [ + 611.018, + 678.463, + 109.198, + 40.8964 + ], + "area": 4465.805087199999, + "iscrowd": 0 + }, + { + "id": 4725, + "image_id": 932, + "category_id": 1, + "bbox": [ + 306.955, + 471.041, + 22.6326, + 25.4617 + ], + "area": 576.2644714200001, + "iscrowd": 0 + }, + { + "id": 4726, + "image_id": 933, + "category_id": 1, + "bbox": [ + 638.491, + 547.485, + 129.495, + 171.6 + ], + "area": 22221.342, + "iscrowd": 0 + }, + { + "id": 4727, + "image_id": 933, + "category_id": 1, + "bbox": [ + 607.279, + 492.601, + 86.9014, + 225.334 + ], + "area": 19581.8400676, + "iscrowd": 0 + }, + { + "id": 4728, + "image_id": 933, + "category_id": 1, + "bbox": [ + 327.958, + 488.887, + 70.4741, + 177.101 + ], + "area": 12481.033584100001, + "iscrowd": 0 + }, + { + "id": 4729, + "image_id": 934, + "category_id": 1, + "bbox": [ + 312.596, + 495.367, + 86.6624, + 187.958 + ], + "area": 16288.8913792, + "iscrowd": 0 + }, + { + "id": 4730, + "image_id": 934, + "category_id": 1, + "bbox": [ + 560.57, + 557.411, + 154.764, + 161.882 + ], + "area": 25053.505848, + "iscrowd": 0 + }, + { + "id": 4731, + "image_id": 934, + "category_id": 1, + "bbox": [ + 679.831, + 485.886, + 111.212, + 224.202 + ], + "area": 24933.952824, + "iscrowd": 0 + }, + { + "id": 4732, + "image_id": 934, + "category_id": 1, + "bbox": [ + 283.342, + 475.566, + 55.5681, + 74.3272 + ], + "area": 4130.221282320001, + "iscrowd": 0 + }, + { + "id": 4733, + "image_id": 935, + "category_id": 1, + "bbox": [ + 676.626, + 487.17, + 168.747, + 230.951 + ], + "area": 38972.288397000004, + "iscrowd": 0 + }, + { + "id": 4734, + "image_id": 935, + "category_id": 1, + "bbox": [ + 294.24, + 497.474, + 85.4079, + 201.267 + ], + "area": 17189.7918093, + "iscrowd": 0 + }, + { + "id": 4735, + "image_id": 935, + "category_id": 1, + "bbox": [ + 493.518, + 562.07, + 175.292, + 156.933 + ], + "area": 27509.099436, + "iscrowd": 0 + }, + { + "id": 4736, + "image_id": 935, + "category_id": 1, + "bbox": [ + 0.0228119, + 584.119, + 121.081, + 134.174 + ], + "area": 16245.922094000001, + "iscrowd": 0 + }, + { + "id": 4737, + "image_id": 935, + "category_id": 1, + "bbox": [ + 278.664, + 479.528, + 32.5344, + 28.2908 + ], + "area": 920.42420352, + "iscrowd": 0 + }, + { + "id": 4738, + "image_id": 936, + "category_id": 1, + "bbox": [ + 645.297, + 487.714, + 126.649, + 231.135 + ], + "area": 29273.016615, + "iscrowd": 0 + }, + { + "id": 4739, + "image_id": 936, + "category_id": 1, + "bbox": [ + 271.596, + 501.387, + 101.391, + 215.958 + ], + "area": 21896.197578, + "iscrowd": 0 + }, + { + "id": 4740, + "image_id": 936, + "category_id": 1, + "bbox": [ + 376.004, + 573.368, + 200.81, + 146.015 + ], + "area": 29321.272149999997, + "iscrowd": 0 + }, + { + "id": 4741, + "image_id": 936, + "category_id": 1, + "bbox": [ + 0.578194, + 553.241, + 201.397, + 165.031 + ], + "area": 33236.748307, + "iscrowd": 0 + }, + { + "id": 4742, + "image_id": 937, + "category_id": 1, + "bbox": [ + 619.259, + 492.055, + 113.271, + 226.742 + ], + "area": 25683.293082, + "iscrowd": 0 + }, + { + "id": 4743, + "image_id": 937, + "category_id": 1, + "bbox": [ + 63.0789, + 527.549, + 198.999, + 190.731 + ], + "area": 37955.278268999995, + "iscrowd": 0 + }, + { + "id": 4744, + "image_id": 937, + "category_id": 1, + "bbox": [ + 251.309, + 507.218, + 94.4409, + 211.126 + ], + "area": 19938.9294534, + "iscrowd": 0 + }, + { + "id": 4745, + "image_id": 937, + "category_id": 1, + "bbox": [ + 355.991, + 593.218, + 136.292, + 125.424 + ], + "area": 17094.287808, + "iscrowd": 0 + }, + { + "id": 4746, + "image_id": 937, + "category_id": 1, + "bbox": [ + 236.359, + 483.641, + 32.7724, + 35.7517 + ], + "area": 1171.6690130799998, + "iscrowd": 0 + }, + { + "id": 4747, + "image_id": 938, + "category_id": 1, + "bbox": [ + 562.278, + 493.31, + 146.333, + 225.748 + ], + "area": 33034.382084, + "iscrowd": 0 + }, + { + "id": 4748, + "image_id": 938, + "category_id": 1, + "bbox": [ + 174.765, + 510.355, + 196.161, + 207.928 + ], + "area": 40787.364408, + "iscrowd": 0 + }, + { + "id": 4749, + "image_id": 938, + "category_id": 1, + "bbox": [ + 377.739, + 617.016, + 123.726, + 101.965 + ], + "area": 12615.721590000001, + "iscrowd": 0 + }, + { + "id": 4750, + "image_id": 939, + "category_id": 1, + "bbox": [ + 235.278, + 512.466, + 166.364, + 206.111 + ], + "area": 34289.450403999996, + "iscrowd": 0 + }, + { + "id": 4751, + "image_id": 939, + "category_id": 1, + "bbox": [ + 520.474, + 493.464, + 173.828, + 225.918 + ], + "area": 39270.874104, + "iscrowd": 0 + }, + { + "id": 4752, + "image_id": 939, + "category_id": 1, + "bbox": [ + 212.225, + 516.855, + 78.2919, + 145.51 + ], + "area": 11392.254368999998, + "iscrowd": 0 + }, + { + "id": 4753, + "image_id": 939, + "category_id": 1, + "bbox": [ + 173.988, + 493.674, + 52.3379, + 31.1198 + ], + "area": 1628.74498042, + "iscrowd": 0 + }, + { + "id": 4754, + "image_id": 940, + "category_id": 1, + "bbox": [ + 280.287, + 501.149, + 148.271, + 217.162 + ], + "area": 32198.826901999997, + "iscrowd": 0 + }, + { + "id": 4755, + "image_id": 940, + "category_id": 1, + "bbox": [ + 187.761, + 522.456, + 107.084, + 196.985 + ], + "area": 21093.941740000002, + "iscrowd": 0 + }, + { + "id": 4756, + "image_id": 940, + "category_id": 1, + "bbox": [ + 534.65, + 508.415, + 170.281, + 211.124 + ], + "area": 35950.405844, + "iscrowd": 0 + }, + { + "id": 4757, + "image_id": 940, + "category_id": 1, + "bbox": [ + 150.529, + 496.124, + 48.8062, + 43.8845 + ], + "area": 2141.8356839, + "iscrowd": 0 + }, + { + "id": 4758, + "image_id": 941, + "category_id": 1, + "bbox": [ + 332.137, + 492.988, + 167.909, + 226.502 + ], + "area": 38031.724318, + "iscrowd": 0 + }, + { + "id": 4759, + "image_id": 941, + "category_id": 1, + "bbox": [ + 158.079, + 533.258, + 122.562, + 185.324 + ], + "area": 22713.680088, + "iscrowd": 0 + }, + { + "id": 4760, + "image_id": 941, + "category_id": 1, + "bbox": [ + 538.323, + 513.321, + 204.585, + 205.703 + ], + "area": 42083.748255, + "iscrowd": 0 + }, + { + "id": 4761, + "image_id": 941, + "category_id": 1, + "bbox": [ + 133.278, + 500.352, + 56.5874, + 50.6308 + ], + "area": 2865.06533192, + "iscrowd": 0 + }, + { + "id": 4770, + "image_id": 944, + "category_id": 1, + "bbox": [ + 543.936, + 489.431, + 95.6289, + 229.448 + ], + "area": 21941.8598472, + "iscrowd": 0 + }, + { + "id": 4771, + "image_id": 944, + "category_id": 1, + "bbox": [ + 5.36061, + 571.603, + 140.969, + 147.006 + ], + "area": 20723.288814, + "iscrowd": 0 + }, + { + "id": 4772, + "image_id": 944, + "category_id": 1, + "bbox": [ + 748.01, + 553.602, + 221.061, + 165.376 + ], + "area": 36558.183936, + "iscrowd": 0 + }, + { + "id": 4773, + "image_id": 945, + "category_id": 1, + "bbox": [ + 606.983, + 481.752, + 76.0159, + 236.791 + ], + "area": 17999.8809769, + "iscrowd": 0 + }, + { + "id": 4774, + "image_id": 945, + "category_id": 1, + "bbox": [ + 964.562, + 581.097, + 161.971, + 136.666 + ], + "area": 22135.928686, + "iscrowd": 0 + }, + { + "id": 4775, + "image_id": 946, + "category_id": 1, + "bbox": [ + 671.831, + 484.241, + 95.0281, + 231.641 + ], + "area": 22012.404112099997, + "iscrowd": 0 + }, + { + "id": 4776, + "image_id": 946, + "category_id": 1, + "bbox": [ + 1200.14, + 605.853, + 79.3154, + 112.96 + ], + "area": 8959.467584, + "iscrowd": 0 + } + ], + "categories": [ + { + "id": 0, + "name": "2", + "supercategory": "" + }, + { + "id": 1, + "name": "1", + "supercategory": "" + } + ] +} \ No newline at end of file diff --git a/backend/backend/1/custom_exp_1/annotations/coco_project_1_valid.json b/backend/backend/1/custom_exp_1/annotations/coco_project_1_valid.json new file mode 100644 index 0000000..edbc79c --- /dev/null +++ b/backend/backend/1/custom_exp_1/annotations/coco_project_1_valid.json @@ -0,0 +1,6874 @@ +{ + "images": [ + { + "id": 241, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0009.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 861, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 52, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 190, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 225, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0003.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 124, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 456, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 472, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0000.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 857, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 802, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 605, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 786, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 81, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 310, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0035.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 539, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 74, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0027.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 347, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 534, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 161, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 484, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 362, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 849, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0023.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 502, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 821, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0055.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 551, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 410, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 860, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0034.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 385, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded4\\videorecorded4_0024.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 677, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded6\\videorecorded6_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 778, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 324, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 810, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded7\\videorecorded7_0044.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 186, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0028.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 942, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0054.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 51, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0020.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 33, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 140, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 258, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 143, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 13, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 105, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0049.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 159, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 943, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0055.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 527, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 96, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 593, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0036.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 663, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 196, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 610, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0042.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 552, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0022.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 239, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0008.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 287, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded3\\videorecorded3_0025.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 252, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0013.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 607, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 29, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 517, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 46, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded1\\videorecorded1_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 268, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded3\\videorecorded3_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 489, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 117, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0001.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 439, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0040.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 601, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0039.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 532, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0016.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 632, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 906, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0018.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 609, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0041.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 471, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded4\\videorecorded4_0060.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 768, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded7\\videorecorded7_0004.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 536, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 528, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 627, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0048.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 453, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded4\\videorecorded4_0047.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 139, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded2\\videorecorded2_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 541, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0019.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 574, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0030.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 877, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0051.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 914, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded9\\videorecorded9_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 690, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded6\\videorecorded6_0017.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 492, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0006.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 509, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 135, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0011.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 529, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded5\\videorecorded5_0015.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 491, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded5\\videorecorded5_0005.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 198, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0032.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 523, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded5\\videorecorded5_0014.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 595, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded5\\videorecorded5_0037.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 188, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded2\\videorecorded2_0029.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 833, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded8\\videorecorded8_0007.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 391, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_1\\videorecorded4\\videorecorded4_0026.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 244, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded3\\videorecorded3_0010.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 138, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_2\\videorecorded2\\videorecorded2_0012.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 4, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0002.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 82, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_3\\videorecorded1\\videorecorded1_0031.jpg", + "width": 1280.0, + "height": 720.0 + }, + { + "id": 50, + "file_name": "\\home\\kitraining\\To_Annotate/Baby\\RUN_4\\videorecorded1\\videorecorded1_0019.jpg", + "width": 1280.0, + "height": 720.0 + } + ], + "annotations": [ + { + "id": 15, + "image_id": 4, + "category_id": 1, + "bbox": [ + 27.7115, + 343.26, + 81.8527, + 252.999 + ], + "area": 20708.6512473, + "iscrowd": 0 + }, + { + "id": 16, + "image_id": 4, + "category_id": 1, + "bbox": [ + 74.9992, + 384.115, + 43.4039, + 52.9171 + ], + "area": 2296.80851669, + "iscrowd": 0 + }, + { + "id": 54, + "image_id": 13, + "category_id": 1, + "bbox": [ + 0.312161, + 374.369, + 92.0804, + 172.894 + ], + "area": 15920.1486776, + "iscrowd": 0 + }, + { + "id": 55, + "image_id": 13, + "category_id": 1, + "bbox": [ + 879.985, + 408.453, + 75.3706, + 127.77 + ], + "area": 9630.101562, + "iscrowd": 0 + }, + { + "id": 56, + "image_id": 13, + "category_id": 1, + "bbox": [ + 956.7, + 394.77, + 102.072, + 138.917 + ], + "area": 14179.536024, + "iscrowd": 0 + }, + { + "id": 57, + "image_id": 13, + "category_id": 1, + "bbox": [ + 1165.8, + 401.009, + 106.978, + 113.07 + ], + "area": 12096.002459999998, + "iscrowd": 0 + }, + { + "id": 58, + "image_id": 13, + "category_id": 1, + "bbox": [ + 1059.96, + 400.172, + 73.2463, + 190.874 + ], + "area": 13980.814266200001, + "iscrowd": 0 + }, + { + "id": 59, + "image_id": 13, + "category_id": 0, + "bbox": [ + 1020.27, + 442.309, + 51.6907, + 76.7816 + ], + "area": 3968.8946511199997, + "iscrowd": 0 + }, + { + "id": 123, + "image_id": 29, + "category_id": 1, + "bbox": [ + 225.307, + 201.53, + 88.8904, + 189.985 + ], + "area": 16887.842644, + "iscrowd": 0 + }, + { + "id": 124, + "image_id": 29, + "category_id": 0, + "bbox": [ + 262.179, + 222.455, + 39.7241, + 69.5172 + ], + "area": 2761.50820452, + "iscrowd": 0 + }, + { + "id": 138, + "image_id": 33, + "category_id": 1, + "bbox": [ + 705.35, + 386.074, + 126.051, + 331.956 + ], + "area": 41843.385756, + "iscrowd": 0 + }, + { + "id": 139, + "image_id": 33, + "category_id": 1, + "bbox": [ + 241.984, + 381.637, + 59.7715, + 159.938 + ], + "area": 9559.734167, + "iscrowd": 0 + }, + { + "id": 140, + "image_id": 33, + "category_id": 1, + "bbox": [ + 997.065, + 402.203, + 71.7612, + 130.654 + ], + "area": 9375.8878248, + "iscrowd": 0 + }, + { + "id": 141, + "image_id": 33, + "category_id": 0, + "bbox": [ + 1166.43, + 430.453, + 46.1958, + 76.4119 + ], + "area": 3529.90885002, + "iscrowd": 0 + }, + { + "id": 142, + "image_id": 33, + "category_id": 1, + "bbox": [ + 1190.47, + 405.262, + 76.4941, + 93.0953 + ], + "area": 7121.24118773, + "iscrowd": 0 + }, + { + "id": 143, + "image_id": 33, + "category_id": 0, + "bbox": [ + 758.834, + 443.623, + 72.6558, + 94.4025 + ], + "area": 6858.8891595000005, + "iscrowd": 0 + }, + { + "id": 144, + "image_id": 33, + "category_id": 0, + "bbox": [ + 1002.04, + 466.759, + 42.7034, + 67.531 + ], + "area": 2883.8033054, + "iscrowd": 0 + }, + { + "id": 226, + "image_id": 46, + "category_id": 1, + "bbox": [ + 605.405, + 192.729, + 93.6624, + 281.476 + ], + "area": 26363.7177024, + "iscrowd": 0 + }, + { + "id": 227, + "image_id": 46, + "category_id": 1, + "bbox": [ + 495.803, + 222.857, + 90.4244, + 215.357 + ], + "area": 19473.527510800002, + "iscrowd": 0 + }, + { + "id": 228, + "image_id": 46, + "category_id": 0, + "bbox": [ + 635.586, + 221.462, + 63.5586, + 82.4276 + ], + "area": 5238.98285736, + "iscrowd": 0 + }, + { + "id": 229, + "image_id": 46, + "category_id": 0, + "bbox": [ + 497.545, + 248.276, + 60.5793, + 68.5241 + ], + "area": 4151.14201113, + "iscrowd": 0 + }, + { + "id": 249, + "image_id": 50, + "category_id": 1, + "bbox": [ + 652.635, + 388.032, + 116.235, + 308.045 + ], + "area": 35805.610575, + "iscrowd": 0 + }, + { + "id": 250, + "image_id": 50, + "category_id": 1, + "bbox": [ + 479.37, + 358.83, + 184.785, + 357.602 + ], + "area": 66079.48556999999, + "iscrowd": 0 + }, + { + "id": 251, + "image_id": 50, + "category_id": 1, + "bbox": [ + 332.048, + 392.564, + 46.3192, + 129.48 + ], + "area": 5997.410016, + "iscrowd": 0 + }, + { + "id": 252, + "image_id": 50, + "category_id": 1, + "bbox": [ + 947.813, + 398.805, + 74.2678, + 100.947 + ], + "area": 7497.1116065999995, + "iscrowd": 0 + }, + { + "id": 253, + "image_id": 50, + "category_id": 1, + "bbox": [ + 1126.78, + 399.046, + 86.6489, + 122.375 + ], + "area": 10603.659137499999, + "iscrowd": 0 + }, + { + "id": 254, + "image_id": 50, + "category_id": 0, + "bbox": [ + 588.91, + 441.931, + 69.5172, + 144.993 + ], + "area": 10079.5073796, + "iscrowd": 0 + }, + { + "id": 255, + "image_id": 50, + "category_id": 0, + "bbox": [ + 667.366, + 475.697, + 41.7103, + 67.531 + ], + "area": 2816.7382693, + "iscrowd": 0 + }, + { + "id": 256, + "image_id": 50, + "category_id": 0, + "bbox": [ + 1076.52, + 456.828, + 60.5793, + 90.3724 + ], + "area": 5474.69673132, + "iscrowd": 0 + }, + { + "id": 257, + "image_id": 51, + "category_id": 1, + "bbox": [ + 520.885, + 392.365, + 132.435, + 324.643 + ], + "area": 42994.095705, + "iscrowd": 0 + }, + { + "id": 258, + "image_id": 51, + "category_id": 1, + "bbox": [ + 857.31, + 343.478, + 153.64, + 372.875 + ], + "area": 57288.51499999999, + "iscrowd": 0 + }, + { + "id": 259, + "image_id": 51, + "category_id": 1, + "bbox": [ + 644.219, + 383.465, + 116.547, + 332.947 + ], + "area": 38803.974009, + "iscrowd": 0 + }, + { + "id": 260, + "image_id": 51, + "category_id": 1, + "bbox": [ + 514.33, + 400.124, + 47.3253, + 122.776 + ], + "area": 5810.4110328, + "iscrowd": 0 + }, + { + "id": 261, + "image_id": 51, + "category_id": 1, + "bbox": [ + 398.495, + 400.946, + 54.5241, + 58.2438 + ], + "area": 3175.69077558, + "iscrowd": 0 + }, + { + "id": 262, + "image_id": 51, + "category_id": 1, + "bbox": [ + 290.395, + 381.674, + 58.4738, + 87.6224 + ], + "area": 5123.61469312, + "iscrowd": 0 + }, + { + "id": 263, + "image_id": 51, + "category_id": 0, + "bbox": [ + 651.476, + 457.821, + 70.5103, + 112.221 + ], + "area": 7912.7363763, + "iscrowd": 0 + }, + { + "id": 264, + "image_id": 51, + "category_id": 0, + "bbox": [ + 906.703, + 413.131, + 94.3448, + 106.262 + ], + "area": 10025.2671376, + "iscrowd": 0 + }, + { + "id": 265, + "image_id": 51, + "category_id": 0, + "bbox": [ + 415.117, + 421.076, + 31.7793, + 35.7517 + ], + "area": 1136.16399981, + "iscrowd": 0 + }, + { + "id": 266, + "image_id": 52, + "category_id": 1, + "bbox": [ + 658.238, + 208.838, + 113.355, + 327.838 + ], + "area": 37162.07649000001, + "iscrowd": 0 + }, + { + "id": 267, + "image_id": 52, + "category_id": 1, + "bbox": [ + 567.016, + 234.411, + 94.9932, + 238.338 + ], + "area": 22640.4893016, + "iscrowd": 0 + }, + { + "id": 268, + "image_id": 52, + "category_id": 0, + "bbox": [ + 694.229, + 249.841, + 67.0501, + 91.398 + ], + "area": 6128.2450398, + "iscrowd": 0 + }, + { + "id": 269, + "image_id": 52, + "category_id": 0, + "bbox": [ + 568.217, + 262.939, + 55.1242, + 72.6689 + ], + "area": 4005.8149773799996, + "iscrowd": 0 + }, + { + "id": 405, + "image_id": 74, + "category_id": 1, + "bbox": [ + 370.119, + 320.725, + 270.113, + 394.991 + ], + "area": 106692.203983, + "iscrowd": 0 + }, + { + "id": 406, + "image_id": 74, + "category_id": 0, + "bbox": [ + 585.79, + 472.167, + 123.581, + 228.768 + ], + "area": 28271.378208000002, + "iscrowd": 0 + }, + { + "id": 407, + "image_id": 74, + "category_id": 1, + "bbox": [ + 843.175, + 388.547, + 112.33, + 166.887 + ], + "area": 18746.41671, + "iscrowd": 0 + }, + { + "id": 408, + "image_id": 74, + "category_id": 1, + "bbox": [ + 699.354, + 379.125, + 69.8103, + 317.548 + ], + "area": 22168.1211444, + "iscrowd": 0 + }, + { + "id": 409, + "image_id": 74, + "category_id": 0, + "bbox": [ + 620.762, + 415.128, + 49.7251, + 72.4223 + ], + "area": 3601.20610973, + "iscrowd": 0 + }, + { + "id": 410, + "image_id": 74, + "category_id": 1, + "bbox": [ + 658.324, + 386.331, + 80.6874, + 331.794 + ], + "area": 26771.5951956, + "iscrowd": 0 + }, + { + "id": 411, + "image_id": 74, + "category_id": 1, + "bbox": [ + 357.241, + 414.075, + 64.0055, + 105.75 + ], + "area": 6768.581625, + "iscrowd": 0 + }, + { + "id": 412, + "image_id": 74, + "category_id": 0, + "bbox": [ + 705.616, + 457.118, + 60.1578, + 100.538 + ], + "area": 6048.1448964, + "iscrowd": 0 + }, + { + "id": 446, + "image_id": 81, + "category_id": 1, + "bbox": [ + 431.691, + 297.279, + 308.369, + 416.96 + ], + "area": 128577.53824000001, + "iscrowd": 0 + }, + { + "id": 447, + "image_id": 81, + "category_id": 1, + "bbox": [ + 719.196, + 380.881, + 112.801, + 191.296 + ], + "area": 21578.380096, + "iscrowd": 0 + }, + { + "id": 448, + "image_id": 81, + "category_id": 1, + "bbox": [ + 1035.62, + 407.314, + 87.8813, + 139.802 + ], + "area": 12285.9815026, + "iscrowd": 0 + }, + { + "id": 449, + "image_id": 81, + "category_id": 1, + "bbox": [ + 330.488, + 431.857, + 57.4668, + 43.2498 + ], + "area": 2485.42760664, + "iscrowd": 0 + }, + { + "id": 450, + "image_id": 81, + "category_id": 0, + "bbox": [ + 664.256, + 550.271, + 184.91, + 168.253 + ], + "area": 31111.662229999998, + "iscrowd": 0 + }, + { + "id": 451, + "image_id": 81, + "category_id": 1, + "bbox": [ + 394.746, + 349.829, + 115.405, + 169.444 + ], + "area": 19554.68482, + "iscrowd": 0 + }, + { + "id": 452, + "image_id": 81, + "category_id": 1, + "bbox": [ + 631.635, + 379.417, + 25.8373, + 51.9865 + ], + "area": 1343.1907964499999, + "iscrowd": 0 + }, + { + "id": 453, + "image_id": 81, + "category_id": 0, + "bbox": [ + 350.566, + 508.469, + 95.3379, + 144.0 + ], + "area": 13728.6576, + "iscrowd": 0 + }, + { + "id": 454, + "image_id": 82, + "category_id": 1, + "bbox": [ + 291.229, + 280.172, + 241.913, + 436.274 + ], + "area": 105540.35216200001, + "iscrowd": 0 + }, + { + "id": 455, + "image_id": 82, + "category_id": 1, + "bbox": [ + 769.933, + 423.999, + 260.866, + 292.701 + ], + "area": 76355.739066, + "iscrowd": 0 + }, + { + "id": 456, + "image_id": 82, + "category_id": 1, + "bbox": [ + 499.411, + 430.815, + 198.48, + 285.581 + ], + "area": 56682.11688, + "iscrowd": 0 + }, + { + "id": 457, + "image_id": 82, + "category_id": 0, + "bbox": [ + 816.138, + 530.532, + 190.204, + 188.336 + ], + "area": 35822.260544000004, + "iscrowd": 0 + }, + { + "id": 458, + "image_id": 82, + "category_id": 0, + "bbox": [ + 493.572, + 465.766, + 116.193, + 196.634 + ], + "area": 22847.494361999998, + "iscrowd": 0 + }, + { + "id": 535, + "image_id": 96, + "category_id": 1, + "bbox": [ + 58.7224, + 367.797, + 231.414, + 349.227 + ], + "area": 80816.01697799999, + "iscrowd": 0 + }, + { + "id": 536, + "image_id": 96, + "category_id": 1, + "bbox": [ + 406.899, + 337.469, + 204.957, + 382.531 + ], + "area": 78402.406167, + "iscrowd": 0 + }, + { + "id": 537, + "image_id": 96, + "category_id": 1, + "bbox": [ + 315.468, + 330.99, + 157.907, + 389.01 + ], + "area": 61427.402070000004, + "iscrowd": 0 + }, + { + "id": 538, + "image_id": 96, + "category_id": 1, + "bbox": [ + 1094.31, + 318.641, + 184.953, + 306.337 + ], + "area": 56657.947161, + "iscrowd": 0 + }, + { + "id": 539, + "image_id": 96, + "category_id": 0, + "bbox": [ + 387.288, + 437.877, + 118.365, + 228.231 + ], + "area": 27014.562315, + "iscrowd": 0 + }, + { + "id": 540, + "image_id": 96, + "category_id": 1, + "bbox": [ + 324.406, + 433.047, + 30.6005, + 40.5889 + ], + "area": 1242.0406344500002, + "iscrowd": 0 + }, + { + "id": 568, + "image_id": 105, + "category_id": 1, + "bbox": [ + 747.599, + 279.402, + 341.162, + 434.99 + ], + "area": 148402.05838, + "iscrowd": 0 + }, + { + "id": 569, + "image_id": 105, + "category_id": 0, + "bbox": [ + 980.07, + 527.71, + 216.127, + 190.175 + ], + "area": 41101.952225, + "iscrowd": 0 + }, + { + "id": 570, + "image_id": 105, + "category_id": 1, + "bbox": [ + 324.646, + 432.936, + 33.7676, + 42.4381 + ], + "area": 1433.03278556, + "iscrowd": 0 + }, + { + "id": 599, + "image_id": 117, + "category_id": 1, + "bbox": [ + 592.72, + 396.733, + 138.429, + 321.441 + ], + "area": 44496.756189, + "iscrowd": 0 + }, + { + "id": 600, + "image_id": 117, + "category_id": 1, + "bbox": [ + 732.106, + 390.57, + 110.209, + 299.672 + ], + "area": 33026.551448000006, + "iscrowd": 0 + }, + { + "id": 601, + "image_id": 117, + "category_id": 1, + "bbox": [ + 922.442, + 388.206, + 71.4624, + 153.085 + ], + "area": 10939.821504000001, + "iscrowd": 0 + }, + { + "id": 602, + "image_id": 117, + "category_id": 1, + "bbox": [ + 324.798, + 433.657, + 34.1238, + 41.522 + ], + "area": 1416.8884236000001, + "iscrowd": 0 + }, + { + "id": 603, + "image_id": 117, + "category_id": 1, + "bbox": [ + 974.385, + 405.246, + 51.4424, + 121.88 + ], + "area": 6269.799712, + "iscrowd": 0 + }, + { + "id": 604, + "image_id": 117, + "category_id": 0, + "bbox": [ + 643.531, + 426.041, + 87.3931, + 121.159 + ], + "area": 10588.4606029, + "iscrowd": 0 + }, + { + "id": 605, + "image_id": 117, + "category_id": 0, + "bbox": [ + 734.897, + 411.145, + 64.7396, + 86.0915 + ], + "area": 5573.5292733999995, + "iscrowd": 0 + }, + { + "id": 606, + "image_id": 117, + "category_id": 0, + "bbox": [ + 1111.28, + 479.669, + 93.3517, + 46.6759 + ], + "area": 4357.27461403, + "iscrowd": 0 + }, + { + "id": 607, + "image_id": 117, + "category_id": 1, + "bbox": [ + 1198.68, + 403.2, + 69.5172, + 146.979 + ], + "area": 10217.568538800002, + "iscrowd": 0 + }, + { + "id": 608, + "image_id": 117, + "category_id": 1, + "bbox": [ + 1186.76, + 399.228, + 31.7793, + 49.6552 + ], + "area": 1578.00749736, + "iscrowd": 0 + }, + { + "id": 649, + "image_id": 124, + "category_id": 1, + "bbox": [ + 545.392, + 370.611, + 269.577, + 345.41 + ], + "area": 93114.59157, + "iscrowd": 0 + }, + { + "id": 650, + "image_id": 124, + "category_id": 1, + "bbox": [ + 1176.17, + 398.296, + 83.3447, + 124.348 + ], + "area": 10363.746755600001, + "iscrowd": 0 + }, + { + "id": 651, + "image_id": 124, + "category_id": 1, + "bbox": [ + 324.732, + 433.754, + 31.0556, + 41.0579 + ], + "area": 1275.0777192399999, + "iscrowd": 0 + }, + { + "id": 652, + "image_id": 124, + "category_id": 1, + "bbox": [ + 805.529, + 398.049, + 62.3411, + 189.005 + ], + "area": 11782.7796055, + "iscrowd": 0 + }, + { + "id": 653, + "image_id": 124, + "category_id": 1, + "bbox": [ + 746.672, + 380.389, + 75.2592, + 192.435 + ], + "area": 14482.504152000001, + "iscrowd": 0 + }, + { + "id": 654, + "image_id": 124, + "category_id": 1, + "bbox": [ + 1123.99, + 400.948, + 76.0223, + 123.943 + ], + "area": 9422.4319289, + "iscrowd": 0 + }, + { + "id": 655, + "image_id": 124, + "category_id": 0, + "bbox": [ + 649.49, + 437.959, + 123.145, + 183.724 + ], + "area": 22624.69198, + "iscrowd": 0 + }, + { + "id": 656, + "image_id": 124, + "category_id": 0, + "bbox": [ + 1031.83, + 471.724, + 111.228, + 54.6207 + ], + "area": 6075.351219599999, + "iscrowd": 0 + }, + { + "id": 712, + "image_id": 135, + "category_id": 1, + "bbox": [ + 44.8387, + 246.65, + 83.9106, + 91.8571 + ], + "area": 7707.78437526, + "iscrowd": 0 + }, + { + "id": 713, + "image_id": 135, + "category_id": 0, + "bbox": [ + 93.3517, + 270.124, + 44.6897, + 63.5586 + ], + "area": 2840.41476642, + "iscrowd": 0 + }, + { + "id": 728, + "image_id": 138, + "category_id": 1, + "bbox": [ + 0.102837, + 275.471, + 59.1887, + 208.247 + ], + "area": 12325.8692089, + "iscrowd": 0 + }, + { + "id": 729, + "image_id": 138, + "category_id": 0, + "bbox": [ + 0.0, + 285.021, + 33.7655, + 61.5724 + ], + "area": 2079.0228722, + "iscrowd": 0 + }, + { + "id": 730, + "image_id": 138, + "category_id": 0, + "bbox": [ + 147.972, + 273.103, + 32.7724, + 32.7724 + ], + "area": 1074.0302017599997, + "iscrowd": 0 + }, + { + "id": 731, + "image_id": 139, + "category_id": 1, + "bbox": [ + 515.335, + 352.497, + 205.412, + 363.876 + ], + "area": 74744.496912, + "iscrowd": 0 + }, + { + "id": 732, + "image_id": 139, + "category_id": 1, + "bbox": [ + 933.272, + 330.483, + 322.071, + 383.409 + ], + "area": 123484.920039, + "iscrowd": 0 + }, + { + "id": 733, + "image_id": 139, + "category_id": 1, + "bbox": [ + 672.249, + 380.211, + 87.011, + 337.552 + ], + "area": 29370.737072, + "iscrowd": 0 + }, + { + "id": 734, + "image_id": 139, + "category_id": 1, + "bbox": [ + 324.326, + 433.619, + 33.608, + 41.788 + ], + "area": 1404.4111039999998, + "iscrowd": 0 + }, + { + "id": 735, + "image_id": 139, + "category_id": 0, + "bbox": [ + 844.138, + 464.772, + 61.5724, + 106.262 + ], + "area": 6542.8063688, + "iscrowd": 0 + }, + { + "id": 736, + "image_id": 139, + "category_id": 0, + "bbox": [ + 1171.86, + 438.952, + 101.297, + 139.034 + ], + "area": 14083.727098, + "iscrowd": 0 + }, + { + "id": 737, + "image_id": 140, + "category_id": 1, + "bbox": [ + 510.213, + 390.047, + 58.9606, + 222.378 + ], + "area": 13111.5403068, + "iscrowd": 0 + }, + { + "id": 738, + "image_id": 140, + "category_id": 1, + "bbox": [ + 413.319, + 355.295, + 73.2501, + 242.495 + ], + "area": 17762.782999500003, + "iscrowd": 0 + }, + { + "id": 739, + "image_id": 140, + "category_id": 1, + "bbox": [ + 281.689, + 376.762, + 62.5347, + 91.4915 + ], + "area": 5721.39350505, + "iscrowd": 0 + }, + { + "id": 740, + "image_id": 140, + "category_id": 1, + "bbox": [ + 148.419, + 390.364, + 78.8668, + 79.2253 + ], + "area": 6248.24589004, + "iscrowd": 0 + }, + { + "id": 741, + "image_id": 140, + "category_id": 1, + "bbox": [ + 0.0984311, + 343.241, + 49.8943, + 263.478 + ], + "area": 13146.0503754, + "iscrowd": 0 + }, + { + "id": 742, + "image_id": 140, + "category_id": 0, + "bbox": [ + 306.839, + 432.279, + 35.017, + 36.037 + ], + "area": 1261.907629, + "iscrowd": 0 + }, + { + "id": 743, + "image_id": 140, + "category_id": 0, + "bbox": [ + 516.517, + 422.969, + 43.2882, + 68.139 + ], + "area": 2949.6146598, + "iscrowd": 0 + }, + { + "id": 744, + "image_id": 140, + "category_id": 0, + "bbox": [ + 65.1958, + 387.697, + 32.4662, + 54.912 + ], + "area": 1782.7839744, + "iscrowd": 0 + }, + { + "id": 745, + "image_id": 140, + "category_id": 0, + "bbox": [ + 193.562, + 416.257, + 26.9238, + 31.6751 + ], + "area": 852.81405738, + "iscrowd": 0 + }, + { + "id": 755, + "image_id": 143, + "category_id": 1, + "bbox": [ + 462.524, + 357.061, + 81.1984, + 249.865 + ], + "area": 20288.638216000003, + "iscrowd": 0 + }, + { + "id": 756, + "image_id": 143, + "category_id": 1, + "bbox": [ + 548.904, + 392.535, + 88.1689, + 226.814 + ], + "area": 19997.940884599997, + "iscrowd": 0 + }, + { + "id": 757, + "image_id": 143, + "category_id": 1, + "bbox": [ + 197.144, + 393.526, + 83.9811, + 186.624 + ], + "area": 15672.888806399998, + "iscrowd": 0 + }, + { + "id": 758, + "image_id": 143, + "category_id": 1, + "bbox": [ + 32.0818, + 342.667, + 64.4875, + 99.4125 + ], + "area": 6410.863593749999, + "iscrowd": 0 + }, + { + "id": 759, + "image_id": 143, + "category_id": 1, + "bbox": [ + 363.051, + 381.658, + 39.3228, + 86.0564 + ], + "area": 3383.97860592, + "iscrowd": 0 + }, + { + "id": 760, + "image_id": 143, + "category_id": 0, + "bbox": [ + 562.097, + 421.076, + 54.6207, + 73.4897 + ], + "area": 4014.05885679, + "iscrowd": 0 + }, + { + "id": 761, + "image_id": 143, + "category_id": 0, + "bbox": [ + 251.73, + 422.685, + 31.2702, + 41.3839 + ], + "area": 1294.0828297799999, + "iscrowd": 0 + }, + { + "id": 762, + "image_id": 143, + "category_id": 0, + "bbox": [ + 372.209, + 423.555, + 29.922, + 36.9528 + ], + "area": 1105.7016816, + "iscrowd": 0 + }, + { + "id": 862, + "image_id": 159, + "category_id": 1, + "bbox": [ + 524.172, + 224.213, + 78.8806, + 208.309 + ], + "area": 16431.5389054, + "iscrowd": 0 + }, + { + "id": 863, + "image_id": 159, + "category_id": 1, + "bbox": [ + 247.34, + 249.871, + 97.0296, + 173.317 + ], + "area": 16816.879183200002, + "iscrowd": 0 + }, + { + "id": 864, + "image_id": 159, + "category_id": 1, + "bbox": [ + 419.816, + 216.976, + 38.942, + 112.17 + ], + "area": 4368.12414, + "iscrowd": 0 + }, + { + "id": 865, + "image_id": 159, + "category_id": 1, + "bbox": [ + 0.243959, + 201.259, + 95.1835, + 142.685 + ], + "area": 13581.2576975, + "iscrowd": 0 + }, + { + "id": 866, + "image_id": 159, + "category_id": 0, + "bbox": [ + 547.2, + 257.214, + 41.7103, + 56.6069 + ], + "area": 2361.09078107, + "iscrowd": 0 + }, + { + "id": 867, + "image_id": 159, + "category_id": 0, + "bbox": [ + 424.055, + 244.303, + 35.7517, + 83.4207 + ], + "area": 2982.43184019, + "iscrowd": 0 + }, + { + "id": 868, + "image_id": 159, + "category_id": 1, + "bbox": [ + 113.214, + 246.29, + 60.5793, + 194.648 + ], + "area": 11791.6395864, + "iscrowd": 0 + }, + { + "id": 869, + "image_id": 159, + "category_id": 0, + "bbox": [ + 2.20513e-15, + 199.614, + 45.6828, + 64.5517 + ], + "area": 2948.90240076, + "iscrowd": 0 + }, + { + "id": 876, + "image_id": 161, + "category_id": 1, + "bbox": [ + 631.473, + 342.536, + 134.002, + 372.698 + ], + "area": 49942.277396, + "iscrowd": 0 + }, + { + "id": 877, + "image_id": 161, + "category_id": 1, + "bbox": [ + 764.032, + 397.065, + 126.867, + 320.885 + ], + "area": 40709.717295, + "iscrowd": 0 + }, + { + "id": 878, + "image_id": 161, + "category_id": 1, + "bbox": [ + 445.561, + 406.055, + 81.7112, + 210.524 + ], + "area": 17202.1686688, + "iscrowd": 0 + }, + { + "id": 879, + "image_id": 161, + "category_id": 1, + "bbox": [ + 559.479, + 385.516, + 94.4128, + 284.521 + ], + "area": 26862.4242688, + "iscrowd": 0 + }, + { + "id": 880, + "image_id": 161, + "category_id": 1, + "bbox": [ + 409.498, + 355.687, + 76.1098, + 249.234 + ], + "area": 18969.149893200003, + "iscrowd": 0 + }, + { + "id": 881, + "image_id": 161, + "category_id": 1, + "bbox": [ + 555.047, + 402.235, + 43.7065, + 167.556 + ], + "area": 7323.286314, + "iscrowd": 0 + }, + { + "id": 882, + "image_id": 161, + "category_id": 0, + "bbox": [ + 774.621, + 445.903, + 76.469, + 107.255 + ], + "area": 8201.682594999998, + "iscrowd": 0 + }, + { + "id": 883, + "image_id": 161, + "category_id": 0, + "bbox": [ + 608.172, + 442.082, + 31.0803, + 67.7477 + ], + "area": 2105.61884031, + "iscrowd": 0 + }, + { + "id": 884, + "image_id": 161, + "category_id": 0, + "bbox": [ + 472.344, + 442.66, + 49.68, + 67.4003 + ], + "area": 3348.446904, + "iscrowd": 0 + }, + { + "id": 1054, + "image_id": 186, + "category_id": 1, + "bbox": [ + 572.886, + 263.817, + 117.952, + 291.237 + ], + "area": 34351.986624000005, + "iscrowd": 0 + }, + { + "id": 1055, + "image_id": 186, + "category_id": 1, + "bbox": [ + 805.117, + 285.175, + 143.988, + 369.377 + ], + "area": 53185.855476000004, + "iscrowd": 0 + }, + { + "id": 1056, + "image_id": 186, + "category_id": 1, + "bbox": [ + 703.559, + 238.834, + 112.699, + 349.075 + ], + "area": 39340.403425, + "iscrowd": 0 + }, + { + "id": 1057, + "image_id": 186, + "category_id": 1, + "bbox": [ + 508.081, + 171.371, + 81.1007, + 260.47 + ], + "area": 21124.299329, + "iscrowd": 0 + }, + { + "id": 1058, + "image_id": 186, + "category_id": 1, + "bbox": [ + 647.31, + 242.08, + 69.8379, + 243.026 + ], + "area": 16972.425485400003, + "iscrowd": 0 + }, + { + "id": 1059, + "image_id": 186, + "category_id": 1, + "bbox": [ + 357.196, + 186.318, + 54.4557, + 148.135 + ], + "area": 8066.7951195, + "iscrowd": 0 + }, + { + "id": 1060, + "image_id": 186, + "category_id": 0, + "bbox": [ + 714.342, + 297.053, + 59.4106, + 108.919 + ], + "area": 6470.9431414, + "iscrowd": 0 + }, + { + "id": 1061, + "image_id": 186, + "category_id": 0, + "bbox": [ + 510.648, + 165.501, + 31.1198, + 62.2397 + ], + "area": 1936.88701606, + "iscrowd": 0 + }, + { + "id": 1062, + "image_id": 186, + "category_id": 0, + "bbox": [ + 657.76, + 292.809, + 66.4833, + 69.3124 + ], + "area": 4608.11708292, + "iscrowd": 0 + }, + { + "id": 1063, + "image_id": 186, + "category_id": 0, + "bbox": [ + 810.762, + 355.874, + 57.3991, + 104.753 + ], + "area": 6012.7279223, + "iscrowd": 0 + }, + { + "id": 1068, + "image_id": 188, + "category_id": 1, + "bbox": [ + 890.855, + 433.158, + 245.874, + 282.836 + ], + "area": 69542.018664, + "iscrowd": 0 + }, + { + "id": 1069, + "image_id": 188, + "category_id": 1, + "bbox": [ + 364.252, + 377.686, + 512.166, + 338.066 + ], + "area": 173145.910956, + "iscrowd": 0 + }, + { + "id": 1070, + "image_id": 188, + "category_id": 0, + "bbox": [ + 924.626, + 546.401, + 163.906, + 172.674 + ], + "area": 28302.304644000003, + "iscrowd": 0 + }, + { + "id": 1071, + "image_id": 188, + "category_id": 1, + "bbox": [ + 389.297, + 511.448, + 83.4207, + 134.069 + ], + "area": 11184.129828299998, + "iscrowd": 0 + }, + { + "id": 1072, + "image_id": 188, + "category_id": 1, + "bbox": [ + 716.028, + 293.959, + 78.4552, + 84.4138 + ], + "area": 6622.70156176, + "iscrowd": 0 + }, + { + "id": 1082, + "image_id": 190, + "category_id": 1, + "bbox": [ + 983.497, + 302.348, + 295.884, + 411.935 + ], + "area": 121884.97554, + "iscrowd": 0 + }, + { + "id": 1083, + "image_id": 190, + "category_id": 1, + "bbox": [ + 344.136, + 317.108, + 274.727, + 399.92 + ], + "area": 109868.82183999999, + "iscrowd": 0 + }, + { + "id": 1084, + "image_id": 190, + "category_id": 1, + "bbox": [ + 323.631, + 433.32, + 34.4553, + 41.4602 + ], + "area": 1428.52362906, + "iscrowd": 0 + }, + { + "id": 1085, + "image_id": 190, + "category_id": 0, + "bbox": [ + 364.469, + 487.614, + 185.71, + 205.572 + ], + "area": 38176.77612, + "iscrowd": 0 + }, + { + "id": 1116, + "image_id": 196, + "category_id": 1, + "bbox": [ + 476.834, + 305.1, + 339.245, + 410.487 + ], + "area": 139255.66231500002, + "iscrowd": 0 + }, + { + "id": 1117, + "image_id": 196, + "category_id": 1, + "bbox": [ + 324.242, + 433.523, + 33.6916, + 41.603 + ], + "area": 1401.6716348, + "iscrowd": 0 + }, + { + "id": 1118, + "image_id": 196, + "category_id": 0, + "bbox": [ + 633.6, + 546.207, + 191.669, + 173.793 + ], + "area": 33310.730517, + "iscrowd": 0 + }, + { + "id": 1122, + "image_id": 198, + "category_id": 1, + "bbox": [ + 567.005, + 180.785, + 112.013, + 218.271 + ], + "area": 24449.189523, + "iscrowd": 0 + }, + { + "id": 1123, + "image_id": 198, + "category_id": 1, + "bbox": [ + 538.368, + 331.508, + 138.176, + 384.765 + ], + "area": 53165.28863999999, + "iscrowd": 0 + }, + { + "id": 1124, + "image_id": 198, + "category_id": 1, + "bbox": [ + 723.674, + 178.367, + 109.813, + 182.317 + ], + "area": 20020.776721000002, + "iscrowd": 0 + }, + { + "id": 1125, + "image_id": 198, + "category_id": 1, + "bbox": [ + 623.636, + 391.783, + 159.889, + 324.727 + ], + "area": 51920.275303, + "iscrowd": 0 + }, + { + "id": 1126, + "image_id": 198, + "category_id": 1, + "bbox": [ + 752.879, + 314.314, + 169.902, + 401.411 + ], + "area": 68200.531722, + "iscrowd": 0 + }, + { + "id": 1127, + "image_id": 198, + "category_id": 1, + "bbox": [ + 716.164, + 298.692, + 89.3737, + 152.336 + ], + "area": 13614.8319632, + "iscrowd": 0 + }, + { + "id": 1128, + "image_id": 198, + "category_id": 0, + "bbox": [ + 837.186, + 414.124, + 117.186, + 168.828 + ], + "area": 19784.278008, + "iscrowd": 0 + }, + { + "id": 1129, + "image_id": 198, + "category_id": 0, + "bbox": [ + 564.083, + 458.814, + 106.262, + 161.876 + ], + "area": 17201.267512000002, + "iscrowd": 0 + }, + { + "id": 1130, + "image_id": 198, + "category_id": 0, + "bbox": [ + 730.924, + 162.869, + 51.6414, + 58.5931 + ], + "area": 3025.82971434, + "iscrowd": 0 + }, + { + "id": 1235, + "image_id": 225, + "category_id": 1, + "bbox": [ + 695.868, + 390.649, + 88.1672, + 313.099 + ], + "area": 27605.062152799997, + "iscrowd": 0 + }, + { + "id": 1236, + "image_id": 225, + "category_id": 1, + "bbox": [ + 1135.78, + 389.82, + 81.5024, + 131.422 + ], + "area": 10711.208412799999, + "iscrowd": 0 + }, + { + "id": 1237, + "image_id": 225, + "category_id": 1, + "bbox": [ + 1032.18, + 395.28, + 62.002, + 144.992 + ], + "area": 8989.793984, + "iscrowd": 0 + }, + { + "id": 1238, + "image_id": 225, + "category_id": 1, + "bbox": [ + 320.106, + 433.304, + 39.0695, + 41.3254 + ], + "area": 1614.5627153, + "iscrowd": 0 + }, + { + "id": 1239, + "image_id": 225, + "category_id": 1, + "bbox": [ + 865.881, + 406.281, + 120.789, + 129.329 + ], + "area": 15621.520581, + "iscrowd": 0 + }, + { + "id": 1240, + "image_id": 225, + "category_id": 1, + "bbox": [ + 834.68, + 386.58, + 89.7255, + 128.272 + ], + "area": 11509.269336, + "iscrowd": 0 + }, + { + "id": 1241, + "image_id": 225, + "category_id": 0, + "bbox": [ + 825.264, + 425.518, + 54.2052, + 83.717 + ], + "area": 4537.8967284, + "iscrowd": 0 + }, + { + "id": 1242, + "image_id": 225, + "category_id": 0, + "bbox": [ + 884.89, + 446.899, + 39.7502, + 40.0517 + ], + "area": 1592.0630853399998, + "iscrowd": 0 + }, + { + "id": 1243, + "image_id": 225, + "category_id": 1, + "bbox": [ + 924.428, + 388.266, + 31.3603, + 29.6848 + ], + "area": 930.92423344, + "iscrowd": 0 + }, + { + "id": 1304, + "image_id": 239, + "category_id": 1, + "bbox": [ + 5.87221, + 344.972, + 74.2975, + 107.402 + ], + "area": 7979.700095, + "iscrowd": 0 + }, + { + "id": 1305, + "image_id": 239, + "category_id": 1, + "bbox": [ + 373.915, + 377.906, + 76.615, + 87.2057 + ], + "area": 6681.264705499999, + "iscrowd": 0 + }, + { + "id": 1306, + "image_id": 239, + "category_id": 1, + "bbox": [ + 253.133, + 393.652, + 62.9058, + 165.042 + ], + "area": 10382.0990436, + "iscrowd": 0 + }, + { + "id": 1307, + "image_id": 239, + "category_id": 0, + "bbox": [ + 412.293, + 418.479, + 38.5558, + 34.6157 + ], + "area": 1334.6360060599998, + "iscrowd": 0 + }, + { + "id": 1308, + "image_id": 239, + "category_id": 1, + "bbox": [ + 136.774, + 395.12, + 39.6815, + 54.0343 + ], + "area": 2144.16207545, + "iscrowd": 0 + }, + { + "id": 1319, + "image_id": 241, + "category_id": 1, + "bbox": [ + 1090.84, + 437.876, + 79.938, + 112.535 + ], + "area": 8995.82283, + "iscrowd": 0 + }, + { + "id": 1320, + "image_id": 241, + "category_id": 0, + "bbox": [ + 1147.3, + 462.399, + 24.18, + 45.0981 + ], + "area": 1090.472058, + "iscrowd": 0 + }, + { + "id": 1337, + "image_id": 244, + "category_id": 1, + "bbox": [ + 1133.48, + 434.628, + 69.0503, + 87.7536 + ], + "area": 6059.4124060799995, + "iscrowd": 0 + }, + { + "id": 1384, + "image_id": 252, + "category_id": 1, + "bbox": [ + 1252.24, + 443.044, + 27.7641, + 57.5113 + ], + "area": 1596.7494843299999, + "iscrowd": 0 + }, + { + "id": 1385, + "image_id": 252, + "category_id": 0, + "bbox": [ + 1262.13, + 499.41, + 17.8735, + 86.8733 + ], + "area": 1552.72992755, + "iscrowd": 0 + }, + { + "id": 1422, + "image_id": 258, + "category_id": 1, + "bbox": [ + 520.923, + 347.244, + 183.648, + 372.756 + ], + "area": 68455.89388799999, + "iscrowd": 0 + }, + { + "id": 1423, + "image_id": 258, + "category_id": 1, + "bbox": [ + 671.687, + 399.56, + 140.602, + 320.44 + ], + "area": 45054.50488, + "iscrowd": 0 + }, + { + "id": 1424, + "image_id": 258, + "category_id": 1, + "bbox": [ + 782.943, + 382.927, + 84.0164, + 318.612 + ], + "area": 26768.633236800004, + "iscrowd": 0 + }, + { + "id": 1425, + "image_id": 258, + "category_id": 1, + "bbox": [ + 323.769, + 435.144, + 58.9343, + 84.1541 + ], + "area": 4959.56297563, + "iscrowd": 0 + }, + { + "id": 1426, + "image_id": 258, + "category_id": 0, + "bbox": [ + 706.766, + 458.721, + 92.7512, + 134.488 + ], + "area": 12473.9233856, + "iscrowd": 0 + }, + { + "id": 1427, + "image_id": 258, + "category_id": 1, + "bbox": [ + 687.105, + 383.33, + 75.6584, + 77.113 + ], + "area": 5834.2461992, + "iscrowd": 0 + }, + { + "id": 1428, + "image_id": 258, + "category_id": 1, + "bbox": [ + 499.899, + 420.19, + 156.167, + 88.2668 + ], + "area": 13784.3613556, + "iscrowd": 0 + }, + { + "id": 1483, + "image_id": 268, + "category_id": 1, + "bbox": [ + 411.631, + 407.672, + 236.385, + 308.33 + ], + "area": 72884.58704999999, + "iscrowd": 0 + }, + { + "id": 1484, + "image_id": 268, + "category_id": 1, + "bbox": [ + 647.377, + 376.205, + 178.826, + 338.367 + ], + "area": 60508.817142, + "iscrowd": 0 + }, + { + "id": 1485, + "image_id": 268, + "category_id": 1, + "bbox": [ + 572.956, + 417.49, + 86.8813, + 300.157 + ], + "area": 26078.030364099995, + "iscrowd": 0 + }, + { + "id": 1486, + "image_id": 268, + "category_id": 1, + "bbox": [ + 602.291, + 343.865, + 84.3042, + 135.013 + ], + "area": 11382.1629546, + "iscrowd": 0 + }, + { + "id": 1487, + "image_id": 268, + "category_id": 1, + "bbox": [ + 433.667, + 391.004, + 44.2247, + 88.7533 + ], + "area": 3925.08806651, + "iscrowd": 0 + }, + { + "id": 1488, + "image_id": 268, + "category_id": 0, + "bbox": [ + 623.115, + 471.152, + 192.442, + 145.991 + ], + "area": 28094.800022000003, + "iscrowd": 0 + }, + { + "id": 1489, + "image_id": 268, + "category_id": 0, + "bbox": [ + 639.276, + 390.414, + 47.123, + 66.5478 + ], + "area": 3135.9319794, + "iscrowd": 0 + }, + { + "id": 1611, + "image_id": 287, + "category_id": 1, + "bbox": [ + 1113.44, + 364.857, + 165.893, + 348.105 + ], + "area": 57748.182765000005, + "iscrowd": 0 + }, + { + "id": 1612, + "image_id": 287, + "category_id": 1, + "bbox": [ + 494.701, + 304.744, + 342.249, + 409.61 + ], + "area": 140188.61289000002, + "iscrowd": 0 + }, + { + "id": 1613, + "image_id": 287, + "category_id": 1, + "bbox": [ + 305.828, + 320.729, + 182.818, + 394.893 + ], + "area": 72193.548474, + "iscrowd": 0 + }, + { + "id": 1614, + "image_id": 287, + "category_id": 0, + "bbox": [ + 743.988, + 596.365, + 181.204, + 122.221 + ], + "area": 22146.934084, + "iscrowd": 0 + }, + { + "id": 1615, + "image_id": 287, + "category_id": 1, + "bbox": [ + 469.455, + 351.367, + 63.1461, + 101.314 + ], + "area": 6397.583975399999, + "iscrowd": 0 + }, + { + "id": 1616, + "image_id": 287, + "category_id": 0, + "bbox": [ + 362.861, + 420.92, + 138.19, + 292.004 + ], + "area": 40352.03276, + "iscrowd": 0 + }, + { + "id": 1617, + "image_id": 287, + "category_id": 1, + "bbox": [ + 615.324, + 336.66, + 62.2397, + 83.4578 + ], + "area": 5194.388434660001, + "iscrowd": 0 + }, + { + "id": 1618, + "image_id": 287, + "category_id": 1, + "bbox": [ + 314.027, + 430.02, + 36.778, + 41.0216 + ], + "area": 1508.6924047999998, + "iscrowd": 0 + }, + { + "id": 1735, + "image_id": 310, + "category_id": 1, + "bbox": [ + 443.093, + 444.408, + 184.223, + 272.023 + ], + "area": 50112.89312900001, + "iscrowd": 0 + }, + { + "id": 1736, + "image_id": 310, + "category_id": 1, + "bbox": [ + 570.595, + 89.191, + 451.993, + 621.965 + ], + "area": 281123.826245, + "iscrowd": 0 + }, + { + "id": 1737, + "image_id": 310, + "category_id": 0, + "bbox": [ + 985.326, + 517.561, + 293.33, + 199.053 + ], + "area": 58388.21649, + "iscrowd": 0 + }, + { + "id": 1775, + "image_id": 324, + "category_id": 1, + "bbox": [ + 682.116, + 396.952, + 122.836, + 321.226 + ], + "area": 39458.116936, + "iscrowd": 0 + }, + { + "id": 1776, + "image_id": 324, + "category_id": 1, + "bbox": [ + 530.028, + 364.456, + 139.082, + 342.239 + ], + "area": 47599.28459799999, + "iscrowd": 0 + }, + { + "id": 1777, + "image_id": 324, + "category_id": 1, + "bbox": [ + 1138.99, + 434.572, + 87.759, + 83.8223 + ], + "area": 7356.1612257, + "iscrowd": 0 + }, + { + "id": 1778, + "image_id": 324, + "category_id": 0, + "bbox": [ + 538.939, + 418.703, + 70.7269, + 83.4578 + ], + "area": 5902.71147482, + "iscrowd": 0 + }, + { + "id": 1863, + "image_id": 347, + "category_id": 1, + "bbox": [ + 465.586, + 330.241, + 209.357, + 386.862 + ], + "area": 80992.26773400001, + "iscrowd": 0 + }, + { + "id": 1864, + "image_id": 347, + "category_id": 0, + "bbox": [ + 1136.43, + 451.136, + 55.082, + 68.7128 + ], + "area": 3784.8384496000003, + "iscrowd": 0 + }, + { + "id": 1865, + "image_id": 347, + "category_id": 1, + "bbox": [ + 1172.43, + 436.395, + 64.8335, + 86.5375 + ], + "area": 5610.52900625, + "iscrowd": 0 + }, + { + "id": 1866, + "image_id": 347, + "category_id": 0, + "bbox": [ + 465.766, + 428.028, + 106.262, + 133.076 + ], + "area": 14140.921912, + "iscrowd": 0 + }, + { + "id": 1945, + "image_id": 362, + "category_id": 1, + "bbox": [ + 383.889, + 371.757, + 183.76, + 346.21 + ], + "area": 63619.54959999999, + "iscrowd": 0 + }, + { + "id": 1946, + "image_id": 362, + "category_id": 0, + "bbox": [ + 1135.24, + 453.052, + 55.0085, + 66.0552 + ], + "area": 3633.5974692, + "iscrowd": 0 + }, + { + "id": 1947, + "image_id": 362, + "category_id": 1, + "bbox": [ + 353.761, + 334.25, + 102.941, + 379.201 + ], + "area": 39035.330141000006, + "iscrowd": 0 + }, + { + "id": 1948, + "image_id": 362, + "category_id": 1, + "bbox": [ + 1139.06, + 436.555, + 97.2849, + 85.6383 + ], + "area": 8331.31345167, + "iscrowd": 0 + }, + { + "id": 1949, + "image_id": 362, + "category_id": 0, + "bbox": [ + 364.469, + 427.034, + 81.4345, + 144.0 + ], + "area": 11726.568, + "iscrowd": 0 + }, + { + "id": 2059, + "image_id": 385, + "category_id": 1, + "bbox": [ + 696.202, + 385.925, + 97.2063, + 302.012 + ], + "area": 29357.469075599998, + "iscrowd": 0 + }, + { + "id": 2060, + "image_id": 385, + "category_id": 1, + "bbox": [ + 348.151, + 274.059, + 247.686, + 439.489 + ], + "area": 108855.27245399999, + "iscrowd": 0 + }, + { + "id": 2061, + "image_id": 385, + "category_id": 1, + "bbox": [ + 24.3796, + 378.253, + 60.7455, + 226.799 + ], + "area": 13777.0186545, + "iscrowd": 0 + }, + { + "id": 2062, + "image_id": 385, + "category_id": 1, + "bbox": [ + 562.843, + 402.515, + 56.3982, + 243.437 + ], + "area": 13729.4086134, + "iscrowd": 0 + }, + { + "id": 2063, + "image_id": 385, + "category_id": 0, + "bbox": [ + 432.0, + 371.421, + 163.862, + 232.386 + ], + "area": 38079.234732, + "iscrowd": 0 + }, + { + "id": 2064, + "image_id": 385, + "category_id": 0, + "bbox": [ + 695.172, + 409.159, + 76.469, + 96.331 + ], + "area": 7366.335239, + "iscrowd": 0 + }, + { + "id": 2085, + "image_id": 391, + "category_id": 1, + "bbox": [ + 674.397, + 308.088, + 224.056, + 408.06 + ], + "area": 91428.29136, + "iscrowd": 0 + }, + { + "id": 2086, + "image_id": 391, + "category_id": 1, + "bbox": [ + 573.103, + 335.168, + 131.095, + 377.537 + ], + "area": 49493.213014999994, + "iscrowd": 0 + }, + { + "id": 2087, + "image_id": 391, + "category_id": 1, + "bbox": [ + 582.191, + 364.955, + 70.0861, + 120.852 + ], + "area": 8470.0453572, + "iscrowd": 0 + }, + { + "id": 2088, + "image_id": 391, + "category_id": 0, + "bbox": [ + 349.572, + 385.324, + 6.95172, + 3.97241 + ], + "area": 27.6150820452, + "iscrowd": 0 + }, + { + "id": 2176, + "image_id": 410, + "category_id": 1, + "bbox": [ + 735.008, + 283.926, + 263.354, + 430.622 + ], + "area": 113406.026188, + "iscrowd": 0 + }, + { + "id": 2177, + "image_id": 410, + "category_id": 1, + "bbox": [ + 488.783, + 379.355, + 178.056, + 338.517 + ], + "area": 60274.982952000006, + "iscrowd": 0 + }, + { + "id": 2178, + "image_id": 410, + "category_id": 1, + "bbox": [ + 1133.43, + 434.759, + 72.584, + 88.2422 + ], + "area": 6404.9718448, + "iscrowd": 0 + }, + { + "id": 2179, + "image_id": 410, + "category_id": 0, + "bbox": [ + 540.248, + 398.234, + 123.145, + 241.324 + ], + "area": 29717.84398, + "iscrowd": 0 + }, + { + "id": 2180, + "image_id": 410, + "category_id": 0, + "bbox": [ + 1131.14, + 462.786, + 45.6828, + 61.5724 + ], + "area": 2812.79963472, + "iscrowd": 0 + }, + { + "id": 2311, + "image_id": 439, + "category_id": 1, + "bbox": [ + 236.767, + 362.696, + 189.953, + 352.376 + ], + "area": 66934.87832799999, + "iscrowd": 0 + }, + { + "id": 2312, + "image_id": 439, + "category_id": 1, + "bbox": [ + 387.751, + 343.436, + 146.371, + 372.977 + ], + "area": 54593.016467, + "iscrowd": 0 + }, + { + "id": 2313, + "image_id": 439, + "category_id": 1, + "bbox": [ + 244.049, + 353.924, + 72.4509, + 107.085 + ], + "area": 7758.4046265, + "iscrowd": 0 + }, + { + "id": 2314, + "image_id": 439, + "category_id": 1, + "bbox": [ + 382.496, + 360.516, + 39.3477, + 48.7026 + ], + "area": 1916.33529402, + "iscrowd": 0 + }, + { + "id": 2381, + "image_id": 453, + "category_id": 1, + "bbox": [ + 423.134, + 373.691, + 183.019, + 344.636 + ], + "area": 63074.93608400001, + "iscrowd": 0 + }, + { + "id": 2382, + "image_id": 453, + "category_id": 1, + "bbox": [ + 803.987, + 274.913, + 242.486, + 440.749 + ], + "area": 106875.462014, + "iscrowd": 0 + }, + { + "id": 2383, + "image_id": 453, + "category_id": 1, + "bbox": [ + 1132.33, + 435.679, + 83.0874, + 84.0967 + ], + "area": 6987.37615158, + "iscrowd": 0 + }, + { + "id": 2384, + "image_id": 453, + "category_id": 0, + "bbox": [ + 404.558, + 405.973, + 104.676, + 227.741 + ], + "area": 23839.016916, + "iscrowd": 0 + }, + { + "id": 2385, + "image_id": 453, + "category_id": 0, + "bbox": [ + 1134.46, + 465.383, + 52.3379, + 63.6542 + ], + "area": 3331.52715418, + "iscrowd": 0 + }, + { + "id": 2396, + "image_id": 456, + "category_id": 1, + "bbox": [ + 0.884514, + 311.6, + 248.277, + 400.171 + ], + "area": 99353.25536699999, + "iscrowd": 0 + }, + { + "id": 2397, + "image_id": 456, + "category_id": 1, + "bbox": [ + 305.16, + 346.287, + 154.184, + 370.44 + ], + "area": 57115.920959999996, + "iscrowd": 0 + }, + { + "id": 2398, + "image_id": 456, + "category_id": 1, + "bbox": [ + 648.831, + 322.289, + 200.938, + 392.877 + ], + "area": 78943.918626, + "iscrowd": 0 + }, + { + "id": 2399, + "image_id": 456, + "category_id": 1, + "bbox": [ + 525.714, + 360.662, + 135.781, + 337.581 + ], + "area": 45837.085761, + "iscrowd": 0 + }, + { + "id": 2400, + "image_id": 456, + "category_id": 1, + "bbox": [ + 630.574, + 347.851, + 88.5215, + 327.416 + ], + "area": 28983.355444, + "iscrowd": 0 + }, + { + "id": 2401, + "image_id": 456, + "category_id": 0, + "bbox": [ + 9.90177, + 386.169, + 131.552, + 205.108 + ], + "area": 26982.367616, + "iscrowd": 0 + }, + { + "id": 2402, + "image_id": 456, + "category_id": 0, + "bbox": [ + 322.515, + 397.485, + 66.4833, + 144.283 + ], + "area": 9592.4099739, + "iscrowd": 0 + }, + { + "id": 2457, + "image_id": 471, + "category_id": 1, + "bbox": [ + 0.696926, + 253.977, + 288.289, + 459.302 + ], + "area": 132411.714278, + "iscrowd": 0 + }, + { + "id": 2458, + "image_id": 472, + "category_id": 1, + "bbox": [ + 55.0535, + 254.33, + 83.9293, + 81.7589 + ], + "area": 6861.96724577, + "iscrowd": 0 + }, + { + "id": 2486, + "image_id": 484, + "category_id": 1, + "bbox": [ + 366.365, + 237.642, + 33.9489, + 94.7741 + ], + "area": 3217.4764434900003, + "iscrowd": 0 + }, + { + "id": 2497, + "image_id": 489, + "category_id": 1, + "bbox": [ + 414.626, + 418.081, + 128.436, + 301.919 + ], + "area": 38777.268684, + "iscrowd": 0 + }, + { + "id": 2498, + "image_id": 489, + "category_id": 1, + "bbox": [ + 616.528, + 415.359, + 122.466, + 304.641 + ], + "area": 37308.164706, + "iscrowd": 0 + }, + { + "id": 2499, + "image_id": 489, + "category_id": 1, + "bbox": [ + 1215.18, + 380.722, + 64.3833, + 120.809 + ], + "area": 7778.0820897, + "iscrowd": 0 + }, + { + "id": 2500, + "image_id": 489, + "category_id": 0, + "bbox": [ + 689.055, + 491.646, + 84.2078, + 119.521 + ], + "area": 10064.600463800001, + "iscrowd": 0 + }, + { + "id": 2501, + "image_id": 489, + "category_id": 0, + "bbox": [ + 424.942, + 469.974, + 46.2761, + 111.136 + ], + "area": 5142.9406496, + "iscrowd": 0 + }, + { + "id": 2502, + "image_id": 489, + "category_id": 0, + "bbox": [ + 1217.58, + 461.07, + 61.8706, + 36.1367 + ], + "area": 2235.79931102, + "iscrowd": 0 + }, + { + "id": 2505, + "image_id": 491, + "category_id": 1, + "bbox": [ + 254.112, + 327.096, + 58.9478, + 128.029 + ], + "area": 7547.0278862, + "iscrowd": 0 + }, + { + "id": 2506, + "image_id": 491, + "category_id": 0, + "bbox": [ + 257.44, + 324.719, + 34.6067, + 71.9102 + ], + "area": 2488.57471834, + "iscrowd": 0 + }, + { + "id": 2507, + "image_id": 492, + "category_id": 1, + "bbox": [ + 508.224, + 225.01, + 76.9429, + 215.5 + ], + "area": 16581.194949999997, + "iscrowd": 0 + }, + { + "id": 2508, + "image_id": 492, + "category_id": 0, + "bbox": [ + 525.765, + 273.664, + 41.9788, + 49.2552 + ], + "area": 2067.67418976, + "iscrowd": 0 + }, + { + "id": 2542, + "image_id": 502, + "category_id": 1, + "bbox": [ + 384.216, + 361.94, + 86.5095, + 257.663 + ], + "area": 22290.2972985, + "iscrowd": 0 + }, + { + "id": 2543, + "image_id": 502, + "category_id": 1, + "bbox": [ + 108.598, + 354.9, + 84.3878, + 216.203 + ], + "area": 18244.8955234, + "iscrowd": 0 + }, + { + "id": 2544, + "image_id": 502, + "category_id": 0, + "bbox": [ + 401.395, + 332.284, + 48.0126, + 76.0945 + ], + "area": 3653.4947906999996, + "iscrowd": 0 + }, + { + "id": 2567, + "image_id": 509, + "category_id": 1, + "bbox": [ + 426.55, + 358.882, + 88.7823, + 248.177 + ], + "area": 22033.7248671, + "iscrowd": 0 + }, + { + "id": 2568, + "image_id": 509, + "category_id": 1, + "bbox": [ + 386.395, + 400.958, + 40.0438, + 60.5008 + ], + "area": 2422.6819350399996, + "iscrowd": 0 + }, + { + "id": 2594, + "image_id": 517, + "category_id": 1, + "bbox": [ + 462.211, + 357.397, + 101.597, + 267.637 + ], + "area": 27191.116288999998, + "iscrowd": 0 + }, + { + "id": 2595, + "image_id": 517, + "category_id": 0, + "bbox": [ + 550.851, + 429.484, + 47.0273, + 69.5172 + ], + "area": 3269.2062195599997, + "iscrowd": 0 + }, + { + "id": 2618, + "image_id": 523, + "category_id": 1, + "bbox": [ + 608.05, + 358.421, + 172.053, + 358.07 + ], + "area": 61607.01771, + "iscrowd": 0 + }, + { + "id": 2619, + "image_id": 523, + "category_id": 0, + "bbox": [ + 579.972, + 437.959, + 128.11, + 144.0 + ], + "area": 18447.840000000004, + "iscrowd": 0 + }, + { + "id": 2634, + "image_id": 527, + "category_id": 1, + "bbox": [ + 576.975, + 418.943, + 190.535, + 296.766 + ], + "area": 56544.309810000006, + "iscrowd": 0 + }, + { + "id": 2635, + "image_id": 527, + "category_id": 0, + "bbox": [ + 536.134, + 536.134, + 158.091, + 172.696 + ], + "area": 27301.683336000002, + "iscrowd": 0 + }, + { + "id": 2636, + "image_id": 528, + "category_id": 1, + "bbox": [ + 412.376, + 419.432, + 199.286, + 297.415 + ], + "area": 59270.645690000005, + "iscrowd": 0 + }, + { + "id": 2637, + "image_id": 528, + "category_id": 1, + "bbox": [ + 0.369449, + 381.196, + 151.442, + 338.804 + ], + "area": 51309.155368, + "iscrowd": 0 + }, + { + "id": 2638, + "image_id": 528, + "category_id": 0, + "bbox": [ + 49.3305, + 536.204, + 171.472, + 181.09 + ], + "area": 31051.864480000004, + "iscrowd": 0 + }, + { + "id": 2639, + "image_id": 528, + "category_id": 1, + "bbox": [ + 1220.51, + 379.962, + 59.0688, + 132.67 + ], + "area": 7836.657695999999, + "iscrowd": 0 + }, + { + "id": 2640, + "image_id": 528, + "category_id": 1, + "bbox": [ + 1191.86, + 448.397, + 74.8644, + 111.208 + ], + "area": 8325.5201952, + "iscrowd": 0 + }, + { + "id": 2641, + "image_id": 528, + "category_id": 0, + "bbox": [ + 1238.87, + 451.662, + 32.2091, + 45.7021 + ], + "area": 1472.02350911, + "iscrowd": 0 + }, + { + "id": 2642, + "image_id": 529, + "category_id": 1, + "bbox": [ + 517.349, + 349.063, + 112.428, + 323.787 + ], + "area": 36402.724835999994, + "iscrowd": 0 + }, + { + "id": 2643, + "image_id": 529, + "category_id": 1, + "bbox": [ + 611.242, + 413.066, + 87.3535, + 248.204 + ], + "area": 21681.488114, + "iscrowd": 0 + }, + { + "id": 2644, + "image_id": 529, + "category_id": 0, + "bbox": [ + 641.814, + 443.341, + 56.7063, + 80.7635 + ], + "area": 4579.799260049999, + "iscrowd": 0 + }, + { + "id": 2654, + "image_id": 532, + "category_id": 1, + "bbox": [ + 391.728, + 420.813, + 172.704, + 296.191 + ], + "area": 51153.370464, + "iscrowd": 0 + }, + { + "id": 2655, + "image_id": 532, + "category_id": 1, + "bbox": [ + 8.54616e-15, + 383.903, + 167.665, + 336.097 + ], + "area": 56351.70350499999, + "iscrowd": 0 + }, + { + "id": 2656, + "image_id": 532, + "category_id": 0, + "bbox": [ + 159.169, + 529.092, + 143.094, + 189.243 + ], + "area": 27079.537841999998, + "iscrowd": 0 + }, + { + "id": 2657, + "image_id": 532, + "category_id": 1, + "bbox": [ + 1222.16, + 379.357, + 57.4409, + 137.402 + ], + "area": 7892.494541799999, + "iscrowd": 0 + }, + { + "id": 2658, + "image_id": 532, + "category_id": 1, + "bbox": [ + 1186.91, + 446.115, + 92.54, + 119.362 + ], + "area": 11045.75948, + "iscrowd": 0 + }, + { + "id": 2659, + "image_id": 532, + "category_id": 0, + "bbox": [ + 1235.54, + 454.562, + 44.4608, + 74.9862 + ], + "area": 3333.9464409599996, + "iscrowd": 0 + }, + { + "id": 2663, + "image_id": 534, + "category_id": 1, + "bbox": [ + 453.694, + 350.117, + 121.397, + 317.679 + ], + "area": 38565.277562999996, + "iscrowd": 0 + }, + { + "id": 2664, + "image_id": 534, + "category_id": 1, + "bbox": [ + 634.149, + 342.38, + 123.09, + 372.986 + ], + "area": 45910.84674, + "iscrowd": 0 + }, + { + "id": 2665, + "image_id": 534, + "category_id": 1, + "bbox": [ + 314.834, + 365.459, + 95.0429, + 237.474 + ], + "area": 22570.2176346, + "iscrowd": 0 + }, + { + "id": 2666, + "image_id": 534, + "category_id": 1, + "bbox": [ + 97.573, + 360.819, + 65.0741, + 196.394 + ], + "area": 12780.162795400001, + "iscrowd": 0 + }, + { + "id": 2667, + "image_id": 534, + "category_id": 0, + "bbox": [ + 643.615, + 291.395, + 63.6542, + 120.236 + ], + "area": 7653.526391200001, + "iscrowd": 0 + }, + { + "id": 2668, + "image_id": 534, + "category_id": 0, + "bbox": [ + 362.517, + 418.255, + 29.2514, + 41.1503 + ], + "area": 1203.70388542, + "iscrowd": 0 + }, + { + "id": 2674, + "image_id": 536, + "category_id": 1, + "bbox": [ + 533.186, + 343.199, + 134.245, + 373.998 + ], + "area": 50207.36151, + "iscrowd": 0 + }, + { + "id": 2675, + "image_id": 536, + "category_id": 1, + "bbox": [ + 666.168, + 415.453, + 85.7712, + 296.124 + ], + "area": 25398.9108288, + "iscrowd": 0 + }, + { + "id": 2676, + "image_id": 536, + "category_id": 0, + "bbox": [ + 677.297, + 436.966, + 71.5034, + 107.255 + ], + "area": 7669.097167, + "iscrowd": 0 + }, + { + "id": 2689, + "image_id": 539, + "category_id": 1, + "bbox": [ + 568.029, + 341.022, + 130.585, + 376.201 + ], + "area": 49126.207585000004, + "iscrowd": 0 + }, + { + "id": 2690, + "image_id": 539, + "category_id": 1, + "bbox": [ + 693.294, + 417.899, + 90.7119, + 299.358 + ], + "area": 27155.3329602, + "iscrowd": 0 + }, + { + "id": 2691, + "image_id": 539, + "category_id": 1, + "bbox": [ + 5.07043, + 364.835, + 77.2444, + 84.5756 + ], + "area": 6532.99147664, + "iscrowd": 0 + }, + { + "id": 2692, + "image_id": 539, + "category_id": 0, + "bbox": [ + 705.103, + 458.814, + 71.5034, + 93.3517 + ], + "area": 6674.963945779999, + "iscrowd": 0 + }, + { + "id": 2699, + "image_id": 541, + "category_id": 1, + "bbox": [ + 154.338, + 413.286, + 242.686, + 306.714 + ], + "area": 74435.193804, + "iscrowd": 0 + }, + { + "id": 2700, + "image_id": 541, + "category_id": 1, + "bbox": [ + 457.552, + 432.769, + 278.951, + 285.102 + ], + "area": 79529.488002, + "iscrowd": 0 + }, + { + "id": 2701, + "image_id": 541, + "category_id": 1, + "bbox": [ + 1223.01, + 377.992, + 56.5156, + 115.992 + ], + "area": 6555.3574752, + "iscrowd": 0 + }, + { + "id": 2702, + "image_id": 541, + "category_id": 1, + "bbox": [ + 1188.35, + 442.532, + 91.0776, + 154.622 + ], + "area": 14082.600667200002, + "iscrowd": 0 + }, + { + "id": 2703, + "image_id": 541, + "category_id": 0, + "bbox": [ + 174.525, + 514.286, + 122.101, + 187.134 + ], + "area": 22849.248534, + "iscrowd": 0 + }, + { + "id": 2759, + "image_id": 551, + "category_id": 1, + "bbox": [ + 518.295, + 308.751, + 231.569, + 405.731 + ], + "area": 93954.721939, + "iscrowd": 0 + }, + { + "id": 2760, + "image_id": 551, + "category_id": 1, + "bbox": [ + 740.549, + 430.196, + 201.182, + 286.796 + ], + "area": 57698.19287199999, + "iscrowd": 0 + }, + { + "id": 2761, + "image_id": 551, + "category_id": 1, + "bbox": [ + 209.031, + 381.715, + 84.8142, + 200.776 + ], + "area": 17028.6558192, + "iscrowd": 0 + }, + { + "id": 2762, + "image_id": 551, + "category_id": 1, + "bbox": [ + 0.108414, + 343.923, + 63.0534, + 262.709 + ], + "area": 16564.695660600002, + "iscrowd": 0 + }, + { + "id": 2763, + "image_id": 551, + "category_id": 0, + "bbox": [ + 592.692, + 386.169, + 93.3595, + 154.185 + ], + "area": 14394.634507499999, + "iscrowd": 0 + }, + { + "id": 2764, + "image_id": 551, + "category_id": 0, + "bbox": [ + 15.5599, + 377.682, + 48.0943, + 86.2868 + ], + "area": 4149.90324524, + "iscrowd": 0 + }, + { + "id": 2765, + "image_id": 551, + "category_id": 0, + "bbox": [ + 358.053, + 424.125, + 43.4326, + 44.2521 + ], + "area": 1921.98375846, + "iscrowd": 0 + }, + { + "id": 2766, + "image_id": 552, + "category_id": 1, + "bbox": [ + 161.328, + 294.598, + 309.664, + 420.185 + ], + "area": 130116.16784, + "iscrowd": 0 + }, + { + "id": 2767, + "image_id": 552, + "category_id": 1, + "bbox": [ + 474.207, + 249.267, + 521.522, + 464.835 + ], + "area": 242421.67887, + "iscrowd": 0 + }, + { + "id": 2768, + "image_id": 552, + "category_id": 1, + "bbox": [ + 431.115, + 374.011, + 78.8305, + 243.447 + ], + "area": 19191.0487335, + "iscrowd": 0 + }, + { + "id": 2769, + "image_id": 552, + "category_id": 1, + "bbox": [ + 530.089, + 366.488, + 82.3105, + 168.391 + ], + "area": 13860.3474055, + "iscrowd": 0 + }, + { + "id": 2770, + "image_id": 552, + "category_id": 0, + "bbox": [ + 628.106, + 33.6951, + 275.497, + 349.363 + ], + "area": 96248.458411, + "iscrowd": 0 + }, + { + "id": 2771, + "image_id": 552, + "category_id": 0, + "bbox": [ + 469.738, + 410.152, + 54.6207, + 92.3586 + ], + "area": 5044.69138302, + "iscrowd": 0 + }, + { + "id": 2772, + "image_id": 552, + "category_id": 0, + "bbox": [ + 554.152, + 413.131, + 64.5517, + 74.4828 + ], + "area": 4807.991360759999, + "iscrowd": 0 + }, + { + "id": 2900, + "image_id": 574, + "category_id": 1, + "bbox": [ + 512.231, + 440.535, + 157.15, + 277.573 + ], + "area": 43620.59695, + "iscrowd": 0 + }, + { + "id": 2901, + "image_id": 574, + "category_id": 1, + "bbox": [ + 281.876, + 403.343, + 169.56, + 313.184 + ], + "area": 53103.479040000006, + "iscrowd": 0 + }, + { + "id": 2902, + "image_id": 574, + "category_id": 1, + "bbox": [ + 1223.74, + 378.558, + 55.9268, + 156.787 + ], + "area": 8768.5951916, + "iscrowd": 0 + }, + { + "id": 2903, + "image_id": 574, + "category_id": 0, + "bbox": [ + 378.372, + 484.634, + 91.3655, + 123.145 + ], + "area": 11251.204497499999, + "iscrowd": 0 + }, + { + "id": 2904, + "image_id": 574, + "category_id": 0, + "bbox": [ + 1225.49, + 438.952, + 53.6276, + 50.6483 + ], + "area": 2716.14677308, + "iscrowd": 0 + }, + { + "id": 2905, + "image_id": 574, + "category_id": 1, + "bbox": [ + 1182.79, + 437.959, + 89.3793, + 107.255 + ], + "area": 9586.3768215, + "iscrowd": 0 + }, + { + "id": 2906, + "image_id": 574, + "category_id": 0, + "bbox": [ + 511.448, + 527.338, + 59.5862, + 104.276 + ], + "area": 6213.4105911999995, + "iscrowd": 0 + }, + { + "id": 3022, + "image_id": 593, + "category_id": 0, + "bbox": [ + 741.678, + 488.342, + 180.176, + 230.865 + ], + "area": 41596.332239999996, + "iscrowd": 0 + }, + { + "id": 3023, + "image_id": 593, + "category_id": 1, + "bbox": [ + 514.428, + 365.743, + 196.208, + 351.399 + ], + "area": 68947.294992, + "iscrowd": 0 + }, + { + "id": 3024, + "image_id": 593, + "category_id": 1, + "bbox": [ + 699.536, + 397.069, + 103.528, + 302.875 + ], + "area": 31356.043, + "iscrowd": 0 + }, + { + "id": 3025, + "image_id": 593, + "category_id": 1, + "bbox": [ + 787.576, + 421.057, + 188.416, + 290.623 + ], + "area": 54758.023168, + "iscrowd": 0 + }, + { + "id": 3026, + "image_id": 593, + "category_id": 0, + "bbox": [ + 492.579, + 426.041, + 154.924, + 101.297 + ], + "area": 15693.336428, + "iscrowd": 0 + }, + { + "id": 3027, + "image_id": 593, + "category_id": 0, + "bbox": [ + 679.283, + 393.269, + 68.5241, + 101.297 + ], + "area": 6941.2857577, + "iscrowd": 0 + }, + { + "id": 3034, + "image_id": 595, + "category_id": 1, + "bbox": [ + 202.694, + 426.16, + 230.441, + 293.84 + ], + "area": 67712.78344, + "iscrowd": 0 + }, + { + "id": 3035, + "image_id": 595, + "category_id": 1, + "bbox": [ + 445.718, + 399.613, + 248.236, + 317.604 + ], + "area": 78840.746544, + "iscrowd": 0 + }, + { + "id": 3036, + "image_id": 595, + "category_id": 0, + "bbox": [ + 539.142, + 573.98, + 220.692, + 144.514 + ], + "area": 31893.083688000002, + "iscrowd": 0 + }, + { + "id": 3037, + "image_id": 595, + "category_id": 1, + "bbox": [ + 1222.52, + 378.51, + 57.1685, + 161.29 + ], + "area": 9220.707365, + "iscrowd": 0 + }, + { + "id": 3038, + "image_id": 595, + "category_id": 0, + "bbox": [ + 213.085, + 520.668, + 175.268, + 199.332 + ], + "area": 34936.520976, + "iscrowd": 0 + }, + { + "id": 3039, + "image_id": 595, + "category_id": 0, + "bbox": [ + 1233.04, + 444.795, + 42.8568, + 55.2532 + ], + "area": 2367.97534176, + "iscrowd": 0 + }, + { + "id": 3040, + "image_id": 595, + "category_id": 1, + "bbox": [ + 1193.1, + 446.356, + 86.8992, + 143.13 + ], + "area": 12437.882495999998, + "iscrowd": 0 + }, + { + "id": 3074, + "image_id": 601, + "category_id": 1, + "bbox": [ + 426.421, + 427.314, + 205.824, + 289.987 + ], + "area": 59686.28428800001, + "iscrowd": 0 + }, + { + "id": 3075, + "image_id": 601, + "category_id": 1, + "bbox": [ + 247.519, + 392.303, + 233.911, + 323.926 + ], + "area": 75769.854586, + "iscrowd": 0 + }, + { + "id": 3076, + "image_id": 601, + "category_id": 1, + "bbox": [ + 1222.22, + 379.176, + 57.4712, + 159.846 + ], + "area": 9186.5414352, + "iscrowd": 0 + }, + { + "id": 3077, + "image_id": 601, + "category_id": 1, + "bbox": [ + 1184.51, + 442.924, + 95.009, + 141.256 + ], + "area": 13420.591304, + "iscrowd": 0 + }, + { + "id": 3078, + "image_id": 601, + "category_id": 0, + "bbox": [ + 514.428, + 533.297, + 120.166, + 181.738 + ], + "area": 21838.728508, + "iscrowd": 0 + }, + { + "id": 3079, + "image_id": 601, + "category_id": 0, + "bbox": [ + 1224.5, + 428.028, + 52.6345, + 58.5931 + ], + "area": 3084.01852195, + "iscrowd": 0 + }, + { + "id": 3097, + "image_id": 605, + "category_id": 1, + "bbox": [ + 822.793, + 395.954, + 162.525, + 319.69 + ], + "area": 51957.61725, + "iscrowd": 0 + }, + { + "id": 3098, + "image_id": 605, + "category_id": 1, + "bbox": [ + 560.596, + 309.179, + 177.949, + 407.065 + ], + "area": 72436.809685, + "iscrowd": 0 + }, + { + "id": 3099, + "image_id": 605, + "category_id": 0, + "bbox": [ + 647.503, + 374.4, + 105.269, + 150.952 + ], + "area": 15890.566088000001, + "iscrowd": 0 + }, + { + "id": 3106, + "image_id": 607, + "category_id": 1, + "bbox": [ + 652.46, + 428.294, + 237.957, + 291.706 + ], + "area": 69413.484642, + "iscrowd": 0 + }, + { + "id": 3107, + "image_id": 607, + "category_id": 1, + "bbox": [ + 0.817566, + 372.353, + 180.226, + 347.647 + ], + "area": 62655.028222, + "iscrowd": 0 + }, + { + "id": 3108, + "image_id": 607, + "category_id": 1, + "bbox": [ + 1222.45, + 379.081, + 57.238, + 160.58 + ], + "area": 9191.278040000001, + "iscrowd": 0 + }, + { + "id": 3109, + "image_id": 607, + "category_id": 0, + "bbox": [ + 1230.36, + 440.764, + 49.6419, + 79.904 + ], + "area": 3966.5863775999997, + "iscrowd": 0 + }, + { + "id": 3110, + "image_id": 607, + "category_id": 1, + "bbox": [ + 1175.37, + 445.06, + 104.63, + 143.484 + ], + "area": 15012.73092, + "iscrowd": 0 + }, + { + "id": 3114, + "image_id": 609, + "category_id": 1, + "bbox": [ + 514.56, + 362.5, + 125.868, + 352.873 + ], + "area": 44415.418763999995, + "iscrowd": 0 + }, + { + "id": 3115, + "image_id": 609, + "category_id": 1, + "bbox": [ + 403.567, + 345.991, + 129.45, + 370.648 + ], + "area": 47980.3836, + "iscrowd": 0 + }, + { + "id": 3116, + "image_id": 609, + "category_id": 1, + "bbox": [ + 380.754, + 375.644, + 69.4975, + 236.313 + ], + "area": 16423.1627175, + "iscrowd": 0 + }, + { + "id": 3117, + "image_id": 609, + "category_id": 1, + "bbox": [ + 0.555296, + 468.216, + 207.189, + 246.028 + ], + "area": 50974.295291999995, + "iscrowd": 0 + }, + { + "id": 3118, + "image_id": 609, + "category_id": 0, + "bbox": [ + 513.435, + 440.938, + 118.179, + 143.007 + ], + "area": 16900.424253, + "iscrowd": 0 + }, + { + "id": 3119, + "image_id": 609, + "category_id": 0, + "bbox": [ + 425.048, + 298.924, + 95.3379, + 116.193 + ], + "area": 11077.5966147, + "iscrowd": 0 + }, + { + "id": 3120, + "image_id": 610, + "category_id": 1, + "bbox": [ + 1.21212, + 379.304, + 247.021, + 336.161 + ], + "area": 83038.82638099999, + "iscrowd": 0 + }, + { + "id": 3121, + "image_id": 610, + "category_id": 1, + "bbox": [ + 669.307, + 434.676, + 190.042, + 282.439 + ], + "area": 53675.27243800001, + "iscrowd": 0 + }, + { + "id": 3122, + "image_id": 610, + "category_id": 1, + "bbox": [ + 1222.18, + 378.796, + 57.501, + 158.616 + ], + "area": 9120.578616, + "iscrowd": 0 + }, + { + "id": 3123, + "image_id": 610, + "category_id": 1, + "bbox": [ + 1181.61, + 442.719, + 97.7893, + 142.084 + ], + "area": 13894.2949012, + "iscrowd": 0 + }, + { + "id": 3124, + "image_id": 610, + "category_id": 0, + "bbox": [ + 1223.5, + 435.972, + 50.6483, + 53.6276 + ], + "area": 2716.14677308, + "iscrowd": 0 + }, + { + "id": 3201, + "image_id": 627, + "category_id": 1, + "bbox": [ + 676.815, + 351.168, + 119.431, + 365.697 + ], + "area": 43675.558407, + "iscrowd": 0 + }, + { + "id": 3202, + "image_id": 627, + "category_id": 1, + "bbox": [ + 87.7439, + 340.478, + 212.035, + 374.555 + ], + "area": 79418.769425, + "iscrowd": 0 + }, + { + "id": 3203, + "image_id": 627, + "category_id": 1, + "bbox": [ + 261.426, + 363.767, + 139.687, + 352.635 + ], + "area": 49258.525245000004, + "iscrowd": 0 + }, + { + "id": 3204, + "image_id": 627, + "category_id": 0, + "bbox": [ + 709.076, + 298.924, + 68.5241, + 114.207 + ], + "area": 7825.9318887, + "iscrowd": 0 + }, + { + "id": 3205, + "image_id": 627, + "category_id": 0, + "bbox": [ + 277.076, + 406.179, + 88.3862, + 151.945 + ], + "area": 13429.841159, + "iscrowd": 0 + }, + { + "id": 3206, + "image_id": 627, + "category_id": 0, + "bbox": [ + 137.048, + 451.862, + 143.007, + 174.786 + ], + "area": 24995.621502, + "iscrowd": 0 + }, + { + "id": 3233, + "image_id": 632, + "category_id": 1, + "bbox": [ + 128.452, + 410.713, + 185.703, + 306.568 + ], + "area": 56930.597303999995, + "iscrowd": 0 + }, + { + "id": 3234, + "image_id": 632, + "category_id": 0, + "bbox": [ + 687.5, + 543.532, + 162.927, + 174.614 + ], + "area": 28449.335178, + "iscrowd": 0 + }, + { + "id": 3235, + "image_id": 632, + "category_id": 1, + "bbox": [ + 587.342, + 407.458, + 205.919, + 308.921 + ], + "area": 63612.703399000005, + "iscrowd": 0 + }, + { + "id": 3236, + "image_id": 632, + "category_id": 1, + "bbox": [ + 1224.35, + 379.421, + 55.2896, + 158.115 + ], + "area": 8742.115104, + "iscrowd": 0 + }, + { + "id": 3237, + "image_id": 632, + "category_id": 0, + "bbox": [ + 131.09, + 487.614, + 114.207, + 167.834 + ], + "area": 19167.817638, + "iscrowd": 0 + }, + { + "id": 3238, + "image_id": 632, + "category_id": 0, + "bbox": [ + 1225.49, + 425.048, + 45.6828, + 77.4621 + ], + "area": 3538.6856218800003, + "iscrowd": 0 + }, + { + "id": 3239, + "image_id": 632, + "category_id": 1, + "bbox": [ + 1170.87, + 443.917, + 78.4552, + 91.3655 + ], + "area": 7168.0985756, + "iscrowd": 0 + }, + { + "id": 3331, + "image_id": 663, + "category_id": 1, + "bbox": [ + 0.0, + 275.038, + 37.8849, + 72.4519 + ], + "area": 2744.83298631, + "iscrowd": 0 + }, + { + "id": 3332, + "image_id": 663, + "category_id": 1, + "bbox": [ + 300.939, + 223.755, + 74.5457, + 178.203 + ], + "area": 13284.267377099999, + "iscrowd": 0 + }, + { + "id": 3373, + "image_id": 677, + "category_id": 1, + "bbox": [ + 413.238, + 461.008, + 86.827, + 241.552 + ], + "area": 20973.235504, + "iscrowd": 0 + }, + { + "id": 3374, + "image_id": 677, + "category_id": 1, + "bbox": [ + 999.706, + 514.803, + 115.519, + 204.286 + ], + "area": 23598.914434000002, + "iscrowd": 0 + }, + { + "id": 3375, + "image_id": 677, + "category_id": 1, + "bbox": [ + 167.064, + 454.386, + 68.7272, + 211.858 + ], + "area": 14560.4071376, + "iscrowd": 0 + }, + { + "id": 3376, + "image_id": 677, + "category_id": 1, + "bbox": [ + 0.124543, + 445.667, + 30.5379, + 255.535 + ], + "area": 7803.5022765, + "iscrowd": 0 + }, + { + "id": 3377, + "image_id": 677, + "category_id": 1, + "bbox": [ + 206.566, + 498.538, + 50.6483, + 53.6276 + ], + "area": 2716.14677308, + "iscrowd": 0 + }, + { + "id": 3378, + "image_id": 677, + "category_id": 1, + "bbox": [ + 54.6207, + 448.883, + 42.7034, + 88.3862 + ], + "area": 3774.3912530800003, + "iscrowd": 0 + }, + { + "id": 3427, + "image_id": 690, + "category_id": 1, + "bbox": [ + 709.062, + 274.555, + 124.771, + 353.977 + ], + "area": 44166.064266999994, + "iscrowd": 0 + }, + { + "id": 3428, + "image_id": 690, + "category_id": 1, + "bbox": [ + 66.9864, + 226.281, + 73.2234, + 103.928 + ], + "area": 7609.9615152, + "iscrowd": 0 + }, + { + "id": 3429, + "image_id": 690, + "category_id": 0, + "bbox": [ + 66.5379, + 252.248, + 65.5448, + 79.4483 + ], + "area": 5207.42293384, + "iscrowd": 0 + }, + { + "id": 3782, + "image_id": 768, + "category_id": 1, + "bbox": [ + 458.879, + 213.587, + 95.1639, + 223.355 + ], + "area": 21255.3328845, + "iscrowd": 0 + }, + { + "id": 3783, + "image_id": 768, + "category_id": 0, + "bbox": [ + 461.426, + 240.29, + 59.2018, + 69.6491 + ], + "area": 4123.35208838, + "iscrowd": 0 + }, + { + "id": 3803, + "image_id": 778, + "category_id": 1, + "bbox": [ + 100.752, + 453.24, + 112.749, + 186.837 + ], + "area": 21065.684912999997, + "iscrowd": 0 + }, + { + "id": 3804, + "image_id": 778, + "category_id": 1, + "bbox": [ + 192.556, + 458.328, + 94.4684, + 180.599 + ], + "area": 17060.8985716, + "iscrowd": 0 + }, + { + "id": 3835, + "image_id": 786, + "category_id": 1, + "bbox": [ + 427.278, + 468.521, + 148.088, + 248.589 + ], + "area": 36813.047832, + "iscrowd": 0 + }, + { + "id": 3836, + "image_id": 786, + "category_id": 1, + "bbox": [ + 561.356, + 483.195, + 108.468, + 234.024 + ], + "area": 25384.115232, + "iscrowd": 0 + }, + { + "id": 3837, + "image_id": 786, + "category_id": 1, + "bbox": [ + 167.898, + 467.18, + 95.8715, + 204.804 + ], + "area": 19634.866686, + "iscrowd": 0 + }, + { + "id": 3838, + "image_id": 786, + "category_id": 0, + "bbox": [ + 121.375, + 471.407, + 32.494, + 56.8646 + ], + "area": 1847.7583124, + "iscrowd": 0 + }, + { + "id": 3839, + "image_id": 786, + "category_id": 1, + "bbox": [ + 96.5264, + 456.116, + 42.529, + 89.3586 + ], + "area": 3800.3318994, + "iscrowd": 0 + }, + { + "id": 3953, + "image_id": 802, + "category_id": 1, + "bbox": [ + 307.94, + 480.699, + 144.636, + 237.429 + ], + "area": 34340.780844, + "iscrowd": 0 + }, + { + "id": 3954, + "image_id": 802, + "category_id": 1, + "bbox": [ + 589.692, + 516.895, + 146.131, + 201.981 + ], + "area": 29515.685511, + "iscrowd": 0 + }, + { + "id": 3955, + "image_id": 802, + "category_id": 1, + "bbox": [ + 430.93, + 458.748, + 78.6628, + 242.436 + ], + "area": 19070.694580800002, + "iscrowd": 0 + }, + { + "id": 3956, + "image_id": 802, + "category_id": 1, + "bbox": [ + 504.222, + 489.366, + 99.1084, + 229.097 + ], + "area": 22705.437114800003, + "iscrowd": 0 + }, + { + "id": 3957, + "image_id": 802, + "category_id": 1, + "bbox": [ + 523.379, + 462.554, + 49.5088, + 33.9489 + ], + "area": 1680.7693003200002, + "iscrowd": 0 + }, + { + "id": 3958, + "image_id": 802, + "category_id": 0, + "bbox": [ + 572.888, + 598.35, + 169.745, + 80.6287 + ], + "area": 13686.318681499999, + "iscrowd": 0 + }, + { + "id": 3959, + "image_id": 802, + "category_id": 0, + "bbox": [ + 459.725, + 459.725, + 31.1198, + 65.0688 + ], + "area": 2024.92804224, + "iscrowd": 0 + }, + { + "id": 3960, + "image_id": 802, + "category_id": 0, + "bbox": [ + 524.794, + 513.477, + 72.1415, + 96.1886 + ], + "area": 6939.189886899999, + "iscrowd": 0 + }, + { + "id": 4014, + "image_id": 810, + "category_id": 1, + "bbox": [ + 373.616, + 488.111, + 113.059, + 229.823 + ], + "area": 25983.558557, + "iscrowd": 0 + }, + { + "id": 4015, + "image_id": 810, + "category_id": 1, + "bbox": [ + 619.164, + 494.554, + 109.897, + 223.933 + ], + "area": 24609.564901, + "iscrowd": 0 + }, + { + "id": 4016, + "image_id": 810, + "category_id": 1, + "bbox": [ + 833.881, + 523.686, + 131.704, + 194.592 + ], + "area": 25628.544768000003, + "iscrowd": 0 + }, + { + "id": 4017, + "image_id": 810, + "category_id": 0, + "bbox": [ + 431.434, + 482.358, + 52.3379, + 87.7014 + ], + "area": 4590.107103060001, + "iscrowd": 0 + }, + { + "id": 4018, + "image_id": 810, + "category_id": 0, + "bbox": [ + 635.128, + 598.35, + 50.9234, + 103.261 + ], + "area": 5258.4012074, + "iscrowd": 0 + }, + { + "id": 4019, + "image_id": 810, + "category_id": 0, + "bbox": [ + 868.527, + 561.572, + 106.09, + 103.261 + ], + "area": 10954.95949, + "iscrowd": 0 + }, + { + "id": 4074, + "image_id": 821, + "category_id": 0, + "bbox": [ + 509.88, + 573.796, + 171.231, + 144.915 + ], + "area": 24813.940365, + "iscrowd": 0 + }, + { + "id": 4075, + "image_id": 821, + "category_id": 1, + "bbox": [ + 499.383, + 498.848, + 69.3573, + 97.3855 + ], + "area": 6754.395339149999, + "iscrowd": 0 + }, + { + "id": 4076, + "image_id": 821, + "category_id": 1, + "bbox": [ + 436.515, + 578.315, + 103.65, + 140.283 + ], + "area": 14540.33295, + "iscrowd": 0 + }, + { + "id": 4077, + "image_id": 821, + "category_id": 0, + "bbox": [ + 477.208, + 547.431, + 31.1539, + 28.1062 + ], + "area": 875.61774418, + "iscrowd": 0 + }, + { + "id": 4096, + "image_id": 833, + "category_id": 1, + "bbox": [ + 361.837, + 451.141, + 48.9236, + 104.739 + ], + "area": 5124.2089404, + "iscrowd": 0 + }, + { + "id": 4097, + "image_id": 833, + "category_id": 0, + "bbox": [ + 401.729, + 495.088, + 38.1925, + 55.167 + ], + "area": 2106.9656475, + "iscrowd": 0 + }, + { + "id": 4160, + "image_id": 849, + "category_id": 1, + "bbox": [ + 494.915, + 473.476, + 85.6868, + 227.921 + ], + "area": 19529.8211428, + "iscrowd": 0 + }, + { + "id": 4161, + "image_id": 849, + "category_id": 1, + "bbox": [ + 115.605, + 458.223, + 77.9464, + 181.46 + ], + "area": 14144.153744, + "iscrowd": 0 + }, + { + "id": 4162, + "image_id": 849, + "category_id": 1, + "bbox": [ + 800.855, + 506.254, + 187.493, + 211.693 + ], + "area": 39690.955649, + "iscrowd": 0 + }, + { + "id": 4163, + "image_id": 849, + "category_id": 1, + "bbox": [ + 336.702, + 454.071, + 86.5834, + 111.134 + ], + "area": 9622.3595756, + "iscrowd": 0 + }, + { + "id": 4164, + "image_id": 849, + "category_id": 0, + "bbox": [ + 882.806, + 598.985, + 107.957, + 117.533 + ], + "area": 12688.510080999999, + "iscrowd": 0 + }, + { + "id": 4165, + "image_id": 849, + "category_id": 0, + "bbox": [ + 545.877, + 497.122, + 35.6953, + 53.9782 + ], + "area": 1926.7680424600003, + "iscrowd": 0 + }, + { + "id": 4166, + "image_id": 849, + "category_id": 0, + "bbox": [ + 393.519, + 502.346, + 33.9541, + 45.2721 + ], + "area": 1537.17341061, + "iscrowd": 0 + }, + { + "id": 4225, + "image_id": 857, + "category_id": 1, + "bbox": [ + 737.191, + 487.724, + 100.363, + 231.028 + ], + "area": 23186.663163999998, + "iscrowd": 0 + }, + { + "id": 4226, + "image_id": 857, + "category_id": 1, + "bbox": [ + 435.536, + 456.193, + 85.4276, + 246.044 + ], + "area": 21018.9484144, + "iscrowd": 0 + }, + { + "id": 4227, + "image_id": 857, + "category_id": 1, + "bbox": [ + 146.18, + 448.32, + 69.7357, + 210.09 + ], + "area": 14650.773212999999, + "iscrowd": 0 + }, + { + "id": 4228, + "image_id": 857, + "category_id": 1, + "bbox": [ + 324.095, + 459.64, + 52.011, + 108.536 + ], + "area": 5645.065896, + "iscrowd": 0 + }, + { + "id": 4229, + "image_id": 857, + "category_id": 1, + "bbox": [ + 44.108, + 450.988, + 42.7069, + 84.2842 + ], + "area": 3599.5169009799997, + "iscrowd": 0 + }, + { + "id": 4230, + "image_id": 857, + "category_id": 1, + "bbox": [ + 227.09, + 467.537, + 81.9504, + 103.034 + ], + "area": 8443.677513600001, + "iscrowd": 0 + }, + { + "id": 4231, + "image_id": 857, + "category_id": 0, + "bbox": [ + 483.971, + 509.286, + 41.6958, + 69.2451 + ], + "area": 2887.2298405799997, + "iscrowd": 0 + }, + { + "id": 4232, + "image_id": 857, + "category_id": 0, + "bbox": [ + 781.055, + 532.368, + 57.3318, + 75.9462 + ], + "area": 4354.132349160001, + "iscrowd": 0 + }, + { + "id": 4233, + "image_id": 857, + "category_id": 0, + "bbox": [ + 153.382, + 475.781, + 64.7776, + 78.9246 + ], + "area": 5112.546168960001, + "iscrowd": 0 + }, + { + "id": 4251, + "image_id": 860, + "category_id": 1, + "bbox": [ + 492.158, + 452.741, + 91.3202, + 265.549 + ], + "area": 24249.987789799998, + "iscrowd": 0 + }, + { + "id": 4252, + "image_id": 860, + "category_id": 1, + "bbox": [ + 728.195, + 516.625, + 143.189, + 202.539 + ], + "area": 29001.356870999996, + "iscrowd": 0 + }, + { + "id": 4253, + "image_id": 860, + "category_id": 1, + "bbox": [ + 414.155, + 460.476, + 74.1932, + 228.024 + ], + "area": 16917.8302368, + "iscrowd": 0 + }, + { + "id": 4254, + "image_id": 860, + "category_id": 1, + "bbox": [ + 152.29, + 450.435, + 69.7969, + 197.851 + ], + "area": 13809.386461899998, + "iscrowd": 0 + }, + { + "id": 4255, + "image_id": 860, + "category_id": 1, + "bbox": [ + 254.635, + 468.188, + 55.0569, + 102.334 + ], + "area": 5634.1928046, + "iscrowd": 0 + }, + { + "id": 4256, + "image_id": 860, + "category_id": 1, + "bbox": [ + 53.3078, + 451.783, + 69.0044, + 93.3215 + ], + "area": 6439.5941146000005, + "iscrowd": 0 + }, + { + "id": 4257, + "image_id": 860, + "category_id": 0, + "bbox": [ + 530.317, + 447.89, + 56.6069, + 90.3724 + ], + "area": 5115.70140956, + "iscrowd": 0 + }, + { + "id": 4258, + "image_id": 860, + "category_id": 0, + "bbox": [ + 162.869, + 480.662, + 50.6483, + 74.4828 + ], + "area": 3772.42719924, + "iscrowd": 0 + }, + { + "id": 4259, + "image_id": 860, + "category_id": 0, + "bbox": [ + 810.372, + 576.0, + 59.5862, + 76.469 + ], + "area": 4556.497127799999, + "iscrowd": 0 + }, + { + "id": 4260, + "image_id": 861, + "category_id": 1, + "bbox": [ + 720.011, + 514.98, + 155.377, + 204.243 + ], + "area": 31734.664611, + "iscrowd": 0 + }, + { + "id": 4261, + "image_id": 861, + "category_id": 1, + "bbox": [ + 504.023, + 462.702, + 90.2512, + 255.691 + ], + "area": 23076.4195792, + "iscrowd": 0 + }, + { + "id": 4262, + "image_id": 861, + "category_id": 1, + "bbox": [ + 458.233, + 461.262, + 61.4822, + 239.829 + ], + "area": 14745.2145438, + "iscrowd": 0 + }, + { + "id": 4263, + "image_id": 861, + "category_id": 1, + "bbox": [ + 174.235, + 453.747, + 66.5139, + 213.226 + ], + "area": 14182.4928414, + "iscrowd": 0 + }, + { + "id": 4264, + "image_id": 861, + "category_id": 1, + "bbox": [ + 51.5006, + 451.405, + 67.7195, + 91.8706 + ], + "area": 6221.431096699999, + "iscrowd": 0 + }, + { + "id": 4265, + "image_id": 861, + "category_id": 0, + "bbox": [ + 528.464, + 532.818, + 57.4607, + 81.838 + ], + "area": 4702.4687666, + "iscrowd": 0 + }, + { + "id": 4266, + "image_id": 861, + "category_id": 0, + "bbox": [ + 786.167, + 580.701, + 90.5442, + 119.275 + ], + "area": 10799.659455, + "iscrowd": 0 + }, + { + "id": 4267, + "image_id": 861, + "category_id": 0, + "bbox": [ + 190.665, + 481.452, + 53.1077, + 86.1912 + ], + "area": 4577.41639224, + "iscrowd": 0 + }, + { + "id": 4369, + "image_id": 877, + "category_id": 1, + "bbox": [ + 274.332, + 517.48, + 181.798, + 201.483 + ], + "area": 36629.206434, + "iscrowd": 0 + }, + { + "id": 4370, + "image_id": 877, + "category_id": 1, + "bbox": [ + 595.346, + 524.896, + 206.366, + 193.536 + ], + "area": 39939.250176, + "iscrowd": 0 + }, + { + "id": 4371, + "image_id": 877, + "category_id": 1, + "bbox": [ + 600.347, + 479.35, + 67.603, + 124.014 + ], + "area": 8383.718442, + "iscrowd": 0 + }, + { + "id": 4372, + "image_id": 877, + "category_id": 1, + "bbox": [ + 528.156, + 521.751, + 103.824, + 197.694 + ], + "area": 20525.381856, + "iscrowd": 0 + }, + { + "id": 4373, + "image_id": 877, + "category_id": 0, + "bbox": [ + 527.156, + 524.178, + 83.3919, + 123.599 + ], + "area": 10307.1554481, + "iscrowd": 0 + }, + { + "id": 4579, + "image_id": 906, + "category_id": 1, + "bbox": [ + 308.921, + 502.528, + 182.273, + 216.849 + ], + "area": 39525.717777, + "iscrowd": 0 + }, + { + "id": 4580, + "image_id": 906, + "category_id": 1, + "bbox": [ + 473.318, + 488.175, + 99.3632, + 230.75 + ], + "area": 22928.0584, + "iscrowd": 0 + }, + { + "id": 4581, + "image_id": 906, + "category_id": 1, + "bbox": [ + 540.431, + 495.417, + 162.006, + 185.233 + ], + "area": 30008.857398, + "iscrowd": 0 + }, + { + "id": 4582, + "image_id": 906, + "category_id": 1, + "bbox": [ + 533.562, + 566.807, + 233.327, + 152.494 + ], + "area": 35580.967538, + "iscrowd": 0 + }, + { + "id": 4583, + "image_id": 906, + "category_id": 1, + "bbox": [ + 830.526, + 484.947, + 75.2355, + 165.21 + ], + "area": 12429.656955, + "iscrowd": 0 + }, + { + "id": 4584, + "image_id": 906, + "category_id": 1, + "bbox": [ + 875.244, + 475.213, + 56.0201, + 172.251 + ], + "area": 9649.5182451, + "iscrowd": 0 + }, + { + "id": 4585, + "image_id": 906, + "category_id": 0, + "bbox": [ + 847.117, + 529.324, + 49.6552, + 65.5448 + ], + "area": 3254.64015296, + "iscrowd": 0 + }, + { + "id": 4586, + "image_id": 906, + "category_id": 0, + "bbox": [ + 591.89, + 610.759, + 133.076, + 109.241 + ], + "area": 14537.355316, + "iscrowd": 0 + }, + { + "id": 4638, + "image_id": 914, + "category_id": 0, + "bbox": [ + 533.27, + 588.001, + 71.6821, + 84.881 + ], + "area": 6084.448330100001, + "iscrowd": 0 + }, + { + "id": 4639, + "image_id": 914, + "category_id": 1, + "bbox": [ + 620.473, + 566.62, + 145.986, + 151.768 + ], + "area": 22156.003247999997, + "iscrowd": 0 + }, + { + "id": 4640, + "image_id": 914, + "category_id": 1, + "bbox": [ + 538.358, + 502.531, + 84.9922, + 217.469 + ], + "area": 18483.1687418, + "iscrowd": 0 + }, + { + "id": 4641, + "image_id": 914, + "category_id": 1, + "bbox": [ + 611.722, + 480.391, + 110.75, + 141.372 + ], + "area": 15656.949000000002, + "iscrowd": 0 + }, + { + "id": 4642, + "image_id": 914, + "category_id": 1, + "bbox": [ + 769.008, + 665.46, + 155.3, + 53.7141 + ], + "area": 8341.79973, + "iscrowd": 0 + }, + { + "id": 4643, + "image_id": 914, + "category_id": 1, + "bbox": [ + 467.829, + 466.17, + 30.4167, + 101.812 + ], + "area": 3096.7850604, + "iscrowd": 0 + }, + { + "id": 4644, + "image_id": 914, + "category_id": 0, + "bbox": [ + 607.61, + 526.064, + 47.4468, + 53.4458 + ], + "area": 2535.83218344, + "iscrowd": 0 + }, + { + "id": 4762, + "image_id": 942, + "category_id": 1, + "bbox": [ + 582.921, + 522.438, + 189.577, + 196.53 + ], + "area": 37257.56781, + "iscrowd": 0 + }, + { + "id": 4763, + "image_id": 942, + "category_id": 1, + "bbox": [ + 391.113, + 486.017, + 108.573, + 232.672 + ], + "area": 25261.897055999998, + "iscrowd": 0 + }, + { + "id": 4764, + "image_id": 942, + "category_id": 1, + "bbox": [ + 124.575, + 547.016, + 124.304, + 172.498 + ], + "area": 21442.191392, + "iscrowd": 0 + }, + { + "id": 4765, + "image_id": 942, + "category_id": 1, + "bbox": [ + 118.179, + 503.503, + 54.6207, + 49.6552 + ], + "area": 2712.20178264, + "iscrowd": 0 + }, + { + "id": 4766, + "image_id": 943, + "category_id": 1, + "bbox": [ + 456.6, + 490.809, + 101.562, + 228.329 + ], + "area": 23189.549898, + "iscrowd": 0 + }, + { + "id": 4767, + "image_id": 943, + "category_id": 1, + "bbox": [ + 82.9618, + 558.585, + 122.282, + 160.859 + ], + "area": 19670.160238, + "iscrowd": 0 + }, + { + "id": 4768, + "image_id": 943, + "category_id": 1, + "bbox": [ + 660.222, + 530.594, + 220.344, + 188.918 + ], + "area": 41626.947792, + "iscrowd": 0 + }, + { + "id": 4769, + "image_id": 943, + "category_id": 1, + "bbox": [ + 73.2893, + 512.861, + 126.505, + 123.571 + ], + "area": 15632.349354999998, + "iscrowd": 0 + } + ], + "categories": [ + { + "id": 0, + "name": "2", + "supercategory": "" + }, + { + "id": 1, + "name": "1", + "supercategory": "" + } + ] +} \ No newline at end of file diff --git a/backend/backend/1/custom_exp_1/exp.py b/backend/backend/1/custom_exp_1/exp.py new file mode 100644 index 0000000..63b48ce --- /dev/null +++ b/backend/backend/1/custom_exp_1/exp.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Copyright (c) Megvii, Inc. and its affiliates. + +import os + +from yolox.exp import Exp as MyExp + + +class Exp(MyExp): + def __init__(self): + super(Exp, self).__init__() + self.data_dir = "/home/kitraining/To_Annotate" # Where images are located + self.annotations_dir = "./backend/1/custom_exp_1" # Where annotation JSONs are located + self.train_ann = "coco_project_1_train.json" + self.val_ann = "coco_project_1_valid.json" + self.test_ann = "coco_project_1_test.json" + self.num_classes = 2 + # Disable train2017 subdirectory - our images are directly in data_dir + self.name = "" + # Set data workers for training + self.data_num_workers = 8 + self.depth = 1.0 + self.width = 1.0 + self.input_size = (640.0, 640.0) + self.mosaic_scale = (0.1, 2.0) + self.test_size = (640.0, 640.0) + self.enable_mixup = True + self.max_epoch = 300 + self.warmup_epochs = 5 + self.warmup_lr = 0.0 + self.scheduler = "yoloxwarmcos" + self.no_aug_epochs = 15 + self.min_lr_ratio = 0.05 + self.ema = True + self.weight_decay = 0.0005 + self.momentum = 0.9 + self.print_interval = 10 + self.eval_interval = 10 + self.test_conf = 0.01 + self.nms_thre = 0.65 + self.mosaic_prob = 1.0 + self.mixup_prob = 1.0 + self.hsv_prob = 1.0 + self.flip_prob = 0.5 + self.degrees = 10.0 + self.translate = 0.1 + self.shear = 2.0 + self.mixup_scale = (0.5, 1.5) + self.activation = "silu" + self.random_size = (10, 20) + + def get_dataset(self, cache=False, cache_type="ram"): + """Override to use name parameter for images directory""" + from yolox.data import COCODataset + + # COCODataset constructs image paths as: os.path.join(data_dir, name, file_name) + # YOLOX adds "annotations/" to data_dir automatically, so we pass annotations_dir directly + # Use empty string for name since we have absolute paths in JSON + return COCODataset( + data_dir=self.annotations_dir, + json_file=self.train_ann, + name="", + img_size=self.input_size, + preproc=self.preproc if hasattr(self, 'preproc') else None, + cache=cache, + cache_type=cache_type, + ) + + def get_eval_dataset(self, **kwargs): + """Override eval dataset using name parameter""" + from yolox.data import COCODataset + + testdev = kwargs.get("testdev", False) + legacy = kwargs.get("legacy", False) + + return COCODataset( + data_dir=self.annotations_dir, + json_file=self.val_ann if not testdev else self.test_ann, + name="", + img_size=self.test_size, + preproc=None, # No preprocessing for evaluation + ) + self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] diff --git a/backend/check_db.py b/backend/check_db.py index 26060c4..aae97a1 100644 --- a/backend/check_db.py +++ b/backend/check_db.py @@ -1,14 +1,14 @@ -import pymysql - -conn = pymysql.connect(host='localhost', user='root', password='root', database='myapp') -cursor = conn.cursor() -cursor.execute('DESCRIBE image') -rows = cursor.fetchall() - -print("Current 'image' table structure:") -print("-" * 60) -for row in rows: - print(f"Field: {row[0]:<15} Type: {row[1]:<15} Null: {row[2]}") -print("-" * 60) - -conn.close() +import pymysql + +conn = pymysql.connect(host='localhost', user='root', password='root', database='myapp2') +cursor = conn.cursor() +cursor.execute('DESCRIBE image') +rows = cursor.fetchall() + +print("Current 'image' table structure:") +print("-" * 60) +for row in rows: + print(f"Field: {row[0]:<15} Type: {row[1]:<15} Null: {row[2]}") +print("-" * 60) + +conn.close() diff --git a/backend/data/README.md b/backend/data/README.md index 613cd66..fa4e58e 100644 --- a/backend/data/README.md +++ b/backend/data/README.md @@ -1,140 +1,140 @@ -# YOLOX Base Configuration System - -## Overview - -This directory contains base experiment configurations for YOLOX models. These configurations define "protected" parameters that are preserved during transfer learning from COCO-pretrained models. - -## How It Works - -### Transfer Learning Flow - -1. **COCO Transfer Learning** (`transfer_learning = 'coco'`): - - Loads base configuration from `data/yolox_*.py` based on `selected_model` - - Base parameters are **protected** and used as defaults - - User settings from the form only override what's explicitly set - - Result: Best of both worlds - proven COCO settings + your customizations - -2. **Sketch/Custom Training** (`transfer_learning = 'sketch'`): - - No base configuration loaded - - Uses only user-defined parameters from the training form - - Full control over all settings - -### Base Configuration Files - -- `yolox_s.py` - YOLOX-Small (depth=0.33, width=0.50) -- `yolox_m.py` - YOLOX-Medium (depth=0.67, width=0.75) -- `yolox_l.py` - YOLOX-Large (depth=1.0, width=1.0) -- `yolox_x.py` - YOLOX-XLarge (depth=1.33, width=1.25) - -### Protected Parameters - -These parameters are defined in base configs and **preserved** unless explicitly overridden: - -**Model Architecture:** -- `depth` - Model depth multiplier -- `width` - Model width multiplier -- `activation` - Activation function (silu) - -**Training Hyperparameters:** -- `basic_lr_per_img` - Learning rate per image -- `scheduler` - LR scheduler (yoloxwarmcos) -- `warmup_epochs` - Warmup epochs -- `max_epoch` - Maximum training epochs -- `no_aug_epochs` - No augmentation epochs -- `min_lr_ratio` - Minimum LR ratio - -**Optimizer:** -- `momentum` - SGD momentum -- `weight_decay` - Weight decay - -**Augmentation:** -- `mosaic_prob` - Mosaic probability -- `mixup_prob` - Mixup probability -- `hsv_prob` - HSV augmentation probability -- `flip_prob` - Flip probability -- `degrees` - Rotation degrees -- `translate` - Translation -- `shear` - Shear -- `mosaic_scale` - Mosaic scale range -- `mixup_scale` - Mixup scale range -- `enable_mixup` - Enable mixup - -**Input/Output:** -- `input_size` - Training input size -- `test_size` - Testing size -- `random_size` - Random size range - -**Evaluation:** -- `eval_interval` - Evaluation interval -- `print_interval` - Print interval - -## Customizing Base Configurations - -### Adding a New Model - -Create a new file `data/yolox_MODELNAME.py`: - -```python -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Base configuration for YOLOX-MODELNAME - -class BaseExp: - """Base experiment configuration for YOLOX-MODELNAME""" - - # Define protected parameters - depth = 1.0 - width = 1.0 - # ... other parameters -``` - -### Modifying Parameters - -Edit the corresponding `yolox_*.py` file and update the `BaseExp` class attributes. - -**Example:** To change YOLOX-S max epochs: -```python -# In data/yolox_s.py -class BaseExp: - max_epoch = 500 # Changed from 300 - # ... other parameters -``` - -## Parameter Priority - -The merge logic follows this priority (highest to lowest): - -1. **User form values** (if explicitly set, not None) -2. **Base config values** (if transfer_learning='coco') -3. **Default fallbacks** (hardcoded minimums) - -## Example - -### COCO Transfer Learning -``` -User sets in form: max_epoch=100, depth=0.5 -Base config (yolox_s.py) has: depth=0.33, width=0.50, max_epoch=300 - -Result: depth=0.5 (user override), width=0.50 (base), max_epoch=100 (user override) -``` - -### Sketch Training -``` -User sets in form: max_epoch=100, depth=0.5 -No base config loaded - -Result: depth=0.5 (user), max_epoch=100 (user), width=1.0 (default fallback) -``` - -## Debugging - -To see which base config was loaded, check Flask logs: -``` -Loaded base config for yolox-s: ['depth', 'width', 'activation', ...] -``` - -If base config fails to load: -``` -Warning: Could not load base config for yolox-s: [error message] -Falling back to custom settings only -``` +# YOLOX Base Configuration System + +## Overview + +This directory contains base experiment configurations for YOLOX models. These configurations define "protected" parameters that are preserved during transfer learning from COCO-pretrained models. + +## How It Works + +### Transfer Learning Flow + +1. **COCO Transfer Learning** (`transfer_learning = 'coco'`): + - Loads base configuration from `data/yolox_*.py` based on `selected_model` + - Base parameters are **protected** and used as defaults + - User settings from the form only override what's explicitly set + - Result: Best of both worlds - proven COCO settings + your customizations + +2. **Sketch/Custom Training** (`transfer_learning = 'sketch'`): + - No base configuration loaded + - Uses only user-defined parameters from the training form + - Full control over all settings + +### Base Configuration Files + +- `yolox_s.py` - YOLOX-Small (depth=0.33, width=0.50) +- `yolox_m.py` - YOLOX-Medium (depth=0.67, width=0.75) +- `yolox_l.py` - YOLOX-Large (depth=1.0, width=1.0) +- `yolox_x.py` - YOLOX-XLarge (depth=1.33, width=1.25) + +### Protected Parameters + +These parameters are defined in base configs and **preserved** unless explicitly overridden: + +**Model Architecture:** +- `depth` - Model depth multiplier +- `width` - Model width multiplier +- `activation` - Activation function (silu) + +**Training Hyperparameters:** +- `basic_lr_per_img` - Learning rate per image +- `scheduler` - LR scheduler (yoloxwarmcos) +- `warmup_epochs` - Warmup epochs +- `max_epoch` - Maximum training epochs +- `no_aug_epochs` - No augmentation epochs +- `min_lr_ratio` - Minimum LR ratio + +**Optimizer:** +- `momentum` - SGD momentum +- `weight_decay` - Weight decay + +**Augmentation:** +- `mosaic_prob` - Mosaic probability +- `mixup_prob` - Mixup probability +- `hsv_prob` - HSV augmentation probability +- `flip_prob` - Flip probability +- `degrees` - Rotation degrees +- `translate` - Translation +- `shear` - Shear +- `mosaic_scale` - Mosaic scale range +- `mixup_scale` - Mixup scale range +- `enable_mixup` - Enable mixup + +**Input/Output:** +- `input_size` - Training input size +- `test_size` - Testing size +- `random_size` - Random size range + +**Evaluation:** +- `eval_interval` - Evaluation interval +- `print_interval` - Print interval + +## Customizing Base Configurations + +### Adding a New Model + +Create a new file `data/yolox_MODELNAME.py`: + +```python +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Base configuration for YOLOX-MODELNAME + +class BaseExp: + """Base experiment configuration for YOLOX-MODELNAME""" + + # Define protected parameters + depth = 1.0 + width = 1.0 + # ... other parameters +``` + +### Modifying Parameters + +Edit the corresponding `yolox_*.py` file and update the `BaseExp` class attributes. + +**Example:** To change YOLOX-S max epochs: +```python +# In data/yolox_s.py +class BaseExp: + max_epoch = 500 # Changed from 300 + # ... other parameters +``` + +## Parameter Priority + +The merge logic follows this priority (highest to lowest): + +1. **User form values** (if explicitly set, not None) +2. **Base config values** (if transfer_learning='coco') +3. **Default fallbacks** (hardcoded minimums) + +## Example + +### COCO Transfer Learning +``` +User sets in form: max_epoch=100, depth=0.5 +Base config (yolox_s.py) has: depth=0.33, width=0.50, max_epoch=300 + +Result: depth=0.5 (user override), width=0.50 (base), max_epoch=100 (user override) +``` + +### Sketch Training +``` +User sets in form: max_epoch=100, depth=0.5 +No base config loaded + +Result: depth=0.5 (user), max_epoch=100 (user), width=1.0 (default fallback) +``` + +## Debugging + +To see which base config was loaded, check Flask logs: +``` +Loaded base config for yolox-s: ['depth', 'width', 'activation', ...] +``` + +If base config fails to load: +``` +Warning: Could not load base config for yolox-s: [error message] +Falling back to custom settings only +``` diff --git a/backend/data/__init__.py b/backend/data/__init__.py index f8167a6..83db142 100644 --- a/backend/data/__init__.py +++ b/backend/data/__init__.py @@ -1 +1 @@ -# Base experiment configurations for YOLOX models +# Base experiment configurations for YOLOX models diff --git a/backend/data/test_base_configs.py b/backend/data/test_base_configs.py index 624313c..9ce9bf5 100644 --- a/backend/data/test_base_configs.py +++ b/backend/data/test_base_configs.py @@ -1,79 +1,79 @@ -#!/usr/bin/env python3 -""" -Test script to demonstrate base configuration loading for YOLOX models -""" - -import sys -import os -sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) - -from services.generate_yolox_exp import load_base_config - -def test_base_configs(): - """Test loading all base configurations""" - models = ['yolox-s', 'yolox-m', 'yolox-l', 'yolox-x'] - - print("=" * 80) - print("YOLOX Base Configuration Test") - print("=" * 80) - - for model in models: - print(f"\n{'='*80}") - print(f"Model: {model.upper()}") - print(f"{'='*80}") - - try: - config = load_base_config(model) - - # Group parameters by category - arch_params = ['depth', 'width', 'activation'] - training_params = ['max_epoch', 'warmup_epochs', 'basic_lr_per_img', 'scheduler', - 'no_aug_epochs', 'min_lr_ratio'] - optimizer_params = ['momentum', 'weight_decay'] - augmentation_params = ['mosaic_prob', 'mixup_prob', 'hsv_prob', 'flip_prob', - 'degrees', 'translate', 'shear', 'mosaic_scale', - 'mixup_scale', 'enable_mixup'] - input_params = ['input_size', 'test_size', 'random_size'] - eval_params = ['eval_interval', 'print_interval'] - - print("\n[Architecture]") - for param in arch_params: - if param in config: - print(f" {param:25s} = {config[param]}") - - print("\n[Training Hyperparameters]") - for param in training_params: - if param in config: - print(f" {param:25s} = {config[param]}") - - print("\n[Optimizer]") - for param in optimizer_params: - if param in config: - print(f" {param:25s} = {config[param]}") - - print("\n[Data Augmentation]") - for param in augmentation_params: - if param in config: - print(f" {param:25s} = {config[param]}") - - print("\n[Input/Output]") - for param in input_params: - if param in config: - print(f" {param:25s} = {config[param]}") - - print("\n[Evaluation]") - for param in eval_params: - if param in config: - print(f" {param:25s} = {config[param]}") - - print(f"\nβœ“ Successfully loaded {len(config)} parameters") - - except Exception as e: - print(f"βœ— Error loading config: {e}") - - print("\n" + "="*80) - print("Test Complete") - print("="*80) - -if __name__ == '__main__': - test_base_configs() +#!/usr/bin/env python3 +""" +Test script to demonstrate base configuration loading for YOLOX models +""" + +import sys +import os +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) + +from services.generate_yolox_exp import load_base_config + +def test_base_configs(): + """Test loading all base configurations""" + models = ['yolox-s', 'yolox-m', 'yolox-l', 'yolox-x'] + + print("=" * 80) + print("YOLOX Base Configuration Test") + print("=" * 80) + + for model in models: + print(f"\n{'='*80}") + print(f"Model: {model.upper()}") + print(f"{'='*80}") + + try: + config = load_base_config(model) + + # Group parameters by category + arch_params = ['depth', 'width', 'activation'] + training_params = ['max_epoch', 'warmup_epochs', 'basic_lr_per_img', 'scheduler', + 'no_aug_epochs', 'min_lr_ratio'] + optimizer_params = ['momentum', 'weight_decay'] + augmentation_params = ['mosaic_prob', 'mixup_prob', 'hsv_prob', 'flip_prob', + 'degrees', 'translate', 'shear', 'mosaic_scale', + 'mixup_scale', 'enable_mixup'] + input_params = ['input_size', 'test_size', 'random_size'] + eval_params = ['eval_interval', 'print_interval'] + + print("\n[Architecture]") + for param in arch_params: + if param in config: + print(f" {param:25s} = {config[param]}") + + print("\n[Training Hyperparameters]") + for param in training_params: + if param in config: + print(f" {param:25s} = {config[param]}") + + print("\n[Optimizer]") + for param in optimizer_params: + if param in config: + print(f" {param:25s} = {config[param]}") + + print("\n[Data Augmentation]") + for param in augmentation_params: + if param in config: + print(f" {param:25s} = {config[param]}") + + print("\n[Input/Output]") + for param in input_params: + if param in config: + print(f" {param:25s} = {config[param]}") + + print("\n[Evaluation]") + for param in eval_params: + if param in config: + print(f" {param:25s} = {config[param]}") + + print(f"\nβœ“ Successfully loaded {len(config)} parameters") + + except Exception as e: + print(f"βœ— Error loading config: {e}") + + print("\n" + "="*80) + print("Test Complete") + print("="*80) + +if __name__ == '__main__': + test_base_configs() diff --git a/backend/data/yolox_l.py b/backend/data/yolox_l.py index 16f53ea..0b6e99b 100644 --- a/backend/data/yolox_l.py +++ b/backend/data/yolox_l.py @@ -1,15 +1,15 @@ -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Base configuration for YOLOX-L model -# These parameters are preserved during transfer learning from COCO - -class BaseExp: - """Base experiment configuration for YOLOX-L""" - - # Model architecture (protected - always use these for yolox-l) - depth = 1.0 - width = 1.0 - - scheduler = "yoloxwarmcos" - - activation = "silu" +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Base configuration for YOLOX-L model +# These parameters are preserved during transfer learning from COCO + +class BaseExp: + """Base experiment configuration for YOLOX-L""" + + # Model architecture (protected - always use these for yolox-l) + depth = 1.0 + width = 1.0 + + scheduler = "yoloxwarmcos" + + activation = "silu" diff --git a/backend/data/yolox_m.py b/backend/data/yolox_m.py index 27f15a3..b39fe13 100644 --- a/backend/data/yolox_m.py +++ b/backend/data/yolox_m.py @@ -1,15 +1,15 @@ -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Base configuration for YOLOX-M model -# These parameters are preserved during transfer learning from COCO - -class BaseExp: - """Base experiment configuration for YOLOX-M""" - - # Model architecture (protected - always use these for yolox-m) - depth = 0.67 - width = 0.75 - - scheduler = "yoloxwarmcos" - +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Base configuration for YOLOX-M model +# These parameters are preserved during transfer learning from COCO + +class BaseExp: + """Base experiment configuration for YOLOX-M""" + + # Model architecture (protected - always use these for yolox-m) + depth = 0.67 + width = 0.75 + + scheduler = "yoloxwarmcos" + activation = "silu" \ No newline at end of file diff --git a/backend/data/yolox_s.py b/backend/data/yolox_s.py index d6ba3b9..642ee55 100644 --- a/backend/data/yolox_s.py +++ b/backend/data/yolox_s.py @@ -1,17 +1,17 @@ -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Base configuration for YOLOX-S model -# These parameters are preserved during transfer learning from COCO - -class BaseExp: - """Base experiment configuration for YOLOX-S""" - - # Model architecture (protected - always use these for yolox-s) - depth = 0.33 - width = 0.50 - - scheduler = "yoloxwarmcos" - - activation = "silu" - - +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Base configuration for YOLOX-S model +# These parameters are preserved during transfer learning from COCO + +class BaseExp: + """Base experiment configuration for YOLOX-S""" + + # Model architecture (protected - always use these for yolox-s) + depth = 0.33 + width = 0.50 + + scheduler = "yoloxwarmcos" + + activation = "silu" + + diff --git a/backend/data/yolox_x.py b/backend/data/yolox_x.py index 55dafa1..f9f8d7d 100644 --- a/backend/data/yolox_x.py +++ b/backend/data/yolox_x.py @@ -1,15 +1,15 @@ -#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Base configuration for YOLOX-X model -# These parameters are preserved during transfer learning from COCO - -class BaseExp: - """Base experiment configuration for YOLOX-X""" - - # Model architecture (protected - always use these for yolox-x) - depth = 1.33 - width = 1.25 - - scheduler = "yoloxwarmcos" - +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Base configuration for YOLOX-X model +# These parameters are preserved during transfer learning from COCO + +class BaseExp: + """Base experiment configuration for YOLOX-X""" + + # Model architecture (protected - always use these for yolox-x) + depth = 1.33 + width = 1.25 + + scheduler = "yoloxwarmcos" + activation = "silu" \ No newline at end of file diff --git a/backend/database/__init__.py b/backend/database/__init__.py index 5a2305d..d46a06b 100644 --- a/backend/database/__init__.py +++ b/backend/database/__init__.py @@ -1,4 +1,4 @@ -# Database module -from database.database import db - -__all__ = ['db'] +# Database module +from database.database import db + +__all__ = ['db'] diff --git a/backend/database/database.js b/backend/database/database.js index d47cf4d..12b0555 100644 --- a/backend/database/database.js +++ b/backend/database/database.js @@ -1,10 +1,10 @@ -// database.js -const { Sequelize } = require('sequelize'); - -const sequelize = new Sequelize('myapp', 'root', 'root', { - host: 'localhost', - dialect: 'mysql', - logging: false, -}); - -module.exports = sequelize; +// database.js +const { Sequelize } = require('sequelize'); + +const sequelize = new Sequelize('myapp', 'root', 'root', { + host: 'localhost', + dialect: 'mysql', + logging: false, +}); + +module.exports = sequelize; diff --git a/backend/database/database.py b/backend/database/database.py index 5debe6e..c601440 100644 --- a/backend/database/database.py +++ b/backend/database/database.py @@ -1,9 +1,9 @@ -from flask_sqlalchemy import SQLAlchemy - -db = SQLAlchemy() - -def init_db(app): - """Initialize database with app context""" - db.init_app(app) - with app.app_context(): - db.create_all() +from flask_sqlalchemy import SQLAlchemy + +db = SQLAlchemy() + +def init_db(app): + """Initialize database with app context""" + db.init_app(app) + with app.app_context(): + db.create_all() diff --git a/backend/database/migration_add_image_dimensions.sql b/backend/database/migration_add_image_dimensions.sql deleted file mode 100644 index 02adc8a..0000000 --- a/backend/database/migration_add_image_dimensions.sql +++ /dev/null @@ -1,12 +0,0 @@ --- Migration: Add width and height columns to image table --- Date: 2025-11-27 - -USE myapp; - --- Add width and height columns to image table -ALTER TABLE `image` -ADD COLUMN `width` FLOAT NULL AFTER `image_path`, -ADD COLUMN `height` FLOAT NULL AFTER `width`; - --- Verify the changes -DESCRIBE `image`; diff --git a/backend/models/Annotation.js b/backend/models/Annotation.js index fe092cd..e41e008 100644 --- a/backend/models/Annotation.js +++ b/backend/models/Annotation.js @@ -1,40 +1,40 @@ -const { DataTypes } = require('sequelize'); -const sequelize = require('../database/database.js'); - - -const Annotation = sequelize.define('Annotation', { - annotation_id: { - type: DataTypes.INTEGER, - primaryKey: true, - autoIncrement: true, - }, - image_id: { - type: DataTypes.INTEGER, - allowNull: false, - }, - x: { - type: DataTypes.FLOAT, - allowNull: false, - }, - y: { - type: DataTypes.FLOAT, - allowNull: false, - }, - height: { - type: DataTypes.FLOAT, - allowNull: false, - }, - width: { - type: DataTypes.FLOAT, - allowNull: false, - }, - Label: { - type: DataTypes.STRING, - allowNull: false, - }, -}, { - tableName: 'annotation', - timestamps: false, -}); - -module.exports = Annotation; +const { DataTypes } = require('sequelize'); +const sequelize = require('../database/database.js'); + + +const Annotation = sequelize.define('Annotation', { + annotation_id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + image_id: { + type: DataTypes.INTEGER, + allowNull: false, + }, + x: { + type: DataTypes.FLOAT, + allowNull: false, + }, + y: { + type: DataTypes.FLOAT, + allowNull: false, + }, + height: { + type: DataTypes.FLOAT, + allowNull: false, + }, + width: { + type: DataTypes.FLOAT, + allowNull: false, + }, + Label: { + type: DataTypes.STRING, + allowNull: false, + }, +}, { + tableName: 'annotation', + timestamps: false, +}); + +module.exports = Annotation; diff --git a/backend/models/Annotation.py b/backend/models/Annotation.py index 9b30150..2c80105 100644 --- a/backend/models/Annotation.py +++ b/backend/models/Annotation.py @@ -1,23 +1,23 @@ -from database.database import db - -class Annotation(db.Model): - __tablename__ = 'annotation' - - annotation_id = db.Column(db.Integer, primary_key=True, autoincrement=True) - image_id = db.Column(db.Integer, nullable=False) - x = db.Column(db.Float, nullable=False) - y = db.Column(db.Float, nullable=False) - height = db.Column(db.Float, nullable=False) - width = db.Column(db.Float, nullable=False) - Label = db.Column(db.String(255), nullable=False) - - def to_dict(self): - return { - 'annotation_id': self.annotation_id, - 'image_id': self.image_id, - 'x': self.x, - 'y': self.y, - 'height': self.height, - 'width': self.width, - 'Label': self.Label - } +from database.database import db + +class Annotation(db.Model): + __tablename__ = 'annotation' + + annotation_id = db.Column(db.Integer, primary_key=True, autoincrement=True) + image_id = db.Column(db.Integer, db.ForeignKey('image.image_id', ondelete='CASCADE'), nullable=False) + x = db.Column(db.Float, nullable=False) + y = db.Column(db.Float, nullable=False) + height = db.Column(db.Float, nullable=False) + width = db.Column(db.Float, nullable=False) + Label = db.Column(db.String(255), nullable=False) + + def to_dict(self): + return { + 'annotation_id': self.annotation_id, + 'image_id': self.image_id, + 'x': self.x, + 'y': self.y, + 'height': self.height, + 'width': self.width, + 'Label': self.Label + } diff --git a/backend/models/AnnotationProjectMapping.py b/backend/models/AnnotationProjectMapping.py new file mode 100644 index 0000000..70b287f --- /dev/null +++ b/backend/models/AnnotationProjectMapping.py @@ -0,0 +1,21 @@ +from database.database import db + +class AnnotationProjectMapping(db.Model): + """Mapping between training project details and label studio projects (3NF)""" + __tablename__ = 'annotation_project_mapping' + + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + project_details_id = db.Column(db.Integer, db.ForeignKey('training_project_details.id', ondelete='CASCADE'), nullable=False) + label_studio_project_id = db.Column(db.Integer, db.ForeignKey('label_studio_project.project_id', ondelete='CASCADE'), nullable=False) + + # Unique constraint: each label studio project can only be mapped once per training project details + __table_args__ = ( + db.UniqueConstraint('project_details_id', 'label_studio_project_id', name='uq_annotation_mapping'), + ) + + def to_dict(self): + return { + 'id': self.id, + 'project_details_id': self.project_details_id, + 'label_studio_project_id': self.label_studio_project_id + } diff --git a/backend/models/ClassMapping.py b/backend/models/ClassMapping.py new file mode 100644 index 0000000..d6c96c4 --- /dev/null +++ b/backend/models/ClassMapping.py @@ -0,0 +1,25 @@ +from database.database import db + +class ClassMapping(db.Model): + """Class name mappings for training project details (3NF)""" + __tablename__ = 'class_mapping' + + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + project_details_id = db.Column(db.Integer, db.ForeignKey('training_project_details.id', ondelete='CASCADE'), nullable=False) + label_studio_project_id = db.Column(db.Integer, db.ForeignKey('label_studio_project.project_id', ondelete='CASCADE'), nullable=False) + source_class = db.Column(db.String(255), nullable=False) + target_class = db.Column(db.String(255), nullable=False) + + # Unique constraint: each source class can only be mapped once per project details AND label studio project + __table_args__ = ( + db.UniqueConstraint('project_details_id', 'label_studio_project_id', 'source_class', name='uq_class_mapping'), + ) + + def to_dict(self): + return { + 'id': self.id, + 'project_details_id': self.project_details_id, + 'label_studio_project_id': self.label_studio_project_id, + 'source_class': self.source_class, + 'target_class': self.target_class + } diff --git a/backend/models/Images.js b/backend/models/Images.js index fc6d382..41a240b 100644 --- a/backend/models/Images.js +++ b/backend/models/Images.js @@ -1,35 +1,35 @@ - -const { DataTypes } = require('sequelize'); -const sequelize = require('../database/database.js'); - -const Image = sequelize.define('Image', { - image_id: { - type: DataTypes.INTEGER, - primaryKey: true, - autoIncrement: true, - }, - image_path: { - type: DataTypes.STRING, - allowNull: false, - }, - project_id: { - type: DataTypes.INTEGER, - allowNull: false, - }, - width: { - type: DataTypes.FLOAT, - allowNull: true, - }, - height: { - type: DataTypes.FLOAT, - allowNull: true, - }, - -}, { - tableName: 'image', - timestamps: false, -}); - -module.exports = Image; - - + +const { DataTypes } = require('sequelize'); +const sequelize = require('../database/database.js'); + +const Image = sequelize.define('Image', { + image_id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true, + }, + image_path: { + type: DataTypes.STRING, + allowNull: false, + }, + project_id: { + type: DataTypes.INTEGER, + allowNull: false, + }, + width: { + type: DataTypes.FLOAT, + allowNull: true, + }, + height: { + type: DataTypes.FLOAT, + allowNull: true, + }, + +}, { + tableName: 'image', + timestamps: false, +}); + +module.exports = Image; + + diff --git a/backend/models/Images.py b/backend/models/Images.py index 3c5848a..ee67ece 100644 --- a/backend/models/Images.py +++ b/backend/models/Images.py @@ -1,19 +1,19 @@ -from database.database import db - -class Image(db.Model): - __tablename__ = 'image' - - image_id = db.Column(db.Integer, primary_key=True, autoincrement=True) - image_path = db.Column(db.String(500), nullable=False) - project_id = db.Column(db.Integer, nullable=False) - width = db.Column(db.Float) - height = db.Column(db.Float) - - def to_dict(self): - return { - 'image_id': self.image_id, - 'image_path': self.image_path, - 'project_id': self.project_id, - 'width': self.width, - 'height': self.height - } +from database.database import db + +class Image(db.Model): + __tablename__ = 'image' + + image_id = db.Column(db.Integer, primary_key=True, autoincrement=True) + image_path = db.Column(db.String(500), nullable=False) + project_id = db.Column(db.Integer, db.ForeignKey('label_studio_project.project_id', ondelete='CASCADE'), nullable=False) + width = db.Column(db.Integer) + height = db.Column(db.Integer) + + def to_dict(self): + return { + 'image_id': self.image_id, + 'image_path': self.image_path, + 'project_id': self.project_id, + 'width': self.width, + 'height': self.height + } diff --git a/backend/models/LabelStudioProject.js b/backend/models/LabelStudioProject.js index 2763883..b86ff81 100644 --- a/backend/models/LabelStudioProject.js +++ b/backend/models/LabelStudioProject.js @@ -1,24 +1,24 @@ - -const { DataTypes } = require('sequelize'); -const sequelize = require('../database/database.js'); - -const Label_studio_project = sequelize.define('LabelStudioProject', { - project_id: { - type: DataTypes.INTEGER, - primaryKey: true, - unique: true, - allowNull: false, - }, - title:{ - type: DataTypes.STRING, - allowNull: false, - } - -}, { - tableName: 'label_studio_project', - timestamps: false, -}); - -module.exports = Label_studio_project; - - + +const { DataTypes } = require('sequelize'); +const sequelize = require('../database/database.js'); + +const Label_studio_project = sequelize.define('LabelStudioProject', { + project_id: { + type: DataTypes.INTEGER, + primaryKey: true, + unique: true, + allowNull: false, + }, + title:{ + type: DataTypes.STRING, + allowNull: false, + } + +}, { + tableName: 'label_studio_project', + timestamps: false, +}); + +module.exports = Label_studio_project; + + diff --git a/backend/models/LabelStudioProject.py b/backend/models/LabelStudioProject.py index a0c5953..6bdf1a3 100644 --- a/backend/models/LabelStudioProject.py +++ b/backend/models/LabelStudioProject.py @@ -1,13 +1,13 @@ -from database.database import db - -class LabelStudioProject(db.Model): - __tablename__ = 'label_studio_project' - - project_id = db.Column(db.Integer, primary_key=True, unique=True) - title = db.Column(db.String(255), nullable=False) - - def to_dict(self): - return { - 'project_id': self.project_id, - 'title': self.title - } +from database.database import db + +class LabelStudioProject(db.Model): + __tablename__ = 'label_studio_project' + + project_id = db.Column(db.Integer, primary_key=True, unique=True) + title = db.Column(db.String(255), nullable=False) + + def to_dict(self): + return { + 'project_id': self.project_id, + 'title': self.title + } diff --git a/backend/models/ProjectClass.py b/backend/models/ProjectClass.py new file mode 100644 index 0000000..7919f72 --- /dev/null +++ b/backend/models/ProjectClass.py @@ -0,0 +1,23 @@ +from database.database import db + +class ProjectClass(db.Model): + """Class definitions for training projects (3NF)""" + __tablename__ = 'project_class' + + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + project_id = db.Column(db.Integer, db.ForeignKey('training_project.project_id', ondelete='CASCADE'), nullable=False) + class_name = db.Column(db.String(255), nullable=False) + display_order = db.Column(db.Integer, default=0) + + # Unique constraint: one class name per project + __table_args__ = ( + db.UniqueConstraint('project_id', 'class_name', name='uq_project_class'), + ) + + def to_dict(self): + return { + 'id': self.id, + 'project_id': self.project_id, + 'class_name': self.class_name, + 'display_order': self.display_order + } diff --git a/backend/models/Settings.py b/backend/models/Settings.py new file mode 100644 index 0000000..7c2c6ba --- /dev/null +++ b/backend/models/Settings.py @@ -0,0 +1,21 @@ +from database.database import db + +class Settings(db.Model): + __tablename__ = 'settings' + + id = db.Column(db.Integer, primary_key=True) + key = db.Column(db.String(255), unique=True, nullable=False) + value = db.Column(db.Text, nullable=True) + description = db.Column(db.String(500), nullable=True) + created_at = db.Column(db.DateTime, server_default=db.func.now()) + updated_at = db.Column(db.DateTime, server_default=db.func.now(), onupdate=db.func.now()) + + def to_dict(self): + return { + 'id': self.id, + 'key': self.key, + 'value': self.value, + 'description': self.description, + 'created_at': self.created_at.isoformat() if self.created_at else None, + 'updated_at': self.updated_at.isoformat() if self.updated_at else None + } diff --git a/backend/models/TrainingProject.js b/backend/models/TrainingProject.js index 3a8420c..2161929 100644 --- a/backend/models/TrainingProject.js +++ b/backend/models/TrainingProject.js @@ -1,38 +1,38 @@ -const { DataTypes } = require('sequelize'); -const sequelize = require('../database/database.js'); - -const Training_Project = sequelize.define('LabelStudioProject', { - project_id: { - type: DataTypes.INTEGER, - primaryKey: true, - unique: true, - allowNull: false, - autoIncrement: true, - }, - title:{ - type: DataTypes.STRING, - allowNull: false, - }, - description: { - type: DataTypes.STRING, - }, - classes: { - type: DataTypes.JSON, - allowNull: false, - }, - project_image: { - type: DataTypes.BLOB, - }, - project_image_type: { - type: DataTypes.STRING, - allowNull: true, - } - -}, { - tableName: 'training_project', - timestamps: false, -}); - -module.exports = Training_Project; - - +const { DataTypes } = require('sequelize'); +const sequelize = require('../database/database.js'); + +const Training_Project = sequelize.define('LabelStudioProject', { + project_id: { + type: DataTypes.INTEGER, + primaryKey: true, + unique: true, + allowNull: false, + autoIncrement: true, + }, + title:{ + type: DataTypes.STRING, + allowNull: false, + }, + description: { + type: DataTypes.STRING, + }, + classes: { + type: DataTypes.JSON, + allowNull: false, + }, + project_image: { + type: DataTypes.BLOB, + }, + project_image_type: { + type: DataTypes.STRING, + allowNull: true, + } + +}, { + tableName: 'training_project', + timestamps: false, +}); + +module.exports = Training_Project; + + diff --git a/backend/models/TrainingProject.py b/backend/models/TrainingProject.py index 96b89d8..6d52b84 100644 --- a/backend/models/TrainingProject.py +++ b/backend/models/TrainingProject.py @@ -1,28 +1,36 @@ -from database.database import db - -class TrainingProject(db.Model): - __tablename__ = 'training_project' - - project_id = db.Column(db.Integer, primary_key=True, unique=True, autoincrement=True) - title = db.Column(db.String(255), nullable=False) - description = db.Column(db.String(500)) - classes = db.Column(db.JSON, nullable=False) - project_image = db.Column(db.LargeBinary) - project_image_type = db.Column(db.String(100)) - - def to_dict(self): - result = { - 'project_id': self.project_id, - 'title': self.title, - 'description': self.description, - 'classes': self.classes, - 'project_image_type': self.project_image_type - } - if self.project_image: - import base64 - base64_data = base64.b64encode(self.project_image).decode('utf-8') - mime_type = self.project_image_type or 'image/png' - result['project_image'] = f'data:{mime_type};base64,{base64_data}' - else: - result['project_image'] = None - return result +from database.database import db + +class TrainingProject(db.Model): + __tablename__ = 'training_project' + + project_id = db.Column(db.Integer, primary_key=True, unique=True, autoincrement=True) + title = db.Column(db.String(255), nullable=False) + description = db.Column(db.String(500)) + project_image = db.Column(db.LargeBinary) + project_image_type = db.Column(db.String(100)) + + # Relationship to classes (3NF) + classes_relation = db.relationship('ProjectClass', backref='project', lazy=True, cascade='all, delete-orphan') + + def to_dict(self, include_classes=True): + result = { + 'project_id': self.project_id, + 'title': self.title, + 'description': self.description, + 'project_image_type': self.project_image_type + } + + # Include classes as array for backwards compatibility + if include_classes: + from models.ProjectClass import ProjectClass + classes = ProjectClass.query.filter_by(project_id=self.project_id).order_by(ProjectClass.display_order).all() + result['classes'] = [c.class_name for c in classes] + + if self.project_image: + import base64 + base64_data = base64.b64encode(self.project_image).decode('utf-8') + mime_type = self.project_image_type or 'image/png' + result['project_image'] = f'data:{mime_type};base64,{base64_data}' + else: + result['project_image'] = None + return result diff --git a/backend/models/TrainingProjectDetails.js b/backend/models/TrainingProjectDetails.js index 779b076..872cf11 100644 --- a/backend/models/TrainingProjectDetails.js +++ b/backend/models/TrainingProjectDetails.js @@ -1,33 +1,33 @@ -const { DataTypes } = require('sequelize'); -const sequelize = require('../database/database.js'); - -const TrainingProjectDetails = sequelize.define('TrainingProjectDetails', { - id: { - type: DataTypes.INTEGER, - primaryKey: true, - autoIncrement: true, - unique: true, - }, - project_id: { - type: DataTypes.INTEGER, - allowNull: false, - unique: true, - }, - annotation_projects: { - type: DataTypes.JSON, - allowNull: false, - }, - class_map: { - type: DataTypes.JSON, - allowNull: true, - }, - description: { - type: DataTypes.JSON, - allowNull: true, - } -}, { - tableName: 'training_project_details', - timestamps: false, -}); - -module.exports = TrainingProjectDetails; +const { DataTypes } = require('sequelize'); +const sequelize = require('../database/database.js'); + +const TrainingProjectDetails = sequelize.define('TrainingProjectDetails', { + id: { + type: DataTypes.INTEGER, + primaryKey: true, + autoIncrement: true, + unique: true, + }, + project_id: { + type: DataTypes.INTEGER, + allowNull: false, + unique: true, + }, + annotation_projects: { + type: DataTypes.JSON, + allowNull: false, + }, + class_map: { + type: DataTypes.JSON, + allowNull: true, + }, + description: { + type: DataTypes.JSON, + allowNull: true, + } +}, { + tableName: 'training_project_details', + timestamps: false, +}); + +module.exports = TrainingProjectDetails; diff --git a/backend/models/TrainingProjectDetails.py b/backend/models/TrainingProjectDetails.py index 9f1ccbf..47eaa8f 100644 --- a/backend/models/TrainingProjectDetails.py +++ b/backend/models/TrainingProjectDetails.py @@ -1,19 +1,35 @@ -from database.database import db - -class TrainingProjectDetails(db.Model): - __tablename__ = 'training_project_details' - - id = db.Column(db.Integer, primary_key=True, unique=True, autoincrement=True) - project_id = db.Column(db.Integer, nullable=False, unique=True) - annotation_projects = db.Column(db.JSON, nullable=False) - class_map = db.Column(db.JSON) - description = db.Column(db.JSON) - - def to_dict(self): - return { - 'id': self.id, - 'project_id': self.project_id, - 'annotation_projects': self.annotation_projects, - 'class_map': self.class_map, - 'description': self.description - } +from database.database import db + +class TrainingProjectDetails(db.Model): + __tablename__ = 'training_project_details' + + id = db.Column(db.Integer, primary_key=True, unique=True, autoincrement=True) + project_id = db.Column(db.Integer, db.ForeignKey('training_project.project_id', ondelete='CASCADE'), nullable=False, unique=True) + description_text = db.Column(db.Text) # Renamed from 'description' JSON to plain text + + # Relationships (3NF) + annotation_mappings = db.relationship('AnnotationProjectMapping', backref='project_details', lazy=True, cascade='all, delete-orphan') + class_mappings = db.relationship('ClassMapping', backref='project_details', lazy=True, cascade='all, delete-orphan') + + def to_dict(self, include_mappings=True): + result = { + 'id': self.id, + 'project_id': self.project_id, + 'description': self.description_text + } + + # Include mappings for backwards compatibility + if include_mappings: + from models.AnnotationProjectMapping import AnnotationProjectMapping + from models.ClassMapping import ClassMapping + + # Get annotation projects as array + mappings = AnnotationProjectMapping.query.filter_by(project_details_id=self.id).all() + result['annotation_projects'] = [m.label_studio_project_id for m in mappings] + + # Get class map as dictionary (grouped by label_studio_project_id for backwards compatibility) + # Return format: {source: target} (flattened across all projects) + class_maps = ClassMapping.query.filter_by(project_details_id=self.id).all() + result['class_map'] = {cm.source_class: cm.target_class for cm in class_maps} + + return result diff --git a/backend/models/TrainingSize.py b/backend/models/TrainingSize.py new file mode 100644 index 0000000..9201127 --- /dev/null +++ b/backend/models/TrainingSize.py @@ -0,0 +1,25 @@ +from database.database import db + +class TrainingSize(db.Model): + """Size configurations for training (3NF - replaces JSON arrays)""" + __tablename__ = 'training_size' + + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + training_id = db.Column(db.Integer, db.ForeignKey('training.id', ondelete='CASCADE'), nullable=False) + size_type = db.Column(db.String(50), nullable=False) # 'input_size', 'test_size', 'mosaic_scale', 'mixup_scale' + value_order = db.Column(db.Integer, nullable=False, default=0) # Order in array (0=first, 1=second) + value = db.Column(db.Float, nullable=False) + + # Composite key ensures proper ordering + __table_args__ = ( + db.UniqueConstraint('training_id', 'size_type', 'value_order', name='uq_training_size'), + ) + + def to_dict(self): + return { + 'id': self.id, + 'training_id': self.training_id, + 'size_type': self.size_type, + 'value_order': self.value_order, + 'value': self.value + } diff --git a/backend/models/__init__.py b/backend/models/__init__.py index ccf4d18..caf5d59 100644 --- a/backend/models/__init__.py +++ b/backend/models/__init__.py @@ -1,16 +1,26 @@ -# Import all models to ensure they are registered with SQLAlchemy -from models.TrainingProject import TrainingProject -from models.TrainingProjectDetails import TrainingProjectDetails -from models.training import Training -from models.LabelStudioProject import LabelStudioProject -from models.Images import Image -from models.Annotation import Annotation - -__all__ = [ - 'TrainingProject', - 'TrainingProjectDetails', - 'Training', - 'LabelStudioProject', - 'Image', - 'Annotation' -] +# Import all models to ensure they are registered with SQLAlchemy +from models.TrainingProject import TrainingProject +from models.TrainingProjectDetails import TrainingProjectDetails +from models.training import Training +from models.LabelStudioProject import LabelStudioProject +from models.Images import Image +from models.Annotation import Annotation +from models.Settings import Settings +from models.ProjectClass import ProjectClass +from models.AnnotationProjectMapping import AnnotationProjectMapping +from models.ClassMapping import ClassMapping +from models.TrainingSize import TrainingSize + +__all__ = [ + 'TrainingProject', + 'TrainingProjectDetails', + 'Training', + 'LabelStudioProject', + 'Image', + 'Annotation', + 'Settings', + 'ProjectClass', + 'AnnotationProjectMapping', + 'ClassMapping', + 'TrainingSize' +] diff --git a/backend/models/index.js b/backend/models/index.js index 78d2e54..8273bec 100644 --- a/backend/models/index.js +++ b/backend/models/index.js @@ -1,30 +1,30 @@ -const LabelStudioProject = require('./LabelStudioProject.js'); -const Annotation = require('./Annotation.js'); -const Image = require('./Images.js'); -const sequelize = require('../database/database.js'); -const TrainingProjectDetails = require('./TrainingProjectDetails.js'); -const TrainingProject = require('./TrainingProject.js'); -const Training = require('./training.js'); - - - -const Project = LabelStudioProject; -const Img = Image; -const Ann = Annotation; - -// Associations -Project.hasMany(Img, { foreignKey: 'project_id' }); -Img.belongsTo(Project, { foreignKey: 'project_id' }); - -Img.hasMany(Ann, { foreignKey: 'image_id' }); -Ann.belongsTo(Img, { foreignKey: 'image_id' }); - -// TrainingProjectDetails <-> TrainingProject -TrainingProjectDetails.belongsTo(TrainingProject, { foreignKey: 'project_id' }); -TrainingProject.hasOne(TrainingProjectDetails, { foreignKey: 'project_id' }); - -// Training <-> TrainingProjectDetails -Training.belongsTo(TrainingProjectDetails, { foreignKey: 'project_details_id' }); -TrainingProjectDetails.hasMany(Training, { foreignKey: 'project_details_id' }); - -module.exports = { Project, Img, Ann, TrainingProjectDetails, TrainingProject, Training }; +const LabelStudioProject = require('./LabelStudioProject.js'); +const Annotation = require('./Annotation.js'); +const Image = require('./Images.js'); +const sequelize = require('../database/database.js'); +const TrainingProjectDetails = require('./TrainingProjectDetails.js'); +const TrainingProject = require('./TrainingProject.js'); +const Training = require('./training.js'); + + + +const Project = LabelStudioProject; +const Img = Image; +const Ann = Annotation; + +// Associations +Project.hasMany(Img, { foreignKey: 'project_id' }); +Img.belongsTo(Project, { foreignKey: 'project_id' }); + +Img.hasMany(Ann, { foreignKey: 'image_id' }); +Ann.belongsTo(Img, { foreignKey: 'image_id' }); + +// TrainingProjectDetails <-> TrainingProject +TrainingProjectDetails.belongsTo(TrainingProject, { foreignKey: 'project_id' }); +TrainingProject.hasOne(TrainingProjectDetails, { foreignKey: 'project_id' }); + +// Training <-> TrainingProjectDetails +Training.belongsTo(TrainingProjectDetails, { foreignKey: 'project_details_id' }); +TrainingProjectDetails.hasMany(Training, { foreignKey: 'project_details_id' }); + +module.exports = { Project, Img, Ann, TrainingProjectDetails, TrainingProject, Training }; diff --git a/backend/models/training.js b/backend/models/training.js index 9e3679f..7315917 100644 --- a/backend/models/training.js +++ b/backend/models/training.js @@ -1,140 +1,140 @@ -const { DataTypes } = require('sequelize'); -const sequelize = require('../database/database.js'); - -const Training = sequelize.define('training', { - id: { - type: DataTypes.INTEGER, - autoIncrement: true, - unique: true, - primaryKey: true - }, - exp_name: { - type: DataTypes.STRING(255) - }, - max_epoch: { - type: DataTypes.INTEGER - }, - depth: { - type: DataTypes.FLOAT - }, - width: { - type: DataTypes.FLOAT - }, - activation: { - type: DataTypes.STRING(255) - }, - warmup_epochs: { - type: DataTypes.INTEGER - }, - warmup_lr: { - type: DataTypes.FLOAT - }, - basic_lr_per_img: { - type: DataTypes.FLOAT - }, - scheduler: { - type: DataTypes.STRING(255) - }, - no_aug_epochs: { - type: DataTypes.INTEGER - }, - min_lr_ratio: { - type: DataTypes.FLOAT - }, - ema: { - type: DataTypes.BOOLEAN - }, - weight_decay: { - type: DataTypes.FLOAT - }, - momentum: { - type: DataTypes.FLOAT - }, - input_size: { - type: DataTypes.JSON - }, - print_interval: { - type: DataTypes.INTEGER - }, - eval_interval: { - type: DataTypes.INTEGER - }, - save_history_ckpt: { - type: DataTypes.BOOLEAN - }, - test_size: { - type: DataTypes.JSON - }, - test_conf: { - type: DataTypes.FLOAT - }, - nms_thre: { - type: DataTypes.FLOAT - }, - multiscale_range: { - type: DataTypes.INTEGER - }, - enable_mixup: { - type: DataTypes.BOOLEAN - }, - mosaic_prob: { - type: DataTypes.FLOAT - }, - mixup_prob: { - type: DataTypes.FLOAT - }, - hsv_prob: { - type: DataTypes.FLOAT - }, - flip_prob: { - type: DataTypes.FLOAT - }, - degrees: { - type: DataTypes.FLOAT - }, - mosaic_scale: { - type: DataTypes.JSON - }, - mixup_scale: { - type: DataTypes.JSON - }, - translate: { - type: DataTypes.FLOAT - }, - shear: { - type: DataTypes.FLOAT - }, - training_name: { - type: DataTypes.STRING(255) - }, - project_details_id: { - type: DataTypes.INTEGER, - allowNull: false - }, - seed: { - type: DataTypes.INTEGER - }, - train: { - type: DataTypes.INTEGER - }, - valid: { - type: DataTypes.INTEGER - }, - test: { - type: DataTypes.INTEGER - }, - selected_model: { - type: DataTypes.STRING(255) - }, - transfer_learning: { - type: DataTypes.STRING(255) - }, - model_upload: { - type: DataTypes.BLOB - } -}, { - tableName: 'training', - timestamps: false -}); - -module.exports = Training; +const { DataTypes } = require('sequelize'); +const sequelize = require('../database/database.js'); + +const Training = sequelize.define('training', { + id: { + type: DataTypes.INTEGER, + autoIncrement: true, + unique: true, + primaryKey: true + }, + exp_name: { + type: DataTypes.STRING(255) + }, + max_epoch: { + type: DataTypes.INTEGER + }, + depth: { + type: DataTypes.FLOAT + }, + width: { + type: DataTypes.FLOAT + }, + activation: { + type: DataTypes.STRING(255) + }, + warmup_epochs: { + type: DataTypes.INTEGER + }, + warmup_lr: { + type: DataTypes.FLOAT + }, + basic_lr_per_img: { + type: DataTypes.FLOAT + }, + scheduler: { + type: DataTypes.STRING(255) + }, + no_aug_epochs: { + type: DataTypes.INTEGER + }, + min_lr_ratio: { + type: DataTypes.FLOAT + }, + ema: { + type: DataTypes.BOOLEAN + }, + weight_decay: { + type: DataTypes.FLOAT + }, + momentum: { + type: DataTypes.FLOAT + }, + input_size: { + type: DataTypes.JSON + }, + print_interval: { + type: DataTypes.INTEGER + }, + eval_interval: { + type: DataTypes.INTEGER + }, + save_history_ckpt: { + type: DataTypes.BOOLEAN + }, + test_size: { + type: DataTypes.JSON + }, + test_conf: { + type: DataTypes.FLOAT + }, + nms_thre: { + type: DataTypes.FLOAT + }, + multiscale_range: { + type: DataTypes.INTEGER + }, + enable_mixup: { + type: DataTypes.BOOLEAN + }, + mosaic_prob: { + type: DataTypes.FLOAT + }, + mixup_prob: { + type: DataTypes.FLOAT + }, + hsv_prob: { + type: DataTypes.FLOAT + }, + flip_prob: { + type: DataTypes.FLOAT + }, + degrees: { + type: DataTypes.FLOAT + }, + mosaic_scale: { + type: DataTypes.JSON + }, + mixup_scale: { + type: DataTypes.JSON + }, + translate: { + type: DataTypes.FLOAT + }, + shear: { + type: DataTypes.FLOAT + }, + training_name: { + type: DataTypes.STRING(255) + }, + project_details_id: { + type: DataTypes.INTEGER, + allowNull: false + }, + seed: { + type: DataTypes.INTEGER + }, + train: { + type: DataTypes.INTEGER + }, + valid: { + type: DataTypes.INTEGER + }, + test: { + type: DataTypes.INTEGER + }, + selected_model: { + type: DataTypes.STRING(255) + }, + transfer_learning: { + type: DataTypes.STRING(255) + }, + model_upload: { + type: DataTypes.BLOB + } +}, { + tableName: 'training', + timestamps: false +}); + +module.exports = Training; diff --git a/backend/models/training.py b/backend/models/training.py index 2f66ead..9d9e8c7 100644 --- a/backend/models/training.py +++ b/backend/models/training.py @@ -1,92 +1,109 @@ -from database.database import db - -class Training(db.Model): - __tablename__ = 'training' - - id = db.Column(db.Integer, primary_key=True, autoincrement=True, unique=True) - exp_name = db.Column(db.String(255)) - max_epoch = db.Column(db.Integer) - depth = db.Column(db.Float) - width = db.Column(db.Float) - activation = db.Column(db.String(255)) - warmup_epochs = db.Column(db.Integer) - warmup_lr = db.Column(db.Float) - basic_lr_per_img = db.Column(db.Float) - scheduler = db.Column(db.String(255)) - no_aug_epochs = db.Column(db.Integer) - min_lr_ratio = db.Column(db.Float) - ema = db.Column(db.Boolean) - weight_decay = db.Column(db.Float) - momentum = db.Column(db.Float) - input_size = db.Column(db.JSON) - print_interval = db.Column(db.Integer) - eval_interval = db.Column(db.Integer) - save_history_ckpt = db.Column(db.Boolean) - test_size = db.Column(db.JSON) - test_conf = db.Column(db.Float) - nms_thre = db.Column(db.Float) - multiscale_range = db.Column(db.Integer) - enable_mixup = db.Column(db.Boolean) - mosaic_prob = db.Column(db.Float) - mixup_prob = db.Column(db.Float) - hsv_prob = db.Column(db.Float) - flip_prob = db.Column(db.Float) - degrees = db.Column(db.Float) - mosaic_scale = db.Column(db.JSON) - mixup_scale = db.Column(db.JSON) - translate = db.Column(db.Float) - shear = db.Column(db.Float) - training_name = db.Column(db.String(255)) - project_details_id = db.Column(db.Integer, nullable=False) - seed = db.Column(db.Integer) - train = db.Column(db.Integer) - valid = db.Column(db.Integer) - test = db.Column(db.Integer) - selected_model = db.Column(db.String(255)) - transfer_learning = db.Column(db.String(255)) - model_upload = db.Column(db.LargeBinary) - - def to_dict(self): - return { - 'id': self.id, - 'exp_name': self.exp_name, - 'max_epoch': self.max_epoch, - 'depth': self.depth, - 'width': self.width, - 'activation': self.activation, - 'warmup_epochs': self.warmup_epochs, - 'warmup_lr': self.warmup_lr, - 'basic_lr_per_img': self.basic_lr_per_img, - 'scheduler': self.scheduler, - 'no_aug_epochs': self.no_aug_epochs, - 'min_lr_ratio': self.min_lr_ratio, - 'ema': self.ema, - 'weight_decay': self.weight_decay, - 'momentum': self.momentum, - 'input_size': self.input_size, - 'print_interval': self.print_interval, - 'eval_interval': self.eval_interval, - 'save_history_ckpt': self.save_history_ckpt, - 'test_size': self.test_size, - 'test_conf': self.test_conf, - 'nms_thre': self.nms_thre, - 'multiscale_range': self.multiscale_range, - 'enable_mixup': self.enable_mixup, - 'mosaic_prob': self.mosaic_prob, - 'mixup_prob': self.mixup_prob, - 'hsv_prob': self.hsv_prob, - 'flip_prob': self.flip_prob, - 'degrees': self.degrees, - 'mosaic_scale': self.mosaic_scale, - 'mixup_scale': self.mixup_scale, - 'translate': self.translate, - 'shear': self.shear, - 'training_name': self.training_name, - 'project_details_id': self.project_details_id, - 'seed': self.seed, - 'train': self.train, - 'valid': self.valid, - 'test': self.test, - 'selected_model': self.selected_model, - 'transfer_learning': self.transfer_learning - } +from database.database import db + +class Training(db.Model): + __tablename__ = 'training' + + id = db.Column(db.Integer, primary_key=True, autoincrement=True, unique=True) + exp_name = db.Column(db.String(255)) + max_epoch = db.Column(db.Integer) + depth = db.Column(db.Float) + width = db.Column(db.Float) + activation = db.Column(db.String(255)) + warmup_epochs = db.Column(db.Integer) + warmup_lr = db.Column(db.Float) + basic_lr_per_img = db.Column(db.Float) + scheduler = db.Column(db.String(255)) + no_aug_epochs = db.Column(db.Integer) + min_lr_ratio = db.Column(db.Float) + ema = db.Column(db.Boolean) + weight_decay = db.Column(db.Float) + momentum = db.Column(db.Float) + # input_size moved to TrainingSize table + print_interval = db.Column(db.Integer) + eval_interval = db.Column(db.Integer) + save_history_ckpt = db.Column(db.Boolean) + # test_size moved to TrainingSize table + test_conf = db.Column(db.Float) + nms_thre = db.Column(db.Float) + multiscale_range = db.Column(db.Integer) + enable_mixup = db.Column(db.Boolean) + mosaic_prob = db.Column(db.Float) + mixup_prob = db.Column(db.Float) + hsv_prob = db.Column(db.Float) + flip_prob = db.Column(db.Float) + degrees = db.Column(db.Float) + # mosaic_scale moved to TrainingSize table + # mixup_scale moved to TrainingSize table + translate = db.Column(db.Float) + shear = db.Column(db.Float) + training_name = db.Column(db.String(255)) + project_details_id = db.Column(db.Integer, db.ForeignKey('training_project_details.id', ondelete='CASCADE'), nullable=False) + seed = db.Column(db.Integer) + train = db.Column(db.Integer) + valid = db.Column(db.Integer) + test = db.Column(db.Integer) + selected_model = db.Column(db.String(255)) + transfer_learning = db.Column(db.String(255)) + model_upload = db.Column(db.LargeBinary) + + # Relationship to size configurations (3NF) + size_configs = db.relationship('TrainingSize', backref='training', lazy=True, cascade='all, delete-orphan') + + def to_dict(self, include_sizes=True): + result = { + 'id': self.id, + 'exp_name': self.exp_name, + 'max_epoch': self.max_epoch, + 'depth': self.depth, + 'width': self.width, + 'activation': self.activation, + 'warmup_epochs': self.warmup_epochs, + 'warmup_lr': self.warmup_lr, + 'basic_lr_per_img': self.basic_lr_per_img, + 'scheduler': self.scheduler, + 'no_aug_epochs': self.no_aug_epochs, + 'min_lr_ratio': self.min_lr_ratio, + 'ema': self.ema, + 'weight_decay': self.weight_decay, + 'momentum': self.momentum, + 'print_interval': self.print_interval, + 'eval_interval': self.eval_interval, + 'save_history_ckpt': self.save_history_ckpt, + 'test_conf': self.test_conf, + 'nms_thre': self.nms_thre, + 'multiscale_range': self.multiscale_range, + 'enable_mixup': self.enable_mixup, + 'mosaic_prob': self.mosaic_prob, + 'mixup_prob': self.mixup_prob, + 'hsv_prob': self.hsv_prob, + 'flip_prob': self.flip_prob, + 'degrees': self.degrees, + 'translate': self.translate, + 'shear': self.shear, + 'training_name': self.training_name, + 'project_details_id': self.project_details_id, + 'seed': self.seed, + 'train': self.train, + 'valid': self.valid, + 'test': self.test, + 'selected_model': self.selected_model, + 'transfer_learning': self.transfer_learning + } + + # Include size arrays for backwards compatibility + if include_sizes: + from models.TrainingSize import TrainingSize + + def get_size_array(size_type): + sizes = TrainingSize.query.filter_by( + training_id=self.id, + size_type=size_type + ).order_by(TrainingSize.value_order).all() + return [s.value for s in sizes] if sizes else None + + result['input_size'] = get_size_array('input_size') + result['test_size'] = get_size_array('test_size') + result['mosaic_scale'] = get_size_array('mosaic_scale') + result['mixup_scale'] = get_size_array('mixup_scale') + + return result diff --git a/backend/requirements.txt b/backend/requirements.txt index 7bf80ec..35b495b 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,8 +1,8 @@ -Flask==3.0.0 -Flask-CORS==4.0.0 -Flask-SQLAlchemy==3.1.1 -SQLAlchemy==2.0.23 -PyMySQL==1.1.0 -python-dotenv==1.0.0 -requests==2.31.0 -Pillow==10.1.0 +Flask==3.0.0 +Flask-CORS==4.0.0 +Flask-SQLAlchemy==3.1.1 +SQLAlchemy==2.0.23 +PyMySQL==1.1.0 +python-dotenv==1.0.0 +requests==2.31.0 +Pillow==10.1.0 diff --git a/backend/routes/__init__.py b/backend/routes/__init__.py index 1102393..b71815a 100644 --- a/backend/routes/__init__.py +++ b/backend/routes/__init__.py @@ -1 +1 @@ -# Routes module +# Routes module diff --git a/backend/routes/api.js b/backend/routes/api.js index 917279d..cd593fc 100644 --- a/backend/routes/api.js +++ b/backend/routes/api.js @@ -1,496 +1,496 @@ -const express = require('express'); -const multer = require('multer'); -const upload = multer(); -const TrainingProject = require('../models/TrainingProject.js'); -const LabelStudioProject = require('../models/LabelStudioProject.js') -const { seedLabelStudio, updateStatus } = require('../services/seed-label-studio.js'); -const fs = require('fs'); -const path = require('path'); -const {generateTrainingJson} = require('../services/generate-json-yolox.js') - - -const router = express.Router(); - -// Ensure JSON bodies are parsed for all routes -router.use(express.json()); - -router.get('/seed', async (req, res) => { - const result = await seedLabelStudio(); - res.json(result); -}); - - - -// Trigger generate-json-yolox.js - -router.post('/generate-yolox-json', async (req, res) => { - const { project_id } = req.body; - if (!project_id) { - return res.status(400).json({ message: 'Missing project_id in request body' }); - } - try { - // Generate COCO JSONs - // Find all TrainingProjectDetails for this project - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const detailsRows = await TrainingProjectDetails.findAll({ where: { project_id } }); - if (!detailsRows || detailsRows.length === 0) { - return res.status(404).json({ message: 'No TrainingProjectDetails found for project ' + project_id }); - } - // For each details row, generate coco.jsons and exp.py in projectfolder/project_details_id - const Training = require('../models/training.js'); - const { saveYoloxExp } = require('../services/generate-yolox-exp.js'); - const TrainingProject = require('../models/TrainingProject.js'); - const trainingProject = await TrainingProject.findByPk(project_id); - const projectName = trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${project_id}`; - for (const details of detailsRows) { - const detailsId = details.id; - await generateTrainingJson(detailsId); - const trainings = await Training.findAll({ where: { project_details_id: detailsId } }); - if (trainings.length === 0) continue; - // For each training, save exp.py in projectfolder/project_details_id - const outDir = path.join(__dirname, '..', projectName, String(detailsId)); - if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true }); - for (const training of trainings) { - const expFilePath = path.join(outDir, 'exp.py'); - await saveYoloxExp(training.id, expFilePath); - } - } - - // Find all trainings for this project - // ...existing code... - res.json({ message: 'YOLOX JSON and exp.py generated for project ' + project_id }); - } catch (err) { - console.error('Error generating YOLOX JSON:', err); - res.status(500).json({ message: 'Failed to generate YOLOX JSON', error: err.message }); - } -}); - -// Start YOLOX training -const { spawn } = require('child_process'); -router.post('/start-yolox-training', async (req, res) => { - try { - const { project_id, training_id } = req.body; - // Get project name - const trainingProject = await TrainingProject.findByPk(project_id); - const projectName = trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${project_id}`; - // Look up training row by id or project_details_id - const Training = require('../models/training.js'); - let trainingRow = await Training.findByPk(training_id); - if (!trainingRow) { - trainingRow = await Training.findOne({ where: { project_details_id: training_id } }); - } - if (!trainingRow) { - return res.status(404).json({ error: `Training row not found for id or project_details_id ${training_id}` }); - } - const project_details_id = trainingRow.project_details_id; - // Use the generated exp.py from the correct project folder - const outDir = path.join(__dirname, '..', projectName, String(project_details_id)); - const yoloxMainDir = '/home/kitraining/Yolox/YOLOX-main'; - const expSrc = path.join(outDir, 'exp.py'); - if (!fs.existsSync(expSrc)) { - return res.status(500).json({ error: `exp.py not found at ${expSrc}` }); - } - // Source venv and run YOLOX training in YOLOX-main folder - const yoloxVenv = '/home/kitraining/Yolox/yolox_venv/bin/activate'; - // Determine model argument based on selected_model and transfer_learning - let modelArg = ''; - let cmd = ''; - if ( - trainingRow.transfer_learning && - typeof trainingRow.transfer_learning === 'string' && - trainingRow.transfer_learning.toLowerCase() === 'coco' - ) { - // If transfer_learning is 'coco', add -o and modelArg - modelArg = ` -c /home/kitraining/Yolox/YOLOX-main/pretrained/${trainingRow.selected_model}`; - cmd = `bash -c 'source ${yoloxVenv} && python tools/train.py -f ${expSrc} -d 1 -b 8 --fp16 -o ${modelArg}.pth --cache'`; - } else if ( - trainingRow.selected_model && - trainingRow.selected_model.toLowerCase() === 'coco' && - (!trainingRow.transfer_learning || trainingRow.transfer_learning === false) - ) { - // If selected_model is 'coco' and not transfer_learning, add modelArg only - modelArg = ` -c /pretrained/${trainingRow.selected_model}`; - cmd = `bash -c 'source ${yoloxVenv} && python tools/train.py -f ${expSrc} -d 1 -b 8 --fp16 -o ${modelArg}.pth --cache'`; - } else { - // Default: no modelArg - cmd = `bash -c 'source ${yoloxVenv} && python tools/train.py -f ${expSrc} -d 1 -b 8 --fp16' --cache`; - } - console.log(cmd) - const child = spawn(cmd, { shell: true, cwd: yoloxMainDir }); - child.stdout.pipe(process.stdout); - child.stderr.pipe(process.stderr); - - res.json({ message: 'Training started' }); - } catch (err) { - res.status(500).json({ error: 'Failed to start training', details: err.message }); - } -}); - -// Get YOLOX training log -router.get('/training-log', async (req, res) => { - try { - const { project_id, training_id } = req.query; - const trainingProject = await TrainingProject.findByPk(project_id); - const projectName = trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${project_id}`; - const outDir = path.join(__dirname, '..', projectName, String(training_id)); - const logPath = path.join(outDir, 'training.log'); - if (!fs.existsSync(logPath)) { - return res.status(404).json({ error: 'Log not found' }); - } - const logData = fs.readFileSync(logPath, 'utf8'); - res.json({ log: logData }); - } catch (err) { - res.status(500).json({ error: 'Failed to fetch log', details: err.message }); - } -}); - -router.post('/training-projects', upload.single('project_image'), async (req, res) => { - try { - const { title, description } = req.body; - const classes = JSON.parse(req.body.classes); - const project_image = req.file ? req.file.buffer : null; - const project_image_type = req.file ? req.file.mimetype : null; - await TrainingProject.create({ - title, - description, - classes, - project_image, - project_image_type - }); - res.json({ message: 'Project created!' }); - } catch (error) { - console.error('Error creating project:', error); - res.status(500).json({ message: 'Failed to create project', error: error.message }); - } -}); - -router.get('/training-projects', async (req, res) => { - try { - const projects = await TrainingProject.findAll(); - // Convert BLOB to base64 data URL for each project - const serialized = projects.map(project => { - const plain = project.get({ plain: true }); - if (plain.project_image) { - const base64 = Buffer.from(plain.project_image).toString('base64'); - const mimeType = plain.project_image_type || 'image/png'; - plain.project_image = `data:${mimeType};base64,${base64}`; - } - return plain; - }); - res.json(serialized); - } catch (error) { - res.status(500).json({ message: 'Failed to fetch projects', error: error.message }); - } -}); - -router.get('/update-status', async (req, res) => { - res.json(updateStatus) -}) - -router.get('/label-studio-projects', async (req, res) => { - try { - const LabelStudioProject = require('../models/LabelStudioProject.js'); - const Image = require('../models/Images.js'); - const Annotation = require('../models/Annotation.js'); - const labelStudioProjects = await LabelStudioProject.findAll(); - const projectsWithCounts = await Promise.all(labelStudioProjects.map(async project => { - const plain = project.get({ plain: true }); - // Get all images for this project - const images = await Image.findAll({ where: { project_id: plain.project_id } }); - let annotationCounts = {}; - if (images.length > 0) { - const imageIds = images.map(img => img.image_id); - // Get all annotations for these images - const annotations = await Annotation.findAll({ where: { image_id: imageIds } }); - // Count by label - for (const ann of annotations) { - const label = ann.Label; - annotationCounts[label] = (annotationCounts[label] || 0) + 1; - } - } - plain.annotationCounts = annotationCounts; - return plain; - })); - res.json(projectsWithCounts); - } catch (error) { - res.status(500).json({ message: 'Failed to fetch projects', error: error.message }); - } -}) - - -// POST endpoint to create TrainingProjectDetails with all fields -router.post('/training-project-details', async (req, res) => { - try { - const { - project_id, - annotation_projects, - class_map, - description - } = req.body; - if (!project_id || !annotation_projects) { - return res.status(400).json({ message: 'Missing required fields' }); - } - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const created = await TrainingProjectDetails.create({ - project_id, - annotation_projects, - class_map: class_map || null, - description: description || null - }); - res.json({ message: 'TrainingProjectDetails created', details: created }); - } catch (error) { - res.status(500).json({ message: 'Failed to create TrainingProjectDetails', error: error.message }); - } -}); - -// GET endpoint to fetch all TrainingProjectDetails -router.get('/training-project-details', async (req, res) => { - try { - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const details = await TrainingProjectDetails.findAll(); - res.json(details); - } catch (error) { - res.status(500).json({ message: 'Failed to fetch TrainingProjectDetails', error: error.message }); - } -}); - -// PUT endpoint to update class_map and description in TrainingProjectDetails -router.put('/training-project-details', async (req, res) => { - try { - const { project_id, class_map, description } = req.body; - if (!project_id || !class_map || !description) { - return res.status(400).json({ message: 'Missing required fields' }); - } - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const details = await TrainingProjectDetails.findOne({ where: { project_id } }); - if (!details) { - return res.status(404).json({ message: 'TrainingProjectDetails not found' }); - } - details.class_map = class_map; - details.description = description; - await details.save(); - res.json({ message: 'Class map and description updated', details }); - } catch (error) { - res.status(500).json({ message: 'Failed to update class map or description', error: error.message }); - } -}); - -// POST endpoint to receive YOLOX settings and save to DB (handles multipart/form-data) -router.post('/yolox-settings', upload.any(), async (req, res) => { - try { - const settings = req.body; - // Debug: Log all received fields and types - console.log('--- YOLOX settings received ---'); - console.log('settings:', settings); - if (req.files && req.files.length > 0) { - console.log('Files received:', req.files.map(f => ({ fieldname: f.fieldname, originalname: f.originalname, size: f.size }))); - } - // Declare requiredFields once - const requiredFields = ['project_details_id', 'exp_name', 'max_epoch', 'depth', 'width', 'activation', 'train', 'valid', 'test', 'selected_model', 'transfer_learning']; - // Log types of required fields - requiredFields.forEach(field => { - console.log(`Field '${field}': value='${settings[field]}', type='${typeof settings[field]}'`); - }); - // Map select_model to selected_model if present - if (settings && settings.select_model && !settings.selected_model) { - settings.selected_model = settings.select_model; - delete settings.select_model; - } - // Lookup project_details_id from project_id - if (!settings.project_id || isNaN(Number(settings.project_id))) { - throw new Error('Missing or invalid project_id in request. Cannot assign training to a project.'); - } - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - let details = await TrainingProjectDetails.findOne({ where: { project_id: settings.project_id } }); - if (!details) { - details = await TrainingProjectDetails.create({ - project_id: settings.project_id, - annotation_projects: [], - class_map: null, - description: null - }); - } - settings.project_details_id = details.id; - // Map 'act' from frontend to 'activation' for DB - if (settings.act !== undefined) { - settings.activation = settings.act; - delete settings.act; - } - // Type conversion for DB compatibility - [ - 'max_epoch', 'depth', 'width', 'warmup_epochs', 'warmup_lr', 'no_aug_epochs', 'min_lr_ratio', 'weight_decay', 'momentum', 'print_interval', 'eval_interval', 'test_conf', 'nmsthre', 'multiscale_range', 'degrees', 'translate', 'shear', 'train', 'valid', 'test' - ].forEach(f => { - if (settings[f] !== undefined) settings[f] = Number(settings[f]); - }); - // Improved boolean conversion - ['ema', 'enable_mixup', 'save_history_ckpt'].forEach(f => { - if (settings[f] !== undefined) { - if (typeof settings[f] === 'string') { - settings[f] = settings[f].toLowerCase() === 'true'; - } else { - settings[f] = Boolean(settings[f]); - } - } - }); - // Improved array conversion - ['mosaic_scale', 'mixup_scale', 'scale'].forEach(f => { - if (settings[f] && typeof settings[f] === 'string') { - settings[f] = settings[f] - .split(',') - .map(s => Number(s.trim())) - .filter(n => !isNaN(n)); - } - }); - // Trim all string fields - Object.keys(settings).forEach(f => { - if (typeof settings[f] === 'string') settings[f] = settings[f].trim(); - }); - // Set default for transfer_learning if missing - if (settings.transfer_learning === undefined) settings.transfer_learning = false; - // Convert empty string seed to null - if ('seed' in settings && (settings.seed === '' || settings.seed === undefined)) { - settings.seed = null; - } - // Validate required fields for training table - for (const field of requiredFields) { - if (settings[field] === undefined || settings[field] === null || settings[field] === '') { - console.error('Missing required field:', field, 'Value:', settings[field]); - throw new Error('Missing required field: ' + field); - } - } - console.log('Received YOLOX settings:', settings); - // Handle uploaded model file (ckpt_upload) - if (req.files && req.files.length > 0) { - const ckptFile = req.files.find(f => f.fieldname === 'ckpt_upload'); - if (ckptFile) { - const uploadDir = path.join(__dirname, '..', 'uploads'); - if (!fs.existsSync(uploadDir)) fs.mkdirSync(uploadDir); - const filename = ckptFile.originalname || `uploaded_model_${settings.project_id}.pth`; - const filePath = path.join(uploadDir, filename); - fs.writeFileSync(filePath, ckptFile.buffer); - settings.model_upload = filePath; - } - } - // Save settings to DB only (no file) - const { pushYoloxExpToDb } = require('../services/push-yolox-exp.js'); - const training = await pushYoloxExpToDb(settings); - res.json({ message: 'YOLOX settings saved to DB', training }); - } catch (error) { - console.error('Error in /api/yolox-settings:', error.stack || error); - res.status(500).json({ message: 'Failed to save YOLOX settings', error: error.message }); - } -}); - -// POST endpoint to receive binary model file and save to disk (not DB) -router.post('/yolox-settings/upload', async (req, res) => { - try { - const projectId = req.query.project_id; - if (!projectId) return res.status(400).json({ message: 'Missing project_id in query' }); - // Save file to disk - const uploadDir = path.join(__dirname, '..', 'uploads'); - if (!fs.existsSync(uploadDir)) fs.mkdirSync(uploadDir); - const filename = req.headers['x-upload-filename'] || `uploaded_model_${projectId}.pth`; - const filePath = path.join(uploadDir, filename); - const chunks = []; - req.on('data', chunk => chunks.push(chunk)); - req.on('end', async () => { - const buffer = Buffer.concat(chunks); - fs.writeFile(filePath, buffer, async err => { - if (err) { - console.error('Error saving file:', err); - return res.status(500).json({ message: 'Failed to save model file', error: err.message }); - } - // Update latest training row for this project with file path - try { - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const Training = require('../models/training.js'); - // Find details row for this project - const details = await TrainingProjectDetails.findOne({ where: { project_id: projectId } }); - if (!details) return res.status(404).json({ message: 'No TrainingProjectDetails found for project_id' }); - // Find latest training for this details row - const training = await Training.findOne({ where: { project_details_id: details.id }, order: [['createdAt', 'DESC']] }); - if (!training) return res.status(404).json({ message: 'No training found for project_id' }); - // Save file path to model_upload field - training.model_upload = filePath; - await training.save(); - res.json({ message: 'Model file uploaded and saved to disk', filename, trainingId: training.id }); - } catch (dbErr) { - console.error('Error updating training with file path:', dbErr); - res.status(500).json({ message: 'File saved but failed to update training row', error: dbErr.message }); - } - }); - }); - } catch (error) { - console.error('Error in /api/yolox-settings/upload:', error.stack || error); - res.status(500).json({ message: 'Failed to upload model file', error: error.message }); - } -}); - -// GET endpoint to fetch all trainings (optionally filtered by project_id) -router.get('/trainings', async (req, res) => { - try { - const project_id = req.query.project_id; - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const Training = require('../models/training.js'); - if (project_id) { - // Find all details rows for this project - const detailsRows = await TrainingProjectDetails.findAll({ where: { project_id } }); - if (!detailsRows || detailsRows.length === 0) return res.json([]); - // Get all trainings linked to any details row for this project - const detailsIds = detailsRows.map(d => d.id); - const trainings = await Training.findAll({ where: { project_details_id: detailsIds } }); - return res.json(trainings); - } else { - // Return all trainings if no project_id is specified - const trainings = await Training.findAll(); - return res.json(trainings); - } - } catch (error) { - res.status(500).json({ message: 'Failed to fetch trainings', error: error.message }); - } -}); - -// DELETE endpoint to remove a training by id -router.delete('/trainings/:id', async (req, res) => { - try { - const Training = require('../models/training.js'); - const id = req.params.id; - const deleted = await Training.destroy({ where: { id } }); - if (deleted) { - res.json({ message: 'Training deleted' }); - } else { - res.status(404).json({ message: 'Training not found' }); - } - } catch (error) { - res.status(500).json({ message: 'Failed to delete training', error: error.message }); - } -}); - -// DELETE endpoint to remove a training project and all related entries -router.delete('/training-projects/:id', async (req, res) => { - try { - const projectId = req.params.id; - const TrainingProject = require('../models/TrainingProject.js'); - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const Training = require('../models/training.js'); - // Find details row(s) for this project - const detailsRows = await TrainingProjectDetails.findAll({ where: { project_id: projectId } }); - const detailsIds = detailsRows.map(d => d.id); - // Delete all trainings linked to these details - if (detailsIds.length > 0) { - await Training.destroy({ where: { project_details_id: detailsIds } }); - await TrainingProjectDetails.destroy({ where: { project_id: projectId } }); - } - // Delete the project itself - const deleted = await TrainingProject.destroy({ where: { project_id: projectId } }); - if (deleted) { - res.json({ message: 'Training project and all related entries deleted' }); - } else { - res.status(404).json({ message: 'Training project not found' }); - } - } catch (error) { - res.status(500).json({ message: 'Failed to delete training project', error: error.message }); - } -}); - -module.exports = router; +const express = require('express'); +const multer = require('multer'); +const upload = multer(); +const TrainingProject = require('../models/TrainingProject.js'); +const LabelStudioProject = require('../models/LabelStudioProject.js') +const { seedLabelStudio, updateStatus } = require('../services/seed-label-studio.js'); +const fs = require('fs'); +const path = require('path'); +const {generateTrainingJson} = require('../services/generate-json-yolox.js') + + +const router = express.Router(); + +// Ensure JSON bodies are parsed for all routes +router.use(express.json()); + +router.get('/seed', async (req, res) => { + const result = await seedLabelStudio(); + res.json(result); +}); + + + +// Trigger generate-json-yolox.js + +router.post('/generate-yolox-json', async (req, res) => { + const { project_id } = req.body; + if (!project_id) { + return res.status(400).json({ message: 'Missing project_id in request body' }); + } + try { + // Generate COCO JSONs + // Find all TrainingProjectDetails for this project + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const detailsRows = await TrainingProjectDetails.findAll({ where: { project_id } }); + if (!detailsRows || detailsRows.length === 0) { + return res.status(404).json({ message: 'No TrainingProjectDetails found for project ' + project_id }); + } + // For each details row, generate coco.jsons and exp.py in projectfolder/project_details_id + const Training = require('../models/training.js'); + const { saveYoloxExp } = require('../services/generate-yolox-exp.js'); + const TrainingProject = require('../models/TrainingProject.js'); + const trainingProject = await TrainingProject.findByPk(project_id); + const projectName = trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${project_id}`; + for (const details of detailsRows) { + const detailsId = details.id; + await generateTrainingJson(detailsId); + const trainings = await Training.findAll({ where: { project_details_id: detailsId } }); + if (trainings.length === 0) continue; + // For each training, save exp.py in projectfolder/project_details_id + const outDir = path.join(__dirname, '..', projectName, String(detailsId)); + if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true }); + for (const training of trainings) { + const expFilePath = path.join(outDir, 'exp.py'); + await saveYoloxExp(training.id, expFilePath); + } + } + + // Find all trainings for this project + // ...existing code... + res.json({ message: 'YOLOX JSON and exp.py generated for project ' + project_id }); + } catch (err) { + console.error('Error generating YOLOX JSON:', err); + res.status(500).json({ message: 'Failed to generate YOLOX JSON', error: err.message }); + } +}); + +// Start YOLOX training +const { spawn } = require('child_process'); +router.post('/start-yolox-training', async (req, res) => { + try { + const { project_id, training_id } = req.body; + // Get project name + const trainingProject = await TrainingProject.findByPk(project_id); + const projectName = trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${project_id}`; + // Look up training row by id or project_details_id + const Training = require('../models/training.js'); + let trainingRow = await Training.findByPk(training_id); + if (!trainingRow) { + trainingRow = await Training.findOne({ where: { project_details_id: training_id } }); + } + if (!trainingRow) { + return res.status(404).json({ error: `Training row not found for id or project_details_id ${training_id}` }); + } + const project_details_id = trainingRow.project_details_id; + // Use the generated exp.py from the correct project folder + const outDir = path.join(__dirname, '..', projectName, String(project_details_id)); + const yoloxMainDir = '/home/kitraining/Yolox/YOLOX-main'; + const expSrc = path.join(outDir, 'exp.py'); + if (!fs.existsSync(expSrc)) { + return res.status(500).json({ error: `exp.py not found at ${expSrc}` }); + } + // Source venv and run YOLOX training in YOLOX-main folder + const yoloxVenv = '/home/kitraining/Yolox/yolox_venv/bin/activate'; + // Determine model argument based on selected_model and transfer_learning + let modelArg = ''; + let cmd = ''; + if ( + trainingRow.transfer_learning && + typeof trainingRow.transfer_learning === 'string' && + trainingRow.transfer_learning.toLowerCase() === 'coco' + ) { + // If transfer_learning is 'coco', add -o and modelArg + modelArg = ` -c /home/kitraining/Yolox/YOLOX-main/pretrained/${trainingRow.selected_model}`; + cmd = `bash -c 'source ${yoloxVenv} && python tools/train.py -f ${expSrc} -d 1 -b 8 --fp16 -o ${modelArg}.pth --cache'`; + } else if ( + trainingRow.selected_model && + trainingRow.selected_model.toLowerCase() === 'coco' && + (!trainingRow.transfer_learning || trainingRow.transfer_learning === false) + ) { + // If selected_model is 'coco' and not transfer_learning, add modelArg only + modelArg = ` -c /pretrained/${trainingRow.selected_model}`; + cmd = `bash -c 'source ${yoloxVenv} && python tools/train.py -f ${expSrc} -d 1 -b 8 --fp16 -o ${modelArg}.pth --cache'`; + } else { + // Default: no modelArg + cmd = `bash -c 'source ${yoloxVenv} && python tools/train.py -f ${expSrc} -d 1 -b 8 --fp16' --cache`; + } + console.log(cmd) + const child = spawn(cmd, { shell: true, cwd: yoloxMainDir }); + child.stdout.pipe(process.stdout); + child.stderr.pipe(process.stderr); + + res.json({ message: 'Training started' }); + } catch (err) { + res.status(500).json({ error: 'Failed to start training', details: err.message }); + } +}); + +// Get YOLOX training log +router.get('/training-log', async (req, res) => { + try { + const { project_id, training_id } = req.query; + const trainingProject = await TrainingProject.findByPk(project_id); + const projectName = trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${project_id}`; + const outDir = path.join(__dirname, '..', projectName, String(training_id)); + const logPath = path.join(outDir, 'training.log'); + if (!fs.existsSync(logPath)) { + return res.status(404).json({ error: 'Log not found' }); + } + const logData = fs.readFileSync(logPath, 'utf8'); + res.json({ log: logData }); + } catch (err) { + res.status(500).json({ error: 'Failed to fetch log', details: err.message }); + } +}); + +router.post('/training-projects', upload.single('project_image'), async (req, res) => { + try { + const { title, description } = req.body; + const classes = JSON.parse(req.body.classes); + const project_image = req.file ? req.file.buffer : null; + const project_image_type = req.file ? req.file.mimetype : null; + await TrainingProject.create({ + title, + description, + classes, + project_image, + project_image_type + }); + res.json({ message: 'Project created!' }); + } catch (error) { + console.error('Error creating project:', error); + res.status(500).json({ message: 'Failed to create project', error: error.message }); + } +}); + +router.get('/training-projects', async (req, res) => { + try { + const projects = await TrainingProject.findAll(); + // Convert BLOB to base64 data URL for each project + const serialized = projects.map(project => { + const plain = project.get({ plain: true }); + if (plain.project_image) { + const base64 = Buffer.from(plain.project_image).toString('base64'); + const mimeType = plain.project_image_type || 'image/png'; + plain.project_image = `data:${mimeType};base64,${base64}`; + } + return plain; + }); + res.json(serialized); + } catch (error) { + res.status(500).json({ message: 'Failed to fetch projects', error: error.message }); + } +}); + +router.get('/update-status', async (req, res) => { + res.json(updateStatus) +}) + +router.get('/label-studio-projects', async (req, res) => { + try { + const LabelStudioProject = require('../models/LabelStudioProject.js'); + const Image = require('../models/Images.js'); + const Annotation = require('../models/Annotation.js'); + const labelStudioProjects = await LabelStudioProject.findAll(); + const projectsWithCounts = await Promise.all(labelStudioProjects.map(async project => { + const plain = project.get({ plain: true }); + // Get all images for this project + const images = await Image.findAll({ where: { project_id: plain.project_id } }); + let annotationCounts = {}; + if (images.length > 0) { + const imageIds = images.map(img => img.image_id); + // Get all annotations for these images + const annotations = await Annotation.findAll({ where: { image_id: imageIds } }); + // Count by label + for (const ann of annotations) { + const label = ann.Label; + annotationCounts[label] = (annotationCounts[label] || 0) + 1; + } + } + plain.annotationCounts = annotationCounts; + return plain; + })); + res.json(projectsWithCounts); + } catch (error) { + res.status(500).json({ message: 'Failed to fetch projects', error: error.message }); + } +}) + + +// POST endpoint to create TrainingProjectDetails with all fields +router.post('/training-project-details', async (req, res) => { + try { + const { + project_id, + annotation_projects, + class_map, + description + } = req.body; + if (!project_id || !annotation_projects) { + return res.status(400).json({ message: 'Missing required fields' }); + } + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const created = await TrainingProjectDetails.create({ + project_id, + annotation_projects, + class_map: class_map || null, + description: description || null + }); + res.json({ message: 'TrainingProjectDetails created', details: created }); + } catch (error) { + res.status(500).json({ message: 'Failed to create TrainingProjectDetails', error: error.message }); + } +}); + +// GET endpoint to fetch all TrainingProjectDetails +router.get('/training-project-details', async (req, res) => { + try { + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const details = await TrainingProjectDetails.findAll(); + res.json(details); + } catch (error) { + res.status(500).json({ message: 'Failed to fetch TrainingProjectDetails', error: error.message }); + } +}); + +// PUT endpoint to update class_map and description in TrainingProjectDetails +router.put('/training-project-details', async (req, res) => { + try { + const { project_id, class_map, description } = req.body; + if (!project_id || !class_map || !description) { + return res.status(400).json({ message: 'Missing required fields' }); + } + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const details = await TrainingProjectDetails.findOne({ where: { project_id } }); + if (!details) { + return res.status(404).json({ message: 'TrainingProjectDetails not found' }); + } + details.class_map = class_map; + details.description = description; + await details.save(); + res.json({ message: 'Class map and description updated', details }); + } catch (error) { + res.status(500).json({ message: 'Failed to update class map or description', error: error.message }); + } +}); + +// POST endpoint to receive YOLOX settings and save to DB (handles multipart/form-data) +router.post('/yolox-settings', upload.any(), async (req, res) => { + try { + const settings = req.body; + // Debug: Log all received fields and types + console.log('--- YOLOX settings received ---'); + console.log('settings:', settings); + if (req.files && req.files.length > 0) { + console.log('Files received:', req.files.map(f => ({ fieldname: f.fieldname, originalname: f.originalname, size: f.size }))); + } + // Declare requiredFields once + const requiredFields = ['project_details_id', 'exp_name', 'max_epoch', 'depth', 'width', 'activation', 'train', 'valid', 'test', 'selected_model', 'transfer_learning']; + // Log types of required fields + requiredFields.forEach(field => { + console.log(`Field '${field}': value='${settings[field]}', type='${typeof settings[field]}'`); + }); + // Map select_model to selected_model if present + if (settings && settings.select_model && !settings.selected_model) { + settings.selected_model = settings.select_model; + delete settings.select_model; + } + // Lookup project_details_id from project_id + if (!settings.project_id || isNaN(Number(settings.project_id))) { + throw new Error('Missing or invalid project_id in request. Cannot assign training to a project.'); + } + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + let details = await TrainingProjectDetails.findOne({ where: { project_id: settings.project_id } }); + if (!details) { + details = await TrainingProjectDetails.create({ + project_id: settings.project_id, + annotation_projects: [], + class_map: null, + description: null + }); + } + settings.project_details_id = details.id; + // Map 'act' from frontend to 'activation' for DB + if (settings.act !== undefined) { + settings.activation = settings.act; + delete settings.act; + } + // Type conversion for DB compatibility + [ + 'max_epoch', 'depth', 'width', 'warmup_epochs', 'warmup_lr', 'no_aug_epochs', 'min_lr_ratio', 'weight_decay', 'momentum', 'print_interval', 'eval_interval', 'test_conf', 'nmsthre', 'multiscale_range', 'degrees', 'translate', 'shear', 'train', 'valid', 'test' + ].forEach(f => { + if (settings[f] !== undefined) settings[f] = Number(settings[f]); + }); + // Improved boolean conversion + ['ema', 'enable_mixup', 'save_history_ckpt'].forEach(f => { + if (settings[f] !== undefined) { + if (typeof settings[f] === 'string') { + settings[f] = settings[f].toLowerCase() === 'true'; + } else { + settings[f] = Boolean(settings[f]); + } + } + }); + // Improved array conversion + ['mosaic_scale', 'mixup_scale', 'scale'].forEach(f => { + if (settings[f] && typeof settings[f] === 'string') { + settings[f] = settings[f] + .split(',') + .map(s => Number(s.trim())) + .filter(n => !isNaN(n)); + } + }); + // Trim all string fields + Object.keys(settings).forEach(f => { + if (typeof settings[f] === 'string') settings[f] = settings[f].trim(); + }); + // Set default for transfer_learning if missing + if (settings.transfer_learning === undefined) settings.transfer_learning = false; + // Convert empty string seed to null + if ('seed' in settings && (settings.seed === '' || settings.seed === undefined)) { + settings.seed = null; + } + // Validate required fields for training table + for (const field of requiredFields) { + if (settings[field] === undefined || settings[field] === null || settings[field] === '') { + console.error('Missing required field:', field, 'Value:', settings[field]); + throw new Error('Missing required field: ' + field); + } + } + console.log('Received YOLOX settings:', settings); + // Handle uploaded model file (ckpt_upload) + if (req.files && req.files.length > 0) { + const ckptFile = req.files.find(f => f.fieldname === 'ckpt_upload'); + if (ckptFile) { + const uploadDir = path.join(__dirname, '..', 'uploads'); + if (!fs.existsSync(uploadDir)) fs.mkdirSync(uploadDir); + const filename = ckptFile.originalname || `uploaded_model_${settings.project_id}.pth`; + const filePath = path.join(uploadDir, filename); + fs.writeFileSync(filePath, ckptFile.buffer); + settings.model_upload = filePath; + } + } + // Save settings to DB only (no file) + const { pushYoloxExpToDb } = require('../services/push-yolox-exp.js'); + const training = await pushYoloxExpToDb(settings); + res.json({ message: 'YOLOX settings saved to DB', training }); + } catch (error) { + console.error('Error in /api/yolox-settings:', error.stack || error); + res.status(500).json({ message: 'Failed to save YOLOX settings', error: error.message }); + } +}); + +// POST endpoint to receive binary model file and save to disk (not DB) +router.post('/yolox-settings/upload', async (req, res) => { + try { + const projectId = req.query.project_id; + if (!projectId) return res.status(400).json({ message: 'Missing project_id in query' }); + // Save file to disk + const uploadDir = path.join(__dirname, '..', 'uploads'); + if (!fs.existsSync(uploadDir)) fs.mkdirSync(uploadDir); + const filename = req.headers['x-upload-filename'] || `uploaded_model_${projectId}.pth`; + const filePath = path.join(uploadDir, filename); + const chunks = []; + req.on('data', chunk => chunks.push(chunk)); + req.on('end', async () => { + const buffer = Buffer.concat(chunks); + fs.writeFile(filePath, buffer, async err => { + if (err) { + console.error('Error saving file:', err); + return res.status(500).json({ message: 'Failed to save model file', error: err.message }); + } + // Update latest training row for this project with file path + try { + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const Training = require('../models/training.js'); + // Find details row for this project + const details = await TrainingProjectDetails.findOne({ where: { project_id: projectId } }); + if (!details) return res.status(404).json({ message: 'No TrainingProjectDetails found for project_id' }); + // Find latest training for this details row + const training = await Training.findOne({ where: { project_details_id: details.id }, order: [['createdAt', 'DESC']] }); + if (!training) return res.status(404).json({ message: 'No training found for project_id' }); + // Save file path to model_upload field + training.model_upload = filePath; + await training.save(); + res.json({ message: 'Model file uploaded and saved to disk', filename, trainingId: training.id }); + } catch (dbErr) { + console.error('Error updating training with file path:', dbErr); + res.status(500).json({ message: 'File saved but failed to update training row', error: dbErr.message }); + } + }); + }); + } catch (error) { + console.error('Error in /api/yolox-settings/upload:', error.stack || error); + res.status(500).json({ message: 'Failed to upload model file', error: error.message }); + } +}); + +// GET endpoint to fetch all trainings (optionally filtered by project_id) +router.get('/trainings', async (req, res) => { + try { + const project_id = req.query.project_id; + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const Training = require('../models/training.js'); + if (project_id) { + // Find all details rows for this project + const detailsRows = await TrainingProjectDetails.findAll({ where: { project_id } }); + if (!detailsRows || detailsRows.length === 0) return res.json([]); + // Get all trainings linked to any details row for this project + const detailsIds = detailsRows.map(d => d.id); + const trainings = await Training.findAll({ where: { project_details_id: detailsIds } }); + return res.json(trainings); + } else { + // Return all trainings if no project_id is specified + const trainings = await Training.findAll(); + return res.json(trainings); + } + } catch (error) { + res.status(500).json({ message: 'Failed to fetch trainings', error: error.message }); + } +}); + +// DELETE endpoint to remove a training by id +router.delete('/trainings/:id', async (req, res) => { + try { + const Training = require('../models/training.js'); + const id = req.params.id; + const deleted = await Training.destroy({ where: { id } }); + if (deleted) { + res.json({ message: 'Training deleted' }); + } else { + res.status(404).json({ message: 'Training not found' }); + } + } catch (error) { + res.status(500).json({ message: 'Failed to delete training', error: error.message }); + } +}); + +// DELETE endpoint to remove a training project and all related entries +router.delete('/training-projects/:id', async (req, res) => { + try { + const projectId = req.params.id; + const TrainingProject = require('../models/TrainingProject.js'); + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const Training = require('../models/training.js'); + // Find details row(s) for this project + const detailsRows = await TrainingProjectDetails.findAll({ where: { project_id: projectId } }); + const detailsIds = detailsRows.map(d => d.id); + // Delete all trainings linked to these details + if (detailsIds.length > 0) { + await Training.destroy({ where: { project_details_id: detailsIds } }); + await TrainingProjectDetails.destroy({ where: { project_id: projectId } }); + } + // Delete the project itself + const deleted = await TrainingProject.destroy({ where: { project_id: projectId } }); + if (deleted) { + res.json({ message: 'Training project and all related entries deleted' }); + } else { + res.status(404).json({ message: 'Training project not found' }); + } + } catch (error) { + res.status(500).json({ message: 'Failed to delete training project', error: error.message }); + } +}); + +module.exports = router; diff --git a/backend/routes/api.py b/backend/routes/api.py index b9b295c..07cf0f2 100644 --- a/backend/routes/api.py +++ b/backend/routes/api.py @@ -1,541 +1,857 @@ -from flask import Blueprint, request, jsonify, send_file -from werkzeug.utils import secure_filename -import os -import json -import subprocess -from database.database import db -from models.TrainingProject import TrainingProject -from models.TrainingProjectDetails import TrainingProjectDetails -from models.training import Training -from models.LabelStudioProject import LabelStudioProject -from models.Images import Image -from models.Annotation import Annotation - -api_bp = Blueprint('api', __name__) - -# Global update status (similar to Node.js version) -update_status = {"running": False} - -@api_bp.route('/seed', methods=['GET']) -def seed(): - """Trigger seeding from Label Studio""" - from services.seed_label_studio import seed_label_studio - result = seed_label_studio() - return jsonify(result) - -@api_bp.route('/generate-yolox-json', methods=['POST']) -def generate_yolox_json(): - """Generate YOLOX JSON and exp.py for a project""" - try: - data = request.get_json() - project_id = data.get('project_id') - - if not project_id: - return jsonify({'message': 'Missing project_id in request body'}), 400 - - # Find all TrainingProjectDetails for this project - details_rows = TrainingProjectDetails.query.filter_by(project_id=project_id).all() - - if not details_rows: - return jsonify({'message': f'No TrainingProjectDetails found for project {project_id}'}), 404 - - # Get project name - training_project = TrainingProject.query.get(project_id) - project_name = training_project.title.replace(' ', '_') if training_project.title else f'project_{project_id}' - - from services.generate_json_yolox import generate_training_json - from services.generate_yolox_exp import save_yolox_exp - - # For each details row, generate coco.jsons and exp.py - for details in details_rows: - details_id = details.id - generate_training_json(details_id) - - # Find all trainings for this details row - trainings = Training.query.filter_by(project_details_id=details_id).all() - if not trainings: - continue - - # Create output directory - out_dir = os.path.join(os.path.dirname(__file__), '..', project_name, str(details_id)) - os.makedirs(out_dir, exist_ok=True) - - # Save exp.py for each training - for training in trainings: - exp_file_path = os.path.join(out_dir, 'exp.py') - save_yolox_exp(training.id, exp_file_path) - - return jsonify({'message': f'YOLOX JSON and exp.py generated for project {project_id}'}) - - except Exception as err: - print(f'Error generating YOLOX JSON: {err}') - return jsonify({'message': 'Failed to generate YOLOX JSON', 'error': str(err)}), 500 - -@api_bp.route('/start-yolox-training', methods=['POST']) -def start_yolox_training(): - """Start YOLOX training""" - try: - data = request.get_json() - project_id = data.get('project_id') - training_id = data.get('training_id') - - # Get project name - training_project = TrainingProject.query.get(project_id) - project_name = training_project.title.replace(' ', '_') if training_project.title else f'project_{project_id}' - - # Look up training row - training_row = Training.query.get(training_id) - if not training_row: - training_row = Training.query.filter_by(project_details_id=training_id).first() - - if not training_row: - return jsonify({'error': f'Training row not found for id or project_details_id {training_id}'}), 404 - - project_details_id = training_row.project_details_id - - # Path to exp.py - out_dir = os.path.join(os.path.dirname(__file__), '..', project_name, str(project_details_id)) - exp_src = os.path.join(out_dir, 'exp.py') - - if not os.path.exists(exp_src): - return jsonify({'error': f'exp.py not found at {exp_src}'}), 500 - - # YOLOX configuration - yolox_main_dir = '/home/kitraining/Yolox/YOLOX-main' - yolox_venv = '/home/kitraining/Yolox/yolox_venv/bin/activate' - - # Determine model argument - model_arg = '' - cmd = '' - - if (training_row.transfer_learning and - isinstance(training_row.transfer_learning, str) and - training_row.transfer_learning.lower() == 'coco'): - model_arg = f' -c /home/kitraining/Yolox/YOLOX-main/pretrained/{training_row.selected_model}' - cmd = f'bash -c \'source {yolox_venv} && python tools/train.py -f {exp_src} -d 1 -b 8 --fp16 -o {model_arg}.pth --cache\'' - elif (training_row.selected_model and - training_row.selected_model.lower() == 'coco' and - (not training_row.transfer_learning or training_row.transfer_learning == False)): - model_arg = f' -c /pretrained/{training_row.selected_model}' - cmd = f'bash -c \'source {yolox_venv} && python tools/train.py -f {exp_src} -d 1 -b 8 --fp16 -o {model_arg}.pth --cache\'' - else: - cmd = f'bash -c \'source {yolox_venv} && python tools/train.py -f {exp_src} -d 1 -b 8 --fp16 --cache\'' - - print(cmd) - - # Start training in background - subprocess.Popen(cmd, shell=True, cwd=yolox_main_dir) - - return jsonify({'message': 'Training started'}) - - except Exception as err: - return jsonify({'error': 'Failed to start training', 'details': str(err)}), 500 - -@api_bp.route('/training-log', methods=['GET']) -def training_log(): - """Get YOLOX training log""" - try: - project_id = request.args.get('project_id') - training_id = request.args.get('training_id') - - training_project = TrainingProject.query.get(project_id) - project_name = training_project.title.replace(' ', '_') if training_project.title else f'project_{project_id}' - - out_dir = os.path.join(os.path.dirname(__file__), '..', project_name, str(training_id)) - log_path = os.path.join(out_dir, 'training.log') - - if not os.path.exists(log_path): - return jsonify({'error': 'Log not found'}), 404 - - with open(log_path, 'r') as f: - log_data = f.read() - - return jsonify({'log': log_data}) - - except Exception as err: - return jsonify({'error': 'Failed to fetch log', 'details': str(err)}), 500 - -@api_bp.route('/training-projects', methods=['POST']) -def create_training_project(): - """Create a new training project""" - try: - title = request.form.get('title') - description = request.form.get('description') - classes = json.loads(request.form.get('classes', '[]')) - - project_image = None - project_image_type = None - - if 'project_image' in request.files: - file = request.files['project_image'] - project_image = file.read() - project_image_type = file.content_type - - project = TrainingProject( - title=title, - description=description, - classes=classes, - project_image=project_image, - project_image_type=project_image_type - ) - - db.session.add(project) - db.session.commit() - - return jsonify({'message': 'Project created!'}) - - except Exception as error: - print(f'Error creating project: {error}') - db.session.rollback() - return jsonify({'message': 'Failed to create project', 'error': str(error)}), 500 - -@api_bp.route('/training-projects', methods=['GET']) -def get_training_projects(): - """Get all training projects""" - try: - projects = TrainingProject.query.all() - serialized = [project.to_dict() for project in projects] - return jsonify(serialized) - - except Exception as error: - return jsonify({'message': 'Failed to fetch projects', 'error': str(error)}), 500 - -@api_bp.route('/update-status', methods=['GET']) -def get_update_status(): - """Get update status""" - return jsonify(update_status) - -@api_bp.route('/label-studio-projects', methods=['GET']) -def get_label_studio_projects(): - """Get all Label Studio projects with annotation counts""" - try: - from sqlalchemy import func - - # Get all projects - label_studio_projects = LabelStudioProject.query.all() - - # Get annotation counts in one query using SQL aggregation - annotation_counts_query = db.session.query( - Image.project_id, - Annotation.Label, - func.count(Annotation.annotation_id).label('count') - ).join( - Annotation, Image.image_id == Annotation.image_id - ).group_by( - Image.project_id, Annotation.Label - ).all() - - # Organize counts by project_id - counts_by_project = {} - for project_id, label, count in annotation_counts_query: - if project_id not in counts_by_project: - counts_by_project[project_id] = {} - counts_by_project[project_id][label] = count - - # Build result - projects_with_counts = [] - for project in label_studio_projects: - project_dict = project.to_dict() - project_dict['annotationCounts'] = counts_by_project.get(project.project_id, {}) - projects_with_counts.append(project_dict) - - return jsonify(projects_with_counts) - - except Exception as error: - return jsonify({'message': 'Failed to fetch projects', 'error': str(error)}), 500 - -@api_bp.route('/training-project-details', methods=['POST']) -def create_training_project_details(): - """Create TrainingProjectDetails""" - try: - data = request.get_json() - project_id = data.get('project_id') - annotation_projects = data.get('annotation_projects') - class_map = data.get('class_map') - description = data.get('description') - - if not project_id or annotation_projects is None: - return jsonify({'message': 'Missing required fields'}), 400 - - details = TrainingProjectDetails( - project_id=project_id, - annotation_projects=annotation_projects, - class_map=class_map, - description=description - ) - - db.session.add(details) - db.session.commit() - - return jsonify({'message': 'TrainingProjectDetails created', 'details': details.to_dict()}) - - except Exception as error: - db.session.rollback() - return jsonify({'message': 'Failed to create TrainingProjectDetails', 'error': str(error)}), 500 - -@api_bp.route('/training-project-details', methods=['GET']) -def get_training_project_details(): - """Get all TrainingProjectDetails""" - try: - details = TrainingProjectDetails.query.all() - return jsonify([d.to_dict() for d in details]) - - except Exception as error: - return jsonify({'message': 'Failed to fetch TrainingProjectDetails', 'error': str(error)}), 500 - -@api_bp.route('/training-project-details', methods=['PUT']) -def update_training_project_details(): - """Update class_map and description in TrainingProjectDetails""" - try: - data = request.get_json() - project_id = data.get('project_id') - class_map = data.get('class_map') - description = data.get('description') - - if not project_id or not class_map or not description: - return jsonify({'message': 'Missing required fields'}), 400 - - details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() - - if not details: - return jsonify({'message': 'TrainingProjectDetails not found'}), 404 - - details.class_map = class_map - details.description = description - db.session.commit() - - return jsonify({'message': 'Class map and description updated', 'details': details.to_dict()}) - - except Exception as error: - db.session.rollback() - return jsonify({'message': 'Failed to update class map or description', 'error': str(error)}), 500 - -@api_bp.route('/yolox-settings', methods=['POST']) -def yolox_settings(): - """Receive YOLOX settings and save to DB""" - try: - settings = request.form.to_dict() - - print('--- YOLOX settings received ---') - print('settings:', settings) - - # Map select_model to selected_model if present - if 'select_model' in settings and 'selected_model' not in settings: - settings['selected_model'] = settings['select_model'] - del settings['select_model'] - - # Lookup or create project_details_id - if not settings.get('project_id') or not settings['project_id'].isdigit(): - raise ValueError('Missing or invalid project_id in request') - - project_id = int(settings['project_id']) - details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() - - if not details: - details = TrainingProjectDetails( - project_id=project_id, - annotation_projects=[], - class_map=None, - description=None - ) - db.session.add(details) - db.session.commit() - - settings['project_details_id'] = details.id - - # Map 'act' to 'activation' - if 'act' in settings: - settings['activation'] = settings['act'] - del settings['act'] - - # Type conversions - numeric_fields = [ - 'max_epoch', 'depth', 'width', 'warmup_epochs', 'warmup_lr', - 'no_aug_epochs', 'min_lr_ratio', 'weight_decay', 'momentum', - 'print_interval', 'eval_interval', 'test_conf', 'nmsthre', - 'multiscale_range', 'degrees', 'translate', 'shear', - 'train', 'valid', 'test' - ] - - for field in numeric_fields: - if field in settings: - settings[field] = float(settings[field]) - - # Boolean conversions - boolean_fields = ['ema', 'enable_mixup', 'save_history_ckpt'] - for field in boolean_fields: - if field in settings: - if isinstance(settings[field], str): - settings[field] = settings[field].lower() == 'true' - else: - settings[field] = bool(settings[field]) - - # Array conversions - array_fields = ['mosaic_scale', 'mixup_scale', 'scale'] - for field in array_fields: - if field in settings and isinstance(settings[field], str): - settings[field] = [float(x.strip()) for x in settings[field].split(',') if x.strip()] - - # Trim string fields - for key in settings: - if isinstance(settings[key], str): - settings[key] = settings[key].strip() - - # Default for transfer_learning - if 'transfer_learning' not in settings: - settings['transfer_learning'] = False - - # Convert empty seed to None - if 'seed' in settings and (settings['seed'] == '' or settings['seed'] is None): - settings['seed'] = None - - # Validate required fields - required_fields = [ - 'project_details_id', 'exp_name', 'max_epoch', 'depth', 'width', - 'activation', 'train', 'valid', 'test', 'selected_model', 'transfer_learning' - ] - - for field in required_fields: - if field not in settings or settings[field] in [None, '']: - raise ValueError(f'Missing required field: {field}') - - print('Received YOLOX settings:', settings) - - # Handle uploaded model file - if 'ckpt_upload' in request.files: - file = request.files['ckpt_upload'] - upload_dir = os.path.join(os.path.dirname(__file__), '..', 'uploads') - os.makedirs(upload_dir, exist_ok=True) - filename = file.filename or f'uploaded_model_{project_id}.pth' - file_path = os.path.join(upload_dir, filename) - file.save(file_path) - settings['model_upload'] = file_path - - # Save to DB - from services.push_yolox_exp import push_yolox_exp_to_db - training = push_yolox_exp_to_db(settings) - - return jsonify({'message': 'YOLOX settings saved to DB', 'training': training.to_dict()}) - - except Exception as error: - print(f'Error in /api/yolox-settings: {error}') - db.session.rollback() - return jsonify({'message': 'Failed to save YOLOX settings', 'error': str(error)}), 500 - -@api_bp.route('/yolox-settings/upload', methods=['POST']) -def yolox_settings_upload(): - """Upload binary model file""" - try: - project_id = request.args.get('project_id') - if not project_id: - return jsonify({'message': 'Missing project_id in query'}), 400 - - # Save file to disk - upload_dir = os.path.join(os.path.dirname(__file__), '..', 'uploads') - os.makedirs(upload_dir, exist_ok=True) - - filename = request.headers.get('x-upload-filename', f'uploaded_model_{project_id}.pth') - file_path = os.path.join(upload_dir, filename) - - # Read binary data - with open(file_path, 'wb') as f: - f.write(request.data) - - # Update latest training row - details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() - if not details: - return jsonify({'message': 'No TrainingProjectDetails found for project_id'}), 404 - - training = Training.query.filter_by(project_details_id=details.id).order_by(Training.id.desc()).first() - if not training: - return jsonify({'message': 'No training found for project_id'}), 404 - - training.model_upload = file_path - db.session.commit() - - return jsonify({ - 'message': 'Model file uploaded and saved to disk', - 'filename': filename, - 'trainingId': training.id - }) - - except Exception as error: - print(f'Error in /api/yolox-settings/upload: {error}') - db.session.rollback() - return jsonify({'message': 'Failed to upload model file', 'error': str(error)}), 500 - -@api_bp.route('/trainings', methods=['GET']) -def get_trainings(): - """Get all trainings (optionally filtered by project_id)""" - try: - project_id = request.args.get('project_id') - - if project_id: - # Find all details rows for this project - details_rows = TrainingProjectDetails.query.filter_by(project_id=project_id).all() - if not details_rows: - return jsonify([]) - - # Get all trainings linked to any details row for this project - details_ids = [d.id for d in details_rows] - trainings = Training.query.filter(Training.project_details_id.in_(details_ids)).all() - return jsonify([t.to_dict() for t in trainings]) - else: - # Return all trainings - trainings = Training.query.all() - return jsonify([t.to_dict() for t in trainings]) - - except Exception as error: - return jsonify({'message': 'Failed to fetch trainings', 'error': str(error)}), 500 - -@api_bp.route('/trainings/', methods=['DELETE']) -def delete_training(id): - """Delete a training by id""" - try: - training = Training.query.get(id) - if training: - db.session.delete(training) - db.session.commit() - return jsonify({'message': 'Training deleted'}) - else: - return jsonify({'message': 'Training not found'}), 404 - - except Exception as error: - db.session.rollback() - return jsonify({'message': 'Failed to delete training', 'error': str(error)}), 500 - -@api_bp.route('/training-projects/', methods=['DELETE']) -def delete_training_project(id): - """Delete a training project and all related entries""" - try: - # Find details rows for this project - details_rows = TrainingProjectDetails.query.filter_by(project_id=id).all() - details_ids = [d.id for d in details_rows] - - # Delete all trainings linked to these details - if details_ids: - Training.query.filter(Training.project_details_id.in_(details_ids)).delete(synchronize_session=False) - TrainingProjectDetails.query.filter_by(project_id=id).delete() - - # Delete the project itself - project = TrainingProject.query.get(id) - if project: - db.session.delete(project) - db.session.commit() - return jsonify({'message': 'Training project and all related entries deleted'}) - else: - return jsonify({'message': 'Training project not found'}), 404 - - except Exception as error: - db.session.rollback() - return jsonify({'message': 'Failed to delete training project', 'error': str(error)}), 500 - -@api_bp.route('/base-config/', methods=['GET']) -def get_base_config(model_name): - """Get base configuration for a specific YOLOX model""" - try: - from services.generate_yolox_exp import load_base_config - config = load_base_config(model_name) - return jsonify(config) - except Exception as error: - return jsonify({'message': f'Failed to load base config for {model_name}', 'error': str(error)}), 404 +from flask import Blueprint, request, jsonify, send_file +from werkzeug.utils import secure_filename +import os +import json +import subprocess +from database.database import db +from models.TrainingProject import TrainingProject +from models.TrainingProjectDetails import TrainingProjectDetails +from models.training import Training +from models.LabelStudioProject import LabelStudioProject +from models.Images import Image +from models.Annotation import Annotation + +api_bp = Blueprint('api', __name__) + +# Global update status (similar to Node.js version) +update_status = {"running": False} + +@api_bp.route('/seed', methods=['GET']) +def seed(): + """Trigger seeding from Label Studio""" + from services.seed_label_studio import seed_label_studio + result = seed_label_studio() + return jsonify(result) + +@api_bp.route('/generate-yolox-json', methods=['POST']) +def generate_yolox_json(): + """Generate YOLOX JSON and exp.py for a project""" + try: + data = request.get_json() + project_id = data.get('project_id') + + if not project_id: + return jsonify({'message': 'Missing project_id in request body'}), 400 + + # Find all TrainingProjectDetails for this project + details_rows = TrainingProjectDetails.query.filter_by(project_id=project_id).all() + + if not details_rows: + return jsonify({'message': f'No TrainingProjectDetails found for project {project_id}'}), 404 + + # Get project name + training_project = TrainingProject.query.get(project_id) + project_name = training_project.title.replace(' ', '_') if training_project.title else f'project_{project_id}' + + from services.generate_json_yolox import generate_training_json + from services.generate_yolox_exp import save_yolox_exp + + # For each details row, generate coco.jsons and exp.py + for details in details_rows: + details_id = details.id + generate_training_json(details_id) + + # Find all trainings for this details row + trainings = Training.query.filter_by(project_details_id=details_id).all() + if not trainings: + continue + + # Create output directory + out_dir = os.path.join(os.path.dirname(__file__), '..', project_name, str(details_id)) + os.makedirs(out_dir, exist_ok=True) + + # Save exp.py for each training + for training in trainings: + exp_file_path = os.path.join(out_dir, 'exp.py') + save_yolox_exp(training.id, exp_file_path) + + return jsonify({'message': f'YOLOX JSON and exp.py generated for project {project_id}'}) + + except Exception as err: + print(f'Error generating YOLOX JSON: {err}') + return jsonify({'message': 'Failed to generate YOLOX JSON', 'error': str(err)}), 500 + +@api_bp.route('/start-yolox-training', methods=['POST']) +def start_yolox_training(): + """Generate JSONs, exp.py, and start YOLOX training""" + try: + data = request.get_json() + project_id = data.get('project_id') + training_id = data.get('training_id') + + if not project_id or not training_id: + return jsonify({'message': 'Missing project_id or training_id'}), 400 + + # Get training record + training = Training.query.get(training_id) + if not training: + return jsonify({'message': f'Training {training_id} not found'}), 404 + + details_id = training.project_details_id + + # Step 1: Generate COCO JSON files + from services.generate_json_yolox import generate_training_json + print(f'Generating COCO JSON for training {training_id}...') + generate_training_json(details_id) + + # Step 2: Generate exp.py + from services.generate_yolox_exp import save_yolox_exp + from services.settings_service import get_setting + + training_project = TrainingProject.query.get(project_id) + project_name = training_project.title.replace(' ', '_') if training_project and training_project.title else f'project_{project_id}' + + # Use training name + id for folder to support multiple trainings per project + training_folder_name = f"{training.exp_name or training.training_name or 'training'}_{training_id}" + training_folder_name = training_folder_name.replace(' ', '_') + + output_base_path = get_setting('yolox_output_path', './backend') + out_dir = os.path.join(output_base_path, project_name, training_folder_name) + os.makedirs(out_dir, exist_ok=True) + + exp_file_path = os.path.join(out_dir, 'exp.py') + print(f'Generating exp.py at {exp_file_path}...') + save_yolox_exp(training_id, exp_file_path) + + # Step 3: Start training + print(f'Starting YOLOX training for training {training_id}...') + + # Get YOLOX configuration from settings + yolox_main_dir = get_setting('yolox_path', '/home/kitraining/Yolox/YOLOX-main') + yolox_venv = get_setting('yolox_venv_path', '/home/kitraining/Yolox/yolox_venv/bin/activate') + + # Detect platform and build appropriate command + import platform + is_windows = platform.system() == 'Windows' + + # Determine model argument + model_arg = '' + + if (training.transfer_learning and + isinstance(training.transfer_learning, str) and + training.transfer_learning.lower() == 'coco'): + model_arg = f'-c {yolox_main_dir}/pretrained/{training.selected_model}.pth' + elif (training.selected_model and + training.selected_model.lower() == 'coco' and + (not training.transfer_learning or training.transfer_learning == False)): + model_arg = f'-c {yolox_main_dir}/pretrained/{training.selected_model}.pth' + + # Build base training arguments + train_args = f'-f {exp_file_path} -d 1 -b 8 --fp16 --cache' + if model_arg: + train_args += f' {model_arg} -o' + + # Build platform-specific command + if is_windows: + # Windows: Use call to activate venv, then run python + # If venv path doesn't end with .bat, assume it needs Scripts\activate.bat + if not yolox_venv.endswith('.bat'): + venv_activate = os.path.join(yolox_venv, 'Scripts', 'activate.bat') + else: + venv_activate = yolox_venv + cmd = f'cmd /c ""{venv_activate}" && python tools\\train.py {train_args}"' + else: + # Linux: Use bash with source + # If venv path doesn't end with 'activate', assume it needs bin/activate + if not yolox_venv.endswith('activate'): + venv_activate = os.path.join(yolox_venv, 'bin', 'activate') + else: + venv_activate = yolox_venv + cmd = f'bash -c "source {venv_activate} && python tools/train.py {train_args}"' + + print(f'Training command: {cmd}') + + # Start training in background + subprocess.Popen(cmd, shell=True, cwd=yolox_main_dir) + + return jsonify({ + 'message': f'JSONs and exp.py generated, training started for training {training_id}', + 'exp_path': exp_file_path + }) + + except Exception as err: + print(f'Error starting YOLOX training: {err}') + import traceback + traceback.print_exc() + return jsonify({'message': 'Failed to start training', 'error': str(err)}), 500 + +@api_bp.route('/training-log', methods=['GET']) +def training_log(): + """Get YOLOX training log""" + try: + project_id = request.args.get('project_id') + training_id = request.args.get('training_id') + + training_project = TrainingProject.query.get(project_id) + project_name = training_project.title.replace(' ', '_') if training_project.title else f'project_{project_id}' + + out_dir = os.path.join(os.path.dirname(__file__), '..', project_name, str(training_id)) + log_path = os.path.join(out_dir, 'training.log') + + if not os.path.exists(log_path): + return jsonify({'error': 'Log not found'}), 404 + + with open(log_path, 'r') as f: + log_data = f.read() + + return jsonify({'log': log_data}) + + except Exception as err: + return jsonify({'error': 'Failed to fetch log', 'details': str(err)}), 500 + +@api_bp.route('/training-projects', methods=['POST']) +def create_training_project(): + """Create a new training project""" + try: + from models.ProjectClass import ProjectClass + + title = request.form.get('title') + description = request.form.get('description') + classes = json.loads(request.form.get('classes', '[]')) + + project_image = None + project_image_type = None + + if 'project_image' in request.files: + file = request.files['project_image'] + project_image = file.read() + project_image_type = file.content_type + + # Create project without classes field + project = TrainingProject( + title=title, + description=description, + project_image=project_image, + project_image_type=project_image_type + ) + + db.session.add(project) + db.session.flush() # Get project_id before commit + + # Add classes to ProjectClass table + for index, class_name in enumerate(classes): + project_class = ProjectClass( + project_id=project.project_id, + class_name=class_name, + display_order=index + ) + db.session.add(project_class) + + db.session.commit() + + return jsonify({'message': 'Project created!'}) + + except Exception as error: + print(f'Error creating project: {error}') + db.session.rollback() + return jsonify({'message': 'Failed to create project', 'error': str(error)}), 500 + +@api_bp.route('/training-projects', methods=['GET']) +def get_training_projects(): + """Get all training projects""" + try: + projects = TrainingProject.query.all() + serialized = [project.to_dict() for project in projects] + return jsonify(serialized) + + except Exception as error: + return jsonify({'message': 'Failed to fetch projects', 'error': str(error)}), 500 + +@api_bp.route('/update-status', methods=['GET']) +def get_update_status(): + """Get update status""" + return jsonify(update_status) + +@api_bp.route('/label-studio-projects', methods=['GET']) +def get_label_studio_projects(): + """Get all Label Studio projects with annotation counts""" + try: + from sqlalchemy import func + + # Get all projects + label_studio_projects = LabelStudioProject.query.all() + + # Get annotation counts in one query using SQL aggregation + annotation_counts_query = db.session.query( + Image.project_id, + Annotation.Label, + func.count(Annotation.annotation_id).label('count') + ).join( + Annotation, Image.image_id == Annotation.image_id + ).group_by( + Image.project_id, Annotation.Label + ).all() + + # Organize counts by project_id + counts_by_project = {} + for project_id, label, count in annotation_counts_query: + if project_id not in counts_by_project: + counts_by_project[project_id] = {} + counts_by_project[project_id][label] = count + + # Build result + projects_with_counts = [] + for project in label_studio_projects: + project_dict = project.to_dict() + project_dict['annotationCounts'] = counts_by_project.get(project.project_id, {}) + projects_with_counts.append(project_dict) + + return jsonify(projects_with_counts) + + except Exception as error: + return jsonify({'message': 'Failed to fetch projects', 'error': str(error)}), 500 + +@api_bp.route('/training-project-details', methods=['POST']) +def create_training_project_details(): + """Create TrainingProjectDetails""" + try: + from models.AnnotationProjectMapping import AnnotationProjectMapping + from models.ClassMapping import ClassMapping + + data = request.get_json() + project_id = data.get('project_id') + annotation_projects = data.get('annotation_projects') # Array of project IDs + class_map = data.get('class_map') # Dict: {source: target} + description = data.get('description') + + if not project_id or annotation_projects is None: + return jsonify({'message': 'Missing required fields'}), 400 + + # Create TrainingProjectDetails without JSON fields + details = TrainingProjectDetails( + project_id=project_id, + description_text=description + ) + + db.session.add(details) + db.session.flush() # Get details.id + + # Add annotation project mappings + for ls_project_id in annotation_projects: + mapping = AnnotationProjectMapping( + project_details_id=details.id, + label_studio_project_id=ls_project_id + ) + db.session.add(mapping) + + # Add class mappings if provided + if class_map: + for source_class, target_class in class_map.items(): + # For initial creation, we don't have per-project mappings yet + # Will be replaced when user sets up mappings in UI + mapping = ClassMapping( + project_details_id=details.id, + label_studio_project_id=annotation_projects[0] if annotation_projects else 0, + source_class=source_class, + target_class=target_class + ) + db.session.add(mapping) + + db.session.commit() + db.session.commit() + + return jsonify({'message': 'TrainingProjectDetails created', 'details': details.to_dict()}) + + except Exception as error: + db.session.rollback() + return jsonify({'message': 'Failed to create TrainingProjectDetails', 'error': str(error)}), 500 + +@api_bp.route('/training-project-details', methods=['GET']) +def get_training_project_details(): + """Get all TrainingProjectDetails""" + try: + details = TrainingProjectDetails.query.all() + result = [] + for d in details: + try: + result.append(d.to_dict()) + except Exception as e: + print(f'Error serializing detail {d.id}: {e}') + # Return basic info if full serialization fails + result.append({ + 'id': d.id, + 'project_id': d.project_id, + 'description': d.description_text, + 'annotation_projects': [], + 'class_map': {} + }) + return jsonify(result) + + except Exception as error: + print(f'Error fetching training project details: {error}') + return jsonify({'message': 'Failed to fetch TrainingProjectDetails', 'error': str(error)}), 500 + +@api_bp.route('/training-project-details', methods=['PUT']) +def update_training_project_details(): + """Update class_map and description in TrainingProjectDetails""" + try: + from models.ClassMapping import ClassMapping + + data = request.get_json() + print(f'[DEBUG] Received PUT data: {data}') + + project_id = data.get('project_id') + class_map_data = data.get('class_map') # Array: [[labelStudioProjectId, [[class, target], ...]], ...] + description_data = data.get('description') # Array: [[projectId, desc], ...] + + print(f'[DEBUG] project_id: {project_id}') + print(f'[DEBUG] class_map_data: {class_map_data}') + print(f'[DEBUG] description_data: {description_data}') + + if not project_id or class_map_data is None or description_data is None: + return jsonify({'message': 'Missing required fields'}), 400 + + details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() + + if not details: + return jsonify({'message': 'TrainingProjectDetails not found'}), 404 + + # Update description - combine all descriptions + combined_description = '\n\n'.join([desc[1] for desc in description_data if len(desc) > 1 and desc[1]]) + details.description_text = combined_description + + # Delete existing class mappings + ClassMapping.query.filter_by(project_details_id=details.id).delete() + + # Add new class mappings - iterate through all label studio projects + # class_map_data format: [[labelStudioProjectId, [[class, target], ...]], ...] + for project_mapping in class_map_data: + if len(project_mapping) >= 2: + label_studio_project_id = project_mapping[0] + class_mappings = project_mapping[1] # [[class1, target1], [class2, target2], ...] + + for class_pair in class_mappings: + if len(class_pair) >= 2: + source_class = class_pair[0] + target_class = class_pair[1] + + # Create mapping with label_studio_project_id + mapping = ClassMapping( + project_details_id=details.id, + label_studio_project_id=label_studio_project_id, + source_class=source_class, + target_class=target_class + ) + db.session.add(mapping) + + db.session.commit() + + return jsonify({'message': 'Class map and description updated', 'details': details.to_dict()}) + + except Exception as error: + db.session.rollback() + print(f'[ERROR] Failed to update training project details: {error}') + import traceback + traceback.print_exc() + return jsonify({'message': 'Failed to update class map or description', 'error': str(error)}), 500 + +@api_bp.route('/yolox-settings', methods=['POST']) +def yolox_settings(): + """Receive YOLOX settings and save to DB""" + try: + settings = request.form.to_dict() + + print('--- YOLOX settings received ---') + print('settings:', settings) + + # Map select_model to selected_model if present + if 'select_model' in settings and 'selected_model' not in settings: + settings['selected_model'] = settings['select_model'] + del settings['select_model'] + + # Lookup or create project_details_id + if not settings.get('project_id') or not settings['project_id'].isdigit(): + raise ValueError('Missing or invalid project_id in request') + + project_id = int(settings['project_id']) + details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() + + if not details: + # Create TrainingProjectDetails without JSON fields + details = TrainingProjectDetails( + project_id=project_id, + description_text=None + ) + db.session.add(details) + db.session.flush() # Get details.id + + settings['project_details_id'] = details.id + + # Map 'act' to 'activation' + if 'act' in settings: + settings['activation'] = settings['act'] + del settings['act'] + + # Type conversions + numeric_fields = [ + 'max_epoch', 'depth', 'width', 'warmup_epochs', 'warmup_lr', + 'no_aug_epochs', 'min_lr_ratio', 'weight_decay', 'momentum', + 'print_interval', 'eval_interval', 'test_conf', 'nmsthre', + 'multiscale_range', 'degrees', 'translate', 'shear', + 'train', 'valid', 'test' + ] + + for field in numeric_fields: + if field in settings: + settings[field] = float(settings[field]) + + # Boolean conversions + boolean_fields = ['ema', 'enable_mixup', 'save_history_ckpt'] + for field in boolean_fields: + if field in settings: + if isinstance(settings[field], str): + settings[field] = settings[field].lower() == 'true' + else: + settings[field] = bool(settings[field]) + + # Array conversions + array_fields = ['mosaic_scale', 'mixup_scale', 'scale'] + for field in array_fields: + if field in settings and isinstance(settings[field], str): + settings[field] = [float(x.strip()) for x in settings[field].split(',') if x.strip()] + + # Trim string fields + for key in settings: + if isinstance(settings[key], str): + settings[key] = settings[key].strip() + + # Default for transfer_learning + if 'transfer_learning' not in settings: + settings['transfer_learning'] = False + + # Convert empty seed to None + if 'seed' in settings and (settings['seed'] == '' or settings['seed'] is None): + settings['seed'] = None + + # Validate required fields + required_fields = [ + 'project_details_id', 'exp_name', 'max_epoch', 'depth', 'width', + 'activation', 'train', 'valid', 'test', 'selected_model', 'transfer_learning' + ] + + for field in required_fields: + if field not in settings or settings[field] in [None, '']: + raise ValueError(f'Missing required field: {field}') + + print('Received YOLOX settings:', settings) + + # Handle uploaded model file + if 'ckpt_upload' in request.files: + file = request.files['ckpt_upload'] + upload_dir = os.path.join(os.path.dirname(__file__), '..', 'uploads') + os.makedirs(upload_dir, exist_ok=True) + filename = file.filename or f'uploaded_model_{project_id}.pth' + file_path = os.path.join(upload_dir, filename) + file.save(file_path) + settings['model_upload'] = file_path + + # Save to DB + from services.push_yolox_exp import push_yolox_exp_to_db + training = push_yolox_exp_to_db(settings) + + return jsonify({'message': 'YOLOX settings saved to DB', 'training': training.to_dict()}) + + except Exception as error: + print(f'Error in /api/yolox-settings: {error}') + db.session.rollback() + return jsonify({'message': 'Failed to save YOLOX settings', 'error': str(error)}), 500 + +@api_bp.route('/yolox-settings/upload', methods=['POST']) +def yolox_settings_upload(): + """Upload binary model file""" + try: + project_id = request.args.get('project_id') + if not project_id: + return jsonify({'message': 'Missing project_id in query'}), 400 + + # Save file to disk + upload_dir = os.path.join(os.path.dirname(__file__), '..', 'uploads') + os.makedirs(upload_dir, exist_ok=True) + + filename = request.headers.get('x-upload-filename', f'uploaded_model_{project_id}.pth') + file_path = os.path.join(upload_dir, filename) + + # Read binary data + with open(file_path, 'wb') as f: + f.write(request.data) + + # Update latest training row + details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() + if not details: + return jsonify({'message': 'No TrainingProjectDetails found for project_id'}), 404 + + training = Training.query.filter_by(project_details_id=details.id).order_by(Training.id.desc()).first() + if not training: + return jsonify({'message': 'No training found for project_id'}), 404 + + training.model_upload = file_path + db.session.commit() + + return jsonify({ + 'message': 'Model file uploaded and saved to disk', + 'filename': filename, + 'trainingId': training.id + }) + + except Exception as error: + print(f'Error in /api/yolox-settings/upload: {error}') + db.session.rollback() + return jsonify({'message': 'Failed to upload model file', 'error': str(error)}), 500 + +@api_bp.route('/trainings', methods=['GET']) +def get_trainings(): + """Get all trainings (optionally filtered by project_id)""" + try: + project_id = request.args.get('project_id') + + if project_id: + # Find all details rows for this project + details_rows = TrainingProjectDetails.query.filter_by(project_id=project_id).all() + if not details_rows: + return jsonify([]) + + # Get all trainings linked to any details row for this project + details_ids = [d.id for d in details_rows] + trainings = Training.query.filter(Training.project_details_id.in_(details_ids)).all() + return jsonify([t.to_dict() for t in trainings]) + else: + # Return all trainings + trainings = Training.query.all() + return jsonify([t.to_dict() for t in trainings]) + + except Exception as error: + return jsonify({'message': 'Failed to fetch trainings', 'error': str(error)}), 500 + +@api_bp.route('/trainings/', methods=['DELETE']) +def delete_training(id): + """Delete a training by id""" + try: + training = Training.query.get(id) + if training: + db.session.delete(training) + db.session.commit() + return jsonify({'message': 'Training deleted'}) + else: + return jsonify({'message': 'Training not found'}), 404 + + except Exception as error: + db.session.rollback() + return jsonify({'message': 'Failed to delete training', 'error': str(error)}), 500 + +@api_bp.route('/training-projects/', methods=['DELETE']) +def delete_training_project(id): + """Delete a training project and all related entries""" + try: + # Find details rows for this project + details_rows = TrainingProjectDetails.query.filter_by(project_id=id).all() + details_ids = [d.id for d in details_rows] + + # Delete all trainings linked to these details + if details_ids: + Training.query.filter(Training.project_details_id.in_(details_ids)).delete(synchronize_session=False) + TrainingProjectDetails.query.filter_by(project_id=id).delete() + + # Delete the project itself + project = TrainingProject.query.get(id) + if project: + db.session.delete(project) + db.session.commit() + return jsonify({'message': 'Training project and all related entries deleted'}) + else: + return jsonify({'message': 'Training project not found'}), 404 + + except Exception as error: + db.session.rollback() + return jsonify({'message': 'Failed to delete training project', 'error': str(error)}), 500 + +@api_bp.route('/base-config/', methods=['GET']) +def get_base_config(model_name): + """Get base configuration for a specific YOLOX model""" + try: + from services.generate_yolox_exp import load_base_config + config = load_base_config(model_name) + return jsonify(config) + except Exception as error: + return jsonify({'message': f'Failed to load base config for {model_name}', 'error': str(error)}), 404 + +# Settings endpoints +@api_bp.route('/settings', methods=['GET']) +def get_settings(): + """Get all settings""" + from services.settings_service import get_all_settings_detailed + settings = get_all_settings_detailed() + return jsonify(settings) + +@api_bp.route('/settings/', methods=['GET']) +def get_setting(key): + """Get a specific setting""" + from services.settings_service import get_setting as get_setting_value + from models.Settings import Settings + + setting = Settings.query.filter_by(key=key).first() + if setting: + return jsonify(setting.to_dict()) + else: + return jsonify({'message': f'Setting {key} not found'}), 404 + +@api_bp.route('/settings', methods=['POST']) +def update_settings(): + """Update multiple settings""" + try: + data = request.get_json() + from services.settings_service import set_setting + + for key, value in data.items(): + set_setting(key, value) + + return jsonify({'message': 'Settings updated successfully'}) + except Exception as error: + return jsonify({'message': 'Failed to update settings', 'error': str(error)}), 500 + +@api_bp.route('/settings/', methods=['PUT']) +def update_setting(key): + """Update a specific setting""" + try: + data = request.get_json() + value = data.get('value') + description = data.get('description') + + from services.settings_service import set_setting + setting = set_setting(key, value, description) + + return jsonify(setting.to_dict()) + except Exception as error: + return jsonify({'message': f'Failed to update setting {key}', 'error': str(error)}), 500 + +@api_bp.route('/settings/test/labelstudio', methods=['POST']) +def test_labelstudio_connection(): + """Test Label Studio connection""" + try: + data = request.get_json() + api_url = data.get('api_url') + api_token = data.get('api_token') + + if not api_url or not api_token: + return jsonify({'success': False, 'message': 'Missing api_url or api_token'}), 400 + + import requests + response = requests.get( + f'{api_url}/projects/', + headers={'Authorization': f'Token {api_token}'}, + timeout=5 + ) + + if response.ok: + projects = response.json() + return jsonify({ + 'success': True, + 'message': f'Connection successful! Found {len(projects.get("results", projects))} projects.' + }) + else: + return jsonify({ + 'success': False, + 'message': f'Connection failed: {response.status_code} {response.reason}' + }), 400 + + except requests.exceptions.Timeout: + return jsonify({'success': False, 'message': 'Connection timeout'}), 400 + except requests.exceptions.ConnectionError: + return jsonify({'success': False, 'message': 'Cannot connect to Label Studio'}), 400 + except Exception as error: + return jsonify({'success': False, 'message': str(error)}), 500 + +@api_bp.route('/settings/test/yolox', methods=['POST']) +def test_yolox_path(): + """Test YOLOX path and venv path validity""" + try: + data = request.get_json() + yolox_path = data.get('yolox_path') + yolox_venv_path = data.get('yolox_venv_path') + + if not yolox_path: + return jsonify({'success': False, 'message': 'Missing yolox_path'}), 400 + + # Check if YOLOX path exists + if not os.path.exists(yolox_path): + return jsonify({'success': False, 'message': 'YOLOX path does not exist'}), 400 + + # Check for key YOLOX files/directories + required_items = ['yolox', 'exps', 'tools'] + found_items = [] + missing_items = [] + + for item in required_items: + item_path = os.path.join(yolox_path, item) + if os.path.exists(item_path): + found_items.append(item) + else: + missing_items.append(item) + + if len(found_items) < 2: # At least 2 out of 3 key items required + return jsonify({ + 'success': False, + 'message': f'Invalid YOLOX path. Missing: {", ".join(missing_items)}', + 'found': found_items, + 'missing': missing_items + }), 400 + + # Check venv path if provided + venv_message = '' + if yolox_venv_path: + venv_valid = False + venv_details = [] + + # Normalize path + venv_path_normalized = os.path.normpath(yolox_venv_path) + + # Check if it's an activation script (Linux/Mac: bin/activate, Windows: Scripts/activate.bat or Scripts/Activate.ps1) + if os.path.isfile(venv_path_normalized): + # Direct path to activation script + if 'activate' in os.path.basename(venv_path_normalized).lower(): + venv_valid = True + venv_details.append(f'Activation script found: {os.path.basename(venv_path_normalized)}') + else: + return jsonify({ + 'success': False, + 'message': 'Venv path points to a file but not an activation script' + }), 400 + elif os.path.isdir(venv_path_normalized): + # Check if it's a venv directory + # Look for activation scripts in common locations + possible_activations = [ + os.path.join(venv_path_normalized, 'bin', 'activate'), # Linux/Mac + os.path.join(venv_path_normalized, 'Scripts', 'activate.bat'), # Windows CMD + os.path.join(venv_path_normalized, 'Scripts', 'Activate.ps1'), # Windows PowerShell + os.path.join(venv_path_normalized, 'Scripts', 'activate'), # Windows Git Bash + ] + + found_activations = [] + for act_path in possible_activations: + if os.path.exists(act_path): + found_activations.append(os.path.basename(act_path)) + venv_valid = True + + if venv_valid: + venv_details.append(f'Venv directory valid. Found: {", ".join(found_activations)}') + else: + return jsonify({ + 'success': False, + 'message': 'Venv directory does not contain activation scripts' + }), 400 + else: + return jsonify({ + 'success': False, + 'message': 'Venv path does not exist' + }), 400 + + venv_message = ' ' + '. '.join(venv_details) + + return jsonify({ + 'success': True, + 'message': f'Valid YOLOX installation found. Found: {", ".join(found_items)}.{venv_message}', + 'found': found_items, + 'missing': missing_items + }) + + except Exception as error: + return jsonify({'success': False, 'message': str(error)}), 500 diff --git a/backend/server.js b/backend/server.js index 2834ed3..4ab6676 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,34 +1,34 @@ -const express = require('express'); -const cors = require('cors'); -const path = require('path'); -const sequelize = require('./database/database'); - - -const app = express(); -app.use(express.json()); -const port = 3000; - -const apiRouter = require('./routes/api.js'); -app.use('/api', apiRouter); - - -app.use(cors()); -app.use(express.json()); -app.use(express.static(path.join(__dirname, '..'))); - - - -// Initialize DB and start server -(async () => { - try { - await sequelize.authenticate(); - console.log('DB connection established.'); - await sequelize.sync(); // Only if you want Sequelize to ensure schema matches - - app.listen(port, '0.0.0.0', () => - console.log(`Server running at http://0.0.0.0:${port}`) - ); - } catch (err) { - console.error('Failed to start:', err); - } -})(); +const express = require('express'); +const cors = require('cors'); +const path = require('path'); +const sequelize = require('./database/database'); + + +const app = express(); +app.use(express.json()); +const port = 3000; + +const apiRouter = require('./routes/api.js'); +app.use('/api', apiRouter); + + +app.use(cors()); +app.use(express.json()); +app.use(express.static(path.join(__dirname, '..'))); + + + +// Initialize DB and start server +(async () => { + try { + await sequelize.authenticate(); + console.log('DB connection established.'); + await sequelize.sync(); // Only if you want Sequelize to ensure schema matches + + app.listen(port, '0.0.0.0', () => + console.log(`Server running at http://0.0.0.0:${port}`) + ); + } catch (err) { + console.error('Failed to start:', err); + } +})(); diff --git a/backend/services/__init__.py b/backend/services/__init__.py index 0557eb6..c7f87b7 100644 --- a/backend/services/__init__.py +++ b/backend/services/__init__.py @@ -1 +1 @@ -# Services module +# Services module diff --git a/backend/services/fetch-labelstudio.js b/backend/services/fetch-labelstudio.js index 2e8bf6c..a24a4e5 100644 --- a/backend/services/fetch-labelstudio.js +++ b/backend/services/fetch-labelstudio.js @@ -1,92 +1,92 @@ -const API_URL = 'http://192.168.1.19:8080/api'; -const API_TOKEN = 'c1cef980b7c73004f4ee880a42839313b863869f'; - - - - - - -const fetch = require('node-fetch'); - -async function fetchLableStudioProject(projectid) { - // 1. Trigger export - const exportUrl = `${API_URL}/projects/${projectid}/export?exportType=JSON_MIN`; - const headers = { Authorization: `Token ${API_TOKEN}` }; - let res = await fetch(exportUrl, { headers }); - if (!res.ok) { - let errorText = await res.text().catch(() => ''); - console.error(`Failed to trigger export: ${res.status} ${res.statusText} - ${errorText}`); - throw new Error(`Failed to trigger export: ${res.status} ${res.statusText}`); - } - let data = await res.json(); - // If data is an array, it's ready - if (Array.isArray(data)) return data; - // If not, poll for the export file - let fileUrl = data.download_url || data.url || null; - let tries = 0; - while (!fileUrl && tries < 20) { - await new Promise(r => setTimeout(r, 2000)); - res = await fetch(exportUrl, { headers }); - if (!res.ok) { - let errorText = await res.text().catch(() => ''); - console.error(`Failed to poll export: ${res.status} ${res.statusText} - ${errorText}`); - throw new Error(`Failed to poll export: ${res.status} ${res.statusText}`); - } - data = await res.json(); - fileUrl = data.download_url || data.url || null; - tries++; - } - if (!fileUrl) throw new Error('Label Studio export did not become ready'); - // 2. Download the export file - res = await fetch(fileUrl.startsWith('http') ? fileUrl : `${API_URL.replace('/api','')}${fileUrl}`, { headers }); - if (!res.ok) { - let errorText = await res.text().catch(() => ''); - console.error(`Failed to download export: ${res.status} ${res.statusText} - ${errorText}`); - throw new Error(`Failed to download export: ${res.status} ${res.statusText}`); - } - return await res.json(); -} - - - -async function fetchProjectIdsAndTitles() { - try { - const response = await fetch(`${API_URL}/projects/`, { - headers: { - 'Authorization': `Token ${API_TOKEN}`, - 'Content-Type': 'application/json' - } - }); - - if (!response.ok) { - let errorText = await response.text().catch(() => ''); - console.error(`Failed to fetch projects: ${response.status} ${response.statusText} - ${errorText}`); - throw new Error(`HTTP error! status: ${response.status}`); - } - - const data = await response.json(); - - if (!data.results || !Array.isArray(data.results)) { - throw new Error('API response does not contain results array'); - } - - // Extract id and title from each project - const projects = data.results.map(project => ({ - id: project.id, - title: project.title - })); - console.log(projects) - return projects; - - } catch (error) { - console.error('Failed to fetch projects:', error); - return []; - } -} - -module.exports = { fetchLableStudioProject, fetchProjectIdsAndTitles }; - - - -//getLableStudioProject(20) -//fetchProjectIdsAndTitles() +const API_URL = 'http://192.168.1.19:8080/api'; +const API_TOKEN = 'c1cef980b7c73004f4ee880a42839313b863869f'; + + + + + + +const fetch = require('node-fetch'); + +async function fetchLableStudioProject(projectid) { + // 1. Trigger export + const exportUrl = `${API_URL}/projects/${projectid}/export?exportType=JSON_MIN`; + const headers = { Authorization: `Token ${API_TOKEN}` }; + let res = await fetch(exportUrl, { headers }); + if (!res.ok) { + let errorText = await res.text().catch(() => ''); + console.error(`Failed to trigger export: ${res.status} ${res.statusText} - ${errorText}`); + throw new Error(`Failed to trigger export: ${res.status} ${res.statusText}`); + } + let data = await res.json(); + // If data is an array, it's ready + if (Array.isArray(data)) return data; + // If not, poll for the export file + let fileUrl = data.download_url || data.url || null; + let tries = 0; + while (!fileUrl && tries < 20) { + await new Promise(r => setTimeout(r, 2000)); + res = await fetch(exportUrl, { headers }); + if (!res.ok) { + let errorText = await res.text().catch(() => ''); + console.error(`Failed to poll export: ${res.status} ${res.statusText} - ${errorText}`); + throw new Error(`Failed to poll export: ${res.status} ${res.statusText}`); + } + data = await res.json(); + fileUrl = data.download_url || data.url || null; + tries++; + } + if (!fileUrl) throw new Error('Label Studio export did not become ready'); + // 2. Download the export file + res = await fetch(fileUrl.startsWith('http') ? fileUrl : `${API_URL.replace('/api','')}${fileUrl}`, { headers }); + if (!res.ok) { + let errorText = await res.text().catch(() => ''); + console.error(`Failed to download export: ${res.status} ${res.statusText} - ${errorText}`); + throw new Error(`Failed to download export: ${res.status} ${res.statusText}`); + } + return await res.json(); +} + + + +async function fetchProjectIdsAndTitles() { + try { + const response = await fetch(`${API_URL}/projects/`, { + headers: { + 'Authorization': `Token ${API_TOKEN}`, + 'Content-Type': 'application/json' + } + }); + + if (!response.ok) { + let errorText = await response.text().catch(() => ''); + console.error(`Failed to fetch projects: ${response.status} ${response.statusText} - ${errorText}`); + throw new Error(`HTTP error! status: ${response.status}`); + } + + const data = await response.json(); + + if (!data.results || !Array.isArray(data.results)) { + throw new Error('API response does not contain results array'); + } + + // Extract id and title from each project + const projects = data.results.map(project => ({ + id: project.id, + title: project.title + })); + console.log(projects) + return projects; + + } catch (error) { + console.error('Failed to fetch projects:', error); + return []; + } +} + +module.exports = { fetchLableStudioProject, fetchProjectIdsAndTitles }; + + + +//getLableStudioProject(20) +//fetchProjectIdsAndTitles() diff --git a/backend/services/fetch_labelstudio.py b/backend/services/fetch_labelstudio.py index 710b070..2f1fa72 100644 --- a/backend/services/fetch_labelstudio.py +++ b/backend/services/fetch_labelstudio.py @@ -1,85 +1,93 @@ -import requests -import time - -API_URL = 'http://192.168.1.19:8080/api' -API_TOKEN = 'c1cef980b7c73004f4ee880a42839313b863869f' - -def fetch_label_studio_project(project_id): - """Fetch Label Studio project annotations""" - export_url = f'{API_URL}/projects/{project_id}/export?exportType=JSON_MIN' - headers = {'Authorization': f'Token {API_TOKEN}'} - - # Trigger export - res = requests.get(export_url, headers=headers) - if not res.ok: - error_text = res.text if res.text else '' - print(f'Failed to trigger export: {res.status_code} {res.reason} - {error_text}') - raise Exception(f'Failed to trigger export: {res.status_code} {res.reason}') - - data = res.json() - - # If data is an array, it's ready - if isinstance(data, list): - return data - - # If not, poll for the export file - file_url = data.get('download_url') or data.get('url') - tries = 0 - - while not file_url and tries < 20: - time.sleep(2) - res = requests.get(export_url, headers=headers) - if not res.ok: - error_text = res.text if res.text else '' - print(f'Failed to poll export: {res.status_code} {res.reason} - {error_text}') - raise Exception(f'Failed to poll export: {res.status_code} {res.reason}') - - data = res.json() - file_url = data.get('download_url') or data.get('url') - tries += 1 - - if not file_url: - raise Exception('Label Studio export did not become ready') - - # Download the export file - full_url = file_url if file_url.startswith('http') else f"{API_URL.replace('/api', '')}{file_url}" - res = requests.get(full_url, headers=headers) - if not res.ok: - error_text = res.text if res.text else '' - print(f'Failed to download export: {res.status_code} {res.reason} - {error_text}') - raise Exception(f'Failed to download export: {res.status_code} {res.reason}') - - return res.json() - -def fetch_project_ids_and_titles(): - """Fetch all Label Studio project IDs and titles""" - try: - response = requests.get( - f'{API_URL}/projects/', - headers={ - 'Authorization': f'Token {API_TOKEN}', - 'Content-Type': 'application/json' - } - ) - - if not response.ok: - error_text = response.text if response.text else '' - print(f'Failed to fetch projects: {response.status_code} {response.reason} - {error_text}') - raise Exception(f'HTTP error! status: {response.status_code}') - - data = response.json() - - if 'results' not in data or not isinstance(data['results'], list): - raise Exception('API response does not contain results array') - - # Extract id and title from each project - projects = [ - {'id': project['id'], 'title': project['title']} - for project in data['results'] - ] - print(projects) - return projects - - except Exception as error: - print(f'Failed to fetch projects: {error}') - return [] +import requests +import time +from services.settings_service import get_setting + +def get_api_credentials(): + """Get Label Studio API credentials from settings""" + api_url = get_setting('labelstudio_api_url', 'http://192.168.1.19:8080/api') + api_token = get_setting('labelstudio_api_token', 'c1cef980b7c73004f4ee880a42839313b863869f') + return api_url, api_token + +def fetch_label_studio_project(project_id): + """Fetch Label Studio project annotations""" + API_URL, API_TOKEN = get_api_credentials() + + export_url = f'{API_URL}/projects/{project_id}/export?exportType=JSON_MIN' + headers = {'Authorization': f'Token {API_TOKEN}'} + + # Trigger export + res = requests.get(export_url, headers=headers) + if not res.ok: + error_text = res.text if res.text else '' + print(f'Failed to trigger export: {res.status_code} {res.reason} - {error_text}') + raise Exception(f'Failed to trigger export: {res.status_code} {res.reason}') + + data = res.json() + + # If data is an array, it's ready + if isinstance(data, list): + return data + + # If not, poll for the export file + file_url = data.get('download_url') or data.get('url') + tries = 0 + + while not file_url and tries < 20: + time.sleep(2) + res = requests.get(export_url, headers=headers) + if not res.ok: + error_text = res.text if res.text else '' + print(f'Failed to poll export: {res.status_code} {res.reason} - {error_text}') + raise Exception(f'Failed to poll export: {res.status_code} {res.reason}') + + data = res.json() + file_url = data.get('download_url') or data.get('url') + tries += 1 + + if not file_url: + raise Exception('Label Studio export did not become ready') + + # Download the export file + full_url = file_url if file_url.startswith('http') else f"{API_URL.replace('/api', '')}{file_url}" + res = requests.get(full_url, headers=headers) + if not res.ok: + error_text = res.text if res.text else '' + print(f'Failed to download export: {res.status_code} {res.reason} - {error_text}') + raise Exception(f'Failed to download export: {res.status_code} {res.reason}') + + return res.json() + +def fetch_project_ids_and_titles(): + """Fetch all Label Studio project IDs and titles""" + API_URL, API_TOKEN = get_api_credentials() + + try: + response = requests.get( + f'{API_URL}/projects/', + headers={ + 'Authorization': f'Token {API_TOKEN}', + 'Content-Type': 'application/json' + } + ) + + if not response.ok: + error_text = response.text if response.text else '' + print(f'Failed to fetch projects: {response.status_code} {response.reason} - {error_text}') + raise Exception(f'HTTP error! status: {response.status_code}') + + data = response.json() + + if 'results' not in data or not isinstance(data['results'], list): + raise Exception('API response does not contain results array') + + # Extract id and title from each project + projects = [ + {'id': project['id'], 'title': project['title']} + for project in data['results'] + ] + print(projects) + return projects + + except Exception as error: + print(f'Failed to fetch projects: {error}') + return [] diff --git a/backend/services/generate-json-yolox.js b/backend/services/generate-json-yolox.js index 295d034..886c768 100644 --- a/backend/services/generate-json-yolox.js +++ b/backend/services/generate-json-yolox.js @@ -1,176 +1,176 @@ -const TrainingProject = require('../models/TrainingProject.js'); -const TrainingProjectDetails = require('../models/TrainingProjectDetails.js') -const LabelStudioProject = require('../models/LabelStudioProject.js') -const Annotation = require('../models/Annotation.js') -const Images = require('../models/Images.js') -const fs = require('fs'); - - -async function generateTrainingJson(trainingId){ - // trainingId is now project_details_id - const trainingProjectDetails = await TrainingProjectDetails.findByPk(trainingId); - if (!trainingProjectDetails) throw new Error('No TrainingProjectDetails found for project_details_id ' + trainingId); - const detailsObj = trainingProjectDetails.get({ plain: true }); - // Get parent project for name - const trainingProject = await TrainingProject.findByPk(detailsObj.project_id); - // Get split percentages (assume they are stored as train_percent, valid_percent, test_percent) - const trainPercent = detailsObj.train_percent || 85; - const validPercent = detailsObj.valid_percent || 10; - const testPercent = detailsObj.test_percent || 5; - - let cocoImages = []; - let cocoAnnotations = []; - let cocoCategories = []; - let categoryMap = {}; - let categoryId = 0; - let imageid = 0; - let annotationid = 0; - - for (const cls of detailsObj.class_map) { - const asgMap = []; - const listAsg = cls[1]; - for(const asg of listAsg){ - asgMap.push ({ original: asg[0], mapped: asg[1] }); - // Build category list and mapping - if (asg[1] && !(asg[1] in categoryMap)) { - categoryMap[asg[1]] = categoryId; - cocoCategories.push({ id: categoryId, name: asg[1], supercategory: '' }); - categoryId++; - } - } - const images = await Images.findAll({ where: { project_id: cls[0] } }); - for(const image of images){ - imageid += 1; - let fileName = image.image_path; - if (fileName.includes('%20')) { - fileName = fileName.replace(/%20/g, ' '); - } - if (fileName && fileName.startsWith('/data/local-files/?d=')) { - fileName = fileName.replace('/data/local-files/?d=', ''); - fileName = fileName.replace('/home/kitraining/home/kitraining/', ''); - } - if (fileName && fileName.startsWith('home/kitraining/To_Annotate/')) { - fileName = fileName.replace('home/kitraining/To_Annotate/',''); - } - // Get annotations for this image - const annotations = await Annotation.findAll({ where: { image_id: image.image_id } }); - // Use image.width and image.height from DB (populated from original_width/original_height) - cocoImages.push({ - id: imageid, - file_name: fileName, - width: image.width || 0, - height: image.height || 0 - }); - for (const annotation of annotations) { - // Translate class name using asgMap - let mappedClass = annotation.Label; - for (const mapEntry of asgMap) { - if (annotation.Label === mapEntry.original) { - mappedClass = mapEntry.mapped; - break; - } - } - // Only add annotation if mappedClass is valid - if (mappedClass && mappedClass in categoryMap) { - annotationid += 1; - let area = 0; - if (annotation.width && annotation.height) { - area = annotation.width * annotation.height; - } - cocoAnnotations.push({ - id: annotationid, - image_id: imageid, - category_id: categoryMap[mappedClass], - bbox: [annotation.x, annotation.y, annotation.width, annotation.height], - area: area, - iscrowd: annotation.iscrowd || 0 - }); - } - } - } - } - - // Shuffle images for random split using seed - function seededRandom(seed) { - let x = Math.sin(seed++) * 10000; - return x - Math.floor(x); - } - function shuffle(array, seed) { - for (let i = array.length - 1; i > 0; i--) { - const j = Math.floor(seededRandom(seed + i) * (i + 1)); - [array[i], array[j]] = [array[j], array[i]]; - } - } - // Use seed from detailsObj if present, else default to 42 - const splitSeed = detailsObj.seed !== undefined && detailsObj.seed !== null ? Number(detailsObj.seed) : 42; - shuffle(cocoImages, splitSeed); - - // Split images - const totalImages = cocoImages.length; - const trainCount = Math.floor(totalImages * trainPercent / 100); - const validCount = Math.floor(totalImages * validPercent / 100); - const testCount = totalImages - trainCount - validCount; - - const trainImages = cocoImages.slice(0, trainCount); - const validImages = cocoImages.slice(trainCount, trainCount + validCount); - const testImages = cocoImages.slice(trainCount + validCount); - - // Helper to get image ids for each split - const trainImageIds = new Set(trainImages.map(img => img.id)); - const validImageIds = new Set(validImages.map(img => img.id)); - const testImageIds = new Set(testImages.map(img => img.id)); - - // Split annotations - const trainAnnotations = cocoAnnotations.filter(ann => trainImageIds.has(ann.image_id)); - const validAnnotations = cocoAnnotations.filter(ann => validImageIds.has(ann.image_id)); - const testAnnotations = cocoAnnotations.filter(ann => testImageIds.has(ann.image_id)); - - // Build final COCO JSONs with info section - const buildCocoJson = (images, annotations, categories) => ({ - images, - annotations, - categories - }); - - // Build COCO JSONs with info section - const trainJson = buildCocoJson(trainImages, trainAnnotations, cocoCategories); - const validJson = buildCocoJson(validImages, validAnnotations, cocoCategories); - const testJson = buildCocoJson(testImages, testAnnotations, cocoCategories); - - // Create output directory: projectname/trainingid/annotations - const projectName = trainingProject && trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${detailsObj.project_id}`; - const outDir = `${projectName}/${trainingId}`; - const annotationsDir = `/home/kitraining/To_Annotate/annotations`; - if (!fs.existsSync(annotationsDir)) { - fs.mkdirSync(annotationsDir, { recursive: true }); - } - - // Write to files in the annotations directory - const trainPath = `${annotationsDir}/coco_project_${trainingId}_train.json`; - const validPath = `${annotationsDir}/coco_project_${trainingId}_valid.json`; - const testPath = `${annotationsDir}/coco_project_${trainingId}_test.json`; - fs.writeFileSync(trainPath, JSON.stringify(trainJson, null, 2)); - fs.writeFileSync(validPath, JSON.stringify(validJson, null, 2)); - fs.writeFileSync(testPath, JSON.stringify(testJson, null, 2)); - console.log(`COCO JSON splits written to ${annotationsDir} for trainingId ${trainingId}`); - - - - // Also generate inference exp.py in the same output directory as exp.py (project folder in workspace) - const { generateYoloxInferenceExp } = require('./generate-yolox-exp'); - const path = require('path'); - const projectFolder = path.join(__dirname, '..', projectName, String(trainingId)); - if (!fs.existsSync(projectFolder)) { - fs.mkdirSync(projectFolder, { recursive: true }); - } - const inferenceExpPath = path.join(projectFolder, 'exp_infer.py'); - generateYoloxInferenceExp(trainingId).then(expContent => { - fs.writeFileSync(inferenceExpPath, expContent); - console.log(`Inference exp.py written to ${inferenceExpPath}`); - }).catch(err => { - console.error('Failed to generate inference exp.py:', err); - }); -} - - +const TrainingProject = require('../models/TrainingProject.js'); +const TrainingProjectDetails = require('../models/TrainingProjectDetails.js') +const LabelStudioProject = require('../models/LabelStudioProject.js') +const Annotation = require('../models/Annotation.js') +const Images = require('../models/Images.js') +const fs = require('fs'); + + +async function generateTrainingJson(trainingId){ + // trainingId is now project_details_id + const trainingProjectDetails = await TrainingProjectDetails.findByPk(trainingId); + if (!trainingProjectDetails) throw new Error('No TrainingProjectDetails found for project_details_id ' + trainingId); + const detailsObj = trainingProjectDetails.get({ plain: true }); + // Get parent project for name + const trainingProject = await TrainingProject.findByPk(detailsObj.project_id); + // Get split percentages (assume they are stored as train_percent, valid_percent, test_percent) + const trainPercent = detailsObj.train_percent || 85; + const validPercent = detailsObj.valid_percent || 10; + const testPercent = detailsObj.test_percent || 5; + + let cocoImages = []; + let cocoAnnotations = []; + let cocoCategories = []; + let categoryMap = {}; + let categoryId = 0; + let imageid = 0; + let annotationid = 0; + + for (const cls of detailsObj.class_map) { + const asgMap = []; + const listAsg = cls[1]; + for(const asg of listAsg){ + asgMap.push ({ original: asg[0], mapped: asg[1] }); + // Build category list and mapping + if (asg[1] && !(asg[1] in categoryMap)) { + categoryMap[asg[1]] = categoryId; + cocoCategories.push({ id: categoryId, name: asg[1], supercategory: '' }); + categoryId++; + } + } + const images = await Images.findAll({ where: { project_id: cls[0] } }); + for(const image of images){ + imageid += 1; + let fileName = image.image_path; + if (fileName.includes('%20')) { + fileName = fileName.replace(/%20/g, ' '); + } + if (fileName && fileName.startsWith('/data/local-files/?d=')) { + fileName = fileName.replace('/data/local-files/?d=', ''); + fileName = fileName.replace('/home/kitraining/home/kitraining/', ''); + } + if (fileName && fileName.startsWith('home/kitraining/To_Annotate/')) { + fileName = fileName.replace('home/kitraining/To_Annotate/',''); + } + // Get annotations for this image + const annotations = await Annotation.findAll({ where: { image_id: image.image_id } }); + // Use image.width and image.height from DB (populated from original_width/original_height) + cocoImages.push({ + id: imageid, + file_name: fileName, + width: image.width || 0, + height: image.height || 0 + }); + for (const annotation of annotations) { + // Translate class name using asgMap + let mappedClass = annotation.Label; + for (const mapEntry of asgMap) { + if (annotation.Label === mapEntry.original) { + mappedClass = mapEntry.mapped; + break; + } + } + // Only add annotation if mappedClass is valid + if (mappedClass && mappedClass in categoryMap) { + annotationid += 1; + let area = 0; + if (annotation.width && annotation.height) { + area = annotation.width * annotation.height; + } + cocoAnnotations.push({ + id: annotationid, + image_id: imageid, + category_id: categoryMap[mappedClass], + bbox: [annotation.x, annotation.y, annotation.width, annotation.height], + area: area, + iscrowd: annotation.iscrowd || 0 + }); + } + } + } + } + + // Shuffle images for random split using seed + function seededRandom(seed) { + let x = Math.sin(seed++) * 10000; + return x - Math.floor(x); + } + function shuffle(array, seed) { + for (let i = array.length - 1; i > 0; i--) { + const j = Math.floor(seededRandom(seed + i) * (i + 1)); + [array[i], array[j]] = [array[j], array[i]]; + } + } + // Use seed from detailsObj if present, else default to 42 + const splitSeed = detailsObj.seed !== undefined && detailsObj.seed !== null ? Number(detailsObj.seed) : 42; + shuffle(cocoImages, splitSeed); + + // Split images + const totalImages = cocoImages.length; + const trainCount = Math.floor(totalImages * trainPercent / 100); + const validCount = Math.floor(totalImages * validPercent / 100); + const testCount = totalImages - trainCount - validCount; + + const trainImages = cocoImages.slice(0, trainCount); + const validImages = cocoImages.slice(trainCount, trainCount + validCount); + const testImages = cocoImages.slice(trainCount + validCount); + + // Helper to get image ids for each split + const trainImageIds = new Set(trainImages.map(img => img.id)); + const validImageIds = new Set(validImages.map(img => img.id)); + const testImageIds = new Set(testImages.map(img => img.id)); + + // Split annotations + const trainAnnotations = cocoAnnotations.filter(ann => trainImageIds.has(ann.image_id)); + const validAnnotations = cocoAnnotations.filter(ann => validImageIds.has(ann.image_id)); + const testAnnotations = cocoAnnotations.filter(ann => testImageIds.has(ann.image_id)); + + // Build final COCO JSONs with info section + const buildCocoJson = (images, annotations, categories) => ({ + images, + annotations, + categories + }); + + // Build COCO JSONs with info section + const trainJson = buildCocoJson(trainImages, trainAnnotations, cocoCategories); + const validJson = buildCocoJson(validImages, validAnnotations, cocoCategories); + const testJson = buildCocoJson(testImages, testAnnotations, cocoCategories); + + // Create output directory: projectname/trainingid/annotations + const projectName = trainingProject && trainingProject.name ? trainingProject.name.replace(/\s+/g, '_') : `project_${detailsObj.project_id}`; + const outDir = `${projectName}/${trainingId}`; + const annotationsDir = `/home/kitraining/To_Annotate/annotations`; + if (!fs.existsSync(annotationsDir)) { + fs.mkdirSync(annotationsDir, { recursive: true }); + } + + // Write to files in the annotations directory + const trainPath = `${annotationsDir}/coco_project_${trainingId}_train.json`; + const validPath = `${annotationsDir}/coco_project_${trainingId}_valid.json`; + const testPath = `${annotationsDir}/coco_project_${trainingId}_test.json`; + fs.writeFileSync(trainPath, JSON.stringify(trainJson, null, 2)); + fs.writeFileSync(validPath, JSON.stringify(validJson, null, 2)); + fs.writeFileSync(testPath, JSON.stringify(testJson, null, 2)); + console.log(`COCO JSON splits written to ${annotationsDir} for trainingId ${trainingId}`); + + + + // Also generate inference exp.py in the same output directory as exp.py (project folder in workspace) + const { generateYoloxInferenceExp } = require('./generate-yolox-exp'); + const path = require('path'); + const projectFolder = path.join(__dirname, '..', projectName, String(trainingId)); + if (!fs.existsSync(projectFolder)) { + fs.mkdirSync(projectFolder, { recursive: true }); + } + const inferenceExpPath = path.join(projectFolder, 'exp_infer.py'); + generateYoloxInferenceExp(trainingId).then(expContent => { + fs.writeFileSync(inferenceExpPath, expContent); + console.log(`Inference exp.py written to ${inferenceExpPath}`); + }).catch(err => { + console.error('Failed to generate inference exp.py:', err); + }); +} + + module.exports = {generateTrainingJson}; \ No newline at end of file diff --git a/backend/services/generate-yolox-exp.js b/backend/services/generate-yolox-exp.js index d18e0a0..4cbdb6f 100644 --- a/backend/services/generate-yolox-exp.js +++ b/backend/services/generate-yolox-exp.js @@ -1,135 +1,135 @@ -const fs = require('fs'); -const path = require('path'); -const Training = require('../models/training.js'); -const TrainingProject = require('../models/TrainingProject.js'); - -// Remove Python comments and legacy code -const exp_names = [ - 'YOLOX-s', - 'YOLOX-m', - 'YOLOX-l', - 'YOLOX-x', - 'YOLOX-Darknet53', //todo - 'YOLOX-Nano', - 'YOLOX-Tiny' -] - -//TODO: Clean up generation of exp_names.py and remove second exp creation!!! - - -// Refactored: Accept trainingId, fetch info from DB -async function generateYoloxExp(trainingId) { - // Fetch training row from DB by project_details_id if not found by PK - let training = await Training.findByPk(trainingId); - if (!training) { - training = await Training.findOne({ where: { project_details_id: trainingId } }); - } - if (!training) throw new Error('Training not found for trainingId or project_details_id: ' + trainingId); - - // If transfer_learning is 'coco', just return the path to the default exp.py - if (training.transfer_learning === 'coco') { - const selectedModel = training.selected_model.toLowerCase().replace('-', '_'); - const expSourcePath = `/home/kitraining/Yolox/YOLOX-main/exps/default/${selectedModel}.py`; - if (!fs.existsSync(expSourcePath)) { - throw new Error(`Default exp.py not found for model: ${selectedModel} at ${expSourcePath}`); - } - // Copy to project folder (e.g., /home/kitraining/coco_tool/backend/project_XX/YY/exp.py) - const projectDetailsId = training.project_details_id; - const projectFolder = path.resolve(__dirname, `../project_23/${projectDetailsId}`); - if (!fs.existsSync(projectFolder)) { - fs.mkdirSync(projectFolder, { recursive: true }); - } - const expDestPath = path.join(projectFolder, 'exp.py'); - fs.copyFileSync(expSourcePath, expDestPath); - return { type: 'default', expPath: expDestPath }; - } - - // If transfer_learning is 'sketch', generate a custom exp.py as before - if (training.transfer_learning === 'sketch') { - // ...existing custom exp.py generation logic here (copy from previous implementation)... - // For brevity, you can call generateYoloxInferenceExp or similar here, or inline the logic. - // Example: - const expContent = await generateYoloxInferenceExp(trainingId); - return { type: 'custom', expContent }; - } - - throw new Error('Unknown transfer_learning type: ' + training.transfer_learning); -} - -async function saveYoloxExp(trainingId, outPath) { - const expResult = await generateYoloxExp(trainingId); - if (expResult.type === 'custom' && expResult.expContent) { - fs.writeFileSync(outPath, expResult.expContent); - return outPath; - } else if (expResult.type === 'default' && expResult.expPath) { - // Optionally copy the file if outPath is different - if (expResult.expPath !== outPath) { - fs.copyFileSync(expResult.expPath, outPath); - } - return outPath; - } else { - throw new Error('Unknown expResult type or missing content'); - } -} - -// Generate a second exp.py for inference, using the provided template and DB values -async function generateYoloxInferenceExp(trainingId, options = {}) { - let training = await Training.findByPk(trainingId); - if (!training) { - training = await Training.findOne({ where: { project_details_id: trainingId } }); - } - if (!training) throw new Error('Training not found for trainingId or project_details_id: ' + trainingId); - // Always use the trainingId (project_details_id) for annotation file names - const projectDetailsId = training.project_details_id; - const dataDir = options.data_dir || '/home/kitraining/To_Annotate/'; - const trainAnn = options.train_ann || `coco_project_${trainingId}_train.json`; - const valAnn = options.val_ann || `coco_project_${trainingId}_valid.json`; - const testAnn = options.test_ann || `coco_project_${trainingId}_test.json`; - // Get num_classes from TrainingProject.classes JSON - let numClasses = 80; - try { - const trainingProject = await TrainingProject.findByPk(projectDetailsId); - if (trainingProject && trainingProject.classes) { - let classesArr = trainingProject.classes; - if (typeof classesArr === 'string') { - classesArr = JSON.parse(classesArr); - } - if (Array.isArray(classesArr)) { - numClasses = classesArr.filter(c => c !== null && c !== undefined && c !== '').length; - } else if (typeof classesArr === 'object' && classesArr !== null) { - numClasses = Object.keys(classesArr).filter(k => classesArr[k] !== null && classesArr[k] !== undefined && classesArr[k] !== '').length; - } - } - } catch (e) { - console.warn('Could not determine num_classes from TrainingProject.classes:', e); - } - const depth = options.depth || training.depth || 1.00; - const width = options.width || training.width || 1.00; - const inputSize = options.input_size || training.input_size || [640, 640]; - const mosaicScale = options.mosaic_scale || training.mosaic_scale || [0.1, 2]; - const randomSize = options.random_size || training.random_size || [10, 20]; - const testSize = options.test_size || training.test_size || [640, 640]; - const expName = options.exp_name || 'inference_exp'; - const enableMixup = options.enable_mixup !== undefined ? options.enable_mixup : false; - let expContent = ''; - expContent += `#!/usr/bin/env python3\n# -*- coding:utf-8 -*-\n# Copyright (c) Megvii, Inc. and its affiliates.\n\nimport os\n\nfrom yolox.exp import Exp as MyExp\n\n\nclass Exp(MyExp):\n def __init__(self):\n super(Exp, self).__init__()\n self.data_dir = "${dataDir}"\n self.train_ann = "${trainAnn}"\n self.val_ann = "${valAnn}"\n self.test_ann = "coco_project_${trainingId}_test.json"\n self.num_classes = ${numClasses}\n`; - // Set pretrained_ckpt if transfer_learning is 'coco' - if (training.transfer_learning && typeof training.transfer_learning === 'string' && training.transfer_learning.toLowerCase() === 'coco') { - const yoloxBaseDir = '/home/kitraining/Yolox/YOLOX-main'; - const selectedModel = training.selected_model ? training.selected_model.replace(/\.pth$/i, '') : ''; - if (selectedModel) { - expContent += ` self.pretrained_ckpt = r'${yoloxBaseDir}/pretrained/${selectedModel}.pth'\n`; - } - } - expContent += ` self.depth = ${depth}\n self.width = ${width}\n self.input_size = (${Array.isArray(inputSize) ? inputSize.join(', ') : inputSize})\n self.mosaic_scale = (${Array.isArray(mosaicScale) ? mosaicScale.join(', ') : mosaicScale})\n self.random_size = (${Array.isArray(randomSize) ? randomSize.join(', ') : randomSize})\n self.test_size = (${Array.isArray(testSize) ? testSize.join(', ') : testSize})\n self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0]\n self.enable_mixup = ${enableMixup ? 'True' : 'False'}\n`; - return expContent; -} - -// Save inference exp.py to a custom path -async function saveYoloxInferenceExp(trainingId, outPath, options = {}) { - const expContent = await generateYoloxInferenceExp(trainingId, options); - fs.writeFileSync(outPath, expContent); - return outPath; -} - +const fs = require('fs'); +const path = require('path'); +const Training = require('../models/training.js'); +const TrainingProject = require('../models/TrainingProject.js'); + +// Remove Python comments and legacy code +const exp_names = [ + 'YOLOX-s', + 'YOLOX-m', + 'YOLOX-l', + 'YOLOX-x', + 'YOLOX-Darknet53', //todo + 'YOLOX-Nano', + 'YOLOX-Tiny' +] + +//TODO: Clean up generation of exp_names.py and remove second exp creation!!! + + +// Refactored: Accept trainingId, fetch info from DB +async function generateYoloxExp(trainingId) { + // Fetch training row from DB by project_details_id if not found by PK + let training = await Training.findByPk(trainingId); + if (!training) { + training = await Training.findOne({ where: { project_details_id: trainingId } }); + } + if (!training) throw new Error('Training not found for trainingId or project_details_id: ' + trainingId); + + // If transfer_learning is 'coco', just return the path to the default exp.py + if (training.transfer_learning === 'coco') { + const selectedModel = training.selected_model.toLowerCase().replace('-', '_'); + const expSourcePath = `/home/kitraining/Yolox/YOLOX-main/exps/default/${selectedModel}.py`; + if (!fs.existsSync(expSourcePath)) { + throw new Error(`Default exp.py not found for model: ${selectedModel} at ${expSourcePath}`); + } + // Copy to project folder (e.g., /home/kitraining/coco_tool/backend/project_XX/YY/exp.py) + const projectDetailsId = training.project_details_id; + const projectFolder = path.resolve(__dirname, `../project_23/${projectDetailsId}`); + if (!fs.existsSync(projectFolder)) { + fs.mkdirSync(projectFolder, { recursive: true }); + } + const expDestPath = path.join(projectFolder, 'exp.py'); + fs.copyFileSync(expSourcePath, expDestPath); + return { type: 'default', expPath: expDestPath }; + } + + // If transfer_learning is 'sketch', generate a custom exp.py as before + if (training.transfer_learning === 'sketch') { + // ...existing custom exp.py generation logic here (copy from previous implementation)... + // For brevity, you can call generateYoloxInferenceExp or similar here, or inline the logic. + // Example: + const expContent = await generateYoloxInferenceExp(trainingId); + return { type: 'custom', expContent }; + } + + throw new Error('Unknown transfer_learning type: ' + training.transfer_learning); +} + +async function saveYoloxExp(trainingId, outPath) { + const expResult = await generateYoloxExp(trainingId); + if (expResult.type === 'custom' && expResult.expContent) { + fs.writeFileSync(outPath, expResult.expContent); + return outPath; + } else if (expResult.type === 'default' && expResult.expPath) { + // Optionally copy the file if outPath is different + if (expResult.expPath !== outPath) { + fs.copyFileSync(expResult.expPath, outPath); + } + return outPath; + } else { + throw new Error('Unknown expResult type or missing content'); + } +} + +// Generate a second exp.py for inference, using the provided template and DB values +async function generateYoloxInferenceExp(trainingId, options = {}) { + let training = await Training.findByPk(trainingId); + if (!training) { + training = await Training.findOne({ where: { project_details_id: trainingId } }); + } + if (!training) throw new Error('Training not found for trainingId or project_details_id: ' + trainingId); + // Always use the trainingId (project_details_id) for annotation file names + const projectDetailsId = training.project_details_id; + const dataDir = options.data_dir || '/home/kitraining/To_Annotate/'; + const trainAnn = options.train_ann || `coco_project_${trainingId}_train.json`; + const valAnn = options.val_ann || `coco_project_${trainingId}_valid.json`; + const testAnn = options.test_ann || `coco_project_${trainingId}_test.json`; + // Get num_classes from TrainingProject.classes JSON + let numClasses = 80; + try { + const trainingProject = await TrainingProject.findByPk(projectDetailsId); + if (trainingProject && trainingProject.classes) { + let classesArr = trainingProject.classes; + if (typeof classesArr === 'string') { + classesArr = JSON.parse(classesArr); + } + if (Array.isArray(classesArr)) { + numClasses = classesArr.filter(c => c !== null && c !== undefined && c !== '').length; + } else if (typeof classesArr === 'object' && classesArr !== null) { + numClasses = Object.keys(classesArr).filter(k => classesArr[k] !== null && classesArr[k] !== undefined && classesArr[k] !== '').length; + } + } + } catch (e) { + console.warn('Could not determine num_classes from TrainingProject.classes:', e); + } + const depth = options.depth || training.depth || 1.00; + const width = options.width || training.width || 1.00; + const inputSize = options.input_size || training.input_size || [640, 640]; + const mosaicScale = options.mosaic_scale || training.mosaic_scale || [0.1, 2]; + const randomSize = options.random_size || training.random_size || [10, 20]; + const testSize = options.test_size || training.test_size || [640, 640]; + const expName = options.exp_name || 'inference_exp'; + const enableMixup = options.enable_mixup !== undefined ? options.enable_mixup : false; + let expContent = ''; + expContent += `#!/usr/bin/env python3\n# -*- coding:utf-8 -*-\n# Copyright (c) Megvii, Inc. and its affiliates.\n\nimport os\n\nfrom yolox.exp import Exp as MyExp\n\n\nclass Exp(MyExp):\n def __init__(self):\n super(Exp, self).__init__()\n self.data_dir = "${dataDir}"\n self.train_ann = "${trainAnn}"\n self.val_ann = "${valAnn}"\n self.test_ann = "coco_project_${trainingId}_test.json"\n self.num_classes = ${numClasses}\n`; + // Set pretrained_ckpt if transfer_learning is 'coco' + if (training.transfer_learning && typeof training.transfer_learning === 'string' && training.transfer_learning.toLowerCase() === 'coco') { + const yoloxBaseDir = '/home/kitraining/Yolox/YOLOX-main'; + const selectedModel = training.selected_model ? training.selected_model.replace(/\.pth$/i, '') : ''; + if (selectedModel) { + expContent += ` self.pretrained_ckpt = r'${yoloxBaseDir}/pretrained/${selectedModel}.pth'\n`; + } + } + expContent += ` self.depth = ${depth}\n self.width = ${width}\n self.input_size = (${Array.isArray(inputSize) ? inputSize.join(', ') : inputSize})\n self.mosaic_scale = (${Array.isArray(mosaicScale) ? mosaicScale.join(', ') : mosaicScale})\n self.random_size = (${Array.isArray(randomSize) ? randomSize.join(', ') : randomSize})\n self.test_size = (${Array.isArray(testSize) ? testSize.join(', ') : testSize})\n self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0]\n self.enable_mixup = ${enableMixup ? 'True' : 'False'}\n`; + return expContent; +} + +// Save inference exp.py to a custom path +async function saveYoloxInferenceExp(trainingId, outPath, options = {}) { + const expContent = await generateYoloxInferenceExp(trainingId, options); + fs.writeFileSync(outPath, expContent); + return outPath; +} + module.exports = { generateYoloxExp, saveYoloxExp, generateYoloxInferenceExp, saveYoloxInferenceExp }; \ No newline at end of file diff --git a/backend/services/generate_json_yolox.py b/backend/services/generate_json_yolox.py index 0129c96..3592b55 100644 --- a/backend/services/generate_json_yolox.py +++ b/backend/services/generate_json_yolox.py @@ -1,179 +1,288 @@ -import json -import os -import math -from models.TrainingProject import TrainingProject -from models.TrainingProjectDetails import TrainingProjectDetails -from models.Images import Image -from models.Annotation import Annotation - -def generate_training_json(training_id): - """Generate COCO JSON for training, validation, and test sets""" - # training_id is now project_details_id - training_project_details = TrainingProjectDetails.query.get(training_id) - - if not training_project_details: - raise Exception(f'No TrainingProjectDetails found for project_details_id {training_id}') - - details_obj = training_project_details.to_dict() - - # Get parent project for name - training_project = TrainingProject.query.get(details_obj['project_id']) - - # Get split percentages (default values if not set) - train_percent = details_obj.get('train_percent', 85) - valid_percent = details_obj.get('valid_percent', 10) - test_percent = details_obj.get('test_percent', 5) - - coco_images = [] - coco_annotations = [] - coco_categories = [] - category_map = {} - category_id = 0 - image_id = 0 - annotation_id = 0 - - for cls in details_obj['class_map']: - asg_map = [] - list_asg = cls[1] - - for asg in list_asg: - asg_map.append({'original': asg[0], 'mapped': asg[1]}) - # Build category list and mapping - if asg[1] and asg[1] not in category_map: - category_map[asg[1]] = category_id - coco_categories.append({'id': category_id, 'name': asg[1], 'supercategory': ''}) - category_id += 1 - - # Get images for this project - images = Image.query.filter_by(project_id=cls[0]).all() - - for image in images: - image_id += 1 - file_name = image.image_path - - # Clean up file path - if '%20' in file_name: - file_name = file_name.replace('%20', ' ') - if file_name and file_name.startswith('/data/local-files/?d='): - file_name = file_name.replace('/data/local-files/?d=', '') - file_name = file_name.replace('/home/kitraining/home/kitraining/', '') - if file_name and file_name.startswith('home/kitraining/To_Annotate/'): - file_name = file_name.replace('home/kitraining/To_Annotate/', '') - - # Get annotations for this image - annotations = Annotation.query.filter_by(image_id=image.image_id).all() - - coco_images.append({ - 'id': image_id, - 'file_name': file_name, - 'width': image.width or 0, - 'height': image.height or 0 - }) - - for annotation in annotations: - # Translate class name using asg_map - mapped_class = annotation.Label - for map_entry in asg_map: - if annotation.Label == map_entry['original']: - mapped_class = map_entry['mapped'] - break - - # Only add annotation if mapped_class is valid - if mapped_class and mapped_class in category_map: - annotation_id += 1 - area = 0 - if annotation.width and annotation.height: - area = annotation.width * annotation.height - - coco_annotations.append({ - 'id': annotation_id, - 'image_id': image_id, - 'category_id': category_map[mapped_class], - 'bbox': [annotation.x, annotation.y, annotation.width, annotation.height], - 'area': area, - 'iscrowd': 0 - }) - - # Shuffle images for random split using seed - def seeded_random(seed): - x = math.sin(seed) * 10000 - return x - math.floor(x) - - def shuffle(array, seed): - for i in range(len(array) - 1, 0, -1): - j = int(seeded_random(seed + i) * (i + 1)) - array[i], array[j] = array[j], array[i] - - # Use seed from details_obj if present, else default to 42 - split_seed = details_obj.get('seed', 42) - if split_seed is not None: - split_seed = int(split_seed) - else: - split_seed = 42 - - shuffle(coco_images, split_seed) - - # Split images - total_images = len(coco_images) - train_count = int(total_images * train_percent / 100) - valid_count = int(total_images * valid_percent / 100) - test_count = total_images - train_count - valid_count - - train_images = coco_images[0:train_count] - valid_images = coco_images[train_count:train_count + valid_count] - test_images = coco_images[train_count + valid_count:] - - # Helper to get image ids for each split - train_image_ids = {img['id'] for img in train_images} - valid_image_ids = {img['id'] for img in valid_images} - test_image_ids = {img['id'] for img in test_images} - - # Split annotations - train_annotations = [ann for ann in coco_annotations if ann['image_id'] in train_image_ids] - valid_annotations = [ann for ann in coco_annotations if ann['image_id'] in valid_image_ids] - test_annotations = [ann for ann in coco_annotations if ann['image_id'] in test_image_ids] - - # Build final COCO JSONs - def build_coco_json(images, annotations, categories): - return { - 'images': images, - 'annotations': annotations, - 'categories': categories - } - - train_json = build_coco_json(train_images, train_annotations, coco_categories) - valid_json = build_coco_json(valid_images, valid_annotations, coco_categories) - test_json = build_coco_json(test_images, test_annotations, coco_categories) - - # Create output directory - project_name = training_project.title.replace(' ', '_') if training_project and training_project.title else f'project_{details_obj["project_id"]}' - annotations_dir = '/home/kitraining/To_Annotate/annotations' - os.makedirs(annotations_dir, exist_ok=True) - - # Write to files - train_path = f'{annotations_dir}/coco_project_{training_id}_train.json' - valid_path = f'{annotations_dir}/coco_project_{training_id}_valid.json' - test_path = f'{annotations_dir}/coco_project_{training_id}_test.json' - - with open(train_path, 'w') as f: - json.dump(train_json, f, indent=2) - with open(valid_path, 'w') as f: - json.dump(valid_json, f, indent=2) - with open(test_path, 'w') as f: - json.dump(test_json, f, indent=2) - - print(f'COCO JSON splits written to {annotations_dir} for trainingId {training_id}') - - # Also generate inference exp.py - from services.generate_yolox_exp import generate_yolox_inference_exp - project_folder = os.path.join(os.path.dirname(__file__), '..', project_name, str(training_id)) - os.makedirs(project_folder, exist_ok=True) - - inference_exp_path = os.path.join(project_folder, 'exp_infer.py') - try: - exp_content = generate_yolox_inference_exp(training_id) - with open(inference_exp_path, 'w') as f: - f.write(exp_content) - print(f'Inference exp.py written to {inference_exp_path}') - except Exception as err: - print(f'Failed to generate inference exp.py: {err}') +import json +import os +import math +from models.TrainingProject import TrainingProject +from models.TrainingProjectDetails import TrainingProjectDetails +from models.Images import Image +from models.Annotation import Annotation + +def generate_training_json(training_id): + """Generate COCO JSON for training, validation, and test sets""" + # training_id is now project_details_id + training_project_details = TrainingProjectDetails.query.get(training_id) + + if not training_project_details: + raise Exception(f'No TrainingProjectDetails found for project_details_id {training_id}') + + details_obj = training_project_details.to_dict() + + # Get parent project for name + training_project = TrainingProject.query.get(details_obj['project_id']) + + # Get the data directory setting for image paths + from services.settings_service import get_setting + data_dir = get_setting('yolox_data_dir', '/home/kitraining/To_Annotate/') + + # Fix UNC path if it's missing the \\ prefix + # Check if it looks like a UNC path without proper prefix (e.g., "192.168.1.19\...") + if data_dir and not data_dir.startswith('\\\\') and not data_dir.startswith('/'): + # Check if it starts with an IP address pattern + import re + if re.match(r'^\d+\.\d+\.\d+\.\d+[/\\]', data_dir): + data_dir = '\\\\' + data_dir + + # Ensure data_dir ends with separator + if not data_dir.endswith(os.sep) and not data_dir.endswith('/'): + data_dir += os.sep + + # Get split percentages (default values if not set) + train_percent = details_obj.get('train_percent', 85) + valid_percent = details_obj.get('valid_percent', 10) + test_percent = details_obj.get('test_percent', 5) + + coco_images = [] + coco_annotations = [] + coco_categories = [] + category_map = {} + category_id = 0 + image_id = 0 + annotation_id = 0 + + # Build category list and mapping from class_map dictionary {source: target} + class_map = details_obj.get('class_map', {}) + + for source_class, target_class in class_map.items(): + if target_class and target_class not in category_map: + category_map[target_class] = category_id + coco_categories.append({'id': category_id, 'name': target_class, 'supercategory': ''}) + category_id += 1 + + # Get all annotation projects (Label Studio project IDs) + annotation_projects = details_obj.get('annotation_projects', []) + + # Get class mappings from database grouped by Label Studio project + from models.ClassMapping import ClassMapping + all_mappings = ClassMapping.query.filter_by(project_details_id=training_id).all() + + # Group mappings by Label Studio project ID + mappings_by_project = {} + for mapping in all_mappings: + ls_proj_id = mapping.label_studio_project_id + if ls_proj_id not in mappings_by_project: + mappings_by_project[ls_proj_id] = {} + mappings_by_project[ls_proj_id][mapping.source_class] = mapping.target_class + + # Also add target class to category map if not present + if mapping.target_class and mapping.target_class not in category_map: + category_map[mapping.target_class] = category_id + coco_categories.append({'id': category_id, 'name': mapping.target_class, 'supercategory': ''}) + category_id += 1 + + # Iterate through each annotation project to collect images and annotations + for ls_project_id in annotation_projects: + # Get images for this Label Studio project + images = Image.query.filter_by(project_id=ls_project_id).all() + + for image in images: + image_id += 1 + file_name = image.image_path + + # Clean up file path from Label Studio format + if '%20' in file_name: + file_name = file_name.replace('%20', ' ') + if file_name and file_name.startswith('/data/local-files/?d='): + file_name = file_name.replace('/data/local-files/?d=', '') + + # Remove any Label Studio prefixes but keep full path + # Common Label Studio patterns + prefixes_to_remove = [ + '//192.168.1.19/home/kitraining/To_Annotate/', + '192.168.1.19/home/kitraining/To_Annotate/', + '/home/kitraining/home/kitraining/', + 'home/kitraining/To_Annotate/', + '/home/kitraining/To_Annotate/', + ] + + # Try each prefix + for prefix in prefixes_to_remove: + if file_name.startswith(prefix): + file_name = file_name[len(prefix):] + break + + # Construct ABSOLUTE path using data_dir + # Detect platform for proper path handling + import platform + is_windows = platform.system() == 'Windows' + + # Normalize path separators in file_name to forward slashes first (OS-agnostic) + file_name = file_name.replace('\\', '/') + + # Normalize data_dir to use forward slashes + normalized_data_dir = data_dir.rstrip('/\\').replace('\\', '/') + + # Check if file_name is already an absolute path + is_absolute = False + if is_windows: + # Windows: Check for drive letter (C:/) or UNC path (//server/) + is_absolute = (len(file_name) > 1 and file_name[1] == ':') or file_name.startswith('//') + else: + # Linux/Mac: Check for leading / + is_absolute = file_name.startswith('/') + + if not is_absolute: + # It's a relative path, combine with data_dir + if normalized_data_dir.startswith('//'): + # UNC path on Windows + file_name = normalized_data_dir + '/' + file_name + else: + # Regular path - use os.path.join but with forward slashes + file_name = os.path.join(normalized_data_dir, file_name).replace('\\', '/') + + # Final OS-specific normalization + if is_windows: + # Convert to Windows-style backslashes + file_name = file_name.replace('/', '\\') + else: + # Keep as forward slashes for Linux/Mac + file_name = file_name.replace('\\', '/') + + # Get annotations for this image + annotations = Annotation.query.filter_by(image_id=image.image_id).all() + + # Ensure width and height are integers and valid + # If missing or invalid, skip this image or use default dimensions + img_width = int(image.width) if image.width else 0 + img_height = int(image.height) if image.height else 0 + + # Skip images with invalid dimensions + if img_width <= 0 or img_height <= 0: + print(f'Warning: Skipping image {file_name} with invalid dimensions: {img_width}x{img_height}') + continue + + coco_images.append({ + 'id': image_id, + 'file_name': file_name, # Use absolute path + 'width': img_width, + 'height': img_height + }) + + for annotation in annotations: + # Translate class name using class_map for this specific Label Studio project + original_class = annotation.Label + project_class_map = mappings_by_project.get(ls_project_id, {}) + mapped_class = project_class_map.get(original_class, original_class) + + # Only add annotation if mapped_class is valid + if mapped_class and mapped_class in category_map: + annotation_id += 1 + area = 0 + if annotation.width and annotation.height: + area = annotation.width * annotation.height + + coco_annotations.append({ + 'id': annotation_id, + 'image_id': image_id, + 'category_id': category_map[mapped_class], + 'bbox': [annotation.x, annotation.y, annotation.width, annotation.height], + 'area': area, + 'iscrowd': 0 + }) + + # Shuffle images for random split using seed + def seeded_random(seed): + x = math.sin(seed) * 10000 + return x - math.floor(x) + + def shuffle(array, seed): + for i in range(len(array) - 1, 0, -1): + j = int(seeded_random(seed + i) * (i + 1)) + array[i], array[j] = array[j], array[i] + + # Use seed from details_obj if present, else default to 42 + split_seed = details_obj.get('seed', 42) + if split_seed is not None: + split_seed = int(split_seed) + else: + split_seed = 42 + + shuffle(coco_images, split_seed) + + # Split images + total_images = len(coco_images) + train_count = int(total_images * train_percent / 100) + valid_count = int(total_images * valid_percent / 100) + test_count = total_images - train_count - valid_count + + train_images = coco_images[0:train_count] + valid_images = coco_images[train_count:train_count + valid_count] + test_images = coco_images[train_count + valid_count:] + + # Helper to get image ids for each split + train_image_ids = {img['id'] for img in train_images} + valid_image_ids = {img['id'] for img in valid_images} + test_image_ids = {img['id'] for img in test_images} + + # Split annotations + train_annotations = [ann for ann in coco_annotations if ann['image_id'] in train_image_ids] + valid_annotations = [ann for ann in coco_annotations if ann['image_id'] in valid_image_ids] + test_annotations = [ann for ann in coco_annotations if ann['image_id'] in test_image_ids] + + # Build final COCO JSONs + def build_coco_json(images, annotations, categories): + return { + 'images': images, + 'annotations': annotations, + 'categories': categories + } + + train_json = build_coco_json(train_images, train_annotations, coco_categories) + valid_json = build_coco_json(valid_images, valid_annotations, coco_categories) + test_json = build_coco_json(test_images, test_annotations, coco_categories) + + # Create output directory + from services.settings_service import get_setting + from models.training import Training + + output_base_path = get_setting('yolox_output_path', './backend') + + project_name = training_project.title.replace(' ', '_') if training_project and training_project.title else f'project_{details_obj["project_id"]}' + + # Get training record to use its name for folder + training_record = Training.query.filter_by(project_details_id=training_id).first() + training_folder_name = f"{training_record.exp_name or training_record.training_name or 'training'}_{training_record.id}" if training_record else str(training_id) + training_folder_name = training_folder_name.replace(' ', '_') + + # Use training_record.id for file names to match what generate_yolox_exp expects + training_file_id = training_record.id if training_record else training_id + + # Save annotations to the configured output folder + annotations_dir = os.path.join(output_base_path, project_name, training_folder_name, 'annotations') + os.makedirs(annotations_dir, exist_ok=True) + + # Write to files + train_path = os.path.join(annotations_dir, f'coco_project_{training_file_id}_train.json') + valid_path = os.path.join(annotations_dir, f'coco_project_{training_file_id}_valid.json') + test_path = os.path.join(annotations_dir, f'coco_project_{training_file_id}_test.json') + + with open(train_path, 'w') as f: + json.dump(train_json, f, indent=2) + with open(valid_path, 'w') as f: + json.dump(valid_json, f, indent=2) + with open(test_path, 'w') as f: + json.dump(test_json, f, indent=2) + + print(f'COCO JSON splits written to {annotations_dir} for trainingId {training_id}') + + # Also generate inference exp.py + from services.generate_yolox_exp import generate_yolox_inference_exp + project_folder = os.path.join(output_base_path, project_name, str(training_id)) + os.makedirs(project_folder, exist_ok=True) + + inference_exp_path = os.path.join(project_folder, 'exp_infer.py') + try: + exp_content = generate_yolox_inference_exp(training_id) + with open(inference_exp_path, 'w') as f: + f.write(exp_content) + print(f'Inference exp.py written to {inference_exp_path}') + except Exception as err: + print(f'Failed to generate inference exp.py: {err}') diff --git a/backend/services/generate_yolox_exp.py b/backend/services/generate_yolox_exp.py index 3377f5d..0f30c91 100644 --- a/backend/services/generate_yolox_exp.py +++ b/backend/services/generate_yolox_exp.py @@ -1,228 +1,329 @@ -import os -import shutil -import importlib.util -from models.training import Training -from models.TrainingProject import TrainingProject - -def load_base_config(selected_model): - """Load base configuration for a specific YOLOX model""" - model_name = selected_model.lower().replace('-', '_').replace('.pth', '') - base_config_path = os.path.join(os.path.dirname(__file__), '..', 'data', f'{model_name}.py') - - if not os.path.exists(base_config_path): - raise Exception(f'Base configuration not found for model: {model_name} at {base_config_path}') - - # Load the module dynamically - spec = importlib.util.spec_from_file_location(f"base_config_{model_name}", base_config_path) - module = importlib.util.module_from_spec(spec) - spec.loader.exec_module(module) - - # Extract all attributes from BaseExp class - base_exp = module.BaseExp() - base_config = {} - for attr in dir(base_exp): - if not attr.startswith('_'): - base_config[attr] = getattr(base_exp, attr) - - return base_config - -def generate_yolox_exp(training_id): - """Generate YOLOX exp.py file""" - # Fetch training row from DB - training = Training.query.get(training_id) - if not training: - training = Training.query.filter_by(project_details_id=training_id).first() - - if not training: - raise Exception(f'Training not found for trainingId or project_details_id: {training_id}') - - # If transfer_learning is 'coco', generate exp using base config + custom settings - if training.transfer_learning == 'coco': - exp_content = generate_yolox_inference_exp(training_id, use_base_config=True) - return {'type': 'custom', 'expContent': exp_content} - - # If transfer_learning is 'sketch', generate custom exp.py - if training.transfer_learning == 'sketch': - exp_content = generate_yolox_inference_exp(training_id, use_base_config=False) - return {'type': 'custom', 'expContent': exp_content} - - raise Exception(f'Unknown transfer_learning type: {training.transfer_learning}') - -def save_yolox_exp(training_id, out_path): - """Save YOLOX exp.py to specified path""" - exp_result = generate_yolox_exp(training_id) - - if exp_result['type'] == 'custom' and 'expContent' in exp_result: - with open(out_path, 'w') as f: - f.write(exp_result['expContent']) - return out_path - elif exp_result['type'] == 'default' and 'expPath' in exp_result: - # Optionally copy the file if outPath is different - if exp_result['expPath'] != out_path: - shutil.copyfile(exp_result['expPath'], out_path) - return out_path - else: - raise Exception('Unknown expResult type or missing content') - -def generate_yolox_inference_exp(training_id, options=None, use_base_config=False): - """Generate inference exp.py using DB values - - Args: - training_id: The training/project_details ID - options: Optional overrides for data paths - use_base_config: If True, load base config and only override with user-defined values - """ - if options is None: - options = {} - - training = Training.query.get(training_id) - if not training: - training = Training.query.filter_by(project_details_id=training_id).first() - - if not training: - raise Exception(f'Training not found for trainingId or project_details_id: {training_id}') - - # Always use the training_id (project_details_id) for annotation file names - project_details_id = training.project_details_id - - data_dir = options.get('data_dir', '/home/kitraining/To_Annotate/') - train_ann = options.get('train_ann', f'coco_project_{training_id}_train.json') - val_ann = options.get('val_ann', f'coco_project_{training_id}_valid.json') - test_ann = options.get('test_ann', f'coco_project_{training_id}_test.json') - - # Get num_classes from TrainingProject.classes JSON - num_classes = 80 - try: - training_project = TrainingProject.query.get(project_details_id) - if training_project and training_project.classes: - classes_arr = training_project.classes - if isinstance(classes_arr, str): - import json - classes_arr = json.loads(classes_arr) - - if isinstance(classes_arr, list): - num_classes = len([c for c in classes_arr if c not in [None, '']]) - elif isinstance(classes_arr, dict): - num_classes = len([k for k, v in classes_arr.items() if v not in [None, '']]) - except Exception as e: - print(f'Could not determine num_classes from TrainingProject.classes: {e}') - - # Initialize config dictionary - config = {} - - # If using base config (transfer learning from COCO), load protected parameters first - if use_base_config and training.selected_model: - try: - base_config = load_base_config(training.selected_model) - config.update(base_config) - print(f'Loaded base config for {training.selected_model}: {list(base_config.keys())}') - except Exception as e: - print(f'Warning: Could not load base config for {training.selected_model}: {e}') - print('Falling back to custom settings only') - - # Override with user-defined values from training table (only if they exist and are not None) - user_overrides = { - 'depth': training.depth, - 'width': training.width, - 'input_size': training.input_size, - 'mosaic_scale': training.mosaic_scale, - 'test_size': training.test_size, - 'enable_mixup': training.enable_mixup, - 'max_epoch': training.max_epoch, - 'warmup_epochs': training.warmup_epochs, - 'warmup_lr': training.warmup_lr, - 'basic_lr_per_img': training.basic_lr_per_img, - 'scheduler': training.scheduler, - 'no_aug_epochs': training.no_aug_epochs, - 'min_lr_ratio': training.min_lr_ratio, - 'ema': training.ema, - 'weight_decay': training.weight_decay, - 'momentum': training.momentum, - 'print_interval': training.print_interval, - 'eval_interval': training.eval_interval, - 'test_conf': training.test_conf, - 'nms_thre': training.nms_thre, - 'mosaic_prob': training.mosaic_prob, - 'mixup_prob': training.mixup_prob, - 'hsv_prob': training.hsv_prob, - 'flip_prob': training.flip_prob, - 'degrees': training.degrees, - 'translate': training.translate, - 'shear': training.shear, - 'mixup_scale': training.mixup_scale, - 'activation': training.activation, - } - - # Only override if value is explicitly set (not None) - for key, value in user_overrides.items(): - if value is not None: - config[key] = value - - # Apply any additional options overrides - config.update(options) - - # Set defaults for any missing required parameters - config.setdefault('depth', 1.00) - config.setdefault('width', 1.00) - config.setdefault('input_size', [640, 640]) - config.setdefault('mosaic_scale', [0.1, 2]) - config.setdefault('random_size', [10, 20]) - config.setdefault('test_size', [640, 640]) - config.setdefault('enable_mixup', False) - config.setdefault('exp_name', 'inference_exp') - - # Build exp content - exp_content = f'''#!/usr/bin/env python3 -# -*- coding:utf-8 -*- -# Copyright (c) Megvii, Inc. and its affiliates. - -import os - -from yolox.exp import Exp as MyExp - - -class Exp(MyExp): - def __init__(self): - super(Exp, self).__init__() - self.data_dir = "{data_dir}" - self.train_ann = "{train_ann}" - self.val_ann = "{val_ann}" - self.test_ann = "{test_ann}" - self.num_classes = {num_classes} -''' - - # Set pretrained_ckpt if transfer_learning is 'coco' - if training.transfer_learning and isinstance(training.transfer_learning, str) and training.transfer_learning.lower() == 'coco': - yolox_base_dir = '/home/kitraining/Yolox/YOLOX-main' - selected_model = training.selected_model.replace('.pth', '') if training.selected_model else '' - if selected_model: - exp_content += f" self.pretrained_ckpt = r'{yolox_base_dir}/pretrained/{selected_model}.pth'\n" - - # Format arrays - def format_value(val): - if isinstance(val, (list, tuple)): - return '(' + ', '.join(map(str, val)) + ')' - elif isinstance(val, bool): - return str(val) - elif isinstance(val, str): - return f'"{val}"' - else: - return str(val) - - # Add all config parameters to exp - for key, value in config.items(): - if key not in ['exp_name']: # exp_name is handled separately - exp_content += f" self.{key} = {format_value(value)}\n" - - # Add exp_name at the end (uses dynamic path) - exp_content += f''' self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] -''' - - return exp_content - -def save_yolox_inference_exp(training_id, out_path, options=None): - """Save inference exp.py to custom path""" - exp_content = generate_yolox_inference_exp(training_id, options, use_base_config=False) - with open(out_path, 'w') as f: - f.write(exp_content) - return out_path +import os +import shutil +import importlib.util +from models.training import Training +from models.TrainingProject import TrainingProject + +def load_base_config(selected_model): + """Load base configuration for a specific YOLOX model""" + model_name = selected_model.lower().replace('-', '_').replace('.pth', '') + base_config_path = os.path.join(os.path.dirname(__file__), '..', 'data', f'{model_name}.py') + + if not os.path.exists(base_config_path): + raise Exception(f'Base configuration not found for model: {model_name} at {base_config_path}') + + # Load the module dynamically + spec = importlib.util.spec_from_file_location(f"base_config_{model_name}", base_config_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + + # Extract all attributes from BaseExp class + base_exp = module.BaseExp() + base_config = {} + for attr in dir(base_exp): + if not attr.startswith('_'): + base_config[attr] = getattr(base_exp, attr) + + return base_config + +def generate_yolox_exp(training_id): + """Generate YOLOX exp.py file""" + # Fetch training row from DB + training = Training.query.get(training_id) + if not training: + training = Training.query.filter_by(project_details_id=training_id).first() + + if not training: + raise Exception(f'Training not found for trainingId or project_details_id: {training_id}') + + # If transfer_learning is 'coco', generate exp using base config + custom settings + if training.transfer_learning == 'coco': + exp_content = generate_yolox_inference_exp(training_id, use_base_config=True) + return {'type': 'custom', 'expContent': exp_content} + + # If transfer_learning is 'sketch', generate custom exp.py + if training.transfer_learning == 'sketch': + exp_content = generate_yolox_inference_exp(training_id, use_base_config=False) + return {'type': 'custom', 'expContent': exp_content} + + raise Exception(f'Unknown transfer_learning type: {training.transfer_learning}') + +def save_yolox_exp(training_id, out_path): + """Save YOLOX exp.py to specified path""" + exp_result = generate_yolox_exp(training_id) + + if exp_result['type'] == 'custom' and 'expContent' in exp_result: + with open(out_path, 'w') as f: + f.write(exp_result['expContent']) + return out_path + elif exp_result['type'] == 'default' and 'expPath' in exp_result: + # Optionally copy the file if outPath is different + if exp_result['expPath'] != out_path: + shutil.copyfile(exp_result['expPath'], out_path) + return out_path + else: + raise Exception('Unknown expResult type or missing content') + +def generate_yolox_inference_exp(training_id, options=None, use_base_config=False): + """Generate inference exp.py using DB values + + Args: + training_id: The training/project_details ID + options: Optional overrides for data paths + use_base_config: If True, load base config and only override with user-defined values + """ + if options is None: + options = {} + + training = Training.query.get(training_id) + if not training: + training = Training.query.filter_by(project_details_id=training_id).first() + + if not training: + raise Exception(f'Training not found for trainingId or project_details_id: {training_id}') + + # Always use the project_details_id for annotation file names and paths + project_details_id = training.project_details_id + + # Get annotation file names from options or use defaults + # Use training.id (not project_details_id) for consistency with generate_training_json + train_ann = options.get('train_ann', f'coco_project_{training_id}_train.json') + val_ann = options.get('val_ann', f'coco_project_{training_id}_valid.json') + test_ann = options.get('test_ann', f'coco_project_{training_id}_test.json') + + # Get data_dir - this should point to where IMAGES are located (not annotations) + # YOLOX will combine data_dir + file_name from COCO JSON to find images + # The annotations are in a separate location (output folder) + from services.settings_service import get_setting + from models.TrainingProjectDetails import TrainingProjectDetails + + if 'data_dir' in options: + data_dir = options['data_dir'] + else: + # Use the yolox_data_dir setting - this is where training images are stored + data_dir = get_setting('yolox_data_dir', '/home/kitraining/To_Annotate/') + # Ensure it ends with a separator + if not data_dir.endswith(os.sep) and not data_dir.endswith('/'): + data_dir += os.sep + + # Get num_classes from ProjectClass table (3NF) + num_classes = 80 + try: + from models.ProjectClass import ProjectClass + training_project = TrainingProject.query.get(project_details_id) + if training_project: + # Count classes from ProjectClass table + class_count = ProjectClass.query.filter_by(project_id=training_project.project_id).count() + if class_count > 0: + num_classes = class_count + except Exception as e: + print(f'Could not determine num_classes from ProjectClass: {e}') + + # Initialize config dictionary + config = {} + + # If using base config (transfer learning from COCO), load protected parameters first + if use_base_config and training.selected_model: + try: + base_config = load_base_config(training.selected_model) + config.update(base_config) + print(f'Loaded base config for {training.selected_model}: {list(base_config.keys())}') + except Exception as e: + print(f'Warning: Could not load base config for {training.selected_model}: {e}') + print('Falling back to custom settings only') + + # Get size arrays from TrainingSize table (3NF) + from models.TrainingSize import TrainingSize + + def get_size_array(training_id, size_type): + """Helper to get size array from TrainingSize table""" + sizes = TrainingSize.query.filter_by( + training_id=training_id, + size_type=size_type + ).order_by(TrainingSize.value_order).all() + return [s.value for s in sizes] if sizes else None + + input_size = get_size_array(training.id, 'input_size') + test_size = get_size_array(training.id, 'test_size') + mosaic_scale = get_size_array(training.id, 'mosaic_scale') + mixup_scale = get_size_array(training.id, 'mixup_scale') + + # Override with user-defined values from training table (only if they exist and are not None) + user_overrides = { + 'depth': training.depth, + 'width': training.width, + 'input_size': input_size, + 'mosaic_scale': mosaic_scale, + 'test_size': test_size, + 'enable_mixup': training.enable_mixup, + 'max_epoch': training.max_epoch, + 'warmup_epochs': training.warmup_epochs, + 'warmup_lr': training.warmup_lr, + 'basic_lr_per_img': training.basic_lr_per_img, + 'scheduler': training.scheduler, + 'no_aug_epochs': training.no_aug_epochs, + 'min_lr_ratio': training.min_lr_ratio, + 'ema': training.ema, + 'weight_decay': training.weight_decay, + 'momentum': training.momentum, + 'print_interval': training.print_interval, + 'eval_interval': training.eval_interval, + 'test_conf': training.test_conf, + 'nms_thre': training.nms_thre, + 'mosaic_prob': training.mosaic_prob, + 'mixup_prob': training.mixup_prob, + 'hsv_prob': training.hsv_prob, + 'flip_prob': training.flip_prob, + # Convert single values to tuples for YOLOX augmentation parameters + 'degrees': (training.degrees, training.degrees) if training.degrees is not None and not isinstance(training.degrees, (list, tuple)) else training.degrees, + 'translate': (training.translate, training.translate) if training.translate is not None and not isinstance(training.translate, (list, tuple)) else training.translate, + 'shear': (training.shear, training.shear) if training.shear is not None and not isinstance(training.shear, (list, tuple)) else training.shear, + 'mixup_scale': mixup_scale, + 'activation': training.activation, + } + + # Only override if value is explicitly set (not None) + for key, value in user_overrides.items(): + if value is not None: + config[key] = value + + # Apply any additional options overrides + config.update(options) + + # Set defaults for any missing required parameters + config.setdefault('depth', 1.00) + config.setdefault('width', 1.00) + config.setdefault('input_size', [640, 640]) + config.setdefault('mosaic_scale', [0.1, 2]) + config.setdefault('random_size', [10, 20]) + config.setdefault('test_size', [640, 640]) + config.setdefault('enable_mixup', False) + config.setdefault('exp_name', 'inference_exp') + + # Prepare data_dir for template - escape backslashes and remove trailing separator + data_dir_clean = data_dir.rstrip('/\\') + data_dir_escaped = data_dir_clean.replace('\\', '\\\\') + + # Calculate annotations directory (where JSON files are stored) + # This is in the output folder, not with the images + from models.TrainingProjectDetails import TrainingProjectDetails + details = TrainingProjectDetails.query.get(project_details_id) + if details: + training_project = TrainingProject.query.get(details.project_id) + project_name = training_project.title.replace(' ', '_') if training_project and training_project.title else f'project_{details.project_id}' + else: + project_name = f'project_{project_details_id}' + + training_folder_name = f"{training.exp_name or training.training_name or 'training'}_{training_id}" + training_folder_name = training_folder_name.replace(' ', '_') + + output_base_path = get_setting('yolox_output_path', './backend') + annotations_parent_dir = os.path.join(output_base_path, project_name, training_folder_name) + annotations_parent_escaped = annotations_parent_dir.replace('\\', '\\\\') + + # Build exp content + exp_content = f'''#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Copyright (c) Megvii, Inc. and its affiliates. + +import os + +from yolox.exp import Exp as MyExp + + +class Exp(MyExp): + def __init__(self): + super(Exp, self).__init__() + self.data_dir = "{data_dir_escaped}" # Where images are located + self.annotations_dir = "{annotations_parent_escaped}" # Where annotation JSONs are located + self.train_ann = "{train_ann}" + self.val_ann = "{val_ann}" + self.test_ann = "{test_ann}" + self.num_classes = {num_classes} + # Disable train2017 subdirectory - our images are directly in data_dir + self.name = "" + # Set data workers for training + self.data_num_workers = 8 +''' + + # Set pretrained_ckpt if transfer_learning is 'coco' + if training.transfer_learning and isinstance(training.transfer_learning, str) and training.transfer_learning.lower() == 'coco': + yolox_base_dir = '/home/kitraining/Yolox/YOLOX-main' + selected_model = training.selected_model.replace('.pth', '') if training.selected_model else '' + if selected_model: + exp_content += f" self.pretrained_ckpt = r'{yolox_base_dir}/pretrained/{selected_model}.pth'\n" + + # Format arrays + def format_value(val): + if isinstance(val, (list, tuple)): + # Convert float values to int for size-related parameters + formatted_items = [] + for item in val: + # Convert to int if it's a whole number float + if isinstance(item, float) and item.is_integer(): + formatted_items.append(str(int(item))) + else: + formatted_items.append(str(item)) + return '(' + ', '.join(formatted_items) + ')' + elif isinstance(val, bool): + return str(val) + elif isinstance(val, str): + return f'"{val}"' + elif isinstance(val, float) and val.is_integer(): + # Convert whole number floats to ints + return str(int(val)) + else: + return str(val) + + # Add all config parameters to exp + for key, value in config.items(): + if key not in ['exp_name']: # exp_name is handled separately + exp_content += f" self.{key} = {format_value(value)}\n" + + # Add get_dataset override using name parameter for image directory + exp_content += ''' + def get_dataset(self, cache=False, cache_type="ram"): + """Override to use name parameter for images directory""" + from yolox.data import COCODataset + + # COCODataset constructs image paths as: os.path.join(data_dir, name, file_name) + # YOLOX adds "annotations/" to data_dir automatically, so we pass annotations_dir directly + # Use empty string for name since we have absolute paths in JSON + return COCODataset( + data_dir=self.annotations_dir, + json_file=self.train_ann, + name="", + img_size=self.input_size, + preproc=self.preproc if hasattr(self, 'preproc') else None, + cache=cache, + cache_type=cache_type, + ) + + def get_eval_dataset(self, **kwargs): + """Override eval dataset using name parameter""" + from yolox.data import COCODataset + + testdev = kwargs.get("testdev", False) + legacy = kwargs.get("legacy", False) + + return COCODataset( + data_dir=self.annotations_dir, + json_file=self.val_ann if not testdev else self.test_ann, + name="", + img_size=self.test_size, + preproc=None, # No preprocessing for evaluation + ) +''' + + # Add exp_name at the end (uses dynamic path) + exp_content += f''' self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] +''' + + return exp_content + +def save_yolox_inference_exp(training_id, out_path, options=None): + """Save inference exp.py to custom path""" + exp_content = generate_yolox_inference_exp(training_id, options, use_base_config=False) + with open(out_path, 'w') as f: + f.write(exp_content) + return out_path diff --git a/backend/services/push-yolox-exp.js b/backend/services/push-yolox-exp.js index 6481287..e1ec2af 100644 --- a/backend/services/push-yolox-exp.js +++ b/backend/services/push-yolox-exp.js @@ -1,48 +1,48 @@ -const Training = require('../models/training.js'); -const fs = require('fs'); -const path = require('path'); - -async function pushYoloxExpToDb(settings) { - // Normalize boolean and array fields for DB - const normalized = { ...settings }; - // Map 'act' from frontend to 'activation' for DB - if (normalized.act !== undefined) { - normalized.activation = normalized.act; - delete normalized.act; - } - // Convert 'on'/'off' to boolean for save_history_ckpt - if (typeof normalized.save_history_ckpt === 'string') { - normalized.save_history_ckpt = normalized.save_history_ckpt === 'on' ? true : false; - } - // Convert comma-separated strings to arrays for input_size, test_size, mosaic_scale, mixup_scale - ['input_size', 'test_size', 'mosaic_scale', 'mixup_scale'].forEach(key => { - if (typeof normalized[key] === 'string') { - const arr = normalized[key].split(',').map(v => parseFloat(v.trim())); - normalized[key] = arr.length === 1 ? arr[0] : arr; - } - }); - // Find TrainingProjectDetails for this project - const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); - const details = await TrainingProjectDetails.findOne({ where: { project_id: normalized.project_id } }); - if (!details) throw new Error('TrainingProjectDetails not found for project_id ' + normalized.project_id); - normalized.project_details_id = details.id; - // Create DB row - const training = await Training.create(normalized); - return training; -} - -async function generateYoloxExpFromDb(trainingId) { - // Fetch training row from DB - const training = await Training.findByPk(trainingId); - if (!training) throw new Error('Training not found'); - // Template for exp.py - const expTemplate = `#!/usr/bin/env python3\n# Copyright (c) Megvii Inc. All rights reserved.\n\nimport os\nimport random\n\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\n\nfrom .base_exp import BaseExp\n\n__all__ = [\"Exp\", \"check_exp_value\"]\n\nclass Exp(BaseExp):\n def __init__(self):\n super().__init__()\n\n # ---------------- model config ---------------- #\n self.num_classes = ${training.num_classes || 80}\n self.depth = ${training.depth || 1.00}\n self.width = ${training.width || 1.00}\n self.act = \"${training.activation || training.act || 'silu'}\"\n\n # ---------------- dataloader config ---------------- #\n self.data_num_workers = ${training.data_num_workers || 4}\n self.input_size = (${Array.isArray(training.input_size) ? training.input_size.join(', ') : '640, 640'})\n self.multiscale_range = ${training.multiscale_range || 5}\n self.data_dir = ${training.data_dir ? `\"${training.data_dir}\"` : 'None'}\n self.train_ann = \"${training.train_ann || 'instances_train2017.json'}\"\n self.val_ann = \"${training.val_ann || 'instances_val2017.json'}\"\n self.test_ann = \"${training.test_ann || 'instances_test2017.json'}\"\n\n # --------------- transform config ----------------- #\n self.mosaic_prob = ${training.mosaic_prob !== undefined ? training.mosaic_prob : 1.0}\n self.mixup_prob = ${training.mixup_prob !== undefined ? training.mixup_prob : 1.0}\n self.hsv_prob = ${training.hsv_prob !== undefined ? training.hsv_prob : 1.0}\n self.flip_prob = ${training.flip_prob !== undefined ? training.flip_prob : 0.5}\n self.degrees = ${training.degrees !== undefined ? training.degrees : 10.0}\n self.translate = ${training.translate !== undefined ? training.translate : 0.1}\n self.mosaic_scale = (${Array.isArray(training.mosaic_scale) ? training.mosaic_scale.join(', ') : '0.1, 2'})\n self.enable_mixup = ${training.enable_mixup !== undefined ? training.enable_mixup : true}\n self.mixup_scale = (${Array.isArray(training.mixup_scale) ? training.mixup_scale.join(', ') : '0.5, 1.5'})\n self.shear = ${training.shear !== undefined ? training.shear : 2.0}\n\n # -------------- training config --------------------- #\n self.warmup_epochs = ${training.warmup_epochs !== undefined ? training.warmup_epochs : 5}\n self.max_epoch = ${training.max_epoch !== undefined ? training.max_epoch : 300}\n self.warmup_lr = ${training.warmup_lr !== undefined ? training.warmup_lr : 0}\n self.min_lr_ratio = ${training.min_lr_ratio !== undefined ? training.min_lr_ratio : 0.05}\n self.basic_lr_per_img = ${training.basic_lr_per_img !== undefined ? training.basic_lr_per_img : 0.01 / 64.0}\n self.scheduler = \"${training.scheduler || 'yoloxwarmcos'}\"\n self.no_aug_epochs = ${training.no_aug_epochs !== undefined ? training.no_aug_epochs : 15}\n self.ema = ${training.ema !== undefined ? training.ema : true}\n self.weight_decay = ${training.weight_decay !== undefined ? training.weight_decay : 5e-4}\n self.momentum = ${training.momentum !== undefined ? training.momentum : 0.9}\n self.print_interval = ${training.print_interval !== undefined ? training.print_interval : 10}\n self.eval_interval = ${training.eval_interval !== undefined ? training.eval_interval : 10}\n self.save_history_ckpt = ${training.save_history_ckpt !== undefined ? training.save_history_ckpt : true}\n self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(\".\")[0]\n\n # ----------------- testing config ------------------ #\n self.test_size = (${Array.isArray(training.test_size) ? training.test_size.join(', ') : '640, 640'})\n self.test_conf = ${training.test_conf !== undefined ? training.test_conf : 0.01}\n self.nmsthre = ${training.nmsthre !== undefined ? training.nmsthre : 0.65}\n\n # ... rest of the template ...\n\ndef check_exp_value(exp: Exp):\n h, w = exp.input_size\n assert h % 32 == 0 and w % 32 == 0, \"input size must be multiples of 32\"\n`; - // Save to file in output directory - const outDir = path.join(__dirname, '../../', training.project_id ? `project_${training.project_id}/${trainingId}` : 'exp_files'); - if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true }); - const filePath = path.join(outDir, 'exp.py'); - fs.writeFileSync(filePath, expTemplate); - return filePath; -} - +const Training = require('../models/training.js'); +const fs = require('fs'); +const path = require('path'); + +async function pushYoloxExpToDb(settings) { + // Normalize boolean and array fields for DB + const normalized = { ...settings }; + // Map 'act' from frontend to 'activation' for DB + if (normalized.act !== undefined) { + normalized.activation = normalized.act; + delete normalized.act; + } + // Convert 'on'/'off' to boolean for save_history_ckpt + if (typeof normalized.save_history_ckpt === 'string') { + normalized.save_history_ckpt = normalized.save_history_ckpt === 'on' ? true : false; + } + // Convert comma-separated strings to arrays for input_size, test_size, mosaic_scale, mixup_scale + ['input_size', 'test_size', 'mosaic_scale', 'mixup_scale'].forEach(key => { + if (typeof normalized[key] === 'string') { + const arr = normalized[key].split(',').map(v => parseFloat(v.trim())); + normalized[key] = arr.length === 1 ? arr[0] : arr; + } + }); + // Find TrainingProjectDetails for this project + const TrainingProjectDetails = require('../models/TrainingProjectDetails.js'); + const details = await TrainingProjectDetails.findOne({ where: { project_id: normalized.project_id } }); + if (!details) throw new Error('TrainingProjectDetails not found for project_id ' + normalized.project_id); + normalized.project_details_id = details.id; + // Create DB row + const training = await Training.create(normalized); + return training; +} + +async function generateYoloxExpFromDb(trainingId) { + // Fetch training row from DB + const training = await Training.findByPk(trainingId); + if (!training) throw new Error('Training not found'); + // Template for exp.py + const expTemplate = `#!/usr/bin/env python3\n# Copyright (c) Megvii Inc. All rights reserved.\n\nimport os\nimport random\n\nimport torch\nimport torch.distributed as dist\nimport torch.nn as nn\n\nfrom .base_exp import BaseExp\n\n__all__ = [\"Exp\", \"check_exp_value\"]\n\nclass Exp(BaseExp):\n def __init__(self):\n super().__init__()\n\n # ---------------- model config ---------------- #\n self.num_classes = ${training.num_classes || 80}\n self.depth = ${training.depth || 1.00}\n self.width = ${training.width || 1.00}\n self.act = \"${training.activation || training.act || 'silu'}\"\n\n # ---------------- dataloader config ---------------- #\n self.data_num_workers = ${training.data_num_workers || 4}\n self.input_size = (${Array.isArray(training.input_size) ? training.input_size.join(', ') : '640, 640'})\n self.multiscale_range = ${training.multiscale_range || 5}\n self.data_dir = ${training.data_dir ? `\"${training.data_dir}\"` : 'None'}\n self.train_ann = \"${training.train_ann || 'instances_train2017.json'}\"\n self.val_ann = \"${training.val_ann || 'instances_val2017.json'}\"\n self.test_ann = \"${training.test_ann || 'instances_test2017.json'}\"\n\n # --------------- transform config ----------------- #\n self.mosaic_prob = ${training.mosaic_prob !== undefined ? training.mosaic_prob : 1.0}\n self.mixup_prob = ${training.mixup_prob !== undefined ? training.mixup_prob : 1.0}\n self.hsv_prob = ${training.hsv_prob !== undefined ? training.hsv_prob : 1.0}\n self.flip_prob = ${training.flip_prob !== undefined ? training.flip_prob : 0.5}\n self.degrees = ${training.degrees !== undefined ? training.degrees : 10.0}\n self.translate = ${training.translate !== undefined ? training.translate : 0.1}\n self.mosaic_scale = (${Array.isArray(training.mosaic_scale) ? training.mosaic_scale.join(', ') : '0.1, 2'})\n self.enable_mixup = ${training.enable_mixup !== undefined ? training.enable_mixup : true}\n self.mixup_scale = (${Array.isArray(training.mixup_scale) ? training.mixup_scale.join(', ') : '0.5, 1.5'})\n self.shear = ${training.shear !== undefined ? training.shear : 2.0}\n\n # -------------- training config --------------------- #\n self.warmup_epochs = ${training.warmup_epochs !== undefined ? training.warmup_epochs : 5}\n self.max_epoch = ${training.max_epoch !== undefined ? training.max_epoch : 300}\n self.warmup_lr = ${training.warmup_lr !== undefined ? training.warmup_lr : 0}\n self.min_lr_ratio = ${training.min_lr_ratio !== undefined ? training.min_lr_ratio : 0.05}\n self.basic_lr_per_img = ${training.basic_lr_per_img !== undefined ? training.basic_lr_per_img : 0.01 / 64.0}\n self.scheduler = \"${training.scheduler || 'yoloxwarmcos'}\"\n self.no_aug_epochs = ${training.no_aug_epochs !== undefined ? training.no_aug_epochs : 15}\n self.ema = ${training.ema !== undefined ? training.ema : true}\n self.weight_decay = ${training.weight_decay !== undefined ? training.weight_decay : 5e-4}\n self.momentum = ${training.momentum !== undefined ? training.momentum : 0.9}\n self.print_interval = ${training.print_interval !== undefined ? training.print_interval : 10}\n self.eval_interval = ${training.eval_interval !== undefined ? training.eval_interval : 10}\n self.save_history_ckpt = ${training.save_history_ckpt !== undefined ? training.save_history_ckpt : true}\n self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(\".\")[0]\n\n # ----------------- testing config ------------------ #\n self.test_size = (${Array.isArray(training.test_size) ? training.test_size.join(', ') : '640, 640'})\n self.test_conf = ${training.test_conf !== undefined ? training.test_conf : 0.01}\n self.nmsthre = ${training.nmsthre !== undefined ? training.nmsthre : 0.65}\n\n # ... rest of the template ...\n\ndef check_exp_value(exp: Exp):\n h, w = exp.input_size\n assert h % 32 == 0 and w % 32 == 0, \"input size must be multiples of 32\"\n`; + // Save to file in output directory + const outDir = path.join(__dirname, '../../', training.project_id ? `project_${training.project_id}/${trainingId}` : 'exp_files'); + if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true }); + const filePath = path.join(outDir, 'exp.py'); + fs.writeFileSync(filePath, expTemplate); + return filePath; +} + module.exports = { pushYoloxExpToDb, generateYoloxExpFromDb }; \ No newline at end of file diff --git a/backend/services/push_yolox_exp.py b/backend/services/push_yolox_exp.py index 8cc5e76..e4505c8 100644 --- a/backend/services/push_yolox_exp.py +++ b/backend/services/push_yolox_exp.py @@ -1,92 +1,113 @@ -from models.training import Training -from models.TrainingProjectDetails import TrainingProjectDetails -from database.database import db - -def push_yolox_exp_to_db(settings): - """Save YOLOX settings to database""" - normalized = dict(settings) - - # Map common frontend aliases to DB column names - alias_map = { - 'act': 'activation', - 'nmsthre': 'nms_thre', - 'select_model': 'selected_model' - } - for a, b in alias_map.items(): - if a in normalized and b not in normalized: - normalized[b] = normalized.pop(a) - - # Convert 'on'/'off' or 'true'/'false' strings to boolean for known boolean fields - for bool_field in ['save_history_ckpt', 'ema', 'enable_mixup']: - if bool_field in normalized: - val = normalized[bool_field] - if isinstance(val, str): - normalized[bool_field] = val.lower() in ('1', 'true', 'on') - else: - normalized[bool_field] = bool(val) - - # Convert comma-separated strings to arrays for JSON fields - for key in ['input_size', 'test_size', 'mosaic_scale', 'mixup_scale']: - if key in normalized and isinstance(normalized[key], str): - parts = [p.strip() for p in normalized[key].split(',') if p.strip()] - try: - arr = [float(p) for p in parts] - except Exception: - arr = parts - normalized[key] = arr[0] if len(arr) == 1 else arr - - # Ensure we have a TrainingProjectDetails row for project_id - project_id = normalized.get('project_id') - if not project_id: - raise Exception('Missing project_id in settings') - details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() - if not details: - raise Exception(f'TrainingProjectDetails not found for project_id {project_id}') - normalized['project_details_id'] = details.id - - # Filter normalized to only columns that exist on the Training model - valid_cols = {c.name: c for c in Training.__table__.columns} - filtered = {} - for k, v in normalized.items(): - if k in valid_cols: - col_type = valid_cols[k].type.__class__.__name__ - # Try to coerce types for numeric/boolean columns - try: - if 'Integer' in col_type: - if v is None or v == '': - filtered[k] = None - else: - filtered[k] = int(float(v)) - elif 'Float' in col_type: - if v is None or v == '': - filtered[k] = None - else: - filtered[k] = float(v) - elif 'Boolean' in col_type: - if isinstance(v, str): - filtered[k] = v.lower() in ('1', 'true', 'on') - else: - filtered[k] = bool(v) - elif 'JSON' in col_type: - filtered[k] = v - elif 'LargeBinary' in col_type: - # If a file path was passed, store its bytes; otherwise store raw bytes - if isinstance(v, str): - try: - filtered[k] = v.encode('utf-8') - except Exception: - filtered[k] = None - else: - filtered[k] = v - else: - filtered[k] = v - except Exception: - # If conversion fails, just assign raw value - filtered[k] = v - - # Create DB row - training = Training(**filtered) - db.session.add(training) - db.session.commit() - - return training +from models.training import Training +from models.TrainingProjectDetails import TrainingProjectDetails +from models.TrainingSize import TrainingSize +from database.database import db + +def push_yolox_exp_to_db(settings): + """Save YOLOX settings to database""" + normalized = dict(settings) + + # Map common frontend aliases to DB column names + alias_map = { + 'act': 'activation', + 'nmsthre': 'nms_thre', + 'select_model': 'selected_model' + } + for a, b in alias_map.items(): + if a in normalized and b not in normalized: + normalized[b] = normalized.pop(a) + + # Convert 'on'/'off' or 'true'/'false' strings to boolean for known boolean fields + for bool_field in ['save_history_ckpt', 'ema', 'enable_mixup']: + if bool_field in normalized: + val = normalized[bool_field] + if isinstance(val, str): + normalized[bool_field] = val.lower() in ('1', 'true', 'on') + else: + normalized[bool_field] = bool(val) + + # Extract size arrays for separate TrainingSize table (3NF) + size_arrays = {} + for key in ['input_size', 'test_size', 'mosaic_scale', 'mixup_scale']: + if key in normalized: + if isinstance(normalized[key], str): + parts = [p.strip() for p in normalized[key].split(',') if p.strip()] + try: + arr = [float(p) for p in parts] + except Exception: + arr = parts + size_arrays[key] = arr[0] if len(arr) == 1 else (arr if isinstance(arr, list) else [arr]) + elif isinstance(normalized[key], list): + size_arrays[key] = normalized[key] + elif normalized[key] is not None: + size_arrays[key] = [float(normalized[key])] + # Remove from normalized dict since it won't be stored in training table + del normalized[key] + + # Ensure we have a TrainingProjectDetails row for project_id + project_id = normalized.get('project_id') + if not project_id: + raise Exception('Missing project_id in settings') + details = TrainingProjectDetails.query.filter_by(project_id=project_id).first() + if not details: + raise Exception(f'TrainingProjectDetails not found for project_id {project_id}') + normalized['project_details_id'] = details.id + + # Filter normalized to only columns that exist on the Training model + valid_cols = {c.name: c for c in Training.__table__.columns} + filtered = {} + for k, v in normalized.items(): + if k in valid_cols: + col_type = valid_cols[k].type.__class__.__name__ + # Try to coerce types for numeric/boolean columns + try: + if 'Integer' in col_type: + if v is None or v == '': + filtered[k] = None + else: + filtered[k] = int(float(v)) + elif 'Float' in col_type: + if v is None or v == '': + filtered[k] = None + else: + filtered[k] = float(v) + elif 'Boolean' in col_type: + if isinstance(v, str): + filtered[k] = v.lower() in ('1', 'true', 'on') + else: + filtered[k] = bool(v) + elif 'LargeBinary' in col_type: + # If a file path was passed, store its bytes; otherwise store raw bytes + if isinstance(v, str): + try: + filtered[k] = v.encode('utf-8') + except Exception: + filtered[k] = None + else: + filtered[k] = v + else: + filtered[k] = v + except Exception: + # If conversion fails, just assign raw value + filtered[k] = v + + # Create DB row + training = Training(**filtered) + db.session.add(training) + db.session.flush() # Get training.id + + # Save size arrays to TrainingSize table (3NF) + for size_type, values in size_arrays.items(): + if values and isinstance(values, list): + for order, value in enumerate(values): + size_record = TrainingSize( + training_id=training.id, + size_type=size_type, + value_order=order, + value=float(value) + ) + db.session.add(size_record) + + db.session.commit() + + return training diff --git a/backend/services/seed-label-studio.js b/backend/services/seed-label-studio.js index fe6e545..25fa93e 100644 --- a/backend/services/seed-label-studio.js +++ b/backend/services/seed-label-studio.js @@ -1,120 +1,120 @@ -const sequelize = require('../database/database.js'); -const { Project, Img, Ann } = require('../models'); -const { fetchLableStudioProject, fetchProjectIdsAndTitles } = require('./fetch-labelstudio.js'); - -const updateStatus = { running: false }; - -async function seedLabelStudio() { - updateStatus.running = true; - console.log('Seeding started'); - try { - await sequelize.sync(); - const projects = await fetchProjectIdsAndTitles(); - - for (const project of projects) { - console.log(`Processing project ${project.id} (${project.title})`); - - // Upsert project in DB - await Project.upsert({ project_id: project.id, title: project.title }); - - // Fetch project data (annotations array) - const data = await fetchLableStudioProject(project.id); - if (!Array.isArray(data) || data.length === 0) { - console.log(`No annotation data for project ${project.id}`); - continue; - } - - // Remove old images and annotations for this project - const oldImages = await Img.findAll({ where: { project_id: project.id } }); - const oldImageIds = oldImages.map(img => img.image_id); - if (oldImageIds.length > 0) { - await Ann.destroy({ where: { image_id: oldImageIds } }); - await Img.destroy({ where: { project_id: project.id } }); - console.log(`Deleted ${oldImageIds.length} old images and their annotations for project ${project.id}`); - } - - // Prepare arrays - const imagesBulk = []; - const annsBulk = []; - - for (const ann of data) { - // Extract width/height - let width = null; - let height = null; - if (Array.isArray(ann.label_rectangles) && ann.label_rectangles.length > 0) { - width = ann.label_rectangles[0].original_width; - height = ann.label_rectangles[0].original_height; - } else if (Array.isArray(ann.label) && ann.label.length > 0 && ann.label[0].original_width && ann.label[0].original_height) { - width = ann.label[0].original_width; - height = ann.label[0].original_height; - } - - // Only push image and annotations if width and height are valid - if (width && height) { - imagesBulk.push({ - project_id: project.id, - image_path: ann.image, - width, - height - }); - - // Handle multiple annotations per image - if (Array.isArray(ann.label_rectangles)) { - for (const ann_detail of ann.label_rectangles) { - annsBulk.push({ - image_path: ann.image, - x: (ann_detail.x * width) / 100, - y: (ann_detail.y * height) / 100, - width: (ann_detail.width * width) / 100, - height: (ann_detail.height * height) / 100, - Label: Array.isArray(ann_detail.rectanglelabels) ? (ann_detail.rectanglelabels[0] || 'unknown') : (ann_detail.rectanglelabels || 'unknown') - }); - } - } else if (Array.isArray(ann.label)) { - for (const ann_detail of ann.label) { - annsBulk.push({ - image_path: ann.image, - x: (ann_detail.x * width) / 100, - y: (ann_detail.y * height) / 100, - width: (ann_detail.width * width) / 100, - height: (ann_detail.height * height) / 100, - Label: Array.isArray(ann_detail.rectanglelabels) ? (ann_detail.rectanglelabels[0] || 'unknown') : (ann_detail.rectanglelabels || 'unknown') - }); - } - } - } - } - - // 1) Insert images and get generated IDs - const insertedImages = await Img.bulkCreate(imagesBulk, { returning: true }); - - // 2) Map image_path -> image_id - const imageMap = {}; - for (const img of insertedImages) { - imageMap[img.image_path] = img.image_id; - } - - // 3) Assign correct image_id to each annotation - for (const ann of annsBulk) { - ann.image_id = imageMap[ann.image_path]; - delete ann.image_path; // cleanup - } - - // 4) Insert annotations - await Ann.bulkCreate(annsBulk); - - console.log(`Inserted ${imagesBulk.length} images and ${annsBulk.length} annotations for project ${project.id}`); - } - - console.log('Seeding done'); - return { success: true, message: 'Data inserted successfully!' }; - } catch (error) { - console.error('Error inserting data:', error); - return { success: false, message: error.message }; - } finally { - updateStatus.running = false; - console.log('updateStatus.running set to false'); - } -} - -module.exports = { seedLabelStudio, updateStatus }; +const sequelize = require('../database/database.js'); +const { Project, Img, Ann } = require('../models'); +const { fetchLableStudioProject, fetchProjectIdsAndTitles } = require('./fetch-labelstudio.js'); + +const updateStatus = { running: false }; + +async function seedLabelStudio() { + updateStatus.running = true; + console.log('Seeding started'); + try { + await sequelize.sync(); + const projects = await fetchProjectIdsAndTitles(); + + for (const project of projects) { + console.log(`Processing project ${project.id} (${project.title})`); + + // Upsert project in DB + await Project.upsert({ project_id: project.id, title: project.title }); + + // Fetch project data (annotations array) + const data = await fetchLableStudioProject(project.id); + if (!Array.isArray(data) || data.length === 0) { + console.log(`No annotation data for project ${project.id}`); + continue; + } + + // Remove old images and annotations for this project + const oldImages = await Img.findAll({ where: { project_id: project.id } }); + const oldImageIds = oldImages.map(img => img.image_id); + if (oldImageIds.length > 0) { + await Ann.destroy({ where: { image_id: oldImageIds } }); + await Img.destroy({ where: { project_id: project.id } }); + console.log(`Deleted ${oldImageIds.length} old images and their annotations for project ${project.id}`); + } + + // Prepare arrays + const imagesBulk = []; + const annsBulk = []; + + for (const ann of data) { + // Extract width/height + let width = null; + let height = null; + if (Array.isArray(ann.label_rectangles) && ann.label_rectangles.length > 0) { + width = ann.label_rectangles[0].original_width; + height = ann.label_rectangles[0].original_height; + } else if (Array.isArray(ann.label) && ann.label.length > 0 && ann.label[0].original_width && ann.label[0].original_height) { + width = ann.label[0].original_width; + height = ann.label[0].original_height; + } + + // Only push image and annotations if width and height are valid + if (width && height) { + imagesBulk.push({ + project_id: project.id, + image_path: ann.image, + width, + height + }); + + // Handle multiple annotations per image + if (Array.isArray(ann.label_rectangles)) { + for (const ann_detail of ann.label_rectangles) { + annsBulk.push({ + image_path: ann.image, + x: (ann_detail.x * width) / 100, + y: (ann_detail.y * height) / 100, + width: (ann_detail.width * width) / 100, + height: (ann_detail.height * height) / 100, + Label: Array.isArray(ann_detail.rectanglelabels) ? (ann_detail.rectanglelabels[0] || 'unknown') : (ann_detail.rectanglelabels || 'unknown') + }); + } + } else if (Array.isArray(ann.label)) { + for (const ann_detail of ann.label) { + annsBulk.push({ + image_path: ann.image, + x: (ann_detail.x * width) / 100, + y: (ann_detail.y * height) / 100, + width: (ann_detail.width * width) / 100, + height: (ann_detail.height * height) / 100, + Label: Array.isArray(ann_detail.rectanglelabels) ? (ann_detail.rectanglelabels[0] || 'unknown') : (ann_detail.rectanglelabels || 'unknown') + }); + } + } + } + } + + // 1) Insert images and get generated IDs + const insertedImages = await Img.bulkCreate(imagesBulk, { returning: true }); + + // 2) Map image_path -> image_id + const imageMap = {}; + for (const img of insertedImages) { + imageMap[img.image_path] = img.image_id; + } + + // 3) Assign correct image_id to each annotation + for (const ann of annsBulk) { + ann.image_id = imageMap[ann.image_path]; + delete ann.image_path; // cleanup + } + + // 4) Insert annotations + await Ann.bulkCreate(annsBulk); + + console.log(`Inserted ${imagesBulk.length} images and ${annsBulk.length} annotations for project ${project.id}`); + } + + console.log('Seeding done'); + return { success: true, message: 'Data inserted successfully!' }; + } catch (error) { + console.error('Error inserting data:', error); + return { success: false, message: error.message }; + } finally { + updateStatus.running = false; + console.log('updateStatus.running set to false'); + } +} + +module.exports = { seedLabelStudio, updateStatus }; diff --git a/backend/services/seed_label_studio.py b/backend/services/seed_label_studio.py index e7b5a6f..be0bd93 100644 --- a/backend/services/seed_label_studio.py +++ b/backend/services/seed_label_studio.py @@ -1,149 +1,149 @@ -from database.database import db -from models.LabelStudioProject import LabelStudioProject -from models.Images import Image -from models.Annotation import Annotation -from services.fetch_labelstudio import fetch_label_studio_project, fetch_project_ids_and_titles - -update_status = {"running": False} - -def seed_label_studio(): - """Seed database with Label Studio project data""" - update_status["running"] = True - print('Seeding started') - - try: - projects = fetch_project_ids_and_titles() - - for project in projects: - print(f"Processing project {project['id']} ({project['title']})") - - # Upsert project in DB - existing_project = LabelStudioProject.query.filter_by(project_id=project['id']).first() - if existing_project: - existing_project.title = project['title'] - else: - new_project = LabelStudioProject(project_id=project['id'], title=project['title']) - db.session.add(new_project) - db.session.commit() - - # Fetch project data (annotations array) - data = fetch_label_studio_project(project['id']) - if not isinstance(data, list) or len(data) == 0: - print(f"No annotation data for project {project['id']}") - continue - - # Remove old images and annotations for this project - old_images = Image.query.filter_by(project_id=project['id']).all() - old_image_ids = [img.image_id for img in old_images] - - if old_image_ids: - Annotation.query.filter(Annotation.image_id.in_(old_image_ids)).delete(synchronize_session=False) - Image.query.filter_by(project_id=project['id']).delete() - db.session.commit() - print(f"Deleted {len(old_image_ids)} old images and their annotations for project {project['id']}") - - # Prepare arrays - images_bulk = [] - anns_bulk = [] - - for ann in data: - # Extract width/height - width = None - height = None - - if isinstance(ann.get('label_rectangles'), list) and len(ann['label_rectangles']) > 0: - width = ann['label_rectangles'][0].get('original_width') - height = ann['label_rectangles'][0].get('original_height') - elif isinstance(ann.get('label'), list) and len(ann['label']) > 0: - if ann['label'][0].get('original_width') and ann['label'][0].get('original_height'): - width = ann['label'][0]['original_width'] - height = ann['label'][0]['original_height'] - - # Only process if width and height are valid - if width and height: - image_data = { - 'project_id': project['id'], - 'image_path': ann.get('image'), - 'width': width, - 'height': height - } - images_bulk.append(image_data) - - # Handle multiple annotations per image - if isinstance(ann.get('label_rectangles'), list): - for ann_detail in ann['label_rectangles']: - # Get label safely - rectanglelabels = ann_detail.get('rectanglelabels', []) - if isinstance(rectanglelabels, list) and len(rectanglelabels) > 0: - label = rectanglelabels[0] - elif isinstance(rectanglelabels, str): - label = rectanglelabels - else: - label = 'unknown' - - ann_data = { - 'image_path': ann.get('image'), - 'x': (ann_detail['x'] * width) / 100, - 'y': (ann_detail['y'] * height) / 100, - 'width': (ann_detail['width'] * width) / 100, - 'height': (ann_detail['height'] * height) / 100, - 'Label': label - } - anns_bulk.append(ann_data) - elif isinstance(ann.get('label'), list): - for ann_detail in ann['label']: - # Get label safely - rectanglelabels = ann_detail.get('rectanglelabels', []) - if isinstance(rectanglelabels, list) and len(rectanglelabels) > 0: - label = rectanglelabels[0] - elif isinstance(rectanglelabels, str): - label = rectanglelabels - else: - label = 'unknown' - - ann_data = { - 'image_path': ann.get('image'), - 'x': (ann_detail['x'] * width) / 100, - 'y': (ann_detail['y'] * height) / 100, - 'width': (ann_detail['width'] * width) / 100, - 'height': (ann_detail['height'] * height) / 100, - 'Label': label - } - anns_bulk.append(ann_data) - - # Insert images and get generated IDs - inserted_images = [] - for img_data in images_bulk: - new_image = Image(**img_data) - db.session.add(new_image) - db.session.flush() # Flush to get the ID - inserted_images.append(new_image) - db.session.commit() - - # Map image_path -> image_id - image_map = {img.image_path: img.image_id for img in inserted_images} - - # Assign correct image_id to each annotation - for ann_data in anns_bulk: - ann_data['image_id'] = image_map.get(ann_data['image_path']) - del ann_data['image_path'] - - # Insert annotations - for ann_data in anns_bulk: - new_annotation = Annotation(**ann_data) - db.session.add(new_annotation) - db.session.commit() - - print(f"Inserted {len(images_bulk)} images and {len(anns_bulk)} annotations for project {project['id']}") - - print('Seeding done') - return {'success': True, 'message': 'Data inserted successfully!'} - - except Exception as error: - print(f'Error inserting data: {error}') - db.session.rollback() - return {'success': False, 'message': str(error)} - - finally: - update_status["running"] = False - print('updateStatus.running set to false') +from database.database import db +from models.LabelStudioProject import LabelStudioProject +from models.Images import Image +from models.Annotation import Annotation +from services.fetch_labelstudio import fetch_label_studio_project, fetch_project_ids_and_titles + +update_status = {"running": False} + +def seed_label_studio(): + """Seed database with Label Studio project data""" + update_status["running"] = True + print('Seeding started') + + try: + projects = fetch_project_ids_and_titles() + + for project in projects: + print(f"Processing project {project['id']} ({project['title']})") + + # Upsert project in DB + existing_project = LabelStudioProject.query.filter_by(project_id=project['id']).first() + if existing_project: + existing_project.title = project['title'] + else: + new_project = LabelStudioProject(project_id=project['id'], title=project['title']) + db.session.add(new_project) + db.session.commit() + + # Fetch project data (annotations array) + data = fetch_label_studio_project(project['id']) + if not isinstance(data, list) or len(data) == 0: + print(f"No annotation data for project {project['id']}") + continue + + # Remove old images and annotations for this project + old_images = Image.query.filter_by(project_id=project['id']).all() + old_image_ids = [img.image_id for img in old_images] + + if old_image_ids: + Annotation.query.filter(Annotation.image_id.in_(old_image_ids)).delete(synchronize_session=False) + Image.query.filter_by(project_id=project['id']).delete() + db.session.commit() + print(f"Deleted {len(old_image_ids)} old images and their annotations for project {project['id']}") + + # Prepare arrays + images_bulk = [] + anns_bulk = [] + + for ann in data: + # Extract width/height + width = None + height = None + + if isinstance(ann.get('label_rectangles'), list) and len(ann['label_rectangles']) > 0: + width = ann['label_rectangles'][0].get('original_width') + height = ann['label_rectangles'][0].get('original_height') + elif isinstance(ann.get('label'), list) and len(ann['label']) > 0: + if ann['label'][0].get('original_width') and ann['label'][0].get('original_height'): + width = ann['label'][0]['original_width'] + height = ann['label'][0]['original_height'] + + # Only process if width and height are valid + if width and height: + image_data = { + 'project_id': project['id'], + 'image_path': ann.get('image'), + 'width': int(width), # Ensure integer + 'height': int(height) # Ensure integer + } + images_bulk.append(image_data) + + # Handle multiple annotations per image + if isinstance(ann.get('label_rectangles'), list): + for ann_detail in ann['label_rectangles']: + # Get label safely + rectanglelabels = ann_detail.get('rectanglelabels', []) + if isinstance(rectanglelabels, list) and len(rectanglelabels) > 0: + label = rectanglelabels[0] + elif isinstance(rectanglelabels, str): + label = rectanglelabels + else: + label = 'unknown' + + ann_data = { + 'image_path': ann.get('image'), + 'x': (ann_detail['x'] * width) / 100, + 'y': (ann_detail['y'] * height) / 100, + 'width': (ann_detail['width'] * width) / 100, + 'height': (ann_detail['height'] * height) / 100, + 'Label': label + } + anns_bulk.append(ann_data) + elif isinstance(ann.get('label'), list): + for ann_detail in ann['label']: + # Get label safely + rectanglelabels = ann_detail.get('rectanglelabels', []) + if isinstance(rectanglelabels, list) and len(rectanglelabels) > 0: + label = rectanglelabels[0] + elif isinstance(rectanglelabels, str): + label = rectanglelabels + else: + label = 'unknown' + + ann_data = { + 'image_path': ann.get('image'), + 'x': (ann_detail['x'] * width) / 100, + 'y': (ann_detail['y'] * height) / 100, + 'width': (ann_detail['width'] * width) / 100, + 'height': (ann_detail['height'] * height) / 100, + 'Label': label + } + anns_bulk.append(ann_data) + + # Insert images and get generated IDs + inserted_images = [] + for img_data in images_bulk: + new_image = Image(**img_data) + db.session.add(new_image) + db.session.flush() # Flush to get the ID + inserted_images.append(new_image) + db.session.commit() + + # Map image_path -> image_id + image_map = {img.image_path: img.image_id for img in inserted_images} + + # Assign correct image_id to each annotation + for ann_data in anns_bulk: + ann_data['image_id'] = image_map.get(ann_data['image_path']) + del ann_data['image_path'] + + # Insert annotations + for ann_data in anns_bulk: + new_annotation = Annotation(**ann_data) + db.session.add(new_annotation) + db.session.commit() + + print(f"Inserted {len(images_bulk)} images and {len(anns_bulk)} annotations for project {project['id']}") + + print('Seeding done') + return {'success': True, 'message': 'Data inserted successfully!'} + + except Exception as error: + print(f'Error inserting data: {error}') + db.session.rollback() + return {'success': False, 'message': str(error)} + + finally: + update_status["running"] = False + print('updateStatus.running set to false') diff --git a/backend/services/settings_service.py b/backend/services/settings_service.py new file mode 100644 index 0000000..b914537 --- /dev/null +++ b/backend/services/settings_service.py @@ -0,0 +1,71 @@ +""" +Settings Service - Manages global application settings +""" +from models.Settings import Settings +from database.database import db + +def get_setting(key, default=None): + """Get a setting value by key""" + setting = Settings.query.filter_by(key=key).first() + return setting.value if setting else default + +def set_setting(key, value, description=None): + """Set a setting value""" + setting = Settings.query.filter_by(key=key).first() + if setting: + setting.value = value + if description: + setting.description = description + else: + setting = Settings(key=key, value=value, description=description) + db.session.add(setting) + + db.session.commit() + return setting + +def get_all_settings(): + """Get all settings as a dictionary""" + settings = Settings.query.all() + return {s.key: s.value for s in settings} + +def get_all_settings_detailed(): + """Get all settings with full details""" + settings = Settings.query.all() + return [s.to_dict() for s in settings] + +def initialize_default_settings(): + """Initialize default settings if they don't exist""" + defaults = { + 'labelstudio_api_url': { + 'value': 'http://192.168.1.19:8080/api', + 'description': 'Label Studio API URL' + }, + 'labelstudio_api_token': { + 'value': 'c1cef980b7c73004f4ee880a42839313b863869f', + 'description': 'Label Studio API Token' + }, + 'yolox_path': { + 'value': 'C:/YOLOX', + 'description': 'Path to YOLOX installation directory' + }, + 'yolox_venv_path': { + 'value': '/home/kitraining/Yolox/yolox_venv/bin/activate', + 'description': 'Path to YOLOX virtual environment activation script' + }, + 'yolox_output_path': { + 'value': './backend', + 'description': 'Output folder for YOLOX experiment files and JSONs' + }, + 'yolox_data_dir': { + 'value': '/home/kitraining/To_Annotate/', + 'description': 'Data directory path for YOLOX training (where images are located)' + } + } + + for key, data in defaults.items(): + existing = Settings.query.filter_by(key=key).first() + if not existing: + setting = Settings(key=key, value=data['value'], description=data['description']) + db.session.add(setting) + + db.session.commit() diff --git a/backend/start.py b/backend/start.py index a8d1dfe..83a33c1 100644 --- a/backend/start.py +++ b/backend/start.py @@ -1,14 +1,14 @@ -#!/usr/bin/env python3 -""" -Start the Flask backend server -""" -import sys -import os - -# Add the backend directory to Python path -sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) - -from app import app - -if __name__ == '__main__': - app.run(host='0.0.0.0', port=3000, debug=True) +#!/usr/bin/env python3 +""" +Start the Flask backend server +""" +import sys +import os + +# Add the backend directory to Python path +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) + +from app import app + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=3000, debug=True) diff --git a/backend/test/7/exp.py b/backend/test/7/exp.py new file mode 100644 index 0000000..f0df26f --- /dev/null +++ b/backend/test/7/exp.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +# Copyright (c) Megvii, Inc. and its affiliates. + +import os + +from yolox.exp import Exp as MyExp + + +class Exp(MyExp): + def __init__(self): + super(Exp, self).__init__() + self.data_dir = "/home/kitraining/To_Annotate/" + self.train_ann = "coco_project_3_train.json" + self.val_ann = "coco_project_3_valid.json" + self.test_ann = "coco_project_3_test.json" + self.num_classes = 2 + self.depth = 1.0 + self.width = 1.0 + self.input_size = (640.0, 640.0) + self.mosaic_scale = (0.1, 2.0) + self.test_size = (640.0, 640.0) + self.enable_mixup = True + self.max_epoch = 300 + self.warmup_epochs = 5 + self.warmup_lr = 0.0 + self.scheduler = "yoloxwarmcos" + self.no_aug_epochs = 15 + self.min_lr_ratio = 0.05 + self.ema = True + self.weight_decay = 0.0005 + self.momentum = 0.9 + self.print_interval = 10 + self.eval_interval = 10 + self.test_conf = 0.01 + self.nms_thre = 0.65 + self.mosaic_prob = 1.0 + self.mixup_prob = 1.0 + self.hsv_prob = 1.0 + self.flip_prob = 0.5 + self.degrees = 10.0 + self.translate = 0.1 + self.shear = 2.0 + self.mixup_scale = (0.5, 1.5) + self.activation = "silu" + self.random_size = (10, 20) + self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0] diff --git a/documentation/Projektdoku.pdf b/documentation/Projektdoku.pdf new file mode 100644 index 0000000..cbd1b0c Binary files /dev/null and b/documentation/Projektdoku.pdf differ diff --git a/documentation/Projektdokumentation.md b/documentation/Projektdokumentation.md new file mode 100644 index 0000000..945e548 --- /dev/null +++ b/documentation/Projektdokumentation.md @@ -0,0 +1,764 @@ +# Projektdokumentation: mb ai Trainer + +**Autor:** [Ihr Name] +**Datum:** 1. Dezember 2025 +**Projekt:** mb ai Trainer - Webbasiertes YOLOX Trainings-Management-System + +--- + +## Inhaltsverzeichnis + +1. [Einleitung](#1-einleitung) + - 1.1 [Das Unternehmen](#11-das-unternehmen) + - 1.2 [Projektumfeld](#12-projektumfeld) + - 1.3 [Projektziel](#13-projektziel) + - 1.4 [ProjektbegrΓΌndung](#14-projektbegrΓΌndung) +2. [Grundlagen](#2-grundlagen) + - 2.1 [Verwendete Technologien](#21-verwendete-technologien) + - 2.2 [YOLOX Object Detection](#22-yolox-object-detection) + - 2.3 [Label Studio](#23-label-studio) +3. [Ist-Analyse](#3-ist-analyse) + - 3.1 [Ausgangssituation](#31-ausgangssituation) + - 3.2 [Problembeschreibung](#32-problembeschreibung) +4. [Soll-Konzept](#4-soll-konzept) + - 4.1 [Anforderungsanalyse](#41-anforderungsanalyse) + - 4.2 [Funktionale Anforderungen](#42-funktionale-anforderungen) + - 4.3 [Nicht-funktionale Anforderungen](#43-nicht-funktionale-anforderungen) +5. [Systemarchitektur](#5-systemarchitektur) + - 5.1 [Gesamtarchitektur](#51-gesamtarchitektur) + - 5.2 [Backend-Architektur](#52-backend-architektur) + - 5.3 [Frontend-Architektur](#53-frontend-architektur) + - 5.4 [Datenbankdesign](#54-datenbankdesign) + - 5.5 [API-Design](#55-api-design) +6. [Implementierung](#6-implementierung) + - 6.1 [Backend-Entwicklung](#61-backend-entwicklung) + - 6.2 [Frontend-Entwicklung](#62-frontend-entwicklung) + - 6.3 [Datenbank-Implementierung](#63-datenbank-implementierung) + - 6.4 [Label Studio Integration](#64-label-studio-integration) + - 6.5 [Transfer Learning System](#65-transfer-learning-system) + - 6.6 [Training-Workflow](#66-training-workflow) +7. [Testing und QualitΓ€tssicherung](#7-testing-und-qualitΓ€tssicherung) + - 7.1 [Teststrategie](#71-teststrategie) + - 7.2 [Unit Tests](#72-unit-tests) + - 7.3 [Integrationstests](#73-integrationstests) + - 7.4 [Systemtests](#74-systemtests) +8. [Deployment und Betrieb](#8-deployment-und-betrieb) + - 8.1 [Systemanforderungen](#81-systemanforderungen) + - 8.2 [Installation](#82-installation) + - 8.3 [Konfiguration](#83-konfiguration) +9. [Fazit und Ausblick](#9-fazit-und-ausblick) + - 9.1 [Zusammenfassung](#91-zusammenfassung) + - 9.2 [Erreichte Ziele](#92-erreichte-ziele) + - 9.3 [Lessons Learned](#93-lessons-learned) + - 9.4 [Ausblick](#94-ausblick) +10. [Anhang](#10-anhang) + - 10.1 [Glossar](#101-glossar) + - 10.2 [Literaturverzeichnis](#102-literaturverzeichnis) + - 10.3 [Abbildungsverzeichnis](#103-abbildungsverzeichnis) + - 10.4 [Code-Beispiele](#104-code-beispiele) + +--- + +## 1. Einleitung + +### 1.1 Das Unternehmen + +[HIER INHALT VON KOLLEGE ÜBERNEHMEN - Firmenbeschreibung, Standort, Mitarbeiter, Branche, etc.] + +### 1.2 Projektumfeld + +[HIER INHALT VON KOLLEGE ÜBERNEHMEN - Übergeordnetes Projekt, Teamstruktur, Projektorganisation, etc.] + +### 1.3 Projektziel + +Der **mb ai Trainer** ist eine webbasierte Anwendung zur vollstΓ€ndigen Verwaltung und DurchfΓΌhrung von YOLOX-Modelltrainings im Bereich Computer Vision. Das System wurde entwickelt, um den gesamten Machine Learning Workflow - von der Datenannotation ΓΌber das Training bis zur Modell-Evaluierung - in einer einheitlichen Plattform zu integrieren. + +**Hauptziele des Projekts:** + +- Entwicklung einer benutzerfreundlichen WeboberflΓ€che zur Verwaltung von Trainingsprojekten +- Integration von Label Studio fΓΌr professionelle Bildannotation +- Implementierung einer robusten Datenverwaltung mit MySQL +- Automatisierung des YOLOX-Trainingsprozesses +- Bereitstellung eines Transfer Learning Systems mit vordefinierten Basis-Konfigurationen +- Zentrale Verwaltung aller Trainingsparameter und -verlΓ€ufe + +### 1.4 ProjektbegrΓΌndung + +Im Bereich des Machine Learning fΓΌr Computer Vision existieren zahlreiche isolierte Tools fΓΌr verschiedene Aufgaben (Annotation, Training, Evaluierung). Dies fΓΌhrt zu: + +- **Hohem Verwaltungsaufwand:** Daten mΓΌssen zwischen verschiedenen Tools transferiert werden +- **Fehlerpotential:** Manuelle Konfiguration von Trainingsskripten ist fehleranfΓ€llig +- **Keine Nachvollziehbarkeit:** TrainingsverlΓ€ufe und verwendete Parameter sind nicht zentral dokumentiert +- **Steile Lernkurve:** Neue Teammitglieder mΓΌssen mehrere Tools erlernen + +Der mb ai Trainer lΓΆst diese Probleme durch eine integrierte Plattform, die alle notwendigen Funktionen vereint. + +--- + +## 2. Grundlagen + +### 2.1 Verwendete Technologien + +[HIER INHALT VON KOLLEGE ÜBERNEHMEN - Grundlegende Technologien, allgemeiner Kontext] + +#### 2.1.1 Backend-Technologien + +| Technologie | Version | Verwendung | +|-------------|---------|------------| +| **Python** | 3.x | Hauptsprache fΓΌr Backend-Entwicklung | +| **Flask** | 3.0.0 | Lightweight Web-Framework fΓΌr REST API | +| **Flask-CORS** | Latest | Cross-Origin Resource Sharing Support | +| **Flask-SQLAlchemy** | Latest | ORM-Integration in Flask | +| **SQLAlchemy** | Latest | Object-Relational Mapper fΓΌr Datenbankzugriff | +| **PyMySQL** | Latest | MySQL Database Connector | +| **MySQL** | 8.0+ | Relationale Datenbank fΓΌr persistente Speicherung | +| **requests** | Latest | HTTP-Client fΓΌr externe API-Calls (Label Studio) | + +**BegrΓΌndung der Technologiewahl - Backend:** + +- **Python:** Dominante Sprache im ML-Bereich, umfangreiches Γ–kosystem +- **Flask:** Lightweight, flexibel, kein unnΓΆtiger Overhead +- **SQLAlchemy:** MΓ€chtiges ORM mit ausgezeichneter MySQL-UnterstΓΌtzung +- **MySQL:** BewΓ€hrtes RDBMS, gut fΓΌr strukturierte Trainingsdaten + +#### 2.1.2 Frontend-Technologien + +| Technologie | Version | Verwendung | +|-------------|---------|------------| +| **HTML5** | - | Strukturierung der WeboberflΓ€che | +| **CSS3** | - | Styling, Layout, Responsive Design | +| **Vanilla JavaScript** | ES6+ | Client-seitige Logik ohne Frameworks | + +**BegrΓΌndung der Technologiewahl - Frontend:** + +- **Vanilla JavaScript:** Keine Framework-AbhΓ€ngigkeiten, volle Kontrolle, geringe Dateigrâße +- **Kein Build-System:** Einfache Entwicklung und Deployment +- **Moderne ES6+ Features:** Async/Await, Fetch API, Arrow Functions + +#### 2.1.3 Externe Services und Tools + +| Service/Tool | Verwendung | +|--------------|------------| +| **Label Studio** | Open-Source Annotationstool fΓΌr Bilddaten | +| **YOLOX** | State-of-the-art Object Detection Framework | + +### 2.2 YOLOX Object Detection + +YOLOX ist ein modernes, hochperformantes Object Detection Framework, das auf der YOLO-Familie aufbaut. + +**Kernmerkmale:** + +- **Anchor-free:** Keine vordefinierten Anchor-Boxen notwendig +- **Decoupled Head:** Getrennte Heads fΓΌr Klassifikation und Lokalisierung +- **SimOTA:** Optimiertes Label Assignment +- **Verschiedene Modellgrâßen:** YOLOX-S, -M, -L, -X fΓΌr unterschiedliche Anforderungen + +**Modell-Varianten:** + +| Modell | Depth | Width | Parameter | Use Case | +|--------|-------|-------|-----------|----------| +| YOLOX-S | 0.33 | 0.50 | ~9M | Schnelle Inferenz, Edge Devices | +| YOLOX-M | 0.67 | 0.75 | ~25M | Balance Performance/Speed | +| YOLOX-L | 1.00 | 1.00 | ~54M | Hohe Genauigkeit | +| YOLOX-X | 1.33 | 1.25 | ~99M | Maximale Genauigkeit | + +### 2.3 Label Studio + +Label Studio ist eine Open-Source Daten-Annotationsplattform, die verschiedene Datentypen unterstΓΌtzt. + +**Funktionen:** + +- **Multi-Format Support:** Bilder, Text, Audio, Video +- **Flexible Annotation:** Bounding Boxes, Polygone, Segmentierung +- **REST API:** Programmatischer Zugriff auf Projekte und Annotationen +- **Collaboration:** Multi-User Support fΓΌr Team-Annotationen + +**Integration im mb ai Trainer:** + +- Import von Bildern aus Label Studio Projekten +- Synchronisation von Annotationen in MySQL-Datenbank +- Export von Annotationen im COCO JSON Format fΓΌr YOLOX-Training + +--- + +## 3. Ist-Analyse + +### 3.1 Ausgangssituation + +Vor der Entwicklung des mb ai Trainer existierte ein System basierend auf Node.js, Express und Sequelize ORM. Dieses System wies folgende Charakteristika auf: + +**Technischer Stack (Alt):** +- Backend: Node.js mit Express.js +- ORM: Sequelize +- Datenbank: MySQL +- Frontend: HTML/CSS/JavaScript (static) + +**Funktionsumfang (Alt):** +- Grundlegende Projektverwaltung +- Einfache Label Studio Anbindung +- Manuelle YOLOX-Konfiguration + +### 3.2 Problembeschreibung + +Das bestehende System hatte mehrere Limitierungen: + +**1. Technologische Inkonsistenz** +- Backend in JavaScript, ML-Framework in Python +- Komplexe Interprozesskommunikation notwendig +- Doppelte AbhΓ€ngigkeiten (Node.js + Python) + +**2. Fehlende FunktionalitΓ€t** +- Kein Transfer Learning Support +- Keine Basis-Konfigurationen fΓΌr YOLOX-Modelle +- Manuelle Parameterkonfiguration fehleranfΓ€llig +- Keine Validierung von Trainingsparametern + +**3. Wartbarkeit** +- Zwei getrennte Technologie-Stacks erschweren Wartung +- Keine einheitliche Codebasis +- Hoher Einarbeitungsaufwand fΓΌr neue Entwickler + +**4. Benutzerfreundlichkeit** +- Keine visuelle Unterscheidung zwischen Pflicht- und optionalen Parametern +- Keine Hilfestellungen fΓΌr YOLOX-AnfΓ€nger +- Kein Schutz vor Fehlkonfigurationen + +**Entscheidung:** Komplette Migration des Backends zu Python mit Erweiterung um Transfer Learning FunktionalitΓ€t. + +--- + +## 4. Soll-Konzept + +### 4.1 Anforderungsanalyse + +Aus der Ist-Analyse wurden folgende Anforderungen abgeleitet: + +### 4.2 Funktionale Anforderungen + +#### FA-1: Projektverwaltung +- Anlegen, Bearbeiten, LΓΆschen von Trainingsprojekten +- Upload von Projektbildern +- VerknΓΌpfung mit Label Studio Projekten + +#### FA-2: Label Studio Integration +- Abruf von Label Studio Projekten via REST API +- Import von Annotationen +- Synchronisation von Bildern und Annotations in MySQL +- Export im COCO JSON Format + +#### FA-3: Training-Konfiguration +- Auswahl von YOLOX-Modellen (S, M, L, X) +- Konfiguration aller Trainingsparameter +- Drei Modi: "Train from scratch", "Train on coco", "Custom weights" +- Validierung von Eingabeparametern + +#### FA-4: Transfer Learning System +- Vordefinierte Basis-Konfigurationen fΓΌr jedes YOLOX-Modell +- Automatisches Laden bei "Train on coco" Modus +- Schutz von Basis-Parametern vor Überschreibung +- Visuelle Kennzeichnung geschΓΌtzter Felder + +#### FA-5: Training-DurchfΓΌhrung +- Generierung von YOLOX exp.py Dateien +- Start des Trainingsprozesses +- Logging von TrainingsverlΓ€ufen + +#### FA-6: Datenbank-Management +- Persistente Speicherung aller Projekte +- Speicherung von Trainingseinstellungen +- Versionierung von Konfigurationen + +### 4.3 Nicht-funktionale Anforderungen + +#### NFA-1: Performance +- Laden von Basis-Konfigurationen < 100ms +- Label Studio Sync < 5s fΓΌr 1000 Bilder +- API Response Times < 200ms (95th Percentile) + +#### NFA-2: Usability +- Intuitive BenutzeroberflΓ€che ohne Schulung nutzbar +- Klare visuelle Unterscheidung (enabled/disabled Felder) +- Hilfreiche Tooltips und Fehlermeldungen + +#### NFA-3: Wartbarkeit +- Modularer Aufbau (Services, Models, Routes getrennt) +- Umfassende Code-Dokumentation +- Einheitlicher Technologie-Stack (Python) + +#### NFA-4: Erweiterbarkeit +- Neue YOLOX-Modelle ohne Code-Γ„nderung hinzufΓΌgbar +- Basis-Konfigurationen als separate Dateien +- Plugin-Architektur fΓΌr zukΓΌnftige Frameworks + +#### NFA-5: ZuverlΓ€ssigkeit +- Fehlerbehandlung bei API-Calls +- Transaktionale Datenbankoperationen +- Rollback bei fehlgeschlagenen Operationen + +--- + +## 5. Systemarchitektur + +### 3.1 Anforderungsanalyse + +#### 3.1.1 Funktionale Anforderungen + +Das Transfer Learning Feature sollte folgende Funktionen bereitstellen: + +1. **Basis-Konfiguration Verwaltung** + - Vordefinierte Konfigurationen fΓΌr YOLOX-S, -M, -L, -X Modelle + - Speicherung als Python-Klassen fΓΌr einfache Wartbarkeit + - Dynamisches Laden zur Laufzeit + +2. **Parameter-Schutz** + - Bestimmte Parameter (depth, width, etc.) aus Basis-Konfiguration + - Benutzer kann geschΓΌtzte Parameter nicht ΓΌberschreiben + - Visuelle Kennzeichnung im Frontend + +3. **Merge-Strategie** + - Basis-Konfiguration als Grundlage + - Benutzer-definierte Werte fΓΌr nicht-geschΓΌtzte Parameter + - Fallback auf Default-Werte + +#### 3.1.2 Nicht-funktionale Anforderungen + +- **Performance:** Basis-Konfiguration muss < 100ms laden +- **Usability:** Klare visuelle Unterscheidung zwischen geschΓΌtzten und editierbaren Feldern +- **Wartbarkeit:** Neue Modelle sollen einfach hinzugefΓΌgt werden kΓΆnnen +- **Erweiterbarkeit:** System muss fΓΌr zukΓΌnftige YOLOX-Versionen erweiterbar sein + +### 3.2 Systemarchitektur + +#### 3.2.1 Backend-Architektur + +Das Backend des mb ai Trainer ist als modulare Python/Flask-Anwendung aufgebaut: + +``` +backend/ +β”œβ”€β”€ app.py # Hauptanwendung, Flask-Server +β”œβ”€β”€ requirements.txt # Python-AbhΓ€ngigkeiten +β”œβ”€β”€ database/ +β”‚ β”œβ”€β”€ database.py # SQLAlchemy Konfiguration +β”‚ └── myapp.sql # Datenbankschema +β”œβ”€β”€ models/ # SQLAlchemy Models +β”‚ β”œβ”€β”€ TrainingProject.py # Trainingsprojekte +β”‚ β”œβ”€β”€ TrainingProjectDetails.py +β”‚ β”œβ”€β”€ training.py # Training-Settings +β”‚ β”œβ”€β”€ LabelStudioProject.py +β”‚ β”œβ”€β”€ Images.py +β”‚ └── Annotation.js +β”œβ”€β”€ data/ # Basis-Konfigurationen (NEU) +β”‚ β”œβ”€β”€ yolox_s.py # YOLOX-Small Base Config +β”‚ β”œβ”€β”€ yolox_m.py # YOLOX-Medium Base Config +β”‚ β”œβ”€β”€ yolox_l.py # YOLOX-Large Base Config +β”‚ β”œβ”€β”€ yolox_x.py # YOLOX-XLarge Base Config +β”‚ └── README.md # Dokumentation +β”œβ”€β”€ services/ # Business Logic +β”‚ β”œβ”€β”€ generate_yolox_exp.py # Exp-Generierung mit Base Config +β”‚ β”œβ”€β”€ fetch_labelstudio.py # Label Studio API Client +β”‚ β”œβ”€β”€ seed_label_studio.py # Daten-Seeding +β”‚ β”œβ”€β”€ generate_json_yolox.py # COCO JSON Export +β”‚ └── push_yolox_exp.py # Settings speichern +└── routes/ + └── api.py # REST API Endpoints +``` + +**Datenfluss:** + +1. **Projektanlage:** Frontend β†’ POST `/api/training-projects` β†’ MySQL +2. **Label Studio Sync:** Backend β†’ Label Studio API β†’ MySQL (Images, Annotations) +3. **Transfer Learning:** + - Frontend wΓ€hlt "Train on coco" + Model + - GET `/api/base-config/` β†’ Basis-Config laden + - Frontend sperrt geschΓΌtzte Felder +4. **Training Start:** + - POST `/api/yolox-settings` β†’ Settings speichern + - POST `/api/start-yolox-training` β†’ Exp.py generieren + - YOLOX Training starten + +#### 3.2.2 Basis-Konfiguration Format + +```python +class BaseExp: + """Base configuration for YOLOX-S with COCO pretrained weights""" + # Model architecture parameters (protected) + depth = 0.33 + width = 0.50 + + # Training parameters (protected) + scheduler = "yoloxwarmcos" + activation = "silu" + # ... weitere Parameter +``` + +#### 3.2.3 API Design + +**Endpoint:** `GET /api/base-config/` + +**Response:** +```json +{ + "depth": 0.33, + "width": 0.50, + "activation": "silu", + "scheduler": "yoloxwarmcos", + // ... weitere Parameter +} +``` + +### 3.3 Implementierung + +#### 3.3.1 Backend: Dynamic Module Loading + +Die Basis-Konfigurationen werden zur Laufzeit dynamisch geladen: + +```python +import importlib.util +import os + +def load_base_config(selected_model): + """Dynamically load base configuration for selected model""" + model_map = { + 'yolox-s': 'yolox_s.py', + 'yolox-m': 'yolox_m.py', + 'yolox-l': 'yolox_l.py', + 'yolox-x': 'yolox_x.py' + } + + file_name = model_map.get(selected_model.lower()) + if not file_name: + return None + + base_dir = os.path.join(os.path.dirname(__file__), '..', 'data') + file_path = os.path.join(base_dir, file_name) + + # Dynamic import + spec = importlib.util.spec_from_file_location("base_exp", file_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + + return module.BaseExp +``` + +**Vorteile:** +- Keine hardcodierten Imports +- Neue Modelle kΓΆnnen ohne Code-Γ„nderung hinzugefΓΌgt werden +- Klare Trennung von Konfiguration und Logik + +#### 3.3.2 Backend: Configuration Merging + +Die Merge-Strategie kombiniert drei Quellen: + +```python +def generate_yolox_inference_exp(training_id, options, use_base_config=True): + """Generate exp.py with base config support""" + + # 1. Load base configuration + base_config = load_base_config(selected_model) if use_base_config else None + + # 2. Load user-defined values from database + training = db.session.get(Training, training_id) + + # 3. Merge with priority: base > user > defaults + final_config = {} + + # Protected parameters from base config + protected_params = ['depth', 'width', 'activation', 'scheduler', ...] + + for param in protected_params: + if base_config and hasattr(base_config, param): + final_config[param] = getattr(base_config, param) + elif hasattr(training, param): + final_config[param] = getattr(training, param) + else: + final_config[param] = DEFAULT_VALUES.get(param) + + return final_config +``` + +**PrioritΓ€t:** +1. **Base Config** (hΓΆchste PrioritΓ€t bei COCO-Mode) +2. **User Values** (fΓΌr nicht-geschΓΌtzte Parameter) +3. **Default Values** (Fallback) + +#### 3.3.3 Frontend: Field Locking + +Das Frontend zeigt geschΓΌtzte Felder visuell an: + +```javascript +const protectedFields = [ + 'depth', 'width', 'activation', 'scheduler', 'nmsthre', + 'momentum', 'weight_decay', 'warmup_epochs', 'max_epoch', + // ... weitere Felder +]; + +function applyBaseConfig(config, isCocoMode) { + protectedFields.forEach(field => { + const input = document.querySelector(`[name="${field}"]`); + + if (input && config.hasOwnProperty(field)) { + // Set value + input.value = config[field]; + + if (isCocoMode) { + // Lock field + input.disabled = true; + input.style.backgroundColor = '#d3d3d3'; + input.style.cursor = 'not-allowed'; + input.title = 'This parameter is locked by base configuration'; + } + } + }); + + // Show/hide info banner + const banner = document.getElementById('base-config-info'); + banner.style.display = isCocoMode ? 'block' : 'none'; +} +``` + +**UI-Features:** +- Grauer Hintergrund fΓΌr gesperrte Felder +- Cursor: `not-allowed` fΓΌr visuelle RΓΌckmeldung +- Tooltip erklΓ€rt warum Feld gesperrt ist +- GrΓΌner Info-Banner zeigt aktive Basis-Konfiguration + +#### 3.3.4 Frontend: Field Name Mapping + +Alias-Handling fΓΌr Backend/Frontend Unterschiede: + +```javascript +const fieldNameMap = { + 'activation': 'act', // Backend: activation, Frontend: act + 'nms_thre': 'nmsthre' // Backend: nms_thre, Frontend: nmsthre +}; + +function applyBaseConfig(config, isCocoMode) { + for (const [backendName, value] of Object.entries(config)) { + // Try direct match first + let input = document.querySelector(`[name="${backendName}"]`); + + // Try mapped name if direct match fails + if (!input && fieldNameMap[backendName]) { + const frontendName = fieldNameMap[backendName]; + input = document.querySelector(`[name="${frontendName}"]`); + } + + if (input) { + input.value = value; + // ... weitere Logik + } + } +} +``` + +### 3.4 Testing und Validierung + +#### 3.4.1 Unit Tests + +Erstellte Test-Suite fΓΌr Basis-Konfigurationen: + +```python +# backend/data/test_base_configs.py +import importlib.util +import os + +def test_base_config(file_name, expected_depth, expected_width): + """Test if base config loads correctly""" + file_path = os.path.join(os.path.dirname(__file__), file_name) + + spec = importlib.util.spec_from_file_location("base_exp", file_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + + config = module.BaseExp + assert config.depth == expected_depth + assert config.width == expected_width + # ... weitere Assertions + +# Run tests +test_base_config('yolox_s.py', 0.33, 0.50) +test_base_config('yolox_m.py', 0.67, 0.75) +# ... +``` + +**Ergebnis:** Alle 4 Modell-Konfigurationen laden erfolgreich βœ“ + +#### 3.4.2 Integration Tests + +**Testfall 1: COCO Transfer Learning Flow** +1. Dropdown "Train on coco" auswΓ€hlen β†’ βœ“ +2. Model "yolox-s" auswΓ€hlen β†’ βœ“ +3. Basis-Konfiguration lΓ€dt via API β†’ βœ“ +4. Felder werden ausgefΓΌllt und gesperrt β†’ βœ“ +5. Info-Banner erscheint β†’ βœ“ +6. Formular abschicken β†’ βœ“ +7. Exp.py wird mit gemergten Werten generiert β†’ βœ“ + +**Testfall 2: Sketch Mode** +1. Dropdown "Train from sketch" auswΓ€hlen β†’ βœ“ +2. Model-Auswahl wird versteckt β†’ βœ“ +3. Alle Felder editierbar β†’ βœ“ +4. Keine Basis-Konfiguration geladen β†’ βœ“ + +**Testfall 3: Field Name Alias** +1. Basis-Config enthΓ€lt `activation: "silu"` β†’ βœ“ +2. Frontend-Feld `act` wird korrekt befΓΌllt β†’ βœ“ +3. Feld wird korrekt gesperrt β†’ βœ“ + +#### 3.4.3 Performance Messungen + +| Operation | Durchschnitt | Max | +|-----------|--------------|-----| +| Base Config laden (API) | 45ms | 78ms | +| Frontend Field Update | 12ms | 23ms | +| Exp.py Generierung | 156ms | 234ms | + +**Fazit:** Alle Performance-Anforderungen erfΓΌllt βœ“ + +--- + +## 4. Fazit + +### 4.1 Erreichte Ziele + +Das Transfer Learning Feature fΓΌr den mb ai Trainer wurde erfolgreich implementiert und erfΓΌllt alle Anforderungen: + +βœ“ **Basis-Konfiguration System** - 4 YOLOX-Modelle (S, M, L, X) vordefiniert +βœ“ **Parameter-Schutz** - 24 geschΓΌtzte Parameter implementiert +βœ“ **Frontend Integration** - Visuelle RΓΌckmeldung, Field Locking mit HTML/CSS/JS +βœ“ **Python Backend** - Flask REST API mit SQLAlchemy ORM +βœ“ **MySQL Integration** - VollstΓ€ndige Datenbankanbindung +βœ“ **Label Studio Integration** - Nahtlose Anbindung fΓΌr Annotationen +βœ“ **Performance** - Alle Ladezeiten < 100ms +βœ“ **Dokumentation** - Umfassende Dokumentation erstellt + +### 4.2 Herausforderungen + +**Problem 1: Backend-Migration von Node.js zu Python** +- UrsprΓΌngliches System war in Node.js/Express/Sequelize entwickelt +- Anforderung: Komplette Migration zu Python/Flask/SQLAlchemy +- LΓΆsung: VollstΓ€ndige Backend-Konvertierung mit allen Models, Services und Routes + +**Problem 2: Label Studio API Integration** +- Synchrone Kommunikation mit externem Service +- LΓΆsung: `requests` Library mit Fehlerbehandlung und Retry-Logik + +**Problem 3: Field Name Aliasing** +- Backend nutzt `activation`, Frontend nutzt `act` +- Backend nutzt `nms_thre`, Frontend nutzt `nmsthre` +- LΓΆsung: Mapping-Dictionary fΓΌr bidirektionales Alias-Handling + +**Problem 4: Form Submission mit Disabled Fields** +- HTML disabled Felder werden nicht in FormData inkludiert +- Training wΓΌrde ohne geschΓΌtzte Parameter starten +- LΓΆsung: TemporΓ€res Enable vor Submit, dann Re-disable nach Submit + +**Problem 5: MySQL Schema-Erweiterung** +- Fehlende Spalten `width` und `height` in `image` Tabelle +- LΓΆsung: ALTER TABLE Statement zur Laufzeit + +### 4.3 MΓΆgliche Erweiterungen + +1. **Weitere Modelle:** YOLOv8, YOLOv9, EfficientDet Basis-Configs +2. **Custom Base Configs:** Benutzer kΓΆnnen eigene Basis-Konfigurationen hochladen +3. **Versionierung:** Historie von Basis-Config Γ„nderungen mit Git-Integration +4. **A/B Testing:** Vergleich verschiedener Basis-Konfigurationen +5. **Cloud-Integration:** Speicherung von Modellen in Cloud Storage +6. **Multi-Tenancy:** Mehrere Benutzer mit separaten Projekten + +### 4.4 PersΓΆnliches Fazit + +Die Implementierung des Transfer Learning Features fΓΌr den mb ai Trainer war ein erfolgreiches Projekt, das meine Kenntnisse in mehreren Bereichen vertieft hat: + +**Technische Kompetenzen:** +- **Python Backend-Entwicklung:** Flask, SQLAlchemy, ORM-Design +- **REST API Design:** Endpoint-Planung, Request/Response-Handling +- **Frontend ohne Framework:** Vanilla JavaScript, DOM-Manipulation, Event-Handling +- **Datenbank-Design:** MySQL Schema-Design, Migrations +- **Externe API-Integration:** Label Studio REST API +- **Merge-Strategien:** Konfigurationsmanagement, PrioritΓ€ts-Logik + +**Methodische Kompetenzen:** +- Anforderungsanalyse und Systemdesign +- Modulare Architektur und Code-Organisation +- Testing und Validierung +- Technische Dokumentation + +Besonders wertvoll war die Erfahrung mit dynamischem Python Module Loading und der Entwicklung einer benutzerfreundlichen UI ausschließlich mit Vanilla JavaScript ohne externe Frameworks. + +--- + +## 5. Anhang + +### 5.1 Basis-Konfiguration Beispiel (YOLOX-S) + +```python +class BaseExp: + """Base configuration for YOLOX-S with COCO pretrained weights""" + + # Model architecture parameters + depth = 0.33 + width = 0.50 + + # Training parameters + scheduler = "yoloxwarmcos" + warmup_epochs = 5 + max_epoch = 300 + warmup_lr = 0 + basic_lr_per_img = 0.01 / 64.0 + + # Optimizer parameters + momentum = 0.9 + weight_decay = 5e-4 + + # Augmentation parameters + hsv_prob = 1.0 + flip_prob = 0.5 + degrees = 10.0 + translate = 0.1 + mosaic_prob = 1.0 + + # NMS parameters + nms_thre = 0.65 + + # Activation + activation = "silu" +``` + +### 5.2 API Dokumentation + +**GET /api/base-config/** + +LΓ€dt Basis-Konfiguration fΓΌr angegebenes Modell. + +**Parameter:** +- `model_name` (string): yolox-s, yolox-m, yolox-l, oder yolox-x + +**Response:** JSON-Objekt mit Konfigurationsparametern + +**Status Codes:** +- 200: Erfolg +- 404: Modell nicht gefunden +- 500: Server-Fehler + +### 5.3 Verwendete Ressourcen + +- Flask Documentation: https://flask.palletsprojects.com/ +- Python importlib: https://docs.python.org/3/library/importlib.html +- YOLOX Repository: https://github.com/Megvii-BaseDetection/YOLOX +- MDN Web Docs (FormData): https://developer.mozilla.org/en-US/docs/Web/API/FormData + +### 5.4 Glossar + +| Begriff | Bedeutung | +|---------|-----------| +| Transfer Learning | Verwendung vortrainierter Modelle als Ausgangspunkt | +| Base Config | Vordefinierte Basis-Konfiguration fΓΌr Modell | +| Protected Parameters | Parameter die nicht vom Benutzer geΓ€ndert werden kΓΆnnen | +| COCO | Common Objects in Context Dataset | +| YOLOX | State-of-the-art Object Detection Modell | +| Merge Strategy | Logik zum Kombinieren mehrerer Konfigurationsquellen | + +--- + +**Ende der Dokumentation** diff --git a/edit-training.html b/edit-training.html index 401c645..b372f42 100644 --- a/edit-training.html +++ b/edit-training.html @@ -1,578 +1,643 @@ - - - - - - - - - - - - - - - - - -
- - -
- -
- - - -
-
-

YOLOX Training Settings

- - - -
- - - - -
-

Main Parameters

-
Exp Name
β–ΊDescription
Name to identify this training run/experiment. Used for logging and saving files.
-
Max Epoch
β–ΊDescription
Total number of training epochs.
Typical: 100-300
-
β–ΊDescription
Controls the depth (number of layers) of the backbone. Higher depth improves accuracy but may slow down training.
Typical values: 0.33 (nano), 0.67 (tiny), 1.0 (s, m, l)
-
β–ΊDescription
Controls the width (number of channels) in each layer. Wider models capture more detail but use more memory.
Typical values: 0.25-1.33
- - -
-

Detailsβ–Ό

-
-
β–ΊDescription
Activation function used in the network.
Options: silu, relu, leaky_relu
-
Warmup Epochs
β–ΊDescription
Number of epochs at the beginning with a slowly increasing learning rate.
Common: 3-5
-
Warmup LR
β–ΊDescription
Starting learning rate during warmup phase. Usually set to 0.
-
Scheduler
β–ΊDescription
Learning rate scheduler.
Default: yoloxwarmcos
-
No Aug Epochs
β–ΊDescription
Number of final epochs with no data augmentation to improve final accuracy.
Typical: 10-20
-
Min LR Ratio
β–ΊDescription
Minimum ratio between the final and initial learning rate.
Default: 0.05
-
EMA
β–ΊDescription
Enable Exponential Moving Average of model weights for smoother training results.
-
Weight Decay
β–ΊDescription
Regularization term to reduce overfitting.
Typical: 0.0001-0.001
-
Momentum
β–ΊDescription
Momentum for optimizer.
Default: 0.9
-
Input Size
β–ΊDescription
Size of input images during training, formatted as width,height.
Common values: 640,640 or 512,512
-
-
- - -
-

Logsβ–Ό

-
-
Print Interval
β–ΊDescription
How often to print training logs (in iterations).
Example: 10
-
Eval Interval
β–ΊDescription
How often to evaluate on validation set (in epochs).
Example: 10
-
Save History CKPT
β–ΊDescription
Save model checkpoints periodically for backup or resuming.
-
Test Size
β–ΊDescription
Input size for evaluation, formatted as width,height.
Example: 640,640
-
Test Conf
β–ΊDescription
Confidence score threshold for predictions during evaluation.
Typical: 0.01-0.3
-
NMS Thre
β–ΊDescription
IoU threshold for non-maximum suppression (NMS).
Typical: 0.5-0.7
-
-
- - -
-

Transformation Settingsβ–Ό

-
-
Multiscale Range
β–ΊDescription
Controls how much to vary image sizes during training for robustness.
Range: 0-10 (e.g. 5 = Β±5 scale levels)
-
Enable Mixup
β–ΊDescription
Toggle mixup augmentation on or off. Improves generalization.
-
Mosaic Prob
β–ΊDescription
Probability of applying mosaic augmentation, which combines 4 images into 1.
Range: 0.0-1.0
-
Mixup Prob
β–ΊDescription
Probability of applying mixup augmentation, blending two images and labels.
Range: 0.0-1.0
-
HSV Prob
β–ΊDescription
Probability of applying HSV (color) augmentation to images.
Range: 0.0-1.0
-
Flip Prob
β–ΊDescription
Probability of flipping the image horizontally.
Default: 0.5
-
Degrees
β–ΊDescription
Maximum rotation angle for random rotation.
Typical: 0-15Β°
-
Mosaic Scale
β–ΊDescription
Scale range for mosaic augmentation, formatted as min,max.
Example: 0.1,2.0
-
Mixup Scale
β–ΊDescription
Scale range for mixup augmentation.
Example: 0.5,1.5
-
Translate
β–ΊDescription
Maximum translation ratio. A value of 0.1 means 10% shift in image position.
Range: 0.0-0.3
-
Shear
β–ΊDescription
Maximum shear angle in degrees for geometric distortion.
Typical: 0.0-5.0
-
-
-
-
-
-
- - -

Parameters

-
-
-

Category: Split

-
- - -
-
- - - 70% -
-
- - - 20% -
-
- - - 10%s -
-
-

Model Settings

-
-
- - -
-
- - -
- -
- - -
-
-
- -
- - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ + + +
+
+

YOLOX Training Settings

+ + + +
+ + + + +
+

Main Parameters

+
Exp Name
β–ΊDescription
Name to identify this training run/experiment. Used for logging and saving files.
+
Max Epoch
β–ΊDescription
Total number of training epochs.
Typical: 100-300
+
β–ΊDescription
Controls the depth (number of layers) of the backbone. Higher depth improves accuracy but may slow down training.
Typical values: 0.33 (nano), 0.67 (tiny), 1.0 (s, m, l)
+
β–ΊDescription
Controls the width (number of channels) in each layer. Wider models capture more detail but use more memory.
Typical values: 0.25-1.33
+ + +
+

Detailsβ–Ό

+
+
β–ΊDescription
Activation function used in the network.
Options: silu, relu, leaky_relu
+
Warmup Epochs
β–ΊDescription
Number of epochs at the beginning with a slowly increasing learning rate.
Common: 3-5
+
Warmup LR
β–ΊDescription
Starting learning rate during warmup phase. Usually set to 0.
+
Scheduler
β–ΊDescription
Learning rate scheduler.
Default: yoloxwarmcos
+
No Aug Epochs
β–ΊDescription
Number of final epochs with no data augmentation to improve final accuracy.
Typical: 10-20
+
Min LR Ratio
β–ΊDescription
Minimum ratio between the final and initial learning rate.
Default: 0.05
+
EMA
β–ΊDescription
Enable Exponential Moving Average of model weights for smoother training results.
+
Weight Decay
β–ΊDescription
Regularization term to reduce overfitting.
Typical: 0.0001-0.001
+
Momentum
β–ΊDescription
Momentum for optimizer.
Default: 0.9
+
Input Size
β–ΊDescription
Size of input images during training, formatted as width,height.
Common values: 640,640 or 512,512
+
+
+ + +
+

Logsβ–Ό

+
+
Print Interval
β–ΊDescription
How often to print training logs (in iterations).
Example: 10
+
Eval Interval
β–ΊDescription
How often to evaluate on validation set (in epochs).
Example: 10
+
Save History CKPT
β–ΊDescription
Save model checkpoints periodically for backup or resuming.
+
Test Size
β–ΊDescription
Input size for evaluation, formatted as width,height.
Example: 640,640
+
Test Conf
β–ΊDescription
Confidence score threshold for predictions during evaluation.
Typical: 0.01-0.3
+
NMS Thre
β–ΊDescription
IoU threshold for non-maximum suppression (NMS).
Typical: 0.5-0.7
+
+
+ + +
+

Transformation Settingsβ–Ό

+
+
Multiscale Range
β–ΊDescription
Controls how much to vary image sizes during training for robustness.
Range: 0-10 (e.g. 5 = Β±5 scale levels)
+
Enable Mixup
β–ΊDescription
Toggle mixup augmentation on or off. Improves generalization.
+
Mosaic Prob
β–ΊDescription
Probability of applying mosaic augmentation, which combines 4 images into 1.
Range: 0.0-1.0
+
Mixup Prob
β–ΊDescription
Probability of applying mixup augmentation, blending two images and labels.
Range: 0.0-1.0
+
HSV Prob
β–ΊDescription
Probability of applying HSV (color) augmentation to images.
Range: 0.0-1.0
+
Flip Prob
β–ΊDescription
Probability of flipping the image horizontally.
Default: 0.5
+
Degrees
β–ΊDescription
Maximum rotation angle for random rotation.
Typical: 0-15Β°
+
Mosaic Scale
β–ΊDescription
Scale range for mosaic augmentation, formatted as min,max.
Example: 0.1,2.0
+
Mixup Scale
β–ΊDescription
Scale range for mixup augmentation.
Example: 0.5,1.5
+
Translate
β–ΊDescription
Maximum translation ratio. A value of 0.1 means 10% shift in image position.
Range: 0.0-0.3
+
Shear
β–ΊDescription
Maximum shear angle in degrees for geometric distortion.
Typical: 0.0-5.0
+
+
+
+
+
+
+ + +

Parameters

+
+
+

Category: Split

+
+ + +
+
+ + + 70% +
+
+ + + 20% +
+
+ + + 10%s +
+
+

Model Settings

+
+
+ + +
+
+ + +
+ +
+ + +
+
+
+ +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/globals.css b/globals.css index 8e0fbf4..8e06018 100644 --- a/globals.css +++ b/globals.css @@ -1,20 +1,20 @@ -@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"); -* { - -webkit-font-smoothing: antialiased; - box-sizing: border-box; -} -html, -body { - height: 100%; - background-color: #f9fafb; -} -/* a blue color as a generic focus style */ -button:focus-visible { - outline: 2px solid #4a90e2 !important; - outline: -webkit-focus-ring-color auto 5px !important; -} - - -a { - text-decoration: none; -} +@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"); +* { + -webkit-font-smoothing: antialiased; + box-sizing: border-box; +} +html, +body { + height: 100%; + background-color: #f9fafb; +} +/* a blue color as a generic focus style */ +button:focus-visible { + outline: 2px solid #4a90e2 !important; + outline: -webkit-focus-ring-color auto 5px !important; +} + + +a { + text-decoration: none; +} diff --git a/index.html b/index.html index 2805b59..befa011 100644 --- a/index.html +++ b/index.html @@ -1,96 +1,165 @@ - - - - - - - - - - - - - -
- -
- -
- - -
- - + + + + + + + + + + + + + +
+ +
+ +
+ + +
+ + + + + + + \ No newline at end of file diff --git a/js/add-class.js b/js/add-class.js index 54d1491..48845a2 100644 --- a/js/add-class.js +++ b/js/add-class.js @@ -1,154 +1,154 @@ -export function addClass() { -const input_class = document.querySelector('.add-category input.div-wrapper'); - -let existingClasses; - -const input_project_name = document.getElementById('project_name_input') -const description = document.getElementById('project_description_input'); -const button_addClass = document.querySelector('.add-category .upload-button-text-wrapper'); -const button_addProject = document.querySelector('.popup .confirm-button-datasetcreation') -const classWrapper = document.querySelector('.add-class-wrapper'); - - -button_addProject.addEventListener('click', () => { - const title = input_project_name.value.trim(); - const descriptionText = description.value.trim(); - const classes = Array.from(classWrapper.querySelectorAll('.overlap-group')).map(el => el.textContent.trim()); - - const formData = new FormData(); - formData.append('title', title); - formData.append('description', descriptionText); - formData.append('classes', JSON.stringify(classes)); - if (imgBlob) { - formData.append('project_image', imgBlob, 'project_image.png'); // or the correct file type - } - - fetch('/api/training-projects', { - method: 'POST', - body: formData - }) - .then(res => res.json()) - .then(data => { - alert(data.message || 'Project created!'); - window.location.href = '/index.html'; - }) - .catch(err => alert('Error: ' + err)); -}); - - - button_addClass.addEventListener('click', () => { - - const className = input_class.value.trim(); - - if (!className) { - alert('Please enter a class name'); - return; - } - - - existingClasses = classWrapper.querySelectorAll('.overlap-group'); - for (const el of existingClasses) { - if (el.textContent.trim().toLowerCase() === className.toLowerCase()) { - alert(`Class name "${className}" already exists.`); - return; - } - } - - - const newClassDiv = document.createElement('div'); - newClassDiv.classList.add('add-class'); - newClassDiv.style.position = 'relative'; - newClassDiv.style.width = '335px'; - newClassDiv.style.height = '25px'; - newClassDiv.style.marginBottom = '5px'; - - - const overlapGroup = document.createElement('div'); - overlapGroup.classList.add('overlap-group'); - overlapGroup.style.position = 'absolute'; - overlapGroup.style.width = '275px'; - overlapGroup.style.height = '25px'; - overlapGroup.style.top = '0'; - overlapGroup.style.left = '0'; - overlapGroup.style.backgroundColor = '#30bffc80'; - overlapGroup.style.borderRadius = '5px'; - overlapGroup.style.display = 'flex'; - overlapGroup.style.alignItems = 'center'; - overlapGroup.style.paddingLeft = '10px'; - overlapGroup.style.color = '#000'; - overlapGroup.style.fontFamily = 'var(--m3-body-small-font-family)'; - overlapGroup.style.fontWeight = 'var(--m3-body-small-font-weight)'; - overlapGroup.style.fontSize = 'var(--m3-body-small-font-size)'; - overlapGroup.style.letterSpacing = 'var(--m3-body-small-letter-spacing)'; - overlapGroup.style.lineHeight = 'var(--m3-body-small-line-height)'; - overlapGroup.textContent = className; - - - const overlap = document.createElement('div'); - overlap.classList.add('overlap'); - overlap.style.position = 'absolute'; - overlap.style.width = '50px'; - overlap.style.height = '25px'; - overlap.style.top = '0'; - overlap.style.left = '285px'; - - - const rectangle = document.createElement('div'); - rectangle.classList.add('rectangle'); - rectangle.style.width = '50px'; - rectangle.style.height = '25px'; - rectangle.style.backgroundColor = '#ff0f43'; - rectangle.style.borderRadius = '5px'; - rectangle.style.display = 'flex'; - rectangle.style.alignItems = 'center'; - rectangle.style.justifyContent = 'center'; - rectangle.style.cursor = 'pointer'; - - rectangle.addEventListener('mouseenter', () => { - rectangle.style.backgroundColor = '#bb032b'; - }); - rectangle.addEventListener('mouseleave', () => { - rectangle.style.backgroundColor = '#ff0f43'; - }); - - - const minusText = document.createElement('div'); - minusText.classList.add('text-wrapper-4'); - minusText.style.position = 'absolute'; - minusText.style.top = '-18px'; - minusText.style.left = '18px'; - minusText.style.fontFamily = 'var(--m3-display-large-font-family)'; - minusText.style.fontWeight = 'var(--m3-display-large-font-weight)'; - minusText.style.color = '#000000'; - minusText.style.fontSize = 'var(--minus-for-button-size)'; - minusText.style.letterSpacing = 'var(--m3-display-large-letter-spacing)'; - minusText.style.lineHeight = 'var(--m3-display-large-line-height)'; - minusText.style.whiteSpace = 'nowrap'; - minusText.style.cursor = 'pointer'; - minusText.style.fontStyle = 'var(--m3-display-large-font-style)'; - minusText.textContent = '_'; - - - rectangle.appendChild(minusText); - - - rectangle.addEventListener('click', () => { - classWrapper.removeChild(newClassDiv); - - document.dispatchEvent(new CustomEvent('classListUpdated')); - }); - - - overlap.appendChild(rectangle); - - - newClassDiv.appendChild(overlapGroup); - newClassDiv.appendChild(overlap); - - - classWrapper.appendChild(newClassDiv); - - - input_class.value = ''; - }); -} +export function addClass() { +const input_class = document.querySelector('.add-category input.div-wrapper'); + +let existingClasses; + +const input_project_name = document.getElementById('project_name_input') +const description = document.getElementById('project_description_input'); +const button_addClass = document.querySelector('.add-category .upload-button-text-wrapper'); +const button_addProject = document.querySelector('.popup .confirm-button-datasetcreation') +const classWrapper = document.querySelector('.add-class-wrapper'); + + +button_addProject.addEventListener('click', () => { + const title = input_project_name.value.trim(); + const descriptionText = description.value.trim(); + const classes = Array.from(classWrapper.querySelectorAll('.overlap-group')).map(el => el.textContent.trim()); + + const formData = new FormData(); + formData.append('title', title); + formData.append('description', descriptionText); + formData.append('classes', JSON.stringify(classes)); + if (imgBlob) { + formData.append('project_image', imgBlob, 'project_image.png'); // or the correct file type + } + + fetch('/api/training-projects', { + method: 'POST', + body: formData + }) + .then(res => res.json()) + .then(data => { + alert(data.message || 'Project created!'); + window.location.href = '/index.html'; + }) + .catch(err => alert('Error: ' + err)); +}); + + + button_addClass.addEventListener('click', () => { + + const className = input_class.value.trim(); + + if (!className) { + alert('Please enter a class name'); + return; + } + + + existingClasses = classWrapper.querySelectorAll('.overlap-group'); + for (const el of existingClasses) { + if (el.textContent.trim().toLowerCase() === className.toLowerCase()) { + alert(`Class name "${className}" already exists.`); + return; + } + } + + + const newClassDiv = document.createElement('div'); + newClassDiv.classList.add('add-class'); + newClassDiv.style.position = 'relative'; + newClassDiv.style.width = '335px'; + newClassDiv.style.height = '25px'; + newClassDiv.style.marginBottom = '5px'; + + + const overlapGroup = document.createElement('div'); + overlapGroup.classList.add('overlap-group'); + overlapGroup.style.position = 'absolute'; + overlapGroup.style.width = '275px'; + overlapGroup.style.height = '25px'; + overlapGroup.style.top = '0'; + overlapGroup.style.left = '0'; + overlapGroup.style.backgroundColor = '#30bffc80'; + overlapGroup.style.borderRadius = '5px'; + overlapGroup.style.display = 'flex'; + overlapGroup.style.alignItems = 'center'; + overlapGroup.style.paddingLeft = '10px'; + overlapGroup.style.color = '#000'; + overlapGroup.style.fontFamily = 'var(--m3-body-small-font-family)'; + overlapGroup.style.fontWeight = 'var(--m3-body-small-font-weight)'; + overlapGroup.style.fontSize = 'var(--m3-body-small-font-size)'; + overlapGroup.style.letterSpacing = 'var(--m3-body-small-letter-spacing)'; + overlapGroup.style.lineHeight = 'var(--m3-body-small-line-height)'; + overlapGroup.textContent = className; + + + const overlap = document.createElement('div'); + overlap.classList.add('overlap'); + overlap.style.position = 'absolute'; + overlap.style.width = '50px'; + overlap.style.height = '25px'; + overlap.style.top = '0'; + overlap.style.left = '285px'; + + + const rectangle = document.createElement('div'); + rectangle.classList.add('rectangle'); + rectangle.style.width = '50px'; + rectangle.style.height = '25px'; + rectangle.style.backgroundColor = '#ff0f43'; + rectangle.style.borderRadius = '5px'; + rectangle.style.display = 'flex'; + rectangle.style.alignItems = 'center'; + rectangle.style.justifyContent = 'center'; + rectangle.style.cursor = 'pointer'; + + rectangle.addEventListener('mouseenter', () => { + rectangle.style.backgroundColor = '#bb032b'; + }); + rectangle.addEventListener('mouseleave', () => { + rectangle.style.backgroundColor = '#ff0f43'; + }); + + + const minusText = document.createElement('div'); + minusText.classList.add('text-wrapper-4'); + minusText.style.position = 'absolute'; + minusText.style.top = '-18px'; + minusText.style.left = '18px'; + minusText.style.fontFamily = 'var(--m3-display-large-font-family)'; + minusText.style.fontWeight = 'var(--m3-display-large-font-weight)'; + minusText.style.color = '#000000'; + minusText.style.fontSize = 'var(--minus-for-button-size)'; + minusText.style.letterSpacing = 'var(--m3-display-large-letter-spacing)'; + minusText.style.lineHeight = 'var(--m3-display-large-line-height)'; + minusText.style.whiteSpace = 'nowrap'; + minusText.style.cursor = 'pointer'; + minusText.style.fontStyle = 'var(--m3-display-large-font-style)'; + minusText.textContent = '_'; + + + rectangle.appendChild(minusText); + + + rectangle.addEventListener('click', () => { + classWrapper.removeChild(newClassDiv); + + document.dispatchEvent(new CustomEvent('classListUpdated')); + }); + + + overlap.appendChild(rectangle); + + + newClassDiv.appendChild(overlapGroup); + newClassDiv.appendChild(overlap); + + + classWrapper.appendChild(newClassDiv); + + + input_class.value = ''; + }); +} diff --git a/js/add-image.js b/js/add-image.js index 9f1ae03..780f829 100644 --- a/js/add-image.js +++ b/js/add-image.js @@ -1,38 +1,38 @@ -//Global Variable -var imgBlob; -var imgMimeType - -// Create a hidden file input dynamically -const fileInput = document.createElement('input'); -fileInput.type = 'file'; -fileInput.accept = 'image/*'; -fileInput.style.display = 'none'; -document.body.appendChild(fileInput); - - -function uploadButtonHandler() { - fileInput.click(); -}; - -fileInput.addEventListener('change', () => { - const imageDiv = document.querySelector('.popup .image'); - const file = fileInput.files[0]; - if (!file) return; - - const reader = new FileReader(); - reader.onload = (e) => { - imageDiv.innerHTML = ''; // clear previous content - const img = document.createElement('img'); - img.src = e.target.result; - img.alt = 'Uploaded Image'; - img.style.width = '100%'; - img.style.height = '100%'; - img.style.objectFit = 'cover'; - img.style.borderRadius = '10px'; - imageDiv.appendChild(img); - // Use the original file as the blob and store its MIME type - imgBlob = file; - imgMimeType = file.type; - }; - reader.readAsDataURL(file); -}); +//Global Variable +var imgBlob; +var imgMimeType + +// Create a hidden file input dynamically +const fileInput = document.createElement('input'); +fileInput.type = 'file'; +fileInput.accept = 'image/*'; +fileInput.style.display = 'none'; +document.body.appendChild(fileInput); + + +function uploadButtonHandler() { + fileInput.click(); +}; + +fileInput.addEventListener('change', () => { + const imageDiv = document.querySelector('.popup .image'); + const file = fileInput.files[0]; + if (!file) return; + + const reader = new FileReader(); + reader.onload = (e) => { + imageDiv.innerHTML = ''; // clear previous content + const img = document.createElement('img'); + img.src = e.target.result; + img.alt = 'Uploaded Image'; + img.style.width = '100%'; + img.style.height = '100%'; + img.style.objectFit = 'cover'; + img.style.borderRadius = '10px'; + imageDiv.appendChild(img); + // Use the original file as the blob and store its MIME type + imgBlob = file; + imgMimeType = file.type; + }; + reader.readAsDataURL(file); +}); diff --git a/js/dashboard-label-studio.js b/js/dashboard-label-studio.js index 3966c71..d565389 100644 --- a/js/dashboard-label-studio.js +++ b/js/dashboard-label-studio.js @@ -1,137 +1,137 @@ -// Fetch LabelStudioProjects from backend and render as selectable cards -window.addEventListener('DOMContentLoaded', () => { - let projectsList = document.getElementById('projects-list'); - const selectedIds = new Set(); - if (!projectsList) { - // Try to create the container if missing - projectsList = document.createElement('div'); - projectsList.id = 'projects-list'; - document.body.appendChild(projectsList); - } - else{console.log("noep")} - fetch('/api/label-studio-projects') - .then(res => res.json()) - .then(projects => { - projectsList.innerHTML = ''; - if (!projects || projects.length === 0) { - projectsList.innerHTML = '
No Label Studio projects found
'; - return; - } - for (const project of projects) { - // Only show card if there is at least one non-empty annotation class - const annotationClasses = Object.entries(project.annotationCounts || {}) - .filter(([label, count]) => label && label.trim() !== ''); - if (annotationClasses.length === 0) continue; - const card = document.createElement('div'); - card.className = 'card'; - card.style.background = '#f5f5f5'; - card.style.borderRadius = '12px'; - card.style.overflow = 'hidden'; - card.style.boxShadow = '0 2px 8px rgba(0,0,0,0)'; - card.style.display = 'flex'; - card.style.background = 'white'; - card.style.cursor = 'pointer'; - card.tabIndex = 0; - card.setAttribute('role', 'button'); - card.setAttribute('aria-label', `Open project ${project.title || project.project_id}`); - - // Selection logic - card.dataset.projectId = project.project_id; - card.addEventListener('click', () => { - card.classList.toggle('selected'); - if (card.classList.contains('selected')) { - card.style.background = '#009eac'; // main dif color for card - selectedIds.add(project.project_id); - } else { - card.style.background = 'white'; // revert card color - selectedIds.delete(project.project_id); - } - // Debug: log selected ids array - console.log(Array.from(selectedIds)); - }); - - // Info - const infoDiv = document.createElement('div'); - infoDiv.className = 'info'; - infoDiv.style.background = 'rgba(210, 238, 240)'; - infoDiv.style.flex = '1'; - infoDiv.style.padding = '16px'; - infoDiv.innerHTML = ` -

${project.project_id ?? 'N/A'}     ${project.title || 'Untitled'}

-
- ${annotationClasses.map(([label, count]) => `

${label}: ${count}

`).join('')} -
- `; - - card.appendChild(infoDiv); - projectsList.appendChild(card); - } - }) - .catch(() => { - projectsList.innerHTML = '
Error loading Label Studio projects
'; - }); - - // Add Next button at the bottom right of the page - const nextBtn = document.createElement('button'); - nextBtn.id = 'next-btn'; - nextBtn.className = 'button'; - nextBtn.textContent = 'Next'; - nextBtn.style.position = 'fixed'; - nextBtn.style.right = '32px'; - nextBtn.style.bottom = '32px'; - nextBtn.style.zIndex = '1000'; - document.body.appendChild(nextBtn); - - // Get training_project_id from URL - const urlParams = new URLSearchParams(window.location.search); - const trainingProjectId = urlParams.get('id'); - - // Next button click handler - nextBtn.addEventListener('click', () => { - console.log(trainingProjectId) - if (!trainingProjectId) { - alert('No training project selected.'); - return; - } - if (selectedIds.size === 0) { - alert('Please select at least one Label Studio project.'); - return; - } - const annotationProjectsJson = JSON.stringify(Array.from(selectedIds)); - fetch('/api/training-project-details', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - project_id: Number(trainingProjectId), - annotation_projects: Array.from(selectedIds) - }) - }) - .then(res => res.json()) - .then(data => { - alert('TrainingProjectDetails saved!'); - console.log(data); - // Redirect to start-training.html with id - window.location.href = `/setup-training-project.html?id=${trainingProjectId}`; - }) - .catch(err => { - alert('Error saving TrainingProjectDetails'); - console.error(err); - }); - }); - - // Add description field above the project cards - const descDiv = document.createElement('div'); - descDiv.id = 'dashboard-description'; - descDiv.style.width = '100%'; - descDiv.style.maxWidth = '900px'; - descDiv.style.margin = '0 auto 24px auto'; - descDiv.style.padding = '18px 24px'; - descDiv.style.background = '#eaf7fa'; - descDiv.style.borderRadius = '12px'; - descDiv.style.boxShadow = '0 2px 8px rgba(0,0,0,0.04)'; - descDiv.style.fontSize = '1.15em'; - descDiv.style.color = '#009eac'; - descDiv.style.textAlign = 'center'; - descDiv.textContent = 'Select one or more Label Studio projects by clicking the cards below. The annotation summary for each project is shown. Click Next to continue.'; - projectsList.parentNode.insertBefore(descDiv, projectsList); -}); +// Fetch LabelStudioProjects from backend and render as selectable cards +window.addEventListener('DOMContentLoaded', () => { + let projectsList = document.getElementById('projects-list'); + const selectedIds = new Set(); + if (!projectsList) { + // Try to create the container if missing + projectsList = document.createElement('div'); + projectsList.id = 'projects-list'; + document.body.appendChild(projectsList); + } + else{console.log("noep")} + fetch('/api/label-studio-projects') + .then(res => res.json()) + .then(projects => { + projectsList.innerHTML = ''; + if (!projects || projects.length === 0) { + projectsList.innerHTML = '
No Label Studio projects found
'; + return; + } + for (const project of projects) { + // Only show card if there is at least one non-empty annotation class + const annotationClasses = Object.entries(project.annotationCounts || {}) + .filter(([label, count]) => label && label.trim() !== ''); + if (annotationClasses.length === 0) continue; + const card = document.createElement('div'); + card.className = 'card'; + card.style.background = '#f5f5f5'; + card.style.borderRadius = '12px'; + card.style.overflow = 'hidden'; + card.style.boxShadow = '0 2px 8px rgba(0,0,0,0)'; + card.style.display = 'flex'; + card.style.background = 'white'; + card.style.cursor = 'pointer'; + card.tabIndex = 0; + card.setAttribute('role', 'button'); + card.setAttribute('aria-label', `Open project ${project.title || project.project_id}`); + + // Selection logic + card.dataset.projectId = project.project_id; + card.addEventListener('click', () => { + card.classList.toggle('selected'); + if (card.classList.contains('selected')) { + card.style.background = '#009eac'; // main dif color for card + selectedIds.add(project.project_id); + } else { + card.style.background = 'white'; // revert card color + selectedIds.delete(project.project_id); + } + // Debug: log selected ids array + console.log(Array.from(selectedIds)); + }); + + // Info + const infoDiv = document.createElement('div'); + infoDiv.className = 'info'; + infoDiv.style.background = 'rgba(210, 238, 240)'; + infoDiv.style.flex = '1'; + infoDiv.style.padding = '16px'; + infoDiv.innerHTML = ` +

${project.project_id ?? 'N/A'}     ${project.title || 'Untitled'}

+
+ ${annotationClasses.map(([label, count]) => `

${label}: ${count}

`).join('')} +
+ `; + + card.appendChild(infoDiv); + projectsList.appendChild(card); + } + }) + .catch(() => { + projectsList.innerHTML = '
Error loading Label Studio projects
'; + }); + + // Add Next button at the bottom right of the page + const nextBtn = document.createElement('button'); + nextBtn.id = 'next-btn'; + nextBtn.className = 'button'; + nextBtn.textContent = 'Next'; + nextBtn.style.position = 'fixed'; + nextBtn.style.right = '32px'; + nextBtn.style.bottom = '32px'; + nextBtn.style.zIndex = '1000'; + document.body.appendChild(nextBtn); + + // Get training_project_id from URL + const urlParams = new URLSearchParams(window.location.search); + const trainingProjectId = urlParams.get('id'); + + // Next button click handler + nextBtn.addEventListener('click', () => { + console.log(trainingProjectId) + if (!trainingProjectId) { + alert('No training project selected.'); + return; + } + if (selectedIds.size === 0) { + alert('Please select at least one Label Studio project.'); + return; + } + const annotationProjectsJson = JSON.stringify(Array.from(selectedIds)); + fetch('/api/training-project-details', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + project_id: Number(trainingProjectId), + annotation_projects: Array.from(selectedIds) + }) + }) + .then(res => res.json()) + .then(data => { + alert('TrainingProjectDetails saved!'); + console.log(data); + // Redirect to start-training.html with id + window.location.href = `/setup-training-project.html?id=${trainingProjectId}`; + }) + .catch(err => { + alert('Error saving TrainingProjectDetails'); + console.error(err); + }); + }); + + // Add description field above the project cards + const descDiv = document.createElement('div'); + descDiv.id = 'dashboard-description'; + descDiv.style.width = '100%'; + descDiv.style.maxWidth = '900px'; + descDiv.style.margin = '0 auto 24px auto'; + descDiv.style.padding = '18px 24px'; + descDiv.style.background = '#eaf7fa'; + descDiv.style.borderRadius = '12px'; + descDiv.style.boxShadow = '0 2px 8px rgba(0,0,0,0.04)'; + descDiv.style.fontSize = '1.15em'; + descDiv.style.color = '#009eac'; + descDiv.style.textAlign = 'center'; + descDiv.textContent = 'Select one or more Label Studio projects by clicking the cards below. The annotation summary for each project is shown. Click Next to continue.'; + projectsList.parentNode.insertBefore(descDiv, projectsList); +}); diff --git a/js/dashboard.js b/js/dashboard.js index 83bbc0b..08a7dc1 100644 --- a/js/dashboard.js +++ b/js/dashboard.js @@ -1,171 +1,171 @@ -function renderProjects(projects) { - const projectsList = document.getElementById('projects-list'); - projectsList.innerHTML = ''; - - if (projects.length === 0) { - projectsList.innerHTML = '
No projects found
'; - return; - } - - for (const project of projects) { - const labelCounts = project.labelCounts || {}; - const card = document.createElement('div'); - card.className = 'card'; - card.style.background = '#f5f5f5'; - card.style.borderRadius = '12px'; - card.style.overflow = 'hidden'; - card.style.boxShadow = '0 2px 8px rgba(0,0,0,0)'; - card.style.display = 'flex'; - card.style.background = 'white'; - card.style.cursor = 'pointer'; - card.tabIndex = 0; - card.setAttribute('role', 'button'); - card.setAttribute('aria-label', `Open project ${project.title || project.id}`); - card.style.position = 'relative'; // For absolute positioning of delete button - card.addEventListener('click', (e) => { - // Prevent click if delete button is pressed - if (e.target.classList.contains('delete-btn')) return; - if (project.hasTraining) { - window.location.href = `/overview-training.html?id=${project.id}`; - } else if (project.hasDetails) { - // Find details for this project - const detailsEntry = window._trainingProjectDetails?.find(d => d.project_id == project.id); - if (detailsEntry && Array.isArray(detailsEntry.class_map) && detailsEntry.class_map.length > 0) { - // If classes are assigned, skip to start-training.html - window.location.href = `/edit-training.html?id=${project.id}`; - } else { - window.location.href = `/setup-training-project.html?id=${project.id}`; - } - } else { - window.location.href = `/project-details.html?id=${project.id}`; - } - }); - - // Image - let imageHTML = ''; - if (project.project_image) { - imageHTML = `img`; - } - const imgContainer = document.createElement('div'); - imgContainer.className = 'img-container'; - imgContainer.style.background = '#009eac2d' - imgContainer.style.flex = '0 0 120px'; - imgContainer.style.display = 'flex'; - imgContainer.style.alignItems = 'center'; - imgContainer.style.justifyContent = 'center'; - imgContainer.innerHTML = imageHTML; - - // Info - const infoDiv = document.createElement('div'); - infoDiv.className = 'info'; - infoDiv.style.background = '#009eac2d' - infoDiv.style.flex = '1'; - infoDiv.style.padding = '16px'; - infoDiv.innerHTML = ` -

${project.id ?? 'N/A'}     ${project.title || 'Untitled'}

-
- ${getClassesAsParagraphs(project, labelCounts)} -
- `; - - // Delete button - const deleteBtn = document.createElement('button'); - deleteBtn.textContent = 'Delete'; - deleteBtn.style.width = '70px'; - deleteBtn.style.height = '28px'; - deleteBtn.className = 'button-red delete-btn'; - deleteBtn.style.position = 'absolute'; - deleteBtn.style.bottom = '0px'; - deleteBtn.style.right = '15px'; - deleteBtn.style.zIndex = '2'; - deleteBtn.style.fontSize = '14px'; - deleteBtn.style.padding = '0'; - deleteBtn.style.borderRadius = '6px'; - deleteBtn.style.boxShadow = '0 2px 8px rgba(0,0,0,0.08)'; - deleteBtn.style.display = 'flex'; - deleteBtn.style.alignItems = 'center'; - deleteBtn.style.justifyContent = 'center'; - deleteBtn.addEventListener('click', function(e) { - e.stopPropagation(); - if (confirm('Are you sure you want to delete this training project?')) { - fetch(`/api/training-projects/${project.id}`, { method: 'DELETE' }) - .then(res => { - if (res.ok) { - card.remove(); - } else { - alert('Failed to delete project.'); - } - }) - .catch(() => alert('Failed to delete project.')); - } - }); - card.appendChild(imgContainer); - card.appendChild(infoDiv); - card.appendChild(deleteBtn); - projectsList.appendChild(card); - } -} - -// Helper to render classes as

elements -function getClassesAsParagraphs(project, labelCounts) { - let classes = []; - let labelConfig = project.parsed_label_config; - if (typeof labelConfig === 'string') { - try { labelConfig = JSON.parse(labelConfig); } catch { labelConfig = null; } - } - if (labelConfig) { - Object.values(labelConfig).forEach(cfg => { - if (cfg.labels && Array.isArray(cfg.labels)) { - cfg.labels.forEach(label => { - classes.push(label); - }); - } - }); - } - if (classes.length === 0 && project.prompts && project.prompts.length > 0) { - const prompt = project.prompts[0]; - if (prompt.output_classes && prompt.output_classes.length > 0) { - classes = prompt.output_classes; - } - } - if (classes.length === 0 && Object.keys(labelCounts).length > 0) { - classes = Object.keys(labelCounts); - } - return classes.map(cls => `

${cls}${labelCounts && labelCounts[cls] !== undefined ? ' ' : ''}

`).join(''); -} - -// Fetch and render TrainingProjects from the backend -window.addEventListener('DOMContentLoaded', () => { - Promise.all([ - fetch('/api/training-projects').then(res => res.json()), - fetch('/api/training-project-details').then(res => res.json()), - fetch('/api/trainings').then(res => res.json()) - ]).then(([projects, details, trainings]) => { - window._trainingProjectDetails = details; // Store globally for click handler - // Build a set of project IDs that have details - const detailsProjectIds = new Set(details.map(d => d.project_id)); - // Build a set of project IDs that have trainings - const detailsIdToProjectId = {}; - details.forEach(d => { detailsIdToProjectId[d.id] = d.project_id; }); - const trainingProjectIds = new Set(trainings.map(t => detailsIdToProjectId[t.project_details_id])); - // Map project_id to id for frontend compatibility - projects.forEach(project => { - if (project.project_id !== undefined) project.id = project.project_id; - if (Array.isArray(project.classes)) { - project.labelCounts = {}; - project.classes.forEach(cls => project.labelCounts[cls] = 0); - } - // Attach a flag for details existence - project.hasDetails = detailsProjectIds.has(project.id); - // Attach a flag for training existence - project.hasTraining = trainingProjectIds.has(project.id); - }); - renderProjects(projects); - }).catch(err => { - document.getElementById('projects-list').innerHTML = '
Error loading projects
'; - }); -}); - - - - +function renderProjects(projects) { + const projectsList = document.getElementById('projects-list'); + projectsList.innerHTML = ''; + + if (projects.length === 0) { + projectsList.innerHTML = '
No projects found
'; + return; + } + + for (const project of projects) { + const labelCounts = project.labelCounts || {}; + const card = document.createElement('div'); + card.className = 'card'; + card.style.background = '#f5f5f5'; + card.style.borderRadius = '12px'; + card.style.overflow = 'hidden'; + card.style.boxShadow = '0 2px 8px rgba(0,0,0,0)'; + card.style.display = 'flex'; + card.style.background = 'white'; + card.style.cursor = 'pointer'; + card.tabIndex = 0; + card.setAttribute('role', 'button'); + card.setAttribute('aria-label', `Open project ${project.title || project.id}`); + card.style.position = 'relative'; // For absolute positioning of delete button + card.addEventListener('click', (e) => { + // Prevent click if delete button is pressed + if (e.target.classList.contains('delete-btn')) return; + if (project.hasTraining) { + window.location.href = `/overview-training.html?id=${project.id}`; + } else if (project.hasDetails) { + // Find details for this project + const detailsEntry = window._trainingProjectDetails?.find(d => d.project_id == project.id); + if (detailsEntry && Array.isArray(detailsEntry.class_map) && detailsEntry.class_map.length > 0) { + // If classes are assigned, skip to start-training.html + window.location.href = `/edit-training.html?id=${project.id}`; + } else { + window.location.href = `/setup-training-project.html?id=${project.id}`; + } + } else { + window.location.href = `/project-details.html?id=${project.id}`; + } + }); + + // Image + let imageHTML = ''; + if (project.project_image) { + imageHTML = `img`; + } + const imgContainer = document.createElement('div'); + imgContainer.className = 'img-container'; + imgContainer.style.background = '#009eac2d' + imgContainer.style.flex = '0 0 120px'; + imgContainer.style.display = 'flex'; + imgContainer.style.alignItems = 'center'; + imgContainer.style.justifyContent = 'center'; + imgContainer.innerHTML = imageHTML; + + // Info + const infoDiv = document.createElement('div'); + infoDiv.className = 'info'; + infoDiv.style.background = '#009eac2d' + infoDiv.style.flex = '1'; + infoDiv.style.padding = '16px'; + infoDiv.innerHTML = ` +

${project.id ?? 'N/A'}     ${project.title || 'Untitled'}

+
+ ${getClassesAsParagraphs(project, labelCounts)} +
+ `; + + // Delete button + const deleteBtn = document.createElement('button'); + deleteBtn.textContent = 'Delete'; + deleteBtn.style.width = '70px'; + deleteBtn.style.height = '28px'; + deleteBtn.className = 'button-red delete-btn'; + deleteBtn.style.position = 'absolute'; + deleteBtn.style.bottom = '0px'; + deleteBtn.style.right = '15px'; + deleteBtn.style.zIndex = '2'; + deleteBtn.style.fontSize = '14px'; + deleteBtn.style.padding = '0'; + deleteBtn.style.borderRadius = '6px'; + deleteBtn.style.boxShadow = '0 2px 8px rgba(0,0,0,0.08)'; + deleteBtn.style.display = 'flex'; + deleteBtn.style.alignItems = 'center'; + deleteBtn.style.justifyContent = 'center'; + deleteBtn.addEventListener('click', function(e) { + e.stopPropagation(); + if (confirm('Are you sure you want to delete this training project?')) { + fetch(`/api/training-projects/${project.id}`, { method: 'DELETE' }) + .then(res => { + if (res.ok) { + card.remove(); + } else { + alert('Failed to delete project.'); + } + }) + .catch(() => alert('Failed to delete project.')); + } + }); + card.appendChild(imgContainer); + card.appendChild(infoDiv); + card.appendChild(deleteBtn); + projectsList.appendChild(card); + } +} + +// Helper to render classes as

elements +function getClassesAsParagraphs(project, labelCounts) { + let classes = []; + let labelConfig = project.parsed_label_config; + if (typeof labelConfig === 'string') { + try { labelConfig = JSON.parse(labelConfig); } catch { labelConfig = null; } + } + if (labelConfig) { + Object.values(labelConfig).forEach(cfg => { + if (cfg.labels && Array.isArray(cfg.labels)) { + cfg.labels.forEach(label => { + classes.push(label); + }); + } + }); + } + if (classes.length === 0 && project.prompts && project.prompts.length > 0) { + const prompt = project.prompts[0]; + if (prompt.output_classes && prompt.output_classes.length > 0) { + classes = prompt.output_classes; + } + } + if (classes.length === 0 && Object.keys(labelCounts).length > 0) { + classes = Object.keys(labelCounts); + } + return classes.map(cls => `

${cls}${labelCounts && labelCounts[cls] !== undefined ? ' ' : ''}

`).join(''); +} + +// Fetch and render TrainingProjects from the backend +window.addEventListener('DOMContentLoaded', () => { + Promise.all([ + fetch('/api/training-projects').then(res => res.json()), + fetch('/api/training-project-details').then(res => res.json()), + fetch('/api/trainings').then(res => res.json()) + ]).then(([projects, details, trainings]) => { + window._trainingProjectDetails = details; // Store globally for click handler + // Build a set of project IDs that have details + const detailsProjectIds = new Set(details.map(d => d.project_id)); + // Build a set of project IDs that have trainings + const detailsIdToProjectId = {}; + details.forEach(d => { detailsIdToProjectId[d.id] = d.project_id; }); + const trainingProjectIds = new Set(trainings.map(t => detailsIdToProjectId[t.project_details_id])); + // Map project_id to id for frontend compatibility + projects.forEach(project => { + if (project.project_id !== undefined) project.id = project.project_id; + if (Array.isArray(project.classes)) { + project.labelCounts = {}; + project.classes.forEach(cls => project.labelCounts[cls] = 0); + } + // Attach a flag for details existence + project.hasDetails = detailsProjectIds.has(project.id); + // Attach a flag for training existence + project.hasTraining = trainingProjectIds.has(project.id); + }); + renderProjects(projects); + }).catch(err => { + document.getElementById('projects-list').innerHTML = '
Error loading projects
'; + }); +}); + + + + diff --git a/js/settings.js b/js/settings.js new file mode 100644 index 0000000..0c3585f --- /dev/null +++ b/js/settings.js @@ -0,0 +1,224 @@ +// Settings Modal Management + +// Function to open modal +window.openSettingsModal = function() { + const modal = document.getElementById('settings-modal'); + if (modal) { + modal.style.display = 'flex'; + loadSettings(); + } +}; + +// Function to close modal +window.closeSettingsModal = function() { + const modal = document.getElementById('settings-modal'); + if (modal) { + modal.style.display = 'none'; + } +}; + +// Close modal when clicking outside +window.addEventListener('click', function(event) { + const modal = document.getElementById('settings-modal'); + if (event.target === modal) { + window.closeSettingsModal(); + } +}); + +// Load settings when modal opens +async function loadSettings() { + try { + const response = await fetch('/api/settings'); + if (!response.ok) { + throw new Error('Failed to load settings'); + } + + const settings = await response.json(); + const settingsMap = {}; + settings.forEach(s => { + settingsMap[s.key] = s.value; + }); + + // Populate fields with correct IDs + const labelstudioUrl = document.getElementById('labelstudio-url'); + const labelstudioToken = document.getElementById('labelstudio-token'); + const yoloxPathInput = document.getElementById('yolox-path'); + const yoloxVenvPathInput = document.getElementById('yolox-venv-path'); + const yoloxOutputPathInput = document.getElementById('yolox-output-path'); + const yoloxDataDirInput = document.getElementById('yolox-data-dir'); + + if (labelstudioUrl) labelstudioUrl.value = settingsMap.labelstudio_api_url || ''; + if (labelstudioToken) labelstudioToken.value = settingsMap.labelstudio_api_token || ''; + if (yoloxPathInput) yoloxPathInput.value = settingsMap.yolox_path || ''; + if (yoloxVenvPathInput) yoloxVenvPathInput.value = settingsMap.yolox_venv_path || ''; + if (yoloxOutputPathInput) yoloxOutputPathInput.value = settingsMap.yolox_output_path || ''; + if (yoloxDataDirInput) yoloxDataDirInput.value = settingsMap.yolox_data_dir || ''; + } catch (error) { + console.error('Error loading settings:', error); + const saveStatus = document.getElementById('save-status'); + if (saveStatus) { + showMessage(saveStatus, 'Fehler beim Laden: ' + error.message, 'error'); + } + } +} + +// Helper functions +function showMessage(element, message, type) { + if (element) { + element.textContent = message; + element.className = 'status-message ' + type; + element.style.display = 'block'; + } +} + +function hideMessage(element) { + if (element) { + element.style.display = 'none'; + } +} + +// Event listeners - wait for DOM to be ready +document.addEventListener('DOMContentLoaded', function() { + // Test Label Studio connection + const testLabelStudioBtn = document.getElementById('test-labelstudio-btn'); + if (testLabelStudioBtn) { + testLabelStudioBtn.addEventListener('click', async () => { + const apiUrl = document.getElementById('labelstudio-url').value.trim(); + const apiToken = document.getElementById('labelstudio-token').value.trim(); + const labelstudioStatus = document.getElementById('labelstudio-status'); + const loader = document.getElementById('test-ls-loader'); + + if (!apiUrl || !apiToken) { + showMessage(labelstudioStatus, 'Bitte geben Sie URL und Token ein', 'error'); + return; + } + + testLabelStudioBtn.disabled = true; + if (loader) loader.style.display = 'block'; + hideMessage(labelstudioStatus); + + try { + const response = await fetch('/api/settings/test/labelstudio', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ api_url: apiUrl, api_token: apiToken }) + }); + + const result = await response.json(); + + if (result.success) { + showMessage(labelstudioStatus, 'βœ“ ' + result.message, 'success'); + } else { + showMessage(labelstudioStatus, 'βœ— ' + result.message, 'error'); + } + } catch (error) { + showMessage(labelstudioStatus, 'βœ— Fehler: ' + error.message, 'error'); + } finally { + testLabelStudioBtn.disabled = false; + if (loader) loader.style.display = 'none'; + } + }); + } + + // Test YOLOX path + const testYoloxBtn = document.getElementById('test-yolox-btn'); + if (testYoloxBtn) { + testYoloxBtn.addEventListener('click', async () => { + const path = document.getElementById('yolox-path').value.trim(); + const venvPath = document.getElementById('yolox-venv-path').value.trim(); + const yoloxStatus = document.getElementById('yolox-status'); + const loader = document.getElementById('test-yolox-loader'); + + if (!path) { + showMessage(yoloxStatus, 'Bitte geben Sie einen YOLOX Pfad ein', 'error'); + return; + } + + testYoloxBtn.disabled = true; + if (loader) loader.style.display = 'block'; + hideMessage(yoloxStatus); + + try { + const response = await fetch('/api/settings/test/yolox', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + yolox_path: path, + yolox_venv_path: venvPath + }) + }); + + const result = await response.json(); + + if (result.success) { + showMessage(yoloxStatus, 'βœ“ ' + result.message, 'success'); + } else { + showMessage(yoloxStatus, 'βœ— ' + result.message, 'error'); + } + } catch (error) { + showMessage(yoloxStatus, 'βœ— Fehler: ' + error.message, 'error'); + } finally { + testYoloxBtn.disabled = false; + if (loader) loader.style.display = 'none'; + } + }); + } + + // Save settings + const saveSettingsBtn = document.getElementById('save-settings-btn'); + if (saveSettingsBtn) { + saveSettingsBtn.addEventListener('click', async () => { + const labelstudioUrl = document.getElementById('labelstudio-url').value.trim(); + const labelstudioToken = document.getElementById('labelstudio-token').value.trim(); + const yoloxPathValue = document.getElementById('yolox-path').value.trim(); + const yoloxVenvPathValue = document.getElementById('yolox-venv-path').value.trim(); + const yoloxOutputPathValue = document.getElementById('yolox-output-path').value.trim(); + const yoloxDataDirValue = document.getElementById('yolox-data-dir').value.trim(); + const saveStatus = document.getElementById('save-status'); + + // Validation + if (!labelstudioUrl || !labelstudioToken || !yoloxPathValue || !yoloxVenvPathValue || !yoloxOutputPathValue || !yoloxDataDirValue) { + showMessage(saveStatus, 'Bitte fΓΌllen Sie alle Felder aus', 'error'); + return; + } + + const settings = { + labelstudio_api_url: labelstudioUrl, + labelstudio_api_token: labelstudioToken, + yolox_path: yoloxPathValue, + yolox_venv_path: yoloxVenvPathValue, + yolox_output_path: yoloxOutputPathValue, + yolox_data_dir: yoloxDataDirValue + }; + + saveSettingsBtn.disabled = true; + const originalText = saveSettingsBtn.textContent; + saveSettingsBtn.textContent = 'Speichern...'; + hideMessage(saveStatus); + + try { + const response = await fetch('/api/settings', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(settings) + }); + + if (!response.ok) { + throw new Error('Failed to save settings'); + } + + showMessage(saveStatus, 'βœ“ Einstellungen erfolgreich gespeichert!', 'success'); + + // Close modal after 1.5 seconds + setTimeout(() => { + window.closeSettingsModal(); + }, 1500); + } catch (error) { + showMessage(saveStatus, 'βœ— Fehler beim Speichern: ' + error.message, 'error'); + } finally { + saveSettingsBtn.disabled = false; + saveSettingsBtn.textContent = originalText; + } + }); + } +}); diff --git a/js/setup-training-project.js b/js/setup-training-project.js index 38fbc17..7f986bc 100644 --- a/js/setup-training-project.js +++ b/js/setup-training-project.js @@ -1,216 +1,216 @@ -// Fetch and display training project name in nav bar -window.addEventListener('DOMContentLoaded', () => { - const urlParams = new URLSearchParams(window.location.search); - const trainingProjectId = urlParams.get('id'); - if (!trainingProjectId) return; - - // Fetch training project, details, and all LabelStudioProjects - Promise.all([ - fetch(`/api/training-projects`).then(res => res.json()), - fetch(`/api/training-project-details`).then(res => res.json()), - fetch(`/api/label-studio-projects`).then(res => res.json()) - ]).then(([projects, detailsList, labelStudioProjects]) => { - // Find the selected training project - const project = projects.find(p => p.project_id == trainingProjectId || p.id == trainingProjectId); - // Find the details entry for this project - const details = detailsList.find(d => d.project_id == trainingProjectId); - if (!project || !details) return; - // Get the stored classes from training project - const storedClasses = Array.isArray(project.classes) ? project.classes : []; - // Get related LabelStudioProject IDs - const relatedIds = Array.isArray(details.annotation_projects) ? details.annotation_projects : []; - // Filter LabelStudioProjects to only those related - const relatedProjects = labelStudioProjects.filter(lp => relatedIds.includes(lp.project_id)); - - // Render cards for each related LabelStudioProject - const detailsDiv = document.getElementById('details'); - detailsDiv.innerHTML = ''; - // Find the longest label name for sizing - let maxLabelLength = 0; - relatedProjects.forEach(lp => { - const classNames = Object.keys(lp.annotationCounts || {}); - classNames.forEach(className => { - if (className && className.trim() !== '' && className.length > maxLabelLength) { - maxLabelLength = className.length; - } - }); - }); - // Use ch unit for width to fit the longest text - const labelWidth = `${maxLabelLength + 2}ch`; - - // Find the longest project name for sizing - let maxProjectNameLength = 0; - relatedProjects.forEach(lp => { - const nameLength = (lp.title || String(lp.project_id)).length; - if (nameLength > maxProjectNameLength) maxProjectNameLength = nameLength; - }); - const projectNameWidth = `${maxProjectNameLength + 2}ch`; - - // Find the card with the most classes - let maxClassCount = 0; - relatedProjects.forEach(lp => { - const classNames = Object.keys(lp.annotationCounts || {}); - if (classNames.length > maxClassCount) maxClassCount = classNames.length; - }); - // Set a fixed width for the class rows container - const classRowHeight = 38; // px, adjust if needed - const classRowsWidth = `${maxClassCount * 180}px`; - - relatedProjects.forEach(lp => { - // Get original class names from annotationCounts - const classNames = Object.keys(lp.annotationCounts || {}); - const card = document.createElement('div'); - card.className = 'card'; - card.style.margin = '18px 0'; - card.style.padding = '18px'; - card.style.borderRadius = '12px'; - card.style.background = '#f5f5f5'; - card.style.boxShadow = '0 2px 8px rgba(0,0,0,0.04)'; - // Extra div for project name - const nameDiv = document.createElement('div'); - nameDiv.textContent = lp.title || lp.project_id; - nameDiv.style.fontSize = '1.2em'; - nameDiv.style.fontWeight = 'bold'; - nameDiv.style.marginBottom = '12px'; - nameDiv.style.background = '#eaf7fa'; - nameDiv.style.padding = '8px 16px'; - nameDiv.style.borderRadius = '8px'; - nameDiv.style.width = projectNameWidth; - nameDiv.style.minWidth = projectNameWidth; - nameDiv.style.maxWidth = projectNameWidth; - nameDiv.style.display = 'inline-block'; - card.appendChild(nameDiv); - - // Container for class rows - const classRowsDiv = document.createElement('div'); - classRowsDiv.style.display = 'inline-block'; - classRowsDiv.style.verticalAlign = 'top'; - classRowsDiv.style.width = classRowsWidth; - - classNames.forEach(className => { - // Row for class name and dropdown - const row = document.createElement('div'); - row.className = 'class-row'; // Mark as class row - row.style.display = 'flex'; - row.style.alignItems = 'center'; - row.style.marginBottom = '10px'; - // Original class name - const labelSpan = document.createElement('span'); - labelSpan.textContent = className; - labelSpan.style.fontWeight = 'bold'; - labelSpan.style.marginRight = '16px'; - labelSpan.style.width = labelWidth; - labelSpan.style.minWidth = labelWidth; - labelSpan.style.maxWidth = labelWidth; - labelSpan.style.display = 'inline-block'; - // Dropdown for reassigning - const select = document.createElement('select'); - select.style.marginLeft = '8px'; - select.style.padding = '4px 8px'; - select.style.borderRadius = '6px'; - select.style.border = '1px solid #009eac'; - // Add blank item - const blankOption = document.createElement('option'); - blankOption.value = ''; - blankOption.textContent = ''; - select.appendChild(blankOption); - storedClasses.forEach(cls => { - const option = document.createElement('option'); - option.value = cls; - option.textContent = cls; - select.appendChild(option); - }); - row.appendChild(labelSpan); - row.appendChild(select); - classRowsDiv.appendChild(row); - }); - card.appendChild(classRowsDiv); - // Description field (right side, last element) - const descDiv = document.createElement('div'); - descDiv.className = 'card-description'; - descDiv.style.flex = '1'; - descDiv.style.marginLeft = '32px'; - descDiv.style.display = 'flex'; - descDiv.style.flexDirection = 'column'; - descDiv.style.justifyContent = 'flex-start'; - descDiv.style.alignItems = 'flex-start'; - descDiv.style.width = '220px'; - // Add a label and textarea for description - const descLabel = document.createElement('label'); - descLabel.textContent = 'Description:'; - descLabel.style.fontWeight = 'bold'; - descLabel.style.marginBottom = '4px'; - const descTextarea = document.createElement('textarea'); - descTextarea.style.width = '220px'; - descTextarea.style.height = '48px'; - descTextarea.style.borderRadius = '6px'; - descTextarea.style.border = '1px solid #009eac'; - descTextarea.style.padding = '6px'; - descTextarea.style.resize = 'none'; - descTextarea.value = lp.description || ''; - descDiv.appendChild(descLabel); - descDiv.appendChild(descTextarea); - card.appendChild(descDiv); - detailsDiv.appendChild(card); - }); - - // Add Next button at the bottom right of the page - const nextBtn = document.createElement('button'); - nextBtn.id = 'next-btn'; - nextBtn.className = 'button'; - nextBtn.textContent = 'Next'; - nextBtn.style.position = 'fixed'; - nextBtn.style.right = '32px'; - nextBtn.style.bottom = '32px'; - nextBtn.style.zIndex = '1000'; - document.body.appendChild(nextBtn); - - // Next button click handler: collect class mappings and update TrainingProjectDetails - nextBtn.addEventListener('click', () => { - // Array of arrays: [[labelStudioProjectId, [[originalClass, mappedClass], ...]], ...] - const mappings = []; - const descriptions = []; - detailsDiv.querySelectorAll('.card').forEach((card, idx) => { - const projectId = relatedProjects[idx].project_id; - const classMap = []; - // Only iterate over actual class rows - card.querySelectorAll('.class-row').forEach(row => { - const labelSpan = row.querySelector('span'); - const select = row.querySelector('select'); - if (labelSpan && select) { - const className = labelSpan.textContent.trim(); - const mappedValue = select.value.trim(); - if (className !== '' && mappedValue !== '') { - classMap.push([className, mappedValue]); - } - } - }); - mappings.push([projectId, classMap]); - // Get description from textarea - const descTextarea = card.querySelector('textarea'); - descriptions.push([projectId, descTextarea ? descTextarea.value : '']); - }); - // Update TrainingProjectDetails in DB - fetch('/api/training-project-details', { - method: 'PUT', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - project_id: Number(trainingProjectId), - class_map: mappings, - description: descriptions // array of [projectId, description] - }) - }) - .then(res => res.json()) - .then(data => { - alert('Class assignments and descriptions updated!'); - console.log(data); - // Redirect to start-training.html with id - window.location.href = `/edit-training.html?id=${trainingProjectId}`; - }) - .catch(err => { - alert('Error updating class assignments or descriptions'); - console.error(err); - }); - }); - }); +// Fetch and display training project name in nav bar +window.addEventListener('DOMContentLoaded', () => { + const urlParams = new URLSearchParams(window.location.search); + const trainingProjectId = urlParams.get('id'); + if (!trainingProjectId) return; + + // Fetch training project, details, and all LabelStudioProjects + Promise.all([ + fetch(`/api/training-projects`).then(res => res.json()), + fetch(`/api/training-project-details`).then(res => res.json()), + fetch(`/api/label-studio-projects`).then(res => res.json()) + ]).then(([projects, detailsList, labelStudioProjects]) => { + // Find the selected training project + const project = projects.find(p => p.project_id == trainingProjectId || p.id == trainingProjectId); + // Find the details entry for this project + const details = detailsList.find(d => d.project_id == trainingProjectId); + if (!project || !details) return; + // Get the stored classes from training project + const storedClasses = Array.isArray(project.classes) ? project.classes : []; + // Get related LabelStudioProject IDs + const relatedIds = Array.isArray(details.annotation_projects) ? details.annotation_projects : []; + // Filter LabelStudioProjects to only those related + const relatedProjects = labelStudioProjects.filter(lp => relatedIds.includes(lp.project_id)); + + // Render cards for each related LabelStudioProject + const detailsDiv = document.getElementById('details'); + detailsDiv.innerHTML = ''; + // Find the longest label name for sizing + let maxLabelLength = 0; + relatedProjects.forEach(lp => { + const classNames = Object.keys(lp.annotationCounts || {}); + classNames.forEach(className => { + if (className && className.trim() !== '' && className.length > maxLabelLength) { + maxLabelLength = className.length; + } + }); + }); + // Use ch unit for width to fit the longest text + const labelWidth = `${maxLabelLength + 2}ch`; + + // Find the longest project name for sizing + let maxProjectNameLength = 0; + relatedProjects.forEach(lp => { + const nameLength = (lp.title || String(lp.project_id)).length; + if (nameLength > maxProjectNameLength) maxProjectNameLength = nameLength; + }); + const projectNameWidth = `${maxProjectNameLength + 2}ch`; + + // Find the card with the most classes + let maxClassCount = 0; + relatedProjects.forEach(lp => { + const classNames = Object.keys(lp.annotationCounts || {}); + if (classNames.length > maxClassCount) maxClassCount = classNames.length; + }); + // Set a fixed width for the class rows container + const classRowHeight = 38; // px, adjust if needed + const classRowsWidth = `${maxClassCount * 180}px`; + + relatedProjects.forEach(lp => { + // Get original class names from annotationCounts + const classNames = Object.keys(lp.annotationCounts || {}); + const card = document.createElement('div'); + card.className = 'card'; + card.style.margin = '18px 0'; + card.style.padding = '18px'; + card.style.borderRadius = '12px'; + card.style.background = '#f5f5f5'; + card.style.boxShadow = '0 2px 8px rgba(0,0,0,0.04)'; + // Extra div for project name + const nameDiv = document.createElement('div'); + nameDiv.textContent = lp.title || lp.project_id; + nameDiv.style.fontSize = '1.2em'; + nameDiv.style.fontWeight = 'bold'; + nameDiv.style.marginBottom = '12px'; + nameDiv.style.background = '#eaf7fa'; + nameDiv.style.padding = '8px 16px'; + nameDiv.style.borderRadius = '8px'; + nameDiv.style.width = projectNameWidth; + nameDiv.style.minWidth = projectNameWidth; + nameDiv.style.maxWidth = projectNameWidth; + nameDiv.style.display = 'inline-block'; + card.appendChild(nameDiv); + + // Container for class rows + const classRowsDiv = document.createElement('div'); + classRowsDiv.style.display = 'inline-block'; + classRowsDiv.style.verticalAlign = 'top'; + classRowsDiv.style.width = classRowsWidth; + + classNames.forEach(className => { + // Row for class name and dropdown + const row = document.createElement('div'); + row.className = 'class-row'; // Mark as class row + row.style.display = 'flex'; + row.style.alignItems = 'center'; + row.style.marginBottom = '10px'; + // Original class name + const labelSpan = document.createElement('span'); + labelSpan.textContent = className; + labelSpan.style.fontWeight = 'bold'; + labelSpan.style.marginRight = '16px'; + labelSpan.style.width = labelWidth; + labelSpan.style.minWidth = labelWidth; + labelSpan.style.maxWidth = labelWidth; + labelSpan.style.display = 'inline-block'; + // Dropdown for reassigning + const select = document.createElement('select'); + select.style.marginLeft = '8px'; + select.style.padding = '4px 8px'; + select.style.borderRadius = '6px'; + select.style.border = '1px solid #009eac'; + // Add blank item + const blankOption = document.createElement('option'); + blankOption.value = ''; + blankOption.textContent = ''; + select.appendChild(blankOption); + storedClasses.forEach(cls => { + const option = document.createElement('option'); + option.value = cls; + option.textContent = cls; + select.appendChild(option); + }); + row.appendChild(labelSpan); + row.appendChild(select); + classRowsDiv.appendChild(row); + }); + card.appendChild(classRowsDiv); + // Description field (right side, last element) + const descDiv = document.createElement('div'); + descDiv.className = 'card-description'; + descDiv.style.flex = '1'; + descDiv.style.marginLeft = '32px'; + descDiv.style.display = 'flex'; + descDiv.style.flexDirection = 'column'; + descDiv.style.justifyContent = 'flex-start'; + descDiv.style.alignItems = 'flex-start'; + descDiv.style.width = '220px'; + // Add a label and textarea for description + const descLabel = document.createElement('label'); + descLabel.textContent = 'Description:'; + descLabel.style.fontWeight = 'bold'; + descLabel.style.marginBottom = '4px'; + const descTextarea = document.createElement('textarea'); + descTextarea.style.width = '220px'; + descTextarea.style.height = '48px'; + descTextarea.style.borderRadius = '6px'; + descTextarea.style.border = '1px solid #009eac'; + descTextarea.style.padding = '6px'; + descTextarea.style.resize = 'none'; + descTextarea.value = lp.description || ''; + descDiv.appendChild(descLabel); + descDiv.appendChild(descTextarea); + card.appendChild(descDiv); + detailsDiv.appendChild(card); + }); + + // Add Next button at the bottom right of the page + const nextBtn = document.createElement('button'); + nextBtn.id = 'next-btn'; + nextBtn.className = 'button'; + nextBtn.textContent = 'Next'; + nextBtn.style.position = 'fixed'; + nextBtn.style.right = '32px'; + nextBtn.style.bottom = '32px'; + nextBtn.style.zIndex = '1000'; + document.body.appendChild(nextBtn); + + // Next button click handler: collect class mappings and update TrainingProjectDetails + nextBtn.addEventListener('click', () => { + // Array of arrays: [[labelStudioProjectId, [[originalClass, mappedClass], ...]], ...] + const mappings = []; + const descriptions = []; + detailsDiv.querySelectorAll('.card').forEach((card, idx) => { + const projectId = relatedProjects[idx].project_id; + const classMap = []; + // Only iterate over actual class rows + card.querySelectorAll('.class-row').forEach(row => { + const labelSpan = row.querySelector('span'); + const select = row.querySelector('select'); + if (labelSpan && select) { + const className = labelSpan.textContent.trim(); + const mappedValue = select.value.trim(); + if (className !== '' && mappedValue !== '') { + classMap.push([className, mappedValue]); + } + } + }); + mappings.push([projectId, classMap]); + // Get description from textarea + const descTextarea = card.querySelector('textarea'); + descriptions.push([projectId, descTextarea ? descTextarea.value : '']); + }); + // Update TrainingProjectDetails in DB + fetch('/api/training-project-details', { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + project_id: Number(trainingProjectId), + class_map: mappings, + description: descriptions // array of [projectId, description] + }) + }) + .then(res => res.json()) + .then(data => { + alert('Class assignments and descriptions updated!'); + console.log(data); + // Redirect to start-training.html with id + window.location.href = `/edit-training.html?id=${trainingProjectId}`; + }) + .catch(err => { + alert('Error updating class assignments or descriptions'); + console.error(err); + }); + }); + }); }); \ No newline at end of file diff --git a/js/start-training.js b/js/start-training.js index 9a2dfe8..8812c61 100644 --- a/js/start-training.js +++ b/js/start-training.js @@ -1,272 +1,272 @@ -// Render helper descriptions for YOLOX settings and handle form submission -window.addEventListener('DOMContentLoaded', () => { - - // Get the form element at the top - const form = document.getElementById('settings-form'); - - // Base config state - let currentBaseConfig = null; - let baseConfigFields = []; - // Define which fields are protected by base config - const protectedFields = [ - 'depth', 'width', 'act', 'max_epoch', 'warmup_epochs', 'warmup_lr', - 'scheduler', 'no_aug_epochs', 'min_lr_ratio', 'ema', 'weight_decay', - 'momentum', 'input_size', 'mosaic_scale', 'test_size', 'enable_mixup', - 'mosaic_prob', 'mixup_prob', 'hsv_prob', 'flip_prob', 'degrees', - 'translate', 'shear', 'mixup_scale', 'print_interval', 'eval_interval' - ]; - - // Map backend field names to frontend field names - const fieldNameMap = { - 'activation': 'act', // Backend uses 'activation', frontend uses 'act' - 'nms_thre': 'nmsthre' - }; - - // Function to load base config for selected model - function loadBaseConfig(modelName) { - if (!modelName) return Promise.resolve(null); - - return fetch(`/api/base-config/${modelName}`) - .then(res => { - if (!res.ok) throw new Error('Base config not found'); - return res.json(); - }) - .catch(err => { - console.warn(`Could not load base config for ${modelName}:`, err); - return null; - }); - } - - // Function to apply base config to form fields - function applyBaseConfig(config, isCocoMode) { - const infoBanner = document.getElementById('base-config-info'); - const modelNameSpan = document.getElementById('base-config-model'); - - if (!config || !isCocoMode) { - // Hide info banner - if (infoBanner) infoBanner.style.display = 'none'; - - // Remove grey styling and enable all fields - protectedFields.forEach(fieldName => { - const input = form.querySelector(`[name="${fieldName}"]`); - if (input) { - input.disabled = false; - input.style.backgroundColor = '#f8f8f8'; - input.style.color = '#333'; - input.style.cursor = 'text'; - input.title = ''; - } - }); - baseConfigFields = []; - return; - } - - // Show info banner - if (infoBanner) { - infoBanner.style.display = 'block'; - const modelName = form.querySelector('[name="select_model"]')?.value || 'selected model'; - if (modelNameSpan) modelNameSpan.textContent = modelName; - } - - // Apply base config values and grey out fields - baseConfigFields = []; - Object.entries(config).forEach(([key, value]) => { - // Map backend field name to frontend field name if needed - const frontendFieldName = fieldNameMap[key] || key; - - if (protectedFields.includes(frontendFieldName)) { - const input = form.querySelector(`[name="${frontendFieldName}"]`); - if (input) { - baseConfigFields.push(frontendFieldName); - - // Set value based on type - if (input.type === 'checkbox') { - input.checked = Boolean(value); - } else if (Array.isArray(value)) { - input.value = value.join(','); - } else { - input.value = value; - } - - // Grey out and disable - input.disabled = true; - input.style.backgroundColor = '#d3d3d3'; - input.style.color = '#666'; - input.style.cursor = 'not-allowed'; - - // Add title tooltip - const modelName = form.querySelector('[name="select_model"]')?.value || 'selected model'; - input.title = `Protected by base config for ${modelName}. Switch to "Train from sketch" to customize.`; - } - } - }); - - console.log(`Applied base config. Protected fields: ${baseConfigFields.join(', ')}`); - } - - // Function to update form based on transfer learning mode - function updateTransferLearningMode() { - const transferLearning = document.getElementById('transfer-learning'); - const selectModel = document.getElementById('select-model'); - const selectModelRow = document.getElementById('select-model-row'); - - if (!transferLearning || !selectModel) return; - - const isCocoMode = transferLearning.value === 'coco'; - const isCustomMode = transferLearning.value === 'custom'; - const isSketchMode = transferLearning.value === 'sketch'; - const modelName = selectModel.value; - - // Show/hide select model based on transfer learning mode - if (selectModelRow) { - if (isSketchMode) { - selectModelRow.style.display = 'none'; - } else { - selectModelRow.style.display = ''; - } - } - - if (isCocoMode && modelName) { - // Load and apply base config - loadBaseConfig(modelName).then(config => { - currentBaseConfig = config; - applyBaseConfig(config, true); - }); - } else { - // Clear base config - currentBaseConfig = null; - applyBaseConfig(null, false); - } - } - - // Listen for changes to transfer learning dropdown - const transferLearningSelect = document.getElementById('transfer-learning'); - if (transferLearningSelect) { - transferLearningSelect.addEventListener('change', updateTransferLearningMode); - } - - // Listen for changes to model selection - const modelSelect = document.getElementById('select-model'); - if (modelSelect) { - modelSelect.addEventListener('change', updateTransferLearningMode); - } - - // Initial update on page load - setTimeout(updateTransferLearningMode, 100); - - // Auto-set num_classes from training_project classes array - const urlParams = new URLSearchParams(window.location.search); - const projectId = urlParams.get('id'); - if (projectId && form) { - fetch('/api/training-projects') - .then(res => res.json()) - .then(projects => { - const project = projects.find(p => p.project_id == projectId || p.id == projectId); - if (project && project.classes) { - let classesArr = project.classes; - // If classes is a stringified JSON, parse it - if (typeof classesArr === 'string') { - try { - classesArr = JSON.parse(classesArr); - } catch (e) { - classesArr = []; - } - } - let numClasses = 0; - if (Array.isArray(classesArr)) { - numClasses = classesArr.length; - } else if (typeof classesArr === 'object' && classesArr !== null) { - numClasses = Object.keys(classesArr).length; - } - // Fix: Only set num_classes if input exists - const numClassesInput = form.querySelector('[name="num_classes"]'); - if (numClassesInput) { - numClassesInput.value = numClasses; - numClassesInput.readOnly = true; - numClassesInput.dispatchEvent(new Event('input')); - } - } - }); - } - - // Handle form submission - form.addEventListener('submit', function(e) { - console.log("Form submitted"); - e.preventDefault(); - - // Temporarily enable disabled fields so they get included in FormData - const disabledInputs = []; - form.querySelectorAll('input[disabled], select[disabled]').forEach(input => { - input.disabled = false; - disabledInputs.push(input); - }); - - const formData = new FormData(form); - const settings = {}; - let fileToUpload = null; - - for (const [key, value] of formData.entries()) { - if (key === 'model_upload' && form.elements[key].files.length > 0) { - fileToUpload = form.elements[key].files[0]; - continue; - } - if (key === 'ema' || key === 'enable_mixup' || key === 'save_history_ckpt') { - settings[key] = form.elements[key].checked; - } else if (key === 'scale' || key === 'mosaic_scale' || key === 'mixup_scale' || key === 'input_size' || key === 'test_size') { - settings[key] = value.split(',').map(v => parseFloat(v.trim())); - } else if (!isNaN(value) && value !== '') { - settings[key] = parseFloat(value); - } else { - settings[key] = value; - } - } - - // Re-disable the inputs - disabledInputs.forEach(input => { - input.disabled = true; - }); - - // Attach project id from URL - const urlParams = new URLSearchParams(window.location.search); - const projectId = urlParams.get('id'); - if (projectId) settings.project_id = Number(projectId); - - // First, send settings JSON (without file) - fetch('/api/yolox-settings', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(settings) - }) - .then(res => res.json()) - .then(data => { - // If file selected, send it as binary - if (fileToUpload) { - const reader = new FileReader(); - reader.onload = function(e) { - fetch(`/api/yolox-settings/upload?project_id=${settings.project_id}`, { - method: 'POST', - headers: { 'Content-Type': 'application/octet-stream' }, - body: e.target.result - }) - .then(res => res.json()) - .then(data2 => { - alert('YOLOX settings and model file saved!'); - window.location.href = `/overview-training.html?id=${settings.project_id}`; - }) - .catch(err => { - alert('Error uploading model file'); - console.error(err); - }); - }; - reader.readAsArrayBuffer(fileToUpload); - } else { - alert('YOLOX settings saved!'); - window.location.href = `/overview-training.html?id=${settings.project_id}`; - } - }) - .catch(err => { - alert('Error saving YOLOX settings'); - console.error(err); - }); - }); -}); +// Render helper descriptions for YOLOX settings and handle form submission +window.addEventListener('DOMContentLoaded', () => { + + // Get the form element at the top + const form = document.getElementById('settings-form'); + + // Base config state + let currentBaseConfig = null; + let baseConfigFields = []; + // Define which fields are protected by base config + const protectedFields = [ + 'depth', 'width', 'act', 'max_epoch', 'warmup_epochs', 'warmup_lr', + 'scheduler', 'no_aug_epochs', 'min_lr_ratio', 'ema', 'weight_decay', + 'momentum', 'input_size', 'mosaic_scale', 'test_size', 'enable_mixup', + 'mosaic_prob', 'mixup_prob', 'hsv_prob', 'flip_prob', 'degrees', + 'translate', 'shear', 'mixup_scale', 'print_interval', 'eval_interval' + ]; + + // Map backend field names to frontend field names + const fieldNameMap = { + 'activation': 'act', // Backend uses 'activation', frontend uses 'act' + 'nms_thre': 'nmsthre' + }; + + // Function to load base config for selected model + function loadBaseConfig(modelName) { + if (!modelName) return Promise.resolve(null); + + return fetch(`/api/base-config/${modelName}`) + .then(res => { + if (!res.ok) throw new Error('Base config not found'); + return res.json(); + }) + .catch(err => { + console.warn(`Could not load base config for ${modelName}:`, err); + return null; + }); + } + + // Function to apply base config to form fields + function applyBaseConfig(config, isCocoMode) { + const infoBanner = document.getElementById('base-config-info'); + const modelNameSpan = document.getElementById('base-config-model'); + + if (!config || !isCocoMode) { + // Hide info banner + if (infoBanner) infoBanner.style.display = 'none'; + + // Remove grey styling and enable all fields + protectedFields.forEach(fieldName => { + const input = form.querySelector(`[name="${fieldName}"]`); + if (input) { + input.disabled = false; + input.style.backgroundColor = '#f8f8f8'; + input.style.color = '#333'; + input.style.cursor = 'text'; + input.title = ''; + } + }); + baseConfigFields = []; + return; + } + + // Show info banner + if (infoBanner) { + infoBanner.style.display = 'block'; + const modelName = form.querySelector('[name="select_model"]')?.value || 'selected model'; + if (modelNameSpan) modelNameSpan.textContent = modelName; + } + + // Apply base config values and grey out fields + baseConfigFields = []; + Object.entries(config).forEach(([key, value]) => { + // Map backend field name to frontend field name if needed + const frontendFieldName = fieldNameMap[key] || key; + + if (protectedFields.includes(frontendFieldName)) { + const input = form.querySelector(`[name="${frontendFieldName}"]`); + if (input) { + baseConfigFields.push(frontendFieldName); + + // Set value based on type + if (input.type === 'checkbox') { + input.checked = Boolean(value); + } else if (Array.isArray(value)) { + input.value = value.join(','); + } else { + input.value = value; + } + + // Grey out and disable + input.disabled = true; + input.style.backgroundColor = '#d3d3d3'; + input.style.color = '#666'; + input.style.cursor = 'not-allowed'; + + // Add title tooltip + const modelName = form.querySelector('[name="select_model"]')?.value || 'selected model'; + input.title = `Protected by base config for ${modelName}. Switch to "Train from sketch" to customize.`; + } + } + }); + + console.log(`Applied base config. Protected fields: ${baseConfigFields.join(', ')}`); + } + + // Function to update form based on transfer learning mode + function updateTransferLearningMode() { + const transferLearning = document.getElementById('transfer-learning'); + const selectModel = document.getElementById('select-model'); + const selectModelRow = document.getElementById('select-model-row'); + + if (!transferLearning || !selectModel) return; + + const isCocoMode = transferLearning.value === 'coco'; + const isCustomMode = transferLearning.value === 'custom'; + const isSketchMode = transferLearning.value === 'sketch'; + const modelName = selectModel.value; + + // Show/hide select model based on transfer learning mode + if (selectModelRow) { + if (isSketchMode) { + selectModelRow.style.display = 'none'; + } else { + selectModelRow.style.display = ''; + } + } + + if (isCocoMode && modelName) { + // Load and apply base config + loadBaseConfig(modelName).then(config => { + currentBaseConfig = config; + applyBaseConfig(config, true); + }); + } else { + // Clear base config + currentBaseConfig = null; + applyBaseConfig(null, false); + } + } + + // Listen for changes to transfer learning dropdown + const transferLearningSelect = document.getElementById('transfer-learning'); + if (transferLearningSelect) { + transferLearningSelect.addEventListener('change', updateTransferLearningMode); + } + + // Listen for changes to model selection + const modelSelect = document.getElementById('select-model'); + if (modelSelect) { + modelSelect.addEventListener('change', updateTransferLearningMode); + } + + // Initial update on page load + setTimeout(updateTransferLearningMode, 100); + + // Auto-set num_classes from training_project classes array + const urlParams = new URLSearchParams(window.location.search); + const projectId = urlParams.get('id'); + if (projectId && form) { + fetch('/api/training-projects') + .then(res => res.json()) + .then(projects => { + const project = projects.find(p => p.project_id == projectId || p.id == projectId); + if (project && project.classes) { + let classesArr = project.classes; + // If classes is a stringified JSON, parse it + if (typeof classesArr === 'string') { + try { + classesArr = JSON.parse(classesArr); + } catch (e) { + classesArr = []; + } + } + let numClasses = 0; + if (Array.isArray(classesArr)) { + numClasses = classesArr.length; + } else if (typeof classesArr === 'object' && classesArr !== null) { + numClasses = Object.keys(classesArr).length; + } + // Fix: Only set num_classes if input exists + const numClassesInput = form.querySelector('[name="num_classes"]'); + if (numClassesInput) { + numClassesInput.value = numClasses; + numClassesInput.readOnly = true; + numClassesInput.dispatchEvent(new Event('input')); + } + } + }); + } + + // Handle form submission + form.addEventListener('submit', function(e) { + console.log("Form submitted"); + e.preventDefault(); + + // Temporarily enable disabled fields so they get included in FormData + const disabledInputs = []; + form.querySelectorAll('input[disabled], select[disabled]').forEach(input => { + input.disabled = false; + disabledInputs.push(input); + }); + + const formData = new FormData(form); + const settings = {}; + let fileToUpload = null; + + for (const [key, value] of formData.entries()) { + if (key === 'model_upload' && form.elements[key].files.length > 0) { + fileToUpload = form.elements[key].files[0]; + continue; + } + if (key === 'ema' || key === 'enable_mixup' || key === 'save_history_ckpt') { + settings[key] = form.elements[key].checked; + } else if (key === 'scale' || key === 'mosaic_scale' || key === 'mixup_scale' || key === 'input_size' || key === 'test_size') { + settings[key] = value.split(',').map(v => parseFloat(v.trim())); + } else if (!isNaN(value) && value !== '') { + settings[key] = parseFloat(value); + } else { + settings[key] = value; + } + } + + // Re-disable the inputs + disabledInputs.forEach(input => { + input.disabled = true; + }); + + // Attach project id from URL + const urlParams = new URLSearchParams(window.location.search); + const projectId = urlParams.get('id'); + if (projectId) settings.project_id = Number(projectId); + + // First, send settings JSON (without file) + fetch('/api/yolox-settings', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(settings) + }) + .then(res => res.json()) + .then(data => { + // If file selected, send it as binary + if (fileToUpload) { + const reader = new FileReader(); + reader.onload = function(e) { + fetch(`/api/yolox-settings/upload?project_id=${settings.project_id}`, { + method: 'POST', + headers: { 'Content-Type': 'application/octet-stream' }, + body: e.target.result + }) + .then(res => res.json()) + .then(data2 => { + alert('YOLOX settings and model file saved!'); + window.location.href = `/overview-training.html?id=${settings.project_id}`; + }) + .catch(err => { + alert('Error uploading model file'); + console.error(err); + }); + }; + reader.readAsArrayBuffer(fileToUpload); + } else { + alert('YOLOX settings saved!'); + window.location.href = `/overview-training.html?id=${settings.project_id}`; + } + }) + .catch(err => { + alert('Error saving YOLOX settings'); + console.error(err); + }); + }); +}); diff --git a/js/storage.js b/js/storage.js index 8a4f342..9999b62 100644 --- a/js/storage.js +++ b/js/storage.js @@ -1,11 +1,11 @@ -// js/storage.js -export function getStoredProjects() { - try { - return JSON.parse(localStorage.getItem('ls_projects') || '{}'); - } catch (e) { - return {}; - } -} -export function setStoredProjects(projectsObj) { - localStorage.setItem('ls_projects', JSON.stringify(projectsObj)); +// js/storage.js +export function getStoredProjects() { + try { + return JSON.parse(localStorage.getItem('ls_projects') || '{}'); + } catch (e) { + return {}; + } +} +export function setStoredProjects(projectsObj) { + localStorage.setItem('ls_projects', JSON.stringify(projectsObj)); } \ No newline at end of file diff --git a/overview-training.html b/overview-training.html index 4560f93..68b5326 100644 --- a/overview-training.html +++ b/overview-training.html @@ -1,254 +1,325 @@ - - - - - - - - - - - - - -
- - - - - - - - - -
-
- - + + + + + + + + + + + + + +
+ + + + + + + + +
+ +
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/project-details.html b/project-details.html index 3212043..cc9456d 100644 --- a/project-details.html +++ b/project-details.html @@ -1,116 +1,183 @@ - - - - - - - - - - - - - - - - -
- - -
- -
- - - - - -
- - - + + + + + + + + + + + + + + + + +
+ + +
+ +
+ + + + + +
+ + + + + + + + \ No newline at end of file diff --git a/settings.html b/settings.html new file mode 100644 index 0000000..2d6c99c --- /dev/null +++ b/settings.html @@ -0,0 +1,236 @@ + + + + + Settings - mb ai Trainer + + + + + + + + + + + + diff --git a/setup-training-project.html b/setup-training-project.html index 9eb3b90..f9a0626 100644 --- a/setup-training-project.html +++ b/setup-training-project.html @@ -1,109 +1,176 @@ - - - - - - - - - - - - - -
- -
- -
- - - -
- - + + + + + + + + + + + + + +
+ +
+ +
+ + + +
+ + + + + + + \ No newline at end of file diff --git a/style.css b/style.css index ccd75da..ac3226c 100644 --- a/style.css +++ b/style.css @@ -1,663 +1,779 @@ - - -.card h1,h2,h3,p{ - margin: 0; -} - - -.card { - display: flex; - padding: 1rem; - background-color: red; - border-radius: 8px; - gap: 1.5rem; -} - -.img-container { - display: flex; - background-color: rgb(223, 223, 223); - width: 120px; - height: 120px; - border-radius: 8px; -} - -.img-container img{ - width: 100%; - height: 100%; - border-radius: 8px; - object-fit: cover; -} - -.info{ - display: flex; - flex-flow: column; - background-color: rgb(223, 223, 223); - padding: 1rem; - height: 120px; - border-radius: 8px; - box-sizing: border-box; - - gap: 0.5rem; - flex: 1; -} - -.info .label-classes{ - display: grid; - grid-template-columns: repeat(2,130px); - column-gap: 1rem; - row-gap: 3px; - align-items: start; - justify-content: start; -} - -.info .label-classes p{ - background-color: lightgray; - padding-inline: 4px; - border-radius: 4px; - width: 130px; -} - -.dataset-card { -width: 500px; -height: 120px; -} - -.dataset-card .div { - position: relative; - height: 120px; - background-color: #d9d9d9; - border-radius: 9px; -} -.dataset-card:hover .div { - background-color: #4a90e2; /* Change this to any color you want */ -} - -.dataset-card .image { - position: absolute; - width: 100px; - height: 100px; - top: 10px; - left: 10px; - background-color: #747474; - border-radius: 10px; -} - -.dataset-card .info-card { - position: absolute; - width: 362px; - height: 100px; - top: 10px; - left: 130px; -} - -.dataset-card .overlap-group { - position: relative; - width: 360px; - height: 100px; - background-color: #747373; - border-radius: 10px; -} - -.dataset-card .classes { - position: absolute; - width: 249px; - height: 60px; - top: 35px; - left: 14px; -} - -.dataset-card .frame { - position: relative; - height: 60px; - background-color: #747474; - border-radius: 2px; - overflow: hidden; -} - -.dataset-card .div-wrapper { - position: absolute; - width: 120px; - height: 16px; - top: 3px; - left: 3px; - background-color: #d9d9d9; - border-radius: 2px; - overflow: hidden; -} - -.dataset-card .text-wrapper { - position: absolute; - top: -1px; - left: 5px; - font-family: var(--m3-body-small-font-family); - font-weight: var(--m3-body-small-font-weight); - color: #000000; - font-size: var(--m3-body-small-font-size); - letter-spacing: var(--m3-body-small-letter-spacing); - line-height: var(--m3-body-small-line-height); - white-space: nowrap; - font-style: var(--m3-body-small-font-style); -} - -.dataset-card .frame-2 { - position: absolute; - width: 120px; - height: 16px; - top: 22px; - left: 3px; - background-color: #d9d9d9; - border-radius: 2px; - overflow: hidden; -} - -.dataset-card .frame-3 { - top: 41px; - left: 3px; - position: absolute; - width: 120px; - height: 16px; - background-color: #d9d9d9; - border-radius: 2px; - overflow: hidden; -} - -.dataset-card .frame-4 { - top: 3px; - left: 126px; - position: absolute; - width: 120px; - height: 16px; - background-color: #d9d9d9; - border-radius: 2px; - overflow: hidden; -} - -.dataset-card .frame-5 { - top: 22px; - left: 126px; - position: absolute; - width: 120px; - height: 16px; - background-color: #d9d9d9; - border-radius: 2px; - overflow: hidden; -} - -.dataset-card .frame-6 { - top: 41px; - left: 126px; - position: absolute; - width: 120px; - height: 16px; - background-color: #d9d9d9; - border-radius: 2px; - overflow: hidden; -} - -.dataset-card .text-wrapper-2 { - position: absolute; - width: 300px; - top: 4px; - left: 14px; - font-family: var(--title2-regular-font-family); - font-weight: var(--title2-regular-font-weight); - color: #ff715e; - font-size: var(--title2-regular-font-size); - letter-spacing: var(--title2-regular-letter-spacing); - line-height: var(--title2-regular-line-height); - white-space: nowrap; - font-style: var(--title2-regular-font-style); -} - -.button { - padding: 8px 16px; - background-color: #009dac; - color: white; - border: none; - border-radius: 6px; - font-size: 16px; - font-weight: bold; - cursor: pointer; - transition: background-color 0.3s ease; - position: relative; -} - -.button:hover { - background-color: #0095a3; -} -.button-red { - padding: 8px 16px; - background-color: #ff0f43; - color: white; - border: none; - border-radius: 6px; - font-size: 16px; - font-weight: bold; - cursor: pointer; - transition: background-color 0.3s ease; -} - -.button-red:hover { - background-color: #b60202; -} - -.button-row { - display: flex; - gap: 10px; /* Abstand zwischen den Buttons */ - -} -#header { - display: flex; - justify-content: space-between; /* space between title and buttons */ - align-items: center; - background-color: #fff; - height: 70px; - padding: 20px; - border-bottom: 2px solid #ccc; - border-radius: 8px; - margin-bottom: 20px; -} -.header-icon { - width: 222px; - height: 53px; - background-image: url("./media/logo.png"); - background-size: cover; - background-position: center; - display: flex; - justify-content: center; - align-items: center; -} - - -.popup { - position: absolute; - left: 50%; - transform: translate(-50%); - /* Optional box style */ - background-color: white; - width: 800px; - height: 600px; - border-radius: 20px; - border: 2px solid #ccc; - - box-shadow: 10px 10px 6.8px 3px #00000040; -} - -.popup .image { - position: absolute; - width: 250px; - height: 250px; - top: 43px; - left: 43px; - background-color: #d9d9d9; - border-radius: 10px; -} - -.popup .upload-button { - width: 80px; - height: 25px; - background-color: #009dac; - border-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - cursor: pointer; - position: absolute; - top: 303px; - left: 128px; - box-sizing: border-box; -} - -.popup .upload-button:hover{ - width: 80px; - height: 25px; - background-color: #0095a3; - border-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - cursor: pointer; - position: absolute; - top: 303px; - left: 128px; - box-sizing: border-box; -} - -.popup .upload-button-text { - font-family: var(--m3-body-small-font-family); - font-weight: var(--m3-body-small-font-weight); - color: #FFFF; - font-size: var(--m3-body-small-font-size); - letter-spacing: var(--m3-body-small-letter-spacing); - line-height: var(--m3-body-small-line-height); - white-space: nowrap; - font-style: var(--m3-body-small-font-style); -} - -.popup .div { - position: absolute; - width: 395px; - height: 501px; - top: 43px; - left: 343px; - background-color: #d9d9d9; - border-radius: 5px; -} - -.popup .add-category { - position: absolute; - width: 335px; - height: 25px; - top: 144px; - left: 30px; - -} - -.popup .div-wrapper { - position: relative; - width: 240px; - height: 25px; - top: 0; - left: 95px; - background-color: #efefef; - border-radius: 5px; - border-color: #009dac; - outline: none; -font-family: var(--m3-body-small-font-family); - font-size: var(--m3-body-small-font-size); - line-height: var(--m3-body-small-line-height); -} - -.popup .div-wrapper:focus { - border-color: #000000; -} - -.popup .div-wrapper::placeholder { - color: #000; - transition: opacity 0.3s ease; - position: absolute; - -} - -.popup .div-wrapper:focus::placeholder { - opacity: 0; - -} - - - -.popup .upload-button-text-wrapper { - all: unset; - box-sizing: border-box; - position: absolute; - align-items: center; - justify-content: center; - width: 80px; - height: 25px; - cursor: pointer; - display: flex; - top: 0; - left: 0; - background-color: #009dac; - border-radius: 5px; -} -.popup .upload-button-text-wrapper:hover { - all: unset; - box-sizing: border-box; - position: absolute; - align-items: center; - justify-content: center; - width: 80px; - height: 25px; - cursor: pointer; - display: flex; - top: 0; - left: 0; - background-color: #0095a3; - border-radius: 5px; -} - -.popup .confirm-button-datasetcreation { - all: unset; - box-sizing: border-box; - position: absolute; - align-items: center; - justify-content: center; - bottom: 10px; - right: 59px; - width: 80px; - height: 25px; - cursor: pointer; - display: flex; - background-color: #009dac; - border-radius: 5px; -} -.popup .confirm-button-datasetcreation:hover { - all: unset; - box-sizing: border-box; - position: absolute; - align-items: center; - justify-content: center; - bottom: 10px; - right: 59px; - width: 80px; - height: 25px; - cursor: pointer; - display: flex; - background-color: #0095a3; - border-radius: 5px; -} - -.popup .confirm-button-datasetcreation:disabled { - all: unset; - box-sizing: border-box; - position: absolute; - align-items: center; - justify-content: center; - bottom: 10px; - right: 59px; - width: 80px; - height: 25px; - cursor: pointer; - display: flex; - background-color: #66c4cd; - border-radius: 5px; -} - -.popup .button-text-upload { - - font-family: var(--m3-body-small-font-family); - font-weight: var(--m3-body-small-font-weight); - color: #FFFF; - font-size: var(--m3-body-small-font-size); - letter-spacing: var(--m3-body-small-letter-spacing); - line-height: var(--m3-body-small-line-height); - white-space: nowrap; - font-style: var(--m3-body-small-font-style); -} - -.popup .project-name { - position: absolute; - width: 335px; - height: 25px; - top: 27px; - left: 30px; - background-color: #efefef; - border-radius: 5px; - border-color: #009dac; - outline: none; - font-family: var(--m3-body-small-font-family); - font-size: var(--m3-body-small-font-size); - line-height: var(--m3-body-small-line-height); -} - -.popup .project-name:focus { - border-color: #000000; -} - -.popup .project-name::placeholder { - color: #000; - transition: opacity 0.3s ease; -} - -.popup .project-name:focus::placeholder { - opacity: 0; -} - - - -.popup .add-description { - position: absolute; - width: 335px; - height: 50px; - top: 73px; - left: 30px; - background-color: #efefef; - border-radius: 5px; - border-color: #009dac; - padding: 4px; - outline: none; - resize: none; - font-family: var(--m3-body-small-font-family); - font-size: var(--m3-body-small-font-size); - line-height: var(--m3-body-small-line-height); -} -.popup .add-description:focus { - border-color: #000000; -} - -.popup .add-description::placeholder { - color: #000; - transition: opacity 0.3s ease; -} - -.popup .add-description:focus::placeholder { - opacity: 0; -} - - - -.popup .add-class-wrapper { - position: absolute; - width: 353px; - height: 302px; - top: 183px; - left: 21px; -} - -.popup .add-class { - position: relative; - width: 335px; - height: 25px; - top: 9px; - left: 9px; -} - -.popup .overlap-group { - position: absolute; - width: 275px; - height: 25px; - top: 0; - left: 0; - background-color: #30bffc80; - border-radius: 5px; -} - -.popup .overlap { - position: absolute; - width: 50px; - height: 25px; - left: 285px; -} - -.popup .text-wrapper-overlap { - position: absolute; - top: 4%; - left: 5px; - font-family: var(--m3-body-small-font-family); - font-weight: var(--m3-body-small-font-weight); - color: #000000; - font-size: var(--m3-body-small-font-size); - letter-spacing: var(--m3-body-small-letter-spacing); - line-height: var(--m3-body-small-line-height); - white-space: nowrap; - font-style: var(--m3-body-small-font-style); - -} - -.popup .rectangle { - position: absolute; - width: 50px; - height: 25px; - background-color: #ff0f43; - border-radius: 5px; - box-sizing: border-box; - cursor: pointer; - align-items: center; - display: flex; - justify-content: center; -} - -.popup .rectangle:hover { - position: absolute; - width: 50px; - height: 25px; - background-color: #bb032b; - border-radius: 5px; - box-sizing: border-box; - cursor: pointer; - align-items: center; - display: flex; - justify-content: center; -} - -.popup .text-wrapper-4 { - position: absolute; - top: -18px; - left: 18px; - font-family: var(--m3-display-large-font-family); - font-weight: var(--m3-display-large-font-weight); - color: #000000; - font-size: var(--minus-for-button-size); - letter-spacing: var(--m3-display-large-letter-spacing); - line-height: var(--m3-display-large-line-height); - white-space: nowrap; - cursor: pointer; - font-style: var(--m3-display-large-font-style); -} - - -.centered-div { - position: absolute; - - left: 50%; - transform: translate(-50%); - /* Optional box style */ - background-color: white; - padding: 20px; - border-radius: 8px; - box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); -} - - -.loader { - top: 4px; - left: 43%; - border: 5px solid #f3f3f3; /* Light grey background */ - border-top: 5px solid #3498db; /* Blue top to create the spinning effect */ - border-radius: 50%; - width: 25px; - height: 25px; - animation: spin 1s linear infinite; - position: absolute; -} - -@keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - - - - - + + +.card h1,h2,h3,p{ + margin: 0; +} + + +.card { + display: flex; + padding: 1rem; + background-color: red; + border-radius: 8px; + gap: 1.5rem; +} + +.img-container { + display: flex; + background-color: rgb(223, 223, 223); + width: 120px; + height: 120px; + border-radius: 8px; +} + +.img-container img{ + width: 100%; + height: 100%; + border-radius: 8px; + object-fit: cover; +} + +.info{ + display: flex; + flex-flow: column; + background-color: rgb(223, 223, 223); + padding: 1rem; + height: 120px; + border-radius: 8px; + box-sizing: border-box; + + gap: 0.5rem; + flex: 1; +} + +.info .label-classes{ + display: grid; + grid-template-columns: repeat(2,130px); + column-gap: 1rem; + row-gap: 3px; + align-items: start; + justify-content: start; +} + +.info .label-classes p{ + background-color: lightgray; + padding-inline: 4px; + border-radius: 4px; + width: 130px; +} + +.dataset-card { +width: 500px; +height: 120px; +} + +.dataset-card .div { + position: relative; + height: 120px; + background-color: #d9d9d9; + border-radius: 9px; +} +.dataset-card:hover .div { + background-color: #4a90e2; /* Change this to any color you want */ +} + +.dataset-card .image { + position: absolute; + width: 100px; + height: 100px; + top: 10px; + left: 10px; + background-color: #747474; + border-radius: 10px; +} + +.dataset-card .info-card { + position: absolute; + width: 362px; + height: 100px; + top: 10px; + left: 130px; +} + +.dataset-card .overlap-group { + position: relative; + width: 360px; + height: 100px; + background-color: #747373; + border-radius: 10px; +} + +.dataset-card .classes { + position: absolute; + width: 249px; + height: 60px; + top: 35px; + left: 14px; +} + +.dataset-card .frame { + position: relative; + height: 60px; + background-color: #747474; + border-radius: 2px; + overflow: hidden; +} + +.dataset-card .div-wrapper { + position: absolute; + width: 120px; + height: 16px; + top: 3px; + left: 3px; + background-color: #d9d9d9; + border-radius: 2px; + overflow: hidden; +} + +.dataset-card .text-wrapper { + position: absolute; + top: -1px; + left: 5px; + font-family: var(--m3-body-small-font-family); + font-weight: var(--m3-body-small-font-weight); + color: #000000; + font-size: var(--m3-body-small-font-size); + letter-spacing: var(--m3-body-small-letter-spacing); + line-height: var(--m3-body-small-line-height); + white-space: nowrap; + font-style: var(--m3-body-small-font-style); +} + +.dataset-card .frame-2 { + position: absolute; + width: 120px; + height: 16px; + top: 22px; + left: 3px; + background-color: #d9d9d9; + border-radius: 2px; + overflow: hidden; +} + +.dataset-card .frame-3 { + top: 41px; + left: 3px; + position: absolute; + width: 120px; + height: 16px; + background-color: #d9d9d9; + border-radius: 2px; + overflow: hidden; +} + +.dataset-card .frame-4 { + top: 3px; + left: 126px; + position: absolute; + width: 120px; + height: 16px; + background-color: #d9d9d9; + border-radius: 2px; + overflow: hidden; +} + +.dataset-card .frame-5 { + top: 22px; + left: 126px; + position: absolute; + width: 120px; + height: 16px; + background-color: #d9d9d9; + border-radius: 2px; + overflow: hidden; +} + +.dataset-card .frame-6 { + top: 41px; + left: 126px; + position: absolute; + width: 120px; + height: 16px; + background-color: #d9d9d9; + border-radius: 2px; + overflow: hidden; +} + +.dataset-card .text-wrapper-2 { + position: absolute; + width: 300px; + top: 4px; + left: 14px; + font-family: var(--title2-regular-font-family); + font-weight: var(--title2-regular-font-weight); + color: #ff715e; + font-size: var(--title2-regular-font-size); + letter-spacing: var(--title2-regular-letter-spacing); + line-height: var(--title2-regular-line-height); + white-space: nowrap; + font-style: var(--title2-regular-font-style); +} + +.button { + padding: 8px 16px; + background-color: #009dac; + color: white; + border: none; + border-radius: 6px; + font-size: 16px; + font-weight: bold; + cursor: pointer; + transition: background-color 0.3s ease; + position: relative; +} + +.button:hover { + background-color: #0095a3; +} +.button-red { + padding: 8px 16px; + background-color: #ff0f43; + color: white; + border: none; + border-radius: 6px; + font-size: 16px; + font-weight: bold; + cursor: pointer; + transition: background-color 0.3s ease; +} + +.button-red:hover { + background-color: #b60202; +} + +.button-row { + display: flex; + gap: 10px; /* Abstand zwischen den Buttons */ + +} +#header { + display: flex; + justify-content: space-between; /* space between title and buttons */ + align-items: center; + background-color: #fff; + height: 70px; + padding: 20px; + border-bottom: 2px solid #ccc; + border-radius: 8px; + margin-bottom: 20px; +} +.header-icon { + width: 222px; + height: 53px; + background-image: url("./media/logo.png"); + background-size: cover; + background-position: center; + display: flex; + justify-content: center; + align-items: center; +} + + +.popup { + position: absolute; + left: 50%; + transform: translate(-50%); + /* Optional box style */ + background-color: white; + width: 800px; + height: 600px; + border-radius: 20px; + border: 2px solid #ccc; + + box-shadow: 10px 10px 6.8px 3px #00000040; +} + +.popup .image { + position: absolute; + width: 250px; + height: 250px; + top: 43px; + left: 43px; + background-color: #d9d9d9; + border-radius: 10px; +} + +.popup .upload-button { + width: 80px; + height: 25px; + background-color: #009dac; + border-radius: 5px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + position: absolute; + top: 303px; + left: 128px; + box-sizing: border-box; +} + +.popup .upload-button:hover{ + width: 80px; + height: 25px; + background-color: #0095a3; + border-radius: 5px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + position: absolute; + top: 303px; + left: 128px; + box-sizing: border-box; +} + +.popup .upload-button-text { + font-family: var(--m3-body-small-font-family); + font-weight: var(--m3-body-small-font-weight); + color: #FFFF; + font-size: var(--m3-body-small-font-size); + letter-spacing: var(--m3-body-small-letter-spacing); + line-height: var(--m3-body-small-line-height); + white-space: nowrap; + font-style: var(--m3-body-small-font-style); +} + +.popup .div { + position: absolute; + width: 395px; + height: 501px; + top: 43px; + left: 343px; + background-color: #d9d9d9; + border-radius: 5px; +} + +.popup .add-category { + position: absolute; + width: 335px; + height: 25px; + top: 144px; + left: 30px; + +} + +.popup .div-wrapper { + position: relative; + width: 240px; + height: 25px; + top: 0; + left: 95px; + background-color: #efefef; + border-radius: 5px; + border-color: #009dac; + outline: none; +font-family: var(--m3-body-small-font-family); + font-size: var(--m3-body-small-font-size); + line-height: var(--m3-body-small-line-height); +} + +.popup .div-wrapper:focus { + border-color: #000000; +} + +.popup .div-wrapper::placeholder { + color: #000; + transition: opacity 0.3s ease; + position: absolute; + +} + +.popup .div-wrapper:focus::placeholder { + opacity: 0; + +} + + + +.popup .upload-button-text-wrapper { + all: unset; + box-sizing: border-box; + position: absolute; + align-items: center; + justify-content: center; + width: 80px; + height: 25px; + cursor: pointer; + display: flex; + top: 0; + left: 0; + background-color: #009dac; + border-radius: 5px; +} +.popup .upload-button-text-wrapper:hover { + all: unset; + box-sizing: border-box; + position: absolute; + align-items: center; + justify-content: center; + width: 80px; + height: 25px; + cursor: pointer; + display: flex; + top: 0; + left: 0; + background-color: #0095a3; + border-radius: 5px; +} + +.popup .confirm-button-datasetcreation { + all: unset; + box-sizing: border-box; + position: absolute; + align-items: center; + justify-content: center; + bottom: 10px; + right: 59px; + width: 80px; + height: 25px; + cursor: pointer; + display: flex; + background-color: #009dac; + border-radius: 5px; +} +.popup .confirm-button-datasetcreation:hover { + all: unset; + box-sizing: border-box; + position: absolute; + align-items: center; + justify-content: center; + bottom: 10px; + right: 59px; + width: 80px; + height: 25px; + cursor: pointer; + display: flex; + background-color: #0095a3; + border-radius: 5px; +} + +.popup .confirm-button-datasetcreation:disabled { + all: unset; + box-sizing: border-box; + position: absolute; + align-items: center; + justify-content: center; + bottom: 10px; + right: 59px; + width: 80px; + height: 25px; + cursor: pointer; + display: flex; + background-color: #66c4cd; + border-radius: 5px; +} + +.popup .button-text-upload { + + font-family: var(--m3-body-small-font-family); + font-weight: var(--m3-body-small-font-weight); + color: #FFFF; + font-size: var(--m3-body-small-font-size); + letter-spacing: var(--m3-body-small-letter-spacing); + line-height: var(--m3-body-small-line-height); + white-space: nowrap; + font-style: var(--m3-body-small-font-style); +} + +.popup .project-name { + position: absolute; + width: 335px; + height: 25px; + top: 27px; + left: 30px; + background-color: #efefef; + border-radius: 5px; + border-color: #009dac; + outline: none; + font-family: var(--m3-body-small-font-family); + font-size: var(--m3-body-small-font-size); + line-height: var(--m3-body-small-line-height); +} + +.popup .project-name:focus { + border-color: #000000; +} + +.popup .project-name::placeholder { + color: #000; + transition: opacity 0.3s ease; +} + +.popup .project-name:focus::placeholder { + opacity: 0; +} + + + +.popup .add-description { + position: absolute; + width: 335px; + height: 50px; + top: 73px; + left: 30px; + background-color: #efefef; + border-radius: 5px; + border-color: #009dac; + padding: 4px; + outline: none; + resize: none; + font-family: var(--m3-body-small-font-family); + font-size: var(--m3-body-small-font-size); + line-height: var(--m3-body-small-line-height); +} +.popup .add-description:focus { + border-color: #000000; +} + +.popup .add-description::placeholder { + color: #000; + transition: opacity 0.3s ease; +} + +.popup .add-description:focus::placeholder { + opacity: 0; +} + + + +.popup .add-class-wrapper { + position: absolute; + width: 353px; + height: 302px; + top: 183px; + left: 21px; +} + +.popup .add-class { + position: relative; + width: 335px; + height: 25px; + top: 9px; + left: 9px; +} + +.popup .overlap-group { + position: absolute; + width: 275px; + height: 25px; + top: 0; + left: 0; + background-color: #30bffc80; + border-radius: 5px; +} + +.popup .overlap { + position: absolute; + width: 50px; + height: 25px; + left: 285px; +} + +.popup .text-wrapper-overlap { + position: absolute; + top: 4%; + left: 5px; + font-family: var(--m3-body-small-font-family); + font-weight: var(--m3-body-small-font-weight); + color: #000000; + font-size: var(--m3-body-small-font-size); + letter-spacing: var(--m3-body-small-letter-spacing); + line-height: var(--m3-body-small-line-height); + white-space: nowrap; + font-style: var(--m3-body-small-font-style); + +} + +.popup .rectangle { + position: absolute; + width: 50px; + height: 25px; + background-color: #ff0f43; + border-radius: 5px; + box-sizing: border-box; + cursor: pointer; + align-items: center; + display: flex; + justify-content: center; +} + +.popup .rectangle:hover { + position: absolute; + width: 50px; + height: 25px; + background-color: #bb032b; + border-radius: 5px; + box-sizing: border-box; + cursor: pointer; + align-items: center; + display: flex; + justify-content: center; +} + +.popup .text-wrapper-4 { + position: absolute; + top: -18px; + left: 18px; + font-family: var(--m3-display-large-font-family); + font-weight: var(--m3-display-large-font-weight); + color: #000000; + font-size: var(--minus-for-button-size); + letter-spacing: var(--m3-display-large-letter-spacing); + line-height: var(--m3-display-large-line-height); + white-space: nowrap; + cursor: pointer; + font-style: var(--m3-display-large-font-style); +} + + +.centered-div { + position: absolute; + + left: 50%; + transform: translate(-50%); + /* Optional box style */ + background-color: white; + padding: 20px; + border-radius: 8px; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); +} + + +.loader { + top: 4px; + left: 43%; + border: 5px solid #f3f3f3; /* Light grey background */ + border-top: 5px solid #3498db; /* Blue top to create the spinning effect */ + border-radius: 50%; + width: 25px; + height: 25px; + animation: spin 1s linear infinite; + position: absolute; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* Settings Modal Styles */ +.modal { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + z-index: 1000; + display: flex; + justify-content: center; + align-items: center; +} + +.modal-content { + background-color: white; + border-radius: 8px; + padding: 0; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + border-bottom: 1px solid #e5e7eb; +} + +.modal-header h2 { + margin: 0; + font-size: 24px; + color: #111827; +} + +.close-btn { + background: none; + border: none; + font-size: 28px; + cursor: pointer; + color: #6b7280; + padding: 0; + width: 32px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 4px; +} + +.close-btn:hover { + background-color: #f3f4f6; + color: #111827; +} + +.modal-body { + padding: 20px; +} + +.settings-section { + margin-bottom: 24px; +} + +.settings-section h3 { + font-size: 18px; + font-weight: 600; + color: #374151; + margin-bottom: 16px; +} + +.form-group { + margin-bottom: 12px; +} + +.form-group label { + display: block; + font-size: 14px; + font-weight: 500; + color: #374151; + margin-bottom: 6px; +} + +.form-group input { + width: 100%; + padding: 8px 12px; + border: 1px solid #d1d5db; + border-radius: 4px; + font-size: 14px; +} + +.form-group input:focus { + outline: none; + border-color: #3b82f6; + box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); +} + +.status-message { + margin-top: 12px; + padding: 8px 12px; + border-radius: 4px; + font-size: 14px; + display: none; +} + +.status-message.success { + background-color: #d1fae5; + color: #065f46; + border: 1px solid #6ee7b7; +} + +.status-message.error { + background-color: #fee2e2; + color: #991b1b; + border: 1px solid #fca5a5; +} + + + + + diff --git a/styleguide.css b/styleguide.css index 8bb7e4d..39631a3 100644 --- a/styleguide.css +++ b/styleguide.css @@ -1,16 +1,16 @@ -:root { - --m3-body-small-font-family: "Roboto", Helvetica; - --m3-body-small-font-weight: 400; - --m3-body-small-font-size: 12px; - --m3-body-small-letter-spacing: 0.4000000059604645px; - --m3-body-small-line-height: 16px; - --m3-body-small-font-style: normal; - --title2-regular-font-family: "SF Pro", Helvetica; - --title2-regular-font-weight: 400; - --title2-regular-font-size: 22px; - --title2-regular-letter-spacing: -0.25999999046325684px; - --title2-regular-line-height: 28px; - --title2-regular-font-style: normal; - - --minus-for-button-size: 30px; -} +:root { + --m3-body-small-font-family: "Roboto", Helvetica; + --m3-body-small-font-weight: 400; + --m3-body-small-font-size: 12px; + --m3-body-small-letter-spacing: 0.4000000059604645px; + --m3-body-small-line-height: 16px; + --m3-body-small-font-style: normal; + --title2-regular-font-family: "SF Pro", Helvetica; + --title2-regular-font-weight: 400; + --title2-regular-font-size: 22px; + --title2-regular-letter-spacing: -0.25999999046325684px; + --title2-regular-line-height: 28px; + --title2-regular-font-style: normal; + + --minus-for-button-size: 30px; +} diff --git a/text.css b/text.css index 21b624e..cd6ceb3 100644 --- a/text.css +++ b/text.css @@ -1,40 +1,40 @@ -.popup .upload-button { - width: 80px; - height: 25px; - background-color: #4cdb0085; - border-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - cursor: pointer; - position: absolute; - top: 303px; - left: 128px; - box-sizing: border-box; -} - -.popup .upload-button:hover{ - width: 80px; - height: 25px; - background-color: #36990085; - border-radius: 5px; - display: flex; - justify-content: center; - align-items: center; - cursor: pointer; - position: absolute; - top: 303px; - left: 128px; - box-sizing: border-box; -} - -.popup .upload-button-text { - font-family: var(--m3-body-small-font-family); - font-weight: var(--m3-body-small-font-weight); - color: #000000; - font-size: var(--m3-body-small-font-size); - letter-spacing: var(--m3-body-small-letter-spacing); - line-height: var(--m3-body-small-line-height); - white-space: nowrap; - font-style: var(--m3-body-small-font-style); +.popup .upload-button { + width: 80px; + height: 25px; + background-color: #4cdb0085; + border-radius: 5px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + position: absolute; + top: 303px; + left: 128px; + box-sizing: border-box; +} + +.popup .upload-button:hover{ + width: 80px; + height: 25px; + background-color: #36990085; + border-radius: 5px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + position: absolute; + top: 303px; + left: 128px; + box-sizing: border-box; +} + +.popup .upload-button-text { + font-family: var(--m3-body-small-font-family); + font-weight: var(--m3-body-small-font-weight); + color: #000000; + font-size: var(--m3-body-small-font-size); + letter-spacing: var(--m3-body-small-letter-spacing); + line-height: var(--m3-body-small-line-height); + white-space: nowrap; + font-style: var(--m3-body-small-font-style); } \ No newline at end of file