Ultralytics YOLO 常见问题解答 (FAQ)
此 FAQ 部分解答了用户在使用 Ultralytics YOLO 仓库时可能遇到的常见问题。
常见问题
Ultralytics 是什么,它提供哪些功能?
Ultralytics 是一家 计算机视觉 AI 公司,专门从事最先进的目标检测和图像分割模型的研究,专注于 YOLO (You Only Look Once) 系列。 他们的产品包括:
- YOLOv8 和 YOLO11 的开源实现
- 适用于各种计算机视觉任务的预训练模型
- 一个全面的 Python 包,用于将 YOLO 模型无缝集成到项目中
- 用于训练、测试和部署模型的通用工具
- 内容详尽的文档和提供支持的社区
如何安装 Ultralytics 包?
使用 pip 安装 Ultralytics 包非常简单:
pip install ultralytics
要获取最新的开发版本,请直接从 GitHub 存储库安装:
pip install git+https://github.com/ultralytics/ultralytics.git
详细的安装说明请参考快速入门指南。
运行 Ultralytics 模型有哪些系统要求?
最低要求:
- Python 3.8+
- PyTorch 1.8+
- 兼容 CUDA 的 GPU(用于 GPU 加速)
推荐配置:
- Python 3.8+
- PyTorch 1.10+
- 配备 CUDA 11.2+ 的 NVIDIA GPU
- 8GB+ 内存
- 50GB+ 可用磁盘空间(用于数据集存储和模型训练)
如需解决常见问题,请访问YOLO 常见问题页面。
如何在自己的数据集上训练自定义 YOLO 模型?
要训练自定义 YOLO 模型:
- 以 YOLO 格式准备您的数据集(图像和相应的标签 txt 文件)。
- 创建一个 YAML 文件,描述您的数据集结构和类别。
-
使用以下 python 代码开始训练:
from ultralytics import YOLO # Load a model model = YOLO("yolov8n.yaml") # build a new model from scratch model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
有关更深入的指南,包括数据准备和高级训练选项,请参阅完整的训练指南。
Ultralytics 中有哪些可用的预训练模型?
Ultralytics 为各种任务提供各种预训练模型:
- 目标检测:YOLO11n、YOLO11s、YOLO11m、YOLO11l、YOLO11x
- 实例分割:YOLO11n-seg、YOLO11s-seg、YOLO11m-seg、YOLO11l-seg、YOLO11x-seg
- 分类:YOLO11n-cls、YOLO11s-cls、YOLO11m-cls、YOLO11l-cls、YOLO11x-cls
- 姿势估计: YOLO11n-pose, YOLO11s-pose, YOLO11m-pose, YOLO11l-pose, YOLO11x-pose
这些模型的大小和复杂性各不相同,在速度和准确性之间提供不同的权衡。浏览完整的预训练模型,找到最适合您项目的模型。
如何使用训练好的 Ultralytics 模型进行推理?
要使用训练好的模型执行推理,请执行以下操作:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilities
有关高级推理选项,包括批量处理和视频推理,请查看详细的预测指南。
Ultralytics 模型可以部署在边缘设备或生产环境中吗?
当然!Ultralytics 模型旨在跨各种平台进行通用部署:
- 边缘设备:使用 TensorRT、ONNX 或 OpenVINO 优化在 NVIDIA Jetson 或 Intel Neural Compute Stick 等设备上的推理。
- 移动设备:通过将模型转换为 TFLite 或 Core ML,部署在 Android 或 iOS 设备上。
- 云:利用 TensorFlow Serving 或 PyTorch Serve 等框架进行可扩展的云部署。
- Web:使用 ONNX.js 或 TensorFlow.js 在浏览器中实现推理。
Ultralytics 提供了导出功能,可将模型转换为各种格式以进行部署。浏览各种部署选项,找到最适合您用例的解决方案。
YOLOv8 和 YOLO11 之间有什么区别?
主要区别包括:
- 架构:YOLO11 具有改进的骨干和头部设计,以增强性能。
- 性能:与 YOLOv8 相比,YOLO11 通常提供更高的准确性和速度。
- 效率:YOLO11m在COCO数据集上实现了更高的平均精度均值(mAP),参数比YOLOv8m少22%。
- 任务:两种模型都支持在统一框架中进行对象检测、实例分割、分类和姿势估计。
- 代码库:YOLO11 采用更模块化和可扩展的架构实现,从而更容易进行自定义和扩展。
有关特性和性能指标的深入比较,请访问 YOLO11 文档页面。
如何为 Ultralytics 开源项目做贡献?
为 Ultralytics 做出贡献是改进项目和扩展技能的好方法。以下是您可以参与的方式:
- 在 GitHub 上 Fork Ultralytics 存储库。
- 为您的功能或错误修复创建一个新分支。
- 进行更改并确保所有测试通过。
- 提交一个 pull request,清楚地描述您的更改。
- 参与代码审查过程。
您还可以通过报告错误、建议功能或改进文档来做出贡献。 有关详细的指南和最佳实践,请参阅贡献指南。
如何在 Python 中安装 Ultralytics 包?
在 Python 中安装 Ultralytics 包非常简单。通过在终端或命令提示符中运行以下命令来使用 pip:
pip install ultralytics
对于最前沿的开发版本,请直接从 GitHub 存储库安装:
pip install git+https://github.com/ultralytics/ultralytics.git
有关特定于环境的安装说明和故障排除提示,请查阅完整的快速入门指南。
Ultralytics YOLO 的主要功能有哪些?
Ultralytics YOLO 拥有一系列丰富的功能,适用于高级计算机视觉任务:
- 实时检测:在实时场景中高效地检测和分类对象。
- 多任务功能:使用统一框架执行对象检测、实例分割、分类和姿势估计。
- 预训练模型:访问各种预训练模型,这些模型在速度和准确性之间取得平衡,以适应不同的用例。
- 自定义训练:使用灵活的训练流程,轻松地在自定义数据集上微调模型。
- 广泛的部署选项:将模型导出为各种格式,如 TensorRT、ONNX 和 CoreML,以便跨不同平台进行部署。
- 丰富的文档:受益于全面的文档和支持性社区,指导您完成计算机视觉之旅。
如何提高我的 YOLO 模型的性能?
可以通过多种技术来提高 YOLO 模型的性能:
- 超参数调优:使用超参数调优指南尝试不同的超参数,以优化模型性能。
- 数据增强:实施诸如翻转、缩放、旋转和颜色调整等技术,以增强您的训练数据集并提高模型泛化能力。
- 迁移学习:利用预训练模型,并使用训练指南在您的特定数据集上对其进行微调。
- 导出为高效格式:使用 导出指南 将您的模型转换为 TensorRT 或 ONNX 等优化格式,以实现更快的推理。
- 基准测试:利用基准模式系统地测量和提高推理速度和准确性。
我可以在移动和边缘设备上部署 Ultralytics YOLO 模型吗?
是的,Ultralytics YOLO 模型专为通用部署而设计,包括移动和边缘设备:
- 移动设备:将模型转换为 TFLite 或 CoreML,以便无缝集成到 Android 或 iOS 应用程序中。有关平台特定说明,请参阅 TFLite 集成指南 和 CoreML 集成指南。
- 边缘设备:使用 TensorRT 或 ONNX 优化在 NVIDIA Jetson 或其他边缘硬件等设备上的推理。Edge TPU 集成指南 提供了边缘部署的详细步骤。
有关各种平台上部署策略的全面概述,请参阅部署选项指南。
如何使用训练好的 Ultralytics YOLO 模型执行推理?
使用训练好的 Ultralytics YOLO 模型执行推理非常简单:
-
加载模型:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt")
-
运行推理:
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
有关高级推理技术,包括批量处理、视频推理和自定义预处理,请参阅详细的预测指南。
在哪里可以找到使用 Ultralytics 的示例和教程?
Ultralytics 提供了丰富的资源,可帮助您入门并掌握其工具:
- 📚 官方文档:全面的指南、API参考和最佳实践。
- 💻 GitHub存储库:源代码、示例脚本和社区贡献。
- ✍️ Ultralytics 博客:深入的文章、用例和技术见解。
- 💬 社区论坛:与其他用户联系、提问和分享您的经验。
- 🎥 YouTube 频道:关于各种 Ultralytics 主题的视频教程、演示和网络研讨会。
这些资源为使用 Ultralytics 模型的各种任务提供了代码示例、真实用例和分步指南。
如果您需要进一步的帮助,请随时查阅 Ultralytics 文档,或通过 GitHub Issues 或官方讨论论坛联系社区。