深入浅出 Yolo 系列之 Yolov7 基础网络结构详解
2022/7/22 4:22:51
本文主要是介绍深入浅出 Yolo 系列之 Yolov7 基础网络结构详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
从 2015 年的 YOLOV1,2016 年 YOLOV2,2018 年的 YOLOV3,到 2020 年的 YOLOV4、 YOLOV5, 以及最近出现的 YOLOV6 和 YOLOV7 可以说 YOLO 系列见证了深度学习时代目标检测的演化。对于 YOLO 的基础知识以及 YOLOV1 到 YOLOV5 可以去看大白的 YOLO 系列,本文主要对 YOLOV7 的网络结构进行一个梳理,便于大家直观的感受。
1. YOLOV7 整体结构
2. backbone
YOLOV7 的 backbone 如下图所示
总共有 50 层, 我在上图用黑色数字把关键层数标示出来了。
首先是经过 4 层卷积层,如下图,CBS 主要是 Conv + BN + SiLU 构成,我在图中用不同的颜色表示不同的 size 和 stride, 如 (3, 2) 表示卷积核大小为 3 ,步长为 2。 在 config 中的配置如图。
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 层。
3. head
至于 E-ELAN 论文中说到是在 YOLOV7-E6eE中用到, 但是我在看代码的时候,有点没太明白是怎么做 shuffle 的,这里等我弄明白了再补上来。
至此,我们将 YOLOV7 的基本结构介绍完了,至于 YOLOv7 的其他知识,如Aux Head 等以及 YOLOv7 的其他网络结构,我们后续再讲。 梳理可能有未理解正确的地方,欢迎交流。
这篇关于深入浅出 Yolo 系列之 Yolov7 基础网络结构详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?