首页 > 其他分享 >yolov7

yolov7

时间:2023-06-12 15:55:05浏览次数:49  
标签:yolov7 SPP yolox 使用 特征提取 结构

论文:《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors》2022.7 CVPR

整体框架

在本文复现的yolo7版本

下图是yolov7的网络结构图(来自一位b站up)

 其中拿到Multi_Concat_Block

 Transition_Block结构

yolov7主要的改进之处:

网络结构:

  • 主干部分:使用了创新的多分支堆叠结构进行特征提取,相比以前的Yolo,模型的跳连接结构更加的密集。使用了创新的下采样结构,使用Maxpooling和步长为2x2的特征并行进行提取与压缩。
  • 加强特征提取部分:同主干部分,加强特征提取部分也使用了多输入堆叠结构进行特征提取,使用Maxpooling和步长为2x2的特征并行进行下采样。
  • 特殊的SPP结构:使用了具有CSP机构的SPP扩大感受野,在SPP结构中引入了CSP结构,该模块具有一个大的残差边辅助优化与特征提取。

训练策略:

  • 自适应多正样本匹配:采用yolox的SimOTA
  • 借鉴了RepVGG的结构,在网络的特定部分引入RepConv,fuse后在保证网络x减少网络的参数量
  • 使用了辅助分支辅助收敛,但是在模型较小的YoloV7和YoloV7-X中并没有使用

复现结果和细节

 1 total param num 37,297,025,计算量:79.1 GFLOPS
 2 backbone: 论文没有定义名称
 3 优化器:adam,momentum=0.937,初始学习率:1e-3 学习率更新:呈cos函数形式
 5 损失函数=Lcls+Lreg+Lobj,Lcls与Lobj(BCELoss),Lreg(CIoULoss)
 6 batch=8 
 7 加载官方完整预训练权重 yolov7.pth
 8 epoch = 30 
 9 总训练时间: 2h 57m 6s
 10 训练集:PASCALVOC-2012train(5717) 
 11 测试集:PASCALVOC-2012val(5823) 
 12 GPU: 1 x  RTX 3070ti
 13 平均推理时间和FPS:0.022s,46fps(RTX 3070ti)

利用wandb记录

 

 本地画图记录

 进行验证并获取各类别精度

效果展示

 其实验证集的map_0.5精度还行,但是速度有点慢了,对比yolox_s,虽然精度提升1%,但速度只有其一半左右

不过从模型大小看,37,297,025的参数量,79.1 GFLOPS 可以说是yolox_m的水平吧,所以速度慢点也应该,毕竟模型更大的了。

 

标签:yolov7,SPP,yolox,使用,特征提取,结构
From: https://www.cnblogs.com/zhangjie123/p/17475259.html

相关文章

  • [重读经典论文]YOLOv7
    参考视频:YOLOv7论文,网络结构,官方源码,超详细解析参考博客:YOLOV7详细解读(一)网络架构解读总体来说框架也是没有大的变化,但是Block应该是精心设计过的,ELAN有点像Inception模块,加上RepVgg的结构重参数化,还有SPP魔改,总体感觉就是网络过于复杂,而且和v6同期,反而性能低于v6,有点尴尬。......
  • YOLOv7引入Swin Transformer以及CCNet出现的问题
    YOLOv7引入SwinTransformer以及CCNet出现的问题一、YOLOv7训练完,运行test.py的时候出现:RuntimeError:expectedscalartypeFloatbutfoundHalf 错误采用GPU训练时......
  • YOLOv7_OBB 运行异常记录
    YOLOv7_OBB运行异常记录 (wind_2021)H:\PytorchProject\YOLOv7_OBB-main>(wind_2021)H:\PytorchProject\YOLOv7_OBB-main>pythondetect.py--weights'models/yol......
  • yolov7 tensorrt模型加速部署【实战】
    0.linux环境配置基于tensorrt+cudac++实现模型end2end的gpu加速,支持win10、linux,在2023年已经更新模型:YOLOv8,YOLOv7,YOLOv6,YOLOv5,YOLOv4,YOLOv3,YOLOX,YOLOR,......
  • 目标检测论文解读复现【NO.21】基于改进YOLOv7的小目标检测
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • YoloV7 标签匹配机 loss 计算详解
    这是一篇v7后处理详解的文章本篇文章主要对YoloV7的后处理进行详细讲解,YoloV7除了结构上,对前后处理都进行了改进,其余包括scheduler、optimizer等与YoloV6都是保......
  • yolov7配置与训练记录(二)
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 解读2-YOLOV7
    转载:原文链接:https://blog.csdn.net/qq128252/article/details/126673493前言继美团发布YOLOV6之后,YOLO系列原作者也发布了YOLOV7。YOLOV7主要的贡献在于:1.模型重参数化Y......
  • YOLOv7
    YOLOv7CSDN文章使用GitBash输入命令成功运行keypoint.py#!/usr/bin/envpython#coding:utf-8#In[]:importmatplotlib.pyplotaspltimporttorchimport......
  • YOLOv7--detect.py 解析之 torch.jit.trace 的应用
    1.什么是JIT?JIT是一种概念,全称是JustInTimeCompilation,中文译为「即时编译」,是一种程序优化的方法。在深度学习中JIT的思想更是随处可见,最明显的例子就是Keras......