YOLOv10是由清华大学发布的最新目标检测模型。在发布时,YOLOv10在目标检测任务上达到了行业标准的COCO基准数据集上的最高精度,并且运行速度超过了其他目标检测模型,如YOLOv8和YOLOv9。
YOLOv10的性能表现卓越,现在可以通过Roboflow在云端或使用Inference在设备上部署YOLOv10模型。Inference是一个开源的计算机视觉推理服务器,可以高速运行视觉模型。Inference可以在Docker容器中运行,非常适合将模型作为微服务部署,也可以通过Python包直接集成到应用程序中。
在本指南中,将详细介绍如何使用Roboflow在云端和设备上部署YOLOv10模型。首先,需要创建一个数据集。要使用Roboflow部署模型,需要上传一个数据集。可以导出数据以在自己硬件上训练YOLOv10模型。通过将数据集上传到Roboflow,可以对图像应用增强和预处理步骤,并控制数据的不同版本。
首先,创建一个免费的Roboflow账户。然后,转到Roboflow仪表板并点击“创建项目”。选择“目标检测”作为项目类型,并为项目选择一个名称。当准备好后,点击页面底部的“创建项目”来创建项目。
接下来,将被要求上传数据。可以上传标记或未标记的图像。如果有任何未标注的数据,可以使用RoboflowAnnotate,这是一个基于Web的计算机视觉标注工具套件,来标注这些图像。要上传数据,拖放图像和注释:
# 点击“保存并继续”上传数据。
# 数据现在可以在Roboflow中使用。
接下来,需要创建一个数据集版本。这是一个数据集的快照,冻结在时间中。可以对数据集中的图像应用增强和预处理步骤,这可能有助于提高模型性能。要创建一个数据集版本,点击Roboflow侧边栏中的“生成”。然后,将能够配置数据集生成作业。参考预处理和增强指南,了解更多关于可用的处理步骤以及哪些步骤可能适合项目。
# 一旦配置了数据集版本,点击“创建”。
# 将生成一个数据集版本,可以用它来训练模型。
现在,可以在Roboflow上部署使用任何计算资源训练并上传到Roboflow的YOLOv10模型。准备了一个笔记本,可以使用它来训练模型。这个笔记本详细介绍了从下载Roboflow数据集到使用YOLOv10项目训练模型所需的一切。
# 阅读YOLOv10训练指南。
训练完模型后,可以在Roboflow云端或自己的硬件上部署它。无论想在云端部署模型还是在自己的硬件上部署,首先必须将权重上传到Roboflow。然后,这些权重可以被RoboflowInference下载,让可以在Docker容器中运行视觉模型,或者通过Python包在自己硬件上运行。
# 上传YOLOv10模型,使用以下代码:
!pip install roboflow
from roboflow import Roboflow
rf = Roboflow(api_key="API_KEY")
project = rf.workspace().project("model-name")
version = project.version(1)
version.deploy("yolov8")
# 替换:
# model-name 为Roboflow模型ID。
# API_KEY 为Roboflow API密钥。
# 1 为项目版本ID。
运行此代码后,模型权重将上传到Roboflow。然后,可以通过Roboflow Web界面在云端和自己硬件上使用模型。要在云端部署模型,可以使用InferenceSDK,它接受一个图像并在Roboflow的服务器上运行推理。要使用SDK,首先安装它:
# 安装SDK:
pip install inference-sdk
# 然后,创建一个新文件并添加以下代码:
from inference_sdk import InferenceHTTPClient
# 初始化客户端
CLIENT = InferenceHTTPClient(
api_url="https://detect.roboflow.com",
api_key="API_KEY"
)
# 在本地图像上进行推理
result = CLIENT.infer("YOUR_IMAGE.jpg", model_id="model-name/1")
# 替换:
# model-name 为Roboflow模型ID。
# API_KEY 为Roboflow API密钥。
# /1 为项目版本ID。
# YOUR_IMAGE.jpg 为想要运行推理的图像名称。
运行此代码时,模型将在云端运行在图像上,结果将在result变量中可用。还可以在自己的硬件上部署模型,例如NVIDIA Jetson、Raspberry Pi或服务器。