рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдВ

YOLO рдЕрдиреБрдорд╛рди рдПрдкреАрдЖрдИ

рд╡рд╣реА YOLO Inference API рдЖрдкрдХреЛ YOLOv8 рдПрдХ RESTful API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреНрд╖рдорддрд╛рдПрдВред рдпрд╣ рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ YOLOv8 рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдкрд░реНрдпрд╛рд╡рд░рдгред

Inference API рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЯреИрдм рдореЗрдВ рдЕрдиреБрдорд╛рди API рдЕрдиреБрднрд╛рдЧ рдХрд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ.



рд╕рддрд░реНрдХрддрд╛: Ultralytics HUB рдЕрдиреБрдорд╛рди API рд╡реЙрдХрдереНрд░реВ

рдПрдкреАрдЖрдИ рдпреВрдЖрд░рдПрд▓

API URL рд╡рд╣ рдкрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ YOLO рдЕрдиреБрдорд╛рди API. рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдзрд╛рд░ URL рд╣реИ:

https://api.ultralytics.com/v1/predict

рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ Python

рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП YOLO рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЙрдбрд▓ рдФрд░ API рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдорд╛рди API Python, рдЖрдк рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

import requests

# API URL, use actual MODEL_ID
url = f"https://api.ultralytics.com/v1/predict/MODEL_ID"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (optional)
data = {"size": 640, "confidence": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"image": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ API_KEY рдЕрдкрдиреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде, MODEL_ID рд╡рд╛рдВрдЫрд┐рдд рдореЙрдбрд▓ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде, рдФрд░ path/to/image.jpg рдЙрд╕ рдЫрд╡рд┐ рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рдЬрд┐рд╕рдХрд╛ рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

cURL рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ

рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ YOLO рдХреНрд▓рд╛рдЗрдВрдЯ URL (cURL) рдХреЗ рд╕рд╛рде Inference API curl рдЖрдЬреНрдЮрд╛ред рдмрджрд▓реЗрдВ API_KEY рдЕрдкрдиреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде, MODEL_ID рд╡рд╛рдВрдЫрд┐рдд рдореЙрдбрд▓ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде, рдФрд░ image.jpg рдЙрд╕ рдЫрд╡рд┐ рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рдЬрд┐рд╕рдХрд╛ рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

curl -X POST "https://api.ultralytics.com/v1/predict/MODEL_ID" \
    -H "x-api-key: API_KEY" \
    -F "image=@/path/to/image.jpg" \
    -F "size=640" \
    -F "confidence=0.25" \
    -F "iou=0.45"

рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛

рдпрд╣ рдЖрджреЗрд╢ рдПрдХ POST рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ YOLO рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорд╛рди API MODEL_ID URL рдореЗрдВ рдФрд░ API_KEY рдЕрдиреБрд░реЛрдз рдореЗрдВ headers, рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде @path/to/image.jpg.

рдпрд╣рд╛рдБ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ size, confidenceрдФрд░ iou API URL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрд░реНрдХ requests рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ Python:

import requests

# API URL, use actual MODEL_ID
url = f"https://api.ultralytics.com/v1/predict/MODEL_ID"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (optional)
data = {"size": 640, "confidence": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"image": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, data рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдХреНрд╡реЗрд░реА рддрд░реНрдХ рд╣реИрдВ size, confidenceрдФрд░ iou, рдЬреЛ рдПрдкреАрдЖрдИ рдХреЛ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐ рдЖрдХрд╛рд░ 640 рдкрд░ рдЕрдиреБрдорд╛рди рдЪрд▓рд╛рдиреЗ рдФрд░ 0.25 рдФрд░ 0.45 рдХреЗ IoU рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред

рдпрд╣ POST рдЕрдиреБрд░реЛрдз рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рднреЗрдЬреЗрдЧрд╛ред рдЙрдкрд▓рдмреНрдз рдЕрдиреБрдорд╛рди рддрд░реНрдХреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рджреЗрдЦреЗрдВред

рдЕрдиреБрдорд╛рди рддрд░реНрдХ рдЪреВрдХ рдкреНрд░рдХрд╛рд░ рдиреЛрдЯреНрд╕
size 640 int рдорд╛рдиреНрдп рд╕реАрдорд╛ рд╣реИ 32 - 1280 рдкрд┐рдХреНрд╕реЗрд▓
confidence 0.25 float рдорд╛рдиреНрдп рд╕реАрдорд╛ рд╣реИ 0.01 - 1.0
iou 0.45 float рдорд╛рдиреНрдп рд╕реАрдорд╛ рд╣реИ 0.0 - 0.95
url '' str рд╡реИрдХрд▓реНрдкрд┐рдХ рдЫрд╡рд┐ URL рдпрджрд┐ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓ рдкрд╛рд╕ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ
normalize False bool

JSON рдкреНрд░рд╛рд░реВрдк рд▓реМрдЯрд╛рдПрдВ

рд╡рд╣реА YOLO Inference API, рдбрд┐рдЯреЗрдХреНрд╢рди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде JSON рд╕реВрдЪреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ. JSON рд╕реВрдЪреА рдХрд╛ рдкреНрд░рд╛рд░реВрдк рд╡рд╣реА рд╣реЛрдЧрд╛ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЙрддреНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ results[0].tojson() рдЖрдЬреНрдЮрд╛ред

JSON рд╕реВрдЪреА рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдИ рдЧрдИ рд╡рд╕реНрддреБрдУрдВ, рдЙрдирдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ, рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реНрдХреЛрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред

рдореЙрдбрд▓ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ

YOLO рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓, рдЬреИрд╕реЗ yolov8n.pt, рд╕реНрдерд╛рдиреАрдп рдЕрдиреБрдорд╛рди рд╕реЗ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, cURL рдЕрдиреБрдорд╛рди, рдФрд░ Python рдЕрдиреБрдорд╛рдиред рдпреЗ рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рдорд╛рди JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИрдВред

рдореЙрдбрд▓ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ

from ultralytics import YOLO

# Load model
model = YOLO('yolov8n.pt')

# Run inference
results = model('image.jpg')

# Print image.jpg results in JSON format
print(results[0].tojson())
curl -X POST "https://api.ultralytics.com/v1/predict/MODEL_ID" \
    -H "x-api-key: API_KEY" \
    -F "image=@/path/to/image.jpg" \
    -F "size=640" \
    -F "confidence=0.25" \
    -F "iou=0.45"
import requests

# API URL, use actual MODEL_ID
url = f"https://api.ultralytics.com/v1/predict/MODEL_ID"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (optional)
data = {"size": 640, "confidence": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"image": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())
{
  "success": True,
  "message": "Inference complete.",
  "data": [
    {
      "name": "person",
      "class": 0,
      "confidence": 0.8359682559967041,
      "box": {
        "x1": 0.08974208831787109,
        "y1": 0.27418340047200523,
        "x2": 0.8706787109375,
        "y2": 0.9887352837456598
      }
    },
    {
      "name": "person",
      "class": 0,
      "confidence": 0.8189555406570435,
      "box": {
        "x1": 0.5847355842590332,
        "y1": 0.05813225640190972,
        "x2": 0.8930277824401855,
        "y2": 0.9903111775716146
      }
    },
    {
      "name": "tie",
      "class": 27,
      "confidence": 0.2909725308418274,
      "box": {
        "x1": 0.3433395862579346,
        "y1": 0.6070465511745877,
        "x2": 0.40964522361755373,
        "y2": 0.9849439832899306
      }
    }
  ]
}

рд╕реЗрдЧрдореЗрдВрдЯ рдореЙрдбрд▓ рдкреНрд░рд╛рд░реВрдк

YOLO рд╡рд┐рднрд╛рдЬрди рдореЙрдбрд▓, рдЬреИрд╕реЗ yolov8n-seg.pt, рд╕реНрдерд╛рдиреАрдп рдЕрдиреБрдорд╛рди рд╕реЗ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, cURL рдЕрдиреБрдорд╛рди, рдФрд░ Python рдЕрдиреБрдорд╛рдиред рдпреЗ рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рдорд╛рди JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИрдВред

рд╕реЗрдЧрдореЗрдВрдЯ рдореЙрдбрд▓ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛

from ultralytics import YOLO

# Load model
model = YOLO('yolov8n-seg.pt')

# Run inference
results = model('image.jpg')

# Print image.jpg results in JSON format
print(results[0].tojson())
curl -X POST "https://api.ultralytics.com/v1/predict/MODEL_ID" \
    -H "x-api-key: API_KEY" \
    -F "image=@/path/to/image.jpg" \
    -F "size=640" \
    -F "confidence=0.25" \
    -F "iou=0.45"
import requests

# API URL, use actual MODEL_ID
url = f"https://api.ultralytics.com/v1/predict/MODEL_ID"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (optional)
data = {"size": 640, "confidence": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"image": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())

рдиреЛрдЯ segments x рдФрд░ y рд▓рдВрдмрд╛рдИ рдПрдХ рд╡рд╕реНрддреБ рд╕реЗ рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдореЗрдВ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред рдмрдбрд╝реА рдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдЦрдВрдб рдмрд┐рдВрджреБ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

{
  "success": True,
  "message": "Inference complete.",
  "data": [
    {
      "name": "person",
      "class": 0,
      "confidence": 0.856913149356842,
      "box": {
        "x1": 0.1064866065979004,
        "y1": 0.2798851860894097,
        "x2": 0.8738358497619629,
        "y2": 0.9894873725043403
      },
      "segments": {
        "x": [
          0.421875,
          0.4203124940395355,
          0.41718751192092896
          ...
        ],
        "y": [
          0.2888889014720917,
          0.2916666567325592,
          0.2916666567325592
          ...
        ]
      }
    },
    {
      "name": "person",
      "class": 0,
      "confidence": 0.8512625694274902,
      "box": {
        "x1": 0.5757311820983887,
        "y1": 0.053943040635850696,
        "x2": 0.8960096359252929,
        "y2": 0.985154045952691
      },
      "segments": {
        "x": [
          0.7515624761581421,
          0.75,
          0.7437499761581421
          ...
        ],
        "y": [
          0.0555555559694767,
          0.05833333358168602,
          0.05833333358168602
          ...
        ]
      }
    },
    {
      "name": "tie",
      "class": 27,
      "confidence": 0.6485961675643921,
      "box": {
        "x1": 0.33911995887756347,
        "y1": 0.6057066175672743,
        "x2": 0.4081430912017822,
        "y2": 0.9916408962673611
      },
      "segments": {
        "x": [
          0.37187498807907104,
          0.37031251192092896,
          0.3687500059604645
          ...
        ],
        "y": [
          0.6111111044883728,
          0.6138888597488403,
          0.6138888597488403
          ...
        ]
      }
    }
  ]
}

рдкреЛрдЬрд╝ рдореЙрдбрд▓ рдкреНрд░рд╛рд░реВрдк

YOLO рдкреЛрдЬрд╝ рдореЙрдбрд▓, рдЬреИрд╕реЗ yolov8n-pose.pt, рд╕реНрдерд╛рдиреАрдп рдЕрдиреБрдорд╛рди рд╕реЗ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, cURL рдЕрдиреБрдорд╛рди, рдФрд░ Python рдЕрдиреБрдорд╛рдиред рдпреЗ рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдВ рд╕рдорд╛рди JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреА рд╣реИрдВред

рдкреЛрдЬрд╝ рдореЙрдбрд▓ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛

from ultralytics import YOLO

# Load model
model = YOLO('yolov8n-seg.pt')

# Run inference
results = model('image.jpg')

# Print image.jpg results in JSON format
print(results[0].tojson())
curl -X POST "https://api.ultralytics.com/v1/predict/MODEL_ID" \
    -H "x-api-key: API_KEY" \
    -F "image=@/path/to/image.jpg" \
    -F "size=640" \
    -F "confidence=0.25" \
    -F "iou=0.45"
import requests

# API URL, use actual MODEL_ID
url = f"https://api.ultralytics.com/v1/predict/MODEL_ID"

# Headers, use actual API_KEY
headers = {"x-api-key": "API_KEY"}

# Inference arguments (optional)
data = {"size": 640, "confidence": 0.25, "iou": 0.45}

# Load image and send request
with open("path/to/image.jpg", "rb") as image_file:
    files = {"image": image_file}
    response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())

рдиреЛрдЯ: COCO-рдХреАрдкреЙрдЗрдВрдЯреНрд╕ рдкреНрд░реАрдЯреНрд░реЗрдиреНрдб рдореЙрдбрд▓ рдореЗрдВ 17 рдорд╛рдирд╡ рдХреАрдкреЙрдЗрдВрдЯ рд╣реЛрдВрдЧреЗред рд╡рд╣реА visible рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рднрд╛рдЧ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдХреАрдкреЙрдЗрдВрдЯ рджреГрд╢реНрдпрдорд╛рди рд╣реИ рдпрд╛ рдЕрд╕реНрдкрд╖реНрдЯред рдЕрд╕реНрдкрд╖реНрдЯ рдХреАрдкреЙрдЗрдВрдЯ рдЫрд╡рд┐ рдХреЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрдБрдЦреЗрдВ рдХреИрдорд░реЗ рд╕реЗ рджреВрд░ рдХреА рдУрд░ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

{
  "success": True,
  "message": "Inference complete.",
  "data": [
    {
      "name": "person",
      "class": 0,
      "confidence": 0.8439509868621826,
      "box": {
        "x1": 0.1125,
        "y1": 0.28194444444444444,
        "x2": 0.7953125,
        "y2": 0.9902777777777778
      },
      "keypoints": {
        "x": [
          0.5058594942092896,
          0.5103894472122192,
          0.4920862317085266
          ...
        ],
        "y": [
          0.48964157700538635,
          0.4643048942089081,
          0.4465252459049225
          ...
        ],
        "visible": [
          0.8726999163627625,
          0.653947651386261,
          0.9130823612213135
          ...
        ]
      }
    },
    {
      "name": "person",
      "class": 0,
      "confidence": 0.7474289536476135,
      "box": {
        "x1": 0.58125,
        "y1": 0.0625,
        "x2": 0.8859375,
        "y2": 0.9888888888888889
      },
      "keypoints": {
        "x": [
          0.778544008731842,
          0.7976160049438477,
          0.7530890107154846
          ...
        ],
        "y": [
          0.27595141530036926,
          0.2378823608160019,
          0.23644638061523438
          ...
        ],
        "visible": [
          0.8900790810585022,
          0.789978563785553,
          0.8974530100822449
          ...
        ]
      }
    }
  ]
}



2024-01-23 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-03-06
рд▓реЗрдЦрдХ: рд░рд┐рдЬрд╝рд╡рд╛рдирдореБрдирд╡реНрд╡рд░ (1), рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (3), рдкреНрд░рд┐рдпрддреЛрд╖-рддреНрд░рд┐рдкрд╛рдареА (1)

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