做机械外贸什么网站好,携程网网站规划建设特点,2024年新闻热点事件摘抄,wordpress网站空间文章目录 0 前言1 yolov7的整体结构2 关键点 - backbone关键点 - head3 训练4 使用效果5 最后 0 前言
世界变化太快#xff0c;YOLOv6还没用熟YOLOv7就来了#xff0c;如果有同学的毕设项目想用上最新的技术#xff0c;不妨看看学长的这篇文章#xff0c;学长带大家简单的… 文章目录 0 前言1 yolov7的整体结构2 关键点 - backbone关键点 - head3 训练4 使用效果5 最后 0 前言
世界变化太快YOLOv6还没用熟YOLOv7就来了如果有同学的毕设项目想用上最新的技术不妨看看学长的这篇文章学长带大家简单的解读yolov7目的是对yolov7有个基础的理解。
从 2015 年的 YOLOV12016 年 YOLOV22018 年的 YOLOV3到2020年的 YOLOV4、 YOLOV5 以及最近出现的 YOLOV6 和 YOLOV7 可以说 YOLO 系列见证了深度学习时代目标检测的演化。对于 YOLO 的基础知识以及 YOLOV1 到 YOLOV5 可以去看大白的 YOLO 系列本文主要对 YOLOV7 的网络结构进行一个梳理便于大家直观的感受。 更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate
1 yolov7的整体结构 我们先整体来看下 YOLOV7首先对输入的图片 resize 为 640x640 大小输入到 backbone 网络中然后经 head 层网络输出三层不同 size 大小的 feature map 经过 Rep 和 conv输出预测结果这里以 coco 为例子输出为 80 个类别然后每个输出(x ,y, w, h, o) 即坐标位置和前后背景3 是指的 anchor 数量因此每一层的输出为 (805)x3 255再乘上 feature map 的大小就是最终的输出了。
2 关键点 - backbone
YOLOV7 的 backbone 如下图所示 总共有 50 层, 我在上图用黑色数字把关键层数标示出来了。首先是经过 4 层卷积层如下图CBS 主要是 Conv BN SiLU 构成我在图中用不同的颜色表示不同的 size 和 stride, 如 (3, 2) 表示卷积核大小为 3 步长为 2。 在 config 中的配置如图。 经过 4个 CBS 后特征图变为 160 * 160 * 128 大小。随后会经过论文中提出的 ELAN 模块ELAN 由多个 CBS 构成其输入输出特征大小保持不变通道数在开始的两个 CBS 会有变化 后面的几个输入通道都是和输出通道保持一致的经过最后一个 CBS 输出为需要的通道。 MP 层 主要是分为 Maxpool 和 CBS , 其中 MP1 和 MP2 主要是通道数的比变化。 backbone的基本组件就介绍完了我们整体来看下 backbone经过 4 个 CBS 后接入例如一个 ELAN 然后后面就是三个 MP ELAN 的输出对应的就是 C3/C4/C5 的输出大小分别为 80 * 80 * 512 40 * 40 * 1024 20 * 20 * 1024。 每一个 MP 由 5 层 ELAN 有 8 层 所以整个 backbone 的层数为 4 8 13 * 3 51 层 从 0 开始的话最后一层就是第 50 层。
关键点 - head YOLOV7 head 其实就是一个 pafpn 的结构和之前的YOLOV4YOLOV5 一样。首先对于 backbone 最后输出的 32 倍降采样特征图 C5然后经过 SPPCSP通道数从1024变为512。先按照 top down 和 C4、C3融合得到 P3、P4 和 P5再按 bottom-up 去和 P4、P5 做融合。这里基本和 YOLOV5 是一样的区别在于将 YOLOV5 中的 CSP 模块换成了 ELAN-H 模块 同时下采样变为了 MP2 层。
ELAN-H 模块是我自己命名的它和 backbone 中的 ELAN 稍微有点区别就是 cat 的数量不同。 3 训练 有一点比较坑如果想使用较大的预训练模型需要使用train_aux.py进行训练否则效果很差 4 使用效果
丝滑 5 最后 更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate