ultralytics 8.0.93
HUB docs and JSON2YOLO converter (#2431)
Co-authored-by: Ayush Chaurasia <ayush.chaurarsia@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: 李际朝 <tubkninght@gmail.com> Co-authored-by: Danny Kim <imbird0312@gmail.com>
This commit is contained in:
7
docs/hub/app/android.md
Normal file
7
docs/hub/app/android.md
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 🚧 Page Under Construction ⚒
|
||||
|
||||
This page is currently under construction!️ 👷Please check back later for updates. 😃🔜
|
52
docs/hub/app/index.md
Normal file
52
docs/hub/app/index.md
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# Ultralytics HUB App
|
||||
|
||||
<a href="https://bit.ly/ultralytics_hub" target="_blank">
|
||||
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png"></a>
|
||||
<br>
|
||||
<div align="center">
|
||||
<a href="https://github.com/ultralytics" style="text-decoration:none;">
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-github.png" width="2%" alt="" /></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="" />
|
||||
<a href="https://www.linkedin.com/company/ultralytics" style="text-decoration:none;">
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-linkedin.png" width="2%" alt="" /></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="" />
|
||||
<a href="https://twitter.com/ultralytics" style="text-decoration:none;">
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-twitter.png" width="2%" alt="" /></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="" />
|
||||
<a href="https://youtube.com/ultralytics" style="text-decoration:none;">
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-youtube.png" width="2%" alt="" /></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="" />
|
||||
<a href="https://www.tiktok.com/@ultralytics" style="text-decoration:none;">
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="2%" alt="" /></a>
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="" />
|
||||
<a href="https://www.instagram.com/ultralytics/" style="text-decoration:none;">
|
||||
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-instagram.png" width="2%" alt="" /></a>
|
||||
<br>
|
||||
<br>
|
||||
<a href="https://play.google.com/store/apps/details?id=com.ultralytics.ultralytics_app" style="text-decoration:none;">
|
||||
<img src="https://raw.githubusercontent.com/ultralytics/assets/master/app/google-play.svg" width="15%" alt="" /></a>
|
||||
<a href="https://apps.apple.com/xk/app/ultralytics/id1583935240" style="text-decoration:none;">
|
||||
<img src="https://raw.githubusercontent.com/ultralytics/assets/master/app/app-store.svg" width="15%" alt="" /></a>
|
||||
</div>
|
||||
|
||||
Welcome to the Ultralytics HUB app, which is designed to demonstrate the power and capabilities of the YOLOv5 and YOLOv8
|
||||
models. This app is available for download on
|
||||
the [Apple App Store](https://apps.apple.com/xk/app/ultralytics/id1583935240) and
|
||||
the [Google Play Store](https://play.google.com/store/apps/details?id=com.ultralytics.ultralytics_app).
|
||||
|
||||
**To install the app, simply scan the QR code provided above**. At the moment, the app features YOLOv5 models, with
|
||||
YOLOv8 models set to be available soon.
|
||||
|
||||
With the YOLOv5 model, you can easily detect and classify objects in images and videos with high accuracy and speed. The
|
||||
model has been trained on a vast dataset and can recognize a wide range of objects, including pedestrians, traffic
|
||||
signs, and cars.
|
||||
|
||||
Using this app, you can try out YOLOv5 on your images and videos, and observe how the model works in real-time.
|
||||
Additionally, you can learn more about YOLOv5's functionality and how it can be integrated into real-world applications.
|
||||
|
||||
We are confident that you will enjoy using YOLOv5 and be amazed at its capabilities. Thank you for choosing Ultralytics
|
||||
for your AI solutions.
|
7
docs/hub/app/ios.md
Normal file
7
docs/hub/app/ios.md
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 🚧 Page Under Construction ⚒
|
||||
|
||||
This page is currently under construction!️ 👷Please check back later for updates. 😃🔜
|
51
docs/hub/datasets.md
Normal file
51
docs/hub/datasets.md
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# HUB Datasets
|
||||
|
||||
## Upload a Dataset
|
||||
|
||||
Ultralytics HUB datasets are just like YOLOv5 and YOLOv8 🚀 datasets, they use the same structure and the same label formats to keep
|
||||
everything simple.
|
||||
|
||||
When you upload a dataset to Ultralytics HUB, make sure to **place your dataset YAML inside the dataset root directory**
|
||||
as in the example shown below, and then zip for upload to https://hub.ultralytics.com/. Your **dataset YAML, directory
|
||||
and zip** should all share the same name. For example, if your dataset is called 'coco6' as in our
|
||||
example [ultralytics/hub/coco6.zip](https://github.com/ultralytics/hub/blob/master/coco6.zip), then you should have a
|
||||
coco6.yaml inside your coco6/ directory, which should zip to create coco6.zip for upload:
|
||||
|
||||
```bash
|
||||
zip -r coco6.zip coco6
|
||||
```
|
||||
|
||||
The example [coco6.zip](https://github.com/ultralytics/hub/blob/master/coco6.zip) dataset in this repository can be
|
||||
downloaded and unzipped to see exactly how to structure your custom dataset.
|
||||
|
||||
<p align="center">
|
||||
<img width="80%" src="https://user-images.githubusercontent.com/26833433/201424843-20fa081b-ad4b-4d6c-a095-e810775908d8.png" title="COCO6" />
|
||||
</p>
|
||||
|
||||
The dataset YAML is the same standard YOLOv5 and YOLOv8 YAML format. See
|
||||
the [YOLOv5 and YOLOv8 Train Custom Data tutorial](https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/) for full details.
|
||||
|
||||
```yaml
|
||||
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
||||
path: # dataset root dir (leave empty for HUB)
|
||||
train: images/train # train images (relative to 'path') 8 images
|
||||
val: images/val # val images (relative to 'path') 8 images
|
||||
test: # test images (optional)
|
||||
|
||||
# Classes
|
||||
names:
|
||||
0: person
|
||||
1: bicycle
|
||||
2: car
|
||||
3: motorcycle
|
||||
...
|
||||
```
|
||||
|
||||
After zipping your dataset, sign in to [Ultralytics HUB](https://bit.ly/ultralytics_hub) and click the Datasets tab.
|
||||
Click 'Upload Dataset' to upload, scan and visualize your new dataset before training new YOLOv5 or YOLOv8 models on it!
|
||||
|
||||
<img width="100%" alt="HUB Dataset Upload" src="https://user-images.githubusercontent.com/26833433/216763338-9a8812c8-a4e5-4362-8102-40dad7818396.png">
|
41
docs/hub/index.md
Normal file
41
docs/hub/index.md
Normal file
@ -0,0 +1,41 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# Ultralytics HUB
|
||||
|
||||
<a href="https://bit.ly/ultralytics_hub" target="_blank">
|
||||
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png"></a>
|
||||
<br>
|
||||
<br>
|
||||
<div align="center">
|
||||
<a href="https://github.com/ultralytics/hub/actions/workflows/ci.yaml">
|
||||
<img src="https://github.com/ultralytics/hub/actions/workflows/ci.yaml/badge.svg" alt="CI CPU"></a>
|
||||
<a href="https://colab.research.google.com/github/ultralytics/hub/blob/master/hub.ipynb">
|
||||
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
👋 Hello from the [Ultralytics](https://ultralytics.com/) Team! We've been working hard these last few months to
|
||||
launch [Ultralytics HUB](https://bit.ly/ultralytics_hub), a new web tool for training and deploying all your YOLOv5 and YOLOv8 🚀
|
||||
models from one spot!
|
||||
|
||||
|
||||
## Introduction
|
||||
|
||||
HUB is designed to be user-friendly and intuitive, with a drag-and-drop interface that allows users to
|
||||
easily upload their data and train new models quickly. It offers a range of pre-trained models and
|
||||
templates to choose from, making it easy for users to get started with training their own models. Once a model is
|
||||
trained, it can be easily deployed and used for real-time object detection, instance segmentation and classification tasks.
|
||||
|
||||
We hope that the resources here will help you get the most out of HUB. Please browse the HUB <a href="https://docs.ultralytics.com/hub">Docs</a> for details, raise an issue on <a href="https://github.com/ultralytics/hub/issues/new/choose">GitHub</a> for support, and join our <a href="https://discord.gg/n6cFeSPZdD">Discord</a> community for questions and discussions!
|
||||
|
||||
- [**Quickstart**](./quickstart.md). Start training and deploying YOLO models with HUB in seconds.
|
||||
- [**Datasets: Preparing and Uploading**](./datasets.md). Learn how to prepare and upload your datasets to HUB in YOLO format.
|
||||
- [**Projects: Creating and Managing**](./projects.md). Group your models into projects for improved organization.
|
||||
- [**Models: Training and Exporting**](./models.md). Train YOLOv5 and YOLOv8 models on your custom datasets and export them to various formats for deployment.
|
||||
- [**Integrations: Options**](./integrations.md). Explore different integration options for your trained models, such as TensorFlow, ONNX, OpenVINO, CoreML, and PaddlePaddle.
|
||||
- [**Ultralytics HUB App**](./app/index.md). Learn about the Ultralytics App for iOS and Android, which allows you to run models directly on your mobile device.
|
||||
- [**iOS**](./app/ios.md)
|
||||
- [**Android**](./app/android.md)
|
||||
- [**Inference API**](./inference_api.md). Understand how to use the Inference API for running your trained models in the cloud to generate predictions.
|
460
docs/hub/inference_api.md
Normal file
460
docs/hub/inference_api.md
Normal file
@ -0,0 +1,460 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 🚧 Page Under Construction ⚒
|
||||
|
||||
This page is currently under construction!️ 👷Please check back later for updates. 😃🔜
|
||||
|
||||
|
||||
# YOLO Inference API
|
||||
|
||||
The YOLO Inference API allows you to access the YOLOv8 object detection capabilities via a RESTful API. This enables you to run object detection on images without the need to install and set up the YOLOv8 environment locally.
|
||||
|
||||
## API URL
|
||||
|
||||
The API URL is the address used to access the YOLO Inference API. In this case, the base URL is:
|
||||
|
||||
```
|
||||
https://api.ultralytics.com/v1/predict
|
||||
```
|
||||
|
||||
## Example Usage in Python
|
||||
|
||||
To access the YOLO Inference API with the specified model and API key using Python, you can use the following code:
|
||||
|
||||
```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())
|
||||
```
|
||||
|
||||
In this example, replace `API_KEY` with your actual API key, `MODEL_ID` with the desired model ID, and `path/to/image.jpg` with the path to the image you want to analyze.
|
||||
|
||||
|
||||
## Example Usage with CLI
|
||||
|
||||
You can use the YOLO Inference API with the command-line interface (CLI) by utilizing the `curl` command. Replace `API_KEY` with your actual API key, `MODEL_ID` with the desired model ID, and `image.jpg` with the path to the image you want to analyze:
|
||||
|
||||
```commandline
|
||||
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"
|
||||
```
|
||||
|
||||
## Passing Arguments
|
||||
|
||||
This command sends a POST request to the YOLO Inference API with the specified `MODEL_ID` in the URL and the `API_KEY` in the request `headers`, along with the image file specified by `@path/to/image.jpg`.
|
||||
|
||||
Here's an example of passing the `size`, `confidence`, and `iou` arguments via the API URL using the `requests` library in Python:
|
||||
|
||||
```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())
|
||||
```
|
||||
|
||||
In this example, the `data` dictionary contains the query arguments `size`, `confidence`, and `iou`, which tells the API to run inference at image size 640 with confidence and IoU thresholds of 0.25 and 0.45.
|
||||
|
||||
This will send the query parameters along with the file in the POST request. See the table below for a full list of available inference arguments.
|
||||
|
||||
| Argument | Default | Type | Notes |
|
||||
|--------------|---------|---------|-----------------------------------------|
|
||||
| `size` | `640` | `int` | allowable range is `32` - `1280` pixels |
|
||||
| `confidence` | `0.25` | `float` | allowable range is `0.01` - `1.0` |
|
||||
| `iou` | `0.45` | `float` | allowable range is `0.0` - `0.95` |
|
||||
| `url` | `''` | `str` | |
|
||||
| `normalize` | `False` | `bool` | |
|
||||
|
||||
## Return JSON format
|
||||
|
||||
The YOLO Inference API returns a JSON list with the detection results. The format of the JSON list will be the same as the one produced locally by the `results[0].tojson()` command.
|
||||
|
||||
The JSON list contains information about the detected objects, their coordinates, classes, and confidence scores.
|
||||
|
||||
### Detect Model Format
|
||||
|
||||
YOLO detection models, such as `yolov8n.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format.
|
||||
|
||||
!!! example "Detect Model JSON Response"
|
||||
|
||||
=== "Local"
|
||||
```python
|
||||
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())
|
||||
```
|
||||
|
||||
=== "CLI API"
|
||||
```commandline
|
||||
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"
|
||||
```
|
||||
|
||||
=== "Python 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())
|
||||
```
|
||||
|
||||
=== "JSON 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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Segment Model Format
|
||||
|
||||
YOLO segmentation models, such as `yolov8n-seg.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format.
|
||||
|
||||
!!! example "Segment Model JSON Response"
|
||||
|
||||
=== "Local"
|
||||
```python
|
||||
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())
|
||||
```
|
||||
|
||||
=== "CLI API"
|
||||
```commandline
|
||||
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"
|
||||
```
|
||||
|
||||
=== "Python 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())
|
||||
```
|
||||
|
||||
=== "JSON Response"
|
||||
Note `segments` `x` and `y` lengths may vary from one object to another. Larger or more complex objects may have more segment points.
|
||||
```json
|
||||
{
|
||||
"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
|
||||
...
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### Pose Model Format
|
||||
|
||||
YOLO pose models, such as `yolov8n-pose.pt`, can return JSON responses from local inference, CLI API inference, and Python API inference. All of these methods produce the same JSON response format.
|
||||
|
||||
!!! example "Pose Model JSON Response"
|
||||
|
||||
=== "Local"
|
||||
```python
|
||||
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())
|
||||
```
|
||||
|
||||
=== "CLI API"
|
||||
```commandline
|
||||
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"
|
||||
```
|
||||
|
||||
=== "Python 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())
|
||||
```
|
||||
|
||||
=== "JSON Response"
|
||||
Note COCO-keypoints pretrained models will have 17 human keypoints. The `visible` part of the keypoints indicates whether a keypoint is visible or obscured. Obscured keypoints may be outside the image or may not be visible, i.e. a person's eyes facing away from the camera.
|
||||
```json
|
||||
{
|
||||
"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
|
||||
...
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
7
docs/hub/integrations.md
Normal file
7
docs/hub/integrations.md
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 🚧 Page Under Construction ⚒
|
||||
|
||||
This page is currently under construction!️ 👷Please check back later for updates. 😃🔜
|
20
docs/hub/models.md
Normal file
20
docs/hub/models.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# HUB Models
|
||||
|
||||
## Train a Model
|
||||
|
||||
Connect to the Ultralytics HUB notebook and use your model API key to begin training!
|
||||
|
||||
<a href="https://colab.research.google.com/github/ultralytics/hub/blob/master/hub.ipynb" target="_blank">
|
||||
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
|
||||
|
||||
|
||||
## Deploy to Real World
|
||||
|
||||
Export your model to 13 different formats, including TensorFlow, ONNX, OpenVINO, CoreML, Paddle and many others. Run
|
||||
models directly on your [iOS](https://apps.apple.com/xk/app/ultralytics/id1583935240) or
|
||||
[Android](https://play.google.com/store/apps/details?id=com.ultralytics.ultralytics_app) mobile device by downloading
|
||||
the [Ultralytics App](https://ultralytics.com/app_install)!
|
7
docs/hub/projects.md
Normal file
7
docs/hub/projects.md
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 🚧 Page Under Construction ⚒
|
||||
|
||||
This page is currently under construction!️ 👷Please check back later for updates. 😃🔜
|
0
docs/hub/quickstart.md
Normal file
0
docs/hub/quickstart.md
Normal file
Reference in New Issue
Block a user