首页 > 其他分享 >YOLO V5

YOLO V5

时间:2023-02-19 16:57:16浏览次数:35  
标签:loss Maxpool 训练 1.5 YOLO 640 V5 mathrm

网络结构

网络结构主要由以下几个部分组成:

  • Backbone: New CSP-Darknet53

  • Neck: SPPF, New CSP-PAN

  • Head: Yolov3 Head

    下图是yolov5l的网络结构:

    在Neck部分,作者将SPP换为了SPPF,两者作用相同,但后者效率更高。SPP结构如下,是将输入并行通过多个不同大小的Maxpool,然后做进一步融合,能在一定程度上解决目标多尺度问题。

而在SPPF中,是将输入串行通过多个5x5大小的Maxpool层,这里需要注意的是串行两个5x5大小的Maxpool层和一个9x9大小的Maxpool层计算结果是一样的,串行3个5x5大小的Maxpool层和一个13x13大小的Maxpool层计算结果是一样的。

数据增强

  • Mosaic : 将四张图片合成为一张图片
  • Copy paste :将部分目标随机的粘贴到图片中,前提是数据要有segments数据才行,即每个目标的实例分割信息。
  • Random affine(Rotation, Scale, Translation, Shear):随机进行仿射变换
  • Mixup :将两张图片按照一定的透明度融合在一起
  • Albumentations:滤波、直方图均衡化、改变图片质量
  • Agument HSV(Hue, Saturation, Value):随机调整色度、饱和度以及明度
  • Random horizontal filp : 随机水平翻转

训练策略

  • Multi-scale training(0.5~1.5x),多尺度训练,假设设置输入图片的大小为640 × 640 640 \times 640640×640,训练时采用尺寸是在0.5 × 640 ∼ 1.5 × 640 0.5 \times 640 \sim 1.5 \times 6400.5×640∼1.5×640之间随机取值,注意取值时取得都是32的整数倍(因为网络会最大下采样32倍)。
  • AutoAnchor(For training custom data),训练自己数据集时可以根据自己数据集里的目标进行重新聚类生成Anchors模板
  • Warmup and Cosine LR scheduler,训练前先进行Warmup热身,然后在采用Cosine学习率下降策略。
  • EMA(Exponential Moving Average),可以理解为给训练的参数加了一个动量,让它更新过程更加平滑。
  • Mixed precision,混合精度训练,能够减少显存的占用并且加快训练速度,前提是GPU硬件支持。
  • Evolve hyper-parameters,超参数优化,没有炼丹经验的人勿碰,保持默认就好。

损失计算

​ yolo v5 的损失主要由3各部分组成:

  • Classes loss: 分类损失,采用的是BCE loss,注意只计算正样本的分类损失

  • Objectness loss: obj损失,采用的也是BCE loss,这里的obj指的是网络预测的目标边界框与GT Box的CIoU

  • Location loss: 定位损失,采用的是CIou loss,注意只计算正样本的定位损失。

    \[\text { Loss }=\lambda_1 \mathrm{~L}_{\mathrm{cls}}+\lambda_2 \mathrm{~L}_{\mathrm{obj}}+\lambda_3 \mathrm{~L}_{\mathrm{loc}} \]

标签:loss,Maxpool,训练,1.5,YOLO,640,V5,mathrm
From: https://www.cnblogs.com/horolee/p/yolov5.html

相关文章

  • TensorRT教程(六)使用Python和C++部署YOLOv5的TensorRT模型
    前言 今天这里主要介绍使用Python部署TensorRT的模型以及使用C++部署TensorRT的模型这两种方法。其实在日常部署的工作中,更多是使用C++进行部署,因为这样可以更加丝滑地迁......
  • Windows10下YOLOv8 TensorRT CUDA加速部署
    前言本文介绍了Windows10下YOLOv8TensorRTCUDA加速部署。 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。 ......
  • yolo训练自己的权重文件
    一、训练环境需要ubuntu系统环境,然后安装上nvidia的显卡驱动,cuda,cudnn,darknet在另一篇文章已讲述 二、标注数据集1.制作VOC数据集,就是一个这种格式的文......
  • nvidia jetson 使用zed yolov******
    官网:HowtoUseYOLOwithZED|Stereolabs(说的尼玛一点也不清楚)参考文档:https://blog.csdn.net/m0_62114628/article/details/124356097?utm_source=app&app_version=5.......
  • yolov5 DDP
    目录0.一些概念:1.local_rank参数2.init_process_group,torch.distributed.barrier需要先初始化一下3.注意随机种子需要设置每个进程不一样4.model需要ddp包装一下5.......
  • yolo v4
    Yolov4前言网络结构​ Backbone:CSPDarknet53​Neck:SPP,PAN​Head:yolov3PAN(PathAggregationNetwork)结构其实就是在FPN(从顶到底信息......
  • 【opencv c++】实现yolov5部署onnx模型完成目标检测
    总代码#include<fstream>#include<sstream>#include<iostream>#include<opencv2/dnn.hpp>#include<opencv2/imgproc.hpp>#include<opencv2/highgui.hpp>usin......
  • yolo v3
    前言​ 相较于yolov2,作者在v2基础上做了一些改进。一是特征提取部分采用darknet-53代替了原来的darknet-19,利用特征金字塔网络实现了多尺度检测,分类方法用逻辑回归代替......
  • openvino yolov5/ssd 实时推流目标检测在html上显示
    安装ffmepg并添加到环境变量中,流媒体使用m7s运行效果SSD:检测在10ms左右,yolov5在100ms左右app.py#!/usr/local/bin/python3#encodin:utf-8importsubprocessim......
  • HiSi 3516CV500 NNIE(Neural Network Inference Engine) 摸鱼记录(3) ---真机调试(实例
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......