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

python 复制代码
import torch
#Model
model = torch.hub.load("./","yolov5s", source="local")#即为加载本地的模型 

# Images
img ="./data/images/zidane.jpg" 

#Inference
results=model(img)

#Results
results.show() 

数据集

python 复制代码
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 == 0
         cv2.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了

相关推荐
王哈哈^_^13 小时前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
深度学习lover18 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
Eric.Lee20211 天前
yolo v5 开源项目
人工智能·yolo·目标检测·计算机视觉
极智视界1 天前
无人机场景数据集大全「包含数据标注+划分脚本+训练脚本」 (持续原地更新)
算法·yolo·目标检测·数据集标注·分割算法·算法训练·无人机场景数据集
深度学习lover1 天前
<项目代码>YOLOv8 夜间车辆识别<目标检测>
人工智能·yolo·目标检测·计算机视觉·表情识别·夜间车辆识别
小哥谈2 天前
源码解析篇 | YOLO11:计算机视觉领域的新突破 !对比YOLOv8如何 ?
人工智能·深度学习·神经网络·yolo·目标检测·机器学习·计算机视觉
挂科边缘2 天前
基于YOLOv8 Web的安全帽佩戴识别检测系统的研究和设计,数据集+训练结果+Web源码
前端·人工智能·python·yolo·目标检测·计算机视觉
小张贼嚣张2 天前
yolov8涨点系列之HiLo注意力机制引入
深度学习·yolo·机器学习
CV-King2 天前
yolov11-cpp-opencv-dnn推理onnx模型
人工智能·opencv·yolo·计算机视觉·dnn
辛勤的程序猿2 天前
YOLO即插即用---PConv
深度学习·yolo·计算机视觉