Procházet zdrojové kódy

增加labelme格式的导入与导出

AnlaAnla před 2 měsíci
rodič
revize
fddf5eceff

+ 2 - 2
.idea/dataSources.xml

@@ -8,11 +8,11 @@
       <jdbc-url>jdbc:mysql://localhost:3306</jdbc-url>
       <working-dir>$ProjectFileDir$</working-dir>
     </data-source>
-    <data-source source="LOCAL" name="服务器2" uuid="048007ce-612b-4dfc-a03a-4093e6ad84ef">
+    <data-source source="LOCAL" name="显卡服务器" uuid="c025676c-3a14-4f7b-9a68-1855e0467a18">
       <driver-ref>mysql.8</driver-ref>
       <synchronize>true</synchronize>
       <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
-      <jdbc-url>jdbc:mysql://192.168.77.78:3306</jdbc-url>
+      <jdbc-url>jdbc:mysql://192.168.77.249:3306</jdbc-url>
       <working-dir>$ProjectFileDir$</working-dir>
     </data-source>
   </component>

+ 8 - 1
.idea/deployment.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
+  <component name="PublishConfigData" serverName="显卡服务器@192.168.77.249" remoteFilesAllowedToDisappearOnAutoupload="false">
     <serverData>
       <paths name="192.168.31.243">
         <serverdata>
@@ -23,6 +23,13 @@
           </mappings>
         </serverdata>
       </paths>
+      <paths name="显卡服务器@192.168.77.249">
+        <serverdata>
+          <mappings>
+            <mapping deploy="/ML/RemoteProject/CardScoreDataServer" local="$PROJECT_DIR$" web="/" />
+          </mappings>
+        </serverdata>
+      </paths>
     </serverData>
   </component>
 </project>

+ 2 - 0
.idea/encodings.xml

@@ -1,9 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/Test/README.MD" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/Test/img_data_insert.py" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/Test/img_score_and_insert.py" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/Test/img_score_and_insert2.py" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/Test/test.json" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/Test/test01.py" charset="GBK" />
     <file url="file://$PROJECT_DIR$/app/api/cards.py" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/app/api/images.py" charset="UTF-8" />

+ 26 - 0
.idea/jsonSchemas.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="JsonSchemaMappingsProjectConfiguration">
+    <state>
+      <map>
+        <entry key="JSON 架构版本 7">
+          <value>
+            <SchemaInfo>
+              <option name="name" value="JSON 架构版本 7" />
+              <option name="relativePathToSchema" value="http://json-schema.org/draft-07/schema" />
+              <option name="schemaVersion" value="JSON 架构版本 7" />
+              <option name="applicationDefined" value="true" />
+              <option name="patterns">
+                <list>
+                  <Item>
+                    <option name="path" value="Test/test.json" />
+                  </Item>
+                </list>
+              </option>
+            </SchemaInfo>
+          </value>
+        </entry>
+      </map>
+    </state>
+  </component>
+</project>

+ 9 - 6
Test/img_score_and_insert2.py

@@ -7,8 +7,10 @@ from typing import Dict, Any, Tuple, List
 from datetime import datetime
 
 # --- 配置区域 (可根据需要修改) ---
