V8简介
YOLOv8基于深度学习和计算机视觉的前沿进展,提供了无与伦比的速度和准确性表现。它的精简设计使其适用于各种应用,并且可以轻松适应不同的硬件平台,从边缘设备到云API。
- YOLO简史
YOLO(You Only Look Once),由华盛顿大学的Joseph Redmon和Ali Farhadi开发的流行目标检测和图像分割模型,于2015年推出,由于其高速和准确性而迅速流行。

YOLOv2在2016年发布,通过引入批量归一化、锚框和维度聚类来改进了原始模型。
YOLOv3 在2018年推出,进一步增强了模型的性能,使用了更高效的主干网络、多个锚点和空间金字塔池化。
YOLOv4 在2020年发布,引入了Mosaic数据增强、新的无锚检测头和新的损失函数等创新功能。
YOLOv5 进一步改进了模型的性能,并增加了新功能,如超参数优化、集成实验跟踪和自动导出到常用的导出格式。
YOLOv6在2022年由美团开源,现在正在该公司的许多自动送货机器人中使用。
YOLOv7在COCO关键点数据集上添加了额外的任务,如姿态估计。
YOLOv8是Ultralytics的YOLO的最新版本。作为一种前沿、最先进(SOTA)的模型,YOLOv8在之前版本的成功基础上引入了新功能和改进,以提高性能、灵活性和效率。YOLOv8支持全范围的视觉AI任务,包括检测, 分割, 姿态估计, 跟踪和分类。这种多功能性使用户能够利用YOLOv8的功能应对多种应用和领域的需求。
2.V8使用方法
YOLOv8是基于目标检测算法YOLOv5的改进版,它在YOLOv5的基础上进行了优化和改进,加入了一些新的特性和技术,如切片注意力机制、骨干网络的选择等。YOLOv8的目标检测速度非常快,可以达到实时检测的效果,并且在目标检测精度上也取得了不错的成绩。同时,YOLOv8的模型体积比较小,运行内存占用也很少,适合在嵌入式设备等资源受限的环境中应用。总的来说,YOLOv8是一种高效、快速、准确的目标检测算法,适合在多种场景中应用,包括智能家居、智能交通、安防监控等领域。

它有哪些模型文件呢?
名称 模型文件 家族
检测 yolov8n.pt 8n、8s、8m、8l、8x
分割 yolov8n-seg.pt 8n、8s、8m、8l、8x
分类 yolov8n-cls.pt 8n、8s、8m、8l、8x
姿态 yolov8n-pose.pt 8n、8s、8m、8l、8x
每一类模型,还搞出一个家族。这就好比是同一款衣服的不同尺码。尺码不同,受众也不同。我们拿检测来做个对比。

我们看到从8n到8x,虽然准确值提高了,但是时间也提高了6倍。
我们执行pip install ultralytics安装平台支持库,就可以进行操作了。
2.1 命令行操作
我们利用下面这幅图进行目标检测:

在终端运行如下命令:
yolo predict model=weights/yolov8n.pt source=images/cat.jpg
这表示使用yolo的yolov8n.pt模型对cat.jpg这张图进行预测。最后一句说,结果保存到了runs\detect\predict目录。我们打开一看,发现了一张cat.jpg。

