YOLOv5 的 Focus 模块是其早期版本(如 v5.0)的核心设计之一,主要用于图像预处理阶段的下采样操作。后续版本(v6.0+)移除了 Focus,改用 6×6 卷积层替代。以下是两者的核心区别及代码示例:
一、Focus 模块的作用与原理
-
功能
- 输入处理:将输入图像(如
640×640×3
)切片为 4 个子图(每隔一个像素采样),拼接后形成320×320×12
的特征图,再通过卷积(如 3×3)压缩通道至320×320×32
。 - 信息保留:通过空间信息向通道维度的映射,避免传统下采样(如步长为 2 的卷积)导致的信息丢失,尤其有利于小目标检测。
- 输入处理:将输入图像(如
-
计算特点
- 计算量(FLOPs):单次操作计算量是普通卷积的 4 倍(例如
3×3×12×32×320×320 ≈ 353.8
- 计算量(FLOPs):单次操作计算量是普通卷积的 4 倍(例如