focus模块的结构:
输入图像后进行分割,再进行连接后进入下一个模块。
图像是怎么进行分割的呢?拿3*4*4进行举例。
将 3×4×4 的输入通过隔行切片的操作变换为 12×2×2,Focus 操作可以在没有参数的情况下将输入维度进行下采样,并且尽可能保留了原有的图像信息。
对图片进行切片操作,具体操作是在一张图片中每隔一个像素拿到一个值,类似于邻近下采样,这样就拿到了四张图片,四张图片互补,长的差不多,但是没有信息丢失,这样一来,将W、H信息就集中到了通道空间,输入通道扩充了4倍,即拼接起来的图片相对于原先的RGB三通道模式变成了12个通道,最后将得到的新图片再经过卷积操作,最终得到了没有信息丢失情况下的二倍下采样特征图(Focus下采样的参数量略多于Conv下采样,但是有一定提升效果)。
在YOLOv5中的实现:
个人认为,增加通道,缩减wh的值,更加有利于后期计算。
看了很多博客和视频,大佬们没说,现在还是很困惑的点。
对Focus的疑问?
1:为什么横向和纵向都隔一个元素取样?是单纯地取样方法吗?
2:focus还有没有其他的功能?
参考博文:
1.yolov5种 focus的作用,下采样保持信息不丢失_AIchiNiurou的博客-CSDN博客_yolov5focus