-INFERENCE_SERVICE_URL = "http://192.168.77.78:7744"
-STORAGE_SERVICE_URL = "http://192.168.77.78:7745"
+INFERENCE_SERVICE_URL = "http://127.0.0.1:7744"
+STORAGE_SERVICE_URL = "http://127.0.0.1:7745"
+# INFERENCE_SERVICE_URL = "http://192.168.77.249:7744"
+# STORAGE_SERVICE_URL = "http://192.168.77.249:7745"
 
 # 固定的处理类型映射
 SCORE_TYPES = [
@@ -187,7 +189,7 @@ async def process_card_images(
             return -1
 
     # 生成卡片名称
-    card_name = f"卡 {datetime.now().strftime('%Y-%m-%d_%H:%M:%S')}"
+    card_name = f"临时测试-卡 {datetime.now().strftime('%Y-%m-%d_%H:%M:%S')}"
 
     async with aiohttp.ClientSession() as session:
         try:
@@ -252,15 +254,16 @@ def run_card_processing_sync(
 if __name__ == "__main__":
     # 准备参数
     # !!!!!🪸是否反光
-    my_is_reflect = True
+    my_is_reflect = False
 
-    for img_num in range(10, 15):
-        base_path = r"C:\Code\ML\Image\Card\_2025_1119_many_img\reflect2"
+    for img_num in range(1, 2):
+        base_path = r"C:\Code\ML\Image\Card\_250915_many_capture_img\_250919_1500_no_reflect_nature_defect"
         p1 = os.path.join(base_path, f"{img_num}_front_coaxial_1_0.jpg")
         p2 = os.path.join(base_path, f"{img_num}_front_ring_0_1.jpg")
         p3 = os.path.join(base_path, f"{img_num}_back_coaxial_1_0.jpg")
         p4 = os.path.join(base_path, f"{img_num}_back_ring_0_1.jpg")
 
+
         # 调用函数
         print("开始调用函数...")
 

+ 3 - 40
Test/test01.py

@@ -1,44 +1,7 @@
 import requests
-import torch
 
 
-def send(url, card_id):
-    # 请求头 (headers)
-    headers = {
-        'accept': 'application/json'
-    }
 
-    try:
-        # 发送 GET 请求
-        params = {"card_id": card_id}
-        response = requests.get(url, headers=headers, params=params)
-
-        # 检查响应状态码
-        response.raise_for_status()
-
-        # 打印响应内容 (JSON格式)
-        data = response.json()
-        print("Success! Response Data:")
-        print(data)
-
-        # 打印状态码
-        print(f"Status Code: {response.status_code}")
-
-    except requests.exceptions.HTTPError as errh:
-        print(f"Http Error: {errh}")
-    except requests.exceptions.ConnectionError as errc:
-        print(f"Error Connecting: {errc}")
-    except requests.exceptions.Timeout as errt:
-        print(f"Timeout Error: {errt}")
-    except requests.exceptions.RequestException as err:
-        print(f"An Error Occurred: {err}")
-
-
-if __name__ == '__main__':
-    card_id = 1
-    base_url = 'http://127.0.0.1:7745/api/cards/query'
-    # base_url = 'http://127.0.0.1:7745/api/cards/query_next/14'
-
-    # base_url = 'http://192.168.77.78:7745/api/cards/query/1'
-    # base_url = 'http://192.168.77.78:7745/api/cards/query_next/3'
-    send(base_url, card_id)
+for i in range(25, 43):
+    result = requests.delete(f'http://192.168.77.78:7745/api/cards/delete/{i}')
+    print(result)

+ 112 - 8907
Test/test02.json

@@ -1,8911 +1,116 @@
 {
-  "result": {
-    "center_result": {},
-    "defect_result": {
-      "defects": [
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.23290207654953002,
-          "height": 2.217176605682373,
-          "points": [
-            [
-              1088,
-              3660
-            ],
-            [
-              1084,
-              3661
-            ],
-            [
-              1082,
-              3664
-            ],
-            [
-              1092,
-              3668
-            ],
-            [
-              1107,
-              3671
-            ],
-            [
-              1136,
-              3672
-            ],
-            [
-              1137,
-              3673
-            ],
-            [
-              1146,
-              3673
-            ],
-            [
-              1147,
-              3674
-            ],
-            [
-              1166,
-              3674
-            ],
-            [
-              1172,
-              3672
-            ],
-            [
-              1168,
-              3667
-            ],
-            [
-              1165,
-              3666
-            ],
-            [
-              1138,
-              3666
-            ],
-            [
-              1132,
-              3664
-            ],
-            [
-              1119,
-              3664
-            ],
-            [
-              1118,
-              3663
-            ],
-            [
-              1088,
-              3660
-            ]
-          ],
-          "min_rect": [
-            [
-              1127.0157470703125,
-              3667.800048828125
-            ],
-            [
-              90.34949493408203,
-              9.49071216583252
-            ],
-            4.455602645874023
-          ],
-          "edit_type": "",
-          "confidence": 0.8913849028109102,
-          "pixel_area": 666,
-          "actual_area": 0.40107292559999996,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.19632,
-          "height": 0.7362,
-          "points": [
-            [
-              1044,
-              3652
-            ],
-            [
-              1041,
-              3655
-            ],
-            [
-              1042,
-              3656
-            ],
-            [
-              1052,
-              3657
-            ],
-            [
-              1059,
-              3660
-            ],
-            [
-              1067,
-              3659
-            ],
-            [
-              1071,
-              3656
-            ],
-            [
-              1061,
-              3652
-            ],
-            [
-              1044,
-              3652
-            ]
-          ],
-          "min_rect": [
-            [
-              1056,
-              3656
-            ],
-            [
-              8,
-              30
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.7947277547231789,
-          "pixel_area": 151.5,
-          "actual_area": 0.09123505739999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.181703399477005,
-          "height": 0.8331512731933594,
-          "points": [
-            [
-              2731,
-              3286
-            ],
-            [
-              2730,
-              3287
-            ],
-            [
-              2724,
-              3287
-            ],
-            [
-              2722,
-              3290
-            ],
-            [
-              2720,
-              3290
-            ],
-            [
-              2718,
-              3292
-            ],
-            [
-              2702,
-              3296
-            ],
-            [
-              2705,
-              3298
-            ],
-            [
-              2711,
-              3299
-            ],
-            [
-              2717,
-              3296
-            ],
-            [
-              2724,
-              3295
-            ],
-            [
-              2724,
-              3293
-            ],
-            [
-              2726,
-              3291
-            ],
-            [
-              2735,
-              3289
-            ],
-            [
-              2735,
-              3287
-            ],
-            [
-              2731,
-              3286
-            ]
-          ],
-          "min_rect": [
-            [
-              2719.11328125,
-              3292.9990234375
-            ],
-            [
-              7.40437650680542,
-              33.95074462890625
-            ],
-            67.7509765625
-          ],
-          "edit_type": "",
-          "confidence": 0.7173151113641338,
-          "pixel_area": 132,
-          "actual_area": 0.07949193119999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.2850556613731384,
-          "height": 2.380742842712402,
-          "points": [
-            [
-              1361,
-              2982
-            ],
-            [
-              1358,
-              2984
-            ],
-            [
-              1357,
-              2987
-            ],
-            [
-              1372,
-              2992
-            ],
-            [
-              1375,
-              2992
-            ],
-            [
-              1380,
-              2995
-            ],
-            [
-              1391,
-              2997
-            ],
-            [
-              1404,
-              3003
-            ],
-            [
-              1415,
-              3004
-            ],
-            [
-              1419,
-              3006
-            ],
-            [
-              1426,
-              3007
-            ],
-            [
-              1432,
-              3010
-            ],
-            [
-              1451,
-              3011
-            ],
-            [
-              1451,
-              3004
-            ],
-            [
-              1448,
-              3003
-            ],
-            [
-              1444,
-              3003
-            ],
-            [
-              1431,
-              2998
-            ],
-            [
-              1425,
-              2998
-            ],
-            [
-              1420,
-              2996
-            ],
-            [
-              1411,
-              2996
-            ],
-            [
-              1386,
-              2987
-            ],
-            [
-              1383,
-              2987
-            ],
-            [
-              1377,
-              2984
-            ],
-            [
-              1361,
-              2982
-            ]
-          ],
-          "min_rect": [
-            [
-              1404.4857177734375,
-              2997.125732421875
-            ],
-            [
-              97.01478576660156,
-              11.615960121154785
-            ],
-            14.534454345703125
-          ],
-          "edit_type": "",
-          "confidence": 0.8462014692091103,
-          "pixel_area": 806.5,
-          "actual_area": 0.48568365539999997,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.36557007076263426,
-          "height": 3.4810395904541016,
-          "points": [
-            [
-              180,
-              2819
-            ],
-            [
-              179,
-              2820
-            ],
-            [
-              180,
-              2825
-            ],
-            [
-              184,
-              2827
-            ],
-            [
-              190,
-              2827
-            ],
-            [
-              196,
-              2824
-            ],
-            [
-              199,
-              2827
-            ],
-            [
-              209,
-              2828
-            ],
-            [
-              219,
-              2835
-            ],
-            [
-              224,
-              2836
-            ],
-            [
-              231,
-              2840
-            ],
-            [
-              235,
-              2845
-            ],
-            [
-              242,
-              2848
-            ],
-            [
-              247,
-              2853
-            ],
-            [
-              255,
-              2855
-            ],
-            [
-              259,
-              2859
-            ],
-            [
-              266,
-              2861
-            ],
-            [
-              283,
-              2872
-            ],
-            [
-              286,
-              2872
-            ],
-            [
-              299,
-              2879
-            ],
-            [
-              308,
-              2879
-            ],
-            [
-              309,
-              2876
-            ],
-            [
-              308,
-              2875
-            ],
-            [
-              306,
-              2875
-            ],
-            [
-              296,
-              2868
-            ],
-            [
-              289,
-              2866
-            ],
-            [
-              283,
-              2862
-            ],
-            [
-              269,
-              2856
-            ],
-            [
-              264,
-              2852
-            ],
-            [
-              254,
-              2848
-            ],
-            [
-              250,
-              2844
-            ],
-            [
-              239,
-              2840
-            ],
-            [
-              236,
-              2836
-            ],
-            [
-              230,
-              2834
-            ],
-            [
-              220,
-              2827
-            ],
-            [
-              214,
-              2826
-            ],
-            [
-              209,
-              2823
-            ],
-            [
-              206,
-              2823
-            ],
-            [
-              204,
-              2820
-            ],
-            [
-              180,
-              2819
-            ]
-          ],
-          "min_rect": [
-            [
-              244.86984252929688,
-              2846.486083984375
-            ],
-            [
-              141.85165405273438,
-              14.896905899047852
-            ],
-            24.443954467773438
-          ],
-          "edit_type": "",
-          "confidence": 0.8750159953321729,
-          "pixel_area": 950.5,
-          "actual_area": 0.5724021257999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.3811824643707275,
-          "height": 2.4531636643981933,
-          "points": [
-            [
-              1891,
-              2659
-            ],
-            [
-              1889,
-              2666
-            ],
-            [
-              1884,
-              2671
-            ],
-            [
-              1878,
-              2692
-            ],
-            [
-              1878,
-              2696
-            ],
-            [
-              1881,
-              2703
-            ],
-            [
-              1880,
-              2714
-            ],
-            [
-              1878,
-              2720
-            ],
-            [
-              1879,
-              2745
-            ],
-            [
-              1883,
-              2756
-            ],
-            [
-              1887,
-              2756
-            ],
-            [
-              1891,
-              2759
-            ],
-            [
-              1891,
-              2751
-            ],
-            [
-              1888,
-              2744
-            ],
-            [
-              1888,
-              2722
-            ],
-            [
-              1889,
-              2721
-            ],
-            [
-              1888,
-              2703
-            ],
-            [
-              1890,
-              2700
-            ],
-            [
-              1892,
-              2685
-            ],
-            [
-              1894,
-              2680
-            ],
-            [
-              1893,
-              2663
-            ],
-            [
-              1892,
-              2659
-            ],
-            [
-              1891,
-              2659
-            ]
-          ],
-          "min_rect": [
-            [
-              1885.1357421875,
-              2708.75830078125
-            ],
-            [
-              15.53310775756836,
-              99.9659194946289
-            ],
-            2.174743890762329
-          ],
-          "edit_type": "",
-          "confidence": 0.8260980417321253,
-          "pixel_area": 916.5,
-          "actual_area": 0.5519269313999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.4184361884307861,
-          "height": 4.817233154296875,
-          "points": [
-            [
-              302,
-              2612
-            ],
-            [
-              300,
-              2615
-            ],
-            [
-              305,
-              2620
-            ],
-            [
-              306,
-              2623
-            ],
-            [
-              312,
-              2628
-            ],
-            [
-              313,
-              2631
-            ],
-            [
-              320,
-              2639
-            ],
-            [
-              340,
-              2659
-            ],
-            [
-              343,
-              2660
-            ],
-            [
-              348,
-              2666
-            ],
-            [
-              351,
-              2667
-            ],
-            [
-              357,
-              2673
-            ],
-            [
-              374,
-              2684
-            ],
-            [
-              379,
-              2689
-            ],
-            [
-              393,
-              2697
-            ],
-            [
-              401,
-              2704
-            ],
-            [
-              408,
-              2707
-            ],
-            [
-              411,
-              2711
-            ],
-            [
-              422,
-              2717
-            ],
-            [
-              423,
-              2719
-            ],
-            [
-              428,
-              2723
-            ],
-            [
-              430,
-              2723
-            ],
-            [
-              435,
-              2728
-            ],
-            [
-              447,
-              2735
-            ],
-            [
-              450,
-              2736
-            ],
-            [
-              455,
-              2735
-            ],
-            [
-              453,
-              2727
-            ],
-            [
-              431,
-              2715
-            ],
-            [
-              428,
-              2711
-            ],
-            [
-              423,
-              2709
-            ],
-            [
-              411,
-              2700
-            ],
-            [
-              409,
-              2700
-            ],
-            [
-              404,
-              2695
-            ],
-            [
-              399,
-              2693
-            ],
-            [
-              394,
-              2688
-            ],
-            [
-              385,
-              2683
-            ],
-            [
-              380,
-              2678
-            ],
-            [
-              375,
-              2676
-            ],
-            [
-              371,
-              2671
-            ],
-            [
-              352,
-              2659
-            ],
-            [
-              307,
-              2612
-            ],
-            [
-              302,
-              2612
-            ]
-          ],
-          "min_rect": [
-            [
-              375.7431945800781,
-              2677
-            ],
-            [
-              196.30126953125,
-              17.051189422607422
-            ],
-            38.22648620605469
-          ],
-          "edit_type": "",
-          "confidence": 0.9131297585241196,
-          "pixel_area": 1633,
-          "actual_area": 0.9834115427999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.02454,
-          "height": 0.34356,
-          "points": [
-            [
-              1773,
-              2583
-            ],
-            [
-              1772,
-              2584
-            ],
-            [
-              1766,
-              2584
-            ],
-            [
-              1780,
-              2584
-            ],
-            [
-              1773,
-              2583
-            ]
-          ],
-          "min_rect": [
-            [
-              1773,
-              2583.5
-            ],
-            [
-              14,
-              1
-            ],
-            0
-          ],
-          "edit_type": "",
-          "confidence": 0.5645750931331089,
-          "pixel_area": 4,
-          "actual_area": 0.0024088463999999998,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.34145011081695553,
-          "height": 3.15841325592041,
-          "points": [
-            [
-              1948,
-              2498
-            ],
-            [
-              1944,
-              2502
-            ],
-            [
-              1943,
-              2507
-            ],
-            [
-              1940,
-              2509
-            ],
-            [
-              1937,
-              2516
-            ],
-            [
-              1931,
-              2523
-            ],
-            [
-              1929,
-              2530
-            ],
-            [
-              1928,
-              2541
-            ],
-            [
-              1923,
-              2549
-            ],
-            [
-              1918,
-              2566
-            ],
-            [
-              1913,
-              2576
-            ],
-            [
-              1904,
-              2607
-            ],
-            [
-              1904,
-              2616
-            ],
-            [
-              1907,
-              2620
-            ],
-            [
-              1911,
-              2613
-            ],
-            [
-              1915,
-              2609
-            ],
-            [
-              1921,
-              2591
-            ],
-            [
-              1925,
-              2584
-            ],
-            [
-              1926,
-              2575
-            ],
-            [
-              1932,
-              2563
-            ],
-            [
-              1935,
-              2553
-            ],
-            [
-              1936,
-              2543
-            ],
-            [
-              1939,
-              2539
-            ],
-            [
-              1941,
-              2526
-            ],
-            [
-              1944,
-              2521
-            ],
-            [
-              1944,
-              2511
-            ],
-            [
-              1948,
-              2508
-            ],
-            [
-              1950,
-              2504
-            ],
-            [
-              1950,
-              2501
-            ],
-            [
-              1948,
-              2498
-            ]
-          ],
-          "min_rect": [
-            [
-              1926.14990234375,
-              2558.55029296875
-            ],
-            [
-              13.914022445678711,
-              128.70469665527344
-            ],
-            18.434947967529297
-          ],
-          "edit_type": "",
-          "confidence": 0.8737552134625469,
-          "pixel_area": 1276.5,
-          "actual_area": 0.7687231073999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.15654194005966185,
-          "height": 0.2654406941986084,
-          "points": [
-            [
-              1488,
-              2440
-            ],
-            [
-              1483,
-              2447
-            ],
-            [
-              1484,
-              2450
-            ],
-            [
-              1486,
-              2451
-            ],
-            [
-              1488,
-              2451
-            ],
-            [
-              1490,
-              2448
-            ],
-            [
-              1490,
-              2441
-            ],
-            [
-              1488,
-              2440
-            ]
-          ],
-          "min_rect": [
-            [
-              1487.5767822265625,
-              2445.884521484375
-            ],
-            [
-              6.37905216217041,
-              10.816654205322266
-            ],
-            33.6900634765625
-          ],
-          "edit_type": "",
-          "confidence": 0.6624916891256968,
-          "pixel_area": 52,
-          "actual_area": 0.0313150032,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.3251644080734253,
-          "height": 1.6003005583190917,
-          "points": [
-            [
-              1972,
-              2428
-            ],
-            [
-              1970,
-              2431
-            ],
-            [
-              1969,
-              2436
-            ],
-            [
-              1964,
-              2440
-            ],
-            [
-              1961,
-              2452
-            ],
-            [
-              1955,
-              2462
-            ],
-            [
-              1951,
-              2478
-            ],
-            [
-              1951,
-              2483
-            ],
-            [
-              1948,
-              2487
-            ],
-            [
-              1948,
-              2489
-            ],
-            [
-              1955,
-              2490
-            ],
-            [
-              1964,
-              2479
-            ],
-            [
-              1964,
-              2472
-            ],
-            [
-              1966,
-              2466
-            ],
-            [
-              1967,
-              2455
-            ],
-            [
-              1972,
-              2443
-            ],
-            [
-              1974,
-              2433
-            ],
-            [
-              1974,
-              2430
-            ],
-            [
-              1972,
-              2428
-            ]
-          ],
-          "min_rect": [
-            [
-              1962.65185546875,
-              2459.242431640625
-            ],
-            [
-              13.250383377075195,
-              65.21192169189453
-            ],
-            15.64224624633789
-          ],
-          "edit_type": "",
-          "confidence": 0.7897693646519938,
-          "pixel_area": 551,
-          "actual_area": 0.3318185916,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.14267007513999938,
-          "height": 0.28534015027999876,
-          "points": [
-            [
-              1988,
-              2394
-            ],
-            [
-              1984,
-              2399
-            ],
-            [
-              1984,
-              2403
-            ],
-            [
-              1986,
-              2406
-            ],
-            [
-              1987,
-              2406
-            ],
-            [
-              1990,
-              2400
-            ],
-            [
-              1990,
-              2396
-            ],
-            [
-              1988,
-              2394
-            ]
-          ],
-          "min_rect": [
-            [
-              1986.80029296875,
-              2399.900390625
-            ],
-            [
-              5.81377649307251,
-              11.62755298614502
-            ],
-            26.56505012512207
-          ],
-          "edit_type": "",
-          "confidence": 0.6770828608739174,
-          "pixel_area": 48,
-          "actual_area": 0.0289061568,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.2479737633705139,
-          "height": 1.5263723854064941,
-          "points": [
-            [
-              339,
-              2394
-            ],
-            [
-              336,
-              2403
-            ],
-            [
-              331,
-              2406
-            ],
-            [
-              329,
-              2411
-            ],
-            [
-              324,
-              2414
-            ],
-            [
-              321,
-              2419
-            ],
-            [
-              314,
-              2424
-            ],
-            [
-              312,
-              2428
-            ],
-            [
-              307,
-              2432
-            ],
-            [
-              305,
-              2437
-            ],
-            [
-              302,
-              2439
-            ],
-            [
-              303,
-              2442
-            ],
-            [
-              307,
-              2446
-            ],
-            [
-              310,
-              2436
-            ],
-            [
-              318,
-              2432
-            ],
-            [
-              332,
-              2418
-            ],
-            [
-              334,
-              2415
-            ],
-            [
-              335,
-              2410
-            ],
-            [
-              340,
-              2406
-            ],
-            [
-              344,
-              2400
-            ],
-            [
-              343,
-              2395
-            ],
-            [
-              339,
-              2394
-            ]
-          ],
-          "min_rect": [
-            [
-              323.99920654296875,
-              2419.656982421875
-            ],
-            [
-              10.104880332946777,
-              62.199363708496094
-            ],
-            40.10091018676758
-          ],
-          "edit_type": "",
-          "confidence": 0.8219495481621902,
-          "pixel_area": 401,
-          "actual_area": 0.24148685159999997,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.16865147624015808,
-          "height": 0.4654131797790527,
-          "points": [
-            [
-              1996,
-              2372
-            ],
-            [
-              1989,
-              2384
-            ],
-            [
-              1991,
-              2388
-            ],
-            [
-              1995,
-              2391
-            ],
-            [
-              1996,
-              2377
-            ],
-            [
-              1997,
-              2376
-            ],
-            [
-              1996,
-              2372
-            ]
-          ],
-          "min_rect": [
-            [
-              1992.847412109375,
-              2381.146484375
-            ],
-            [
-              6.872513294219971,
-              18.965492248535156
-            ],
-            7.594643592834473
-          ],
-          "edit_type": "",
-          "confidence": 0.6869107517211334,
-          "pixel_area": 70.5,
-          "actual_area": 0.0424559178,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.24279504020690917,
-          "height": 0.37830853197097775,
-          "points": [
-            [
-              2001,
-              2351
-            ],
-            [
-              1998,
-              2354
-            ],
-            [
-              1997,
-              2361
-            ],
-            [
-              2001,
-              2363
-            ],
-            [
-              2004,
-              2363
-            ],
-            [
-              2008,
-              2355
-            ],
-            [
-              2011,
-              2352
-            ],
-            [
-              2010,
-              2351
-            ],
-            [
-              2001,
-              2351
-            ]
-          ],
-          "min_rect": [
-            [
-              2002.8529052734375,
-              2355.588134765625
-            ],
-            [
-              9.893848419189453,
-              15.415995597839355
-            ],
-            32.47119140625
-          ],
-          "edit_type": "",
-          "confidence": 0.5362307756911707,
-          "pixel_area": 108,
-          "actual_area": 0.06503885279999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.3151571667480469,
-          "height": 1.4275453015136719,
-          "points": [
-            [
-              2067,
-              2219
-            ],
-            [
-              2066,
-              2220
-            ],
-            [
-              2060,
-              2220
-            ],
-            [
-              2055,
-              2225
-            ],
-            [
-              2046,
-              2244
-            ],
-            [
-              2040,
-              2259
-            ],
-            [
-              2041,
-              2269
-            ],
-            [
-              2043,
-              2272
-            ],
-            [
-              2045,
-              2271
-            ],
-            [
-              2049,
-              2260
-            ],
-            [
-              2055,
-              2254
-            ],
-            [
-              2059,
-              2244
-            ],
-            [
-              2064,
-              2236
-            ],
-            [
-              2065,
-              2231
-            ],
-            [
-              2067,
-              2228
-            ],
-            [
-              2067,
-              2219
-            ]
-          ],
-          "min_rect": [
-            [
-              2052.8720703125,
-              2244.4921875
-            ],
-            [
-              12.84259033203125,
-              58.17218017578125
-            ],
-            25.34617805480957
-          ],
-          "edit_type": "",
-          "confidence": 0.8388051913025674,
-          "pixel_area": 569,
-          "actual_area": 0.34265840039999995,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.17178,
-          "height": 0.95706,
-          "points": [
-            [
-              2546,
-              2144
-            ],
-            [
-              2545,
-              2145
-            ],
-            [
-              2528,
-              2145
-            ],
-            [
-              2525,
-              2148
-            ],
-            [
-              2535,
-              2151
-            ],
-            [
-              2551,
-              2151
-            ],
-            [
-              2564,
-              2147
-            ],
-            [
-              2560,
-              2144
-            ],
-            [
-              2546,
-              2144
-            ]
-          ],
-          "min_rect": [
-            [
-              2544.5,
-              2147.5
-            ],
-            [
-              7,
-              39
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.7389973715775544,
-          "pixel_area": 201,
-          "actual_area": 0.12104453159999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.29447999999999996,
-          "height": 0.34356,
-          "points": [
-            [
-              1380,
-              2115
-            ],
-            [
-              1380,
-              2127
-            ],
-            [
-              1384,
-              2127
-            ],
-            [
-              1394,
-              2123
-            ],
-            [
-              1386,
-              2116
-            ],
-            [
-              1380,
-              2115
-            ]
-          ],
-          "min_rect": [
-            [
-              1387,
-              2121
-            ],
-            [
-              14,
-              12
-            ],
-            0
-          ],
-          "edit_type": "",
-          "confidence": 0.6914678201675415,
-          "pixel_area": 109,
-          "actual_area": 0.06564106439999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.23003998615264892,
-          "height": 3.4603137451171873,
-          "points": [
-            [
-              2598,
-              1994
-            ],
-            [
-              2595,
-              1995
-            ],
-            [
-              2595,
-              1996
-            ],
-            [
-              2605,
-              2000
-            ],
-            [
-              2608,
-              2000
-            ],
-            [
-              2612,
-              2003
-            ],
-            [
-              2633,
-              2004
-            ],
-            [
-              2641,
-              2006
-            ],
-            [
-              2669,
-              2009
-            ],
-            [
-              2673,
-              2011
-            ],
-            [
-              2699,
-              2013
-            ],
-            [
-              2712,
-              2017
-            ],
-            [
-              2719,
-              2017
-            ],
-            [
-              2722,
-              2019
-            ],
-            [
-              2729,
-              2019
-            ],
-            [
-              2730,
-              2020
-            ],
-            [
-              2734,
-              2019
-            ],
-            [
-              2732,
-              2015
-            ],
-            [
-              2733,
-              2012
-            ],
-            [
-              2729,
-              2011
-            ],
-            [
-              2716,
-              2011
-            ],
-            [
-              2706,
-              2008
-            ],
-            [
-              2688,
-              2006
-            ],
-            [
-              2684,
-              2004
-            ],
-            [
-              2667,
-              2003
-            ],
-            [
-              2666,
-              2002
-            ],
-            [
-              2642,
-              1999
-            ],
-            [
-              2641,
-              1998
-            ],
-            [
-              2626,
-              1997
-            ],
-            [
-              2625,
-              1996
-            ],
-            [
-              2598,
-              1994
-            ]
-          ],
-          "min_rect": [
-            [
-              2664.65673828125,
-              2005.9229736328125
-            ],
-            [
-              141.007080078125,
-              9.374082565307617
-            ],
-            8.27589225769043
-          ],
-          "edit_type": "",
-          "confidence": 0.8460136417452837,
-          "pixel_area": 929.5,
-          "actual_area": 0.5597556821999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.07361999999999999,
-          "height": 0.4908,
-          "points": [
-            [
-              2495,
-              1978
-            ],
-            [
-              2494,
-              1980
-            ],
-            [
-              2499,
-              1980
-            ],
-            [
-              2500,
-              1981
-            ],
-            [
-              2514,
-              1980
-            ],
-            [
-              2512,
-              1978
-            ],
-            [
-              2495,
-              1978
-            ]
-          ],
-          "min_rect": [
-            [
-              2504,
-              1979.5
-            ],
-            [
-              3,
-              20
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.7009090069267484,
-          "pixel_area": 44.5,
-          "actual_area": 0.026798416199999998,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -2,
-          "new_score": null,
-          "width": 0.41569871990203855,
-          "height": 7.554742498168945,
-          "points": [
-            [
-              2212,
-              1891
-            ],
-            [
-              2207,
-              1901
-            ],
-            [
-              2199,
-              1911
-            ],
-            [
-              2195,
-              1922
-            ],
-            [
-              2179,
-              1952
-            ],
-            [
-              2177,
-              1959
-            ],
-            [
-              2155,
-              2005
-            ],
-            [
-              2153,
-              2012
-            ],
-            [
-              2148,
-              2020
-            ],
-            [
-              2145,
-              2029
-            ],
-            [
-              2136,
-              2046
-            ],
-            [
-              2126,
-              2070
-            ],
-            [
-              2106,
-              2108
-            ],
-            [
-              2102,
-              2119
-            ],
-            [
-              2098,
-              2125
-            ],
-            [
-              2088,
-              2149
-            ],
-            [
-              2085,
-              2160
-            ],
-            [
-              2081,
-              2165
-            ],
-            [
-              2079,
-              2165
-            ],
-            [
-              2089,
-              2171
-            ],
-            [
-              2094,
-              2170
-            ],
-            [
-              2094,
-              2168
-            ],
-            [
-              2101,
-              2158
-            ],
-            [
-              2110,
-              2129
-            ],
-            [
-              2119,
-              2111
-            ],
-            [
-              2122,
-              2108
-            ],
-            [
-              2132,
-              2084
-            ],
-            [
-              2142,
-              2063
-            ],
-            [
-              2145,
-              2059
-            ],
-            [
-              2148,
-              2049
-            ],
-            [
-              2156,
-              2034
-            ],
-            [
-              2167,
-              2007
-            ],
-            [
-              2177,
-              1988
-            ],
-            [
-              2178,
-              1983
-            ],
-            [
-              2188,
-              1962
-            ],
-            [
-              2190,
-              1955
-            ],
-            [
-              2199,
-              1940
-            ],
-            [
-              2204,
-              1929
-            ],
-            [
-              2208,
-              1924
-            ],
-            [
-              2214,
-              1908
-            ],
-            [
-              2215,
-              1902
-            ],
-            [
-              2217,
-              1899
-            ],
-            [
-              2217,
-              1891
-            ],
-            [
-              2212,
-              1891
-            ]
-          ],
-          "min_rect": [
-            [
-              2151.580322265625,
-              2030.33349609375
-            ],
-            [
-              16.939638137817383,
-              307.8542175292969
-            ],
-            25.14928436279297
-          ],
-          "edit_type": "",
-          "confidence": 0.916850229582033,
-          "pixel_area": 3702,
-          "actual_area": 2.2293873432,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.04908,
-          "height": 0.1227,
-          "points": [
-            [
-              2235,
-              1848
-            ],
-            [
-              2234,
-              1851
-            ],
-            [
-              2235,
-              1853
-            ],
-            [
-              2236,
-              1852
-            ],
-            [
-              2236,
-              1848
-            ],
-            [
-              2235,
-              1848
-            ]
-          ],
-          "min_rect": [
-            [
-              2235,
-              1850.5
-            ],
-            [
-              5,
-              2
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.5555295472343762,
-          "pixel_area": 7,
-          "actual_area": 0.004215481199999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.09522918035030364,
-          "height": 0.10118100960731506,
-          "points": [
-            [
-              1448,
-              1847
-            ],
-            [
-              1446,
-              1848
-            ],
-            [
-              1445,
-              1851
-            ],
-            [
-              1449,
-              1851
-            ],
-            [
-              1448,
-              1847
-            ]
-          ],
-          "min_rect": [
-            [
-              1446.61767578125,
-              1849.4705810546875
-            ],
-            [
-              4.123105525970459,
-              3.8805696964263916
-            ],
-            75.96376037597656
-          ],
-          "edit_type": "",
-          "confidence": 0.5291305548614925,
-          "pixel_area": 10.5,
-          "actual_area": 0.0063232218,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.11208648791313171,
-          "height": 0.5155978561019897,
-          "points": [
-            [
-              1353,
-              1821
-            ],
-            [
-              1352,
-              1824
-            ],
-            [
-              1358,
-              1826
-            ],
-            [
-              1372,
-              1826
-            ],
-            [
-              1373,
-              1825
-            ],
-            [
-              1370,
-              1825
-            ],
-            [
-              1365,
-              1822
-            ],
-            [
-              1355,
-              1823
-            ],
-            [
-              1353,
-              1821
-            ]
-          ],
-          "min_rect": [
-            [
-              1362.53466796875,
-              1824.08642578125
-            ],
-            [
-              21.010507583618164,
-              4.567501544952393
-            ],
-            4.763641834259033
-          ],
-          "edit_type": "",
-          "confidence": 0.5440162420272827,
-          "pixel_area": 55.5,
-          "actual_area": 0.033422743799999995,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.3072893962097168,
-          "height": 1.4925484423828124,
-          "points": [
-            [
-              2277,
-              1759
-            ],
-            [
-              2274,
-              1763
-            ],
-            [
-              2268,
-              1769
-            ],
-            [
-              2263,
-              1782
-            ],
-            [
-              2256,
-              1791
-            ],
-            [
-              2255,
-              1796
-            ],
-            [
-              2248,
-              1807
-            ],
-            [
-              2251,
-              1814
-            ],
-            [
-              2258,
-              1812
-            ],
-            [
-              2262,
-              1807
-            ],
-            [
-              2264,
-              1797
-            ],
-            [
-              2272,
-              1781
-            ],
-            [
-              2276,
-              1776
-            ],
-            [
-              2278,
-              1768
-            ],
-            [
-              2278,
-              1763
-            ],
-            [
-              2277,
-              1759
-            ]
-          ],
-          "min_rect": [
-            [
-              2265.000244140625,
-              1787.0001220703125
-            ],
-            [
-              12.521980285644531,
-              60.821044921875
-            ],
-            26.56505012512207
-          ],
-          "edit_type": "",
-          "confidence": 0.8251014359075853,
-          "pixel_area": 507.5,
-          "actual_area": 0.305622387,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.0543215957736969,
-          "height": 0.08536251600265503,
-          "points": [
-            [
-              2284,
-              1750
-            ],
-            [
-              2282,
-              1751
-            ],
-            [
-              2283,
-              1754
-            ],
-            [
-              2284,
-              1753
-            ],
-            [
-              2284,
-              1750
-            ]
-          ],
-          "min_rect": [
-            [
-              2283.5,
-              1752.000244140625
-            ],
-            [
-              3.4785051345825195,
-              2.2135939598083496
-            ],
-            71.56504821777344
-          ],
-          "edit_type": "",
-          "confidence": 0.6079222510258356,
-          "pixel_area": 5,
-          "actual_area": 0.0030110579999999996,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.1765411170387268,
-          "height": 0.9100998589324951,
-          "points": [
-            [
-              1535,
-              1716
-            ],
-            [
-              1533,
-              1718
-            ],
-            [
-              1533,
-              1720
-            ],
-            [
-              1535,
-              1721
-            ],
-            [
-              1545,
-              1720
-            ],
-            [
-              1553,
-              1723
-            ],
-            [
-              1566,
-              1724
-            ],
-            [
-              1567,
-              1725
-            ],
-            [
-              1570,
-              1721
-            ],
-            [
-              1567,
-              1718
-            ],
-            [
-              1562,
-              1718
-            ],
-            [
-              1561,
-              1717
-            ],
-            [
-              1553,
-              1717
-            ],
-            [
-              1552,
-              1716
-            ],
-            [
-              1543,
-              1719
-            ],
-            [
-              1535,
-              1716
-            ]
-          ],
-          "min_rect": [
-            [
-              1551.5079345703125,
-              1719.4385986328125
-            ],
-            [
-              37.08638381958008,
-              7.194014549255371
-            ],
-            7.125016689300537
-          ],
-          "edit_type": "",
-          "confidence": 0.7643136592138382,
-          "pixel_area": 167,
-          "actual_area": 0.1005693372,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.04908,
-          "height": 0.14723999999999998,
-          "points": [
-            [
-              2308,
-              1708
-            ],
-            [
-              2306,
-              1710
-            ],
-            [
-              2307,
-              1714
-            ],
-            [
-              2308,
-              1713
-            ],
-            [
-              2308,
-              1708
-            ]
-          ],
-          "min_rect": [
-            [
-              2307,
-              1711
-            ],
-            [
-              6,
-              2
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.5997184550060946,
-          "pixel_area": 7.5,
-          "actual_area": 0.004516587,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.23060393228530884,
-          "height": 1.4964723110961913,
-          "points": [
-            [
-              2236,
-              1684
-            ],
-            [
-              2233,
-              1686
-            ],
-            [
-              2228,
-              1687
-            ],
-            [
-              2202,
-              1687
-            ],
-            [
-              2196,
-              1685
-            ],
-            [
-              2189,
-              1687
-            ],
-            [
-              2196,
-              1691
-            ],
-            [
-              2212,
-              1694
-            ],
-            [
-              2228,
-              1693
-            ],
-            [
-              2250,
-              1687
-            ],
-            [
-              2247,
-              1685
-            ],
-            [
-              2236,
-              1684
-            ]
-          ],
-          "min_rect": [
-            [
-              2219.552734375,
-              1689.1114501953125
-            ],
-            [
-              9.397063255310059,
-              60.98094177246094
-            ],
-            88.56790161132812
-          ],
-          "edit_type": "",
-          "confidence": 0.8179798937157581,
-          "pixel_area": 324,
-          "actual_area": 0.19511655839999997,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.22920285484313965,
-          "height": 1.4483247869110107,
-          "points": [
-            [
-              1306,
-              1678
-            ],
-            [
-              1302,
-              1679
-            ],
-            [
-              1302,
-              1680
-            ],
-            [
-              1309,
-              1684
-            ],
-            [
-              1315,
-              1690
-            ],
-            [
-              1321,
-              1692
-            ],
-            [
-              1324,
-              1696
-            ],
-            [
-              1328,
-              1698
-            ],
-            [
-              1332,
-              1703
-            ],
-            [
-              1335,
-              1704
-            ],
-            [
-              1339,
-              1708
-            ],
-            [
-              1340,
-              1712
-            ],
-            [
-              1343,
-              1712
-            ],
-            [
-              1348,
-              1716
-            ],
-            [
-              1348,
-              1711
-            ],
-            [
-              1343,
-              1707
-            ],
-            [
-              1343,
-              1704
-            ],
-            [
-              1334,
-              1695
-            ],
-            [
-              1328,
-              1692
-            ],
-            [
-              1326,
-              1690
-            ],
-            [
-              1326,
-              1688
-            ],
-            [
-              1318,
-              1685
-            ],
-            [
-              1313,
-              1680
-            ],
-            [
-              1306,
-              1678
-            ]
-          ],
-          "min_rect": [
-            [
-              1327.0875244140625,
-              1695.02099609375
-            ],
-            [
-              59.01893997192383,
-              9.339969635009766
-            ],
-            40.10091018676758
-          ],
-          "edit_type": "",
-          "confidence": 0.8568923356776067,
-          "pixel_area": 309.5,
-          "actual_area": 0.18638449019999997,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -2,
-          "new_score": null,
-          "width": 0.3661707598686218,
-          "height": 5.795503913269043,
-          "points": [
-            [
-              2084,
-              1669
-            ],
-            [
-              2071,
-              1672
-            ],
-            [
-              2058,
-              1672
-            ],
-            [
-              2052,
-              1678
-            ],
-            [
-              2043,
-              1673
-            ],
-            [
-              2034,
-              1675
-            ],
-            [
-              1994,
-              1675
-            ],
-            [
-              1972,
-              1680
-            ],
-            [
-              1965,
-              1680
-            ],
-            [
-              1960,
-              1682
-            ],
-            [
-              1940,
-              1683
-            ],
-            [
-              1936,
-              1688
-            ],
-            [
-              1950,
-              1690
-            ],
-            [
-              1951,
-              1689
-            ],
-            [
-              1963,
-              1689
-            ],
-            [
-              1964,
-              1688
-            ],
-            [
-              1975,
-              1687
-            ],
-            [
-              1978,
-              1685
-            ],
-            [
-              1987,
-              1684
-            ],
-            [
-              1997,
-              1681
-            ],
-            [
-              2035,
-              1681
-            ],
-            [
-              2036,
-              1680
-            ],
-            [
-              2050,
-              1680
-            ],
-            [
-              2051,
-              1679
-            ],
-            [
-              2063,
-              1680
-            ],
-            [
-              2071,
-              1678
-            ],
-            [
-              2085,
-              1679
-            ],
-            [
-              2092,
-              1677
-            ],
-            [
-              2104,
-              1677
-            ],
-            [
-              2105,
-              1676
-            ],
-            [
-              2128,
-              1676
-            ],
-            [
-              2131,
-              1678
-            ],
-            [
-              2146,
-              1679
-            ],
-            [
-              2147,
-              1680
-            ],
-            [
-              2171,
-              1680
-            ],
-            [
-              2172,
-              1679
-            ],
-            [
-              2166,
-              1677
-            ],
-            [
-              2154,
-              1677
-            ],
-            [
-              2146,
-              1672
-            ],
-            [
-              2140,
-              1672
-            ],
-            [
-              2139,
-              1671
-            ],
-            [
-              2128,
-              1671
-            ],
-            [
-              2127,
-              1670
-            ],
-            [
-              2118,
-              1670
-            ],
-            [
-              2117,
-              1669
-            ],
-            [
-              2084,
-              1669
-            ]
-          ],
-          "min_rect": [
-            [
-              2053.74365234375,
-              1677.8375244140625
-            ],
-            [
-              14.92138385772705,
-              236.1656036376953
-            ],
-            87.40919494628906
-          ],
-          "edit_type": "",
-          "confidence": 0.8405512515210258,
-          "pixel_area": 1493.5,
-          "actual_area": 0.8994030245999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.6737736883163452,
-          "height": 1.2023092835998535,
-          "points": [
-            [
-              2612,
-              1635
-            ],
-            [
-              2609,
-              1640
-            ],
-            [
-              2609,
-              1648
-            ],
-            [
-              2606,
-              1651
-            ],
-            [
-              2604,
-              1651
-            ],
-            [
-              2602,
-              1659
-            ],
-            [
-              2600,
-              1662
-            ],
-            [
-              2600,
-              1668
-            ],
-            [
-              2602,
-              1673
-            ],
-            [
-              2601,
-              1681
-            ],
-            [
-              2603,
-              1683
-            ],
-            [
-              2604,
-              1687
-            ],
-            [
-              2611,
-              1683
-            ],
-            [
-              2621,
-              1684
-            ],
-            [
-              2622,
-              1683
-            ],
-            [
-              2623,
-              1683
-            ],
-            [
-              2624,
-              1682
-            ],
-            [
-              2625,
-              1682
-            ],
-            [
-              2626,
-              1681
-            ],
-            [
-              2627,
-              1681
-            ],
-            [
-              2628,
-              1680
-            ],
-            [
-              2630,
-              1680
-            ],
-            [
-              2612,
-              1679
-            ],
-            [
-              2606,
-              1674
-            ],
-            [
-              2609,
-              1657
-            ],
-            [
-              2614,
-              1641
-            ],
-            [
-              2614,
-              1638
-            ],
-            [
-              2612,
-              1635
-            ]
-          ],
-          "min_rect": [
-            [
-              2608.640625,
-              1662.4942626953125
-            ],
-            [
-              48.993858337402344,
-              27.456140518188477
-            ],
-            69.14553833007812
-          ],
-          "edit_type": "",
-          "confidence": 0.6858313191850796,
-          "pixel_area": 361.5,
-          "actual_area": 0.21769949339999997,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.06125554481506348,
-          "height": 0.09528640694618225,
-          "points": [
-            [
-              1527,
-              1422
-            ],
-            [
-              1526,
-              1423
-            ],
-            [
-              1527,
-              1425
-            ],
-            [
-              1530,
-              1424
-            ],
-            [
-              1527,
-              1422
-            ]
-          ],
-          "min_rect": [
-            [
-              1527.6922607421875,
-              1423.96142578125
-            ],
-            [
-              3.882901668548584,
-              2.4961509704589844
-            ],
-            33.690067291259766
-          ],
-          "edit_type": "",
-          "confidence": 0.580615703876202,
-          "pixel_area": 6,
-          "actual_area": 0.0036132696,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.1650302689933777,
-          "height": 1.9865986743164061,
-          "points": [
-            [
-              2726,
-              1328
-            ],
-            [
-              2725,
-              1329
-            ],
-            [
-              2701,
-              1329
-            ],
-            [
-              2700,
-              1330
-            ],
-            [
-              2674,
-              1329
-            ],
-            [
-              2673,
-              1330
-            ],
-            [
-              2663,
-              1330
-            ],
-            [
-              2653,
-              1332
-            ],
-            [
-              2658,
-              1335
-            ],
-            [
-              2665,
-              1335
-            ],
-            [
-              2666,
-              1336
-            ],
-            [
-              2681,
-              1335
-            ],
-            [
-              2682,
-              1334
-            ],
-            [
-              2725,
-              1334
-            ],
-            [
-              2734,
-              1332
-            ],
-            [
-              2732,
-              1329
-            ],
-            [
-              2726,
-              1328
-            ]
-          ],
-          "min_rect": [
-            [
-              2693.489990234375,
-              1331.7037353515625
-            ],
-            [
-              6.724949836730957,
-              80.9534912109375
-            ],
-            88.05851745605469
-          ],
-          "edit_type": "",
-          "confidence": 0.8546230736146099,
-          "pixel_area": 381.5,
-          "actual_area": 0.2297437254,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -4,
-          "new_score": null,
-          "width": 5.008368510131835,
-          "height": 32.570310593261716,
-          "points": [
-            [
-              2180,
-              1303
-            ],
-            [
-              2171,
-              1308
-            ],
-            [
-              2158,
-              1324
-            ],
-            [
-              2153,
-              1328
-            ],
-            [
-              2150,
-              1333
-            ],
-            [
-              2131,
-              1353
-            ],
-            [
-              2115,
-              1374
-            ],
-            [
-              2108,
-              1380
-            ],
-            [
-              2107,
-              1384
-            ],
-            [
-              2076,
-              1420
-            ],
-            [
-              2063,
-              1437
-            ],
-            [
-              2050,
-              1457
-            ],
-            [
-              2032,
-              1480
-            ],
-            [
-              2009,
-              1515
-            ],
-            [
-              1999,
-              1527
-            ],
-            [
-              1992,
-              1538
-            ],
-            [
-              1987,
-              1543
-            ],
-            [
-              1967,
-              1573
-            ],
-            [
-              1961,
-              1584
-            ],
-            [
-              1937,
-              1618
-            ],
-            [
-              1930,
-              1632
-            ],
-            [
-              1904,
-              1672
-            ],
-            [
-              1902,
-              1677
-            ],
-            [
-              1897,
-              1683
-            ],
-            [
-              1894,
-              1691
-            ],
-            [
-              1891,
-              1694
-            ],
-            [
-              1880,
-              1713
-            ],
-            [
-              1867,
-              1731
-            ],
-            [
-              1853,
-              1758
-            ],
-            [
-              1827,
-              1795
-            ],
-            [
-              1805,
-              1838
-            ],
-            [
-              1803,
-              1840
-            ],
-            [
-              1801,
-              1840
-            ],
-            [
-              1801,
-              1843
-            ],
-            [
-              1791,
-              1858
-            ],
-            [
-              1778,
-              1882
-            ],
-            [
-              1764,
-              1903
-            ],
-            [
-              1755,
-              1921
-            ],
-            [
-              1752,
-              1924
-            ],
-            [
-              1731,
-              1962
-            ],
-            [
-              1724,
-              1977
-            ],
-            [
-              1722,
-              1979
-            ],
-            [
-              1722,
-              1981
-            ],
-            [
-              1713,
-              1995
-            ],
-            [
-              1706,
-              2010
-            ],
-            [
-              1696,
-              2027
-            ],
-            [
-              1690,
-              2041
-            ],
-            [
-              1671,
-              2074
-            ],
-            [
-              1671,
-              2076
-            ],
-            [
-              1666,
-              2084
-            ],
-            [
-              1666,
-              2086
-            ],
-            [
-              1662,
-              2092
-            ],
-            [
-              1655,
-              2108
-            ],
-            [
-              1648,
-              2114
-            ],
-            [
-              1642,
-              2114
-            ],
-            [
-              1641,
-              2113
-            ],
-            [
-              1600,
-              2113
-            ],
-            [
-              1599,
-              2112
-            ],
-            [
-              1553,
-              2112
-            ],
-            [
-              1552,
-              2113
-            ],
-            [
-              1497,
-              2112
-            ],
-            [
-              1496,
-              2113
-            ],
-            [
-              1479,
-              2113
-            ],
-            [
-              1467,
-              2116
-            ],
-            [
-              1473,
-              2120
-            ],
-            [
-              1492,
-              2120
-            ],
-            [
-              1493,
-              2121
-            ],
-            [
-              1500,
-              2121
-            ],
-            [
-              1501,
-              2120
-            ],
-            [
-              1506,
-              2120
-            ],
-            [
-              1507,
-              2121
-            ],
-            [
-              1602,
-              2120
-            ],
-            [
-              1603,
-              2121
-            ],
-            [
-              1643,
-              2121
-            ],
-            [
-              1647,
-              2123
-            ],
-            [
-              1644,
-              2127
-            ],
-            [
-              1643,
-              2134
-            ],
-            [
-              1637,
-              2142
-            ],
-            [
-              1625,
-              2164
-            ],
-            [
-              1625,
-              2166
-            ],
-            [
-              1613,
-              2189
-            ],
-            [
-              1606,
-              2206
-            ],
-            [
-              1583,
-              2251
-            ],
-            [
-              1567,
-              2289
-            ],
-            [
-              1562,
-              2299
-            ],
-            [
-              1560,
-              2300
-            ],
-            [
-              1560,
-              2303
-            ],
-            [
-              1556,
-              2310
-            ],
-            [
-              1556,
-              2312
-            ],
-            [
-              1537,
-              2347
-            ],
-            [
-              1537,
-              2349
-            ],
-            [
-              1519,
-              2387
-            ],
-            [
-              1511,
-              2400
-            ],
-            [
-              1511,
-              2402
-            ],
-            [
-              1506,
-              2411
-            ],
-            [
-              1502,
-              2415
-            ],
-            [
-              1501,
-              2422
-            ],
-            [
-              1491,
-              2431
-            ],
-            [
-              1491,
-              2438
-            ],
-            [
-              1496,
-              2438
-            ],
-            [
-              1504,
-              2431
-            ],
-            [
-              1507,
-              2425
-            ],
-            [
-              1513,
-              2420
-            ],
-            [
-              1516,
-              2414
-            ],
-            [
-              1520,
-              2410
-            ],
-            [
-              1520,
-              2408
-            ],
-            [
-              1533,
-              2387
-            ],
-            [
-              1546,
-              2360
-            ],
-            [
-              1552,
-              2351
-            ],
-            [
-              1552,
-              2348
-            ],
-            [
-              1556,
-              2342
-            ],
-            [
-              1556,
-              2340
-            ],
-            [
-              1565,
-              2323
-            ],
-            [
-              1577,
-              2294
-            ],
-            [
-              1591,
-              2267
-            ],
-            [
-              1601,
-              2242
-            ],
-            [
-              1604,
-              2238
-            ],
-            [
-              1605,
-              2234
-            ],
-            [
-              1608,
-              2230
-            ],
-            [
-              1608,
-              2228
-            ],
-            [
-              1611,
-              2224
-            ],
-            [
-              1623,
-              2199
-            ],
-            [
-              1629,
-              2190
-            ],
-            [
-              1630,
-              2186
-            ],
-            [
-              1643,
-              2161
-            ],
-            [
-              1645,
-              2154
-            ],
-            [
-              1660,
-              2125
-            ],
-            [
-              1664,
-              2121
-            ],
-            [
-              1669,
-              2122
-            ],
-            [
-              1701,
-              2121
-            ],
-            [
-              1705,
-              2120
-            ],
-            [
-              1710,
-              2116
-            ],
-            [
-              1706,
-              2113
-            ],
-            [
-              1673,
-              2113
-            ],
-            [
-              1668,
-              2109
-            ],
-            [
-              1668,
-              2106
-            ],
-            [
-              1677,
-              2095
-            ],
-            [
-              1707,
-              2037
-            ],
-            [
-              1721,
-              2014
-            ],
-            [
-              1731,
-              1994
-            ],
-            [
-              1736,
-              1987
-            ],
-            [
-              1742,
-              1974
-            ],
-            [
-              1752,
-              1957
-            ],
-            [
-              1753,
-              1953
-            ],
-            [
-              1772,
-              1923
-            ],
-            [
-              1774,
-              1916
-            ],
-            [
-              1779,
-              1909
-            ],
-            [
-              1783,
-              1899
-            ],
-            [
-              1789,
-              1891
-            ],
-            [
-              1789,
-              1888
-            ],
-            [
-              1793,
-              1885
-            ],
-            [
-              1806,
-              1860
-            ],
-            [
-              1818,
-              1843
-            ],
-            [
-              1818,
-              1840
-            ],
-            [
-              1826,
-              1829
-            ],
-            [
-              1828,
-              1823
-            ],
-            [
-              1844,
-              1793
-            ],
-            [
-              1847,
-              1788
-            ],
-            [
-              1851,
-              1785
-            ],
-            [
-              1860,
-              1770
-            ],
-            [
-              1865,
-              1757
-            ],
-            [
-              1887,
-              1723
-            ],
-            [
-              1889,
-              1721
-            ],
-            [
-              1891,
-              1721
-            ],
-            [
-              1891,
-              1717
-            ],
-            [
-              1896,
-              1710
-            ],
-            [
-              1905,
-              1692
-            ],
-            [
-              1919,
-              1674
-            ],
-            [
-              1925,
-              1663
-            ],
-            [
-              1932,
-              1654
-            ],
-            [
-              1937,
-              1644
-            ],
-            [
-              1940,
-              1641
-            ],
-            [
-              1942,
-              1636
-            ],
-            [
-              1962,
-              1608
-            ],
-            [
-              1971,
-              1592
-            ],
-            [
-              1982,
-              1577
-            ],
-            [
-              1984,
-              1572
-            ],
-            [
-              1998,
-              1552
-            ],
-            [
-              1999,
-              1549
-            ],
-            [
-              2015,
-              1528
-            ],
-            [
-              2016,
-              1525
-            ],
-            [
-              2021,
-              1520
-            ],
-            [
-              2041,
-              1489
-            ],
-            [
-              2056,
-              1471
-            ],
-            [
-              2076,
-              1443
-            ],
-            [
-              2092,
-              1424
-            ],
-            [
-              2097,
-              1415
-            ],
-            [
-              2104,
-              1407
-            ],
-            [
-              2111,
-              1396
-            ],
-            [
-              2116,
-              1391
-            ],
-            [
-              2125,
-              1377
-            ],
-            [
-              2144,
-              1353
-            ],
-            [
-              2148,
-              1350
-            ],
-            [
-              2151,
-              1345
-            ],
-            [
-              2164,
-              1331
-            ],
-            [
-              2166,
-              1327
-            ],
-            [
-              2172,
-              1322
-            ],
-            [
-              2177,
-              1316
-            ],
-            [
-              2178,
-              1313
-            ],
-            [
-              2183,
-              1308
-            ],
-            [
-              2183,
-              1305
-            ],
-            [
-              2180,
-              1303
-            ]
-          ],
-          "min_rect": [
-            [
-              1773.182861328125,
-              1830.22705078125
-            ],
-            [
-              204.08999633789062,
-              1327.2335205078125
-            ],
-            32.87290573120117
-          ],
-          "edit_type": "",
-          "confidence": 0.9463925904482131,
-          "pixel_area": 19049,
-          "actual_area": 11.471528768399999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.24049200468063353,
-          "height": 1.845408112335205,
-          "points": [
-            [
-              2083,
-              1263
-            ],
-            [
-              2079,
-              1267
-            ],
-            [
-              2086,
-              1277
-            ],
-            [
-              2100,
-              1288
-            ],
-            [
-              2102,
-              1288
-            ],
-            [
-              2107,
-              1293
-            ],
-            [
-              2112,
-              1295
-            ],
-            [
-              2124,
-              1304
-            ],
-            [
-              2126,
-              1304
-            ],
-            [
-              2132,
-              1310
-            ],
-            [
-              2137,
-              1310
-            ],
-            [
-              2139,
-              1312
-            ],
-            [
-              2140,
-              1311
-            ],
-            [
-              2140,
-              1308
-            ],
-            [
-              2131,
-              1299
-            ],
-            [
-              2125,
-              1296
-            ],
-            [
-              2115,
-              1288
-            ],
-            [
-              2111,
-              1287
-            ],
-            [
-              2108,
-              1283
-            ],
-            [
-              2104,
-              1281
-            ],
-            [
-              2083,
-              1263
-            ]
-          ],
-          "min_rect": [
-            [
-              2109.5,
-              1289
-            ],
-            [
-              75.20000457763672,
-              9.800000190734863
-            ],
-            36.869895935058594
-          ],
-          "edit_type": "",
-          "confidence": 0.8737400616807348,
-          "pixel_area": 543.5,
-          "actual_area": 0.3273020046,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.14723999999999998,
-          "height": 0.34356,
-          "points": [
-            [
-              2075,
-              1231
-            ],
-            [
-              2072,
-              1233
-            ],
-            [
-              2072,
-              1238
-            ],
-            [
-              2075,
-              1245
-            ],
-            [
-              2076,
-              1245
-            ],
-            [
-              2078,
-              1240
-            ],
-            [
-              2078,
-              1235
-            ],
-            [
-              2075,
-              1231
-            ]
-          ],
-          "min_rect": [
-            [
-              2075,
-              1238
-            ],
-            [
-              6,
-              14
-            ],
-            0
-          ],
-          "edit_type": "",
-          "confidence": 0.7788881278700298,
-          "pixel_area": 59.5,
-          "actual_area": 0.0358315902,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.25103911027908327,
-          "height": 0.8501096765899658,
-          "points": [
-            [
-              2036,
-              1208
-            ],
-            [
-              2035,
-              1209
-            ],
-            [
-              2035,
-              1219
-            ],
-            [
-              2041,
-              1221
-            ],
-            [
-              2044,
-              1224
-            ],
-            [
-              2045,
-              1227
-            ],
-            [
-              2049,
-              1228
-            ],
-            [
-              2064,
-              1228
-            ],
-            [
-              2055,
-              1226
-            ],
-            [
-              2052,
-              1224
-            ],
-            [
-              2047,
-              1224
-            ],
-            [
-              2045,
-              1222
-            ],
-            [
-              2045,
-              1220
-            ],
-            [
-              2039,
-              1219
-            ],
-            [
-              2037,
-              1217
-            ],
-            [
-              2036,
-              1208
-            ]
-          ],
-          "min_rect": [
-            [
-              2046.9322509765625,
-              1222.0946044921875
-            ],
-            [
-              34.64179611206055,
-              10.229792594909668
-            ],
-            35.53767776489258
-          ],
-          "edit_type": "",
-          "confidence": 0.6553818779860356,
-          "pixel_area": 85,
-          "actual_area": 0.051187986,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.2786226922416687,
-          "height": 0.8069310193634033,
-          "points": [
-            [
-              1503,
-              1117
-            ],
-            [
-              1499,
-              1120
-            ],
-            [
-              1497,
-              1120
-            ],
-            [
-              1495,
-              1122
-            ],
-            [
-              1495,
-              1124
-            ],
-            [
-              1507,
-              1125
-            ],
-            [
-              1510,
-              1128
-            ],
-            [
-              1510,
-              1131
-            ],
-            [
-              1512,
-              1133
-            ],
-            [
-              1516,
-              1133
-            ],
-            [
-              1519,
-              1136
-            ],
-            [
-              1520,
-              1140
-            ],
-            [
-              1522,
-              1136
-            ],
-            [
-              1527,
-              1133
-            ],
-            [
-              1527,
-              1131
-            ],
-            [
-              1517,
-              1130
-            ],
-            [
-              1511,
-              1123
-            ],
-            [
-              1507,
-              1122
-            ],
-            [
-              1503,
-              1117
-            ]
-          ],
-          "min_rect": [
-            [
-              1510.9998779296875,
-              1127.4998779296875
-            ],
-            [
-              32.88227462768555,
-              11.3538179397583
-            ],
-            32.61924362182617
-          ],
-          "edit_type": "",
-          "confidence": 0.6445649621241233,
-          "pixel_area": 171.5,
-          "actual_area": 0.10327928939999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.04908,
-          "height": 0.44172,
-          "points": [
-            [
-              2676,
-              1108
-            ],
-            [
-              2683,
-              1110
-            ],
-            [
-              2689,
-              1110
-            ],
-            [
-              2694,
-              1108
-            ],
-            [
-              2676,
-              1108
-            ]
-          ],
-          "min_rect": [
-            [
-              2685,
-              1109
-            ],
-            [
-              2,
-              18
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.7024675607681274,
-          "pixel_area": 24,
-          "actual_area": 0.0144530784,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.18929515305519104,
-          "height": 2.2084434796142576,
-          "points": [
-            [
-              2669,
-              1084
-            ],
-            [
-              2666,
-              1087
-            ],
-            [
-              2654,
-              1086
-            ],
-            [
-              2645,
-              1088
-            ],
-            [
-              2639,
-              1091
-            ],
-            [
-              2644,
-              1091
-            ],
-            [
-              2645,
-              1092
-            ],
-            [
-              2677,
-              1091
-            ],
-            [
-              2679,
-              1089
-            ],
-            [
-              2685,
-              1089
-            ],
-            [
-              2686,
-              1088
-            ],
-            [
-              2687,
-              1089
-            ],
-            [
-              2701,
-              1089
-            ],
-            [
-              2705,
-              1091
-            ],
-            [
-              2710,
-              1091
-            ],
-            [
-              2714,
-              1088
-            ],
-            [
-              2718,
-              1087
-            ],
-            [
-              2723,
-              1088
-            ],
-            [
-              2725,
-              1091
-            ],
-            [
-              2729,
-              1091
-            ],
-            [
-              2728,
-              1084
-            ],
-            [
-              2669,
-              1084
-            ]
-          ],
-          "min_rect": [
-            [
-              2683.9609375,
-              1087.67919921875
-            ],
-            [
-              7.713738918304443,
-              89.99362182617188
-            ],
-            89.31793975830078
-          ],
-          "edit_type": "",
-          "confidence": 0.6735787573150263,
-          "pixel_area": 457,
-          "actual_area": 0.27521070119999996,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.292721813621521,
-          "height": 3.027059326171875,
-          "points": [
-            [
-              1380,
-              1018
-            ],
-            [
-              1380,
-              1029
-            ],
-            [
-              1386,
-              1030
-            ],
-            [
-              1391,
-              1036
-            ],
-            [
-              1395,
-              1037
-            ],
-            [
-              1402,
-              1044
-            ],
-            [
-              1407,
-              1046
-            ],
-            [
-              1413,
-              1052
-            ],
-            [
-              1415,
-              1052
-            ],
-            [
-              1424,
-              1057
-            ],
-            [
-              1428,
-              1063
-            ],
-            [
-              1434,
-              1064
-            ],
-            [
-              1462,
-              1088
-            ],
-            [
-              1467,
-              1089
-            ],
-            [
-              1472,
-              1094
-            ],
-            [
-              1478,
-              1093
-            ],
-            [
-              1473,
-              1088
-            ],
-            [
-              1472,
-              1084
-            ],
-            [
-              1458,
-              1073
-            ],
-            [
-              1455,
-              1069
-            ],
-            [
-              1450,
-              1067
-            ],
-            [
-              1447,
-              1064
-            ],
-            [
-              1445,
-              1064
-            ],
-            [
-              1439,
-              1058
-            ],
-            [
-              1436,
-              1057
-            ],
-            [
-              1431,
-              1051
-            ],
-            [
-              1427,
-              1050
-            ],
-            [
-              1400,
-              1031
-            ],
-            [
-              1396,
-              1030
-            ],
-            [
-              1392,
-              1024
-            ],
-            [
-              1385,
-              1018
-            ],
-            [
-              1380,
-              1018
-            ]
-          ],
-          "min_rect": [
-            [
-              1428.332275390625,
-              1056.4281005859375
-            ],
-            [
-              123.35205078125,
-              11.928354263305664
-            ],
-            35.7354736328125
-          ],
-          "edit_type": "",
-          "confidence": 0.8126698072364749,
-          "pixel_area": 1009,
-          "actual_area": 0.6076315043999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.17790185912132261,
-          "height": 0.8346562841033935,
-          "points": [
-            [
-              1139,
-              939
-            ],
-            [
-              1136,
-              940
-            ],
-            [
-              1139,
-              945
-            ],
-            [
-              1140,
-              956
-            ],
-            [
-              1145,
-              957
-            ],
-            [
-              1144,
-              960
-            ],
-            [
-              1147,
-              967
-            ],
-            [
-              1147,
-              971
-            ],
-            [
-              1150,
-              971
-            ],
-            [
-              1148,
-              956
-            ],
-            [
-              1147,
-              954
-            ],
-            [
-              1144,
-              955
-            ],
-            [
-              1141,
-              952
-            ],
-            [
-              1139,
-              939
-            ]
-          ],
-          "min_rect": [
-            [
-              1143.6297607421875,
-              955.2062377929688
-            ],
-            [
-              34.0120735168457,
-              7.249464511871338
-            ],
-            64.98310089111328
-          ],
-          "edit_type": "",
-          "confidence": 0.6060899951421853,
-          "pixel_area": 90,
-          "actual_area": 0.054199043999999995,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.04908,
-          "height": 0.29447999999999996,
-          "points": [
-            [
-              2619,
-              550
-            ],
-            [
-              2617,
-              552
-            ],
-            [
-              2629,
-              552
-            ],
-            [
-              2629,
-              551
-            ],
-            [
-              2619,
-              550
-            ]
-          ],
-          "min_rect": [
-            [
-              2623,
-              551
-            ],
-            [
-              12,
-              2
-            ],
-            0
-          ],
-          "edit_type": "",
-          "confidence": 0.6293637829442178,
-          "pixel_area": 17,
-          "actual_area": 0.010237597199999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.2921990804672241,
-          "height": 1.667253651123047,
-          "points": [
-            [
-              2667,
-              544
-            ],
-            [
-              2662,
-              549
-            ],
-            [
-              2661,
-              552
-            ],
-            [
-              2664,
-              554
-            ],
-            [
-              2668,
-              554
-            ],
-            [
-              2680,
-              559
-            ],
-            [
-              2724,
-              559
-            ],
-            [
-              2725,
-              560
-            ],
-            [
-              2729,
-              559
-            ],
-            [
-              2727,
-              557
-            ],
-            [
-              2726,
-              558
-            ],
-            [
-              2722,
-              558
-            ],
-            [
-              2721,
-              559
-            ],
-            [
-              2718,
-              559
-            ],
-            [
-              2717,
-              558
-            ],
-            [
-              2712,
-              558
-            ],
-            [
-              2711,
-              557
-            ],
-            [
-              2704,
-              557
-            ],
-            [
-              2700,
-              554
-            ],
-            [
-              2700,
-              552
-            ],
-            [
-              2685,
-              551
-            ],
-            [
-              2679,
-              549
-            ],
-            [
-              2676,
-              546
-            ],
-            [
-              2667,
-              544
-            ]
-          ],
-          "min_rect": [
-            [
-              2694.86376953125,
-              556.1287231445312
-            ],
-            [
-              67.94024658203125,
-              11.907052993774414
-            ],
-            12.225123405456543
-          ],
-          "edit_type": "",
-          "confidence": 0.7466291996884835,
-          "pixel_area": 375.5,
-          "actual_area": 0.2261304558,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.21949243589401243,
-          "height": 0.8340712049102783,
-          "points": [
-            [
-              2723,
-              510
-            ],
-            [
-              2721,
-              512
-            ],
-            [
-              2719,
-              512
-            ],
-            [
-              2714,
-              517
-            ],
-            [
-              2708,
-              519
-            ],
-            [
-              2707,
-              524
-            ],
-            [
-              2703,
-              527
-            ],
-            [
-              2707,
-              528
-            ],
-            [
-              2714,
-              523
-            ],
-            [
-              2725,
-              519
-            ],
-            [
-              2733,
-              512
-            ],
-            [
-              2733,
-              511
-            ],
-            [
-              2730,
-              510
-            ],
-            [
-              2723,
-              510
-            ]
-          ],
-          "min_rect": [
-            [
-              2717.400390625,
-              517.7999877929688
-            ],
-            [
-              8.9442720413208,
-              33.98823165893555
-            ],
-            63.43495178222656
-          ],
-          "edit_type": "",
-          "confidence": 0.7984799097725244,
-          "pixel_area": 192,
-          "actual_area": 0.1156246272,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -1,
-          "new_score": null,
-          "width": 0.23772694381713866,
-          "height": 2.2195255348205567,
-          "points": [
-            [
-              2598,
-              499
-            ],
-            [
-              2597,
-              500
-            ],
-            [
-              2592,
-              500
-            ],
-            [
-              2588,
-              503
-            ],
-            [
-              2603,
-              507
-            ],
-            [
-              2627,
-              507
-            ],
-            [
-              2628,
-              508
-            ],
-            [
-              2646,
-              509
-            ],
-            [
-              2658,
-              512
-            ],
-            [
-              2668,
-              512
-            ],
-            [
-              2669,
-              513
-            ],
-            [
-              2678,
-              512
-            ],
-            [
-              2669,
-              507
-            ],
-            [
-              2666,
-              504
-            ],
-            [
-              2645,
-              502
-            ],
-            [
-              2644,
-              501
-            ],
-            [
-              2610,
-              501
-            ],
-            [
-              2609,
-              500
-            ],
-            [
-              2598,
-              499
-            ]
-          ],
-          "min_rect": [
-            [
-              2633.23779296875,
-              504.88519287109375
-            ],
-            [
-              90.4452133178711,
-              9.687324523925781
-            ],
-            5.19442892074585
-          ],
-          "edit_type": "",
-          "confidence": 0.9020172362013115,
-          "pixel_area": 573.5,
-          "actual_area": 0.3453683526,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "scratch",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.04908,
-          "height": 0.17178,
-          "points": [
-            [
-              275,
-              378
-            ],
-            [
-              274,
-              379
-            ],
-            [
-              270,
-              380
-            ],
-            [
-              276,
-              380
-            ],
-            [
-              277,
-              379
-            ],
-            [
-              275,
-              378
-            ]
-          ],
-          "min_rect": [
-            [
-              273.5,
-              379
-            ],
-            [
-              7,
-              2
-            ],
-            0
-          ],
-          "edit_type": "",
-          "confidence": 0.5228080544620752,
-          "pixel_area": 6,
-          "actual_area": 0.0036132696,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -3,
-          "new_score": null,
-          "width": 0.5587364939117432,
-          "height": 0.876905835571289,
-          "points": [
-            [
-              2251,
-              3693
-            ],
-            [
-              2247,
-              3696
-            ],
-            [
-              2245,
-              3696
-            ],
-            [
-              2246,
-              3698
-            ],
-            [
-              2245,
-              3700
-            ],
-            [
-              2248,
-              3705
-            ],
-            [
-              2252,
-              3721
-            ],
-            [
-              2259,
-              3724
-            ],
-            [
-              2268,
-              3725
-            ],
-            [
-              2273,
-              3718
-            ],
-            [
-              2273,
-              3712
-            ],
-            [
-              2269,
-              3700
-            ],
-            [
-              2260,
-              3694
-            ],
-            [
-              2251,
-              3693
-            ]
-          ],
-          "min_rect": [
-            [
-              2259.949951171875,
-              3708.850341796875
-            ],
-            [
-              35.733734130859375,
-              22.76839828491211
-            ],
-            71.56504821777344
-          ],
-          "edit_type": "",
-          "confidence": 0.6902896407019616,
-          "pixel_area": 634.5,
-          "actual_area": 0.38210326019999996,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.1262572580909729,
-          "height": 0.14309155448913574,
-          "points": [
-            [
-              2659,
-              3195
-            ],
-            [
-              2657,
-              3196
-            ],
-            [
-              2660,
-              3201
-            ],
-            [
-              2663,
-              3196
-            ],
-            [
-              2659,
-              3195
-            ]
-          ],
-          "min_rect": [
-            [
-              2660.7060546875,
-              3197.17626953125
-            ],
-            [
-              5.830951690673828,
-              5.144957542419434
-            ],
-            59.036251068115234
-          ],
-          "edit_type": "",
-          "confidence": 0.5392758846282959,
-          "pixel_area": 18,
-          "actual_area": 0.0108398088,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -5,
-          "new_score": null,
-          "width": 4.047584223632812,
-          "height": 5.418666481018066,
-          "points": [
-            [
-              2074,
-              2166
-            ],
-            [
-              2041,
-              2188
-            ],
-            [
-              2010,
-              2204
-            ],
-            [
-              2006,
-              2208
-            ],
-            [
-              1999,
-              2211
-            ],
-            [
-              1992,
-              2218
-            ],
-            [
-              1987,
-              2220
-            ],
-            [
-              1983,
-              2224
-            ],
-            [
-              1962,
-              2237
-            ],
-            [
-              1948,
-              2251
-            ],
-            [
-              1943,
-              2261
-            ],
-            [
-              1936,
-              2270
-            ],
-            [
-              1931,
-              2282
-            ],
-            [
-              1931,
-              2286
-            ],
-            [
-              1933,
-              2291
-            ],
-            [
-              1931,
-              2299
-            ],
-            [
-              1931,
-              2307
-            ],
-            [
-              1936,
-              2316
-            ],
-            [
-              1936,
-              2324
-            ],
-            [
-              1940,
-              2329
-            ],
-            [
-              1947,
-              2333
-            ],
-            [
-              1953,
-              2332
-            ],
-            [
-              1948,
-              2324
-            ],
-            [
-              1948,
-              2320
-            ],
-            [
-              1951,
-              2316
-            ],
-            [
-              1955,
-              2316
-            ],
-            [
-              1956,
-              2313
-            ],
-            [
-              1955,
-              2311
-            ],
-            [
-              1948,
-              2314
-            ],
-            [
-              1946,
-              2311
-            ],
-            [
-              1947,
-              2306
-            ],
-            [
-              1959,
-              2307
-            ],
-            [
-              1964,
-              2306
-            ],
-            [
-              1972,
-              2301
-            ],
-            [
-              1979,
-              2307
-            ],
-            [
-              1988,
-              2298
-            ],
-            [
-              1989,
-              2303
-            ],
-            [
-              1984,
-              2308
-            ],
-            [
-              1975,
-              2312
-            ],
-            [
-              1977,
-              2317
-            ],
-            [
-              1976,
-              2329
-            ],
-            [
-              1980,
-              2333
-            ],
-            [
-              1985,
-              2334
-            ],
-            [
-              1991,
-              2339
-            ],
-            [
-              1997,
-              2340
-            ],
-            [
-              2005,
-              2338
-            ],
-            [
-              2014,
-              2342
-            ],
-            [
-              2023,
-              2351
-            ],
-            [
-              2019,
-              2355
-            ],
-            [
-              2013,
-              2352
-            ],
-            [
-              2009,
-              2355
-            ],
-            [
-              2005,
-              2362
-            ],
-            [
-              2008,
-              2368
-            ],
-            [
-              2016,
-              2376
-            ],
-            [
-              2027,
-              2381
-            ],
-            [
-              2042,
-              2385
-            ],
-            [
-              2067,
-              2380
-            ],
-            [
-              2071,
-              2373
-            ],
-            [
-              2076,
-              2368
-            ],
-            [
-              2079,
-              2360
-            ],
-            [
-              2078,
-              2352
-            ],
-            [
-              2075,
-              2345
-            ],
-            [
-              2076,
-              2333
-            ],
-            [
-              2075,
-              2332
-            ],
-            [
-              2075,
-              2322
-            ],
-            [
-              2073,
-              2315
-            ],
-            [
-              2060,
-              2302
-            ],
-            [
-              2050,
-              2300
-            ],
-            [
-              2042,
-              2294
-            ],
-            [
-              2042,
-              2289
-            ],
-            [
-              2046,
-              2284
-            ],
-            [
-              2048,
-              2274
-            ],
-            [
-              2050,
-              2270
-            ],
-            [
-              2052,
-              2268
-            ],
-            [
-              2060,
-              2276
-            ],
-            [
-              2065,
-              2273
-            ],
-            [
-              2075,
-              2271
-            ],
-            [
-              2082,
-              2268
-            ],
-            [
-              2091,
-              2263
-            ],
-            [
-              2104,
-              2253
-            ],
-            [
-              2116,
-              2242
-            ],
-            [
-              2120,
-              2235
-            ],
-            [
-              2119,
-              2232
-            ],
-            [
-              2120,
-              2204
-            ],
-            [
-              2116,
-              2195
-            ],
-            [
-              2108,
-              2188
-            ],
-            [
-              2098,
-              2175
-            ],
-            [
-              2093,
-              2172
-            ],
-            [
-              2089,
-              2172
-            ],
-            [
-              2080,
-              2166
-            ],
-            [
-              2074,
-              2166
-            ]
-          ],
-          "min_rect": [
-            [
-              2023.7777099609375,
-              2263.751220703125
-            ],
-            [
-              164.938232421875,
-              220.80955505371094
-            ],
-            18.15949058532715
-          ],
-          "edit_type": "",
-          "confidence": 0.828089858529928,
-          "pixel_area": 22046.5,
-          "actual_area": 13.276658039399999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -5,
-          "new_score": null,
-          "width": 0.5801255850219726,
-          "height": 1.3762030577087403,
-          "points": [
-            [
-              1045,
-              2062
-            ],
-            [
-              1036,
-              2063
-            ],
-            [
-              1032,
-              2067
-            ],
-            [
-              1032,
-              2075
-            ],
-            [
-              1039,
-              2099
-            ],
-            [
-              1044,
-              2108
-            ],
-            [
-              1052,
-              2116
-            ],
-            [
-              1058,
-              2115
-            ],
-            [
-              1060,
-              2114
-            ],
-            [
-              1063,
-              2108
-            ],
-            [
-              1063,
-              2102
-            ],
-            [
-              1062,
-              2101
-            ],
-            [
-              1061,
-              2090
-            ],
-            [
-              1057,
-              2077
-            ],
-            [
-              1053,
-              2068
-            ],
-            [
-              1049,
-              2064
-            ],
-            [
-              1045,
-              2062
-            ]
-          ],
-          "min_rect": [
-            [
-              1048.2864990234375,
-              2088.624755859375
-            ],
-            [
-              56.079994201660156,
-              23.639999389648438
-            ],
-            73.73979187011719
-          ],
-          "edit_type": "",
-          "confidence": 0.9616418150217743,
-          "pixel_area": 1118,
-          "actual_area": 0.6732725688,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -5,
-          "new_score": null,
-          "width": 2.1405106365966797,
-          "height": 14.275930814208984,
-          "points": [
-            [
-              1494,
-              2037
-            ],
-            [
-              1493,
-              2038
-            ],
-            [
-              1481,
-              2038
-            ],
-            [
-              1473,
-              2040
-            ],
-            [
-              1444,
-              2050
-            ],
-            [
-              1425,
-              2054
-            ],
-            [
-              1406,
-              2060
-            ],
-            [
-              1394,
-              2066
-            ],
-            [
-              1383,
-              2070
-            ],
-            [
-              1380,
-              2070
-            ],
-            [
-              1379,
-              2072
-            ],
-            [
-              1373,
-              2075
-            ],
-            [
-              1365,
-              2077
-            ],
-            [
-              1354,
-              2083
-            ],
-            [
-              1347,
-              2084
-            ],
-            [
-              1330,
-              2092
-            ],
-            [
-              1324,
-              2093
-            ],
-            [
-              1316,
-              2098
-            ],
-            [
-              1291,
-              2107
-            ],
-            [
-              1278,
-              2114
-            ],
-            [
-              1259,
-              2121
-            ],
-            [
-              1249,
-              2127
-            ],
-            [
-              1225,
-              2133
-            ],
-            [
-              1223,
-              2135
-            ],
-            [
-              1215,
-              2138
-            ],
-            [
-              1197,
-              2148
-            ],
-            [
-              1186,
-              2150
-            ],
-            [
-              1172,
-              2155
-            ],
-            [
-              1163,
-              2160
-            ],
-            [
-              1149,
-              2164
-            ],
-            [
-              1135,
-              2170
-            ],
-            [
-              1124,
-              2176
-            ],
-            [
-              1105,
-              2180
-            ],
-            [
-              1101,
-              2182
-            ],
-            [
-              1091,
-              2180
-            ],
-            [
-              1078,
-              2190
-            ],
-            [
-              1069,
-              2194
-            ],
-            [
-              1067,
-              2196
-            ],
-            [
-              1066,
-              2203
-            ],
-            [
-              1061,
-              2206
-            ],
-            [
-              1049,
-              2206
-            ],
-            [
-              1043,
-              2204
-            ],
-            [
-              1035,
-              2204
-            ],
-            [
-              1013,
-              2209
-            ],
-            [
-              971,
-              2208
-            ],
-            [
-              958,
-              2216
-            ],
-            [
-              954,
-              2220
-            ],
-            [
-              953,
-              2224
-            ],
-            [
-              954,
-              2243
-            ],
-            [
-              958,
-              2257
-            ],
-            [
-              964,
-              2269
-            ],
-            [
-              965,
-              2276
-            ],
-            [
-              971,
-              2282
-            ],
-            [
-              981,
-              2283
-            ],
-            [
-              982,
-              2284
-            ],
-            [
-              996,
-              2284
-            ],
-            [
-              1002,
-              2282
-            ],
-            [
-              1020,
-              2282
-            ],
-            [
-              1039,
-              2277
-            ],
-            [
-              1057,
-              2269
-            ],
-            [
-              1066,
-              2267
-            ],
-            [
-              1076,
-              2262
-            ],
-            [
-              1090,
-              2258
-            ],
-            [
-              1102,
-              2252
-            ],
-            [
-              1107,
-              2251
-            ],
-            [
-              1112,
-              2248
-            ],
-            [
-              1119,
-              2246
-            ],
-            [
-              1135,
-              2237
-            ],
-            [
-              1143,
-              2235
-            ],
-            [
-              1155,
-              2229
-            ],
-            [
-              1175,
-              2223
-            ],
-            [
-              1193,
-              2215
-            ],
-            [
-              1203,
-              2208
-            ],
-            [
-              1227,
-              2201
-            ],
-            [
-              1234,
-              2197
-            ],
-            [
-              1242,
-              2196
-            ],
-            [
-              1249,
-              2191
-            ],
-            [
-              1266,
-              2184
-            ],
-            [
-              1276,
-              2178
-            ],
-            [
-              1293,
-              2173
-            ],
-            [
-              1301,
-              2168
-            ],
-            [
-              1311,
-              2164
-            ],
-            [
-              1314,
-              2164
-            ],
-            [
-              1318,
-              2161
-            ],
-            [
-              1346,
-              2149
-            ],
-            [
-              1402,
-              2120
-            ],
-            [
-              1404,
-              2120
-            ],
-            [
-              1419,
-              2112
-            ],
-            [
-              1431,
-              2108
-            ],
-            [
-              1452,
-              2094
-            ],
-            [
-              1456,
-              2093
-            ],
-            [
-              1475,
-              2079
-            ],
-            [
-              1479,
-              2078
-            ],
-            [
-              1493,
-              2070
-            ],
-            [
-              1497,
-              2066
-            ],
-            [
-              1499,
-              2061
-            ],
-            [
-              1499,
-              2056
-            ],
-            [
-              1497,
-              2052
-            ],
-            [
-              1499,
-              2046
-            ],
-            [
-              1499,
-              2041
-            ],
-            [
-              1497,
-              2038
-            ],
-            [
-              1494,
-              2037
-            ]
-          ],
-          "min_rect": [
-            [
-              1233.8236083984375,
-              2164.6474609375
-            ],
-            [
-              87.22537231445312,
-              581.7412719726562
-            ],
-            71.21015930175781
-          ],
-          "edit_type": "",
-          "confidence": 0.9461424983171783,
-          "pixel_area": 34502,
-          "actual_area": 20.7775046232,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -5,
-          "new_score": null,
-          "width": 0.6104566052627564,
-          "height": 1.313104560241699,
-          "points": [
-            [
-              1307,
-              1873
-            ],
-            [
-              1302,
-              1876
-            ],
-            [
-              1299,
-              1880
-            ],
-            [
-              1298,
-              1884
-            ],
-            [
-              1300,
-              1893
-            ],
-            [
-              1314,
-              1921
-            ],
-            [
-              1316,
-              1923
-            ],
-            [
-              1324,
-              1924
-            ],
-            [
-              1330,
-              1918
-            ],
-            [
-              1330,
-              1908
-            ],
-            [
-              1327,
-              1897
-            ],
-            [
-              1324,
-              1892
-            ],
-            [
-              1325,
-              1888
-            ],
-            [
-              1321,
-              1879
-            ],
-            [
-              1317,
-              1875
-            ],
-            [
-              1307,
-              1873
-            ]
-          ],
-          "min_rect": [
-            [
-              1315.9639892578125,
-              1898.2939453125
-            ],
-            [
-              53.50874328613281,
-              24.8759822845459
-            ],
-            66.03750610351562
-          ],
-          "edit_type": "",
-          "confidence": 0.8891608928231531,
-          "pixel_area": 1061.5,
-          "actual_area": 0.6392476133999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -3,
-          "new_score": null,
-          "width": 0.5174481105422973,
-          "height": 0.7061644213485717,
-          "points": [
-            [
-              1364,
-              1803
-            ],
-            [
-              1357,
-              1808
-            ],
-            [
-              1355,
-              1811
-            ],
-            [
-              1353,
-              1815
-            ],
-            [
-              1353,
-              1820
-            ],
-            [
-              1355,
-              1822
-            ],
-            [
-              1365,
-              1821
-            ],
-            [
-              1370,
-              1824
-            ],
-            [
-              1379,
-              1825
-            ],
-            [
-              1381,
-              1823
-            ],
-            [
-              1382,
-              1815
-            ],
-            [
-              1378,
-              1808
-            ],
-            [
-              1372,
-              1803
-            ],
-            [
-              1364,
-              1803
-            ]
-          ],
-          "min_rect": [
-            [
-              1367.738525390625,
-              1813.092529296875
-            ],
-            [
-              28.77605628967285,
-              21.085905075073242
-            ],
-            7.125016689300537
-          ],
-          "edit_type": "",
-          "confidence": 0.7761821046679795,
-          "pixel_area": 470.5,
-          "actual_area": 0.28334055779999995,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.16863019105911253,
-          "height": 0.19545771028518677,
-          "points": [
-            [
-              902,
-              1732
-            ],
-            [
-              898,
-              1736
-            ],
-            [
-              903,
-              1740
-            ],
-            [
-              905,
-              1740
-            ],
-            [
-              908,
-              1736
-            ],
-            [
-              904,
-              1732
-            ],
-            [
-              902,
-              1732
-            ]
-          ],
-          "min_rect": [
-            [
-              903.256103515625,
-              1735.8050537109375
-            ],
-            [
-              7.964861869812012,
-              6.871645927429199
-            ],
-            38.65980529785156
-          ],
-          "edit_type": "",
-          "confidence": 0.8112132592547324,
-          "pixel_area": 48,
-          "actual_area": 0.0289061568,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.17260290218353272,
-          "height": 0.2856875703048706,
-          "points": [
-            [
-              1183,
-              1518
-            ],
-            [
-              1179,
-              1520
-            ],
-            [
-              1180,
-              1523
-            ],
-            [
-              1188,
-              1525
-            ],
-            [
-              1191,
-              1520
-            ],
-            [
-              1189,
-              1518
-            ],
-            [
-              1183,
-              1518
-            ]
-          ],
-          "min_rect": [
-            [
-              1184.85302734375,
-              1520.588134765625
-            ],
-            [
-              11.64171028137207,
-              7.033533096313477
-            ],
-            14.03624439239502
-          ],
-          "edit_type": "",
-          "confidence": 0.7161930203437805,
-          "pixel_area": 59,
-          "actual_area": 0.0355304844,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -5,
-          "new_score": null,
-          "width": 2.2453817289733884,
-          "height": 11.499750450439453,
-          "points": [
-            [
-              1314,
-              1516
-            ],
-            [
-              1302,
-              1521
-            ],
-            [
-              1286,
-              1523
-            ],
-            [
-              1265,
-              1529
-            ],
-            [
-              1255,
-              1534
-            ],
-            [
-              1248,
-              1536
-            ],
-            [
-              1243,
-              1540
-            ],
-            [
-              1233,
-              1543
-            ],
-            [
-              1229,
-              1543
-            ],
-            [
-              1223,
-              1548
-            ],
-            [
-              1218,
-              1550
-            ],
-            [
-              1201,
-              1551
-            ],
-            [
-              1196,
-              1553
-            ],
-            [
-              1190,
-              1553
-            ],
-            [
-              1180,
-              1557
-            ],
-            [
-              1176,
-              1560
-            ],
-            [
-              1164,
-              1562
-            ],
-            [
-              1145,
-              1568
-            ],
-            [
-              1136,
-              1569
-            ],
-            [
-              1124,
-              1574
-            ],
-            [
-              1112,
-              1577
-            ],
-            [
-              1101,
-              1582
-            ],
-            [
-              1087,
-              1585
-            ],
-            [
-              1066,
-              1595
-            ],
-            [
-              1052,
-              1598
-            ],
-            [
-              1042,
-              1603
-            ],
-            [
-              1032,
-              1606
-            ],
-            [
-              1025,
-              1611
-            ],
-            [
-              1012,
-              1617
-            ],
-            [
-              998,
-              1618
-            ],
-            [
-              980,
-              1622
-            ],
-            [
-              967,
-              1627
-            ],
-            [
-              945,
-              1633
-            ],
-            [
-              942,
-              1635
-            ],
-            [
-              927,
-              1636
-            ],
-            [
-              926,
-              1637
-            ],
-            [
-              915,
-              1637
-            ],
-            [
-              907,
-              1639
-            ],
-            [
-              896,
-              1648
-            ],
-            [
-              890,
-              1657
-            ],
-            [
-              889,
-              1674
-            ],
-            [
-              888,
-              1675
-            ],
-            [
-              889,
-              1689
-            ],
-            [
-              893,
-              1696
-            ],
-            [
-              897,
-              1700
-            ],
-            [
-              915,
-              1709
-            ],
-            [
-              931,
-              1712
-            ],
-            [
-              955,
-              1713
-            ],
-            [
-              956,
-              1712
-            ],
-            [
-              971,
-              1711
-            ],
-            [
-              972,
-              1709
-            ],
-            [
-              981,
-              1706
-            ],
-            [
-              1020,
-              1700
-            ],
-            [
-              1027,
-              1695
-            ],
-            [
-              1028,
-              1691
-            ],
-            [
-              1032,
-              1687
-            ],
-            [
-              1043,
-              1685
-            ],
-            [
-              1051,
-              1678
-            ],
-            [
-              1071,
-              1676
-            ],
-            [
-              1072,
-              1675
-            ],
-            [
-              1084,
-              1675
-            ],
-            [
-              1094,
-              1673
-            ],
-            [
-              1115,
-              1663
-            ],
-            [
-              1133,
-              1657
-            ],
-            [
-              1142,
-              1652
-            ],
-            [
-              1160,
-              1646
-            ],
-            [
-              1177,
-              1637
-            ],
-            [
-              1184,
-              1635
-            ],
-            [
-              1192,
-              1631
-            ],
-            [
-              1198,
-              1624
-            ],
-            [
-              1211,
-              1621
-            ],
-            [
-              1227,
-              1613
-            ],
-            [
-              1238,
-              1610
-            ],
-            [
-              1242,
-              1608
-            ],
-            [
-              1247,
-              1601
-            ],
-            [
-              1249,
-              1600
-            ],
-            [
-              1248,
-              1591
-            ],
-            [
-              1253,
-              1585
-            ],
-            [
-              1267,
-              1580
-            ],
-            [
-              1276,
-              1574
-            ],
-            [
-              1284,
-              1575
-            ],
-            [
-              1290,
-              1569
-            ],
-            [
-              1300,
-              1570
-            ],
-            [
-              1306,
-              1568
-            ],
-            [
-              1316,
-              1562
-            ],
-            [
-              1329,
-              1549
-            ],
-            [
-              1332,
-              1544
-            ],
-            [
-              1332,
-              1540
-            ],
-            [
-              1331,
-              1535
-            ],
-            [
-              1327,
-              1529
-            ],
-            [
-              1327,
-              1519
-            ],
-            [
-              1324,
-              1516
-            ],
-            [
-              1314,
-              1516
-            ]
-          ],
-          "min_rect": [
-            [
-              1113.9241943359375,
-              1623.2802734375
-            ],
-            [
-              91.49884796142578,
-              468.61248779296875
-            ],
-            72.91976928710938
-          ],
-          "edit_type": "",
-          "confidence": 0.98124981872501,
-          "pixel_area": 32219.5,
-          "actual_area": 19.4029566462,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -5,
-          "new_score": null,
-          "width": 3.2870846209716795,
-          "height": 15.89943814086914,
-          "points": [
-            [
-              2223,
-              799
-            ],
-            [
-              2211,
-              802
-            ],
-            [
-              2203,
-              802
-            ],
-            [
-              2187,
-              807
-            ],
-            [
-              2174,
-              807
-            ],
-            [
-              2164,
-              810
-            ],
-            [
-              2159,
-              810
-            ],
-            [
-              2132,
-              816
-            ],
-            [
-              2129,
-              818
-            ],
-            [
-              2116,
-              822
-            ],
-            [
-              2098,
-              824
-            ],
-            [
-              2088,
-              829
-            ],
-            [
-              2083,
-              834
-            ],
-            [
-              2072,
-              837
-            ],
-            [
-              2068,
-              842
-            ],
-            [
-              2061,
-              840
-            ],
-            [
-              2058,
-              835
-            ],
-            [
-              2055,
-              833
-            ],
-            [
-              2034,
-              834
-            ],
-            [
-              2024,
-              836
-            ],
-            [
-              2001,
-              835
-            ],
-            [
-              1989,
-              838
-            ],
-            [
-              1978,
-              839
-            ],
-            [
-              1973,
-              841
-            ],
-            [
-              1964,
-              841
-            ],
-            [
-              1963,
-              842
-            ],
-            [
-              1947,
-              843
-            ],
-            [
-              1931,
-              846
-            ],
-            [
-              1913,
-              847
-            ],
-            [
-              1908,
-              849
-            ],
-            [
-              1884,
-              852
-            ],
-            [
-              1878,
-              854
-            ],
-            [
-              1871,
-              859
-            ],
-            [
-              1867,
-              856
-            ],
-            [
-              1857,
-              855
-            ],
-            [
-              1856,
-              854
-            ],
-            [
-              1840,
-              854
-            ],
-            [
-              1839,
-              855
-            ],
-            [
-              1827,
-              856
-            ],
-            [
-              1822,
-              858
-            ],
-            [
-              1797,
-              858
-            ],
-            [
-              1796,
-              859
-            ],
-            [
-              1791,
-              859
-            ],
-            [
-              1787,
-              858
-            ],
-            [
-              1776,
-              847
-            ],
-            [
-              1767,
-              844
-            ],
-            [
-              1733,
-              855
-            ],
-            [
-              1723,
-              865
-            ],
-            [
-              1712,
-              879
-            ],
-            [
-              1709,
-              891
-            ],
-            [
-              1704,
-              895
-            ],
-            [
-              1704,
-              905
-            ],
-            [
-              1706,
-              908
-            ],
-            [
-              1708,
-              921
-            ],
-            [
-              1711,
-              927
-            ],
-            [
-              1712,
-              933
-            ],
-            [
-              1715,
-              935
-            ],
-            [
-              1719,
-              935
-            ],
-            [
-              1728,
-              941
-            ],
-            [
-              1735,
-              948
-            ],
-            [
-              1750,
-              947
-            ],
-            [
-              1751,
-              946
-            ],
-            [
-              1756,
-              948
-            ],
-            [
-              1778,
-              947
-            ],
-            [
-              1785,
-              950
-            ],
-            [
-              1795,
-              951
-            ],
-            [
-              1796,
-              952
-            ],
-            [
-              1815,
-              952
-            ],
-            [
-              1816,
-              953
-            ],
-            [
-              1826,
-              953
-            ],
-            [
-              1831,
-              955
-            ],
-            [
-              1839,
-              954
-            ],
-            [
-              1840,
-              955
-            ],
-            [
-              1840,
-              971
-            ],
-            [
-              1844,
-              971
-            ],
-            [
-              1844,
-              968
-            ],
-            [
-              1846,
-              964
-            ],
-            [
-              1851,
-              959
-            ],
-            [
-              1855,
-              957
-            ],
-            [
-              1860,
-              957
-            ],
-            [
-              1864,
-              960
-            ],
-            [
-              1877,
-              951
-            ],
-            [
-              1891,
-              952
-            ],
-            [
-              1892,
-              948
-            ],
-            [
-              1907,
-              948
-            ],
-            [
-              1918,
-              945
-            ],
-            [
-              1938,
-              945
-            ],
-            [
-              1939,
-              944
-            ],
-            [
-              1955,
-              944
-            ],
-            [
-              1962,
-              942
-            ],
-            [
-              1974,
-              943
-            ],
-            [
-              1975,
-              942
-            ],
-            [
-              1989,
-              942
-            ],
-            [
-              1990,
-              941
-            ],
-            [
-              2004,
-              941
-            ],
-            [
-              2005,
-              940
-            ],
-            [
-              2024,
-              940
-            ],
-            [
-              2041,
-              935
-            ],
-            [
-              2062,
-              939
-            ],
-            [
-              2067,
-              941
-            ],
-            [
-              2118,
-              940
-            ],
-            [
-              2134,
-              936
-            ],
-            [
-              2150,
-              935
-            ],
-            [
-              2151,
-              934
-            ],
-            [
-              2158,
-              934
-            ],
-            [
-              2170,
-              931
-            ],
-            [
-              2175,
-              931
-            ],
-            [
-              2188,
-              927
-            ],
-            [
-              2212,
-              923
-            ],
-            [
-              2216,
-              921
-            ],
-            [
-              2234,
-              919
-            ],
-            [
-              2251,
-              914
-            ],
-            [
-              2264,
-              913
-            ],
-            [
-              2275,
-              908
-            ],
-            [
-              2278,
-              910
-            ],
-            [
-              2279,
-              914
-            ],
-            [
-              2282,
-              918
-            ],
-            [
-              2290,
-              922
-            ],
-            [
-              2299,
-              922
-            ],
-            [
-              2301,
-              920
-            ],
-            [
-              2300,
-              911
-            ],
-            [
-              2288,
-              906
-            ],
-            [
-              2285,
-              903
-            ],
-            [
-              2288,
-              897
-            ],
-            [
-              2291,
-              894
-            ],
-            [
-              2301,
-              894
-            ],
-            [
-              2302,
-              895
-            ],
-            [
-              2316,
-              894
-            ],
-            [
-              2325,
-              901
-            ],
-            [
-              2332,
-              910
-            ],
-            [
-              2341,
-              910
-            ],
-            [
-              2347,
-              905
-            ],
-            [
-              2351,
-              905
-            ],
-            [
-              2351,
-              864
-            ],
-            [
-              2347,
-              863
-            ],
-            [
-              2345,
-              856
-            ],
-            [
-              2334,
-              839
-            ],
-            [
-              2324,
-              832
-            ],
-            [
-              2315,
-              822
-            ],
-            [
-              2301,
-              813
-            ],
-            [
-              2285,
-              809
-            ],
-            [
-              2278,
-              806
-            ],
-            [
-              2271,
-              805
-            ],
-            [
-              2259,
-              800
-            ],
-            [
-              2250,
-              800
-            ],
-            [
-              2240,
-              809
-            ],
-            [
-              2236,
-              812
-            ],
-            [
-              2234,
-              812
-            ],
-            [
-              2232,
-              810
-            ],
-            [
-              2232,
-              800
-            ],
-            [
-              2223,
-              799
-            ]
-          ],
-          "min_rect": [
-            [
-              2027.60693359375,
-              885.58154296875
-            ],
-            [
-              133.94802856445312,
-              647.8988647460938
-            ],
-            84.36405944824219
-          ],
-          "edit_type": "",
-          "confidence": 0.8159971268049756,
-          "pixel_area": 65453.5,
-          "actual_area": 39.41685696059999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -5,
-          "new_score": null,
-          "width": 0.6946235236358642,
-          "height": 1.5570391474914551,
-          "points": [
-            [
-              242,
-              364
-            ],
-            [
-              239,
-              366
-            ],
-            [
-              234,
-              367
-            ],
-            [
-              228,
-              371
-            ],
-            [
-              216,
-              372
-            ],
-            [
-              215,
-              373
-            ],
-            [
-              215,
-              383
-            ],
-            [
-              224,
-              389
-            ],
-            [
-              233,
-              392
-            ],
-            [
-              244,
-              393
-            ],
-            [
-              261,
-              387
-            ],
-            [
-              263,
-              384
-            ],
-            [
-              271,
-              378
-            ],
-            [
-              276,
-              377
-            ],
-            [
-              278,
-              372
-            ],
-            [
-              261,
-              364
-            ],
-            [
-              258,
-              364
-            ],
-            [
-              253,
-              367
-            ],
-            [
-              249,
-              367
-            ],
-            [
-              245,
-              364
-            ],
-            [
-              242,
-              364
-            ]
-          ],
-          "min_rect": [
-            [
-              246.4783935546875,
-              377.4297790527344
-            ],
-            [
-              28.305767059326172,
-              63.44902801513672
-            ],
-            72.89727020263672
-          ],
-          "edit_type": "",
-          "confidence": 0.8965089038786553,
-          "pixel_area": 1222,
-          "actual_area": 0.7359025751999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "stain",
-          "score": -1.5,
-          "new_score": null,
-          "width": 0.3737304043006897,
-          "height": 0.6205335412216186,
-          "points": [
-            [
-              235,
-              333
-            ],
-            [
-              229,
-              339
-            ],
-            [
-              229,
-              342
-            ],
-            [
-              232,
-              348
-            ],
-            [
-              244,
-              351
-            ],
-            [
-              251,
-              349
-            ],
-            [
-              253,
-              347
-            ],
-            [
-              250,
-              339
-            ],
-            [
-              245,
-              336
-            ],
-            [
-              235,
-              333
-            ]
-          ],
-          "min_rect": [
-            [
-              241.06883239746094,
-              342.7706604003906
-            ],
-            [
-              25.2866153717041,
-              15.229437828063965
-            ],
-            16.699241638183594
-          ],
-          "edit_type": "",
-          "confidence": 0.8300266736144319,
-          "pixel_area": 297.5,
-          "actual_area": 0.17915795099999998,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "impact",
-          "score": -5,
-          "new_score": null,
-          "width": 0.6881486628341674,
-          "height": 3.65455217376709,
-          "points": [
-            [
-              202,
-              3712
-            ],
-            [
-              199,
-              3716
-            ],
-            [
-              203,
-              3724
-            ],
-            [
-              219,
-              3740
-            ],
-            [
-              226,
-              3743
-            ],
-            [
-              245,
-              3759
-            ],
-            [
-              251,
-              3762
-            ],
-            [
-              287,
-              3773
-            ],
-            [
-              323,
-              3773
-            ],
-            [
-              324,
-              3774
-            ],
-            [
-              331,
-              3774
-            ],
-            [
-              337,
-              3772
-            ],
-            [
-              333,
-              3769
-            ],
-            [
-              331,
-              3765
-            ],
-            [
-              328,
-              3764
-            ],
-            [
-              307,
-              3764
-            ],
-            [
-              300,
-              3762
-            ],
-            [
-              276,
-              3748
-            ],
-            [
-              271,
-              3747
-            ],
-            [
-              268,
-              3745
-            ],
-            [
-              260,
-              3744
-            ],
-            [
-              256,
-              3741
-            ],
-            [
-              252,
-              3740
-            ],
-            [
-              243,
-              3735
-            ],
-            [
-              227,
-              3723
-            ],
-            [
-              208,
-              3715
-            ],
-            [
-              204,
-              3712
-            ],
-            [
-              202,
-              3712
-            ]
-          ],
-          "min_rect": [
-            [
-              264.48089599609375,
-              3752.43310546875
-            ],
-            [
-              148.92225646972656,
-              28.04191780090332
-            ],
-            22.651893615722656
-          ],
-          "edit_type": "",
-          "confidence": 0.8423077340839502,
-          "pixel_area": 2241.5,
-          "actual_area": 1.3498573014,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "impact",
-          "score": -5,
-          "new_score": null,
-          "width": 0.5512677941894532,
-          "height": 2.6359873384094237,
-          "points": [
-            [
-              2673,
-              219
-            ],
-            [
-              2672,
-              220
-            ],
-            [
-              2675,
-              224
-            ],
-            [
-              2676,
-              229
-            ],
-            [
-              2675,
-              236
-            ],
-            [
-              2692,
-              255
-            ],
-            [
-              2702,
-              269
-            ],
-            [
-              2715,
-              282
-            ],
-            [
-              2725,
-              303
-            ],
-            [
-              2728,
-              307
-            ],
-            [
-              2732,
-              309
-            ],
-            [
-              2733,
-              307
-            ],
-            [
-              2733,
-              298
-            ],
-            [
-              2732,
-              297
-            ],
-            [
-              2733,
-              292
-            ],
-            [
-              2731,
-              289
-            ],
-            [
-              2730,
-              283
-            ],
-            [
-              2728,
-              280
-            ],
-            [
-              2727,
-              275
-            ],
-            [
-              2723,
-              270
-            ],
-            [
-              2723,
-              268
-            ],
-            [
-              2719,
-              264
-            ],
-            [
-              2713,
-              254
-            ],
-            [
-              2712,
-              249
-            ],
-            [
-              2709,
-              244
-            ],
-            [
-              2694,
-              228
-            ],
-            [
-              2687,
-              224
-            ],
-            [
-              2680,
-              223
-            ],
-            [
-              2677,
-              220
-            ],
-            [
-              2673,
-              219
-            ]
-          ],
-          "min_rect": [
-            [
-              2707.259521484375,
-              260.4478454589844
-            ],
-            [
-              107.41594696044922,
-              22.46405029296875
-            ],
-            53.267173767089844
-          ],
-          "edit_type": "",
-          "confidence": 0.8583548226206097,
-          "pixel_area": 1557,
-          "actual_area": 0.9376434611999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "impact",
-          "score": -5,
-          "new_score": null,
-          "width": 1.054608990097046,
-          "height": 4.160802383422851,
-          "points": [
-            [
-              259,
-              205
-            ],
-            [
-              257,
-              207
-            ],
-            [
-              252,
-              208
-            ],
-            [
-              247,
-              211
-            ],
-            [
-              244,
-              211
-            ],
-            [
-              240,
-              216
-            ],
-            [
-              229,
-              221
-            ],
-            [
-              224,
-              226
-            ],
-            [
-              221,
-              227
-            ],
-            [
-              202,
-              245
-            ],
-            [
-              196,
-              255
-            ],
-            [
-              193,
-              263
-            ],
-            [
-              187,
-              273
-            ],
-            [
-              186,
-              279
-            ],
-            [
-              183,
-              284
-            ],
-            [
-              183,
-              287
-            ],
-            [
-              180,
-              292
-            ],
-            [
-              179,
-              297
-            ],
-            [
-              178,
-              339
-            ],
-            [
-              179,
-              340
-            ],
-            [
-              179,
-              349
-            ],
-            [
-              180,
-              351
-            ],
-            [
-              188,
-              350
-            ],
-            [
-              193,
-              347
-            ],
-            [
-              192,
-              345
-            ],
-            [
-              192,
-              334
-            ],
-            [
-              193,
-              333
-            ],
-            [
-              192,
-              321
-            ],
-            [
-              193,
-              317
-            ],
-            [
-              195,
-              314
-            ],
-            [
-              202,
-              317
-            ],
-            [
-              205,
-              315
-            ],
-            [
-              205,
-              312
-            ],
-            [
-              207,
-              308
-            ],
-            [
-              205,
-              302
-            ],
-            [
-              205,
-              296
-            ],
-            [
-              207,
-              293
-            ],
-            [
-              208,
-              288
-            ],
-            [
-              220,
-              271
-            ],
-            [
-              223,
-              258
-            ],
-            [
-              228,
-              247
-            ],
-            [
-              236,
-              238
-            ],
-            [
-              240,
-              236
-            ],
-            [
-              251,
-              226
-            ],
-            [
-              256,
-              223
-            ],
-            [
-              259,
-              223
-            ],
-            [
-              263,
-              220
-            ],
-            [
-              270,
-              212
-            ],
-            [
-              268,
-              206
-            ],
-            [
-              259,
-              205
-            ]
-          ],
-          "min_rect": [
-            [
-              211.4244384765625,
-              271.3272705078125
-            ],
-            [
-              42.975101470947266,
-              169.55184936523438
-            ],
-            29.69915199279785
-          ],
-          "edit_type": "",
-          "confidence": 0.8828231574322938,
-          "pixel_area": 3498.5,
-          "actual_area": 2.1068372826,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.09989006747245788,
-          "height": 0.22555823272705078,
-          "points": [
-            [
-              2503,
-              3769
-            ],
-            [
-              2500,
-              3772
-            ],
-            [
-              2502,
-              3773
-            ],
-            [
-              2510,
-              3772
-            ],
-            [
-              2503,
-              3769
-            ]
-          ],
-          "min_rect": [
-            [
-              2504.974365234375,
-              3772.060546875
-            ],
-            [
-              9.191452026367188,
-              4.070499897003174
-            ],
-            23.198589324951172
-          ],
-          "edit_type": "",
-          "confidence": 0.632007506760684,
-          "pixel_area": 20,
-          "actual_area": 0.012044231999999998,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.2966328573989868,
-          "height": 0.32359946165084835,
-          "points": [
-            [
-              329,
-              3764
-            ],
-            [
-              331,
-              3764
-            ],
-            [
-              333,
-              3766
-            ],
-            [
-              334,
-              3769
-            ],
-            [
-              338,
-              3772
-            ],
-            [
-              336,
-              3774
-            ],
-            [
-              332,
-              3774
-            ],
-            [
-              338,
-              3774
-            ],
-            [
-              345,
-              3772
-            ],
-            [
-              338,
-              3766
-            ],
-            [
-              332,
-              3764
-            ],
-            [
-              329,
-              3764
-            ]
-          ],
-          "min_rect": [
-            [
-              337.00006103515625,
-              3768
-            ],
-            [
-              12.087728500366211,
-              13.186612129211426
-            ],
-            74.05460357666016
-          ],
-          "edit_type": "",
-          "confidence": 0.5513100375731785,
-          "pixel_area": 55.5,
-          "actual_area": 0.033422743799999995,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear",
-          "score": -5,
-          "new_score": null,
-          "width": 0.5438687422943115,
-          "height": 2.885350711669922,
-          "points": [
-            [
-              2692,
-              3732
-            ],
-            [
-              2685,
-              3737
-            ],
-            [
-              2675,
-              3739
-            ],
-            [
-              2663,
-              3751
-            ],
-            [
-              2653,
-              3755
-            ],
-            [
-              2637,
-              3755
-            ],
-            [
-              2635,
-              3754
-            ],
-            [
-              2634,
-              3755
-            ],
-            [
-              2614,
-              3757
-            ],
-            [
-              2611,
-              3759
-            ],
-            [
-              2599,
-              3761
-            ],
-            [
-              2590,
-              3764
-            ],
-            [
-              2588,
-              3772
-            ],
-            [
-              2598,
-              3773
-            ],
-            [
-              2599,
-              3774
-            ],
-            [
-              2602,
-              3773
-            ],
-            [
-              2628,
-              3773
-            ],
-            [
-              2651,
-              3768
-            ],
-            [
-              2666,
-              3760
-            ],
-            [
-              2675,
-              3757
-            ],
-            [
-              2681,
-              3751
-            ],
-            [
-              2689,
-              3748
-            ],
-            [
-              2696,
-              3742
-            ],
-            [
-              2700,
-              3741
-            ],
-            [
-              2699,
-              3733
-            ],
-            [
-              2692,
-              3732
-            ]
-          ],
-          "min_rect": [
-            [
-              2645.271240234375,
-              3758.1796875
-            ],
-            [
-              22.162540435791016,
-              117.57745361328125
-            ],
-            72.68106079101562
-          ],
-          "edit_type": "",
-          "confidence": 0.8940845556430088,
-          "pixel_area": 1514,
-          "actual_area": 0.9117483623999999,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.029460024547576902,
-          "height": 0.3535202945709228,
-          "points": [
-            [
-              237,
-              3729
-            ],
-            [
-              239,
-              3731
-            ],
-            [
-              240,
-              3731
-            ],
-            [
-              243,
-              3734
-            ],
-            [
-              249,
-              3737
-            ],
-            [
-              247,
-              3735
-            ],
-            [
-              237,
-              3729
-            ]
-          ],
-          "min_rect": [
-            [
-              242.86752319335938,
-              3733.220703125
-            ],
-            [
-              14.405879974365234,
-              1.2004899978637695
-            ],
-            30.963754653930664
-          ],
-          "edit_type": "",
-          "confidence": 0.5127792701125146,
-          "pixel_area": 9.5,
-          "actual_area": 0.0057210101999999995,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.1214668051815033,
-          "height": 0.5032195930480957,
-          "points": [
-            [
-              2690,
-              227
-            ],
-            [
-              2695,
-              232
-            ],
-            [
-              2696,
-              237
-            ],
-            [
-              2699,
-              240
-            ],
-            [
-              2705,
-              241
-            ],
-            [
-              2703,
-              237
-            ],
-            [
-              2698,
-              232
-            ],
-            [
-              2692,
-              227
-            ],
-            [
-              2690,
-              227
-            ]
-          ],
-          "min_rect": [
-            [
-              2697,
-              234.50003051757812
-            ],
-            [
-              20.50609588623047,
-              4.949747562408447
-            ],
-            45
-          ],
-          "edit_type": "",
-          "confidence": 0.6053150143278272,
-          "pixel_area": 59,
-          "actual_area": 0.0355304844,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear",
-          "score": -0.5,
-          "new_score": null,
-          "width": 0.2454,
-          "height": 0.7362,
-          "points": [
-            [
-              726,
-              198
-            ],
-            [
-              721,
-              200
-            ],
-            [
-              719,
-              202
-            ],
-            [
-              719,
-              204
-            ],
-            [
-              727,
-              208
-            ],
-            [
-              743,
-              208
-            ],
-            [
-              749,
-              205
-            ],
-            [
-              729,
-              206
-            ],
-            [
-              724,
-              203
-            ],
-            [
-              727,
-              200
-            ],
-            [
-              739,
-              198
-            ],
-            [
-              726,
-              198
-            ]
-          ],
-          "min_rect": [
-            [
-              734,
-              203
-            ],
-            [
-              10,
-              30
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.5282449873288473,
-          "pixel_area": 104,
-          "actual_area": 0.0626300064,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear_and_impact",
-          "score": -0.1,
-          "new_score": null,
-          "width": 0.09816,
-          "height": 0.44172,
-          "points": [
-            [
-              727,
-              201
-            ],
-            [
-              725,
-              203
-            ],
-            [
-              729,
-              205
-            ],
-            [
-              738,
-              205
-            ],
-            [
-              743,
-              203
-            ],
-            [
-              739,
-              201
-            ],
-            [
-              727,
-              201
-            ]
-          ],
-          "min_rect": [
-            [
-              734,
-              203
-            ],
-            [
-              4,
-              18
-            ],
-            90
-          ],
-          "edit_type": "",
-          "confidence": 0.5752003832658132,
-          "pixel_area": 57,
-          "actual_area": 0.034326061199999994,
-          "defect_type": "face",
-          "review_status": "pending",
-          "verified": false
-        },
-        {
-          "label": "wear",
-          "score": -1,
-          "new_score": -5,
-          "width": 4.647422764892578,
-          "height": 5.614467866821289,
-          "points": [
-            [
-              246.35140997830803,
-              1043.3112798264642
-            ],
-            [
-              252.66811279826464,
-              1169.6453362255966
-            ],
-            [
-              480.0694143167028,
-              1150.6952277657267
-            ],
-            [
-              467.4360086767896,
-              986.4609544468547
-            ],
-            [
-              328.468546637744,
-              973.8275488069414
-            ]
-          ],
-          "min_rect": [
-            [
-              358.5540466308594,
-              1065.56591796875
-            ],
-            [
-              189.38153076171875,
-              228.78842163085938
-            ],
-            85.46774291992188
-          ],
-          "edit_type": "add",
-          "confidence": 0,
-          "pixel_area": 38311.5,
-          "actual_area": 23.071629713399997,
-          "defect_type": "face",
-          "review_status": "PENDING",
-          "verified": false
-        }
+  "shapes": [
+    {
+      "label": "de1",
+      "points": [
+        [
+          942.8636363636365,
+          1267.818181818182
+        ],
+        [
+          638.318181818182,
+          1954.1818181818185
+        ],
+        [
+          997.409090909091,
+          1836.0
+        ]
       ],
-      "statistics": {
-        "total_defect_count": 72,
-        "total_pixel_area": 246188.5,
-        "total_defect_area_mm2": 148.25757048659997,
-        "area_by_label_mm2": {
-          "scratch": 23.853902581799996,
-          "stain": 95.84227724579998,
-          "impact": 4.3943380452,
-          "wear": 24.132726552599998,
-          "wear_and_impact": 0.034326061199999994
-        },
-        "count_by_label": {
-          "scratch": 48,
-          "stain": 13,
-          "impact": 3,
-          "wear": 7,
-          "wear_and_impact": 1
-        }
-      },
-      "front_corner_score": 0,
-      "front_edge_score": 0,
-      "front_face_deduct_score": -26.118750000000002
+      "shape_type": "polygon"
     },
-    "card_center_deduct_score": null,
-    "card_defect_deduct_score": -9.141562500000001,
-    "_used_compute_deduct_score": -9.141562500000001,
-    "card_score": 0.8584374999999991
-  }
+    {
+      "label": "de1",
+      "points": [
+        [
+          1379.227272727273,
+          2313.272727272727
+        ],
+        [
+          1324.6818181818185,
+          2654.181818181818
+        ],
+        [
+          1465.590909090909,
+          2649.6363636363635
+        ]
+      ],
+      "shape_type": "polygon"
+    },
+    {
+      "label": "de1",
+      "points": [
+        [
+          1933.7727272727275,
+          881.4545454545455
+        ],
+        [
+          1883.7727272727275,
+          1190.5454545454545
+        ],
+        [
+          2097.4090909090914,
+          1190.5454545454545
+        ]
+      ],
+      "shape_type": "polygon"
+    },
+    {
+      "label": "de2",
+      "points": [
+        [
+          2429.2272727272725,
+          2008.7272727272725
+        ],
+        [
+          2242.8636363636365,
+          2408.7272727272725
+        ],
+        [
+          2433.7727272727275,
+          2476.909090909091
+        ]
+      ],
+      "shape_type": "polygon"
+    },
+    {
+      "label": "de2",
+      "points": [
+        [
+          1951.9545454545455,
+          3217.818181818182
+        ],
+        [
+          2179.2272727272725,
+          3390.5454545454545
+        ],
+        [
+          2115.5909090909095,
+          3099.6363636363635
+        ]
+      ],
+      "shape_type": "polygon"
+    },
+    {
+      "label": "de3",
+      "points": [
+        [
+          851.9545454545455,
+          2490.5454545454545
+        ],
+        [
+          738.318181818182,
+          3067.818181818182
+        ],
+        [
+          951.9545454545455,
+          3058.7272727272725
+        ]
+      ],
+      "shape_type": "polygon"
+    }
+  ],
+  "imagePath": "1_back_coaxial_1_0.jpg",
+  "imageData": null,
+  "imageHeight": 3972,
+  "imageWidth": 2913
 }

+ 156 - 0
app/api/labelme.py

@@ -0,0 +1,156 @@
+import json
+import requests
+from typing import Optional, Dict, Any, List
+from fastapi import APIRouter, File, UploadFile, Depends, HTTPException, Body
+from fastapi.concurrency import run_in_threadpool
+from mysql.connector.pooling import PooledMySQLConnection
+
+from app.core.config import settings
+from app.core.logger import get_logger
+from app.core.database_loader import get_db_connection
+from app.crud import crud_card
+from app.utils.scheme import IMAGE_TYPE_TO_SCORE_TYPE
+from app.utils.labelme_process import convert_internal_to_labelme, convert_labelme_to_internal
+
+logger = get_logger(__name__)
+router = APIRouter()
+db_dependency = Depends(get_db_connection)
+
+
+@router.get("/export/{image_id}", summary="获取指定图片的 LabelMe 格式 JSON")
+def export_labelme_json(image_id: int, db_conn: PooledMySQLConnection = db_dependency):
+    """
+    获取图片的 JSON 数据并转换为 LabelMe 格式。
+    优先读取 modified_json,如果没有则读取 detection_json。
+    """
+    cursor = None
+    try:
+        cursor = db_conn.cursor(dictionary=True)
+        # 查询图片路径和JSON
+        query = "SELECT image_path, detection_json, modified_json FROM card_images WHERE id = %s"
+        cursor.execute(query, (image_id,))
+        row = cursor.fetchone()
+
+        if not row:
+            raise HTTPException(status_code=404, detail=f"图片 ID {image_id} 未找到")
+
+        # 优先使用已修改的数据
+        source_json_str = row['modified_json'] if row['modified_json'] else row['detection_json']
+
+        if isinstance(source_json_str, str):
+            source_json = json.loads(source_json_str)
+        else:
+            source_json = source_json_str  # 已经是 dict (如果是从 Pydantic 模型来的话,但在原生 cursor 里通常是 str 或 dict)
+            if source_json is None: source_json = {}
+
+        image_path = row['image_path']
+
+        # 转换
+        labelme_data = convert_internal_to_labelme(image_path, source_json)
+
+        return labelme_data
+
+    except Exception as e:
+        logger.error(f"导出 LabelMe JSON 失败 (id={image_id}): {e}")
+        raise HTTPException(status_code=500, detail=f"导出失败: {str(e)}")
+    finally:
+        if cursor:
+            cursor.close()
+
+
+@router.put("/import/{image_id}", summary="接收 LabelMe JSON,重计算分数并保存")
+async def import_labelme_json(
+        image_id: int,
+        labelme_data: Dict[str, Any] = Body(..., description="LabelMe 格式的 JSON 数据"),
+        db_conn: PooledMySQLConnection = db_dependency
+):
+    """
+    1. 接收 LabelMe JSON。
+    2. 转换为系统内部 JSON 格式。
+    3. 调用项目1的 API 进行重计算 (re-inference & score)。
+    4. 更新数据库 (modified_json)。
+    """
+    cursor = None
+    try:
+        cursor = db_conn.cursor(dictionary=True)
+
+        # 1. 获取图片基础信息 (用于获取 image_type 和原始 JSON 结构参考)
+        query = "SELECT card_id, image_type, detection_json FROM card_images WHERE id = %s"
+        cursor.execute(query, (image_id,))
+        row = cursor.fetchone()
+
+        if not row:
+            raise HTTPException(status_code=404, detail=f"图片 ID {image_id} 未找到")
+
+        card_id = row['card_id']
+        image_type = row['image_type']
+
+        # 解析原始 JSON 用于辅助转换 (例如获取宽高作为兜底)
+        detection_json = row['detection_json']
+        if isinstance(detection_json, str):
+            detection_json = json.loads(detection_json)
+
+        # 2. 转换格式: LabelMe -> Internal
+        # 注意:这里生成的 JSON 只有 points 和 labels,面积和分数需要服务端计算
+        internal_payload = convert_labelme_to_internal(detection_json, labelme_data)
+
+        # 确定 score_type
+        score_type = IMAGE_TYPE_TO_SCORE_TYPE.get(image_type)
+        if not score_type:
+            raise HTTPException(status_code=400, detail=f"不支持的图片类型: {image_type}")
+
+        logger.info(f"正在调用计算服务: {settings.SCORE_RECALCULATE_ENDPOINT}, type={score_type}")
+
+        # 3. 调用项目1的分数重计算接口
+        try:
+            response = await run_in_threadpool(
+                lambda: requests.post(
+                    settings.SCORE_RECALCULATE_ENDPOINT,
+                    params={"score_type": score_type},
+                    json=internal_payload,
+                    timeout=30  # 稍微增加超时时间,因为可能涉及推理
+                )
+            )
+        except Exception as e:
+            logger.error(f"连接分数计算服务失败: {e}")
+            raise HTTPException(status_code=502, detail="无法连接到分数计算服务")
+
+        if response.status_code != 200:
+            logger.error(f"分数计算服务返回错误: {response.text}")
+            raise HTTPException(status_code=response.status_code, detail=f"分数计算失败: {response.text}")
+
+        recalculated_json = response.json()
+        logger.info("分数重计算完成")
+
+        # 4. 更新数据库
+        recalculated_json_str = json.dumps(recalculated_json, ensure_ascii=False)
+        update_query = (
+            "UPDATE card_images "
+            "SET modified_json = %s, is_edited = TRUE "
+            "WHERE id = %s"
+        )
+        cursor.execute(update_query, (recalculated_json_str, image_id))
+        db_conn.commit()
+
+        # 5. 更新 Card 维度的总分状态
+        try:
+            crud_card.update_card_scores_and_status(db_conn, card_id)
+        except Exception as e:
+            logger.error(f"更新卡牌总分失败: {e}")
+            # 不阻断主流程
+
+        return {
+            "message": "LabelMe 数据导入并重计算成功",
+            "image_id": image_id,
+            "recalculated_result": recalculated_json
+        }
+
+    except HTTPException as he:
+        raise he
+    except Exception as e:
+        db_conn.rollback()
+        logger.error(f"导入 LabelMe 数据失败: {e}")
+        raise HTTPException(status_code=500, detail=f"系统内部错误: {str(e)}")
+    finally:
+        if cursor:
+            cursor.close()

+ 2 - 0
app/main.py

@@ -8,6 +8,7 @@ import os
 from .core.database_loader import init_database, load_database_pool, close_database_pool
 from app.api import cards as cards_router
 from app.api import images as images_router
+from app.api import labelme as labelme_router
 from .core.config import settings
 from .core.logger import setup_logging, get_logger
 
@@ -40,3 +41,4 @@ app.add_middleware(
 
 app.include_router(cards_router.router, prefix=f"{settings.API_PREFIX}/cards", tags=["Cards"])
 app.include_router(images_router.router, prefix=f"{settings.API_PREFIX}/images", tags=["Images"])
+app.include_router(labelme_router.router, prefix=f"{settings.API_PREFIX}/labelme", tags=["Labelme"])

+ 168 - 0
app/utils/labelme_process.py

@@ -0,0 +1,168 @@
+def convert_internal_to_labelme(image_path: str, internal_json: dict) -> dict:
+    """
+    将系统内部的 detection_json/modified_json 转换为 LabelMe 格式
+    """
+    result = internal_json.get("result", {})
+    img_h = result.get("imageHeight", 0)
+    img_w = result.get("imageWidth", 0)
+
+    labelme_data = {
+        "version": "5.0.1",
+        "flags": {},
+        "shapes": [],
+        "imagePath": image_path.lstrip("/\\"),  # 去除开头的斜杠
+        "imageData": None,
+        "imageHeight": img_h,
+        "imageWidth": img_w
+    }
+
+    # 1. 处理缺陷 (Defects)
+    defect_result = result.get("defect_result", {})
+    defects = defect_result.get("defects", [])
+
+    for defect in defects:
+        shape = {
+            "label": defect.get("label", "unknown"),
+            "points": defect.get("points", []),
+            "group_id": None,
+            "description": "",
+            "shape_type": "polygon",
+            "flags": {},
+            # 我们将系统特有的字段暂存到 extra_info 中,或者直接放在 shape 根目录下
+            # LabelMe 打开时会忽略这些额外字段,但保存时通常会保留它们 (取决于版本)
+            # 为了安全,关键信息最好也保留
+            "system_data": {
+                "confidence": defect.get("confidence"),
+                "defect_type": defect.get("defect_type"),
+                "score": defect.get("score"),
+                "edit_type": defect.get("edit_type", "edit")
+            }
+        }
+        labelme_data["shapes"].append(shape)
+
+    # 2. 处理框 (Center Result -> Inner/Outer Box)
+    # 按照需求:inner_box 放在倒数第二个,outer_box 放在最下面 (列表最后)
+    center_result = result.get("center_result", {})
+    box_result = center_result.get("box_result", {})
+
+    inner_shape = None
+    outer_shape = None
+
+    # 提取 Inner Box
+    if "inner_box" in box_result:
+        shapes = box_result["inner_box"].get("shapes", [])
+        if shapes and len(shapes) > 0:
+            points = shapes[0].get("points", [])
+            if points:
+                inner_shape = {
+                    "label": "inner_box",
+                    "points": points,
+                    "group_id": None,
+                    "shape_type": "polygon",
+                    "flags": {}
+                }
+
+    # 提取 Outer Box
+    if "outer_box" in box_result:
+        shapes = box_result["outer_box"].get("shapes", [])
+        if shapes and len(shapes) > 0:
+            points = shapes[0].get("points", [])
+            if points:
+                outer_shape = {
+                    "label": "outer_box",
+                    "points": points,
+                    "group_id": None,
+                    "shape_type": "polygon",
+                    "flags": {}
+                }
+
+    # 添加到列表尾部
+    if inner_shape:
+        labelme_data["shapes"].append(inner_shape)
+
+    if outer_shape:
+        labelme_data["shapes"].append(outer_shape)
+
+    return labelme_data
+
+
+def convert_labelme_to_internal(original_json: dict, labelme_json: dict) -> dict:
+    """
+    将 LabelMe JSON 还原为系统内部格式结构。
+    注意:我们只构建 '结构',具体的面积/分数计算交给 Project 1 的重计算接口。
+    我们需要保留 original_json 中的一些元数据 (如 imageHeight, etc.)
+    """
+
+    # 基础结构复制
+    new_internal = {
+        "result": {
+            "imageHeight": labelme_json.get("imageHeight", original_json["result"].get("imageHeight")),
+            "imageWidth": labelme_json.get("imageWidth", original_json["result"].get("imageWidth")),
+            "center_result": {},
+            "defect_result": {"defects": []}
+        }
+    }
+
+    # 准备容器
+    defects_list = []
+    inner_box_data = None
+    outer_box_data = None
+
+    # 遍历 LabelMe 的 shapes
+    for shape in labelme_json.get("shapes", []):
+        label = shape.get("label")
+        points = shape.get("points", [])
+
+        if not points:
+            continue
+
+        if label == "outer_box":
+            # 重构 outer_box 结构
+            outer_box_data = {
+                "shapes": [{"label": "outer_box", "points": points, "shape_type": "polygon"}]
+            }
+        elif label == "inner_box":
+            # 重构 inner_box 结构
+            inner_box_data = {
+                "shapes": [{"label": "inner_box", "points": points, "shape_type": "polygon"}]
+            }
+        else:
+            # 这是一个缺陷
+            # 尝试从 shape 中读取我们之前暂存的 system_data,如果没有则初始化默认值
+            sys_data = shape.get("system_data", {})
+
+            defect_obj = {
+                "label": label,
+                "points": points,
+                "shape_type": "polygon",
+                # 如果是新加的缺陷,这些可能是 None,重计算服务应该处理它
+                "confidence": sys_data.get("confidence", 1.0),
+                "defect_type": sys_data.get("defect_type", "face"),  # 默认为 face, 服务端会重新校验
+                "edit_type": "edit",  # 标记为编辑过
+                # score 字段由服务端计算,这里可以不传或者传旧的
+                "score": sys_data.get("score")
+            }
+            defects_list.append(defect_obj)
+
+    # 组装 Center Result
+    # 只有当原始数据里有 box_result 或者 labelme 里画了 box 时才构造
+    # 保持原有的层级结构: center_result -> box_result -> inner_box/outer_box
+    if inner_box_data or outer_box_data:
+        new_internal["result"]["center_result"] = {
+            "box_result": {}
+        }
+        if inner_box_data:
+            new_internal["result"]["center_result"]["box_result"]["inner_box"] = inner_box_data
+        if outer_box_data:
+            new_internal["result"]["center_result"]["box_result"]["outer_box"] = outer_box_data
+    else:
+        # 如果没有框的信息(例如面部图),保持 center_result 为空或复制原始的非 box 信息
+        new_internal["result"]["center_result"] = {}
+
+    # 组装 Defect Result
+    new_internal["result"]["defect_result"]["defects"] = defects_list
+
+    # 复制 statistics 等其他可能的字段,或者留给服务端重新生成
+    # 建议只传核心数据,让服务端全权处理统计
+
+    return new_internal

+ 2 - 1
requirements.txt

@@ -4,4 +4,5 @@ requests
 pydantic
 aiohttp
 aiofiles
-uvicorn
+uvicorn
+python-multipart