Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +93 -0
- .gitignore +59 -0
- Dockerfile +3 -0
- LICENSE +21 -0
- Pipfile +17 -0
- README.md +153 -3
- app.py +236 -0
- app_simple.py +172 -0
- configs/retinanet_config.py +50 -0
- deploy_to_hf.py +76 -0
- images/issues/Cube_00000.json +738 -0
- images/issues/Cube_00006.jpg +3 -0
- images/issues/Cube_00006.json +190 -0
- images/issues/Cube_00008.jpg +3 -0
- images/issues/Cube_00008.json +190 -0
- images/issues/Cube_00009.jpg +3 -0
- images/issues/Cube_00009.json +190 -0
- images/issues/Cube_00017.jpg +0 -0
- images/issues/Cube_00017.json +190 -0
- images/test/Cube_00028.jpg +3 -0
- images/test/Cube_00028.json +190 -0
- images/test/Cube_00029.jpg +3 -0
- images/test/Cube_00029.json +190 -0
- images/test/Cube_00032.jpg +3 -0
- images/test/Cube_00032.json +172 -0
- images/test/_annotations.coco.json +1 -0
- images/train/Cube_00001.jpg +3 -0
- images/train/Cube_00001.json +190 -0
- images/train/Cube_00002.jpg +3 -0
- images/train/Cube_00002.json +190 -0
- images/train/Cube_00003.jpg +3 -0
- images/train/Cube_00003.json +190 -0
- images/train/Cube_00004.jpg +3 -0
- images/train/Cube_00004.json +190 -0
- images/train/Cube_00007.jpg +3 -0
- images/train/Cube_00007.json +190 -0
- images/train/Cube_00010.jpg +3 -0
- images/train/Cube_00010.json +190 -0
- images/train/Cube_00011.jpg +3 -0
- images/train/Cube_00011.json +190 -0
- images/train/Cube_00012.jpg +3 -0
- images/train/Cube_00012.json +190 -0
- images/train/Cube_00013.jpg +3 -0
- images/train/Cube_00013.json +190 -0
- images/train/Cube_00014.jpg +3 -0
- images/train/Cube_00014.json +190 -0
- images/train/Cube_00015.jpg +3 -0
- images/train/Cube_00015.json +190 -0
- images/train/Cube_00016.jpg +3 -0
- images/train/Cube_00016.json +190 -0
.gitattributes
CHANGED
@@ -33,3 +33,96 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
images/issues/Cube_00006.jpg filter=lfs diff=lfs merge=lfs -text
|
37 |
+
images/issues/Cube_00008.jpg filter=lfs diff=lfs merge=lfs -text
|
38 |
+
images/issues/Cube_00009.jpg filter=lfs diff=lfs merge=lfs -text
|
39 |
+
images/test/Cube_00028.jpg filter=lfs diff=lfs merge=lfs -text
|
40 |
+
images/test/Cube_00029.jpg filter=lfs diff=lfs merge=lfs -text
|
41 |
+
images/test/Cube_00032.jpg filter=lfs diff=lfs merge=lfs -text
|
42 |
+
images/train/Cube_00001.jpg filter=lfs diff=lfs merge=lfs -text
|
43 |
+
images/train/Cube_00002.jpg filter=lfs diff=lfs merge=lfs -text
|
44 |
+
images/train/Cube_00003.jpg filter=lfs diff=lfs merge=lfs -text
|
45 |
+
images/train/Cube_00004.jpg filter=lfs diff=lfs merge=lfs -text
|
46 |
+
images/train/Cube_00007.jpg filter=lfs diff=lfs merge=lfs -text
|
47 |
+
images/train/Cube_00010.jpg filter=lfs diff=lfs merge=lfs -text
|
48 |
+
images/train/Cube_00011.jpg filter=lfs diff=lfs merge=lfs -text
|
49 |
+
images/train/Cube_00012.jpg filter=lfs diff=lfs merge=lfs -text
|
50 |
+
images/train/Cube_00013.jpg filter=lfs diff=lfs merge=lfs -text
|
51 |
+
images/train/Cube_00014.jpg filter=lfs diff=lfs merge=lfs -text
|
52 |
+
images/train/Cube_00015.jpg filter=lfs diff=lfs merge=lfs -text
|
53 |
+
images/train/Cube_00016.jpg filter=lfs diff=lfs merge=lfs -text
|
54 |
+
images/train/Cube_00018.jpg filter=lfs diff=lfs merge=lfs -text
|
55 |
+
images/train/Cube_00019.jpg filter=lfs diff=lfs merge=lfs -text
|
56 |
+
images/train/Cube_00020.jpg filter=lfs diff=lfs merge=lfs -text
|
57 |
+
images/train/Cube_00021.jpg filter=lfs diff=lfs merge=lfs -text
|
58 |
+
images/train/Cube_00022.jpg filter=lfs diff=lfs merge=lfs -text
|
59 |
+
images/train/Cube_00023.jpg filter=lfs diff=lfs merge=lfs -text
|
60 |
+
images/train/Cube_00024.jpg filter=lfs diff=lfs merge=lfs -text
|
61 |
+
images/train/Cube_00030.jpg filter=lfs diff=lfs merge=lfs -text
|
62 |
+
images/train/Cube_00031.jpg filter=lfs diff=lfs merge=lfs -text
|
63 |
+
images/train/Cube_00033.jpg filter=lfs diff=lfs merge=lfs -text
|
64 |
+
images/train/Cube_00034.jpg filter=lfs diff=lfs merge=lfs -text
|
65 |
+
images/train/Cube_00035.jpg filter=lfs diff=lfs merge=lfs -text
|
66 |
+
images/train/Cube_00036.jpg filter=lfs diff=lfs merge=lfs -text
|
67 |
+
images/train/Cube_00037.jpg filter=lfs diff=lfs merge=lfs -text
|
68 |
+
images/train/Cube_00038.jpg filter=lfs diff=lfs merge=lfs -text
|
69 |
+
images/train/Cube_00039.jpg filter=lfs diff=lfs merge=lfs -text
|
70 |
+
images/train/Cube_00040.jpg filter=lfs diff=lfs merge=lfs -text
|
71 |
+
images/train/Cube_00041.jpg filter=lfs diff=lfs merge=lfs -text
|
72 |
+
images/train/Cube_00042.jpg filter=lfs diff=lfs merge=lfs -text
|
73 |
+
images/train/Cube_00043.jpg filter=lfs diff=lfs merge=lfs -text
|
74 |
+
images/train/Cube_00044.jpg filter=lfs diff=lfs merge=lfs -text
|
75 |
+
images/train/Cube_00045.jpg filter=lfs diff=lfs merge=lfs -text
|
76 |
+
images/train/Cube_00046.jpg filter=lfs diff=lfs merge=lfs -text
|
77 |
+
images/train/Cube_00047.jpg filter=lfs diff=lfs merge=lfs -text
|
78 |
+
images/train/Cube_00049.jpg filter=lfs diff=lfs merge=lfs -text
|
79 |
+
images/train/Cube_00050.jpg filter=lfs diff=lfs merge=lfs -text
|
80 |
+
images/train/Cube_00051.jpg filter=lfs diff=lfs merge=lfs -text
|
81 |
+
images/train/Cube_00052.jpg filter=lfs diff=lfs merge=lfs -text
|
82 |
+
images/train/Cube_00053.jpg filter=lfs diff=lfs merge=lfs -text
|
83 |
+
images/train/Cube_00054.jpg filter=lfs diff=lfs merge=lfs -text
|
84 |
+
images/train/Cube_00055.jpg filter=lfs diff=lfs merge=lfs -text
|
85 |
+
images/train/Cube_00056.jpg filter=lfs diff=lfs merge=lfs -text
|
86 |
+
images/train/Cube_00057.jpg filter=lfs diff=lfs merge=lfs -text
|
87 |
+
images/train/Cube_00058.jpg filter=lfs diff=lfs merge=lfs -text
|
88 |
+
images/train/Cube_00059.jpg filter=lfs diff=lfs merge=lfs -text
|
89 |
+
images/train/Cube_00060.jpg filter=lfs diff=lfs merge=lfs -text
|
90 |
+
images/train/Cube_00061.jpg filter=lfs diff=lfs merge=lfs -text
|
91 |
+
images/train/Cube_00062.jpg filter=lfs diff=lfs merge=lfs -text
|
92 |
+
images/train/Cube_00063.jpg filter=lfs diff=lfs merge=lfs -text
|
93 |
+
images/train/Cube_00064.jpg filter=lfs diff=lfs merge=lfs -text
|
94 |
+
images/train/Cube_00065.jpg filter=lfs diff=lfs merge=lfs -text
|
95 |
+
images/train/Cube_00066.jpg filter=lfs diff=lfs merge=lfs -text
|
96 |
+
images/train/Cube_00067.jpg filter=lfs diff=lfs merge=lfs -text
|
97 |
+
images/train/Cube_00069.jpg filter=lfs diff=lfs merge=lfs -text
|
98 |
+
images/train/Cube_00070.jpg filter=lfs diff=lfs merge=lfs -text
|
99 |
+
images/train/Cube_00071.jpg filter=lfs diff=lfs merge=lfs -text
|
100 |
+
images/train/Cube_00072.jpg filter=lfs diff=lfs merge=lfs -text
|
101 |
+
images/train/Cube_00073.jpg filter=lfs diff=lfs merge=lfs -text
|
102 |
+
images/train/Cube_00074.jpg filter=lfs diff=lfs merge=lfs -text
|
103 |
+
images/train/Cube_00075.jpg filter=lfs diff=lfs merge=lfs -text
|
104 |
+
images/train/Cube_00076.jpg filter=lfs diff=lfs merge=lfs -text
|
105 |
+
images/train/Cube_00077.jpg filter=lfs diff=lfs merge=lfs -text
|
106 |
+
images/train/Cube_00078.jpg filter=lfs diff=lfs merge=lfs -text
|
107 |
+
images/train/Cube_00079.jpg filter=lfs diff=lfs merge=lfs -text
|
108 |
+
images/train/Cube_00080.jpg filter=lfs diff=lfs merge=lfs -text
|
109 |
+
images/train/Cube_00081.jpg filter=lfs diff=lfs merge=lfs -text
|
110 |
+
images/train/Cube_00082.jpg filter=lfs diff=lfs merge=lfs -text
|
111 |
+
images/train/Cube_00083.jpg filter=lfs diff=lfs merge=lfs -text
|
112 |
+
images/train/Cube_00084.jpg filter=lfs diff=lfs merge=lfs -text
|
113 |
+
images/train/Cube_00085.jpg filter=lfs diff=lfs merge=lfs -text
|
114 |
+
images/train/Cube_00086.jpg filter=lfs diff=lfs merge=lfs -text
|
115 |
+
images/train/Cube_00087.jpg filter=lfs diff=lfs merge=lfs -text
|
116 |
+
images/train/Cube_00088.jpg filter=lfs diff=lfs merge=lfs -text
|
117 |
+
images/train/Cube_00089.jpg filter=lfs diff=lfs merge=lfs -text
|
118 |
+
images/valid/Cube_00005.jpg filter=lfs diff=lfs merge=lfs -text
|
119 |
+
images/valid/Cube_00025.jpg filter=lfs diff=lfs merge=lfs -text
|
120 |
+
images/valid/Cube_00026.jpg filter=lfs diff=lfs merge=lfs -text
|
121 |
+
images/valid/Cube_00027.jpg filter=lfs diff=lfs merge=lfs -text
|
122 |
+
images/valid/Cube_00048.jpg filter=lfs diff=lfs merge=lfs -text
|
123 |
+
images/valid/Cube_00090.jpg filter=lfs diff=lfs merge=lfs -text
|
124 |
+
images/valid/Cube_00091.jpg filter=lfs diff=lfs merge=lfs -text
|
125 |
+
images/valid/Cube_00092.jpg filter=lfs diff=lfs merge=lfs -text
|
126 |
+
images/valid/Cube_00093.jpg filter=lfs diff=lfs merge=lfs -text
|
127 |
+
images/valid/Cube_00094.jpg filter=lfs diff=lfs merge=lfs -text
|
128 |
+
images/valid/Cube_00095.jpg filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Python
|
2 |
+
__pycache__/
|
3 |
+
*.py[cod]
|
4 |
+
*$py.class
|
5 |
+
*.so
|
6 |
+
.Python
|
7 |
+
build/
|
8 |
+
develop-eggs/
|
9 |
+
dist/
|
10 |
+
downloads/
|
11 |
+
eggs/
|
12 |
+
.eggs/
|
13 |
+
lib/
|
14 |
+
lib64/
|
15 |
+
parts/
|
16 |
+
sdist/
|
17 |
+
var/
|
18 |
+
wheels/
|
19 |
+
*.egg-info/
|
20 |
+
.installed.cfg
|
21 |
+
*.egg
|
22 |
+
|
23 |
+
# Virtual Environment
|
24 |
+
venv/
|
25 |
+
env/
|
26 |
+
ENV/
|
27 |
+
|
28 |
+
# IDE
|
29 |
+
.idea/
|
30 |
+
.vscode/
|
31 |
+
*.swp
|
32 |
+
*.swo
|
33 |
+
|
34 |
+
# Model files
|
35 |
+
exported_model/
|
36 |
+
*.h5
|
37 |
+
*.pb
|
38 |
+
*.tflite
|
39 |
+
|
40 |
+
# Data
|
41 |
+
tfrecords/
|
42 |
+
*.tfrecord
|
43 |
+
*.record
|
44 |
+
|
45 |
+
# Logs and checkpoints
|
46 |
+
logs/
|
47 |
+
checkpoints/
|
48 |
+
*.log
|
49 |
+
*.ckpt
|
50 |
+
|
51 |
+
# OS
|
52 |
+
.DS_Store
|
53 |
+
Thumbs.db
|
54 |
+
|
55 |
+
trained_model/
|
56 |
+
web_model/
|
57 |
+
|
58 |
+
SerializedExampleImage*
|
59 |
+
ShowBatchImage*
|
Dockerfile
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
FROM tensorflow/tensorflow:2.16.1-gpu-jupyter
|
2 |
+
RUN pip install tf-models-official
|
3 |
+
RUN pip install tensorflowjs==4.20.0 tensorflow==2.16.1
|
LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
MIT License
|
2 |
+
|
3 |
+
Copyright (c) 2024 yuimorii
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
+
of this software and associated documentation files (the "Software"), to deal
|
7 |
+
in the Software without restriction, including without limitation the rights
|
8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
+
copies of the Software, and to permit persons to whom the Software is
|
10 |
+
furnished to do so, subject to the following conditions:
|
11 |
+
|
12 |
+
The above copyright notice and this permission notice shall be included in all
|
13 |
+
copies or substantial portions of the Software.
|
14 |
+
|
15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21 |
+
SOFTWARE.
|
Pipfile
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[[source]]
|
2 |
+
url = "https://pypi.org/simple"
|
3 |
+
verify_ssl = true
|
4 |
+
name = "pypi"
|
5 |
+
|
6 |
+
[packages]
|
7 |
+
gradio = ">=4.0.0"
|
8 |
+
tensorflow-cpu = "==2.15.0"
|
9 |
+
numpy = ">=1.19.2"
|
10 |
+
pillow = ">=8.0.0"
|
11 |
+
opencv-python-headless = ">=4.5.1"
|
12 |
+
matplotlib = ">=3.2.2"
|
13 |
+
|
14 |
+
[dev-packages]
|
15 |
+
|
16 |
+
[requires]
|
17 |
+
python_version = "3.11"
|
README.md
CHANGED
@@ -1,3 +1,153 @@
|
|
1 |
-
---
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
title: Rubik's Cube Recognition with TensorFlow.js RetinaNet
|
3 |
+
emoji: 🎲
|
4 |
+
colorFrom: blue
|
5 |
+
colorTo: red
|
6 |
+
sdk: gradio
|
7 |
+
sdk_version: 4.19.2
|
8 |
+
app_file: app.py
|
9 |
+
pinned: false
|
10 |
+
---
|
11 |
+
|
12 |
+
# # 🎲 Rubik's Cube Recognition with TensorFlow.js RetinaNet
|
13 |
+
|
14 |
+
This is a deep learning model that can recognize and analyze Rubik's cubes in images. The model is built using TensorFlow.js and RetinaNet architecture.
|
15 |
+
|
16 |
+
## Features
|
17 |
+
|
18 |
+
- Upload images of Rubik's cubes
|
19 |
+
- Real-time cube detection
|
20 |
+
- Simple and intuitive interface
|
21 |
+
|
22 |
+
## How to Use
|
23 |
+
|
24 |
+
1. Visit the live demo
|
25 |
+
2. Upload an image containing a Rubik's cube
|
26 |
+
3. Get instant detection results
|
27 |
+
|
28 |
+
## Technical Details
|
29 |
+
|
30 |
+
- Built with TensorFlow and Gradio
|
31 |
+
- Uses computer vision techniques for cube detection
|
32 |
+
- Optimized for web deployment
|
33 |
+
|
34 |
+
## Local Development
|
35 |
+
|
36 |
+
To run this project locally:
|
37 |
+
|
38 |
+
1. Clone the repository
|
39 |
+
2. Install dependencies: `pip install -r requirements.txt`
|
40 |
+
3. Run the app: `python app.py`
|
41 |
+
|
42 |
+
## License
|
43 |
+
|
44 |
+
MIT License
|
45 |
+
|
46 |
+
## 🌟 Model Description
|
47 |
+
|
48 |
+
The model is based on RetinaNet with SpineNet-49 backbone, trained to detect:
|
49 |
+
- Rubik's cube faces
|
50 |
+
- Individual color tiles (red, white, blue, orange, green, yellow)
|
51 |
+
|
52 |
+
### Model Architecture
|
53 |
+
- Base Model: RetinaNet-SpineNet-49
|
54 |
+
- Input Size: 640x640x3
|
55 |
+
- Number of Classes: 7 (6 colors + face)
|
56 |
+
- Output: Bounding boxes with class predictions
|
57 |
+
|
58 |
+
## 📊 Performance Metrics
|
59 |
+
|
60 |
+
| Metric | Value |
|
61 |
+
|--------|-------|
|
62 |
+
| mAP | TBD |
|
63 |
+
| FPS | TBD |
|
64 |
+
|
65 |
+
## 🚀 Quick Start
|
66 |
+
|
67 |
+
```bash
|
68 |
+
# Clone the repository
|
69 |
+
git clone https://huggingface.co/spaces/[your-username]/rubiks-cube-recognition
|
70 |
+
|
71 |
+
# Install dependencies
|
72 |
+
pip install -r requirements.txt
|
73 |
+
|
74 |
+
# Run the demo
|
75 |
+
python app.py
|
76 |
+
```
|
77 |
+
|
78 |
+
## 📦 Project Structure
|
79 |
+
|
80 |
+
```
|
81 |
+
rubiks-cube-recognition/
|
82 |
+
├── app.py # Gradio web interface
|
83 |
+
├── src/
|
84 |
+
│ ├── data/ # Data processing utilities
|
85 |
+
│ │ ├── labelme2coco.py
|
86 |
+
│ │ └── shared.py
|
87 |
+
│ ├── model/ # Model training and inference
|
88 |
+
│ │ ├── trainer.py
|
89 |
+
│ │ └── visualize.py
|
90 |
+
│ └── utils/ # Utility functions
|
91 |
+
├── configs/ # Model configurations
|
92 |
+
├── examples/ # Example images and results
|
93 |
+
└── requirements.txt
|
94 |
+
```
|
95 |
+
|
96 |
+
## 🔧 Usage
|
97 |
+
|
98 |
+
### Training
|
99 |
+
|
100 |
+
```python
|
101 |
+
python src/model/trainer.py --config configs/retinanet_config.py
|
102 |
+
```
|
103 |
+
|
104 |
+
### Inference
|
105 |
+
|
106 |
+
```python
|
107 |
+
python src/model/visualize.py --image path/to/image.jpg
|
108 |
+
```
|
109 |
+
|
110 |
+
## 📝 Dataset
|
111 |
+
|
112 |
+
The model is trained on a custom dataset of Rubik's cube images, annotated with:
|
113 |
+
- Face detection
|
114 |
+
- Color tile detection
|
115 |
+
|
116 |
+
### Data Format
|
117 |
+
- Annotations: COCO format
|
118 |
+
- Image size: 640x640
|
119 |
+
- Classes: 7 (face, red_tile, white_tile, blue_tile, orange_tile, green_tile, yellow_tile)
|
120 |
+
|
121 |
+
## 🤝 Contributing
|
122 |
+
|
123 |
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
124 |
+
|
125 |
+
## 📄 License
|
126 |
+
|
127 |
+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
|
128 |
+
|
129 |
+
## 🙏 Acknowledgements
|
130 |
+
|
131 |
+
- TensorFlow Model Garden
|
132 |
+
- RetinaNet Implementation
|
133 |
+
- SpineNet Architecture
|
134 |
+
|
135 |
+
## 📧 Contact
|
136 |
+
|
137 |
+
- GitHub: https://github.com/itsiiromiuy
|
138 |
+
- Hugging Face: https://huggingface.co/itsyuimorii
|
139 |
+
|
140 |
+
## References
|
141 |
+
|
142 |
+
- [How to Train Custom Object Detection Models using RetinaNet](https://medium.com/@van.evanfebrianto/how-to-train-custom-object-detection-models-using-retinanet-aeed72f5d701)
|
143 |
+
- labelme2coco: https://github.com/fcakyon/labelme2coco
|
144 |
+
|
145 |
+
- **Keras RetinaNet**: https://github.com/fizyr/keras-retinanet
|
146 |
+
- **TensorFlow 2.x RetinaNet**: https://github.com/srihari-humbarwadi/retinanet-tensorflow2.x
|
147 |
+
- **SpineNet-PyTorch**: https://github.com/yan-roo/SpineNet-Pytorch
|
148 |
+
|
149 |
+
- **LabelMe to COCO Converter**: https://github.com/wkentaro/labelme
|
150 |
+
- **labelme-json-to-coco-json**: https://roboflow.com/convert/labelme-json-to-coco-json
|
151 |
+
|
152 |
+
|
153 |
+
|
app.py
ADDED
@@ -0,0 +1,236 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import tensorflow as tf
|
3 |
+
import numpy as np
|
4 |
+
from PIL import Image
|
5 |
+
import cv2
|
6 |
+
import os
|
7 |
+
|
8 |
+
# Simplified category index
|
9 |
+
CATEGORY_INDEX = {
|
10 |
+
1: {'id': 1, 'name': 'face'},
|
11 |
+
2: {'id': 2, 'name': 'red_tile'},
|
12 |
+
3: {'id': 3, 'name': 'white_tile'},
|
13 |
+
4: {'id': 4, 'name': 'blue_tile'},
|
14 |
+
5: {'id': 5, 'name': 'orange_tile'},
|
15 |
+
6: {'id': 6, 'name': 'green_tile'},
|
16 |
+
7: {'id': 7, 'name': 'yellow_tile'}
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
+
def preprocess_image(image):
|
21 |
+
"""
|
22 |
+
Preprocess input image
|
23 |
+
"""
|
24 |
+
if image is None:
|
25 |
+
return None
|
26 |
+
|
27 |
+
# Convert to PIL image
|
28 |
+
if isinstance(image, np.ndarray):
|
29 |
+
image = Image.fromarray(image)
|
30 |
+
|
31 |
+
# Resize to model expected size
|
32 |
+
image = image.resize((640, 640))
|
33 |
+
|
34 |
+
# Convert to numpy array and normalize
|
35 |
+
image_array = np.array(image) / 255.0
|
36 |
+
|
37 |
+
# Add batch dimension
|
38 |
+
image_array = np.expand_dims(image_array, axis=0)
|
39 |
+
|
40 |
+
return image_array.astype(np.float32)
|
41 |
+
|
42 |
+
|
43 |
+
def load_model():
|
44 |
+
"""
|
45 |
+
Load pretrained model
|
46 |
+
"""
|
47 |
+
try:
|
48 |
+
# Try to load saved model
|
49 |
+
if os.path.exists('exported_model'):
|
50 |
+
model = tf.saved_model.load('exported_model')
|
51 |
+
return model
|
52 |
+
else:
|
53 |
+
# If no model file exists, return None
|
54 |
+
return None
|
55 |
+
except Exception as e:
|
56 |
+
print(f"Model loading failed: {e}")
|
57 |
+
return None
|
58 |
+
|
59 |
+
|
60 |
+
def predict_image(image):
|
61 |
+
"""
|
62 |
+
Make predictions on input image
|
63 |
+
"""
|
64 |
+
if image is None:
|
65 |
+
return "Please upload an image", None
|
66 |
+
|
67 |
+
try:
|
68 |
+
# Preprocess image
|
69 |
+
processed_image = preprocess_image(image)
|
70 |
+
|
71 |
+
if processed_image is None:
|
72 |
+
return "Image preprocessing failed", None
|
73 |
+
|
74 |
+
# Load model
|
75 |
+
model = load_model()
|
76 |
+
|
77 |
+
if model is None:
|
78 |
+
return "Model not found. This is a demo version, actual model needs to be trained first.\n\nDetected a Rubik's cube image!", image
|
79 |
+
|
80 |
+
# Make prediction
|
81 |
+
model_fn = model.signatures['serving_default']
|
82 |
+
|
83 |
+
# Convert input format
|
84 |
+
input_tensor = tf.convert_to_tensor(processed_image)
|
85 |
+
|
86 |
+
# Execute inference
|
87 |
+
predictions = model_fn(input_tensor)
|
88 |
+
|
89 |
+
# Parse results
|
90 |
+
detection_boxes = predictions['detection_boxes'][0].numpy()
|
91 |
+
detection_classes = predictions['detection_classes'][0].numpy().astype(
|
92 |
+
int)
|
93 |
+
detection_scores = predictions['detection_scores'][0].numpy()
|
94 |
+
|
95 |
+
# Filter low confidence detections
|
96 |
+
valid_detections = detection_scores > 0.5
|
97 |
+
valid_boxes = detection_boxes[valid_detections]
|
98 |
+
valid_classes = detection_classes[valid_detections]
|
99 |
+
valid_scores = detection_scores[valid_detections]
|
100 |
+
|
101 |
+
# Generate result description
|
102 |
+
if len(valid_boxes) > 0:
|
103 |
+
result_text = f"Detected {len(valid_boxes)} objects:\n"
|
104 |
+
for i, (cls, score) in enumerate(zip(valid_classes, valid_scores)):
|
105 |
+
class_name = CATEGORY_INDEX.get(
|
106 |
+
cls, {}).get('name', f'class_{cls}')
|
107 |
+
result_text += f"- {class_name}: {score:.2f}\n"
|
108 |
+
else:
|
109 |
+
result_text = "No Rubik's cube related objects detected"
|
110 |
+
|
111 |
+
# Draw detection boxes on image (simplified version)
|
112 |
+
output_image = draw_boxes_on_image(
|
113 |
+
image, valid_boxes, valid_classes, valid_scores)
|
114 |
+
|
115 |
+
return result_text, output_image
|
116 |
+
|
117 |
+
except Exception as e:
|
118 |
+
error_msg = f"Error occurred during prediction: {str(e)}\n\nThis is a demo version."
|
119 |
+
return error_msg, image
|
120 |
+
|
121 |
+
|
122 |
+
def draw_boxes_on_image(image, boxes, classes, scores):
|
123 |
+
"""
|
124 |
+
Draw detection boxes on image (simplified version)
|
125 |
+
"""
|
126 |
+
try:
|
127 |
+
# Convert to OpenCV format
|
128 |
+
if isinstance(image, Image.Image):
|
129 |
+
cv_image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
|
130 |
+
else:
|
131 |
+
cv_image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
|
132 |
+
|
133 |
+
h, w = cv_image.shape[:2]
|
134 |
+
|
135 |
+
# Draw detection boxes
|
136 |
+
for box, cls, score in zip(boxes, classes, scores):
|
137 |
+
if score > 0.5:
|
138 |
+
# Convert coordinates (assuming normalized coordinates)
|
139 |
+
y1, x1, y2, x2 = box
|
140 |
+
x1, x2 = int(x1 * w), int(x2 * w)
|
141 |
+
y1, y2 = int(y1 * h), int(y2 * h)
|
142 |
+
|
143 |
+
# Draw rectangle
|
144 |
+
cv2.rectangle(cv_image, (x1, y1), (x2, y2), (0, 255, 0), 2)
|
145 |
+
|
146 |
+
# Add label
|
147 |
+
class_name = CATEGORY_INDEX.get(
|
148 |
+
cls, {}).get('name', f'class_{cls}')
|
149 |
+
label = f"{class_name}: {score:.2f}"
|
150 |
+
cv2.putText(cv_image, label, (x1, y1-10),
|
151 |
+
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 1)
|
152 |
+
|
153 |
+
# Convert back to RGB
|
154 |
+
result_image = cv2.cvtColor(cv_image, cv2.COLOR_BGR2RGB)
|
155 |
+
return Image.fromarray(result_image)
|
156 |
+
|
157 |
+
except Exception as e:
|
158 |
+
print(f"Error drawing detection boxes: {e}")
|
159 |
+
return image
|
160 |
+
|
161 |
+
# Create Gradio interface
|
162 |
+
|
163 |
+
|
164 |
+
def create_demo():
|
165 |
+
with gr.Blocks(title="Rubik's Cube Recognition System") as demo:
|
166 |
+
gr.Markdown("""
|
167 |
+
# 🎲 Rubik's Cube Recognition System
|
168 |
+
|
169 |
+
This is a deep learning-based Rubik's cube recognition system using RetinaNet architecture for object detection.
|
170 |
+
|
171 |
+
**Features:**
|
172 |
+
- Detect cube faces and color tiles
|
173 |
+
- Support 6 color recognition: Red, White, Blue, Orange, Green, Yellow
|
174 |
+
- Real-time detection and visualization
|
175 |
+
|
176 |
+
**How to use:**
|
177 |
+
1. Upload an image containing a Rubik's cube
|
178 |
+
2. Click the "Analyze Image" button
|
179 |
+
3. View detection results and visualization
|
180 |
+
""")
|
181 |
+
|
182 |
+
with gr.Row():
|
183 |
+
with gr.Column():
|
184 |
+
input_image = gr.Image(
|
185 |
+
label="Upload Rubik's Cube Image",
|
186 |
+
type="pil"
|
187 |
+
)
|
188 |
+
|
189 |
+
analyze_btn = gr.Button(
|
190 |
+
"🔍 Analyze Image",
|
191 |
+
variant="primary",
|
192 |
+
size="lg"
|
193 |
+
)
|
194 |
+
|
195 |
+
with gr.Column():
|
196 |
+
result_text = gr.Textbox(
|
197 |
+
label="Detection Results",
|
198 |
+
lines=10,
|
199 |
+
max_lines=15
|
200 |
+
)
|
201 |
+
|
202 |
+
output_image = gr.Image(
|
203 |
+
label="Detection Visualization",
|
204 |
+
type="pil"
|
205 |
+
)
|
206 |
+
|
207 |
+
# Example images section
|
208 |
+
gr.Markdown("### 📋 Usage Examples")
|
209 |
+
gr.Markdown(
|
210 |
+
"Upload Rubik's cube images similar to the following for testing:")
|
211 |
+
|
212 |
+
# Bind events
|
213 |
+
analyze_btn.click(
|
214 |
+
fn=predict_image,
|
215 |
+
inputs=[input_image],
|
216 |
+
outputs=[result_text, output_image]
|
217 |
+
)
|
218 |
+
|
219 |
+
# Auto-analyze when image is uploaded
|
220 |
+
input_image.change(
|
221 |
+
fn=predict_image,
|
222 |
+
inputs=[input_image],
|
223 |
+
outputs=[result_text, output_image]
|
224 |
+
)
|
225 |
+
|
226 |
+
return demo
|
227 |
+
|
228 |
+
|
229 |
+
# Launch application
|
230 |
+
if __name__ == "__main__":
|
231 |
+
demo = create_demo()
|
232 |
+
demo.launch(
|
233 |
+
server_name="0.0.0.0",
|
234 |
+
server_port=7860,
|
235 |
+
show_error=True
|
236 |
+
)
|
app_simple.py
ADDED
@@ -0,0 +1,172 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import numpy as np
|
3 |
+
from PIL import Image
|
4 |
+
import os
|
5 |
+
|
6 |
+
|
7 |
+
def analyze_rubiks_cube(image):
|
8 |
+
"""
|
9 |
+
Simplified function to analyze Rubik's Cube images
|
10 |
+
"""
|
11 |
+
if image is None:
|
12 |
+
return "Please upload an image", None
|
13 |
+
|
14 |
+
try:
|
15 |
+
# Basic image processing
|
16 |
+
if isinstance(image, np.ndarray):
|
17 |
+
image = Image.fromarray(image)
|
18 |
+
|
19 |
+
# Get image information
|
20 |
+
width, height = image.size
|
21 |
+
|
22 |
+
# Simple color analysis
|
23 |
+
image_array = np.array(image)
|
24 |
+
|
25 |
+
# Calculate main colors
|
26 |
+
colors = {
|
27 |
+
'red': 0, 'green': 0, 'blue': 0,
|
28 |
+
'yellow': 0, 'orange': 0, 'white': 0
|
29 |
+
}
|
30 |
+
|
31 |
+
# Simplified color detection logic
|
32 |
+
result_text = f"""
|
33 |
+
🎲 Rubik's Cube Image Analysis Results
|
34 |
+
|
35 |
+
📊 Image Information:
|
36 |
+
- Size: {width} x {height} pixels
|
37 |
+
- Format: {image.format if hasattr(image, 'format') else 'PIL Image'}
|
38 |
+
|
39 |
+
🔍 Detection Status:
|
40 |
+
✅ Image uploaded successfully
|
41 |
+
✅ Image format is correct
|
42 |
+
⚠️ Complete AI model is still in training
|
43 |
+
|
44 |
+
📝 Note:
|
45 |
+
This is a demo version of the Rubik's cube recognition system.
|
46 |
+
The complete RetinaNet model needs to be trained before accurate cube detection can be performed.
|
47 |
+
|
48 |
+
🚀 Feature Preview:
|
49 |
+
- Cube face detection
|
50 |
+
- Color tile recognition (Red, White, Blue, Orange, Green, Yellow)
|
51 |
+
- 3D position analysis
|
52 |
+
- Cube state evaluation
|
53 |
+
"""
|
54 |
+
|
55 |
+
return result_text, image
|
56 |
+
|
57 |
+
except Exception as e:
|
58 |
+
error_msg = f"Error processing image: {str(e)}"
|
59 |
+
return error_msg, image
|
60 |
+
|
61 |
+
|
62 |
+
def create_interface():
|
63 |
+
"""
|
64 |
+
Create Gradio interface
|
65 |
+
"""
|
66 |
+
with gr.Blocks(
|
67 |
+
title="🎲 Rubik's Cube Recognition System",
|
68 |
+
theme=gr.themes.Soft(),
|
69 |
+
css="""
|
70 |
+
.gradio-container {
|
71 |
+
max-width: 1200px;
|
72 |
+
margin: auto;
|
73 |
+
}
|
74 |
+
"""
|
75 |
+
) as demo:
|
76 |
+
|
77 |
+
gr.HTML("""
|
78 |
+
<div style="text-align: center; padding: 20px;">
|
79 |
+
<h1>🎲 Rubik's Cube Recognition System</h1>
|
80 |
+
<p style="font-size: 18px; color: #666;">
|
81 |
+
Intelligent Rubik's Cube Detection and Analysis Platform Based on Deep Learning
|
82 |
+
</p>
|
83 |
+
</div>
|
84 |
+
""")
|
85 |
+
|
86 |
+
with gr.Row():
|
87 |
+
with gr.Column(scale=1):
|
88 |
+
gr.Markdown("### 📤 Upload Image")
|
89 |
+
|
90 |
+
input_image = gr.Image(
|
91 |
+
label="Select Rubik's Cube Image",
|
92 |
+
type="pil",
|
93 |
+
height=400
|
94 |
+
)
|
95 |
+
|
96 |
+
analyze_btn = gr.Button(
|
97 |
+
"🔍 Start Analysis",
|
98 |
+
variant="primary",
|
99 |
+
size="lg",
|
100 |
+
scale=1
|
101 |
+
)
|
102 |
+
|
103 |
+
gr.Markdown("""
|
104 |
+
### 💡 Usage Tips
|
105 |
+
- Supports JPG, PNG formats
|
106 |
+
- Clear images with good lighting recommended
|
107 |
+
- Better results when cube takes up larger portion of image
|
108 |
+
""")
|
109 |
+
|
110 |
+
with gr.Column(scale=1):
|
111 |
+
gr.Markdown("### 📊 Analysis Results")
|
112 |
+
|
113 |
+
result_output = gr.Textbox(
|
114 |
+
label="Detection Report",
|
115 |
+
lines=15,
|
116 |
+
max_lines=20,
|
117 |
+
show_copy_button=True
|
118 |
+
)
|
119 |
+
|
120 |
+
output_image = gr.Image(
|
121 |
+
label="Processed Image",
|
122 |
+
type="pil",
|
123 |
+
height=400
|
124 |
+
)
|
125 |
+
|
126 |
+
gr.HTML("""
|
127 |
+
<div style="text-align: center; padding: 20px; border-top: 1px solid #eee; margin-top: 20px;">
|
128 |
+
<h3>🔬 Technical Features</h3>
|
129 |
+
<div style="display: flex; justify-content: space-around; flex-wrap: wrap;">
|
130 |
+
<div style="margin: 10px;">
|
131 |
+
<strong>🧠 AI Model</strong><br>
|
132 |
+
RetinaNet + SpineNet-49
|
133 |
+
</div>
|
134 |
+
<div style="margin: 10px;">
|
135 |
+
<strong>🎯 Detection Accuracy</strong><br>
|
136 |
+
7-class Object Detection
|
137 |
+
</div>
|
138 |
+
<div style="margin: 10px;">
|
139 |
+
<strong>⚡ Processing Speed</strong><br>
|
140 |
+
Real-time Inference
|
141 |
+
</div>
|
142 |
+
<div style="margin: 10px;">
|
143 |
+
<strong>🌐 Deployment Platform</strong><br>
|
144 |
+
Hugging Face Spaces
|
145 |
+
</div>
|
146 |
+
</div>
|
147 |
+
</div>
|
148 |
+
""")
|
149 |
+
|
150 |
+
# Bind events
|
151 |
+
analyze_btn.click(
|
152 |
+
fn=analyze_rubiks_cube,
|
153 |
+
inputs=[input_image],
|
154 |
+
outputs=[result_output, output_image]
|
155 |
+
)
|
156 |
+
|
157 |
+
input_image.change(
|
158 |
+
fn=analyze_rubiks_cube,
|
159 |
+
inputs=[input_image],
|
160 |
+
outputs=[result_output, output_image]
|
161 |
+
)
|
162 |
+
|
163 |
+
return demo
|
164 |
+
|
165 |
+
|
166 |
+
if __name__ == "__main__":
|
167 |
+
demo = create_interface()
|
168 |
+
demo.launch(
|
169 |
+
server_name="0.0.0.0",
|
170 |
+
server_port=7860,
|
171 |
+
show_error=True
|
172 |
+
)
|
configs/retinanet_config.py
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
RetinaNet configuration for Rubik's Cube detection.
|
3 |
+
"""
|
4 |
+
|
5 |
+
from official.vision.configs import retinanet
|
6 |
+
from official.vision.configs.common import backbone
|
7 |
+
|
8 |
+
HEIGHT = 640
|
9 |
+
WIDTH = 640
|
10 |
+
BATCH_SIZE = 8
|
11 |
+
NUM_CLASSES = 7 # 6 colors + face
|
12 |
+
|
13 |
+
def get_config():
|
14 |
+
"""Get the default configuration for RetinaNet training."""
|
15 |
+
config = retinanet.retinanet_spinenet_mobile_coco()
|
16 |
+
|
17 |
+
# Model config
|
18 |
+
config.model.input_size = [HEIGHT, WIDTH, 3]
|
19 |
+
config.model.num_classes = NUM_CLASSES + 1 # Add background class
|
20 |
+
config.model.backbone.spinenet_mobile.model_id = '49'
|
21 |
+
config.model.detection_generator.tflite_post_processing.max_classes_per_detection = NUM_CLASSES + 1
|
22 |
+
|
23 |
+
# Training data config
|
24 |
+
config.train_data.input_path = 'tfrecords/train-*.tfrecord'
|
25 |
+
config.train_data.dtype = 'float32'
|
26 |
+
config.train_data.global_batch_size = BATCH_SIZE
|
27 |
+
config.train_data.parser.aug_scale_max = 1.0
|
28 |
+
config.train_data.parser.aug_scale_min = 1.0
|
29 |
+
|
30 |
+
# Validation data config
|
31 |
+
config.validation_data.input_path = 'tfrecords/valid-*.tfrecord'
|
32 |
+
config.validation_data.dtype = 'float32'
|
33 |
+
config.validation_data.global_batch_size = BATCH_SIZE
|
34 |
+
|
35 |
+
# Training config
|
36 |
+
config.trainer.train_steps = 10000
|
37 |
+
config.trainer.validation_steps = 100
|
38 |
+
config.trainer.steps_per_loop = 100
|
39 |
+
config.trainer.summary_interval = 100
|
40 |
+
config.trainer.checkpoint_interval = 100
|
41 |
+
config.trainer.validation_interval = 100
|
42 |
+
|
43 |
+
# Optimizer config
|
44 |
+
config.trainer.optimizer_config.learning_rate.type = 'cosine'
|
45 |
+
config.trainer.optimizer_config.learning_rate.cosine.initial_learning_rate = 0.1
|
46 |
+
config.trainer.optimizer_config.learning_rate.cosine.decay_steps = 10000
|
47 |
+
config.trainer.optimizer_config.warmup.linear.warmup_learning_rate = 0.05
|
48 |
+
config.trainer.optimizer_config.warmup.linear.warmup_steps = 100
|
49 |
+
|
50 |
+
return config
|
deploy_to_hf.py
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/env python3
|
2 |
+
"""
|
3 |
+
Deploy Rubik's Cube Recognition to Hugging Face Spaces
|
4 |
+
"""
|
5 |
+
|
6 |
+
import os
|
7 |
+
from huggingface_hub import HfApi, Repository
|
8 |
+
|
9 |
+
|
10 |
+
def deploy_to_huggingface():
|
11 |
+
"""Deploy the project to Hugging Face Spaces"""
|
12 |
+
|
13 |
+
# Set your token
|
14 |
+
token = "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"
|
15 |
+
|
16 |
+
# Initialize HF API
|
17 |
+
api = HfApi()
|
18 |
+
|
19 |
+
# Repository details
|
20 |
+
repo_id = "itsyuimorii/rubiks-cube-recognition"
|
21 |
+
repo_type = "space"
|
22 |
+
|
23 |
+
print(f"Deploying to: https://huggingface.co/spaces/{repo_id}")
|
24 |
+
|
25 |
+
try:
|
26 |
+
# Create repository if it doesn't exist
|
27 |
+
api.create_repo(
|
28 |
+
repo_id=repo_id,
|
29 |
+
token=token,
|
30 |
+
repo_type=repo_type,
|
31 |
+
exist_ok=True
|
32 |
+
)
|
33 |
+
print("✅ Repository created/verified")
|
34 |
+
|
35 |
+
# Upload files
|
36 |
+
files_to_upload = [
|
37 |
+
"README.md",
|
38 |
+
"app.py",
|
39 |
+
"requirements.txt",
|
40 |
+
"app_simple.py"
|
41 |
+
]
|
42 |
+
|
43 |
+
for file_path in files_to_upload:
|
44 |
+
if os.path.exists(file_path):
|
45 |
+
print(f"📤 Uploading {file_path}...")
|
46 |
+
api.upload_file(
|
47 |
+
path_or_fileobj=file_path,
|
48 |
+
path_in_repo=file_path,
|
49 |
+
repo_id=repo_id,
|
50 |
+
repo_type=repo_type,
|
51 |
+
token=token
|
52 |
+
)
|
53 |
+
print(f"✅ {file_path} uploaded successfully")
|
54 |
+
else:
|
55 |
+
print(f"⚠️ {file_path} not found, skipping...")
|
56 |
+
|
57 |
+
print("\n🎉 Deployment completed successfully!")
|
58 |
+
print(f"🌐 Visit your Space: https://huggingface.co/spaces/{repo_id}")
|
59 |
+
|
60 |
+
except Exception as e:
|
61 |
+
print(f"❌ Error during deployment: {e}")
|
62 |
+
return False
|
63 |
+
|
64 |
+
return True
|
65 |
+
|
66 |
+
|
67 |
+
if __name__ == "__main__":
|
68 |
+
# Install required package if not already installed
|
69 |
+
try:
|
70 |
+
import huggingface_hub
|
71 |
+
except ImportError:
|
72 |
+
print("Installing huggingface_hub...")
|
73 |
+
os.system("pip install huggingface_hub")
|
74 |
+
import huggingface_hub
|
75 |
+
|
76 |
+
deploy_to_huggingface()
|
images/issues/Cube_00000.json
ADDED
@@ -0,0 +1,738 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1426.0000000000002,
|
10 |
+
557.0000000000002
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2441.0,
|
14 |
+
537.0000000000002
|
15 |
+
],
|
16 |
+
[
|
17 |
+
3416.0,
|
18 |
+
812.0000000000002
|
19 |
+
],
|
20 |
+
[
|
21 |
+
2166.0,
|
22 |
+
922.0000000000002
|
23 |
+
]
|
24 |
+
],
|
25 |
+
"group_id": null,
|
26 |
+
"description": "",
|
27 |
+
"shape_type": "polygon",
|
28 |
+
"flags": {},
|
29 |
+
"mask": null
|
30 |
+
},
|
31 |
+
{
|
32 |
+
"label": "white_tile",
|
33 |
+
"points": [
|
34 |
+
[
|
35 |
+
2301.0,
|
36 |
+
732.0000000000002
|
37 |
+
],
|
38 |
+
[
|
39 |
+
1851.0000000000002,
|
40 |
+
762.0000000000002
|
41 |
+
],
|
42 |
+
[
|
43 |
+
2176.0,
|
44 |
+
922.0000000000002
|
45 |
+
],
|
46 |
+
[
|
47 |
+
2676.0,
|
48 |
+
862.0000000000002
|
49 |
+
]
|
50 |
+
],
|
51 |
+
"group_id": null,
|
52 |
+
"description": "",
|
53 |
+
"shape_type": "polygon",
|
54 |
+
"flags": {},
|
55 |
+
"mask": null
|
56 |
+
},
|
57 |
+
{
|
58 |
+
"label": "red_tile",
|
59 |
+
"points": [
|
60 |
+
[
|
61 |
+
2171.0,
|
62 |
+
942.0000000000002
|
63 |
+
],
|
64 |
+
[
|
65 |
+
2666.0,
|
66 |
+
872.0000000000002
|
67 |
+
],
|
68 |
+
[
|
69 |
+
2566.0,
|
70 |
+
1422.0000000000002
|
71 |
+
],
|
72 |
+
[
|
73 |
+
2101.0,
|
74 |
+
1507.0000000000002
|
75 |
+
]
|
76 |
+
],
|
77 |
+
"group_id": null,
|
78 |
+
"description": "",
|
79 |
+
"shape_type": "polygon",
|
80 |
+
"flags": {},
|
81 |
+
"mask": null
|
82 |
+
},
|
83 |
+
{
|
84 |
+
"label": "yellow_tile",
|
85 |
+
"points": [
|
86 |
+
[
|
87 |
+
2666.0,
|
88 |
+
892.0000000000002
|
89 |
+
],
|
90 |
+
[
|
91 |
+
3076.0,
|
92 |
+
852.0000000000002
|
93 |
+
],
|
94 |
+
[
|
95 |
+
2961.0,
|
96 |
+
1337.0000000000002
|
97 |
+
],
|
98 |
+
[
|
99 |
+
2581.0,
|
100 |
+
1407.0000000000002
|
101 |
+
]
|
102 |
+
],
|
103 |
+
"group_id": null,
|
104 |
+
"description": "",
|
105 |
+
"shape_type": "polygon",
|
106 |
+
"flags": {},
|
107 |
+
"mask": null
|
108 |
+
},
|
109 |
+
{
|
110 |
+
"label": "blue_tile",
|
111 |
+
"points": [
|
112 |
+
[
|
113 |
+
2101.0,
|
114 |
+
1507.0000000000002
|
115 |
+
],
|
116 |
+
[
|
117 |
+
2561.0,
|
118 |
+
1432.0000000000002
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2466.0,
|
122 |
+
1887.0000000000002
|
123 |
+
],
|
124 |
+
[
|
125 |
+
2051.0,
|
126 |
+
2007.0000000000002
|
127 |
+
]
|
128 |
+
],
|
129 |
+
"group_id": null,
|
130 |
+
"description": "",
|
131 |
+
"shape_type": "polygon",
|
132 |
+
"flags": {},
|
133 |
+
"mask": null
|
134 |
+
},
|
135 |
+
{
|
136 |
+
"label": "yellow_tile",
|
137 |
+
"points": [
|
138 |
+
[
|
139 |
+
2571.0,
|
140 |
+
1427.0000000000002
|
141 |
+
],
|
142 |
+
[
|
143 |
+
2966.0,
|
144 |
+
1352.0000000000002
|
145 |
+
],
|
146 |
+
[
|
147 |
+
2836.0,
|
148 |
+
1777.0000000000002
|
149 |
+
],
|
150 |
+
[
|
151 |
+
2476.0,
|
152 |
+
1892.0000000000002
|
153 |
+
]
|
154 |
+
],
|
155 |
+
"group_id": null,
|
156 |
+
"description": "",
|
157 |
+
"shape_type": "polygon",
|
158 |
+
"flags": {},
|
159 |
+
"mask": null
|
160 |
+
},
|
161 |
+
{
|
162 |
+
"label": "red_tile",
|
163 |
+
"points": [
|
164 |
+
[
|
165 |
+
2966.0,
|
166 |
+
1352.0000000000002
|
167 |
+
],
|
168 |
+
[
|
169 |
+
3281.0,
|
170 |
+
1287.0000000000002
|
171 |
+
],
|
172 |
+
[
|
173 |
+
3146.0,
|
174 |
+
1707.0000000000002
|
175 |
+
],
|
176 |
+
[
|
177 |
+
2846.0,
|
178 |
+
1782.0000000000002
|
179 |
+
]
|
180 |
+
],
|
181 |
+
"group_id": null,
|
182 |
+
"description": "",
|
183 |
+
"shape_type": "polygon",
|
184 |
+
"flags": {},
|
185 |
+
"mask": null
|
186 |
+
},
|
187 |
+
{
|
188 |
+
"label": "white_tile",
|
189 |
+
"points": [
|
190 |
+
[
|
191 |
+
3086.0,
|
192 |
+
847.0000000000002
|
193 |
+
],
|
194 |
+
[
|
195 |
+
3421.0,
|
196 |
+
817.0000000000002
|
197 |
+
],
|
198 |
+
[
|
199 |
+
3276.0,
|
200 |
+
1297.0000000000002
|
201 |
+
],
|
202 |
+
[
|
203 |
+
2966.0,
|
204 |
+
1347.0000000000002
|
205 |
+
]
|
206 |
+
],
|
207 |
+
"group_id": null,
|
208 |
+
"description": "",
|
209 |
+
"shape_type": "polygon",
|
210 |
+
"flags": {},
|
211 |
+
"mask": null
|
212 |
+
},
|
213 |
+
{
|
214 |
+
"label": "yellow_tile",
|
215 |
+
"points": [
|
216 |
+
[
|
217 |
+
2836.0,
|
218 |
+
1802.0000000000002
|
219 |
+
],
|
220 |
+
[
|
221 |
+
2751.0,
|
222 |
+
2157.0
|
223 |
+
],
|
224 |
+
[
|
225 |
+
3046.0,
|
226 |
+
2062.0
|
227 |
+
],
|
228 |
+
[
|
229 |
+
3146.0,
|
230 |
+
1702.0000000000002
|
231 |
+
]
|
232 |
+
],
|
233 |
+
"group_id": null,
|
234 |
+
"description": "",
|
235 |
+
"shape_type": "polygon",
|
236 |
+
"flags": {},
|
237 |
+
"mask": null
|
238 |
+
},
|
239 |
+
{
|
240 |
+
"label": "green_tile",
|
241 |
+
"points": [
|
242 |
+
[
|
243 |
+
2466.0,
|
244 |
+
1902.0000000000002
|
245 |
+
],
|
246 |
+
[
|
247 |
+
2841.0,
|
248 |
+
1792.0000000000002
|
249 |
+
],
|
250 |
+
[
|
251 |
+
2746.0,
|
252 |
+
2167.0
|
253 |
+
],
|
254 |
+
[
|
255 |
+
2396.0,
|
256 |
+
2272.0
|
257 |
+
]
|
258 |
+
],
|
259 |
+
"group_id": null,
|
260 |
+
"description": "",
|
261 |
+
"shape_type": "polygon",
|
262 |
+
"flags": {},
|
263 |
+
"mask": null
|
264 |
+
},
|
265 |
+
{
|
266 |
+
"label": "yellow_tile",
|
267 |
+
"points": [
|
268 |
+
[
|
269 |
+
2046.0000000000002,
|
270 |
+
2002.0000000000002
|
271 |
+
],
|
272 |
+
[
|
273 |
+
2456.0,
|
274 |
+
1907.0000000000002
|
275 |
+
],
|
276 |
+
[
|
277 |
+
2391.0,
|
278 |
+
2282.0
|
279 |
+
],
|
280 |
+
[
|
281 |
+
2001.0000000000002,
|
282 |
+
2427.0
|
283 |
+
]
|
284 |
+
],
|
285 |
+
"group_id": null,
|
286 |
+
"description": "",
|
287 |
+
"shape_type": "polygon",
|
288 |
+
"flags": {},
|
289 |
+
"mask": null
|
290 |
+
},
|
291 |
+
{
|
292 |
+
"label": "red_tile",
|
293 |
+
"points": [
|
294 |
+
[
|
295 |
+
1601.0000000000002,
|
296 |
+
637.0000000000002
|
297 |
+
],
|
298 |
+
[
|
299 |
+
2026.0000000000002,
|
300 |
+
622.0000000000002
|
301 |
+
],
|
302 |
+
[
|
303 |
+
2291.0,
|
304 |
+
737.0000000000002
|
305 |
+
],
|
306 |
+
[
|
307 |
+
1851.0000000000002,
|
308 |
+
767.0000000000002
|
309 |
+
]
|
310 |
+
],
|
311 |
+
"group_id": null,
|
312 |
+
"description": "",
|
313 |
+
"shape_type": "polygon",
|
314 |
+
"flags": {},
|
315 |
+
"mask": null
|
316 |
+
},
|
317 |
+
{
|
318 |
+
"label": "green_tile",
|
319 |
+
"points": [
|
320 |
+
[
|
321 |
+
2691.0,
|
322 |
+
702.0000000000002
|
323 |
+
],
|
324 |
+
[
|
325 |
+
2996.0,
|
326 |
+
687.0000000000002
|
327 |
+
],
|
328 |
+
[
|
329 |
+
3431.0,
|
330 |
+
817.0000000000002
|
331 |
+
],
|
332 |
+
[
|
333 |
+
3086.0,
|
334 |
+
847.0000000000002
|
335 |
+
]
|
336 |
+
],
|
337 |
+
"group_id": null,
|
338 |
+
"description": "",
|
339 |
+
"shape_type": "polygon",
|
340 |
+
"flags": {},
|
341 |
+
"mask": null
|
342 |
+
},
|
343 |
+
{
|
344 |
+
"label": "orange_tile",
|
345 |
+
"points": [
|
346 |
+
[
|
347 |
+
2411.0,
|
348 |
+
612.0000000000002
|
349 |
+
],
|
350 |
+
[
|
351 |
+
2711.0,
|
352 |
+
602.0000000000002
|
353 |
+
],
|
354 |
+
[
|
355 |
+
2991.0,
|
356 |
+
682.0000000000002
|
357 |
+
],
|
358 |
+
[
|
359 |
+
2681.0,
|
360 |
+
697.0000000000002
|
361 |
+
]
|
362 |
+
],
|
363 |
+
"group_id": null,
|
364 |
+
"description": "",
|
365 |
+
"shape_type": "polygon",
|
366 |
+
"flags": {},
|
367 |
+
"mask": null
|
368 |
+
},
|
369 |
+
{
|
370 |
+
"label": "blue_tile",
|
371 |
+
"points": [
|
372 |
+
[
|
373 |
+
2201.0,
|
374 |
+
532.0000000000002
|
375 |
+
],
|
376 |
+
[
|
377 |
+
2421.0,
|
378 |
+
612.0000000000002
|
379 |
+
],
|
380 |
+
[
|
381 |
+
2711.0,
|
382 |
+
602.0000000000002
|
383 |
+
],
|
384 |
+
[
|
385 |
+
2451.0,
|
386 |
+
532.0000000000002
|
387 |
+
]
|
388 |
+
],
|
389 |
+
"group_id": null,
|
390 |
+
"description": "",
|
391 |
+
"shape_type": "polygon",
|
392 |
+
"flags": {},
|
393 |
+
"mask": null
|
394 |
+
},
|
395 |
+
{
|
396 |
+
"label": "red_tile",
|
397 |
+
"points": [
|
398 |
+
[
|
399 |
+
1841.0000000000002,
|
400 |
+
542.0000000000002
|
401 |
+
],
|
402 |
+
[
|
403 |
+
2041.0000000000002,
|
404 |
+
627.0000000000002
|
405 |
+
],
|
406 |
+
[
|
407 |
+
2431.0,
|
408 |
+
612.0000000000002
|
409 |
+
],
|
410 |
+
[
|
411 |
+
2196.0,
|
412 |
+
527.0000000000002
|
413 |
+
]
|
414 |
+
],
|
415 |
+
"group_id": null,
|
416 |
+
"description": null,
|
417 |
+
"shape_type": "polygon",
|
418 |
+
"flags": {},
|
419 |
+
"mask": null
|
420 |
+
},
|
421 |
+
{
|
422 |
+
"label": "blue_tile",
|
423 |
+
"points": [
|
424 |
+
[
|
425 |
+
2326.0,
|
426 |
+
737.0000000000002
|
427 |
+
],
|
428 |
+
[
|
429 |
+
2691.0,
|
430 |
+
692.0000000000002
|
431 |
+
],
|
432 |
+
[
|
433 |
+
3091.0,
|
434 |
+
847.0000000000002
|
435 |
+
],
|
436 |
+
[
|
437 |
+
2681.0,
|
438 |
+
887.0000000000002
|
439 |
+
]
|
440 |
+
],
|
441 |
+
"group_id": null,
|
442 |
+
"description": "",
|
443 |
+
"shape_type": "polygon",
|
444 |
+
"flags": {},
|
445 |
+
"mask": null
|
446 |
+
},
|
447 |
+
{
|
448 |
+
"label": "blue_tile",
|
449 |
+
"points": [
|
450 |
+
[
|
451 |
+
1426.0000000000002,
|
452 |
+
542.0000000000002
|
453 |
+
],
|
454 |
+
[
|
455 |
+
1601.0000000000002,
|
456 |
+
647.0000000000002
|
457 |
+
],
|
458 |
+
[
|
459 |
+
2041.0000000000002,
|
460 |
+
627.0000000000002
|
461 |
+
],
|
462 |
+
[
|
463 |
+
1826.0000000000002,
|
464 |
+
542.0000000000002
|
465 |
+
]
|
466 |
+
],
|
467 |
+
"group_id": null,
|
468 |
+
"description": "",
|
469 |
+
"shape_type": "polygon",
|
470 |
+
"flags": {},
|
471 |
+
"mask": null
|
472 |
+
},
|
473 |
+
{
|
474 |
+
"label": "orange_tile",
|
475 |
+
"points": [
|
476 |
+
[
|
477 |
+
1426.0000000000002,
|
478 |
+
557.0000000000002
|
479 |
+
],
|
480 |
+
[
|
481 |
+
1421.0000000000002,
|
482 |
+
992.0000000000002
|
483 |
+
],
|
484 |
+
[
|
485 |
+
1601.0000000000002,
|
486 |
+
1132.0000000000002
|
487 |
+
],
|
488 |
+
[
|
489 |
+
1606.0000000000002,
|
490 |
+
657.0000000000002
|
491 |
+
]
|
492 |
+
],
|
493 |
+
"group_id": null,
|
494 |
+
"description": "",
|
495 |
+
"shape_type": "polygon",
|
496 |
+
"flags": {},
|
497 |
+
"mask": null
|
498 |
+
},
|
499 |
+
{
|
500 |
+
"label": "yellow_tile",
|
501 |
+
"points": [
|
502 |
+
[
|
503 |
+
1601.0000000000002,
|
504 |
+
662.0000000000002
|
505 |
+
],
|
506 |
+
[
|
507 |
+
1846.0000000000002,
|
508 |
+
782.0000000000002
|
509 |
+
],
|
510 |
+
[
|
511 |
+
1801.0000000000002,
|
512 |
+
1277.0000000000002
|
513 |
+
],
|
514 |
+
[
|
515 |
+
1591.0000000000002,
|
516 |
+
1137.0000000000002
|
517 |
+
]
|
518 |
+
],
|
519 |
+
"group_id": null,
|
520 |
+
"description": "",
|
521 |
+
"shape_type": "polygon",
|
522 |
+
"flags": {},
|
523 |
+
"mask": null
|
524 |
+
},
|
525 |
+
{
|
526 |
+
"label": "green_tile",
|
527 |
+
"points": [
|
528 |
+
[
|
529 |
+
1836.0000000000002,
|
530 |
+
772.0000000000002
|
531 |
+
],
|
532 |
+
[
|
533 |
+
2176.0,
|
534 |
+
942.0000000000002
|
535 |
+
],
|
536 |
+
[
|
537 |
+
2111.0,
|
538 |
+
1522.0000000000002
|
539 |
+
],
|
540 |
+
[
|
541 |
+
1801.0000000000002,
|
542 |
+
1277.0000000000002
|
543 |
+
]
|
544 |
+
],
|
545 |
+
"group_id": null,
|
546 |
+
"description": "",
|
547 |
+
"shape_type": "polygon",
|
548 |
+
"flags": {},
|
549 |
+
"mask": null
|
550 |
+
},
|
551 |
+
{
|
552 |
+
"label": "green_tile",
|
553 |
+
"points": [
|
554 |
+
[
|
555 |
+
1416.0000000000002,
|
556 |
+
1007.0000000000002
|
557 |
+
],
|
558 |
+
[
|
559 |
+
1591.0000000000002,
|
560 |
+
1137.0000000000002
|
561 |
+
],
|
562 |
+
[
|
563 |
+
1566.0000000000002,
|
564 |
+
1517.0000000000002
|
565 |
+
],
|
566 |
+
[
|
567 |
+
1431.0000000000002,
|
568 |
+
1392.0000000000002
|
569 |
+
]
|
570 |
+
],
|
571 |
+
"group_id": null,
|
572 |
+
"description": "",
|
573 |
+
"shape_type": "polygon",
|
574 |
+
"flags": {},
|
575 |
+
"mask": null
|
576 |
+
},
|
577 |
+
{
|
578 |
+
"label": "green_tile",
|
579 |
+
"points": [
|
580 |
+
[
|
581 |
+
1586.0000000000002,
|
582 |
+
1147.0000000000002
|
583 |
+
],
|
584 |
+
[
|
585 |
+
1801.0000000000002,
|
586 |
+
1282.0000000000002
|
587 |
+
],
|
588 |
+
[
|
589 |
+
1771.0000000000002,
|
590 |
+
1752.0000000000002
|
591 |
+
],
|
592 |
+
[
|
593 |
+
1566.0000000000002,
|
594 |
+
1532.0000000000002
|
595 |
+
]
|
596 |
+
],
|
597 |
+
"group_id": null,
|
598 |
+
"description": "",
|
599 |
+
"shape_type": "polygon",
|
600 |
+
"flags": {},
|
601 |
+
"mask": null
|
602 |
+
},
|
603 |
+
{
|
604 |
+
"label": "red_tile",
|
605 |
+
"points": [
|
606 |
+
[
|
607 |
+
1786.0000000000002,
|
608 |
+
1282.0000000000002
|
609 |
+
],
|
610 |
+
[
|
611 |
+
2111.0,
|
612 |
+
1532.0000000000002
|
613 |
+
],
|
614 |
+
[
|
615 |
+
2041.0000000000002,
|
616 |
+
2022.0000000000002
|
617 |
+
],
|
618 |
+
[
|
619 |
+
1786.0000000000002,
|
620 |
+
1757.0000000000002
|
621 |
+
]
|
622 |
+
],
|
623 |
+
"group_id": null,
|
624 |
+
"description": "",
|
625 |
+
"shape_type": "polygon",
|
626 |
+
"flags": {},
|
627 |
+
"mask": null
|
628 |
+
},
|
629 |
+
{
|
630 |
+
"label": "blue_tile",
|
631 |
+
"points": [
|
632 |
+
[
|
633 |
+
1416.0000000000002,
|
634 |
+
1397.0000000000002
|
635 |
+
],
|
636 |
+
[
|
637 |
+
1576.0000000000002,
|
638 |
+
1547.0000000000002
|
639 |
+
],
|
640 |
+
[
|
641 |
+
1561.0000000000002,
|
642 |
+
1872.0000000000002
|
643 |
+
],
|
644 |
+
[
|
645 |
+
1431.0000000000002,
|
646 |
+
1702.0000000000002
|
647 |
+
]
|
648 |
+
],
|
649 |
+
"group_id": null,
|
650 |
+
"description": "",
|
651 |
+
"shape_type": "polygon",
|
652 |
+
"flags": {},
|
653 |
+
"mask": null
|
654 |
+
},
|
655 |
+
{
|
656 |
+
"label": "green_tile",
|
657 |
+
"points": [
|
658 |
+
[
|
659 |
+
1571.0000000000002,
|
660 |
+
1557.0000000000002
|
661 |
+
],
|
662 |
+
[
|
663 |
+
1776.0000000000002,
|
664 |
+
1767.0000000000002
|
665 |
+
],
|
666 |
+
[
|
667 |
+
1746.0000000000002,
|
668 |
+
2132.0
|
669 |
+
],
|
670 |
+
[
|
671 |
+
1561.0000000000002,
|
672 |
+
1872.0000000000002
|
673 |
+
]
|
674 |
+
],
|
675 |
+
"group_id": null,
|
676 |
+
"description": "",
|
677 |
+
"shape_type": "polygon",
|
678 |
+
"flags": {},
|
679 |
+
"mask": null
|
680 |
+
},
|
681 |
+
{
|
682 |
+
"label": "red_tile",
|
683 |
+
"points": [
|
684 |
+
[
|
685 |
+
1776.0000000000002,
|
686 |
+
1757.0000000000002
|
687 |
+
],
|
688 |
+
[
|
689 |
+
2041.0000000000002,
|
690 |
+
2032.0000000000002
|
691 |
+
],
|
692 |
+
[
|
693 |
+
2006.0000000000002,
|
694 |
+
2432.0
|
695 |
+
],
|
696 |
+
[
|
697 |
+
1761.0000000000002,
|
698 |
+
2137.0
|
699 |
+
]
|
700 |
+
],
|
701 |
+
"group_id": null,
|
702 |
+
"description": "",
|
703 |
+
"shape_type": "polygon",
|
704 |
+
"flags": {},
|
705 |
+
"mask": null
|
706 |
+
},
|
707 |
+
{
|
708 |
+
"label": "face",
|
709 |
+
"points": [
|
710 |
+
[
|
711 |
+
1428.4999999999998,
|
712 |
+
547.2272727272727
|
713 |
+
],
|
714 |
+
[
|
715 |
+
2173.954545454545,
|
716 |
+
933.590909090909
|
717 |
+
],
|
718 |
+
[
|
719 |
+
1998.9545454545453,
|
720 |
+
2435.8636363636365
|
721 |
+
],
|
722 |
+
[
|
723 |
+
1423.9545454545453,
|
724 |
+
1697.2272727272725
|
725 |
+
]
|
726 |
+
],
|
727 |
+
"group_id": null,
|
728 |
+
"description": "",
|
729 |
+
"shape_type": "polygon",
|
730 |
+
"flags": {},
|
731 |
+
"mask": null
|
732 |
+
}
|
733 |
+
],
|
734 |
+
"imagePath": "../images/Cube_00001.jpg",
|
735 |
+
"imageData": null,
|
736 |
+
"imageHeight": 3024,
|
737 |
+
"imageWidth": 4032
|
738 |
+
}
|
images/issues/Cube_00006.jpg
ADDED
![]() |
Git LFS Details
|
images/issues/Cube_00006.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1576.0,
|
10 |
+
764.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2985.565217391304,
|
14 |
+
2157.6521739130435
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "white_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1656.0,
|
28 |
+
772.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
2094.260869565217,
|
32 |
+
1220.695652173913
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "orange_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
2070.3478260869565,
|
46 |
+
803.3043478260869
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2546.4347826086955,
|
50 |
+
1248.9565217391303
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "green_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2496.4347826086955,
|
64 |
+
807.6521739130434
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2987.7391304347825,
|
68 |
+
1290.2608695652173
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "orange_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
2037.7391304347825,
|
82 |
+
1648.9565217391303
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1616.0,
|
86 |
+
1192.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "orange_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
2032.0,
|
100 |
+
1220.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2476.0,
|
104 |
+
1692.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "yellow_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2468.0,
|
118 |
+
1256.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2948.0,
|
122 |
+
1740.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "red_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1581.2173913043475,
|
136 |
+
1620.695652173913
|
137 |
+
],
|
138 |
+
[
|
139 |
+
2005.1304347826085,
|
140 |
+
2064.1739130434785
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "orange_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1989.9130434782605,
|
154 |
+
1681.5652173913043
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2429.0434782608695,
|
158 |
+
2122.8695652173915
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "green_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2411.6521739130435,
|
172 |
+
1703.3043478260868
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2876.0,
|
176 |
+
2156.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00006.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/issues/Cube_00008.jpg
ADDED
![]() |
Git LFS Details
|
images/issues/Cube_00008.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1268.0,
|
10 |
+
780.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2688.0,
|
14 |
+
2212.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "white_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1752.0,
|
28 |
+
1284.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1284.0,
|
32 |
+
792.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "red_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1732.0,
|
46 |
+
800.0
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2220.0,
|
50 |
+
1272.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "yellow_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2212.0,
|
64 |
+
804.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2680.0,
|
68 |
+
1284.0
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "yellow_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1272.0,
|
82 |
+
1244.0
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1740.0,
|
86 |
+
1728.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "yellow_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1736.0,
|
100 |
+
1256.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2208.0,
|
104 |
+
1752.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "green_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2184.0,
|
118 |
+
1264.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2672.0,
|
122 |
+
1760.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "red_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1272.0,
|
136 |
+
1712.0
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1720.0,
|
140 |
+
2180.0
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "blue_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1708.0,
|
154 |
+
1732.0
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2188.0,
|
158 |
+
2188.0
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "yellow_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2180.0,
|
172 |
+
1732.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2644.0,
|
176 |
+
2212.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": null,
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00008.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/issues/Cube_00009.jpg
ADDED
![]() |
Git LFS Details
|
images/issues/Cube_00009.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1432.0,
|
10 |
+
864.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2748.0,
|
14 |
+
2200.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "white_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1872.0,
|
28 |
+
1332.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1456.0,
|
32 |
+
880.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "blue_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
2304.0,
|
46 |
+
1340.0
|
47 |
+
],
|
48 |
+
[
|
49 |
+
1864.0,
|
50 |
+
888.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "blue_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2748.0,
|
64 |
+
1348.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2292.0,
|
68 |
+
888.0
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "blue_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1860.0,
|
82 |
+
1744.0
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1436.0,
|
86 |
+
1300.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "blue_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
2280.0,
|
100 |
+
1768.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
1856.0,
|
104 |
+
1312.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "yellow_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2736.0,
|
118 |
+
1780.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2268.0,
|
122 |
+
1328.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "orange_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1852.0,
|
136 |
+
2144.0
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1416.0,
|
140 |
+
1732.0
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "green_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1824.0,
|
154 |
+
1744.0
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2260.0,
|
158 |
+
2180.0
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "orange_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2248.0,
|
172 |
+
1756.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2688.0,
|
176 |
+
2184.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00009.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/issues/Cube_00017.jpg
ADDED
![]() |
images/issues/Cube_00017.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
145.5,
|
10 |
+
422.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
587.5,
|
14 |
+
853.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "white_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
287.5,
|
28 |
+
571.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
144.5,
|
32 |
+
434.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "white_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
274.5,
|
46 |
+
429.0
|
47 |
+
],
|
48 |
+
[
|
49 |
+
423.5,
|
50 |
+
560.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "white_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
415.5,
|
64 |
+
420.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
561.5,
|
68 |
+
556.0
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "white_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
142.5,
|
82 |
+
564.0
|
83 |
+
],
|
84 |
+
[
|
85 |
+
290.5,
|
86 |
+
712.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "white_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
284.5,
|
100 |
+
562.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
432.5,
|
104 |
+
703.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "white_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
426.5,
|
118 |
+
552.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
573.5,
|
122 |
+
692.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "white_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
148.5,
|
136 |
+
708.0
|
137 |
+
],
|
138 |
+
[
|
139 |
+
300.5,
|
140 |
+
849.0
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "white_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
293.5,
|
154 |
+
704.0
|
155 |
+
],
|
156 |
+
[
|
157 |
+
444.5,
|
158 |
+
841.0
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "white_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
432.5,
|
172 |
+
690.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
587.5,
|
176 |
+
835.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00017.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1420,
|
189 |
+
"imageWidth": 655
|
190 |
+
}
|
images/test/Cube_00028.jpg
ADDED
![]() |
Git LFS Details
|
images/test/Cube_00028.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1716.0,
|
10 |
+
572.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2224.0,
|
14 |
+
1080.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "blue_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1724.0,
|
28 |
+
577.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1893.0,
|
32 |
+
737.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "red_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1889.0,
|
46 |
+
575.0
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2056.0,
|
50 |
+
739.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "red_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2054.0,
|
64 |
+
578.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2218.0,
|
68 |
+
743.0
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "blue_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1722.0,
|
82 |
+
739.0
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1886.0,
|
86 |
+
908.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "white_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1887.0,
|
100 |
+
738.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2057.0,
|
104 |
+
910.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "green_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2055.0,
|
118 |
+
742.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2218.0,
|
122 |
+
911.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "red_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1713.0,
|
136 |
+
907.0
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1883.0,
|
140 |
+
1074.0
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "blue_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1878.0,
|
154 |
+
908.0
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2049.0,
|
158 |
+
1074.0
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "blue_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2052.0,
|
172 |
+
912.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2211.0,
|
176 |
+
1075.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00028.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1844,
|
189 |
+
"imageWidth": 4000
|
190 |
+
}
|
images/test/Cube_00029.jpg
ADDED
![]() |
Git LFS Details
|
images/test/Cube_00029.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
112.34848484848487,
|
10 |
+
437.27272727272725
|
11 |
+
],
|
12 |
+
[
|
13 |
+
535.5808080808081,
|
14 |
+
848.3838383838385
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "green_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
115.37878787878788,
|
28 |
+
441.3131313131313
|
29 |
+
],
|
30 |
+
[
|
31 |
+
251.74242424242425,
|
32 |
+
572.6262626262627
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "green_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
245.68181818181824,
|
46 |
+
439.2929292929293
|
47 |
+
],
|
48 |
+
[
|
49 |
+
392.14646464646466,
|
50 |
+
571.6161616161617
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "green_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
382.0454545454545,
|
64 |
+
437.27272727272725
|
65 |
+
],
|
66 |
+
[
|
67 |
+
523.4595959595961,
|
68 |
+
565.5555555555555
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "green_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
115.37878787878788,
|
82 |
+
575.6565656565657
|
83 |
+
],
|
84 |
+
[
|
85 |
+
253.76262626262633,
|
86 |
+
711.010101010101
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "green_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
248.71212121212125,
|
100 |
+
575.6565656565657
|
101 |
+
],
|
102 |
+
[
|
103 |
+
392.14646464646466,
|
104 |
+
707.979797979798
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "green_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
388.10606060606074,
|
118 |
+
566.5656565656566
|
119 |
+
],
|
120 |
+
[
|
121 |
+
526.4898989898991,
|
122 |
+
701.9191919191919
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "green_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
113.35858585858591,
|
136 |
+
715.0505050505051
|
137 |
+
],
|
138 |
+
[
|
139 |
+
256.79292929292933,
|
140 |
+
847.3737373737374
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "green_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
249.72222222222217,
|
154 |
+
708.9898989898991
|
155 |
+
],
|
156 |
+
[
|
157 |
+
394.16666666666674,
|
158 |
+
844.3434343434344
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "green_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
393.1565656565656,
|
172 |
+
704.949494949495
|
173 |
+
],
|
174 |
+
[
|
175 |
+
529.5202020202021,
|
176 |
+
840.3030303030304
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00029.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1420,
|
189 |
+
"imageWidth": 655
|
190 |
+
}
|
images/test/Cube_00032.jpg
ADDED
![]() |
Git LFS Details
|
images/test/Cube_00032.json
ADDED
@@ -0,0 +1,172 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "blue_tile",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1813.2743362831857,
|
10 |
+
527.3097345132744
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2043.362831858407,
|
14 |
+
764.4778761061947
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "orange_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
2047.7876106194688,
|
28 |
+
529.9646017699115
|
29 |
+
],
|
30 |
+
[
|
31 |
+
2288.4955752212386,
|
32 |
+
764.4778761061947
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "yellow_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
2289.380530973451,
|
46 |
+
529.9646017699115
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2527.433628318584,
|
50 |
+
770.6725663716815
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "blue_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
1812.3893805309733,
|
64 |
+
765.362831858407
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2042.4778761061946,
|
68 |
+
1004.3008849557522
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "green_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
2043.362831858407,
|
82 |
+
767.1327433628319
|
83 |
+
],
|
84 |
+
[
|
85 |
+
2288.4955752212386,
|
86 |
+
1013.1504424778761
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "green_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
2291.150442477876,
|
100 |
+
768.0176991150443
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2523.893805309734,
|
104 |
+
1013.1504424778761
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "yellow_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
1803.5398230088495,
|
118 |
+
1006.070796460177
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2038.0530973451325,
|
122 |
+
1245.8938053097345
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "orange_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
2037.1681415929202,
|
136 |
+
1014.0353982300885
|
137 |
+
],
|
138 |
+
[
|
139 |
+
2283.1858407079644,
|
140 |
+
1255.628318584071
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "green_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
2284.955752212389,
|
154 |
+
1014.9203539823009
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2523.893805309734,
|
158 |
+
1253.858407079646
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
}
|
167 |
+
],
|
168 |
+
"imagePath": "Cube_00032.jpg",
|
169 |
+
"imageData": null,
|
170 |
+
"imageHeight": 1844,
|
171 |
+
"imageWidth": 4000
|
172 |
+
}
|
images/test/_annotations.coco.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"info": {}, "licenses": [], "images": [{"id": 1, "file_name": "Cube_00032.jpg", "height": 1844, "width": 4000}, {"id": 2, "file_name": "Cube_00028.jpg", "height": 1844, "width": 4000}, {"id": 3, "file_name": "Cube_00029.jpg", "height": 1420, "width": 655}], "annotations": [{"id": 1, "image_id": 1, "category_id": 4, "segmentation": [], "area": 54569.66089748609, "bbox": [1813.2743362831857, 527.3097345132744, 230.08849557522126, 237.16814159292028], "iscrowd": 0}, {"id": 2, "image_id": 1, "category_id": 5, "segmentation": [], "area": 56449.212937583194, "bbox": [2047.7876106194688, 529.9646017699115, 240.70796460176985, 234.5132743362832], "iscrowd": 0}, {"id": 3, "image_id": 1, "category_id": 7, "segmentation": [], "area": 57301.27652909391, "bbox": [2289.380530973451, 529.9646017699115, 238.05309734513276, 240.70796460176996], "iscrowd": 0}, {"id": 4, "image_id": 1, "category_id": 4, "segmentation": [], "area": 54976.89717284047, "bbox": [1812.3893805309733, 765.362831858407, 230.08849557522126, 238.93805309734512], "iscrowd": 0}, {"id": 5, "image_id": 1, "category_id": 6, "segmentation": [], "area": 60306.99349988248, "bbox": [2043.362831858407, 767.1327433628319, 245.13274336283166, 246.01769911504425], "iscrowd": 0}, {"id": 6, "image_id": 1, "category_id": 6, "segmentation": [], "area": 57053.01903046434, "bbox": [2291.150442477876, 768.0176991150443, 232.74336283185812, 245.1327433628319], "iscrowd": 0}, {"id": 7, "image_id": 1, "category_id": 7, "segmentation": [], "area": 56241.679066489116, "bbox": [1803.5398230088495, 1006.070796460177, 234.51327433628308, 239.82300884955748], "iscrowd": 0}, {"id": 8, "image_id": 1, "category_id": 5, "segmentation": [], "area": 59436.1343879709, "bbox": [2037.1681415929202, 1014.0353982300885, 246.01769911504425, 241.59292035398244], "iscrowd": 0}, {"id": 9, "image_id": 1, "category_id": 6, "segmentation": [], "area": 57091.39321794966, "bbox": [2284.955752212389, 1014.9203539823009, 238.9380530973449, 238.93805309734512], "iscrowd": 0}, {"id": 10, "image_id": 2, "category_id": 1, "segmentation": [], "area": 258064.0, "bbox": [1716.0, 572.0, 508.0, 508.0], "iscrowd": 0}, {"id": 11, "image_id": 2, "category_id": 4, "segmentation": [], "area": 27040.0, "bbox": [1724.0, 577.0, 169.0, 160.0], "iscrowd": 0}, {"id": 12, "image_id": 2, "category_id": 2, "segmentation": [], "area": 27388.0, "bbox": [1889.0, 575.0, 167.0, 164.0], "iscrowd": 0}, {"id": 13, "image_id": 2, "category_id": 2, "segmentation": [], "area": 27060.0, "bbox": [2054.0, 578.0, 164.0, 165.0], "iscrowd": 0}, {"id": 14, "image_id": 2, "category_id": 4, "segmentation": [], "area": 27716.0, "bbox": [1722.0, 739.0, 164.0, 169.0], "iscrowd": 0}, {"id": 15, "image_id": 2, "category_id": 3, "segmentation": [], "area": 29240.0, "bbox": [1887.0, 738.0, 170.0, 172.0], "iscrowd": 0}, {"id": 16, "image_id": 2, "category_id": 6, "segmentation": [], "area": 27547.0, "bbox": [2055.0, 742.0, 163.0, 169.0], "iscrowd": 0}, {"id": 17, "image_id": 2, "category_id": 2, "segmentation": [], "area": 28390.0, "bbox": [1713.0, 907.0, 170.0, 167.0], "iscrowd": 0}, {"id": 18, "image_id": 2, "category_id": 4, "segmentation": [], "area": 28386.0, "bbox": [1878.0, 908.0, 171.0, 166.0], "iscrowd": 0}, {"id": 19, "image_id": 2, "category_id": 4, "segmentation": [], "area": 25917.0, "bbox": [2052.0, 912.0, 159.0, 163.0], "iscrowd": 0}, {"id": 20, "image_id": 3, "category_id": 1, "segmentation": [], "area": 173995.51066217734, "bbox": [112.34848484848487, 437.27272727272725, 423.2323232323232, 411.1111111111112], "iscrowd": 0}, {"id": 21, "image_id": 3, "category_id": 6, "segmentation": [], "area": 17906.336088154283, "bbox": [115.37878787878788, 441.3131313131313, 136.36363636363637, 131.3131313131314], "iscrowd": 0}, {"id": 22, "image_id": 3, "category_id": 6, "segmentation": [], "area": 19380.675441281506, "bbox": [245.68181818181824, 439.2929292929293, 146.46464646464642, 132.3232323232324], "iscrowd": 0}, {"id": 23, "image_id": 3, "category_id": 6, "segmentation": [], "area": 18141.00601979392, "bbox": [382.0454545454545, 437.27272727272725, 141.41414141414157, 128.2828282828283], "iscrowd": 0}, {"id": 24, "image_id": 3, "category_id": 6, "segmentation": [], "area": 18730.7417610448, "bbox": [115.37878787878788, 575.6565656565657, 138.38383838383845, 135.35353535353534], "iscrowd": 0}, {"id": 25, "image_id": 3, "category_id": 6, "segmentation": [], "area": 18979.695949392917, "bbox": [248.71212121212125, 575.6565656565657, 143.43434343434342, 132.32323232323233], "iscrowd": 0}, {"id": 26, "image_id": 3, "category_id": 6, "segmentation": [], "area": 18730.74176104478, "bbox": [388.10606060606074, 566.5656565656566, 138.38383838383834, 135.35353535353534], "iscrowd": 0}, {"id": 27, "image_id": 3, "category_id": 6, "segmentation": [], "area": 18979.695949392917, "bbox": [113.35858585858591, 715.0505050505051, 143.43434343434342, 132.32323232323233], "iscrowd": 0}, {"id": 28, "image_id": 3, "category_id": 6, "segmentation": [], "area": 19551.0662177329, "bbox": [249.72222222222217, 708.9898989898991, 144.44444444444457, 135.35353535353534], "iscrowd": 0}, {"id": 29, "image_id": 3, "category_id": 6, "segmentation": [], "area": 18457.300275482106, "bbox": [393.1565656565656, 704.949494949495, 136.3636363636365, 135.35353535353534], "iscrowd": 0}], "categories": [{"id": 1, "name": "face"}, {"id": 2, "name": "red_tile"}, {"id": 3, "name": "white_tile"}, {"id": 4, "name": "blue_tile"}, {"id": 5, "name": "orange_tile"}, {"id": 6, "name": "green_tile"}, {"id": 7, "name": "yellow_tile"}]}
|
images/train/Cube_00001.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00001.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "green_tile",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1557.0714285714284,
|
10 |
+
1453.0714285714284
|
11 |
+
],
|
12 |
+
[
|
13 |
+
1874.9285714285713,
|
14 |
+
1774.4999999999998
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "blue_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1871.357142857143,
|
28 |
+
1456.642857142857
|
29 |
+
],
|
30 |
+
[
|
31 |
+
2214.214285714286,
|
32 |
+
1781.642857142857
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "white_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
2217.785714285714,
|
46 |
+
1445.9285714285713
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2567.785714285714,
|
50 |
+
1785.2142857142856
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "orange_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
1560.6428571428569,
|
64 |
+
1774.4999999999998
|
65 |
+
],
|
66 |
+
[
|
67 |
+
1874.9285714285713,
|
68 |
+
2113.785714285714
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "red_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1878.4999999999998,
|
82 |
+
1781.642857142857
|
83 |
+
],
|
84 |
+
[
|
85 |
+
2217.785714285714,
|
86 |
+
2124.5
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "red_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1878.5,
|
100 |
+
2120.9285714285716
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2217.785714285714,
|
104 |
+
2463.785714285714
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "red_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2221.357142857143,
|
118 |
+
1785.214285714286
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2560.6428571428573,
|
122 |
+
2128.071428571428
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "blue_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1567.7857142857142,
|
136 |
+
2120.9285714285716
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1882.0714285714284,
|
140 |
+
2445.9285714285716
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "blue_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
2217.785714285714,
|
154 |
+
2135.2142857142853
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2560.6428571428573,
|
158 |
+
2460.2142857142853
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "face",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
1560.6428571428569,
|
172 |
+
1453.0714285714284
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2564.2142857142853,
|
176 |
+
2478.0714285714284
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00001.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/train/Cube_00002.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00002.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1753.4999999999998,
|
10 |
+
1456.642857142857
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2871.357142857142,
|
14 |
+
2613.785714285714
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "green_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1749.9285714285713,
|
28 |
+
1460.2142857142856
|
29 |
+
],
|
30 |
+
[
|
31 |
+
2099.928571428571,
|
32 |
+
1813.785714285714
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "red_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
2110.642857142857,
|
46 |
+
1456.6428571428569
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2471.3571428571427,
|
50 |
+
1820.928571428571
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "red_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2471.3571428571427,
|
64 |
+
1456.6428571428569
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2874.928571428571,
|
68 |
+
1824.4999999999998
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "yellow_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1753.4999999999998,
|
82 |
+
1813.785714285714
|
83 |
+
],
|
84 |
+
[
|
85 |
+
2103.5,
|
86 |
+
2188.785714285714
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "green_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
2103.5,
|
100 |
+
1824.4999999999998
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2482.0714285714284,
|
104 |
+
2199.5
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": null,
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "green_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2482.0714285714284,
|
118 |
+
1828.0714285714284
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2871.3571428571427,
|
122 |
+
2217.3571428571427
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "orange_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1753.4999999999998,
|
136 |
+
2181.6428571428573
|
137 |
+
],
|
138 |
+
[
|
139 |
+
2099.928571428571,
|
140 |
+
2545.9285714285716
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": null,
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "green_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
2099.928571428571,
|
154 |
+
2203.0714285714284
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2474.928571428571,
|
158 |
+
2578.0714285714284
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "blue_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2485.642857142857,
|
172 |
+
2210.214285714286
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2874.928571428571,
|
176 |
+
2603.0714285714284
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00002.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/train/Cube_00003.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00003.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1568.8571428571427,
|
10 |
+
1522.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2640.285714285714,
|
14 |
+
2593.4285714285716
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "green_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1571.3571428571427,
|
28 |
+
1520.9285714285713
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1921.3571428571427,
|
32 |
+
1863.785714285714
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": null,
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "yellow_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1917.785714285714,
|
46 |
+
1520.9285714285713
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2292.785714285714,
|
50 |
+
1874.4999999999998
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "green_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2289.2142857142853,
|
64 |
+
1520.9285714285713
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2649.928571428571,
|
68 |
+
1870.928571428571
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "orange_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1578.4999999999998,
|
82 |
+
1863.785714285714
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1917.785714285714,
|
86 |
+
2228.0714285714284
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": null,
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "orange_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1928.8571428571427,
|
100 |
+
1870.5714285714284
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2291.714285714286,
|
104 |
+
2230.571428571429
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "orange_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2297.4285714285716,
|
118 |
+
1870.5714285714284
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2651.714285714286,
|
122 |
+
2242.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "white_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1583.1428571428569,
|
136 |
+
2230.571428571429
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1923.1428571428573,
|
140 |
+
2593.4285714285716
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "orange_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1923.1428571428573,
|
154 |
+
2233.4285714285716
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2283.142857142857,
|
158 |
+
2593.4285714285716
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "red_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2291.714285714286,
|
172 |
+
2236.285714285714
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2646.0,
|
176 |
+
2596.285714285714
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00003.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/train/Cube_00004.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00004.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1691.4285714285713,
|
10 |
+
1512.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2731.428571428571,
|
14 |
+
2554.8571428571427
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "orange_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1694.5714285714284,
|
28 |
+
1513.4285714285713
|
29 |
+
],
|
30 |
+
[
|
31 |
+
2034.5714285714284,
|
32 |
+
1856.2857142857142
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "green_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
2034.5714285714284,
|
46 |
+
1513.4285714285713
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2394.5714285714284,
|
50 |
+
1856.2857142857142
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "orange_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2394.5714285714284,
|
64 |
+
1510.5714285714284
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2743.142857142857,
|
68 |
+
1856.2857142857142
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "yellow_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1691.7142857142853,
|
82 |
+
1856.2857142857142
|
83 |
+
],
|
84 |
+
[
|
85 |
+
2034.5714285714284,
|
86 |
+
2216.285714285714
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "blue_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
2034.5714285714284,
|
100 |
+
1853.4285714285713
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2391.7142857142853,
|
104 |
+
2219.1428571428573
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "blue_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2397.428571428571,
|
118 |
+
1862.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2745.9999999999995,
|
122 |
+
2213.4285714285716
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "blue_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1697.428571428571,
|
136 |
+
2213.4285714285716
|
137 |
+
],
|
138 |
+
[
|
139 |
+
2040.2857142857142,
|
140 |
+
2559.1428571428573
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "blue_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
2037.428571428571,
|
154 |
+
2216.285714285714
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2397.428571428571,
|
158 |
+
2559.1428571428573
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "white_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2397.428571428571,
|
172 |
+
2219.1428571428573
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2734.5714285714284,
|
176 |
+
2547.714285714286
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00004.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/train/Cube_00007.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00007.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1396.0,
|
10 |
+
928.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2696.0,
|
14 |
+
2228.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "orange_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1392.0,
|
28 |
+
928.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1824.0,
|
32 |
+
1356.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "yellow_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1808.0,
|
46 |
+
932.0
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2256.0,
|
50 |
+
1360.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "green_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2256.0,
|
64 |
+
924.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2704.0,
|
68 |
+
1360.0
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "green_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1384.0,
|
82 |
+
1348.0
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1832.0,
|
86 |
+
1800.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "green_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1828.0,
|
100 |
+
1348.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2264.0,
|
104 |
+
1816.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "red_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2260.0,
|
118 |
+
1348.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2704.0,
|
122 |
+
1800.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "blue_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1384.0,
|
136 |
+
1784.0
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1820.0,
|
140 |
+
2212.0
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "green_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1816.0,
|
154 |
+
1796.0
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2252.0,
|
158 |
+
2224.0
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "red_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2236.0,
|
172 |
+
1788.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2704.0,
|
176 |
+
2228.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00007.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/train/Cube_00010.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00010.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1004.0,
|
10 |
+
880.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2380.0,
|
14 |
+
2276.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "yellow_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1032.0,
|
28 |
+
868.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1472.0,
|
32 |
+
1340.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "white_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1464.0,
|
46 |
+
900.0
|
47 |
+
],
|
48 |
+
[
|
49 |
+
1920.0,
|
50 |
+
1360.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "orange_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
1904.0,
|
64 |
+
904.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2360.0,
|
68 |
+
1376.0
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "white_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1008.0,
|
82 |
+
1308.0
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1460.0,
|
86 |
+
1776.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "white_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1428.0,
|
100 |
+
1336.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
1896.0,
|
104 |
+
1816.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "white_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
1880.0,
|
118 |
+
1348.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2348.0,
|
122 |
+
1824.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "red_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1004.0,
|
136 |
+
1740.0
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1428.0,
|
140 |
+
2196.0
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "white_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1420.0,
|
154 |
+
1760.0
|
155 |
+
],
|
156 |
+
[
|
157 |
+
1860.0,
|
158 |
+
2252.0
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "yellow_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
1844.0,
|
172 |
+
1792.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2308.0,
|
176 |
+
2260.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00010.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 3024,
|
189 |
+
"imageWidth": 4032
|
190 |
+
}
|
images/train/Cube_00011.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00011.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1580.0,
|
10 |
+
510.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2356.0,
|
14 |
+
1278.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "white_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1586.6666666666667,
|
28 |
+
519.3333333333333
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1841.3333333333333,
|
32 |
+
764.6666666666666
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "green_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1833.3333333333333,
|
46 |
+
516.6666666666666
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2097.3333333333335,
|
50 |
+
762.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "red_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2086.6666666666665,
|
64 |
+
512.6666666666666
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2346.6666666666665,
|
68 |
+
759.3333333333333
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "orange_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1585.3333333333333,
|
82 |
+
763.3333333333333
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1844.0,
|
86 |
+
1023.3333333333334
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "blue_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1836.0,
|
100 |
+
762.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2101.3333333333335,
|
104 |
+
1023.3333333333334
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "yellow_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2097.3333333333335,
|
118 |
+
762.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2352.0,
|
122 |
+
1011.3333333333333
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "orange_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1585.3333333333333,
|
136 |
+
1021.9999999999999
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1849.3333333333333,
|
140 |
+
1267.3333333333335
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "yellow_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1845.3333333333333,
|
154 |
+
1016.6666666666666
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2101.3333333333335,
|
158 |
+
1268.6666666666667
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "yellow_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2104.0,
|
172 |
+
1012.6666666666666
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2353.3333333333335,
|
176 |
+
1260.6666666666667
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00011.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1844,
|
189 |
+
"imageWidth": 4000
|
190 |
+
}
|
images/train/Cube_00012.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00012.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1692.0,
|
10 |
+
642.0
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2476.0,
|
14 |
+
1400.6666666666667
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "blue_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1693.3333333333333,
|
28 |
+
646.0
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1948.0,
|
32 |
+
890.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "red_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1949.3333333333333,
|
46 |
+
639.3333333333333
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2217.3333333333335,
|
50 |
+
892.6666666666666
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "orange_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2218.6666666666665,
|
64 |
+
638.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2473.3333333333335,
|
68 |
+
892.6666666666666
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "white_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1696.0,
|
82 |
+
894.0
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1953.3333333333333,
|
86 |
+
1155.3333333333335
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "white_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1948.0,
|
100 |
+
890.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2214.6666666666665,
|
104 |
+
1164.6666666666667
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "orange_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2214.6666666666665,
|
118 |
+
891.3333333333333
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2469.3333333333335,
|
122 |
+
1151.3333333333335
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "white_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1697.3333333333333,
|
136 |
+
1154.0
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1953.3333333333333,
|
140 |
+
1399.3333333333335
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "blue_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1950.6666666666667,
|
154 |
+
1155.3333333333335
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2212.0,
|
158 |
+
1400.6666666666667
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "blue_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2209.3333333333335,
|
172 |
+
1151.3333333333335
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2464.0,
|
176 |
+
1398.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00012.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1844,
|
189 |
+
"imageWidth": 4000
|
190 |
+
}
|
images/train/Cube_00013.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00013.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1922.6666666666667,
|
10 |
+
507.3333333333333
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2840.0,
|
14 |
+
1426.0
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "green_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1946.6666666666667,
|
28 |
+
511.3333333333333
|
29 |
+
],
|
30 |
+
[
|
31 |
+
2238.6666666666665,
|
32 |
+
807.3333333333333
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "green_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
2234.6666666666665,
|
46 |
+
516.6666666666666
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2544.0,
|
50 |
+
806.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "green_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2540.0,
|
64 |
+
518.0
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2842.6666666666665,
|
68 |
+
822.0
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "green_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1933.3333333333333,
|
82 |
+
799.3333333333333
|
83 |
+
],
|
84 |
+
[
|
85 |
+
2226.6666666666665,
|
86 |
+
1110.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "green_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
2229.3333333333335,
|
100 |
+
806.0
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2540.0,
|
104 |
+
1124.6666666666667
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "green_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2541.3333333333335,
|
118 |
+
808.6666666666666
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2837.3333333333335,
|
122 |
+
1126.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "green_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1920.0,
|
136 |
+
1100.6666666666667
|
137 |
+
],
|
138 |
+
[
|
139 |
+
2226.6666666666665,
|
140 |
+
1415.3333333333335
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "green_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
2221.3333333333335,
|
154 |
+
1114.0
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2534.6666666666665,
|
158 |
+
1420.6666666666667
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "green_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2533.3333333333335,
|
172 |
+
1116.6666666666667
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2838.6666666666665,
|
176 |
+
1426.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00013.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1844,
|
189 |
+
"imageWidth": 4000
|
190 |
+
}
|
images/train/Cube_00014.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00014.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1442.6666666666667,
|
10 |
+
407.33333333333337
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2540.0,
|
14 |
+
1476.6666666666667
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "white_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1446.6666666666667,
|
28 |
+
407.33333333333337
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1804.0,
|
32 |
+
762.0
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "white_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1798.6666666666667,
|
46 |
+
410.0
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2168.0,
|
50 |
+
758.0
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "white_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2156.0,
|
64 |
+
407.33333333333337
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2518.6666666666665,
|
68 |
+
756.6666666666666
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "white_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1438.6666666666667,
|
82 |
+
755.3333333333333
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1806.6666666666667,
|
86 |
+
1122.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "white_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1798.6666666666667,
|
100 |
+
759.3333333333333
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2168.0,
|
104 |
+
1126.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "white_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2165.3333333333335,
|
118 |
+
755.3333333333333
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2530.6666666666665,
|
122 |
+
1118.0
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "white_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1440.0,
|
136 |
+
1120.6666666666667
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1805.3333333333333,
|
140 |
+
1479.3333333333335
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "white_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1802.6666666666667,
|
154 |
+
1124.6666666666667
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2173.3333333333335,
|
158 |
+
1482.0
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "white_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2173.3333333333335,
|
172 |
+
1122.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2536.0,
|
176 |
+
1474.0
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00014.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1844,
|
189 |
+
"imageWidth": 4000
|
190 |
+
}
|
images/train/Cube_00015.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00015.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1610.6666666666667,
|
10 |
+
411.33333333333337
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2205.3333333333335,
|
14 |
+
988.6666666666666
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "green_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1616.0,
|
28 |
+
416.6666666666667
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1808.0,
|
32 |
+
603.3333333333333
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "red_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1805.3333333333333,
|
46 |
+
416.6666666666667
|
47 |
+
],
|
48 |
+
[
|
49 |
+
1997.3333333333333,
|
50 |
+
603.3333333333333
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "red_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
1996.0,
|
64 |
+
412.6666666666667
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2181.3333333333335,
|
68 |
+
595.3333333333333
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "blue_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1614.6666666666667,
|
82 |
+
604.6666666666666
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1808.0,
|
86 |
+
798.0
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "blue_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1806.6666666666667,
|
100 |
+
604.6666666666666
|
101 |
+
],
|
102 |
+
[
|
103 |
+
1998.6666666666667,
|
104 |
+
798.0
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "orange_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2000.0,
|
118 |
+
598.0
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2188.0,
|
122 |
+
788.6666666666666
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "yellow_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1613.3333333333333,
|
136 |
+
800.6666666666666
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1816.0,
|
140 |
+
984.6666666666666
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "white_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1808.0,
|
154 |
+
800.6666666666666
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2008.0,
|
158 |
+
983.3333333333333
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "green_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2005.3333333333333,
|
172 |
+
790.0
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2196.0,
|
176 |
+
980.6666666666666
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00015.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1844,
|
189 |
+
"imageWidth": 4000
|
190 |
+
}
|
images/train/Cube_00016.jpg
ADDED
![]() |
Git LFS Details
|
images/train/Cube_00016.json
ADDED
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"version": "5.4.1",
|
3 |
+
"flags": {},
|
4 |
+
"shapes": [
|
5 |
+
{
|
6 |
+
"label": "face",
|
7 |
+
"points": [
|
8 |
+
[
|
9 |
+
1289.2307692307693,
|
10 |
+
103.53846153846163
|
11 |
+
],
|
12 |
+
[
|
13 |
+
2686.153846153846,
|
14 |
+
1540.4615384615383
|
15 |
+
]
|
16 |
+
],
|
17 |
+
"group_id": null,
|
18 |
+
"description": "",
|
19 |
+
"shape_type": "rectangle",
|
20 |
+
"flags": {},
|
21 |
+
"mask": null
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"label": "orange_tile",
|
25 |
+
"points": [
|
26 |
+
[
|
27 |
+
1290.7692307692307,
|
28 |
+
175.84615384615395
|
29 |
+
],
|
30 |
+
[
|
31 |
+
1763.076923076923,
|
32 |
+
638.923076923077
|
33 |
+
]
|
34 |
+
],
|
35 |
+
"group_id": null,
|
36 |
+
"description": "",
|
37 |
+
"shape_type": "rectangle",
|
38 |
+
"flags": {},
|
39 |
+
"mask": null
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"label": "orange_tile",
|
43 |
+
"points": [
|
44 |
+
[
|
45 |
+
1735.3846153846152,
|
46 |
+
151.2307692307693
|
47 |
+
],
|
48 |
+
[
|
49 |
+
2207.6923076923076,
|
50 |
+
611.2307692307693
|
51 |
+
]
|
52 |
+
],
|
53 |
+
"group_id": null,
|
54 |
+
"description": "",
|
55 |
+
"shape_type": "rectangle",
|
56 |
+
"flags": {},
|
57 |
+
"mask": null
|
58 |
+
},
|
59 |
+
{
|
60 |
+
"label": "orange_tile",
|
61 |
+
"points": [
|
62 |
+
[
|
63 |
+
2209.230769230769,
|
64 |
+
126.61538461538473
|
65 |
+
],
|
66 |
+
[
|
67 |
+
2695.3846153846152,
|
68 |
+
600.4615384615386
|
69 |
+
]
|
70 |
+
],
|
71 |
+
"group_id": null,
|
72 |
+
"description": "",
|
73 |
+
"shape_type": "rectangle",
|
74 |
+
"flags": {},
|
75 |
+
"mask": null
|
76 |
+
},
|
77 |
+
{
|
78 |
+
"label": "orange_tile",
|
79 |
+
"points": [
|
80 |
+
[
|
81 |
+
1304.6153846153845,
|
82 |
+
643.5384615384617
|
83 |
+
],
|
84 |
+
[
|
85 |
+
1764.6153846153845,
|
86 |
+
1100.4615384615383
|
87 |
+
]
|
88 |
+
],
|
89 |
+
"group_id": null,
|
90 |
+
"description": "",
|
91 |
+
"shape_type": "rectangle",
|
92 |
+
"flags": {},
|
93 |
+
"mask": null
|
94 |
+
},
|
95 |
+
{
|
96 |
+
"label": "orange_tile",
|
97 |
+
"points": [
|
98 |
+
[
|
99 |
+
1741.5384615384614,
|
100 |
+
615.8461538461539
|
101 |
+
],
|
102 |
+
[
|
103 |
+
2223.076923076923,
|
104 |
+
1086.6153846153845
|
105 |
+
]
|
106 |
+
],
|
107 |
+
"group_id": null,
|
108 |
+
"description": "",
|
109 |
+
"shape_type": "rectangle",
|
110 |
+
"flags": {},
|
111 |
+
"mask": null
|
112 |
+
},
|
113 |
+
{
|
114 |
+
"label": "orange_tile",
|
115 |
+
"points": [
|
116 |
+
[
|
117 |
+
2206.153846153846,
|
118 |
+
600.4615384615386
|
119 |
+
],
|
120 |
+
[
|
121 |
+
2704.6153846153843,
|
122 |
+
1075.8461538461538
|
123 |
+
]
|
124 |
+
],
|
125 |
+
"group_id": null,
|
126 |
+
"description": "",
|
127 |
+
"shape_type": "rectangle",
|
128 |
+
"flags": {},
|
129 |
+
"mask": null
|
130 |
+
},
|
131 |
+
{
|
132 |
+
"label": "orange_tile",
|
133 |
+
"points": [
|
134 |
+
[
|
135 |
+
1320.0,
|
136 |
+
1092.7692307692307
|
137 |
+
],
|
138 |
+
[
|
139 |
+
1776.923076923077,
|
140 |
+
1535.8461538461538
|
141 |
+
]
|
142 |
+
],
|
143 |
+
"group_id": null,
|
144 |
+
"description": "",
|
145 |
+
"shape_type": "rectangle",
|
146 |
+
"flags": {},
|
147 |
+
"mask": null
|
148 |
+
},
|
149 |
+
{
|
150 |
+
"label": "orange_tile",
|
151 |
+
"points": [
|
152 |
+
[
|
153 |
+
1756.923076923077,
|
154 |
+
1075.8461538461538
|
155 |
+
],
|
156 |
+
[
|
157 |
+
2229.230769230769,
|
158 |
+
1535.8461538461538
|
159 |
+
]
|
160 |
+
],
|
161 |
+
"group_id": null,
|
162 |
+
"description": "",
|
163 |
+
"shape_type": "rectangle",
|
164 |
+
"flags": {},
|
165 |
+
"mask": null
|
166 |
+
},
|
167 |
+
{
|
168 |
+
"label": "orange_tile",
|
169 |
+
"points": [
|
170 |
+
[
|
171 |
+
2213.846153846154,
|
172 |
+
1063.5384615384614
|
173 |
+
],
|
174 |
+
[
|
175 |
+
2687.6923076923076,
|
176 |
+
1534.3076923076924
|
177 |
+
]
|
178 |
+
],
|
179 |
+
"group_id": null,
|
180 |
+
"description": "",
|
181 |
+
"shape_type": "rectangle",
|
182 |
+
"flags": {},
|
183 |
+
"mask": null
|
184 |
+
}
|
185 |
+
],
|
186 |
+
"imagePath": "Cube_00016.jpg",
|
187 |
+
"imageData": null,
|
188 |
+
"imageHeight": 1844,
|
189 |
+
"imageWidth": 4000
|
190 |
+
}
|