当前位置: 首页 > article >正文

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

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

目录

下载ultralytics库

开始检测


介绍

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

YOLOv8 与 YOLOv5 比较

特性YOLOv8YOLOv5
发布时间2023 年2020 年
核心功能目标检测、图像分割、姿态估计目标检测
模型结构使用全新的架构,优化模块化设计,支持更高效的推理CSPNet 架构,较传统但已优化
性能更高的 mAP 精度和推理速度性能优秀,但不如 YOLOv8
任务支持多任务(检测、分割、姿态估计)仅支持目标检测
训练优化动态标签分配、改进的损失函数使用固定标签分配方式,损失函数为 BCE+IoU
部署灵活性支持 ONNX、TensorRT、CoreML、OpenVINO 等主流推理框架支持 ONNX 和 TensorRT,灵活性稍低
代码简洁性更直观的 API 和模块化设计,易于扩展和使用代码清晰,但接口较 YOLOv8 略显复杂
兼容性向下兼容 YOLOv5 数据集格式原生支持 YOLO 数据格式
适用场景更广泛(如精细分割、人体姿态估计)目标检测为主

下载ultralytics库

控制台 pip 下载

pip install ultralytics

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

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 库

from ultralytics import YOLO

加载预训练模型

model = YOLO('yolov8l.pt')

检测目标

model('1.png',show=True)
# show=True 是否显示图片

持续显示

import cv2
# 持续显示
cv2.waitKey(0)

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

运行结果如下:

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

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

model('1.png',show=True,save=True)

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

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

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

视频识别结果如下:

基于YOLO8的目标识别

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

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

感谢您的三连!!!


http://www.kler.cn/a/515670.html

相关文章:

  • 嵌入式知识点总结 操作系统 专题提升(一)-进程和线程
  • 网络安全等级保护基本要求——等保二级
  • QT调用OpenSceneGraph
  • Redis支持数据类型详解
  • 三格电子——MODBUS TCP 转 CANOpen 协议网关
  • 20250120 深入了解 Apache Flink 的 Checkpointing
  • 【算法笔记】力扣热题100(LeetCode hot-100)53. 最大子数组和 1.前缀和 2.动态规划
  • Kubernetes 网络插件断网恢复性能比较
  • Spring Boot中如何自定义属性配置
  • CSS 网络安全字体
  • MySQL——主从同步
  • BERT的中文问答系统69
  • w-form-select.vue(自定义下拉框组件)(与后端字段直接相关性)
  • flask实现重启后需要重新输入用户名而避免浏览器使用之前已经记录的用户名
  • Objective-C语言的安全开发
  • web3py+flask+ganache的智能合约教育平台
  • TCP全连接队列
  • Lisp语言的物联网
  • Golang:使用DuckDB查询Parquet文件数据
  • Charles 4.6.7 浏览器网络调试指南:介绍与安装(一)
  • 【赵渝强老师】K8s中Pod探针的HTTPGetAction
  • 浅谈VPP与DPDK技术以及产业界应用实例
  • 【AI编程】记录一下windsurf中Write模式和Chat模式的区别以及 AI Rules的配置方法
  • Azure学生订阅上手实操:在Ubuntu VPS上利用Docker快速部署PostgreSQL数据库
  • 考研408笔记之数据结构(四)——树与二叉树
  • C++:利用二维数组打印杨辉三角形。