YOLOv5实现目标检测

这篇具有很好参考价值的文章主要介绍了YOLOv5实现目标检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

YOLOv5 🚀 是COCO数据集上预处理的一系列对象检测架构和模型,代表Ultralytics对未来视觉人工智能方法的开源研究,融合了数千小时研究和开发过程中积累的经验教训和最佳实践。
YOLOv5实现目标检测
本文用来记录第一次使用 YOLOv5实现:

  1. 视频目标检测
  2. 摄像头目标检测

博主所使用的环境是win10 + Anaconda的虚拟环境(Python>=3.7.0,PyTorch>=1.7),软件环境是Jupyter Notebook


提示:以下是本篇文章正文内容,下面案例可供参考

一、YOLOv5

下载地址:https://github.com/KZwyj/yolov5
使用YOLOv5的模型可以识别以下物体类别等:

'dog','person','tie','cat','tv','car','meatballs','marinara sauce','tomato soup','chicken noodle soup','french onion soup','chicken breast','ribs','pulled pork',''cavity'

同时也可以自定义数据集并训练,有关于自定义数据集这部分后期再进行讲解。

二、环境要求

基本环境要求:

matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.1
Pillow>=7.1.2
PyYAML>=5.3.1
requests>=2.23.0
scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
tqdm>=4.64.0

其他(不安装也不会影响运行):

tensorboard>=2.4.1
pandas>=1.1.4
seaborn>=0.11.0
ipython # interactive notebook
psutil # system utilization
thop>=0.1.1 # FLOPs computation

二、安装环境

在虚拟环境中安装以上库:

cd yolov5
pip install -r requirements.txt  # install

测试YOLOv5:

model = torch.hub.load("ultralytics/yolov5","yolov5s")

出现Adding AutoShape…提示,即为YOLOv5模型(yolov5s)加载成功:
YOLOv5实现目标检测

然后进行测试(图片目标检测):

img = "https://raw.githubusercontent.com/ultralytics/yolov5/master/data/images/zidane.jpg"
results = model(img)
results.print()

显示检测结果信息:
YOLOv5实现目标检测

显示图片:

%matplotlib inline
# squeeze从数组的形状中删除单维度条目,即把shape中为1的维度去掉
plt.imshow(np.squeeze(results.render()))
plt.show()

YOLOv5实现目标检测

四、视频目标检测

从前面我们知道,我们已经获取到了YOLOv5模型,下面使用opencv,加载视频并进行目标检测。

1、导入库

import torch
from matplotlib import pyplot as plt
import numpy as np
import cv2

2、获取输入视频

video_path = "./videoes/traffic_evening.mp4"
cap = cv2.VideoCapture(video_path)

我所加载的视频是放在当前目录的videoes文件夹下,可以根据需要修改video_path为你视频存放位置。

3、开始目标检测

while cap.isOpened():
    # 参数ret 为True 或者False,代表有没有读取到图片帧
    # 第二个参数frame表示截取到一帧的图片
    ret,frame = cap.read()
    # 将图片帧输入模型
    results = model(frame)
    # 输出目标检测结果到屏幕
    cv2.imshow('YOLO',np.squeeze(results.render()))
    # 退出
    if cv2.waitKey(10) & 0xFF == ord('q'):
        break

4、关闭和释放

cap.release()
cv2.destroyAllWindows()

五、摄像头目标检测

摄像头目标检测和视频目标检测区别不大,只需要修改:

cap = cv2.VideoCapture(0)

六、结果展示

YOLOv5实现目标检测文章来源地址https://www.toymoban.com/news/detail-492863.html


