以yolov5s为例,原始的的图像输入Focus结构,采用切片操作,先变成
的特征图,再经过一次卷积操作,最终变成
的特征图。

下面介绍为什么k=6卷积层在理论上等价于Focus结构。
(1)Focus层的参数量与计算量(忽略bias)
计算量
参数量
(2)k=6卷积层的参数量与计算量(忽略bias)
计算量
参数量
通过上面的计算也解释通了为什么使用6x6卷积块(改变以往一般都是用卷积核为奇数的卷积块的做法)
在yolov5中,作者提出单层Focus结构来替换了yolov3的backbone中的前三层,具体如下图所示。

图片在经过Focus模块后,最直观的是起到了下采样的作用,在这个下采样的过程相比于以前的卷积操作减少了层数、参数,以及 FLOPs,同时对mAP影响较小。
Focus结构将原图切分并堆叠在一起,再用3x3的conv进行特征提取,Focus结构与一个6x6的conv的感受野、计算量以及参数量是相同的,所以在理论上与6x6的conv完全等价。
但作者可能是因为训练过程中图片数量较多,Focus结构对图片进行拆分提取再堆叠这个过程没有直接conv的计算高效(对于现有的一些GPU设备以及相应的优化算法,使用6x6的conv更高效),所以才在yolov6.0的版本中把Focus换成了6x6的conv。
本文讨论了Yolov5s中Focus结构与6x6卷积层的理论等价性,指出Focus通过切片和3x3conv减少参数和计算量,但在大量图片处理时,6x6conv的效率更高,因此在yolov6.0中进行了替换。

734

被折叠的 条评论
为什么被折叠?



