前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【玩转全栈】---基于YOLO8的图片、视频目标检测

【玩转全栈】---基于YOLO8的图片、视频目标检测

作者头像
用户11404404
发布2025-01-24 10:53:41
发布2025-01-24 10:53:41
34200
代码可运行
举报
文章被收录于专栏:Edward的专栏Edward的专栏
运行总次数:0
代码可运行

本篇主要讲YOLO8的具体操作,想要了解YOLO的具体原理,可以去官网查询

介绍

YOLOv8(You Only Look Once Version 8)是 YOLO 系列的最新版本,由 Ultralytics 开发并发布,是一种实时目标检测算法。相比之前的版本,YOLOv8 提供了更高的精度和更快的推理速度,同时支持目标检测、图像分割和姿态估计等任务。它采用了模块化设计,结合更先进的网络结构和训练技术,例如动态标签分配和改进的损失函数,从而提升了模型性能和泛化能力。此外,YOLOv8 兼容 PyTorch 框架,支持灵活的模型大小调整和迁移学习,适合在不同硬件设备(如 GPU、CPU)上运行。其用户友好的 API 和详细的文档使得开发者能够轻松集成和部署 YOLOv8,在安防监控、自动驾驶、智能零售等领域具有广泛应用。

YOLOv8 与 YOLOv5 比较

特性

YOLOv8

YOLOv5

发布时间

2023 年

2020 年

核心功能

目标检测、图像分割、姿态估计

目标检测

模型结构

使用全新的架构,优化模块化设计,支持更高效的推理

CSPNet 架构,较传统但已优化

性能

更高的 mAP 精度和推理速度

性能优秀,但不如 YOLOv8

任务支持

多任务(检测、分割、姿态估计)

仅支持目标检测

训练优化

动态标签分配、改进的损失函数

使用固定标签分配方式,损失函数为 BCE+IoU

部署灵活性

支持 ONNX、TensorRT、CoreML、OpenVINO 等主流推理框架

支持 ONNX 和 TensorRT,灵活性稍低

代码简洁性

更直观的 API 和模块化设计,易于扩展和使用

代码清晰,但接口较 YOLOv8 略显复杂

兼容性

向下兼容 YOLOv5 数据集格式

原生支持 YOLO 数据格式

适用场景

更广泛(如精细分割、人体姿态估计)

目标检测为主

下载ultralytics库

控制台 pip 下载

代码语言:javascript
代码运行次数:0
复制
pip install ultralytics

清华镜像源下载,国内镜像网站,速度更快

代码语言:javascript
代码运行次数:0
复制
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ultralytics

下载YOLO的预训练模型文件:

https://download.csdn.net/download/2403_83182682/90295807?spm=1001.2014.3001.5503

开始检测

YOLO检测分两步:1、加载预训练模型;2、检测目标。

首先导入ultralytics 库

代码语言:javascript
代码运行次数:0
复制
from ultralytics import YOLO

加载预训练模型

代码语言:javascript
代码运行次数:0
复制
model = YOLO('yolov8l.pt')

检测目标

代码语言:javascript
代码运行次数:0
复制
model('1.png',show=True)
# show=True 是否显示图片

持续显示

代码语言:javascript
代码运行次数:0
复制
import cv2
# 持续显示
cv2.waitKey(0)

照片随便找张即可,这是官方使用的检测照片

运行结果如下:

检测出来框内是某事物的概率

如果想要保存检测后图片,只需添加参数:

代码语言:javascript
代码运行次数:0
复制
model('1.png',show=True,save=True)

运行后,会自动创建文件夹并将预测图片储存。

同样地,检测网络图片和视频也是这样,检测网络图片仅需将url复制进model中即可,模型会先下载网络图片,再进行检测。

视频识别按照一秒60帧的速度来检测目标,可以传本地,也可以用网络url

视频识别结果如下:

基于YOLO8的目标识别

可以看到,这样的训练对于人物和部分物体是能识别到的,但一些其他的物体,比如健身器材,就检测不到,这是因为像这样的目标识别是基于官方预训练模型进行的,所检测出来的内容也只能是预训练模型中训练的,这样当然是不能满足特定场景的特定需求,想要实现特定场景下的特定识别,还得自己训练模型。

下一篇将介绍如何训练自己的模型并运用。

感谢您的三连!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • YOLOv8 与 YOLOv5 比较
  • 下载ultralytics库
  • 开始检测
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档