随着技术的不断进步,机器学习和计算机视觉领域迎来了新的发展机遇。YOLOv8作为最新的对象检测模型,为用户提供了强大的性能和灵活性。通过Roboflow平台,可以轻松地将自己的YOLOv8模型部署到云端或边缘设备上,实现无限的可扩展性和高可用性。
首先,需要准备一个数据集,用于训练模型。在Roboflow平台上,可以创建一个新项目,并上传数据集。以“空中机场”数据集为例,可以在Roboflow Universe中找到这个公开的数据集,并选择YOLO v8 PyTorch格式进行导出。下载ZIP文件后,可以在Roboflow仪表板中创建一个名为“空中图像”的新项目,并上传解压后的文件。
上传图片后,可以在“版本”页面上创建一个新的数据集版本,并应用想要的增强和预处理步骤。生成新版本后,就可以开始训练模型了。Roboflow团队已经准备了Colab和SageMaker Studio笔记本,其中包含了如何在自定义数据集上训练YOLOv8的信息。
在数据集版本页面上,点击“获取代码片段”按钮,将得到一个可以粘贴到准备的YOLOv8训练笔记本中的代码片段。复制代码片段并打开笔记本,然后滚动到“准备自定义数据集”部分。用Roboflow仪表板中提供的代码替换下面的代码单元格中的代码。代码将类似于以下形式:
project.version(DATASET_VERSION).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")
在完成笔记本中的所有单元格后,将拥有一个工作模型和一组可以上传到Roboflow平台的权重。Roboflow pip包中的deploy()函数现在支持上传YOLOv8权重。
要上传模型权重,请在上述笔记本中的“使用自定义模型进行推理”部分添加以下代码:
project.version(DATASET_VERSION).deploy(model_type="yolov8", model_path=f"{HOME}/runs/detect/train/")
将DATASET_VERSION值替换为项目关联的版本号。如果使用提供的代码片段从Roboflow下载了权重,那么“DATASET_VERSION”数字存储在“dataset.version”值中。如果手动上传了自己的数据,而没有使用Python包,可以通过访问Roboflow仪表板来获取数据集版本号。选择模型的一个版本,然后记录“详细信息”列表中“版本ID”部分出现的数字。
运行上述代码后,将看到上传权重的版本旁边出现一个绿色的勾选标记。还会看到一个标签,表明使用YOLOv8权重上传功能上传了权重。
现在,模型已经准备好使用了!点击Roboflow仪表板侧边栏中的“部署”,查看可用的部署选项。在浏览器中,可以通过使用网络摄像头、上传图片或视频,或粘贴YouTube视频链接来测试模型。例如,可以上传一张图片或从测试集中选择一张图片,以查看模型在行动中的表现: