逐步指导您如何用几行代码运行Ultralytics 物体检测和分割模型。
欢迎阅读另一篇博文,我们将深入探讨Ultralytics' YOLOv5 和模型在物体检测和分割方面的功能。YOLOv8模型在对象检测 和分割方面的功能。我们将探讨如何仅用几行代码就将这些易于使用的模型集成到您的项目中。无论您是初学者还是经验丰富的开发人员,您都将看到Ultralytics 如何支持各种模型和架构,包括不同的YOLO 版本和基于转换器的模型。
在视频中,Nicolai Nielsen 向我们介绍了在Ultralytics 框架内设置和使用各种模型的过程。让我们一步步分解,看看如何开始使用这些令人难以置信的工具。
Ultralytics 提供了一个支持多种物体检测和分割模型的综合框架。其中包括从 YOLOv3 到最新的YOLOv8 等流行的YOLO 模型,以及YOLO-NAS 和SAM 模型。这些模型旨在处理各种任务,如实时检测、分割和姿态估计。
首先,请访问Ultralytics 文档页面。在这里,您可以找到关于每种模型的详细信息,包括它们的主要功能、架构以及如何在Python 脚本中使用它们。
首先,确保已安装Ultralytics 。您可以运行
bash
复制代码
1<pre style="width: 75%;">
2<code>
3pip install ultralytics
4</code>
5</pre>
完成这些工作后,您就可以开始在您的项目中使用这些模型了。让我们以YOLOv8 模型为例。
YOLOv8 与前代产品相比有多项改进。它设计得更快、更准确,非常适合实时应用。一些主要功能包括
只需几行代码,您就可以开始使用YOLOv8 :
复制代码
<pre style="width: 75%;">
<code>
# Copy code
import ultralytics
model = ultralytics.YOLO('yolov8')
results = model.predict('path/to/your/image.jpg')
results.show()
</code>
</pre>
就是这样!您刚刚在一幅图像上运行了YOLOv8 模型。正是这种简单性使得Ultralytics 模型功能强大,使用方便。
想通过实时网络摄像头观看YOLOv8 的活动吗?您可以这样做:
python
复制代码
1<pre style="width: 75%;">
2<code>
3# Copy code
4import ultralytics
5model = ultralytics.YOLO('yolov8')
6# Open a live webcam feed
7cap = cv2.VideoCapture(0)
8while True:
9 ret, frame = cap.read()
10 if not ret:
11 break
12 results = model.predict(frame)
13 results.show()
14 if cv2.waitKey(1) & 0xFF == ord('q'):
15 break
16cap.release()
17cv2.destroyAllWindows()
18</code>
19</pre>
该脚本将打开网络摄像头,并应用YOLOv8 模型实时检测物体。
Ultralytics 不仅限于YOLOv8 。它们还支持各种其他模型,如YOLOv5 、YOLO-NAS,以及基于变压器的实时检测模型。每种模型都有自己的优势和用例。
RT-DETR 模型由百度开发,由Ultralytics 提供支持,是一种先进的端到端对象检测器,具有实时性能和高精度。它使用基于 conv 的骨干网和高效的混合编码器来提高实时速度,在CUDA 与TensorRT 上表现出色,并支持灵活的推理速度调整。
以下是运行RT-DETR 模型的方法:
复制代码
1<pre style="width: 75%;">
2<code>
3from Ultralytics import YOLO
4# Load a pretrained YOLOv8n model
5model = YOLO("rtdetr-l.pt")
6
7# Run inference on 'bus.jpg' with arguments
8model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)
9</code>
10</pre>
Ultralytics 还提供用于分割任务的模型,如MobileSAM 和FastSAM 。这些模型旨在分割出图像中的所有内容,提供详细的场景信息。
FastSAM 已针对实时细分进行了优化,下面是如何运行它的方法:
复制代码
1<pre style="width: 75%;">
2<code>
3import ultralytics
4model = ultralytics.SAM("FastSAM-s.pt")
5results = model.predict('path/to/your/image.jpg')
6results.show()
7</code>
8</pre>
这种模式非常适合需要快速准确分割的应用。
Ultralytics 框架的一大特点是可以并排比较不同的模型。通过查看推理速度和平均精度(mAP)等性能指标,您可以轻松确定哪种模型最适合您的特定应用。
Ultralytics 只需几行代码,即可轻松运行对象检测和分割模型。无论您是在开发实时应用程序还是需要高精度模型,Ultralytics 都能为您提供解决方案。请务必查看Ultralytics YouTube 频道上 Nicolai Nielsen 的完整教程,了解更多深入信息和示例。
请继续关注Ultralytics 社区的更多教程和更新!