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

yolov5 part2

two-stage (两阶段):Faster-rcnn Mask-Rcnn系列
one-stage (单阶段):YOLO系列

最核心的优势:速度非常快,适合实时监测任务。但是缺点也有,效果可能不好

速度较慢在2018年是

Mask R-CNN的原始实现能够在配备NVIDIA Tesla M40 GPU的5fps,但是效果很好,非常实用的通用框架maskrcnn

part1已经给出了这个

 yolov1

这个思路很简单就是设定两个参数 h和w 然后得到一个预测框 计算和真实框的差别,再根据差别更新h和w,把你事先标好框的图片数据给yolo训练,yolo输出层会输出框来拟合标好的框,就是拟合与事先的框的偏移量,比如你最后特征图是13*13然后就每个像素生成三个框来拟合你真实的框

YOLO V1目标检测,看我就够了,看看b站【精读AI论文】YOLO V1目标检测,看我就够了_哔哩哔哩_bilibili

是针对每一个点都有两个候选框,根据IOU选择完候选框之后,通过置信度看其能不能算为一个物体,训练用的数据集一般是人工打上去的标签

发现网上yolov5视频主要是讲解原理,不讲解实战甚至安装

在github下载yolov5.zip,在prompt输入(base) C:\Users\eve>pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121,下载pytorch,

在一个单独的环境中,能使用pip就尽量使用pip,实在有问题的情况,再使用conda进行安装,不要来回混淆
·CUDA是否必须安装
·如果只需要训练、简单推理,则无需单独安装CUDA,直接在官网搜索对应的版本,通过pip安装即可
·如果需要编译、部署等,那么还是需要单独安装CUDA的,这部分大家可以自行百度

关键参数

  • ·weights:训练好的模型文件
  • ·source:检测的目标,可以是单张图片、文件夹、屏幕或者摄像头等
  • ·conf—thres:置信度阈值,越低框越多,越高框越少
  • ·iou—thres:IOU阈值,越低框越少,越少框越多


可以看到yolov5n是最小的,只要1.9M,速度也最快

输入python detect.py --weights yolov5s.pt即可检测那两个预定图片

 python detect.py --weight yolov5s.pt -- source data /images/bus.jpg,这是对具体照片的检测

  python detect.py --weight yolov5s.pt -- source screen,这是对电脑屏幕实时监测,持续循环,按ctrl+c即可暂停

还有其他方法,对应640*640图片尺寸变化

基于web的检测

基于torch.hub的检测方法,我们在jupyterlab

import torch
#Model
model = torch.hub.load("./","yolov5s", source="local")#即为加载本地的模型 # Images
img ="./data/images/zidane.jpg" #Inference
results=model(img)#Results
results.show() 

数据集

import cv2
import matplotlib.pyplot as plt   
#打开视频文件
video =cv2.videoCapture("./BVN.mp4") 
#读取一帧
ret, frame video. read()
plt.imshow(frame)#因为要在notebook里面显示图片,而不是弹出窗口plt.imshow(cv2.cvtColor(frame,cv2.COLOR_BGR@RGB))结合后循环30fps一抽video =  cv2.Videocapture("./BVN.mp4") 
num =0  #计数器 
save step=30#同隔帧 
while True:ret, frame=video.read()if not ret:break num+=1   if num%save_step == 0cv2.imwrite("./images/" +str (num) + ".jpg", frame)这里没有用OpenCV进行读取显示,单纯的打开图片 

通过pip install labelimg下载标注工具,在prompt直接输入labelimg就打开了

这个框文件夹是把标注结果放在哪里,创建即可,把左边pasvoc的文件格式换成yolov5并且save,记得打开auto save自动保存

右键create box即可标注

模型训练

新建如下文件夹,把数据放入即可

what‘s your mission in shanghai!?

记住classes不要放

数据描述文件 ,修改train.py的439行

通常会出现一些问题,只好问ai了 

http://www.lryc.cn/news/415552.html

相关文章:

  • Hive3:表操作常用语句-内部表、外部表
  • 【PXE+kickstart】linux网络服务之自动装机
  • vmware ubuntu虚拟机网络联网配置
  • Vue3_对接声网实时音视频_多人视频会议
  • 慧灵科技:创新引领自动化未来
  • 【TiDB 社区智慧合集】TiDB 在核心场景的实战应用
  • JetBrains:XML tag has empty body警告
  • XMLDecoder反序列化
  • C# 高级数据处理:深入解析数据分区 Join 与 GroupJoin 操作的应用与实例演示
  • 数据库典型例题2-ER图转换关系模型
  • Java:设计模式(单例,工厂,代理,命令,桥接,观察者)
  • 【算法】KMP算法
  • nginx续1:
  • 循环队列和阻塞有什么关系?和生产者消费者模型又有什么关系?阻塞队列和异步日志又有什么关系
  • 物理笔记-八年级上册
  • QT键盘和鼠标事件
  • 文件Io编程基础
  • 本地项目提交到Gitee
  • 有了谷歌账号在登录游戏或者新APP、新设备时,要求在手机上点击通知和数字,怎么办?
  • rsyslog如何配置日志轮转
  • LLM推理入门实践:基于 Hugging Face Transformers 和 Qwen2模型 进行文本问答
  • python:YOLO格式数据集图片和标注信息查看器
  • AGI思考探究的意义、价值与乐趣 Ⅴ
  • c++: mangle命名规则
  • 系统化学习 H264视频编码(05)码流数据及相关概念解读
  • 【VMware】如何演示使用U盘在VMware虚拟机上安装Windows11
  • HanLP和Jieba区别
  • 荒原之梦考研:考研二战会很难吗?
  • 【Git企业级开发实战指南①】Git安装、基本操作!
  • Leetcode 3239. Minimum Number of Flips to Make Binary Grid Palindromic I