到了这里,关于YOLOv5实现目标检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【目标检测】YOLOv5算法实现(七):模型训练

      本系列文章记录本人硕士阶段YOLO系列目标检测算法自学及其代码实现的过程。其中算法具体实现借鉴于ultralytics YOLO源码Github,删减了源码中部分内容,满足个人科研需求。   本系列文章主要以YOLOv5为例完成算法的实现,后续修改、增加相关模块即可实现其他版本的

    2024年01月22日
    浏览(46)
  • 【目标检测】YOLOv5算法实现(八):模型验证

      本系列文章记录本人硕士阶段YOLO系列目标检测算法自学及其代码实现的过程。其中算法具体实现借鉴于ultralytics YOLO源码Github,删减了源码中部分内容,满足个人科研需求。   本系列文章主要以YOLOv5为例完成算法的实现,后续修改、增加相关模块即可实现其他版本的

    2024年01月22日
    浏览(41)
  • yolov5实现目标检测系统(使用线程池)

    该系统包含以下几个部分: 从摄像头中读取数据 主线程将数据输出到窗口 后台线程完成计算机视觉的目标检测过程,并且将结果共享给主线程 主线程将结果画在输出图像上 下载yolvo5: YOLOv5的源码放在 Github 地址:https://github.com/ultralytics/yolov5 我使用到的是 yolov5s.pt,yolvo5学习

    2024年02月16日
    浏览(32)
  • 使用YOLOv5实现单摄像头实时目标检测

    我将在上一节的基础上,一步一步展示如何实现单摄像头实时目标检测,其中包括我在配置过程中遇到的报错和解决方法。 将\\\'--source\\\'的默认值改为0 这里的\\\'0\\\'是指系统默认的第一个摄像头,通常是电脑自带的摄像头,所以一定要记得把摄像头打开再运行代码(有些电脑会有摄

    2024年02月03日
    浏览(56)
  • 使用YOLOv5实现多摄像头实时目标检测

    这篇博客将在单摄像头目标检测的基础上,实现单网络多线程的实时目标检测。 在detect.py同级目录下新建streams.txt文件,每个视频流源单独成行: 本地摄像头填0 USB摄像头填1,2,3… IP摄像头要根据摄像头类型,按下面格式填写(我将在之后的博客中讲解实现) 0是电脑自带摄像

    2024年02月05日
    浏览(47)
  • 【目标检测算法实现之yolov5】 一、YOLOv5环境配置,将yolov5部署到远程服务器上

    在官网:https://github.com/ultralytics/yolov5上下载yolov5源代码 下载成功如下: 在配置基础环境之前,提前压缩自己的代码文件,并通过winscp传输给linux端,传输之后,解压该文件。解压前,先创建一个文件夹,再解压。 winscp下载使用教程参考上一篇博客:使用WinSCP下载和文件传输

    2024年01月15日
    浏览(43)
  • YOLOv5车辆测距实践:利用目标检测技术实现车辆距离估算

    YOLOv5目标检测技术进行车辆测距。相信大家对YOLOv5已经有所了解,它是一种快速且准确的目标检测算法。接下来,让我们一起探讨如何通过YOLOv5实现车辆距离估算。这次的实践将分为以下几个步骤: 安装所需库和工具 数据准备 模型训练 距离估算 可视化结果 优化 1. 安装所需

    2024年02月02日
    浏览(42)
  • YOLOv5在android端实现目标检测+跟踪+越界识别并报警

    想要获取源码和相关资料说明的可以关注我的微信公众号: 雨中算法屋 , 后台回复 越界识别 即可获取,有问题也可以关注公众号加我微信联系我,相互交流学习。 算法功能: 判断划定的区域内,在某个时间内,是否有⼈体闯⼊,涉及到了⼈体检测+⼈体追踪+业务功能(区

    2023年04月12日
    浏览(34)
  • Opencv C++实现yolov5部署onnx模型完成目标检测

    头文件 命名空间 结构体 Net_config 里面存了三个阈值和模型地址,其中 置信度 ,顾名思义,看检测出来的物体的精准度。以测量值为中心,在一定范围内,真值出现在该范围内的几率。 endsWith()函数 判断sub是不是s的子串 anchors_640图像接收数组 根据图像大小,选择相应长度的

    2024年02月13日
    浏览(33)
  • 基于Yolov5+Deepsort+SlowFast算法实现视频目标识别、追踪与行为实时检测

    前段时间打算做一个目标行为检测的项目,翻阅了大量资料,也借鉴了不少项目,最终感觉Yolov5+Deepsort+Slowfast实现实时动作检测这个项目不错,因此进行了实现。 总的来说,我们需要能够实现实时检测视频中的人物,并且能够识别目标的动作,所以我们拆解需求后,整理核心

    2024年01月20日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包