嗯,这就是目标检测的结果。
2.2 用代码处理
代码调用也很简单。
从平台库导入YOLO类
from ultralytics import YOLO
从模型文件构建model
model = YOLO(“weights/yolov8n.pt”)
对某张图片进行预测
results = model(“images/cat.jpg”,save=True)
打印识别结果
print(results)
输出结果:
image 1/1 /Users/mac/Desktop/智慧交通/yolov8/images/cat.jpg: 448x640 2 cars, 1 cat, 146.1ms
Speed: 4.7ms preprocess, 146.1ms inference, 1.2ms postprocess per image at shape (1, 3, 448, 640)
Results saved to runs/detect/predict2
[ultralytics.engine.results.Results object with attributes:
boxes: ultralytics.engine.results.Boxes object
keypoints: None
keys: [‘boxes’]
masks: None
names: {0: ‘person’, 1: ‘bicycle’, 2: ‘car’, 3: ‘motorcycle’, 4: ‘airplane’, 5: ‘bus’, 6: ‘train’, 7: ‘truck’, 8: ‘boat’, 9: ‘traffic light’, 10: ‘fire hydrant’, 11: ‘stop sign’, 12: ‘parking meter’, 13: ‘bench’, 14: ‘bird’, 15: ‘cat’, 16: ‘dog’, 17: ‘horse’, 18: ‘sheep’, 19: ‘cow’, 20: ‘elephant’, 21: ‘bear’, 22: ‘zebra’, 23: ‘giraffe’, 24: ‘backpack’, 25: ‘umbrella’, 26: ‘handbag’, 27: ‘tie’, 28: ‘suitcase’, 29: ‘frisbee’, 30: ‘skis’, 31: ‘snowboard’, 32: ‘sports ball’, 33: ‘kite’, 34: ‘baseball bat’, 35: ‘baseball glove’, 36: ‘skateboard’, 37: ‘surfboard’, 38: ‘tennis racket’, 39: ‘bottle’, 40: ‘wine glass’, 41: ‘cup’, 42: ‘fork’, 43: ‘knife’, 44: ‘spoon’, 45: ‘bowl’, 46: ‘banana’, 47: ‘apple’, 48: ‘sandwich’, 49: ‘orange’, 50: ‘broccoli’, 51: ‘carrot’, 52: ‘hot dog’, 53: ‘pizza’, 54: ‘donut’, 55: ‘cake’, 56: ‘chair’, 57: ‘couch’, 58: ‘potted plant’, 59: ‘bed’, 60: ‘dining table’, 61: ‘toilet’, 62: ‘tv’, 63: ‘laptop’, 64: ‘mouse’, 65: ‘remote’, 66: ‘keyboard’, 67: ‘cell phone’, 68: ‘microwave’, 69: ‘oven’, 70: ‘toaster’, 71: ‘sink’, 72: ‘refrigerator’, 73: ‘book’, 74: ‘clock’, 75: ‘vase’, 76: ‘scissors’, 77: ‘teddy bear’, 78: ‘hair drier’, 79: ‘toothbrush’}
orig_img: array([[[229, 250, 252],
[237, 252, 254],
[239, 251, 251],
…,
[ 46, 82, 76],
[ 45, 83, 77],
[ 45, 82, 78]],
[[218, 244, 251],
[227, 249, 255],
[234, 250, 255],
...,
[ 46, 82, 76],
[ 45, 82, 78],
[ 45, 82, 78]],
[[206, 239, 254],
[214, 241, 255],
[218, 243, 253],
...,
[ 45, 80, 76],
[ 46, 81, 77],
[ 45, 79, 78]],
...,
[[ 80, 67, 69],
[ 54, 43, 46],
[ 39, 30, 33],
...,
[141, 139, 139],
[ 74, 66, 67],
[ 24, 16, 17]],
[[ 46, 35, 37],
[ 44, 33, 36],
[ 42, 33, 36],
...,
[116, 114, 114],
[ 22, 14, 15],
[ 44, 36, 37]],
[[ 34, 23, 25],
[ 30, 22, 23],
[ 30, 21, 24],
...,
[ 8, 6, 6],
[ 23, 15, 16],
[ 27, 19, 20]]], dtype=uint8)
orig_shape: (427, 640)
path: ‘/Users/mac/Desktop/智慧交通/yolov8/images/cat.jpg’
probs: None
save_dir: ‘runs/detect/predict2’
speed: {‘preprocess’: 4.662752151489258, ‘inference’: 146.13795280456543, ‘postprocess’: 1.2059211730957031}]
YOLOv8功能强大,除了目标检测,还支持分割、追踪等任务。执行所有功能的代码都是同一套,想换功能更换xx.pt模型文件就行。它的分析结果,也都存在同一个results结构中。
1277

被折叠的 条评论
为什么被折叠?



